[Dart-dev] DART/branches Revision: 12215

dart at ucar.edu dart at ucar.edu
Tue Dec 19 09:59:51 MST 2017


nancy at ucar.edu
2017-12-19 09:59:50 -0700 (Tue, 19 Dec 2017)
45
code changes for moha's enhanced inflation.




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 16:51:33 UTC (rev 12214)
+++ DART/branches/enhanced_inflation/assimilation_code/modules/assimilation/adaptive_inflate_mod.f90	2017-12-19 16:59:50 UTC (rev 12215)
@@ -26,7 +26,7 @@
 implicit none
 private
 
-public :: update_inflation,                                          do_obs_inflate,     &
+public :: update_inflation,           do_enhanced_inflate,           do_obs_inflate,     &
           do_varying_ss_inflate,      do_single_ss_inflate,          inflate_ens,        &
           adaptive_inflate_init,      adaptive_inflate_type,                             &
                                       deterministic_inflate,         solve_quadratic,    &
@@ -35,7 +35,7 @@
           output_inf_restart,         get_inflate_mean,              get_inflate_sd,     &
           get_is_prior,               get_is_posterior,              do_ss_inflate,      &
           set_inflation_mean_copy,    set_inflation_sd_copy,         get_inflation_mean_copy, &
-          get_inflation_sd_copy,      do_rtps_inflate
+          get_inflation_sd_copy,      do_rtps_inflate,               validate_inflate_options
 
 
 ! version controlled file description for error handling, do not edit
@@ -61,6 +61,7 @@
    logical               :: output_restart = .false.
    logical               :: deterministic
    real(r8)              :: inflate, sd, sd_lower_bound, inf_lower_bound, inf_upper_bound
+   real(r8)              :: inf_sd_size_change
    ! Include a random sequence type in case non-deterministic inflation is used
    type(random_seq_type) :: ran_seq
    logical               :: allow_missing_in_clm
@@ -73,6 +74,11 @@
    integer               :: input_sd_copy   = -1
 end type adaptive_inflate_type
 
+! 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
 
@@ -84,7 +90,8 @@
 contains
 
 !------------------------------------------------------------------
-! Accessor functions for adaptive inflate type
+!> Accessor functions for adaptive inflate type
+
 function mean_from_restart(inflation)
 
 type(adaptive_inflate_type) :: inflation
@@ -117,6 +124,7 @@
 end function
 
 !------------------------------------------------------------------
+
 function get_inflate_mean(inflation)
 
 type(adaptive_inflate_type) :: inflation
@@ -127,6 +135,7 @@
 end function
 
 !------------------------------------------------------------------
+
 function get_inflate_sd(inflation)
 
 type(adaptive_inflate_type) :: inflation
@@ -137,6 +146,7 @@
 end function
 
 !------------------------------------------------------------------
+
 function get_is_prior(inflation)
 
 type(adaptive_inflate_type) :: inflation
@@ -147,6 +157,7 @@
 end function get_is_prior
 
 !------------------------------------------------------------------
+
 function get_is_posterior(inflation)
 
 type(adaptive_inflate_type) :: inflation
@@ -157,13 +168,14 @@
 end function get_is_posterior
 
 !------------------------------------------------------------------
-! Check for state_space_inflation
+
 function do_ss_inflate(inflation)
 
 type(adaptive_inflate_type), intent(in) :: inflation
 logical :: do_ss_inflate
 
-if (do_single_ss_inflate(inflation) .or. do_varying_ss_inflate(inflation) .or. &
+if (do_single_ss_inflate(inflation)  .or. &
+    do_varying_ss_inflate(inflation) .or. &
     do_rtps_inflate(inflation)) then
    do_ss_inflate = .true.
 else


More information about the Dart-dev mailing list