[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>&model_mod</em> </A>
+<A HREF="#Namelist"> <em class=code>&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
-'&' and terminating with a slash '/'.
+'&' and terminating with a slash '/'.
<div class=namelist>
<pre>
-<em class=call>namelist / model_nml / </em> &
- output_state_vector, num_moist_vars, num_domains, calendar_type, &
- surf_obs, soil_data, h_diab, adv_mod_command, assimilation_period_seconds, &
- vert_localization_coord, center_search_half_length, center_spline_grid_scale
+<em class=call>namelist / model_nml / </em> &
+ default_state_variables, wrf_state_variables, wrf_state_bounds, &
+ output_state_vector, num_domains, calendar_type, &
+ adv_mod_command, assimilation_period_seconds, allow_obs_below_vol, &
+ vert_localization_coord, center_search_half_length, center_spline_grid_scale, &
+ polar, periodic_x, periodic_y, scm &
+ 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