[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