RadSim Code Updates
Updates and bug fixes to the Radiance Simulator for all versions since v2.0 are published here.
Known bugs and issues
Please report any bugs you find in RadSim using the NWP SAF Feedback Form. The official release packages do not contain the bug fixes or updates listed here so you should apply any fixes provided below. Bugs in earlier versions have been fixed in later versions unless otherwise stated.
Date | Type/Status | Description |
02/09/2024 | Bug - fixed | Affects: the radsim_geo_obs.py script (v3.x).
Issue: the script does not handle longitudes correctly, so for some "geo obs data files" (notably the himawari file provided on the RadSim website) it fails with an error reporting non-monotonic longitudes.
Fix: download this updated version of the script (applies to RadSim 3.x). |
05/07/2024 | Bug - fixed | Affects: flagging of bad emissivities and BRDFs from the emissivity/BRDF atlases (v3.x, v2.2).
Issue: for emissivities, RadSim sets flags for bad emissivities even when no thermal channels are being simulated. For BRDFs, an indexing error means that bad BRDFs may be incorrectly flagged if running with a subset of instrument channels (there is no issue if all sensor channels are simulated).
Fix:
For v3.2 and v3.1 download this updated source file to src/code/main/ and recompile RadSim.
For v3.0 download this updated source file to src/code/main/ and recompile RadSim.
For v2.2 download this updated source file to src/code/main/ and recompile RadSim.
|
Date | Type/Status | Description |
24/11/2022 | Bug - fixed | Affects: ECMWF data in netCDF format (v3.1, v3.0, v2.2).
Issue: RadSim checks that the data are on a regular lat/lon grid. In some circumstances (identified when using data on a 0.1 degree lat/lon grid) rounding errors cause RadSim to falsely report an irregular grid and to stop running because the tolerance used for this check is exceeded. If RadSim is running fine for you then there is no problem.
Fix:
For v3.1 download this updated source file to src/code/main/ and recompile RadSim.
For v3.0 download this updated source file to src/code/main/ and recompile RadSim.
For v2.2 download this updated source file to src/code/main/ and recompile RadSim.
|
Date | Type/Status | Description |
09/12/2021 | Bug - fixed | Affects: footprint simulations (v3.0 only).
Issue: when observations lie exactly on grid points, the footprint calculation can sometimes result in numerical errors due to rounding.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
03/12/2021 | Bug - fixed | Affects: the interpreter specified in the radsim_geo_obs.py script (v3.0 only).
Issue: the script contains a typo which means it cannot be executed directly. There is no problem if it is executed using:
$ python radsim_geo_obs.py
Fix: download this updated version of the script.
NB This update now includes the fix described above under RadSim v3.2 dated 02/09/2024. |
Date | Type/Status | Description |
09/03/2021 | Bug - fixed | Affects: simulations using regular lat/lon model grids for non-global domains where observations lie on the latitude boundary. Affects RadSim v2.x.
Issue: the interpolation code does not correctly handle observations that lie exactly on the latitude boundary of the model domain.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. This applies to RadSim v2.1 and v2.2. Please contact the Help desk if you require a fix for RadSim v2.0. |
07/10/2020 | Bug - fixed | Affects: output of qcrttov quality flags. Affects RadSim 2.x.
Issue: the qcinfo(:) array was being written instead of the qcrttov(:) array to the qcrttov dataset in the output netCDF file.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. This applies to RadSim v2.1 and v2.2.
For RadSim v2.0 use this source file instead. |
07/10/2020 | Bug - fixed | Affects: nearest neighbour interpolation used when ingesting DWD ICON fields with an observation datafile (v2.2 only).
Issue: the method for determining nearest neighbours was not strictly correct, so that although it returned one of the neighbouring grid points to each observation, it didn't always return strictly the nearest.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. Note this update fixes the bug below dated 29/01/2020 and supersedes the bug below dated 03/01/2020. |
29/01/2020 | Bug - fixed | Affects: interpolation when running RadSim using model data with a rotated pole and an observation datafile when the model longitudes include negative values. Affects all RadSim v2.x versions.
Issue: the interpolation does not account for negative longitudes in the model grid with rotated poles with the result that RTTOV is run with incorrect profile data and typically reports run-time failures.
This bug has been fixed: download the update for the nearest-neighbour bug above dated 07/10/2020. The fix above applies to all RadSim 2.x versions. |
03/01/2020 | Bug - fixed/superseded | NB This bug no longer applies: the fix above dated 07/10/2020 replaces the nearest neighbour calculation with a more accurate method. It is recommended to apply the above fix.
Affects: nearest neighbour interpolation used when ingesting DWD ICON fields with an observation datafile (v2.2 only).
Issue: for observations with longitudes close to 0/360 degrees, the interpolation may not always yield the closest grid point to the observation location due to the code not checking the minimal longitudinal distance between points. |
Date | Type/Status | Description |
01/08/2018 | Bug - fixed | Affects: nprofs_per_call configuration namelist variable (v2.1 only).
Issue: this variable is not recognised in the configuration namelist so cannot be modified.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
Date | Type/Status | Description |
31/05/2018 | Bugs - fixed | Affects:
a) IR cloud simulations using ECMWF GRIB data or NWP SAF profile datasets.
b) IR cloud simulations using UM data.
c) all simulations where the first profile being simulated lies outside the domain of the model data.
Issue:
a) The ECMWF cloud liquid and ice concentrations are grid box average values. For IR cloud simulations RTTOV requires the cloud concentration of the cloud fraction of the layer. This means the model concentrations should be divided by the cloud fraction before being passed to RTTOV. This was not being done meaning that cloud concentrations were usually too small.
b) The UM cloud concentrations are also grid box average values, and the UM provides individual cloud fractions for liquid and ice cloud in addition to the total (area) cloud fraction. Previously RadSim would divide the liquid and ice concentrations by the liquid and ice cloud fractions respectively if present, otherwise it would pass the cloud concentrations directly to RTTOV (which is similar to the situation above for ECMWF data). RTTOV only allows for a single cloud fraction per layer and all cloud present in the layer is assumed to be well-mixed within this fraction. Therefore it is expected that in practice the liquid and ice cloud concentrations should both be divided by the area cloud fraction instead of the individual cloud fractions. This affects only profiles with mixed phase cloud layers, and it can have a substantial impact on simulated radiances. The updated code replicates the current behaviour by using the separate liquid and ice cloud fractions if they are present, but if they are absent the area cloud fraction is used instead. It is recommended not to include separate liquid and ice cloud fraction fields in UM data when running RadSim.
c) If the first profile being simulated lies outside the domain of the model data, all simulated output may be wrong.
Fix: these bugs and all bugs listed below can be fixed by downloading this tar ball, extracting it in src/code/main/ and recompiling RadSim. |
11/05/2018 | All bug fixes to date | You can apply all bug fixes/updates listed below by downloading this tar ball, extracting it in src/code/main/ and recompiling RadSim. |
11/05/2018 | Bug - fixed | Affects: ingest of UM fieldsfiles
Issue: array bounds violation related to 10m wind fields.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
06/11/2017 | Bug - fixed | Affects: all simulations using an observation data file with very small negative longitudes (magnitude of order 1E-5, or equivalently longitudes just less than 360 degrees).
Issue: the code which interpolates the longitude incorrectly generates an out-of-bounds array index for longitudes very slightly less than 0 (or 360) degrees due to single precision rounding which results in no simulated data being produced for those profiles.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
30/08/2017 | Bug - fixed | Affects: MW scattering simulations (run_scatt true) with UM PP files
Issue: the rain field is omitted from simulations if the use_totalice option is true.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
24/08/2017 | Bug - fixed | Affects: potentially all simulations
Issue: some model data can include negative values for gas concentrations, typically in the top-most level, which cause failures if passed into RTTOV. These are now clipped to a suitable small positive value which avoids such failures and has negligible impact on simulated radiances.
These bugs have been fixed: download this updated source file to src/code/main/ and recompile RadSim. NB This update includes the fix below dated 08/08/2017 affecting the same source file (radsim_model_to_rttov.f90). |
11/08/2017 | Bug - fixed | Affects: Jacobian calculations which are processed with multiple calls to rttov_k (i.e. in multiple batches)
Issue: The RTTOV Jacobian variables are not initialised within the batch loop which means that Jacobians for subsequent batches are accumulated together in the output.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim.
NB This update also modifies the behaviour related to the emissivity atlases: previously if the emissivity atlas did not return valid emissivities for a given profile, that profile was omitted from the simulations. Now those profiles are processed and the fixed emissivities are used as in the case where use_emiss_atlas is set to false. |
09/08/2017 | Bug - fixed | Affects: MW scattering simulations (run_scatt true)
Issue: An array bounds error which causes run-time failures with some compilers. Does not affect output if RadSim runs without failure.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
08/08/2017 | Bugs - fixed | Affects:
1. IR scattering simulations (ir_addclouds true)
2. All MW simulations
Issues:
1 (a) The units for cloud liquid and ice water concentration are wrong for IR scattering simulations (values are converted to g/m^3 for input to RTTOV, but RTTOV is configured to expect units of kg/kg). Profiles are now passed to RTTOV in kg/kg.
1 (b) When RadSim calls RTTOV multiple times (i.e. multiple batches) for IR scattering simulations the cloud liquid water data from previous profiles is left in the profiles structure due to a missing re-initialisation.
2. The RTTOV surface salinity profile variable is set to 0%o. This has been updated to a fixed value of 35%o which is more representative for ocean water. This affects the sea surface emissivity calculated by RTTOV for MW simulations.
These bugs have been fixed: download this updated source file to src/code/main/ and recompile RadSim. NB This update includes the fix above dated 24/08/2017. |
08/08/2017 | Bug - fixed | Affects: MW scattering simulations (run_scatt true)
Issue: The RTTOV options which are applicable to RTTOV-SCATT are not set and so always take their default values in RTTOV-SCATT simulations. This includes the user configurable options fastem_version (6 by default) and verbose (true by default, the setting in RadSim depends on the output_mode variable), and the RadSim hard-coded option apply_reg_limits (false by default, set to true in RadSim).
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim. |
08/08/2017 | Bugs - fixed | Affects:
1. All scattering simulations using ECMWF GRIB data
2. All simulations using ECMWF GRIB data where profiles are interpolated to observation locations
Issues:
1. Some cloud model fields (cloud fraction, rain and snow) are not ingested correctly causing scattering simulations to fail.
2. The sea-ice missing data values are not handled correctly in the profile interpolation causing some profiles to be given the incorrect surface type.
These bugs have been fixed: download the following source files to src/code/main/ and recompile RadSim:
radsim_read_grib.f90
radsim_grib_paramid_name.f90
radsim_interp.f90
NB This update also enables the optional inclusion of ozone profile data (param ID 203) with ECMWF GRIB files for IR simulations. |
07/08/2017 | Bug - fixed | Affects: NWP SAF 60L dataset
Issue: The dataset contains some zero water vapour values which cause failures in RTTOV if they are not reset to a suitable minimum. The reduced 80 profile set contains "missing data" values for latitude, longitude, elevation, sea-ice and the land/sea mask for the min/max/mean profiles (profiles 78-80) which should be reset to nominal values.
This bug has been fixed: download this updated source file to src/code/main/ and recompile RadSim.
NB This update also enables the optional inclusion of ozone profile data with this dataset. |