[Dart-dev] DART/branches Revision: 11841

dart at ucar.edu dart at ucar.edu
Thu Jul 20 17:07:59 MDT 2017


hendric at ucar.edu
2017-07-20 17:07:59 -0600 (Thu, 20 Jul 2017)
455

Merging in the branch rma_array_nml.  Now you can specify
your restart files as either a list of files, which is
convinient for perfect_model_obs, model_mod_check and
others that only need to read in one ensemble member, or
you can give a file list text file that contains a list
of the restart files you would like to read in.  This
works for the 'single file io' case, multiple domains
and either a combination of lists and array file 
specification.




Index: DART/branches/rma_trunk
===================================================================
--- DART/branches/rma_trunk	2017-07-20 22:56:51 UTC (rev 11840)
+++ DART/branches/rma_trunk	2017-07-20 23:07:59 UTC (rev 11841)

Property changes on: DART/branches/rma_trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -6,6 +6,7 ##
 /DART/branches/gitm_lanai:6565-6646
 /DART/branches/helen:5989-6155
 /DART/branches/model_mod_changes:11403-11604
+/DART/branches/rma_array_nml:11814-11839
 /DART/branches/rma_cam_fv:9552-9728
 /DART/branches/rma_cf_conventions:9727-10086
 /DART/branches/rma_cice:10649-10852
## -45,4 +46,4 ##
 /DART/branches/rma_types_kinds:11202-11236
 /DART/branches/rma_updates_nancy:11615-11676
 /DART/branches/trunk_with_cam_style:9467-9534
-/DART/trunk:6300-9550
\ No newline at end of property
+/DART/trunk:6306-9550
\ No newline at end of property
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-07-20 22:56:51 UTC (rev 11840)
+++ DART/branches/rma_trunk/assimilation_code/modules/assimilation/filter_mod.dopplerfold.f90	2017-07-20 23:07:59 UTC (rev 11841)
@@ -7,7 +7,7 @@
 module filter_mod
 
 !------------------------------------------------------------------------------
-use types_mod,             only : r8, i8, missing_r8, metadatalength, MAX_NUM_DOMS
+use types_mod,             only : r8, i8, missing_r8, metadatalength, MAX_NUM_DOMS, MAX_FILES
 use obs_sequence_mod,      only : read_obs_seq, obs_type, obs_sequence_type,                  &
                                   get_obs_from_key, set_copy_meta_data, get_copy_meta_data,   &
                                   get_obs_def, get_time_range_keys, set_obs_values, set_obs,  &
@@ -30,7 +30,8 @@
 use utilities_mod,         only : register_module,  error_handler, E_ERR, E_MSG, E_DBG,       &
                                   logfileunit, nmlfileunit, timestamp,  &
                                   do_output, find_namelist_in_file, check_namelist_read,      &
-                                  open_file, close_file, do_nml_file, do_nml_term, to_upper
+                                  open_file, close_file, do_nml_file, do_nml_term, to_upper,  &
+                                  set_multiple_filename_lists, find_textfile_dims
 
 use assim_model_mod,       only : static_init_assim_model, get_model_size,                    &
                                   end_assim_model,  pert_model_copies
@@ -76,8 +77,8 @@
 
 use io_filenames_mod,      only : io_filenames_init, file_info_type, &
                                   combine_file_info, set_file_metadata,  &
-                                  set_member_file_metadata, &
-                                  set_io_copy_flag, check_file_info_variable_shape, &
+                                  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
 
@@ -84,6 +85,8 @@
 use direct_netcdf_mod,     only : finalize_single_file_io, write_augmented_state, &
                                   nc_get_num_times
 
+use state_structure_mod,   only : get_num_domains
+
 use forward_operator_mod,  only : get_obs_ens_distrib_state
 
 use quality_control_mod,   only : initialize_qc
@@ -186,21 +189,19 @@
 logical  :: distributed_state = .true. ! Default to do state complete forward operators.
 
 ! IO options
-! Names of files given explicitly in namelist
-integer, parameter :: MAXFILES = 200
 !>@todo FIXME - how does this work for multiple domains?  ens1d1, ens2d1, ... ens1d2 or
 !> ens1d1 ens1d2, ens1d1 ens2d2, etc   i like the latter better.
-character(len=256) ::  input_state_files(MAXFILES) = 'null' 
-character(len=256) :: output_state_files(MAXFILES) = 'null' 
+character(len=256) ::  input_state_files(MAX_FILES) = '' 
+character(len=256) :: output_state_files(MAX_FILES) = '' 
 ! Name of files containing a list of {input,output} restart files, 1 file per domain
-character(len=256) ::  input_state_file_list(MAX_NUM_DOMS) = 'null' 
-character(len=256) :: output_state_file_list(MAX_NUM_DOMS) = 'null'
+character(len=256) ::  input_state_file_list(MAX_NUM_DOMS) = '' 
+character(len=256) :: output_state_file_list(MAX_NUM_DOMS) = ''
 ! Read in a single file and perturb this to create an ensemble
-logical            :: perturb_from_single_instance = .false.
-real(r8)           :: perturbation_amplitude       = 0.2_r8
+logical  :: perturb_from_single_instance = .false.
+real(r8) :: perturbation_amplitude       = 0.2_r8
 ! 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
+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 are:
 ! multi-file:    input, forecast, preassim, postassim, analysis, output
@@ -229,16 +230,16 @@
 ! Inflation namelist entries follow, first entry for prior, second for posterior
 ! inf_flavor is 0:none, 1:obs space, 2: varying state space, 3: fixed state_space,
 ! 4 is rtps (relax to prior spread)


More information about the Dart-dev mailing list