[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>&amp;filter_nml :: output_restart </em><br />
+<em>&amp;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
+                       '&amp;filter_nml::restart_out_file_name' 
+                       as the base, with the string '.mean' appended.
+                       Even if '&amp;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