PROGRAM dart_to_roms

DART project logo

DART Documentation Main Index
version information for this file:
$Id: dart_to_roms.html 9425 2016-01-06 20:20:44Z thoar $

NAMELIST / MODULES / FILES / REFERENCES / ERRORS / PLANS / TERMS OF USE

Overview

dart_to_roms is the program that updates a ROMS netCDF-format restart file (usually linked to "roms_restart.nc") with the state information contained in a DART output/restart file (e.g. perfect_ics, filter_ics). THIS IS NOT IMPLEMENTD YET: the DART model time is compared to the time in the ROMS restart file and if they do not match the program issues an error message and aborts.

While setting up an experiment or for testing purposes, dart_to_roms may be used on DART files that have a header containing one time stamp followed by the model state by setting input.nml &dart_to_roms_nml:advance_time_present = .false. .

During perfect_model_obs or filter, the &dart_to_roms_nml:advance_time_present must be set to .true. to also read the assim_model_state_ic files that have two timestamps in the header. These files are temporarily generated when DART is used to advance the model. One timestamp is the 'advance_to' time, the other is the 'valid_time' of the model state.

Conditions required for successful execution of dart_to_roms:

dart_to_roms and roms_to_dart are used extensively in the shell script assimilate.csh. Since this program is called repeatedly for every ensemble member, we have found it convenient to link the DART input file to the default input filename (dart_restart). The same thing is true for the ROMS grid and restart filenames - roms_grid.nc and roms_restart.nc, respectively.

Credits

dart_to_roms was originally written by Peng Xiu of the University of Maine and was subsequently modified by the DART team.

[top]

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.

&dart_to_roms_nml
   dart_to_roms_input_file = 'dart.restart'
   print_data_ranges       = .true.
   advance_time_present    = .false.
   time_filename           = 'roms_time'
  /

&model_nml
   analysis_time                = '2011-01-03 00:00:00'
   output_state_vector          = .false.
   assimilation_period_days     = 5
   assimilation_period_seconds  = 0
   model_perturbation_amplitude = 0.2
   hc                           = 250.0
   model_restart_filename       = 'roms_restart.nc'
   grid_definition_filename     = 'roms_grid.nc'
   vert_localization_coord      = 3
   debug     = 1
   variables = 'temp',   'KIND_TEMPERATURE',
               'salt',   'KIND_SALINITY',
               'u',      'KIND_U_CURRENT_COMPONENT',
               'v',      'KIND_V_CURRENT_COMPONENT',
               'zeta',   'KIND_SEA_SURFACE_HEIGHT'
  /



The dart_to_roms namelist items:

Item Type Description
dart_to_roms_input_file character(len=256) The name of the DART file containing the model state to insert into the ROMS restart file.
advance_time_present logical switch to control the ability to read a DART file containing TWO timestamps in the file header. If you are converting a DART initial conditions or restart file this should be .false.; these files have a single timestamp describing the valid time of the model state. If .true., TWO timestamps are expected to be the DART file header. In this case, a text file is created that contains time information that can be conveyed to ROMS to control the desired model advance.
print_data_ranges logical switch to print a summary of the min/max of each variable that will be part of the DART vector.
time_filename character(len=256) The name of the text file containing the time information to specify the next ROMS model advance. This is usually simply roms_time but may be anything, as long as advance_model.csh is consistent.


The &model_nml namelist here is a subset of the full namelist. Only the values used by the converter are listed here. The full description of the model_nml namelist is documented in the ROMS model_mod documentation, but the most important variable for dart_to_roms is repeated here.

Item Type Description
analysis_time character(len=20) At present, this is a way to specify the valid time of the LAST timestep in the ROMS restart file. When the restart file has enough metadata to determine this, the analysis_time should be removed. An alternate way to override the file-derived start time is to use the input.nml &filter_nml: init_time_days, init_time_seconds mechanism.
variables character(len=NF90_MAX_NAME) ::
dimension(160)
The list of variable names in the ROMS restart file to use to create the DART state vector and their corresponding DART kind.

[top]

MODULES USED

assim_model_mod
location_mod
model_mod
null_mpi_utilities_mod
obs_kind_mod
random_seq_mod
time_manager_mod
types_mod
utilities_mod
[top]

FILES Read

FILES Written

[top]

REFERENCES

none

[top]

ERROR CODES and CONDITIONS

none - all error messages come from modules that have their own documentation.

KNOWN BUGS

none

[top]

FUTURE PLANS

  1. Remove the hardcoded analysis_time from the code.

[top]

Terms of Use

DART software - Copyright 2004 - 2013 UCAR.
This open source software is provided by UCAR, "as is",
without charge, subject to all terms of use at
http://www.image.ucar.edu/DAReS/DART/DART_download

Contact: DART core group
Revision: $Revision: 9425 $
Source: $URL: https://svn-dares-dart.cgd.ucar.edu/DART/releases/classic/models/ROMS/dart_to_roms.html $
Change Date: $Date: 2016-01-06 13:20:44 -0700 (Wed, 06 Jan 2016) $
Change history:  try "svn log" or "svn diff"