[Dart-dev] DART/releases Revision: 11371
dart at ucar.edu
dart at ucar.edu
Fri Mar 17 16:00:13 MDT 2017
nancy at ucar.edu
2017-03-17 16:00:13 -0600 (Fri, 17 Mar 2017)
212
merging updates from the rma_trunk into the manhattan release.
kevin updated the filter and pmo namelists; i moved the
observation utilities up a level; i added the GSI2DART and
obs_def_radiance_mod from craig.
Index: DART/releases/Manhattan
===================================================================
--- DART/releases/Manhattan 2017-03-17 21:58:10 UTC (rev 11370)
+++ DART/releases/Manhattan 2017-03-17 22:00:13 UTC (rev 11371)
Property changes on: DART/releases/Manhattan
___________________________________________________________________
Modified: svn:mergeinfo
## -28,6 +28,7 ##
/DART/branches/rma_sprint:8101-8172
/DART/branches/rma_state_structure_test_dir:9478-9682
/DART/branches/rma_state_structure_unit_test:9697-10274
+/DART/branches/rma_trunk:11355-11370
/DART/branches/rma_trunk_clamping:8792-8807
/DART/branches/rma_trunk_filename:8017-8163
/DART/branches/rma_trunk_get_state_fun:8574-8602
Modified: DART/releases/Manhattan/assimilation_code/modules/assimilation/assim_tools_mod.f90
===================================================================
--- DART/releases/Manhattan/assimilation_code/modules/assimilation/assim_tools_mod.f90 2017-03-17 21:58:10 UTC (rev 11370)
+++ DART/releases/Manhattan/assimilation_code/modules/assimilation/assim_tools_mod.f90 2017-03-17 22:00:13 UTC (rev 11371)
@@ -274,21 +274,46 @@
close_obs_caching = .false.
endif
-if (adjust_obs_impact) then
- call allocate_impact_table(obs_impact_table)
- call read_impact_table(obs_impact_filename, obs_impact_table, allow_any_impact_values)
- call error_handler(E_MSG, 'assim_tools_init: ', &
- 'Using observation impact table from file "'//trim(obs_impact_filename)//'"')
-endif
+! log what the user has selected via the namelist choices
+! E_MSG only prints from PE0 by default, but go ahead and only
+! construct the messages on PE0 as well.
+if (do_output()) then
-if (do_output()) then
- write(msgstring, '(A,F18.6)') 'The cutoff namelist value is ', cutoff
- call error_handler(E_MSG,'assim_tools_init:', msgstring)
- write(msgstring, '(A)') 'cutoff is the localization half-width parameter,'
- call error_handler(E_MSG,'assim_tools_init:', msgstring)
- write(msgstring, '(A,F18.6)') 'so the effective localization radius is ', cutoff*2.0_r8
- call error_handler(E_MSG,'assim_tools_init:', msgstring)
+ select case (filter_kind)
+ case (1)
+ msgstring = 'Ensemble Adjustment Kalman Filter (EAKF)'
+ case (2)
+ msgstring = 'Ensemble Kalman Filter (ENKF)'
+ case (3)
+ msgstring = 'Kernel filter'
+ case (4)
+ msgstring = 'observation space particle filter'
+ case (5)
+ msgstring = 'random draw from posterior'
+ case (6)
+ msgstring = 'deterministic draw from posterior with fixed kurtosis'
+ case (7)
+ msgstring = 'Boxcar'
+ case (8)
+ msgstring = 'Rank Histogram Filter'
+ case default
+ call error_handler(E_ERR, 'assim_tools_init:', 'illegal filter_kind value, valid values are 1-8', &
+ source, revision, revdate)
+ end select
+ call error_handler(E_MSG, 'assim_tools_init:', 'Selected filter type is '//trim(msgstring))
+ if (adjust_obs_impact) then
+ call allocate_impact_table(obs_impact_table)
+ call read_impact_table(obs_impact_filename, obs_impact_table, allow_any_impact_values)
+ call error_handler(E_MSG, 'assim_tools_init:', &
+ 'Using observation impact table from file "'//trim(obs_impact_filename)//'"')
+ endif
+
+ write(msgstring, '(A,F18.6)') 'The cutoff namelist value is ', cutoff
+ write(msgstring2, '(A)') 'cutoff is the localization half-width parameter,'
+ write(msgstring3, '(A,F18.6)') 'so the effective localization radius is ', cutoff*2.0_r8
+ call error_handler(E_MSG,'assim_tools_init:', msgstring, text2=msgstring2, text3=msgstring3)
+
if (has_special_cutoffs) then
call error_handler(E_MSG, '', '')
call error_handler(E_MSG,'assim_tools_init:','Observations with special localization treatment:')
@@ -310,11 +335,11 @@
if(adaptive_localization_threshold > 0) then
write(msgstring, '(A,I10,A)') 'Using adaptive localization, threshold ', &
- adaptive_localization_threshold, ' obs'
+ adaptive_localization_threshold, ' obs'
call error_handler(E_MSG,'assim_tools_init:', msgstring)
if(adaptive_cutoff_floor > 0.0_r8) then
write(msgstring, '(A,F18.6)') 'Minimum cutoff will not go below ', &
- adaptive_cutoff_floor
+ adaptive_cutoff_floor
call error_handler(E_MSG,'assim_tools_init:', 'Using adaptive localization cutoff floor.', &
text2=msgstring)
endif
@@ -332,12 +357,12 @@
if (task_count() > 1) then
if(distribute_mean) then
call error_handler(E_MSG,'assim_tools_init:', 'Distributing one copy of the ensemble mean across all tasks', &
- text2='(uses less memory per task but may run slower if doing vertical coordinate conversion,', &
- text3='controlled by namelist item "distribute_mean")')
+ text2='uses less memory per task but may run slower if doing vertical ', &
More information about the Dart-dev
mailing list