1D-Var Overview

Current version: v2.0, January 2022


The NWPSAF 1D-Var package is a stand-alone system for doing 1D-Var retrievals with user-provided files of observation and background error covariances. The package is configured to support ATOVS, AIRS, IASI, ATMS, CrIS and SSMIS sensors, and is capable of supporting any nadir-sounding sensor for which a suitable radiative transfer model is available. The code is written in Fortran-90, using many of the intrinsic features. It is tailored to be flexible for research purposes and for portability rather than being streamlined for operational running within an NWP model. Users who require the code to run efficiently within their NWP system should expect to do some optimisation of the code for their platform.

Version 1.0 contained the merged capabilities of the previously developed Met Office, ECMWF and SSMIS 1D-Var schemes.

Version 1.1.1 (released in June 2018) builds on this by adding the following functionality:

  • Support for RTTOV v12 , enabling the most up-to-date RT capabilities (RTTOV 11.3 is also supported but older versions have now been removed).
  • Ability to use PC-RTTOV to simulate PC scores from hyperspectral sounders, for experimental use with PC score observations
  • Support for calculation and use in the 1D-Var of radiance observations as well as brightness temperatures and PC scores.
  • Enhanced output diagnostics including quality flagging in Profile.QC and optional production of Averaging Kernels and Jacobians.
  • New utility code provided to simulate observation files, in either radiance, brightness temperature, or PC Score units, for IASI. This code can be adapted for other instruments. Simulated noise is added to the observations based on provision of a diagonal R-matrix file in the standard format required for 1D-Var.
  • New utility code provided to convert observation input files from brightness temperature or radiance to principal component scores, and back again.

Version 1.2 (released in June 2020) adds further functionality:

  • Support for the retrieval of surface emissivity from a subset of IASI channels simultaneously with atmospheric profile information. This retrieval uses principal components of the emissivity and a background from an atlas.

Version 2.0 (released January 2022):

  • Adds support for RTTOV v13.
  • Adds new capability for performing microwave liquid water retrievals using RTTOV-SCATT.
  • This update also includes several bug fixes (see the Release Note for details).

Note that for Version 1.1, the code and the directory structure were tidied up. The makefile was rewritten so that you no longer have to comment out lines, and there are no “dummy” routines. All compiled files are now in the build directory. Test scripts have been provided that run the 1D-Var in a subdirectory to remove clutter.

Note that the NWPSAF 1D-Var no longer has a Graphical User Interface.
Users wanting to use a GUI to explore the behaviour of 1D-Var should use the GUI that is included in RTTOV, which includes basic 1D-Var functionality.


The NWPSAF 1DVar scheme is a stand-alone retrieval package for nadir-viewing passive sounding satellite instruments. The code contains the merged capabilities of the previously supported Met Office, SSMIS and ECMWF 1DVar schemes.It is reasonably flexible and may be used with many different sounding instruments with minimal changes.

The philosophy behind the development of this code is to produce a flexible, stand-alone 1DVar retrieval system that may be used for a wide variety of situations. It is anticipated that users may want to remove routines that are superfluous to their requirements (or
alternatively simply take selected routines) before using this code.


The aim of this deliverable is to produce retrieved atmospheric states based on the following inputs:

  • Observed satellite radiances from the ATOVS, ATMS, AIRS, IASI, CrIS or SSMIS instruments and their associated error covariances.
  • Background (a priori) atmospheric state (one per observation or one for all observations) and associated error covariances.

Also required is a user supplied radiative transfer model. RTTOV (versions 11.3 and 12) is supported by default.
Older versions of RTTOV and other radiative transfer models are not supported.

The atmospheric parameters that may be retrieved are limited by whether a suitable background and error covariances are available and whether the parameter is supported by the radiative transfer model.


When running the NWPSAF_1DVar executable the following inputs (all compatible with the instrument of choice) are required:

  • Radiative transfer coefficients file
  • Background error covariance matrix
  • Observation error covariance matrix
  • Channel choice file
  • Retrieval namelist
  • Control namelist
  • Observations file
  • Background profile

and the following outputs are generated:

  • Minimisation logs
  • Retrieved brightness temperatures for each channel in the channel choice file
  • Retrieved profiles of temperature, humidity and ozone on the number of levels defined by the background profile
  • Simple file with basic QC information for each observation
  • Analysis error covariance matrix (optional)
  • Propagated measurement error covariance matrix (optional)
  • Background Jacobian (optional)
  • Retrieved Profile Jacobian (optional)
  • Retrieved Profile Averaging Kernel (optional)

In addition the user can optionally supply other inputs such as an emissivity atlas. The user can also optionally request other outputs such as; Retrieved cloud top pressure, cloud fraction, surface wind speed and cloud liquid water profiles.

For more information on customising the inputs and outputs see the user guide and package readme file.

System requirements


The majority of the code is written in Fortran 90. The code is capable of compilation on a range of Fortran 90 and 95 compilers. A list of compilers which the code has been tested with can be found in the Portability document.

Shell scripts are based on the Korn shell.

Supported platforms

The NWPSAF 1D-Var code has been installed and is currently supported on Linux/UNIX-based platforms. The code is sufficiently standard that it should work on other platforms with only minor code or configuration changes.


The performance of the 1DVar scheme is limited by the radiative transfer model. Therefore, the number of iterations required for minimisation determines the CPU time.

Obtaining 1D-Var

To become a licensed user of the NWPSAF 1D-Var code v1.2, please register with the NWP SAF site and access the downloads via your user area.

Please note that the radiative transfer model RTTOV is required for most applications of the NWPSAF 1D-Var. RTTOV is available from the NWP SAF, also free of charge, under a separate licence.


1D-Var-related Publications