Authors: D. Lea, M. Martin, K. Mogensen, A. Vidard, A. Weaver, A. Ryan, ...
Observation and model comparison (OBS)
The observation and model comparison code (OBS) reads in observation files (profile
temperature and salinity, sea surface temperature, sea level anomaly, sea ice concentration,
and velocity) and calculates an interpolated model equivalent value at the observation
location and nearest model timestep. The resulting data are saved in a “feedback” file (or
files). The code was originally developed for use with the NEMOVAR data assimilation code, but
can be used for validation or verification of model or any other data assimilation system.
The OBS code is called from nemogcm.F90.F90 for model initialisation and to calculate the model
equivalent values for observations on the 0th timestep. The code is then called again after
each timestep from step.F90.F90. To build with the OBS code active key_ diaobs must be
For all data types a 2D horizontal interpolator is needed to interpolate the model fields to
the observation location. For in situ profiles, a 1D vertical interpolator is needed in
addition to provide model fields at the observation depths. Currently this only works in
z-level model configurations, but is being developed to work with a generalised vertical
coordinate system. Temperature data from moored buoys (TAO, TRITON, PIRATA) in the
ENACT/ENSEMBLES data-base are available as daily averaged quantities. For this type of
observation the observation operator will compare such observations to the model temperature
fields averaged over one day. The relevant observation type may be specified in the namelist
using endailyavtypes. Otherwise the model value from the nearest timestep to the
observation time is used.
The code is controlled by the namelist nam_obs. See the following sections for more
details on setting up the namelist.
Section 12.1 introduces a test example of the observation operator code including
where to obtain data and how to setup the namelist. Section 12.2 introduces some
more technical details of the different observation types used and also shows a more complete
namelist. Section 12.3 introduces some of the theoretical aspects of the observation
operator including interpolation methods and running on multiple processors.
Section 12.4 describes the offline observation operator code.
Section 12.5 introduces some utilities to help working with the files
produced by the OBS code.
Gurvan Madec and the NEMO Team
NEMO European Consortium2017-02-17