MODULE obs_def_ocean_mod

DART project logo

Jump to DART Documentation Main Index
version information for this file:
$Id: obs_def_ocean_mod.html 6380 2013-08-05 23:47:11Z nancy $

INTERFACES / NAMELIST / FILES / REFERENCES / ERRORS / PLANS / PRIVATE COMPONENTS / TERMS OF USE

Overview

DART includes a flexible, powerful, and slightly complicated mechanism for incorporating new types of observations. The obs_def_ocean_mod module being described here is used by the program preprocess to insert appropriate definitions of ocean observations into the DEFAULT_obs_def_mod.f90 template and generate the source files obs_def_mod.f90 and obs_kind_mod.f90 that are used by filter and other DART programs.

There are no code segments in this module, only definitions of observation types that map specific observation types to generic observation kinds. DART contains logic that supports a limited inheritance of attributes. If you need to interpolate observations of 'FLOAT_TEMPERATURE', DART will check to see if a specific routine is provided for that type, if none exists, the interpolation routine for the generic 'KIND_TEMPERATURE' will be used; that way one interpolation routine may support many observation types.

The mandatory header line is followed by lines that have the observation type name (an all caps Fortran 90 identifier) and their associated generic kind identifier from the obs_kind module. If there is no special processing needed for an observation type, and no additional data needed beyond the standard contents of an observation, then a third word on the line, the COMMON_CODE will instruct the preprocess program to automatically generate all stubs and code needed for this type. For observation types needing any special code or additional data, this word should not be specified and the user must supply the code manually. One of the future extensions of this module will be to support acoustic tomographic observations, which will necessitate specific support routines.

ocean variable types and their corresponding kinds

! BEGIN DART PREPROCESS KIND LIST
!SALINITY,                      KIND_SALINITY,              COMMON_CODE
!TEMPERATURE,                   KIND_TEMPERATURE,           COMMON_CODE
!U_CURRENT_COMPONENT,           KIND_U_CURRENT_COMPONENT,   COMMON_CODE
!V_CURRENT_COMPONENT,           KIND_V_CURRENT_COMPONENT,   COMMON_CODE
!SEA_SURFACE_HEIGHT,            KIND_SEA_SURFACE_HEIGHT,    COMMON_CODE
!ARGO_U_CURRENT_COMPONENT,      KIND_U_CURRENT_COMPONENT,   COMMON_CODE
!ARGO_V_CURRENT_COMPONENT,      KIND_V_CURRENT_COMPONENT,   COMMON_CODE
!ARGO_SALINITY,                 KIND_SALINITY,              COMMON_CODE
!ARGO_TEMPERATURE,              KIND_TEMPERATURE,           COMMON_CODE
!ADCP_U_CURRENT_COMPONENT,      KIND_U_CURRENT_COMPONENT,   COMMON_CODE
!ADCP_V_CURRENT_COMPONENT,      KIND_V_CURRENT_COMPONENT,   COMMON_CODE
!ADCP_SALINITY,                 KIND_SALINITY,              COMMON_CODE
!ADCP_TEMPERATURE,              KIND_TEMPERATURE,           COMMON_CODE
!FLOAT_SALINITY,                KIND_SALINITY,              COMMON_CODE
!FLOAT_TEMPERATURE,             KIND_TEMPERATURE,           COMMON_CODE
!DRIFTER_U_CURRENT_COMPONENT,   KIND_U_CURRENT_COMPONENT,   COMMON_CODE
!DRIFTER_V_CURRENT_COMPONENT,   KIND_V_CURRENT_COMPONENT,   COMMON_CODE
!DRIFTER_SALINITY,              KIND_SALINITY,              COMMON_CODE
!DRIFTER_TEMPERATURE,           KIND_TEMPERATURE,           COMMON_CODE
!GLIDER_U_CURRENT_COMPONENT,    KIND_U_CURRENT_COMPONENT,   COMMON_CODE
!GLIDER_V_CURRENT_COMPONENT,    KIND_V_CURRENT_COMPONENT,   COMMON_CODE
!GLIDER_SALINITY,               KIND_SALINITY,              COMMON_CODE
!GLIDER_TEMPERATURE,            KIND_TEMPERATURE,           COMMON_CODE
!MOORING_U_CURRENT_COMPONENT,   KIND_U_CURRENT_COMPONENT,   COMMON_CODE
!MOORING_V_CURRENT_COMPONENT,   KIND_V_CURRENT_COMPONENT,   COMMON_CODE
!MOORING_SALINITY,              KIND_SALINITY,              COMMON_CODE
!MOORING_TEMPERATURE,           KIND_TEMPERATURE,           COMMON_CODE
!SATELLITE_MICROWAVE_SST,       KIND_TEMPERATURE,           COMMON_CODE
!SATELLITE_INFRARED_SST,        KIND_TEMPERATURE,           COMMON_CODE
!SATELLITE_SSH,                 KIND_SEA_SURFACE_HEIGHT,    COMMON_CODE
!SATELLITE_SSS,                 KIND_SALINITY,              COMMON_CODE
! END DART PREPROCESS KIND LIST

New observation types may be added to this list with no loss of generality. Supporting the observations and actually assimilating them are somewhat different and is controlled by the input.nml&obs_kind_nml assimilate_these_obs_types variable. This provides the flexibility to have an observation sequence file containing many different observation types and being able to selectively choose what types will be assimilated.

[top]

OTHER MODULES USED

none

[top]

PUBLIC INTERFACES

none

[top]

PUBLIC COMPONENTS

none

[top]

FILES

none

[top]

REFERENCES

none

[top]

ERROR CODES and CONDITIONS

none

KNOWN BUGS

none at this time

[top]

FUTURE PLANS

[top]

PRIVATE COMPONENTS

N/A

[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: Tim Hoar
Revision: $Revision: 6380 $
Source: $URL: https://svn-dares-dart.cgd.ucar.edu/DART/releases/Lanai/obs_def/obs_def_ocean_mod.html $
Change Date: $Date: 2013-08-05 17:47:11 -0600 (Mon, 05 Aug 2013) $
Change history:  try "svn log" or "svn diff"