Radiance simulator Updates


Version 2.2 Release Note

Radiance simulator v2.2 was released in September 2019. The following lists contain details of the changes made between versions 2.1 and 2.2.


  • The radiative transfer model used for simulations has been updated to RTTOV v12.3 and new features of this model have been exploited (see below). RadSim v2.2 cannot be used with RTTOV v12.2.
  • RadSim enables simulations for all solar-affected channels supported by RTTOV. This includes clear-sky and scattering simulations, the latter using all RTTOV solvers including the MFASIS fast visible cloud parameterisation and use of the RTTOV land surface BRDF atlas.
  • RadSim enables clear-sky simulations using the PC-RTTOV and HTFRTC Principal Components-based models supported by RTTOV.
  • Ingest of fields from the DWD ICON model in GRIB format is now supported.
  • Ingest of ECMWF fields in netCDF format is now supported.
  • It is now possible to modify the background CO2 profile used in the simulations.
  • If the ECMWF fields total/low/medium/high cloud cover are present in input GRIB or netCDF files, they are read in, interpolated to observation locations, and written out with the other profile data.
  • New options in RTTOV v12.3 can be specified in the configuration namelist: the lambertian_fixed_angle option, the MW clw_cloud_top parameter, and the RTTOV-SCATT cc_threshold parameter.
  • The default value of the cldstr_threshold parameter is now 1E-5 which can speed up visible/IR cloudy simulations with only a very small impact on radiances. The default value of the ircloud_idg parameter is now 2 (the recommended value).
  • New configuration namelist variables have been added to allow all RTTOV coefficient filenames to be specified explicitly if desired, instead of relying on filenames to be constructed from the platform, satid and inst variables.
  • A new namelist option ircloud_clw_scheme allows the RTTOV cloud liquid water optical properties to be selected for visible/IR cloud simulations (currently for DWD ICON GRIB model data only).
  • A new configuration namelist variable write_latlon has been added to output only the profile latitude/longitude data which can be useful for plotting simulated radiances without writing out the full profiles.
  • Promote some internal variables/calculations to 64-bit reals to improve consistency in outputs between compilers, particularly for Jacobians. This changes outputs slightly compared to RadSim v2.1.
  • A new Python script radsim_plot_example.py is included which can be used to plot simulated radiances.

Bug fixes:
The bugs in RadSim v2.1 listed here are fixed in v2.2.

Version 2.1 Release Note (selected changes)

Radiance simulator v2.1 was released in June 2018. The following lists contain details of the changes made between versions 2.0 and 2.1.


  • The radiative transfer model used for simulations has been updated to RTTOV v12.2 and new features of this model have been exploited (see below). RadSim v2.1 cannot be used with RTTOV v12.1.
  • The code allows temporal interpolation of fields at multiple forecast times with ECMWF GRIB files and UM fieldsfiles.
  • Additional columns for satellite azimuth angle and observation date/time (satazim, year, month, day, hour, minute) have been defined as optional inputs in version 2 of the observation data file.
  • Ozone has been enabled as an option with ECMWF GRIB files and the NWP SAF 60L profile dataset.
  • When an emissivity atlas has no data for a given location, RadSim sets the qflag_emiss flag and runs the simulation using fixed emissivity values for the profile. Previously such profiles were omitted from the simulations.
  • The RTTOV parallel interfaces may be used which enable multi-threaded simulations using OpenMP. The number of threads to use is specified by the new nthreads variable in the configuration namelist and the number of profiles passed to RTTOV per call can be specified using the new nprofs_per_call variable in the configuration namelist.
  • More RTTOV options (including new options in RTTOV v12.2) can be specified in the RadSim configuration namelist. New options are: addrefrac, do_lambertian, apply_band_correction, do_nlte_correction, cldstr_threshold, apply_reg_limits, reg_limit_extrap, interp_mode, fix_hgpl, lradiance, mw_clw_scheme, mw_clw_calc_on_coef_lev.
  • The output file format is now netCDF-4 classic using internal compression for array variables.
  • RadSim may be compiled against either the ecCodes library or the GRIB API library. The former has now superseded the latter.
  • A new Python script radsim_run.py has been created which can be used to generate a configuration namelist and then optionally run RadSim from the command line.

Bug fixes:
The bugs in RadSim v2.0 listed here are fixed in v2.1.

Version 2.0 Release Note (selected changes)

