Modes and scripts for running filter and perfect_model_obs

The filter can be run in 3 different modes, depending on the method used to advance the forecast model. The mode is specified by the variable "async" in the namelist file input.nml. What follows applies to the filter as well as to the perfect_model_obs programs. The variable "async" is of integer type and can have the value 0, 1, or 2.

async = 0
---------

This mode should and can only be used with low-order models, which will be advanced by calls to a subroutine within filter. The filter is run in synchronous mode and is launched by executing

"filter"

async = 1
---------

In this asynchronous mode, both the c-shell script and the fortran program "filter" run simultaneously. It can be used by low-order or large models. The filter is launched by executing

"async_filter.csh | filter"

The c-shell script waits for a file called "async_may_go" that is created by the filter. Once the filter has created the "async_may_go" file, the filter waits for async_filter.csh to finish. The script async_filter.csh executes another c-shell script called "advance_ens.csh", which advances the model and is described below. Then async_filter.csh removes the file "async_may_go", and signals that the filter can proceed (remember that the output of async_filter.csh is piped into the filter). Finally, async_filter.csh does a recursive call to itself to proceed to the next observation time in the obs_seq.out file.

"async_filter.csh" resides in DART/shell_scripts.

async = 2
---------

This mode is intended to advance large models in a multiprocessor environment. In this mode, the filter is executed with

"filter"

and the filter executes a system call which advances the model ensemble. The system call is specified in the file input.nml, in the namelists filter_nml and perfect_model_obs_nml, variable "adv_ens_command". The command can be a direct call to the c-shell script "advance_ens.csh", or some other suitable command such as "qsub -l nodes=8 advance_ens.csh" in a batch submission environment.

The c-shell script "advance_ens.csh" (resides in DART/shell_scripts). --------------------------------------------------------------------

The same c-shell script "advance_ens.csh" can be used with any of the available models in DART but remains platform-specific. This script should be adapted to the machine architecture and environment when DART is installed. Currently it can be called directly, in which case the computing resources (i.e. number and names of the processors) to use are specified in the script and the job runs interactively. Or the advance_ens.csh can be passed to qsub, which will handle the allocation of computing resources, and the job will run in batch mode. Other batch submission commands will require more extensive changes to advance_ens.csh. Model specific funtions should not be performed in this script, if possible.

The c-shell script "advance_model.csh" (resides in DART/models/"model"/shell_scripts). --------------------------------------------------------------------

For each ensemble member to be integrated forward in time, "advance_ens.csh" calls another c-shell script called "advance_model.csh". There should be a different "advance_model.csh" for each different model. Presently, "advance_model.csh" is available for the Lorenz-96 model in DART/models/lorenz_96/shell_scripts (this copy can also be used with the other available low-order models). The contents of advance_model.csh will depend entirely on the model being used; its I/O requirements, pre-existing scripts, etc. (as well as the shell environment). Platform specific functions should not be performed in this script, if possible.

Webpage complaints; contact raeder@ncar.ucar.edu