[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