[Dart-dev] DART/branches Revision: 11048
dart at ucar.edu
dart at ucar.edu
Wed Feb 8 15:04:59 MST 2017
nancy at ucar.edu
2017-02-08 15:04:59 -0700 (Wed, 08 Feb 2017)
42
change the namelists as agreed on today.
Modified: DART/branches/rma_single_file/filter/filter_mod.f90
===================================================================
--- DART/branches/rma_single_file/filter/filter_mod.f90 2017-02-08 21:42:26 UTC (rev 11047)
+++ DART/branches/rma_single_file/filter/filter_mod.f90 2017-02-08 22:04:59 UTC (rev 11048)
@@ -164,9 +164,15 @@
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'
! Name of files containing a list of {input,output} restart files, 1 file per domain
-character(len=256) :: input_restart_file_list(MAX_NUM_DOMS) = 'null'
-character(len=256) :: output_restart_file_list(MAX_NUM_DOMS) = 'null'
+character(len=256) :: input_state_file_list(MAX_NUM_DOMS) = 'null'
+character(len=256) :: output_state_file_list(MAX_NUM_DOMS) = 'null'
! 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
@@ -175,10 +181,10 @@
logical :: single_file_out = .false. ! all copies written to 1 file
logical :: has_cycling = .false. ! filter will advance the model
! Stages to write. Valid values include:
-! input, preassim, postassim, output
+! input, preassim, postassim, output
character(len=10) :: stages_to_write(4) = (/"output ", "null ", "null ", "null "/)
-!>@todo FIXME output_restarts could be output_members, and
+!>@todo FIXME
!> for preassim and postassim output it might be we should
!> be controlling the writing of individual ensemble members
!> by looking at the num_output_state_member value. 0 means
@@ -185,7 +191,7 @@
!> don't write any members, otherwise it's a count. and for
!> completeness, there could be a count for pre and a count for post.
-logical :: output_restarts = .true.
+logical :: output_members = .true.
logical :: output_mean = .true.
logical :: output_sd = .true.
logical :: write_all_stages_at_end = .false.
@@ -210,7 +216,7 @@
real(r8) :: inf_sd_lower_bound(2) = 0.0_r8
namelist /filter_nml/ async, adv_ens_command, ens_size, tasks_per_model_advance, &
- output_restarts, obs_sequence_in_name, obs_sequence_out_name, &
+ output_members, obs_sequence_in_name, obs_sequence_out_name, &
init_time_days, init_time_seconds, &
first_obs_days, first_obs_seconds, last_obs_days, last_obs_seconds, &
obs_window_days, obs_window_seconds, &
@@ -226,7 +232,8 @@
single_file_in, single_file_out, has_cycling, &
perturb_from_single_instance, perturbation_amplitude, &
stages_to_write, &
- output_restart_file_list, input_restart_file_list, &
+ input_state_files, output_state_files, &
+ output_state_file_list, input_state_file_list, &
output_mean, output_sd, write_all_stages_at_end
@@ -2120,7 +2127,7 @@
MEM_END = MEM_START+num_ens-1
!>@todo revisit if we should be clamping mean copy for file_info_output
-if ( output_restarts ) &
+if ( output_members ) &
call set_io_copy_flag(file_info, MEM_START, MEM_END, WRITE_COPY, num_output_ens=num_ens, clamp_vars=do_clamping)
if ( output_mean ) &
call set_io_copy_flag(file_info, ENS_MEAN, WRITE_COPY, clamp_vars=do_clamping)
@@ -2199,7 +2206,7 @@
! Allocate space for the filename handles
print*, 'initializing filter_input'
call io_filenames_init(file_info_input, num_state_ens_copies, has_cycling, single_file_in, &
- restart_list=input_restart_file_list, &
+ restart_list=input_state_file_list, &
root_name='input')
call io_filenames_init(file_info_preassim, num_state_ens_copies, has_cycling, single_file_out, &
root_name='preassim')
@@ -2206,7 +2213,7 @@
call io_filenames_init(file_info_postassim, num_state_ens_copies, has_cycling, single_file_out, &
root_name='postassim')
call io_filenames_init(file_info_output, num_state_ens_copies, has_cycling, single_file_out, &
- restart_list=output_restart_file_list, &
+ restart_list=output_state_file_list, &
root_name='output', &
check_output_compatibility = .true.)
More information about the Dart-dev
mailing list