[Dart-dev] [3771] DART/trunk/obs_kind/DEFAULT_obs_kind_mod.F90: The table which initializes the kind names will be autogenerated in

nancy at ucar.edu nancy at ucar.edu
Mon Feb 9 09:52:35 MST 2009


An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20090209/e140cce1/attachment.html 
-------------- next part --------------
Modified: DART/trunk/obs_kind/DEFAULT_obs_kind_mod.F90
===================================================================
--- DART/trunk/obs_kind/DEFAULT_obs_kind_mod.F90	2009-02-06 21:23:50 UTC (rev 3770)
+++ DART/trunk/obs_kind/DEFAULT_obs_kind_mod.F90	2009-02-09 16:52:34 UTC (rev 3771)
@@ -76,11 +76,11 @@
     KIND_TRACER_SOURCE               = 28, &
     KIND_TRACER_CONCENTRATION        = 29, &
     KIND_MEAN_SOURCE                 = 30, &
-   KIND_SOURCE_PHASE                = 31
+    KIND_SOURCE_PHASE                = 31
  
 ! kind for power-weighted precipitation fall speed
 integer, parameter, public :: &
-   KIND_POWER_WEIGHTED_FALL_SPEED   = 32
+    KIND_POWER_WEIGHTED_FALL_SPEED   = 32
 
  ! missing kind for the am2 model
 integer, parameter, public :: &
@@ -95,14 +95,14 @@
  
 ! kinds for planetary remote sensing (wglawson)
 integer, parameter, public :: &
-   KIND_SKIN_TEMPERATURE            = 70, &
-   KIND_NADIR_RADIANCE              = 71, &
-   KIND_TRACER_1_MIXING_RATIO       = 72, &  ! for active dust aerosols
-   KIND_TRACER_2_MIXING_RATIO       = 73, &  ! for active dust aerosols
-   ! Is KIND_TRACER_MIXING_RATIO really necessary with KIND_TRACER_CONCENTRATION
-   !   (= 29) available from the simple advection model?
-   KIND_SOIL_TEMPERATURE            = 74, &  ! missing from WRF model_mod (?)
-   KIND_SOIL_LIQUID_WATER           = 75     ! missing from WRF model_mod (?)
+    KIND_SKIN_TEMPERATURE            = 70, &
+    KIND_NADIR_RADIANCE              = 71, &
+    KIND_TRACER_1_MIXING_RATIO       = 72, &  ! for active dust aerosols
+    KIND_TRACER_2_MIXING_RATIO       = 73, &  ! for active dust aerosols
+    ! Is KIND_TRACER_MIXING_RATIO really necessary with KIND_TRACER_CONCENTRATION
+    !   (= 29) available from the simple advection model?
+    KIND_SOIL_TEMPERATURE            = 74, &  ! missing from WRF model_mod (?)
+    KIND_SOIL_LIQUID_WATER           = 75     ! missing from WRF model_mod (?)
 
 ! kinds for vortex tracking (WRF - yongsheng)
 integer, parameter, public :: &
@@ -191,7 +191,9 @@
 
 ! An obs_kind_name_type is defined by the preprocess program to store 
 ! the association between obs_kind index numbers and string names.
-type(obs_kind_type) :: obs_kind_names(max_obs_generic)
+! raw is index 0, so this needs to match.  revisit the direct indexing
+! since we have an index in the table -- redundant info?
+type(obs_kind_type) :: obs_kind_names(0:max_obs_generic)
 
 ! Namelist array to turn on any requested observation types
 character(len = 129) :: assimilate_these_obs_types(max_obs_specific) = 'null'
@@ -231,7 +233,64 @@
 
 !----------------------------------------------------------------------------
 
+! this *should* be autogenerated; the next version of preprocess has code
+! to do that.  but for now, hard code this table.  ugly.
 