Radiance simulator v2.0 was released in May 2017. The following lists contain details of the changes made between versions 1.1 and 2.0.


  • The radiative transfer model used for simulations has been updated to RTTOV-12 (the latest available release). RTTOV-11 is no longer supported.
  • The code has been restructured to allow batching of input profiles. This enables the simulation of enormous datasets (of order 10 million data points or more) in a single run which was previously not possible on standard hardware. The maximum number of profiles allowed in a batch is provided as a tuneable parameter. (Aside: this batching is separate from the existing batching of simulations according to output array size which may be tuned separately).
  • Maximum output array size (value in MB) has been added as a tuneable parameter.
  • Interpolation of land-sea-mask and orography has been added. In the former case the result is a land fraction. Interpolated values can be used in lieu of providing them in the observation meta-data input file but file values remain the default.
  • A new coastline flag has been added to indicate when the assumed surface type does not match the land fraction obtained from model LSM interpolation. The level of mismatch required to trigger the flag can be changed by the user.
  • The method of horizontal interpolation has been optimised better for use with multiple fields.
  • Interpolation of non-uniform rectangular grids has been added. Such grids are sometimes used in high-resolution limited area models.
  • Calculation of relative humidity from specific humidity has been added. This is not used in the simulations but is useful to have when model profiles are written to the output file.
  • Use of both types of emissivity atlas for each of IR and MW has been enabled.
  • The default sea-ice fraction threshold for the classification of sea/sea-ice has been changed from 0.5 to 0.2. This is now in line with the Met Office operational classification of sea-ice for satellite data assimilation and also the definition used by The National Snow and Ice Data Center (NSDIC).
  • A new version of the observation meta-data file has been introduced. This allows more flexibility in the provision of input data with a user-specified number and ordering of columns.
  • Additional columns (viewid, scanline, scanpos) have been defined as possible inputs in version 2 of the observation data file.

Bug fixes:

  • Fixed calculation of the first (lowest) pressure level when using Met Office UM PP files. This is technically a bug in the generation of PP files, not the Radiance Simulator. The difference is minor and should have no significant effect on results.
  • Fixed calculation of the last (highest) pressure level when using Met Office UM PP files. This has no significant effect on results.
  • Fixed reading of Met Office UM fieldsfiles for numbers of grid points that are not multiples of 1024, which is the default ‘sector’ size for such files. This affects limited area models, and does not affect UM global model datasets currently in use.
  • Fixed problem interpolating for data points on the global model grid that lie between the 0 degree meridian and the first model grid point where previously the wrong grid cell was selected.
  • Fixed problem reading in 32-bit fieldsfiles where a temporary storage array was of insufficient size to hold a surface wind field which has more elements than there are grid points. This would previously have caused the run to fail.

Version 1.1 Release Note (selected changes)

Radiance simulator v1.1 was released in October 2015. The following lists contain details of the changes made between versions 1.0 and 1.1.


  • RTTOV coefficient files in HDF5 format can now be used instead of the ASCII ‘.dat’ files.
    This is essential for simulating very new instruments as coefficient files will be generated only in HDF5 format in future.
  • Met Office Fieldsfiles containing 32-bit values (standard files contain 64-bit values) can now be used.
    This can help save disk space. There is no discernible difference in accuracy when using these files.
  • Simulations involving very large numbers of profiles and channels are automatically split into batches to reduce the memory overhead, avoiding the situation on some systems whereby the virtual memory limit was exceeded for heavily loaded runs.
  • netCDF error handling has been improved so that all errors originating from writing to netCDF files are reported explicitly. This is mainly of use in testing and should not affect users in most cases.
  • Interpolation of other input fields added (surface height and trace gas concentrations but note that trace gases are not used in simulations).
  • Option to change default zenith angle for model grid runs.

Bug Fixes:

  • Fixed assignment of half-level pressures in RTTOV profiles for models where the number of half-levels is greater than the number of levels.
  • This caused runtime failures and therefore does not affect the results of completed runs.
  • Fixed output of half-level pressures (applies only when write_profiles option is switched on).
    This was disabled in the previous version.
  • Fixed incorrect netCDF storage data type for some floating point fields.
    Fields produced with version 1.0 can still be used however.
  • Fixed problem with uninitialised pointers causing runs from Met Office Fieldsfiles to fail on some systems. This does not affect results of completed runs.

  • Fixed problem where the number of half-level pressure values was not initialised correctly before pressure level calculation for Met Office Fieldsfiles. This caused runtime failures on some systems but did not affect results of completed runs.
  • Changed fieldsfile input to read and discard unwanted fields instead of using file positioning, in order
    to avoid a compiler bug with the pgfortran compiler whereby the file was positioned incorrectly on some READ statements.
  • Fixed assignment of cloud fields in RTTOV profiles for IR scattering simulations when the input profiles have a negative z-axis.