This paper describes the Radio Occultation Processing Package, ROPP, a product of the EUMETSAT Radio Occultation Meteorology Satellite Application Facility (ROM SAF) developed by a large number of scientists over many years. A brief review of the concepts, functionality and structure of ROPP is followed by more detailed descriptions of its key capabilities. Example results from a full chain of processing using some of the ROPP tools are presented. Some current and prospective uses of ROPP are given. Instructions on how to access the code and its supporting documentation are provided.
Radio occultation (RO) observations are an increasingly important means of
measuring the tropospheric and stratospheric refractivity, and,
indirectly, tropospheric and stratospheric temperature and pressure, and
tropospheric humidity
The Radio Occultation Processing Package, ROPP, is provided by
EUMETSAT's European Organisation for the Exploitation of
Meteorological Satellites
Although the software is aimed at the GRAS GNSS Receiver for
Atmospheric Sounding polar orbiting
satellite operated by EUMETSAT Global Navigation
Satellite System low Earth orbit Constellation Observing System for Meteorology, Ionosphere, and Climate Challenging Minisatellite Payload
ROPP-7.0 modules and their main functionalities.
Prospective users can obtain ROPP from the “ROPP Software” link of the
ROM SAF home page (
This paper describes the status of ROPP-7 (v7.0), which was released in October 2013.
ROPP should not be viewed as a “black box” processor but as a suite of library functions and example applications (written in Fortran 95). The software was originally intended for users who wish to combine RO-specific routines with their own code, but by now ROPP has developed into a package which offers validated standalone tools for format conversion and RO data processing. Whichever way ROPP is used, users are welcome to modify or replace components in ROPP to suit their existing local systems.
Updates to ROPP – which include new science, modifications in response to new data or software dependencies, and bug fixes – are regularly released by the ROM SAF after a period of review and beta-testing by interested parties.
ROPP functionality mirrors most aspects of the ROM SAF operational
data production chain (i.e. the generation of NRT near-real
time
The modules (bold) and tools (italic) within ROPP-7.0. The module at the head of an arrow depends directly on the module at its tail.
ROPP consists of a number of modules, some of which depend on
others. Modules not only contain source code but also build and test
scripts, data, example test results and user documentation. The
ROPP-7.0 modules and their headline functionalities are listed in
Table
Subroutines in the ROPP UTILS module.
EUMETSAT's EPS CGS European Polar System Core Ground
Segment precise orbit determination data as a function of
time Unidata's Network Common Data Form Binary Universal Form for data
Representation ROM SAF level 2 NRT and offline products in netCDF and BUFR; UCAR University Corporation for Atmospheric
Research COSMIC Data Analysis and Archive Center GFZ Helmholtz Centre, Potsdam gridded background field data sets in GRIB2 General
Regularly distributed Information in Binary form, Ed 2
ROPP handles these diverse data formats by converting them to its own well-defined RO data structure (in netCDF).
ROPP also includes sample reference data files and example output test
files, as well as full user documentation. Further details of its
contents and capabilities can be found in the “ROPP Overview Guide” document
at
More detailed descriptions of the ROPP modules, and of the third-party software needed to run them, follow.
The ROPP UTILS module provides height- and date-conversion routines,
and other general purpose library functions such as string handling,
message output, array manipulation and basic mathematical
routines. These are used by other ROPP modules and would probably not
be called directly by users from their own
programs. Table
ROPP is designed for terrestrial applications. If a user wished to develop RO tools appropriate to other planetary atmospheres, the ROPP UTILS module is where the bulk of the changes (to planetary radius, gravity, rotation rate etc.) would need to be made.
The ROPP IO module reads radio occultation data from a variety of sources
(EUMETSAT; BUFR; UCAR; GFZ; and, for background profiles, text and GRIB
files) and converts them to ROPP's internal, netCDF-based format for radio
occultation data. ROPP can also write out such data in BUFR format. Most
of these data-reading tools use data thinning and range-checking routines
which are themselves part of the module. Table
Subroutines and standalone executables in the ROPP IO module.
Figure
The ROPP PP module has been largely adopted from the OCC code developed by
Michael Gorbunov at the Institute for Atmospheric Physics, Moscow.
OCC has been shown to generate refractivities that
are in excellent agreement (less than 0.2 % systematic difference) with
those calculated at UCAR and by forward modelling ECMWF
analyses
ROPP PP provides routines to compute L1 and L2 bending angles from excess
phase data by geometrical optics and wave optics methods. Ionospherically
corrected bending angle profiles are derived by combining L1 and L2
bending angles linearly or in a statistically optimised way.
Climatological bending angle profiles are appended above the corrected
ones, in order that refractivity profiles can be calculated by means of an
inverse Abel transform. Dry temperatures are generated from the
refractivities. ROPP PP also contains code to calculate tropopause heights
from a variety of fields in an RO profile. Table
In more detail, the tools in the
Subroutines and standalone executables in the ROPP PP module.
processes excess phase and amplitude data into refractivity, bending angle and dry temperature profiles, in the following steps.
Read “level 1a” data, i.e. satellite positions, L1 and L2
signal amplitudes and phases. Compute the occultation point and undulation (height of geoid minus
height of ellipsoid). Filter, quality-control and carry out mission-specific processing of
amplitude and phase data Compute bending angles by geometric optics or wave optics (CT2)
Perform “linearly combined” (LC) ionospheric correction
Compute inverse Abel transform of the ionospherically corrected bending
angle profile to generate a refractivity profile. Generate a dry temperature profile corresponding to this refractivity profile. Write results to the RO data structure and thence to the output file.
The results of passing “atmPhs” COSMIC data through some of the tools in the
The results of passing the “atmPhs” COSMIC phase/amplitude data of
Fig.
Figure
is almost the same as
diagnoses tropopause heights, as follows.
Subroutines and standalone executables in the ROPP FM module.
Read the bending angle, refractivity, dry temperature or
background model temperature profile. Compute the covariance transform (COT) Diagnose the tropopause height (TPH) in the appropriate vertical co-ordinate
from the maximum of
the COT or the value of the LRT. Also, within the
tropics, diagnose the “cold point” tropopause height (CPT) for the
temperature-based diagnostics. Diagnose and record a TPH quality control (QC) flag, based on confidence in the
derived TPH. Write the TPH and its QC flag to the RO data structure and thence to the output file.
Figure
The ROPP FM module contains forward operators which calculate
refractivity and bending angle profiles from background model data on
pressure-based, height-based and “hybrid” NWP model vertical
grids. Tangent linear, adjoint and gradient codes of the forward
operators are provided for use in assimilation
processing. Table
In more detail, the tools in the
forward models 1-D background fields into profiles of refractivity and bending angle, in the following steps.
Tropopause heights for the COSMIC occultation of
Figs.
Read level 2b input model data (ECMWF pressure-based or Met Office height-based)
and generate a “state vector” Read or define (if not in input file) the observation levels on which the output
will be calculated. Compute the refractivity profile, Calculate the bending angle profile, If desired, calculate the forward model gradients
The “innovation” curves (i.e. observation minus forward modelled
background) in the top two panels of Fig.
extends the forward modelling of
Read 2-D level 2b input model data (ECMWF pressure-based or Met Office
height-based) and generate a 2-D state vector Read or define (if not in input file) observation levels on which the output
will be calculated. Compute the refractivity section, Calculate the bending angle profile, Compute the 1-D bending angle profile at the centre of the 2-D occultation
slice, using the Abel transform method of
The results of passing COSMIC bending angles and refractivities, and the
colocated/simultaneous ECMWF background fields, through
The ROPP 1DVAR module provides quality control, minimisation and
diagnostic routines for the retrieval of pressure, geopotential
height, temperature and humidity profiles from profiles of
refractivity or bending angle and (colocated, simultaneous) NWP
background profiles, together with error covariance matrices of the
observation and background. Table
Subroutines and standalone executables in the ROPP 1DVAR module.
In more detail, the tools in the
carries out a 1D-Var minimisation of the usual cost function
Read input model data (ECMWF pressure-based or Met Office height-based) and
generate the background state vector Read the background error matrix Read the bending angles on impact parameters to generate the observation vector
Read the bending angle error covariance matrix Carry out quality control based on range-checking, O–B (i.e. Minimise the cost function in Eq. ( Forward model bending angles from solution state vector Generate O–A (i.e. Write to RO data structure and thence to output file.
Figure
Figure
Elements of the ROPP TEST module.
The UCAR and ROPP bending angles are also closer to each other than either is to the forward modelled ECMWF background between 10 and 40 km. Below 10 km the difference between UCAR and ROPP is possibly due to different treatments of the open loop data in this regime. Above 40 km the differences may again be due to different statistical optimisation in the two codes.
does the same as
The O–B and O–A profiles of a retrieval based on the refractivities
generated (automatically) by
The ROPP TEST module comprises a comprehensive suite of test routines,
and associated test data sets, which can be run on a range of compilers
and platforms. This “Test Folder” is one of the main ways of
formally validating the ROPP code prior to public release of a new
major version of the package. Table
Note that the complete
Full implementation of ROPP requires the installation of some standard freely available third-party software packages, principal among which is the netCDF library for general data input and output. Some tools need access to a BUFR library for reading or writing NWP data in that format. Another uses routines in a GRIB library to extract background profiles from a gridded data set. The ROPP documentation clearly indicates which packages are needed by which modules and tools. Naturally, any licence restrictions associated with these packages must be adhered to by ROPP users.
It is important to realise that ROPP is designed to be used both as a research tool and for operational processing.
The following organisations use, or intend shortly to use, ROPP in their operational systems, where its main use is in the assimilation of RO data.
The ROM SAF uses ROPP algorithms to generate operational refractivity profiles
from bending angles provided by EUMETSAT, and code based on ROPP to generate
retrieved temperature and humidity profiles from those refractivities
EUMETSAT uses ROPP for validation and monitoring of GRAS data. The ROPP FM
module is used to forward model ECMWF background data to bending angles, and
the ROPP IO module is used to put GRAS and COSMIC data in the same format.
EUMETSAT will also use ROPP for the generation of BUFR data in the next
operational processor (A. von Engeln, personal communication, 2014). The Naval Research Laboratory (NRL, Monterey,
USA) implemented the ROPP bending angle forward model in the operational
variational assimilation system run by the Fleet Numerical Meteorology and
Oceanography Center (FNMOC) (B. Ruston, personal communication, 2014). The Japanese Meteorological Agency (JMA) use ROPP operationally to assimilate
bending angles (H. Owada, personal communication, 2014). The Korea Institute of Atmospheric Prediction Systems (KIAPS) intend to use
ROPP to assimilate bending angles into their new data assimilation system (H. Kwon, personal communication, 2014). The Centro de Previsão de Tempo e Estudos Climáticos (CPTEC, Brazil)
use ROPP's forward modelling and quality control tools for the assimilation of
refractivities in their research data assimilation system. They hope to start
pre-operational testing soon (L. Sapucci, personal communication, 2014). The Chinese Academy of Sciences (CAS) are considering whether to use ROPP in
the preprocessing of data from the GNOS instrument (W. Bai, personal communication, 2014).
Forward models based on the implementations in ROPP are also used operationally at the Met Office and ECMWF (S. Healy, personal communication, 2014).
Although ROPP is used extensively within the ROM SAF as a research tool, it is beginning to be used more widely, as in the following examples.
Von Engeln et al.
As ROPP is developed, new functionality will be introduced, which, it is hoped, will be of interest to researchers in a range of areas.
Data flow in the “full chain” of processing described in this paper.
Analogous flowcharts would apply if starting from, for example, CHAMP RO data
from GFZ and background data from the Met Office NWP model. For brevity,
This paper has given a brief overview of the Radio Occultation
Processing Package. Its structure and functionality have been
briefly described, and details of its key software tools have been
given. Results have been shown of a “full chain” of ROPP
processing, from COSMIC data files and ECMWF background fields to
ionospherically corrected bending angles and refractivities, to
1D-Var retrievals of temperature and humidity. Example tropopause
height diagnostics of the resulting profiles have also been
shown. Figure
Past, present and future examples of the use of ROPP have been given. The hope is that this paper may encourage other radio occultation scientists to try using ROPP to process their data.
Further information on the use of ROPP within the ROM SAF can be found
from the “Publications” link of the ROM SAF home page (
Contributors to ROPP.
This work was carried out as part of EUMETSAT's Radio Occultation Meteorology Satellite Application Facility (ROM SAF), which is a decentralised operational RO processing centre under EUMETSAT. I. D. Culverwell, D. Offiler and C. P. Burrows are members of the ROM SAF.
We thank UCAR/CDAAC for providing the COSMIC excess phase data and ECMWF for the gridded background fields that were used in the ROPP data processing example.
Many people, inside and outside the ROM SAF, have contributed to the development
of ROPP. The principal authors are listed in Table