[Dart-dev] [4772] DART/trunk/filter: Add option to output ensemble mean at end in
nancy at ucar.edu
nancy at ucar.edu
Wed Mar 2 13:51:48 MST 2011
Revision: 4772
Author: nancy
Date: 2011-03-02 13:51:48 -0700 (Wed, 02 Mar 2011)
Log Message:
-----------
Add option to output ensemble mean at end in
restart file format. Default is no output.
Modified Paths:
--------------
DART/trunk/filter/filter.dopplerfold.f90
DART/trunk/filter/filter.f90
DART/trunk/filter/filter.html
DART/trunk/filter/filter.nml
-------------- next part --------------
Modified: DART/trunk/filter/filter.dopplerfold.f90
===================================================================
--- DART/trunk/filter/filter.dopplerfold.f90 2011-03-02 00:02:22 UTC (rev 4771)
+++ DART/trunk/filter/filter.dopplerfold.f90 2011-03-02 20:51:48 UTC (rev 4772)
@@ -78,8 +78,9 @@
! Namelist input with default values
!
integer :: async = 0, ens_size = 20
-logical :: start_from_restart = .false.
-logical :: output_restart = .false.
+logical :: start_from_restart = .false.
+logical :: output_restart = .false.
+logical :: output_restart_mean = .false.
integer :: tasks_per_model_advance = 1
! if init_time_days and seconds are negative initial time is 0, 0
! for no restart or comes from restart if restart exists
@@ -137,7 +138,7 @@
restart_in_file_name, restart_out_file_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, &
- num_output_state_members, num_output_obs_members, &
+ num_output_state_members, num_output_obs_members, output_restart_mean, &
output_interval, num_groups, outlier_threshold, trace_execution, &
input_qc_threshold, output_forward_op_errors, output_timestamps, &
inf_flavor, inf_initial_from_restart, inf_sd_initial_from_restart, &
@@ -747,6 +748,10 @@
call trace_message('Before writing state restart files if requested')
if(output_restart) &
call write_ensemble_restart(ens_handle, restart_out_file_name, 1, ens_size)
+if(output_restart_mean) &
+ call write_ensemble_restart(ens_handle, trim(restart_out_file_name)//'.mean', &
+ ENS_MEAN_COPY, ENS_MEAN_COPY, .true.)
+
if(ds) call smoother_write_restart(1, ens_size)
call trace_message('After writing state restart files if requested')
Modified: DART/trunk/filter/filter.f90
===================================================================
--- DART/trunk/filter/filter.f90 2011-03-02 00:02:22 UTC (rev 4771)
+++ DART/trunk/filter/filter.f90 2011-03-02 20:51:48 UTC (rev 4772)
@@ -78,8 +78,9 @@
! Namelist input with default values
!
integer :: async = 0, ens_size = 20
-logical :: start_from_restart = .false.
-logical :: output_restart = .false.
+logical :: start_from_restart = .false.
+logical :: output_restart = .false.
+logical :: output_restart_mean = .false.
integer :: tasks_per_model_advance = 1
! if init_time_days and seconds are negative initial time is 0, 0
! for no restart or comes from restart if restart exists
@@ -137,7 +138,7 @@
restart_in_file_name, restart_out_file_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, &
- num_output_state_members, num_output_obs_members, &
+ num_output_state_members, num_output_obs_members, output_restart_mean, &
output_interval, num_groups, outlier_threshold, trace_execution, &
input_qc_threshold, output_forward_op_errors, output_timestamps, &
inf_flavor, inf_initial_from_restart, inf_sd_initial_from_restart, &
@@ -741,6 +742,10 @@
call trace_message('Before writing state restart files if requested')
if(output_restart) &
call write_ensemble_restart(ens_handle, restart_out_file_name, 1, ens_size)
+if(output_restart_mean) &
+ call write_ensemble_restart(ens_handle, trim(restart_out_file_name)//'.mean', &
+ ENS_MEAN_COPY, ENS_MEAN_COPY, .true.)
+
if(ds) call smoother_write_restart(1, ens_size)
call trace_message('After writing state restart files if requested')
Modified: DART/trunk/filter/filter.html
===================================================================
--- DART/trunk/filter/filter.html 2011-03-02 00:02:22 UTC (rev 4771)
+++ DART/trunk/filter/filter.html 2011-03-02 20:51:48 UTC (rev 4772)
@@ -478,7 +478,7 @@
back down to smaller levels. The damping factor accomplishes this.
<br /> <br />
<dt>
-<em>&filter_nml :: output_restart </em><br />
+<em>&filter_nml :: inf_output_restart </em><br />
valid values: text string
<dd>
The name of the file to write the inflation and
@@ -562,6 +562,7 @@
input_qc_threshold,
outlier_threshold,
output_forward_op_errors,
+ output_restart_mean,
output_timestamps,
output_inflation,
trace_execution,
@@ -761,6 +762,17 @@
ensemble members to diagnose forward operator problems.
Default: .false.</TD></TR>
+<TR><!--contents--><TD valign=top>output_restart_mean</TD>
+ <!-- type --><TD valign=top>logical</TD>
+ <!--descript--><TD>True means output a restart file which contains
+ the ensemble mean. The file name will use the value
+ of the namelist item
+ '&filter_nml::restart_out_file_name'
+ as the base, with the string '.mean' appended.
+ Even if '&ensemble_manager_nml::single_restart_file_out'
+ is .true., the mean data will be written to a separate file.
+ Default: .false.</TD></TR>
+
<TR><!--contents--><TD valign=top>output_timestamps</TD>
<!-- type --><TD valign=top>logical</TD>
<!--descript--><TD>True means output timestamps before and after the model advance
Modified: DART/trunk/filter/filter.nml
===================================================================
--- DART/trunk/filter/filter.nml 2011-03-02 00:02:22 UTC (rev 4771)
+++ DART/trunk/filter/filter.nml 2011-03-02 20:51:48 UTC (rev 4772)
@@ -21,6 +21,7 @@
input_qc_threshold = 3.0,
outlier_threshold = -1.0,
output_forward_op_errors = .false.,
+ output_restart_mean = .false.,
output_timestamps = .false.,
output_inflation = .true.,
trace_execution = .false.,
More information about the Dart-dev
mailing list