bullet  EUMETSAT   bullet  SAFs   bullet   NWP SAF   bullet  Deliverables   bullet  RTTOV  bullet  RTTOV v9  bullet Bugs

RTTOV v9 bugs

There are several known bugs in the version rttov_9_1 of the code which are listed below. Corrections to most of these these have been made with version 9_2 and version 9_3 as indicated below. Further updates will be provided via the RTTOV v9 web page as they become available.

The following bugs with version 9_1 have been fixed with version 9_2 and by updates to coefficient files available on this site. Version 9_2 was emailed to users in July 2008.  

  • The character variables "NameOfRoutine" for DrHook are not always long enough.
  • Problems with integers with no kind on 63-bit machines.
  • In rttov_transmit_9_solar routines, the 'chan' index was used in place of the 'j' variable.
  • The variable coef%ws_nomega is not initialised.
  • Incorrect channel numbering in MTSTAT-1 file (new coeff file available on web site).
  • When RTTOV is compiled with rt8_mode = .true. some members of the raytracing structure are used while being uninitialised. This occurs in rttov_opdpscattir when addclouds is true.
  • Incorrect polarisations in RTTOV v9 SSMIS coef file supplied. New coeff file is available on the RTTOV9 web site.
  • Reading new Microwave coeffs some variables are not properly written by write_ascii or write_binary.
  • Large errors (>1K) for profiles with surface pressures greater than 1013hPa for 43L coeff files.
  • co_mixratio_to_ppmv is 9.67053e+5_JPRB and should be 1.0340699e+6_JPRB.
  • rttov_mieproc_k does not compile but is never used and is not referenced in the Makefile. It should be deleted.
  • Doesn't compile with NAG fortran compiler

Version 9_3 which is now available for distribution is in the tar file available here (0.9MBytes). Note it only contains those routines which have been updated since v9_2.

New features and bugs fixed with version 9_3 are:

- New makefile procedure to compile code which is more flexible. Documentation here.

- The RTTOV v9 optical depth prediction scheme for IASI/AIRS has been updated to improve the jacobians. Note the new LBLRTM coefficient file dated 2/10/08 must be used with this release.

- Adjoint/K bug in FASTEM, which occurs when 10m v-wind < 1E-4 and u-wind > 1E-4. This bug has probably been in FASTEM for a long time.

- The RTTOV_SCATT code has been significantly updated:

a) Adjoint bug in rttov_mieproc.F90, occurring typically in heavy snow profiles, specifically when the extinction is greater than 20. This has been in RTTOV-SCATT for a long time.
b) Other, very rare adjoint bugs and underflow possibilities have been fixed in rttov_mieproc*.F90, in the code added at version 9 of RTTOV-SCATT. These bugs were associated with the extrapolation of Mie Table parameters to very small water contents.
c) Minimum cloud fraction (ccthres = 0.05) and single scattering albedo (min_ssa = 1E-8) thresholds were already in the code but have now been applied more generally and systematically. Below these thresholds, many of the more expensive scattering calculations are now avoided. There are small effects on simulated brightness temperatures in cloudy areas, which are of order 0.01K at channel 19v of SSM/I, rising to order 0.1K for channel 85h.
d) rttov_scatt_setupindex.F90 now can now be used to generate indices for only a subset of channels, if needed. This is implemented with the optional parameter LCHANNEL_SUBSET. 

For WINDSAT users an additional update (not included in RTTOV version 9_3) is available to download here which fixes the bug in the TL/K codes for polarimetric radiometer simulations.

Outstanding bugs with rttov version 9_3 code:

  1. Note that for compilation on the NEC several routines have to be compiled with the Cvsafe flag rather than Chopt. They are rttov_tl, rttov_ad, rttov_alloc_prof and rttov_alloc_predictor. The Makefile provides all of these compiler options.
  2. There are still a few issues with the NAG compiler. Test 26 of the test_rttov9.ksh script fails. However version 93 is much better than version 91 for running with the NAG compiler.
  3. The ISEM sea surface emissivity model has sub-optimal coeffs for channels below 790cm-1 for a few sensors (MODIS, FY-2 3/4, GOES-12 imager, GOES-12/13 sounder and METOP HIRS). The coefficient files have been updated to include optimal ISEM coeffs and are available on the main RTTOV v9 page and here.
  4. The arrays pr_up,pr_down,pr_surf are not deallocated in tstrad which can lead to problems if using this test program. A corrected version (which also allows NOAA-19 tests) is here.

There are a few updates to the RTTOV v9_3 code which relate to fixing the following bugs reported by users:

  1. When all_channels set true in rttov_setup the cloud coefficients cannot be read.
  2. Error in rttov_integrate_ad and _tl indexing of arrays found on NEC.
  3. rttov_eddington_xx.F90 and rttov_layeravg_ad.F90 indexing bugs
  4. Error reading in cloud coefficients when bounds check set. (related to above) + opdpscattir reference profile bug
  5. Remove In rttov_initcoeffs - RT7 section: lines 283-290 for co2 - RT8 section: lines 369-394 for other trace gases
  6. More generic spectral intervals for HIRES sounders.
  7. TL and AD are not consistent when cld_threshold=0.1001
  8. Turning on solar contribution for IASI shortwave channels gave NaN values in BT for channels starting at 5536
  9. Addition of ids for more new sensors on Kalpana, INSAT-3D, FY-3A, COMS, METEORM and GOSAT (note coefficient files are not available for all these sensors – contact us using the Feedback Form if you are interested in any of these sensors)

Some more updates to the RTTOV v9_3 code relating to bugs discovered recently.

  1. Corrected bug in rttov_profaux affecting cloudy IR calculations and in rttov_profaux_k when IR and MW sensors used in same call.
  2. Optimisation of rttov_setpredictors_k on IBM
  3. Indexing bug in rttov_opdpscattir corrected
  4. rttov_checkinput updated so upper cloud fraction limit is 1.0 not 100.0
  5. Call to rttov_opdpscattir in rttov_k changed to be correct variable for nlevels
  6. Bug in Windsat radiance calculations corrected.

The updated modules can be downloaded here. As before these updates should be installed on top of v9_3.

(2011-10-27) A fix to allow NPP instruments to be simulated using RTTOV-93 is available here.

(2012-02-17) Some minor bugfixes to the RTTOV v9_3 code (already made in v10.2).

These are only relevant to you if you do cloudy IR simulations or use solar option for IASI/AIRS SW channels. The bugs only manifest themselves in unusual situations but to be safe you are advised to implement them.

The changes are outlined below:

  1. Fix small bugs and tidy up rttov_refsun*. The TL/AD/K were slightly wrong, but differences are small and only show up with addsolar and addrefrac both TRUE.
  2. In rttov_cldstr* ensure TL/AD/K show sensitivity to cfrac in all appropriate layers:
    • cldstr_threshold defaults to -ve value.
    • modify cfrac by a small amount for all overcast layers and where cfrac is same as layer above.
    • ensure cfrac profile increments are different on consecutive layers in test suite
    • remove "nlayers/2" limit on cloud input profiles.
  3. Remove indexing bugs in rttov_k and rttov_integrate_k

The updated modules can be downloaded as a gzipped tar file here

N.B. These updates should be installed on top of v9_3 + bugfix1 package above.