[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