Contact: | Jeff Anderson |
Reviewers: | |
Revision: | $Revision: 1.1 $ |
Change Date: | $Date: 2004/04/26 19:04:54 $ |
Change history: | see CVS log |
This is a standard interface between the DART framework and the standard model_mod wrapper that surrounds a model being incorporated into DART. Many of the interfaces are passed through nearly directly to the model_mod which is documented in detail in the DART views document.
types_mod location_mod time_manager_mod utilities_mod model_mod
Optional namelist interface &lim_obs_seq_nml may be read from file input.nml.
type assim_model_type private real(r8), pointer :: state_vector(:) type(time_type) :: time integer :: model_size integer :: copyID end type assim_model_type
This type is used to represent both the state and time of a state from a model.
Component | Description |
---|---|
state_vector | A one dimensional representation of the model state vector. |
time | The time of the model state. |
model_size | Size of the model state vector. |
copyID | Not used in present implementation. |
Initializes the assim_model class. Must be called before any other assim_model_mod interfaces are used. Also calls the static initialization for the underlying model.
character (len = *) :: FileName character (len = *) :: global_meta_data integer, intent(in) :: copies_of_field_per_time character (len = *), intent(in), dimension(copies_of_field_per_time) :: bob integer :: ncFileID
Initializes a netCDF file for output of state space diagnostics. A handle to the channel on which the file is opened is returned.
FileName | Name of file to open. |
global_meta_data | Global metadata that describes the contents of this file. |
copies_of_field_per_time | Number of copies of data to be written at each time. For instance, these could be the prior ensemble members, prior ensemble mean, prior ensemble spread, posterior ensemble members, posterior spread and mean, etc.. |
meta_data_per_copy | Metadata describing each of the copies. |
ncFileID | Channel number on which file is opened. |
integer :: var
Returns the size of the model state vector. This is a direct pass through to the model_mod.
type(assim_model_type), intent(in) :: assim_model type(time_type), intent(in) :: time type(time_type) :: get_closest_state_time_to
Returns the closest time that a model is capable of advancing a given state to a specified time. For instance, what is the closest time to 12GMT 01 January, 2004 that a model state at 00GMT 01 January, 2004 can be advanced?
assim_model | A model state vector and time that might be advanced. |
time | A time that one would like to get close to with the model. |
var | The closest time to which the model can be advanced is returned. |
We adhere to the F90 standard of starting a namelist with an ampersand '&' and terminating with a slash '/'.
namelist / lim_obs_seq_nml / & ens_size, spin_up_steps, num_steps, output_start, ens_spin_up_steps, & obs_freq, cov_inflate, mean_inflate, restart, add_on, noise_amp
This namelist is read in a file called input.nml
Contents | Type | Description |
---|---|---|
ens_size | integer [default: 0] | The number of "i" and "j" rows processed each time the modular physics is called. |
spin_up_steps | integer | the month |
num_steps | real(r8) | the day-of-month |
output_start | real(r4) | the hour-of-day |
ens_spin_up_steps | real(r4) | the minute |
obs_freq, | real(r4) | the second |
cov_inflate | real(r8) | uniformly monotonic time |
mean_inflate | character(len=80) | the type of calendar being used |
restart | integer | the type of calendar being used |
add_on | integer | the type of calendar being used |
noise_amp | integer | the type of calendar being used |
Routine | Message | Comment |
---|---|---|
xxxx | size of [argument] is incorrect | The size of [argument] must be 1 and 4 |
xxxx | yyyyy | bad judgement What were you thinking? |
type location_type private real(r8) :: x end type location_type