Jump to DART Documentation Main Index
The observation types supported by DART are defined at the
time the programs are compiled. Only those observation types
of interest need to be included.
This is the input template file which is read by the program
to create the
obs_kind_mod.f90 (documented separately in this
directory). Information from zero or more special obs_def modules (such as
documented in the obs_def directory) are incorporated into the template
provided by DEFAULT_obs_def_kind. If no special obs_def files are included in
the preprocessor namelist, a minimal
obs_kind_mod.f90 is created which can
only support identity forward observation operators.
To add a new specific observation type, see the obs_def_mod documentation. If adding this type includes defining a new generic observation kind, then the kind must be added to the table in this file, with a unique integer value defined for it. In a planned future update to the preprocess program it is expected that this kinds table will become autogenerated, much like the types table described below, so no editing of this file will be needed. But until then, kinds must be added by here, by hand. And note that they must be added to the template file, DEFAULT_obs_kind_mod.F90 and not the output of the preprocess program, obs_kind_mod.f90. The latter file is overwritten each time preprocess runs, deleting any hand editing done on that file.
The rest of this documentation describes the special formatting that is included in the DEFAULT_obs_kind_mod in order to guide the preprocess program. Two 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:
! DART PREPROCESS INTEGER DECLARATION INSERTED HEREEach of the observation type identifiers are inserted here, and are given both the parameter and public attributes. The associated integer values are generated sequentially, starting at 1. If a different set of special obs_def modules is specified via the namelist for preprocess, the integer value associated with a given observation type could change so these integers are for use internal to a given program execution only. Observation types 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 below).
! DART PREPROCESS OBS_KIND_INFO INSERTED HEREThe 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:
DART software - Copyright 2004 - 2013 UCAR.
This open source software is provided by UCAR, "as is",
|Contact:||DART core group|
|Revision:||$Revision: 6380 $|
|Source:||$URL: https://svn-dares-dart.cgd.ucar.edu/DART/releases/classic/obs_kind/DEFAULT_obs_kind_mod.html $|
|Change Date:||$Date: 2013-08-05 17:47:11 -0600 (Mon, 05 Aug 2013) $|
|Change history:||try "svn log" or "svn diff"|