[Dart-dev] Added/ Revision: 12518

dart at ucar.edu dart at ucar.edu
Fri Apr 13 15:16:23 MDT 2018


nancy at ucar.edu
2018-04-13 15:16:21 -0600 (Fri, 13 Apr 2018)
589
commit files to the preprocess branch.  fixed many place in the
default obs_kind_mod that were printing out the wrong names in
the error messages.  changed kinds to qtys in more places.
(these changes will be mirrored in the rma_trunk version)

add proposed groupings of quantities. preprocess only includes
the quantities listed in the input namelist, and automatically
generates numbers for them (no intervention by the user needed
when adding new quantities other than listing the name in the
quantity.f90 file.)  nothing to stop from listing more than
one quantity file if you want. 




Modified: DART/branches/preprocess/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90
===================================================================
--- DART/branches/preprocess/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90	2018-04-13 21:13:02 UTC (rev 12517)
+++ DART/branches/preprocess/assimilation_code/modules/observations/DEFAULT_obs_kind_mod.F90	2018-04-13 21:16:21 UTC (rev 12518)
@@ -16,462 +16,52 @@
 
 use        types_mod, only : obstypelength
 use    utilities_mod, only : register_module, error_handler, E_ERR, E_WARN,  &
-                             logfileunit, find_namelist_in_file,             &
+                             logfileunit, find_namelist_in_file, log_it,     &
                              check_namelist_read, do_output, ascii_file_format
 
 implicit none
 private
 
-public :: get_name_for_type_of_obs, assimilate_this_type_of_obs, &
-          evaluate_this_type_of_obs, get_quantity_for_type_of_obs, get_index_for_type_of_obs, &
-          write_type_of_obs_table, read_type_of_obs_table, get_type_of_obs_from_menu, map_type_of_obs_table,  &
-          use_ext_prior_this_type_of_obs, get_name_for_quantity, get_index_for_quantity
+public :: get_name_for_type_of_obs, &
+          assimilate_this_type_of_obs, &
+          evaluate_this_type_of_obs, &
+          get_quantity_for_type_of_obs, &
+          get_index_for_type_of_obs, &
+          write_type_of_obs_table, &
+          read_type_of_obs_table, &
+          get_type_of_obs_from_menu, &
+          map_type_of_obs_table,  &
+          use_ext_prior_this_type_of_obs, &
+          get_name_for_quantity, &
+          get_index_for_quantity
 
-! Added by nsc to try to limit the number of global vars exported from
-! this program.  i do not like this terminology, but since we are still
-! using kind where we mean type, raw kind is as good a solution as anything.
-! when i get permission to change public interfaces (next significant public
-! release of the code), all kinds will become types, and raw_kind will become
-! plain kind.  or i'll dump type/kind altogether and go to specific/generic
-! or some other pair without this long history.
 public :: get_num_types_of_obs, get_num_quantities
 
 !----------------------------------------------------------------------------
-! Note: this list is currently maintained by hand; new kinds must be added
-! to the DEFAULT_obs_kind_mod.F90 file and then the preprocess program must
-! be rerun to generate a obs_kind_mod.f90 file for use by the rest of the
-! DART system.  Future versions of the preprocess program will be able to
-! generate this table automatically.
+! These lists are autogenerated by the 'preprocess' program.  
+! 
+! To add new observation types (e.g. AIRS_U_WIND_COMPONENT), edit the 
+! obs_def_xxx_mod.f90 files and add the filename to the 'obs_type_files' variable
+! in the &preprocess_nml namelist of the model-specific work/input.nml file.
+! There can be multiple filenames listed for 'obs_type_files'.
+!
+! To add a new fundamental quantity (e.g. TEMPERATURE), first examine
+! all the xxx_quantities.f90 files to be sure it does not already exist.  
+! If it really does not, add QTY_xxx to the most appropriate file and 
+! add xxx_quantities.f90 to the 'quantity_files' variable in the &preprocess_nml 
+! namelist.  There can be multiple filenames listed for 'quantity_files'.
+!
+! Add a descriptive comment along with expected units and any other
+! helpful information.  These quantities should be useable by any
+! model of the same system to allow interoperability and comparisons
+! between model results.
+!
 
-! Definition and public access to the observation types/kinds
-! Unique index values associated with each observation type and
-! kind strings are defined here.
+! DART PREPROCESS INTEGER DECLARATIONS INSERTED HERE
 
-integer, parameter, public :: &
-    QTY_STATE_VARIABLE              = 0, &
-    QTY_U_WIND_COMPONENT            = 1, &
-    QTY_V_WIND_COMPONENT            = 2, &
-    QTY_SURFACE_PRESSURE            = 3, &
-    QTY_TEMPERATURE                 = 4, &
-    QTY_SPECIFIC_HUMIDITY           = 5, &
-    QTY_PRESSURE                    = 6, &
-    QTY_VERTICAL_VELOCITY           = 7, &
-    QTY_RAINWATER_MIXING_RATIO      = 8, &
-    QTY_DEWPOINT                    = 9, &
-    QTY_DENSITY                     = 10, &
-    QTY_VELOCITY                    = 11, &
-    QTY_RADAR_REFLECTIVITY          = 12, &
-    QTY_1D_INTEGRAL                 = 13, &
-    QTY_GRAUPEL_MIXING_RATIO        = 14, &
-    QTY_SNOW_MIXING_RATIO           = 15, &
-    QTY_GPSRO                       = 16, &
-    QTY_CLOUD_LIQUID_WATER          = 17, &
-    QTY_CLOUD_ICE                   = 18, &
-    QTY_CONDENSATIONAL_HEATING      = 19, &
-    QTY_VAPOR_MIXING_RATIO          = 20, &
-    QTY_ICE_NUMBER_CONCENTRATION    = 21, &
-    QTY_GEOPOTENTIAL_HEIGHT         = 22, &
-    QTY_POTENTIAL_TEMPERATURE       = 23, &
-    QTY_SOIL_MOISTURE               = 24, &
-    QTY_SURFACE_ELEVATION           = 25
 
-! kinds for Gravity Wave Drag (CAM - kevin)
-integer, parameter, public :: &


More information about the Dart-dev mailing list