@@ -17,36 +17,86 @@ If you need to reproduce work with DART and MPAS v4 you will need to change the
17
17
parameters ``cp ``, ``cv `` and ``rvord `` to match MPAS v4.
18
18
19
19
20
+ MPAS Grid
21
+ ---------
22
+
20
23
The mpas-atm model uses an unstructured Voronoi grid mesh,
21
24
formally Spherical Centriodal Voronoi Tesselations (SCVTs). This allows for both
22
- quasi-uniform discretization of the sphere and local refinement. The MPAS/ DART
25
+ quasi-uniform discretization of the sphere and local refinement. The MPAS- DART
23
26
interface was built on the SCVT-dual mesh and does not regrid to regular lat/lon
24
27
grids. In the C-grid discretization, the normal component of velocity on cell
25
28
edges is prognosed; zonal and meridional wind components are diagnosed on the
26
- cell centers. We provide several options to choose from in the assimilation of
27
- wind observations as shown below.
28
-
29
- The grid terminology used in MPAS is as shown in the figure below:
29
+ cell centers. The grid terminology used in MPAS is as shown in the figure below:
30
30
31
31
|MPAS_grid_structure |
32
32
33
- The wind options during a DART assimilation are controlled by combinations of 4
34
- different namelist values. The values determine which fields the forward
35
- operator uses to compute expected observation values; how the horizontal
36
- interpolation is computed in that forward operator; and how the assimilation
37
- increments are applied to update the wind quantities in the state vector.
38
- Preliminary results based on real data assimilation experiments indicate that
39
- performance is better when the zonal and meridional winds are used as input to
40
- the forward operator that uses Barycentric interpolation, and when the
41
- prognostic *u * wind is updated by the incremental method described in the figure
42
- below. However there remain scientific questions about how best to handle the
43
- wind fields under different situations. Thus we have kept all implemented
44
- options available for use in experimental comparisons. See the figure below for
45
- a flow-chart representation of how the 4 namelist items interact:
46
-
47
- |WindDA_options |
48
-
49
- Cycling of MPAS/DART is run in a *restart * mode. As for all DART experiments,
33
+ DART reads the static variables related to the grid structure
34
+ from the MPAS_ATM NetCDF file (specified in ``init_template_filename ``).
35
+ The calculations to find the closest mesh cell to an observation location is performed in the
36
+ cartesian coordinate to avoid the polar issues.
37
+
38
+ MPAS winds in DART
39
+ ------------------
40
+
41
+ The MPAS model uses the normal component of velocity on cell edges ``u `` as the prognostic variable
42
+ for the wind field. DART uses diagnostics variables ``uReconstructZonal `` and ``uReconstructMeridional ``
43
+ in the state. Before building MPAS for use with DART, the MPAS Registry.xml must be
44
+ updated to output ``uReconstructZonal `` and ``uReconstructMeridional `` (u,v) winds to the MPAS
45
+ NetCDF restart file.
46
+
47
+ .. code-block :: fortran
48
+ :emphasize-lines: 3, 4
49
+ :caption: snippet from MPAS src/core_init_atmosphere/Registry.xml
50
+
51
+ packages="vertical_stage_out;met_stage_out"/>
52
+ ...
53
+ <var name="u" packages="met_stage_out"/>
54
+ <var name="uReconstructZonal" packages="met_stage_out"/>
55
+ <var name="uReconstructMeridional" packages="met_stage_out"/>
56
+
57
+
58
+ .. code-block :: fortran
59
+ :emphasize-lines: 4, 5
60
+ :caption: snippet from MPAS src/core_atmosphere/Registry.xml
61
+
62
+ <stream name="restart"
63
+ ...
64
+ <var name="u"/>
65
+ <var name="uReconstructZonal"/>
66
+ <var name="uReconstructMeridional"/>
67
+
68
+ The DART updates to MPAS restart files is two step process because of the wind variables.
69
+ First, filter is run to update ``uReconstructZonal ``, and ``uReconstructZonal ``. Then update_mpas_states
70
+ (or udpdate_bc.f90 for regional MPAS) is run to update ``u `` from ``uReconstructZonal ``, and
71
+ ``uReconstructZonal ``.
72
+
73
+ The relevant namelist options are:
74
+
75
+ model_nml::update_u_from_reconstruct
76
+ Must be set to ``.true. `` . u is updated from uReconstructZonal and uReconstructMeridional.
77
+
78
+ model_nml::use_increments_for_u_update
79
+ - ``.false. `` ``u `` is updated from uReconstructZonal and uReconstructMeridional.
80
+ - ``.true. `` ``u `` increments are calculated from the increments of ``uReconstructZonal `` and
81
+ ``uReconstructMeridional ``, and u is updated from the increments.
82
+
83
+ .. Note ::
84
+ The ``use_u_for_wind=.true.`` option shown in the flow chart below is deprecated.
85
+ Please contact [email protected] if you are using ``use_u_for_wind=.true.`` as there is a bug
86
+ `#861 <https://github.com/NCAR/DART/issues/861>`_ in versions
87
+ of DART using this option since the Manhattan release.
88
+
89
+ .. figure :: ../../guide/images/MPAS_WindDA_options.png
90
+ :alt: MPAS WindDA options
91
+ :width: 100%
92
+
93
+ Options for wind data assimilation in MPAS-DART. use_u_for_wind=.true. is deprecated.
94
+
95
+
96
+ Cycling MPAS-DART
97
+ -----------------
98
+
99
+ Cycling of MPAS-DART is run in a *restart * mode. As for all DART experiments,
50
100
the overall design for an experiment is this: the DART program ``filter `` will
51
101
read the initial condition file, the observation sequence file, and the DART
52
102
namelist to decide whether or not to advance the MPAS-ATM model. All of the
@@ -85,7 +135,7 @@ namelist.
85
135
model_nml
86
136
^^^^^^^^^
87
137
88
- .. code-block :: fortran
138
+ .. code-block :: text
89
139
90
140
&model_nml
91
141
init_template_filename = 'mpas_init.nc',
@@ -104,7 +154,6 @@ model_nml
104
154
outside_grid_level_tolerance = -1.0,
105
155
write_grid_to_diag_files = .false.,
106
156
no_normalization_of_scale_heights = .true.
107
-
108
157
/
109
158
110
159
+---------------------------------------+---------------------------------------+-----------------------------------------+
@@ -171,6 +220,10 @@ model_nml
171
220
| | | [default]. In that case, triangular |
172
221
| | | meshes are used for the barycentric |
173
222
| | | (e.g., area-weighted) interpolation. |
223
+ | | | |
224
+ | | | ``.true.`` is deprecated. Please contact|
225
+ | | | [email protected] if you are using
|
226
+ | | | ``use_u_for_wind=.true. `` |
174
227
| | | If ``.true. ``, wind vectors at an |
175
228
| | | arbitrary (e.g., observation) point |
176
229
| | | are reconstructed from the normal |
@@ -264,8 +317,6 @@ model_nml
264
317
+---------------------------------------+---------------------------------------+-----------------------------------------+
265
318
266
319
267
-
268
-
269
320
mpas_vars_nml
270
321
^^^^^^^^^^^^^
271
322
@@ -298,21 +349,14 @@ When writing back to MPAS NetCDF files, out-of-range values are adjusted to be i
298
349
Note the adjustment is done only when writing to MPAS NetCDF files, not during assimilation.
299
350
DART files, mean, sd, and inflation files are not adjusted.
300
351
301
- Note that changing values at the edges of the distribution means it is no longer completely Gaussian.
302
- In practice this technique has worked effectively, but if the assimilation is continually trying to
303
- move the values outside the permitted range the results may be of poor quality.
304
- Examine the diagnostics for these fields carefully when using bounds to restrict their values.
305
- You may want to consider using the :ref: `QCEFF<qceff> ` filter when working with bounded quantities.
306
-
352
+ .. Note ::
307
353
308
- Grid Information
309
- ----------------
354
+ Changing values at the edges of the distribution means the distribution is no longer completely Gaussian.
355
+ In practice this technique has worked effectively, but if the assimilation is continually trying to
356
+ move the values outside the permitted range the results may be of poor quality.
357
+ Examine the diagnostics for these fields carefully when using bounds to restrict their values.
358
+ You may want to consider using the :ref: `QCEFF<qceff> ` filter when working with bounded quantities.
310
359
311
- As the forward operators use the unstructured grid meshes in MPAS-ATM, the
312
- DART/MPAS interface needs to read static variables related to the grid structure
313
- from the MPAS ATM netCDF file (specified in ``init_template_filename ``).
314
- The calculations to find the closest mesh cell to an observation location is performed in the
315
- cartesian coordinate to avoid the polar issues.
316
360
317
361
References
318
362
----------
@@ -322,4 +366,3 @@ http://mpas-dev.github.io.
322
366
323
367
.. |MPAS_grid_structure | image :: ../../guide/images/MPAS_grid_structure.png
324
368
325
- .. |WindDA_options | image :: ../../guide/images/MPAS_WindDA_options.png
0 commit comments