[Dart-dev] DART/branches Revision: 12221

dart at ucar.edu dart at ucar.edu
Tue Dec 19 13:43:42 MST 2017


nancy at ucar.edu
2017-12-19 13:43:42 -0700 (Tue, 19 Dec 2017)
190
filter had code that didn't call the inflation unless
it was a kind it recognized.  assim_tools_mod also had
code that depended on single vs varying.  i added enhanced
to the varying kind.




Modified: DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/adaptive_inflate_mod.f90
===================================================================
--- DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/adaptive_inflate_mod.f90	2017-12-19 18:13:55 UTC (rev 12220)
+++ DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/adaptive_inflate_mod.f90	2017-12-19 20:43:42 UTC (rev 12221)
@@ -26,7 +26,7 @@
 implicit none
 private
 
-public :: update_inflation,           do_enhanced_inflate,           do_obs_inflate,     &
+public :: update_inflation,           do_enhanced_ss_inflate,        do_obs_inflate,     &
           do_varying_ss_inflate,      do_single_ss_inflate,          inflate_ens,        &
           adaptive_inflate_init,      adaptive_inflate_type,                             &
                                       deterministic_inflate,         solve_quadratic,    &
@@ -56,7 +56,7 @@
    private
    ! Flavor can be 0:none, 1:obs_inflate, 2:varying_ss_inflate, 3:single_ss_inflate
    ! Deprecating 1:obs_inflate, there is concerns how the observation space inflation
-   ! is happening. JPH.
+   ! is happening. JPH., 4 = RTPS, 5 = enhanced ss
    integer               :: inflation_flavor
    logical               :: output_restart = .false.
    logical               :: deterministic
@@ -174,8 +174,9 @@
 type(adaptive_inflate_type), intent(in) :: inflation
 logical :: do_ss_inflate
 
-if (do_single_ss_inflate(inflation)  .or. &
+if (do_single_ss_inflate(inflation) .or. &
     do_varying_ss_inflate(inflation) .or. &
+    do_enhanced_ss_inflate(inflation) .or. &
     do_rtps_inflate(inflation)) then
    do_ss_inflate = .true.
 else
@@ -321,15 +322,16 @@
 
 !------------------------------------------------------------------
 !> Returns true if this inflation type indicates enhanced state space inflation
+!> Moha Gharamti, 2017
 
-function do_enhanced_inflate(inflate_handle)
+function do_enhanced_ss_inflate(inflate_handle)
 
-logical                                 :: do_enhanced_inflate
+logical                                 :: do_enhanced_ss_inflate
 type(adaptive_inflate_type), intent(in) :: inflate_handle
 
-do_enhanced_inflate = (inflate_handle%inflation_flavor == 5)
+do_enhanced_ss_inflate = (inflate_handle%inflation_flavor == 5)
 
-end function do_enhanced_inflate
+end function do_enhanced_ss_inflate
 
 !------------------------------------------------------------------
 !> Returns true if deterministic inflation is indicated
@@ -382,9 +384,9 @@
 end do
 
 ! Check to see if state space inflation is turned on
-if (inf_flavor(1) > 1 )                           do_prior_inflate     = .true.
-if (inf_flavor(2) > 1 )                           do_posterior_inflate = .true.
-if (do_prior_inflate .or. do_posterior_inflate)   output_inflation     = .true.
+if (inf_flavor(1) > 1) do_prior_inflate     = .true.
+if (inf_flavor(2) > 1) do_posterior_inflate = .true.
+if (do_prior_inflate .or. do_posterior_inflate) output_inflation = .true.
 
 ! Observation space inflation not currently supported
 if(inf_flavor(1) == 1 .or. inf_flavor(2) == 1) call error_handler(E_ERR, 'validate_inflate_options', &

Modified: DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/assim_tools_mod.f90
===================================================================
--- DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/assim_tools_mod.f90	2017-12-19 18:13:55 UTC (rev 12220)
+++ DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/assim_tools_mod.f90	2017-12-19 20:43:42 UTC (rev 12221)
@@ -56,8 +56,8 @@
                                  sum_across_tasks, task_count, start_mpi_timer,           &
                                  read_mpi_timer
 
-use adaptive_inflate_mod, only : do_obs_inflate,  do_single_ss_inflate,                   &
-                                 do_varying_ss_inflate,                                   &
+use adaptive_inflate_mod, only : do_obs_inflate,  do_single_ss_inflate, do_ss_inflate,    &
+                                 do_varying_ss_inflate, do_enhanced_ss_inflate,           &
                                  update_inflation,                                        &
                                  inflate_ens, adaptive_inflate_type,                      &
                                  deterministic_inflate, solve_quadratic
@@ -386,6 +386,8 @@
 ! for performance, local copies 
 logical :: local_single_ss_inflate
 logical :: local_varying_ss_inflate
+logical :: local_enhanced_ss_inflate
+logical :: local_ss_inflate
 logical :: local_obs_inflate
 
 ! HK observation location conversion
@@ -443,6 +445,8 @@
 ! are really in the inflate derived type.
 local_single_ss_inflate  = do_single_ss_inflate(inflate)
 local_varying_ss_inflate = do_varying_ss_inflate(inflate)
+local_varying_ss_inflate = do_enhanced_ss_inflate(inflate)
+local_ss_inflate         = do_ss_inflate(inflate)
 local_obs_inflate        = do_obs_inflate(inflate)
 
 ! Default to printing nothing


More information about the Dart-dev mailing list