[Dart-dev] DART/branches Revision: 11477

dart at ucar.edu dart at ucar.edu
Thu Apr 13 11:32:55 MDT 2017


hendric at ucar.edu
2017-04-13 11:32:54 -0600 (Thu, 13 Apr 2017)
198
filter compiles and outputs the new forecast and analysis file.
for single file input if you request to output the mean filter
will insert the mean and sd into the input file. still needs
testing.




Modified: DART/branches/rma_output_files/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_output_files/assimilation_code/modules/assimilation/filter_mod.f90	2017-04-13 16:10:51 UTC (rev 11476)
+++ DART/branches/rma_output_files/assimilation_code/modules/assimilation/filter_mod.f90	2017-04-13 17:32:54 UTC (rev 11477)
@@ -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,                  &
@@ -70,13 +70,13 @@
                                   set_member_file_metadata, &
                                   set_io_copy_flag, check_file_info_variable_shape, &
                                   query_copy_present, COPY_NOT_PRESENT, &
-                                  READ_COPY, WRITE_COPY, READ_WRITE_COPY
+                                  READ_COPY, WRITE_COPY, READ_WRITE_COPY, file_info_dump
 
 use forward_operator_mod,  only : get_obs_ens_distrib_state
 
 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,35 +106,37 @@
 ! inflation restart files
 logical :: output_inflation = .false.
 
+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
+
+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
+
 logical :: do_prior_inflate     = .false.
 logical :: do_posterior_inflate = .false.
 
@@ -187,7 +189,9 @@
 logical            :: single_file_out              = .false. ! all copies written to 1 file
 ! Stages to write.  Valid values include:
 !    input, preassim, postassim, output
-character(len=10)  :: stages_to_write(4) = (/"output    ", "null      ", "null      ", "null      "/)
+character(len=10)  :: stages_to_write(NUM_SCOPIES) = (/"output    ", "null      ", "null      ", &
+                                                       "null      ", "null      ", "null      ", &


More information about the Dart-dev mailing list