[Dart-dev] DART/branches Revision: 12230
dart at ucar.edu
dart at ucar.edu
Wed Dec 20 16:53:10 MST 2017
nancy at ucar.edu
2017-12-20 16:53:08 -0700 (Wed, 20 Dec 2017)
96
change the name of the new namelist var to inf_sd_max_change.
update the filter.html to match.
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-20 16:42:48 UTC (rev 12229)
+++ DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/adaptive_inflate_mod.f90 2017-12-20 23:53:08 UTC (rev 12230)
@@ -55,14 +55,14 @@
type adaptive_inflate_type
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., 4 = RTPS, 5 = enhanced ss, modification of 2
+ ! 4 = RTPS, 5 = enhanced ss, modification of 2
+ ! 1:obs_inflate is currently deprecated.
integer :: inflation_flavor
integer :: inflation_sub_flavor
logical :: output_restart = .false.
logical :: deterministic
real(r8) :: inflate, sd, sd_lower_bound, inf_lower_bound, inf_upper_bound
- real(r8) :: sd_size_change
+ real(r8) :: sd_max_change
! Include a random sequence type in case non-deterministic inflation is used
type(random_seq_type) :: ran_seq
logical :: allow_missing_in_clm
@@ -78,7 +78,6 @@
! types for updating the inflation
integer, parameter :: GHA2017 = 1
integer, parameter :: AND2009 = 2
-integer, parameter :: AND2007 = 3
! Module storage for writing error messages
character(len=512) :: msgstring, msgstring2
@@ -191,7 +190,7 @@
subroutine adaptive_inflate_init(inflate_handle, inf_flavor, mean_from_restart, &
sd_from_restart, output_inflation, deterministic, &
inf_initial, sd_initial, inf_lower_bound, inf_upper_bound, &
- sd_lower_bound, sd_size_change, ens_handle, missing_ok, label)
+ sd_lower_bound, sd_max_change, ens_handle, missing_ok, label)
type(adaptive_inflate_type), intent(inout) :: inflate_handle
integer, intent(in) :: inf_flavor
@@ -202,7 +201,7 @@
real(r8), intent(in) :: inf_initial, sd_initial
real(r8), intent(in) :: inf_lower_bound, inf_upper_bound
real(r8), intent(in) :: sd_lower_bound
-real(r8), intent(in) :: sd_size_change
+real(r8), intent(in) :: sd_max_change
type(ensemble_type), intent(inout) :: ens_handle
logical, intent(in) :: missing_ok
character(len = *), intent(in) :: label
@@ -230,7 +229,7 @@
inflate_handle%inf_lower_bound = inf_lower_bound
inflate_handle%inf_upper_bound = inf_upper_bound
inflate_handle%sd_lower_bound = sd_lower_bound
-inflate_handle%sd_size_change = sd_size_change
+inflate_handle%sd_max_change = sd_max_change
inflate_handle%allow_missing_in_clm = missing_ok
inflate_handle%mean_from_restart = mean_from_restart
inflate_handle%sd_from_restart = sd_from_restart
@@ -238,9 +237,9 @@
if (trim(label)=='Prior') inflate_handle%prior = .true.
if (trim(label)=='Posterior') inflate_handle%posterior = .true.
-! inf type 5 is a subset of type 2. modify the type here.
+! inf type 5 is a subset of type 2. modify the main type here.
if (inf_flavor == 5) then
- inflate_handle%inflation_flavor = 2
+ inflate_handle%inflation_flavor = 2
endif
! Cannot support non-determistic inflation and an inf_lower_bound < 1
@@ -358,7 +357,7 @@
!> Make sure the combination of inflation options are legal
subroutine validate_inflate_options(inf_flavor, inf_damping, inf_initial_from_restart, &
- inf_sd_initial_from_restart, inf_deterministic, inf_sd_size_change, &
+ inf_sd_initial_from_restart, inf_deterministic, inf_sd_max_change, &
do_prior_inflate, do_posterior_inflate, output_inflation)
integer, intent(in) :: inf_flavor(2)
@@ -366,7 +365,7 @@
logical, intent(inout) :: inf_initial_from_restart(2)
logical, intent(inout) :: inf_sd_initial_from_restart(2)
logical, intent(inout) :: inf_deterministic(2)
-real(r8), intent(in) :: inf_sd_size_change(2)
+real(r8), intent(in) :: inf_sd_max_change(2)
logical, intent(out) :: do_prior_inflate
logical, intent(out) :: do_posterior_inflate
logical, intent(out) :: output_inflation
@@ -428,14 +427,14 @@
inf_damping(2) = 1.0_r8 ! no damping
endif
-! enhanced inflation checks
+! enhanced inflation checks - this is before we set the subflavor in the structure.
if (inf_flavor(1) == 5 .or. inf_flavor(2) == 5) then
- ! check inf_sd_size_change() for valid range
+ ! check inf_sd_max_change() for valid range
do i=1, 2
- if (inf_sd_size_change(i) < 1.0_r8 .or. inf_sd_size_change(i) > 2.0_r8) then
- write(msgstring, *) 'inf_sd_size_change=', inf_sd_size_change(i), ' Must be 1.0 <= X <= 2.0'
+ if (inf_sd_max_change(i) < 1.0_r8 .or. inf_sd_max_change(i) > 2.0_r8) then
+ write(msgstring, *) 'inf_sd_max_change=', inf_sd_max_change(i), ' Must be 1.0 <= X <= 2.0'
More information about the Dart-dev
mailing list