[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