[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