[Dart-dev] [3877] DART/trunk/models/wrf: Add missing documentation for new namelist items.

nancy at ucar.edu nancy at ucar.edu
Fri May 15 16:24:35 MDT 2009


An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20090515/acbb202c/attachment.html 
-------------- next part --------------
Modified: DART/trunk/models/wrf/model_mod.html
===================================================================
--- DART/trunk/models/wrf/model_mod.html	2009-05-15 15:31:42 UTC (rev 3876)
+++ DART/trunk/models/wrf/model_mod.html	2009-05-15 22:24:34 UTC (rev 3877)
@@ -134,7 +134,7 @@
 
 <P>
 Optional namelist interface
-<A HREF="#Namelist"> <em class=code>&#38;model_mod</em> </A>
+<A HREF="#Namelist"> <em class=code>&amp;model_mod</em> </A>
 may be read from file <em class=file>input.nml</em>.
 </P>
 
@@ -292,7 +292,7 @@
 Returns the model base time step as a time_type. For the model wrf, it returns
 the time step used for domain 1 (usually the largest time step among all
 domains because domain 1 is the coarser grid). The time step is read from
-namelist.input. In the long run, 
+the wrfinput_d01 file (used to be namelist.input). In the long run, 
 a more general extended interface may be required that specifies the models 
 range of time stepping possibilities.
 </P>
@@ -647,13 +647,16 @@
 <BR><HR><BR>
 <H2>NAMELIST</H2>
 <P>We adhere to the F90 standard of starting a namelist with an ampersand 
-'&#38;' and terminating with a slash '/'.
+'&amp;' and terminating with a slash '/'.
 <div class=namelist>
 <pre>
-<em class=call>namelist / model_nml / </em>                          &#38;
-    output_state_vector, num_moist_vars, num_domains, calendar_type, &#38; 
-    surf_obs, soil_data, h_diab, adv_mod_command, assimilation_period_seconds,  &#38;
-    vert_localization_coord, center_search_half_length, center_spline_grid_scale
+<em class=call>namelist / model_nml / </em>                             &amp;
+   default_state_variables, wrf_state_variables, wrf_state_bounds,      &amp;
+   output_state_vector, num_domains, calendar_type,                     &amp;
+   adv_mod_command, assimilation_period_seconds, allow_obs_below_vol,   &amp;
+   vert_localization_coord, center_search_half_length, center_spline_grid_scale,   &amp;
+   polar, periodic_x, periodic_y, scm                                   &amp;
+   num_moist_vars, surf_obs, soil_data, h_diab
 
 </pre>
 </div>
@@ -669,6 +672,50 @@
     <TH align=left>Type        </TH>
     <TH align=left>Description </TH></TR>
 
+<TR><!--contents--><TD valign=top>default_state_variables      </TD>
+    <!--  type  --><TD valign=top>logical                      </TD>
+    <!--descript--><TD>If .true., the dart state vector contains
+    the fields U, V, W, PH, T, MU, in that order, and only those.
+    Any values listed in the wrf_state_variables namelist item will
+    be ignored.  Defaults to .true.</TD></TR>
+
+<TR><!--contents--><TD valign=top>wrf_state_variables      </TD>
+    <!--  type  --><TD valign=top>character(:, 5)          </TD>
+    <!--descript--><TD>A 2D array of strings, 5 per wrf array
+    to be added to the dart state vector.  If default_state_variables
+    is .true., this is ignored.  When .false., this list of array
+    names controls which arrays and the order that they are added
+    to the state vector.  The 5 strings are:  
+    <OL> <LI>WRF field name - must match netcdf name exactly</LI>
+         <LI>DART KIND name - must match a valid DART KIND_xxx exactly</LI>
+         <LI>TYPE_NN - will hopefully be obsolete, but for now NN 
+             should match the field name. </LI>
+         <LI>the string UPDATE.  at some future point, non-updatable
+             fields may become part of the state vector. </LI>
+         <LI>A numeric string listing the domain numbers this array
+             is part of.  The specical string 999 means all domains.
+             For example, '12' means domains 1 and 2, '13' means 1 and 3.</LI>
+   </OL>
+    No defaults.  All fields must be listed explicitly.</TD></TR>
+
+<TR><!--contents--><TD valign=top>wrf_state_bounds      </TD>
+    <!--  type  --><TD valign=top>character(:, 4)          </TD>
+    <!--descript--><TD>A 2D array of strings, 4 per wrf array.
+    During the copy of data to and from the wrf netcdf file,
+    variables listed here will have minimum and maximum values
+    enforced.  The 4 strings are:  
+    <OL> <LI>WRF field name - must match netcdf name exactly</LI>
+         <LI>Minimum -- specified as a string but must be a numeric value
+             (e.g. '0.1')  Can be 'NULL' to allow any minimum value.</LI>
+         <LI>Maximum -- specified as a string but must be a numeric value
+             (e.g. '0.1')  Can be 'NULL' to allow any maximum value.</LI>
+         <LI>Action -- valid strings are 'CLAMP', 'FAIL'.  'FAIL' means if
+             a value is found outside the range, the code fails with an error.
+             'CLAMP' simply sets the out of range values to the given minimum
+             or maximum without error.</LI>
+   </OL>
+    No defaults.  All fields must be listed explicitly.</TD></TR>
+
 <TR><!--contents--><TD valign=top>output_state_vector          </TD>
     <!--  type  --><TD valign=top>logical                      </TD>
     <!--descript--><TD>Controls the output to netCDF files. If .true., 
