Contact: | Jeff Anderson |
Reviewers: | |
Revision: | $Revision: 1.11 $ |
Release Name: | $Name: post_iceland $ |
Change Date: | $Date: 2006/02/22 23:23:18 $ |
Change history: | see CVS log |
Main program for driving ensemble filter assimilations. This program provides a number of options that are driven from its namelist. The number of assimilation steps to be done are controlled by the input observation sequence and by the time-stepping capabilities of the model being used in the assimilation. This documentation was created for the I-release of DART.
Quality control flags for observations are set in filter. If forward observation operators cannot be computed for any ensemble member, the quality control flag for the observation is incremented by 1000 for the prior and 100000 for a violation when computing posterior diagnostics.
The filter also performs an outlier test on observations which set the quality control flags (see outlier_threshold in namelist).
Optional namelist interface &filter_nml may be read from file input.nml.
types_mod obs_sequence_mod obs_def_mod time_manager_mod utilities_mod assim_model_mod random_seq_mod assim_tools_mod obs_model_mod ensemble_manager_mod adaptive_inflate_mod
We adhere to the F90 standard of starting a namelist with an ampersand '&' and terminating with a slash '/'.
namelist / filter_nml / & async, adv_ens_command, ens_size, start_from_restart, output_restart, obs_sequence_in_name, obs_sequence_out_name, restart_in_file_name, restart_out_file_name, init_time_days, init_time_seconds, output_state_ens_mean, output_state_ens_spread, output_obs_ens_mean, output_obs_ens_spread, num_output_state_members, num_output_obs_members, output_interval, num_groups, outlier_threshold
This namelist is read in a file called input.nml
Contents | Type | Description |
---|---|---|
async | integer | Controls whether models are advanced via a subroutine call or
by writing initial condition files for ensemble members to
disk and having shellscript advance the model. 0 = advance by subroutine. Default 1 = shell advance using shell script piped to filter. 2 = advance by F90 calls to shell to advance model. 3 = model advanced when signalled by a signal file, which is is written out by filter (used for running filter on a compute node separate from the model advances). |
ens_size | integer | Number of ensemble members to be integrated. Default is 20. |
start_from_restart | logical | Should initial ensemble states come from (a) restart file(s). Default is .false. |
output_restart | logical | Should (a) restart file(s) be written out for all ensemble members? Default is .false. |
obs_sequence_file_name | character(len=129) | File name that contains an observation sequence file. Default is 'obs_seq.out'. |
restart_in_file_name | character(len=129) | File name (root) for a file(s) containing restart state for all ensemble members. Multiple files have extensions ".####", where #### is a 4 digit number representing the ensemble member. Default is 'filter_ics'. |
restart_out_file_name | character(len = 129) | File name (root) for output restart file(s). See restart_in_file_name for multiple file information. Default is 'filter_restart'. |
init_time_days | integer | Initial time of model (time is in days and seconds; see time_manager. If init_time_days and init_time_seconds are less than 0, the initial time comes from the time in the restart file. Default value is 0. |
init_time_seconds | integer | Initial time of model in seconds. Default is 0. |
output_state_ens_mean | logical | Output ensemble mean in state diagnostic files. |
output_state_ens_spread | logical | Output ensemble spread in state diagnostic files. |
output_obs_ens_mean | logical | Output ensemble mean in observation output file. |
output_obs_ens_spread | logical | Output ensemble spread in observation output file. |
num_output_state_members | integer | This number of ensemble members is output to the state diagnostics file. If this is less than the total number of ensemble members the first subset is output. Default is 0. |
num_output_obs_members | integer | This number of ensemble members is output to the observation output file. If this is less than the total number of ensemble members the first subset is output. Default is 0. |
output_interval | integer | The frequency with which output state diagnostics are written. Units are in assimilation times. Default value is 1 meaning output is written at every observation time. |
num_groups | integer | Number of groups for hierarchical group filter. Should be a divisor of the ensemble size. Default is 1. |
outlier_threshold | real(r8) | Discard all observations where the prior ensemble mean and the observation value differ by more than this many of the expected standard deviations. A quality control flag value is incremented by 100 if this check is violated for the prior ensemble mean and by 400 it this check is violated for the posterior ensemble mean. Negative value means no quality control of this kind is performed. Default value is -1.0 |
Routine | Message | Comment |
---|---|---|
filter_generate_copy_meta_data | output metadata in filter needs ensemble size < 10000 | Ensemble sizes greater than require modifications to output ensemble code. |
filter_get_obs_info | Did not find observation copy with metadata "observations" | None of the copies of data in the obs_seq file is an "observation" |
Further development to better support observations that can only be computed once is needed.