RTTOV v11 Code Updates and Known Issues

RTTOV v11 Code Updates

A new Python package pyrttov has been created which provides an object-oriented Python interface to RTTOV. This is very similar to the C++ classes provided with RTTOV v11.3. The package is available here in this file: rttov_wrapper_pyrttov_20191219.tar.gz. This should be extracted in the top level of your RTTOV v11.3 installation. The wrapper documentation in docs/rttov-wrapper.pdf has been updated. The pyrttov package is in wrapper/pyrttov/ and an example Python script wrapper/pyrttov_example.py has been included. The update also includes the two bug fixes in the wrapper Fortran source code (see the list of known bugs below) so you should recompile RTTOV after extracting this update to implement these bug fixes.

Known bugs and issues

Please report any bugs you find in RTTOV using the NWP SAF Feedback Form. The official release package for the latest version doesn’t contain the bug fixes or updates listed here under the latest version so you should apply any fixes provided below. Bugs in earlier versions have been fixed in the latest version.

Show/Hide the table of known bugs in RTTOV v11.3.

DateType/StatusDescription
18/08/2020Bug - fixedAffects: reading HDF5 coefficient files containing NLTE coefficients when RTTOV is compiled against HDF5 v1.12.x. There is no impact when compiling against HDF5 v1.8.x or v1.10.x. (RTTOV v12.x, v11.x).

Issue: the bug causes run-time failures when reading coefficient files containing NLTE coefficients.

Fix: download this source file, rename it to rttov_hdf_mod.F90, copy it to the src/hdf/ directory, and recompile RTTOV (a clean compilation is not necessary). This fix only applies to RTTOV v11.3. Fixes for v11.1 and v11.2 can be found in the tables below.
19/12/2019Bug - fixedAffects: RTTOV wrapper when running simulations simultaneously for multiple instruments.

Issue: the code will fail due to some variables being shared between instances in the main subroutines of the wrapper interface.

Fix: download this file to the src/wrapper/ directory, and recompile RTTOV (a clean compilation is not necessary).
NB This fix also includes the wrapper bug fix dated 21/01/2016 below.
16/08/2017Bugs - fixedArray bounds errors occur with the BRDF atlas if the latitude is set to exactly -90 degrees or if the longitude is set to exactly 180 degrees.

In addition the ocean and coastal water reflectance spectra from the USGS Digital Spectral Library have been incorrectly sampled in wavenumber space leading to incorrect fixed reflectances for sea-surface profiles being returned by the BRDF atlas. The "old" (incorrect) and "new" (corrected) spectra can be seen in the following plots (note that the precision of the data has also been increased in the corrected spectra):
- ocean water spectrum
- coastal water spectrum

A code fix is available: copy this updated source file to src/brdf_atlas/ and recompile RTTOV.
16/08/2017Bug - fixedAn array bounds error occurs with the UWIRemis atlas if the latitude is set to exactly -90 degrees.

A code fix is available: copy this updated source file to src/emis_atlas/ and recompile RTTOV.
21/04/2017Bug - fixedIn the C++ wrapper there is a problem with some namespace specifications which cause compilation failures with newer versions of gcc/g++.

Code fixes are available: download the files Rttov.h and RttovSafe.h, replace the existing files in the top-level wrapper/ directory, and recompile.
10/02/2017Bug - fixedThere is an error in the code which converts gas units when the input profile uses kg/kg. This only affects simulations for which profiles(:)%gas_units=1 (i.e. the input profiles are in kg/kg) and where variable trace gases other than water vapour are input to RTTOV. MW simulations and IR simulations where all optional trace gases are omitted are not affected. For affected simulations, the impact generally increases as the water vapour content increases. The impact is generally of the order of a few hundredths of a Kelvin, but for extremely moist profiles the impact can be 0.1-0.2K.

A code fix is available: download the file rttov113_bugfix_20170210_gas_units_kgkg.tar, untar it from within the src/ directory and recompile RTTOV.
16/11/2016Bug - fixedThere is a memory leak when reading ASCII PC-RTTOV coefficient files.

A code fix is available: download the file rttov_read_ascii_pccoef.F90 to src/coef_io/ and recompile RTTOV.
17/08/2016Bug - fixedThere is a memory leak when running "clear-sky" MW simulations with cloud liquid water profiles (i.e. for opts%rt_mw%clw_data = .true.).

A code fix is available: download the file rttov_alloc_traj.F90 to src/main/ and recompile RTTOV.
19/04/2016Bug - fixedThere is a bug in the calculation of the dnclear radiances (downwelling radiance at the surface) in the secondary radiance structure when the do_lambertian option is enabled.

A code fix is available: download the file rttov_integrate.F90 to src/main/ and recompile RTTOV.
02/02/2016Bug - fixedThere is a bug which prevents the GUI running with matplotlib v1.5. This can be fixed by downloading (right click, "Save As...") wxmpl.python, rename it to "wxmpl.py" and replace the existing version in gui/rview/.
21/01/2016Bug - fixedThe Python/C++ wrapper will seg fault when initialising the BRDF atlas for use with multiple instruments. There is no problem if initialising the atlas for a specific instrument.

A code fix is available: download this file to the src/wrapper/ directory and recompile RTTOV.
NB This fix also includes the wrapper bug fix dated 19/12/2019 above.
30/09/2013Bug - outstandingThere is a problem with the aggregate particle shape parameterisation (profile%ish = 2) when used with any of the four parameterisations for ice particle effective diameter (profile%idg = 1-4) or when the effective diameter is input explicitly in profile%icede. This results in erroneous simulations in the range 10-12 microns. This does not affect the hexagonal particle shape (profile%ish = 1) or the new Baran ice particle scheme. More details are available in this forum post which illustrates the impact on simulated BTs.

Users are recommended to use the Baran ice particle scheme for cloudy IR simulations. RTTOV v11.2 introduced an updated parameterisation which is selected by setting profile%ish = 4. It is planned to retire the older ice parameterisations based on effective diameter in RTTOV v12.

Show/Hide the table of known bugs in RTTOV v11.2 which have been fixed in RTTOV v11.3. Bugs listed above may also affect v11.2.

Show/Hide the table of known bugs in RTTOV v11.1 which have been fixed in RTTOV v11.2. Bugs listed above may also affect v11.1.