@@ -676,11 +723,6 @@
     flavor (gridded data) for easier plotting (recommended).
     Defaults to false</TD></TR>
 
-<TR><!--contents--><TD valign=top>num_moist_vars               </TD>
-    <!--  type  --><TD valign=top>integer                      </TD>
-    <!--descript--><TD>Number of moist variables in the state vector
-    [0,...,7].  Defaults to 3</TD></TR>
-
 <TR><!--contents--><TD valign=top>num_domains                  </TD>
     <!--  type  --><TD valign=top>integer                      </TD>
     <!--descript--><TD>Total number of WRF domains, including the
@@ -698,31 +740,37 @@
 		       multiple of the underlying model timestep.
                        Default is 21600 (6 hours)</TD></TR>
     
-<TR><!--contents--><TD valign=top>surf_obs                     </TD>
-    <!--  type  --><TD valign=top>logical                      </TD>
-    <!--descript--><TD>If true, includes U10, V10, T2, Q2, and PS 
-    in the state vector. The resulting extended state vector permits 
-    simpler observational operators for these variables. With this 
-    strategy, the surface scheme can be changed without the 
-    requirement of changing the observational operators in DART.
-    Defaults to true</TD></TR>
+<TR><!--contents--><TD valign=top>periodic_x                 </TD>
+    <!--  type  --><TD valign=top>logical                    </TD>
+    <!--descript--><TD>If .true., the grid is periodic in
+    longitude, and points above the last grid cell and points
+    below the first grid cell are wrapped.  Note this is not
+    the same as a grid which crosses the prime meridian.  WRF
+    handles that with an offset in longitude and points beyond
+    the last grid index are outside the domain.  The default
+    is .false.</TD></TR>
 
-<TR><!--contents--><TD valign=top>soil_data                    </TD>
-    <!--  type  --><TD valign=top>logical                      </TD>
-    <!--descript--><TD>If true, soil temperature (TSLB), 
-    soil moisture (SMOIS), and soil liquid water (SH2O) 
-    are included in the state vector, and they are updated by 
-    the assimilation.
-    Defaults to true</TD></TR>
+<TR><!--contents--><TD valign=top>periodic_y                 </TD>
+    <!--  type  --><TD valign=top>logical                    </TD>
+    <!--descript--><TD>Used for the Single Column Model to make
+    the grid wrap in Y (see scm below).  This is NOT the same as 
+    wrapping in latitude (see polar below).  The default is .false.</TD></TR>
 
-<TR><!--contents--><TD valign=top>h_diab                     </TD>
-    <!--  type  --><TD valign=top>logical                      </TD>
-    <!--descript--><TD>If true, includes H_DIABATIC in the state vector. 
-   This produces a smoother restart and reduces the spinup problem
-   during the assimilation. To use it, WRF registry needs to be changed
-   to include H_DIABATIC in WRF input/output files. This is especially 
-   useful for convective scale assimilations. Defaults to false</TD></TR>
+<TR><!--contents--><TD valign=top>polar                      </TD>
+    <!--  type  --><TD valign=top>logical                    </TD>
+    <!--descript--><TD>If .true., points at the poles are 
+    wrapped across the grid. It is not clear this is a good idea
+    since the grid is degnerate here. The default is .false.</TD></TR>
 
+<TR><!--contents--><TD valign=top>scm                        </TD>
+    <!--  type  --><TD valign=top>logical                    </TD>
+    <!--descript--><TD>If .true., the Single Column Model is
+    assumed.  The grid is a single vertical column, and there
+    are 9 cells arranged in a 3x3 grid.  See the WRF documentation
+    for more information on this configuration.  periodic_x
+    and periodic_y should also be .true. in this case.
+    The default is .false.</TD></TR>
+
 <TR><!--contents--><TD valign=top>adv_mod_command              </TD>
     <!--  type  --><TD valign=top>character(len=32)            </TD>
     <!--descript--><TD>For single-threaded, set to 'wrf.exe'. 
@@ -759,6 +807,43 @@
                        1 = model level,  2 = pressure,  3 = height.  
                        Default is 3</TD></TR>
     
