Contact: | Jeff Anderson |
Reviewers: | |
Revision: | $Revision: 1.1 $ |
Release Name: | $Name: iceland $ |
Change Date: | $Date: 2005/10/28 17:12:41 $ |
Change history: | see CVS log |
This documentation file only describes the special formatting that is included in the DEFAULT_obs_kind_mod in order to guide the preprocess program. Three sections of code are inserted into the DEFAULT_obs_def_kind module from each of the special obs_def modules that are requested. The insertion point for each section is denoted by a special comment line that must be included VERBATIM in DEFAULT_obs_kind_mod. These special comment lines and their significance are:
1. ! DART PREPROCES PUBLIC INSERTED HERE
Each observation kind defined by the requested special obs_def modules must be
available for public use from the obs_kind_mod. A public statement for each is
added at this point, for instance: public :: RAW_STATE_VARIABLE. These public
entries are integer parameters (see 2).
2. ! DART PREPROCESS INTEGER DECLARATION INSERTED HERE
Each of the observation kind identifiers made public in the first insertion are
defined here. The assoicated integer values are sequentially increasing starting
with 0. If a different set of special obs_def modules is specified via the
namelist for preprocess, the integer value associated with a given observation
kind could change so these integers are for use internal to a given program
execution only. Observation kinds are permanently and uniquely identified by a
string with character values identical to the integer identifier here. In
other words, an observation kind with integer parameter identifier
RAW_STATE_VARIABLE will always be associated with a string "RAW_STATE_VARIABLE"
(see 3).
3. ! DART PREPROCESS OBS_KIND_INFO INSERTED HERE
The entries for the obs_kind_info table are initialized here. This table has
a row for each observation kind defined in the public and integer parameter
declarations discussed above. For each obs_kind, the obs_kind info table contains
the following information: a). The integer index associated with this observation
kind. This is the value that is defined in the integer parameter statement in
2 above. b). A character string with maximum length 32 characters that uniquely
identifies the observation kind. This string is identical to the F90 identifier
used in the public and integer parameter statements created in 1 and 2 above.
c). A generic variable type referenced by an integer. The obs_kind_mod contains
a table that defines an integer parameter that uniquely identifies each generic
observation kind. Generic kinds can be associated with both a model state variable
or an observation kind. For instance, the generic kind U_WIND_COMPONENT might be
associated with model U state variables, with RADIOSONDE_U_WIND_COMPONENT
observation kinds, and with ACARS_U_WIND_COMPONENT observation kinds. The distinction
between generic kinds and observation kinds is important and potentially confusing,
so be careful to understand this point. d). A logical variable indicating whether
observations of this kind are to be assimilated in the current experiment. This
variable is set from the obs_kind namelist (see obs_kind_mod.html in this directory).
e). A logical variable indicating whether observations of this kind are to be
evaluated (forward operator computed and recorded) but not assimilated (again set
by namelist). The default values for d) and e) are false when the obs_def_mod is
created by the preprocess program.