Skip to content

Latest commit

 

History

History
195 lines (174 loc) · 15.5 KB

perfect_model_obs.rst

File metadata and controls

195 lines (174 loc) · 15.5 KB

program perfect_model_obs

Overview

Main program for creating synthetic observation sequences given a model for use in filter assimilations. Reads in an observation sequence file which has only observation definitions and generates synthetic observation values for an output observation sequence file. The execution of perfect_model_obs is controlled by the input observation sequence file and the model time-stepping capabilities in a manner analogous to that used by the filter program.

Namelist

This namelist is read from the file input.nml. Namelists start with an ampersand '&' and terminate with a slash '/'. Character strings that contain a '/' must be enclosed in quotes to prevent them from prematurely terminating the namelist.

&perfect_model_obs_nml
   single_file_in             = .false.,
   read_input_state_from_file = .false.,
   input_state_files          = "",
   init_time_days             = 0,
   init_time_seconds          = 0,

   single_file_out            = .false.,
   output_state_files         = "",
   write_output_state_to_file = .false.,
   output_interval            = 1,

   async                      = 0,
   adv_ens_command            = "./advance_model.csh",
   tasks_per_model_advance    = 1,

   obs_seq_in_file_name       = "obs_seq.in",
   obs_seq_out_file_name      = "obs_seq.out",
   first_obs_days             = -1,
   first_obs_seconds          = -1,
   last_obs_days              = -1,
   last_obs_seconds           = -1,
   obs_window_days            = -1,
   obs_window_seconds         = -1,

   trace_execution            = .false.,
   output_timestamps          = .false.,
   print_every_nth_obs        = 0,
   output_forward_op_errors   = .false.,
   silence                    = .false.,
/
Item Type Description
read_input_state_from_file logical If false, model_mod must provide the input state.
single_file_in logical Get all states from a single file.
input_state_files character(len=256) dimension(MAX_NUM_DOMS) A list of files, one per domain. Each file must be a text file containing the name of the NetCDF file to open.
write_output_state_to_file logical If false, state is not written out.
single_file_out logical Write all states to a single file.
output_state_files character(len=256) dimension(MAX_NUM_DOMS) A list of files, one per domain. Each file must be a text file containing the names of the NetCDF file to open.
init_time_days integer If negative, don't use. If non-negative, override the initial data time read from restart file.
init_time_seconds integer If negative don't use. If non-negative, override the initial data time read from restart file.
output_interval integer Output state and observation diagnostics every nth assimilation time, n is output_interval.
async integer

Controls method for advancing model:

  • 0 = subroutine call
  • 2 = shell command, single task model
  • 4 = shell command, parallel model
adv_ens_command character(len=129) Command sent to shell if async == 2 or 4.
tasks_per_model_advance integer Number of tasks to use while advancing the model.
obs_seq_in_file_name character(len=256) File name from which to read an observation sequence.
obs_seq_out_file_name character(len=256) File name to which to write output observation sequence.
first_obs_days integer If negative, don't use. If non-negative, ignore any observations before this time.
first_obs_seconds integer If negative, don't use. If non-negative, ignore any observations before this time.
last_obs_days integer If negative, don't use. If non-negative, ignore any observations after this time.
last_obs_seconds integer If negative, don't use. If non-negative, ignore any observations after this time.
obs_window_days integer If negative, don't use. If non-negative, reserved for future use.
obs_window_seconds integer If negative, don't use. If non-negative, reserved for future use.
trace_execution logical True means output very detailed messages about what routines are being called in the main loop. Useful if a job hangs or otherwise doesn't execute as expected.
output_timestamps logical True means output timestamps before and after the model advance and the forward observation computation phases.
print_every_nth_obs integer If negative, don't use. If non-negative, print a message noting the processing of every Nth observation.
output_forward_op_errors logical True means output errors from forward observation operators. This is the 'istatus' error return code from the model interpolate routine. An ascii text file 'forward_op_errors' will be created in the current directory. Each line will contain an observation key number, and the istatus return code.
silence logical True means output almost no runtime messages. Not recommended for general use, but can speed test programs if the execution time becomes dominated by the volume of output.

Modules used

types_mod
utilities_mod
time_manager_mod
obs_sequence_mod
obs_def_mod
obs_model_mod
assim_model_mod
mpi_utilities_mod
random_seq_mod
ensemble_manager_mod

Files

  • observation sequence input file; name comes from obs_seq_in_file_name
  • observation sequence output file; name comes from obs_seq_out_file_name
  • input state vector file; name comes from restart_in_file_name
  • output state vector file; name comes from restart_out_file_name
  • perfect_model_mod.nml in input.nml

References

  • none