create_ocean_obs
is responsible for converting an interim ASCII file of ocean observations into a DART observation
sequence file. The interim ASCII file is a simple 'whitespace separated' table where each row is an observation and each
column is specific information about the observation.
column number | quantity | description |
---|---|---|
1 | longitude (in degrees) | longitude of the observation |
2 | latitude (in degrees) | latitude of the observation |
3 | depth (in meters) | depth of the observation |
4 | observation value | such as it is ... |
5 | vertical coordinate flag | There is a pathological difference between a surface observation and an observation with a depth of zero. See location_mod:location_type for a full explanation. The short explanation is that surface == -1, and depth == 3 |
6 | observation variance | good luck here ... |
7 | Quality Control flag | integer value passed through to DART. There is a namelist parameter for
filter to ignore any observation with a QC value <=
input_qc_threshold |
8 | obs_kind_name | a character string that must match a string in :doc:`../../observations/forward_operators/obs_def_ocean_mod` |
9 | startDate_1 | the year-month-date of the observation (YYYYMMDD format) |
10 | startDate_2 | the hour-minute-second of the observation (HHMMSS format) |
For example:
273.7500 21.3500 -2.5018 28.0441 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 21.4500 -2.5018 28.1524 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 21.5500 -2.5018 28.0808 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 21.6500 -2.5018 28.0143 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 21.7500 -2.5018 28.0242 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 21.8500 -2.5018 28.0160 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 21.9500 -2.5018 28.0077 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 22.0500 -2.5018 28.3399 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 22.1500 -2.5018 27.8852 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 273.7500 22.2500 -2.5018 27.8145 3 0.0400 1 GLIDER_TEMPERATURE 19960101 10000 ...
It is always possible to combine observation sequence files with the program :doc:`../../assimilation_code/programs/obs_sequence_tool/obs_sequence_tool`, so it was simply convenient to generate a separate file for each observation platform and type ('GLIDER' and 'TEMPERATURE'), however it is by no means required.
Some of these modules use modules ... those modules and namelists are not discussed here. probably should be ...
types_mod utilities_mod dart_MITocean_mod obs_sequence_mod
This program has a namelist of its own, and some of the underlying modules require namelists. To avoid duplication and, possibly, some inconsistency in the documentation; only a list of the required namelists is provided - with a hyperlink to the full documentation for each namelist.
Namelist | Primary Purpose |
---|---|
utilities_nml | set the termination level and file name for the run-time log |
obs_sequence_nml | write binary or ASCII observation sequence files |
We adhere to the F90 standard of starting a namelist with an ampersand '&' and terminating with a slash '/'. Consider yourself forewarned that filenames that contain a '/' must be enclosed in quotes to prevent them from prematurely terminating the namelist.
namelist /create_ocean_obs_nml/ year, month, day, & tot_days, max_num, fname, output_name, lon1, lon2, lat1, lat2
This namelist is read in a file called input.nml
Contents | Type | Description |
---|---|---|
year | integer [default: 1996] | The first year of interest. |
month | integer [default: 1] | The first month of interest. |
day | integer [default: 1] | The first day of interest. |
tot_days | integer [default: 31] | Stop processing after this many days. |
max_num | integer [default: 800000] | The maximum number of observations to read/write. |
fname | character(len=129) [default: 'raw_ocean_obs.txt'] | The name of the interim ASCII file of observations. |
output_name | character(len=129) [default: 'raw_ocean_obs_seq.out'] | The output file name. |
lon1 | real [default: 0.0] | The leftmost longitude of interest. |
lon2 | real [default: 360.0] | The rightmost longitude of interest. |
lat1 | real [default: -90.0] | The most southern latitude of interest. |
lat2 | real [default: 90.0] | The most northern latitude of interest. |
- input namelist file:
input.nml
- input data file: as listed by
input.nml
&create_ocean_obs_nml:fname
- output data file: as listed by
input.nml
&create_ocean_obs_nml:output_name
- none