+<TR><!--contents--><TD valign=top>surf_obs                     </TD>
+    <!--  type  --><TD valign=top>logical                      </TD>
+    <!--descript--><TD>If true, includes U10, V10, T2, Q2, and PS 
+    in the state vector. The resulting extended state vector permits 
+    simpler observational operators for these variables. With this 
+    strategy, the surface scheme can be changed without the 
+    requirement of changing the observational operators in DART.
+    Defaults to true.  DEPRECATED -- must be .true. for now if
+    any of the surface fields are part of the wrf_state_variables list.
+    Will be removed the next time the code is reorganized.</TD></TR>
+
+<TR><!--contents--><TD valign=top>soil_data                    </TD>
+    <!--  type  --><TD valign=top>logical                      </TD>
+    <!--descript--><TD>If true, soil temperature (TSLB), 
+    soil moisture (SMOIS), and soil liquid water (SH2O) 
+    are included in the state vector, and they are updated by 
+    the assimilation.
+    Defaults to true.  DEPRECATED -- has no effect on the code 
+    and will be removed soon.</TD></TR>
+
+<TR><!--contents--><TD valign=top>h_diab                     </TD>
+    <!--  type  --><TD valign=top>logical                      </TD>
+    <!--descript--><TD>If true, includes H_DIABATIC in the state vector. 
+   This produces a smoother restart and reduces the spinup problem
+   during the assimilation. To use it, WRF registry needs to be changed
+   to include H_DIABATIC in WRF input/output files. This is especially 
+   useful for convective scale assimilations. Defaults to false.
+   DEPRECATED -- has no effect on the code and will be removed soon.</TD></TR>
+
+<TR><!--contents--><TD valign=top>num_moist_vars               </TD>
+    <!--  type  --><TD valign=top>integer                      </TD>
+    <!--descript--><TD>Number of moist variables in the state vector
+    [0,...,7].  Defaults to 3.  DEPRECATED -- will soon have no effect
+    on the code.  For now, must be > 1 if any Q hydrometeors are
+    specified in the wrf_state_variables list.
+    Will be removed the next time the code is reorganized.</TD></TR>
+
 </TABLE>
 
 <!--==================================================================-->

Modified: DART/trunk/models/wrf/model_mod.nml
===================================================================
--- DART/trunk/models/wrf/model_mod.nml	2009-05-15 15:31:42 UTC (rev 3876)
+++ DART/trunk/models/wrf/model_mod.nml	2009-05-15 22:24:34 UTC (rev 3877)
@@ -1,16 +1,39 @@
-# Notes for model_nml:
-# (1) vert_localization_coord must be one of:
-#     1 = model level
-#     2 = pressure
-#     3 = height
-# (2) see below for explanations of polar, periodic_x,
-#     periodic_y, and scm
+# if 'default_state_variables' is .true. the model_mod.f90 code will
+# fill the state variable table with the following wrf vars: 
+#  U, V, W, PH, T, MU
+# you must set it to false before you change the value of 'wrf_state_variables'.
+#
+# the format for 'wrf_state_variables' is an array of 5 strings:
+#  wrf netcdf variable name, dart KIND_xxx string, type string (must be unique, 
+#  will soon be obsolete, we hope), 'UPDATE', and '999' if the array
+#  is part of all domains.  otherwise, it is a string with the domain
+#  numbers (e.g. '12' for domains 1 and 2, '13' for domains 1 and 3).
+# example:
+#   wrf_state_variables  = 'U','KIND_U_WIND_COMPONENT','TYPE_U','UPDATE','999',
+#                          'V','KIND_V_WIND_COMPONENT','TYPE_V','UPDATE','999',
+#                          'W','KIND_VERTICAL_VELOCITY','TYPE_W','UPDATE','999',
+#                          'T','KIND_POTENTIAL_TEMPERATURE','TYPE_T','UPDATE','999',
+#                          'PH','KIND_GEOPOTENTIAL_HEIGHT','TYPE_GZ','UPDATE','999',
+#                          'MU','KIND_PRESSURE','TYPE_MU','UPDATE','999',
+#                          'QVAPOR','KIND_VAPOR_MIXING_RATIO','TYPE_QV','UPDATE','999',
+#                          'QCLOUD','KIND_CLOUD_LIQUID_WATER','TYPE_QC','UPDATE','999',
+#                          'QRAIN','KIND_RAINWATER_MIXING_RATIO','TYPE_QR','UPDATE','999',
+#                          'U10','KIND_U_WIND_COMPONENT','TYPE_U10','UPDATE','999',
+#                          'V10','KIND_V_WIND_COMPONENT','TYPE_V10','UPDATE','999',
+#                          'T2','KIND_TEMPERATURE','TYPE_T2','UPDATE','999',
+#                          'TH2','KIND_POTENTIAL_TEMPERATURE','TYPE_TH2','UPDATE','999',
+#                          'Q2','KIND_SPECIFIC_HUMIDITY','TYPE_Q2','UPDATE','999',
+#                          'PSFC','KIND_PRESSURE','TYPE_PS','UPDATE','999',
 
+
 &model_nml
+   default_state_variables     = .true.,
+   wrf_state_variables         = 'NULL',
+   wrf_state_bounds            = 'NULL',
+   num_domains                 = 1,
    output_state_vector         = .false.,
+   calendar_type               = 3,
    num_moist_vars              = 3,
-   num_domains                 = 1,
-   calendar_type               = 3,
    surf_obs                    = .true.,
    soil_data                   = .true.,
    h_diab                      = .false.,


More information about the Dart-dev mailing list