+do i = 0, max_obs_generic
+   obs_kind_names(i) = obs_kind_type(i, 'UNKNOWN')
+enddo
+
+obs_kind_names( 0) = obs_kind_type(KIND_RAW_STATE_VARIABLE, 'KIND_RAW_STATE_VARIABLE')
+obs_kind_names( 1) = obs_kind_type(KIND_U_WIND_COMPONENT, 'KIND_U_WIND_COMPONENT')
+obs_kind_names( 2) = obs_kind_type(KIND_V_WIND_COMPONENT, 'KIND_V_WIND_COMPONENT')
+obs_kind_names( 3) = obs_kind_type(KIND_SURFACE_PRESSURE, 'KIND_SURFACE_PRESSURE')
+obs_kind_names( 4) = obs_kind_type(KIND_TEMPERATURE, 'KIND_TEMPERATURE')
+obs_kind_names( 5) = obs_kind_type(KIND_SPECIFIC_HUMIDITY, 'KIND_SPECIFIC_HUMIDITY')
+obs_kind_names( 6) = obs_kind_type(KIND_PRESSURE, 'KIND_PRESSURE')
+obs_kind_names( 7) = obs_kind_type(KIND_VERTICAL_VELOCITY, 'KIND_VERTICAL_VELOCITY')
+obs_kind_names( 8) = obs_kind_type(KIND_RAINWATER_MIXING_RATIO, 'KIND_RAINWATER_MIXING_RATIO')
+obs_kind_names( 9) = obs_kind_type(KIND_DEW_POINT_TEMPERATURE, 'KIND_DEW_POINT_TEMPERATURE')
+obs_kind_names(10) = obs_kind_type(KIND_DENSITY, 'KIND_DENSITY')
+obs_kind_names(11) = obs_kind_type(KIND_VELOCITY, 'KIND_VELOCITY')
+obs_kind_names(12) = obs_kind_type(KIND_RADAR_REFLECTIVITY, 'KIND_RADAR_REFLECTIVITY')
+obs_kind_names(13) = obs_kind_type(KIND_1D_INTEGRAL, 'KIND_1D_INTEGRAL')
+obs_kind_names(14) = obs_kind_type(KIND_GRAUPEL_MIXING_RATIO, 'KIND_GRAUPEL_MIXING_RATIO')
+obs_kind_names(15) = obs_kind_type(KIND_SNOW_MIXING_RATIO, 'KIND_SNOW_MIXING_RATIO')
+obs_kind_names(16) = obs_kind_type(KIND_GPSRO, 'KIND_GPSRO')
+obs_kind_names(17) = obs_kind_type(KIND_CLOUD_LIQUID_WATER, 'KIND_CLOUD_LIQUID_WATER')
+obs_kind_names(18) = obs_kind_type(KIND_CLOUD_ICE, 'KIND_CLOUD_ICE')
+obs_kind_names(19) = obs_kind_type(KIND_CONDENSATIONAL_HEATING, 'KIND_CONDENSATIONAL_HEATING')
+obs_kind_names(20) = obs_kind_type(KIND_VAPOR_MIXING_RATIO, 'KIND_VAPOR_MIXING_RATIO')
+obs_kind_names(21) = obs_kind_type(KIND_ICE_NUMBER_CONCENTRATION, 'KIND_ICE_NUMBER_CONCENTRATION')
+obs_kind_names(22) = obs_kind_type(KIND_GEOPOTENTIAL_HEIGHT, 'KIND_GEOPOTENTIAL_HEIGHT')
+obs_kind_names(23) = obs_kind_type(KIND_POTENTIAL_TEMPERATURE, 'KIND_POTENTIAL_TEMPERATURE')
+obs_kind_names(24) = obs_kind_type(KIND_SOIL_MOISTURE, 'KIND_SOIL_MOISTURE')
+obs_kind_names(25) = obs_kind_type(KIND_SURFACE_ELEVATION, 'KIND_SURFACE_ELEVATION')
+obs_kind_names(26) = obs_kind_type(KIND_GRAV_WAVE_DRAG_EFFIC, 'KIND_GRAV_WAVE_DRAG_EFFIC')
+obs_kind_names(27) = obs_kind_type(KIND_GRAV_WAVE_STRESS_FRACTION, 'KIND_GRAV_WAVE_STRESS_FRACTION')
+obs_kind_names(28) = obs_kind_type(KIND_TRACER_SOURCE, 'KIND_TRACER_SOURCE')
+obs_kind_names(29) = obs_kind_type(KIND_TRACER_CONCENTRATION, 'KIND_TRACER_CONCENTRATION')
+obs_kind_names(30) = obs_kind_type(KIND_MEAN_SOURCE, 'KIND_MEAN_SOURCE')
+obs_kind_names(31) = obs_kind_type(KIND_SOURCE_PHASE, 'KIND_SOURCE_PHASE')
+obs_kind_names(32) = obs_kind_type(KIND_POWER_WEIGHTED_FALL_SPEED, 'KIND_POWER_WEIGHTED_FALL_SPEED')
+obs_kind_names(35) = obs_kind_type(KIND_CLOUD_FRACTION, 'KIND_CLOUD_FRACTION')
+obs_kind_names(50) = obs_kind_type(KIND_SALINITY, 'KIND_SALINITY')
+obs_kind_names(51) = obs_kind_type(KIND_U_CURRENT_COMPONENT, 'KIND_U_CURRENT_COMPONENT')
+obs_kind_names(52) = obs_kind_type(KIND_V_CURRENT_COMPONENT, 'KIND_V_CURRENT_COMPONENT')
+obs_kind_names(53) = obs_kind_type(KIND_SEA_SURFACE_HEIGHT, 'KIND_SEA_SURFACE_HEIGHT')
+obs_kind_names(70) = obs_kind_type(KIND_SKIN_TEMPERATURE, 'KIND_SKIN_TEMPERATURE')
+obs_kind_names(71) = obs_kind_type(KIND_NADIR_RADIANCE, 'KIND_NADIR_RADIANCE')
+obs_kind_names(72) = obs_kind_type(KIND_TRACER_1_MIXING_RATIO, 'KIND_TRACER_1_MIXING_RATIO')
+obs_kind_names(73) = obs_kind_type(KIND_TRACER_2_MIXING_RATIO, 'KIND_TRACER_2_MIXING_RATIO')
+obs_kind_names(74) = obs_kind_type(KIND_SOIL_TEMPERATURE, 'KIND_SOIL_TEMPERATURE')
+obs_kind_names(75) = obs_kind_type(KIND_SOIL_LIQUID_WATER, 'KIND_SOIL_LIQUID_WATER')
+obs_kind_names(81) = obs_kind_type(KIND_VORTEX_LON, 'KIND_VORTEX_LON')
+obs_kind_names(82) = obs_kind_type(KIND_VORTEX_LAT, 'KIND_VORTEX_LAT')
+obs_kind_names(83) = obs_kind_type(KIND_VORTEX_PMIN, 'KIND_VORTEX_PMIN')
+obs_kind_names(84) = obs_kind_type(KIND_VORTEX_WMAX, 'KIND_VORTEX_WMAX')
+obs_kind_names(85) = obs_kind_type(KIND_EXNER_FUNCTION, 'KIND_EXNER_FUNCTION')
+
+
 ! count here, then output below 
 
 num_kind_assimilate = 0


More information about the Dart-dev mailing list