[Dart-dev] DART/branches Revision: 11618

dart at ucar.edu dart at ucar.edu
Wed May 10 11:43:18 MDT 2017


nancy at ucar.edu
2017-05-10 11:43:16 -0600 (Wed, 10 May 2017)
65
bring in sync with the filter_mod.
this worked in simple tests.




Modified: DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90	2017-05-10 15:37:28 UTC (rev 11617)
+++ DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90	2017-05-10 17:43:16 UTC (rev 11618)
@@ -47,7 +47,7 @@
                                   all_copies_to_all_vars, allocate_single_copy, allocate_vars, &
                                   get_single_copy, put_single_copy, deallocate_single_copy,   &
                                   print_ens_handle
-use adaptive_inflate_mod,  only : do_varying_ss_inflate,                                      &
+use adaptive_inflate_mod,  only : do_varying_ss_inflate, mean_from_restart, sd_from_restart,  &
                                   do_single_ss_inflate, inflate_ens, adaptive_inflate_init,   &
                                   adaptive_inflate_type, set_inflation_mean_copy ,            &
                                   log_inflation_info, set_inflation_sd_copy,                  &
@@ -76,7 +76,7 @@
 
 use quality_control_mod,   only : initialize_qc
 
-use single_file_io_mod,  only : finalize_singlefile_output
+use single_file_io_mod,    only : get_num_times_netcdf, write_augmented_state, finalize_singlefile_output
 
 !------------------------------------------------------------------------------
 
@@ -106,39 +106,45 @@
 ! inflation restart files
 logical :: output_inflation = .false.
 
+! Identifier for different copies for diagnostic files
+integer, parameter :: MEM_START     = 1
+integer, parameter :: MEM_END       = 2
+integer, parameter :: ENS_MEAN      = 3
+integer, parameter :: ENS_SD        = 4
+integer, parameter :: PRIORINF_MEAN = 5
+integer, parameter :: PRIORINF_SD   = 6
+integer, parameter :: POSTINF_MEAN  = 7
+integer, parameter :: POSTINF_SD    = 8
+
+! Number of Stage Copies
+integer, parameter :: NUM_SCOPIES    = 8
+
 ! Ensemble copy numbers
-integer :: ENS_MEM_START            = COPY_NOT_PRESENT
-integer :: ENS_MEM_END              = COPY_NOT_PRESENT
-integer :: ENS_MEAN_COPY            = COPY_NOT_PRESENT
-integer :: ENS_SD_COPY              = COPY_NOT_PRESENT
-integer :: PRIOR_INF_COPY           = COPY_NOT_PRESENT
-integer :: PRIOR_INF_SD_COPY        = COPY_NOT_PRESENT
-integer :: POST_INF_COPY            = COPY_NOT_PRESENT
-integer :: POST_INF_SD_COPY         = COPY_NOT_PRESENT
-integer :: INPUT_MEAN               = COPY_NOT_PRESENT
-integer :: INPUT_SD                 = COPY_NOT_PRESENT
-integer :: PREASSIM_MEM_START       = COPY_NOT_PRESENT
-integer :: PREASSIM_MEM_END         = COPY_NOT_PRESENT
-integer :: PREASSIM_MEAN            = COPY_NOT_PRESENT
-integer :: PREASSIM_SD              = COPY_NOT_PRESENT
-integer :: PREASSIM_PRIORINF_MEAN   = COPY_NOT_PRESENT
-integer :: PREASSIM_PRIORINF_SD     = COPY_NOT_PRESENT
-integer :: PREASSIM_POSTINF_MEAN    = COPY_NOT_PRESENT
-integer :: PREASSIM_POSTINF_SD      = COPY_NOT_PRESENT
-integer :: POSTASSIM_MEM_START      = COPY_NOT_PRESENT
-integer :: POSTASSIM_MEM_END        = COPY_NOT_PRESENT
-integer :: POSTASSIM_MEAN           = COPY_NOT_PRESENT
-integer :: POSTASSIM_SD             = COPY_NOT_PRESENT
-integer :: POSTASSIM_PRIORINF_MEAN  = COPY_NOT_PRESENT
-integer :: POSTASSIM_PRIORINF_SD    = COPY_NOT_PRESENT
-integer :: POSTASSIM_POSTINF_MEAN   = COPY_NOT_PRESENT
-integer :: POSTASSIM_POSTINF_SD     = COPY_NOT_PRESENT
-integer :: SPARE_PRIOR_SPREAD       = COPY_NOT_PRESENT
+integer :: ENS_MEM_START                   = COPY_NOT_PRESENT
+integer :: ENS_MEM_END                     = COPY_NOT_PRESENT
+integer :: ENS_MEAN_COPY                   = COPY_NOT_PRESENT
+integer :: ENS_SD_COPY                     = COPY_NOT_PRESENT
+integer :: PRIOR_INF_COPY                  = COPY_NOT_PRESENT
+integer :: PRIOR_INF_SD_COPY               = COPY_NOT_PRESENT
+integer :: POST_INF_COPY                   = COPY_NOT_PRESENT
+integer :: POST_INF_SD_COPY                = COPY_NOT_PRESENT
 
+integer :: INPUT_COPIES( NUM_SCOPIES )     = COPY_NOT_PRESENT
+
+integer ::   CURRENT_COPIES( NUM_SCOPIES ) = COPY_NOT_PRESENT
+integer ::  FORECAST_COPIES( NUM_SCOPIES ) = COPY_NOT_PRESENT
+integer ::  PREASSIM_COPIES( NUM_SCOPIES ) = COPY_NOT_PRESENT
+integer :: POSTASSIM_COPIES( NUM_SCOPIES ) = COPY_NOT_PRESENT
+integer ::  ANALYSIS_COPIES( NUM_SCOPIES ) = COPY_NOT_PRESENT
+
+integer :: SPARE_PRIOR_SPREAD              = COPY_NOT_PRESENT
+
+! Module Global Variables for inflation
 logical :: do_prior_inflate     = .false.
 logical :: do_posterior_inflate = .false.
+type(adaptive_inflate_type) :: prior_inflate, post_inflate
 
-logical :: has_cycling                  = .false. ! filter will advance the model
+logical :: has_cycling          = .false. ! filter will advance the model
 
 !----------------------------------------------------------------
 ! Namelist input with default values
@@ -185,10 +191,13 @@
 ! File options.  Single vs. Multiple.
 logical            :: single_file_in               = .false. ! all copies read  from 1 file
 logical            :: single_file_out              = .false. ! all copies written to 1 file
-! Stages to write.  Valid values include:


More information about the Dart-dev mailing list