Skip to content

ERA5 on-the-fly CMORizer produces scientifically wrong results for some radiation variables #2475

@schlunma

Description

@schlunma

Describe the bug

Following ESMValGroup/ESMValTool#3694 (comment), we (@axel-lauer, @LisaBock and myself) had a more detailed look at the radiation variables produced by the ERA5 on-the-fly CMORizer. Here is a summary of what we found:

rlds (surface_downwelling_longwave_flux_in_air; W m-2)

  • ERA5 variable we currently use: surface_thermal_radiation_downwards (J m-2)
  • ERA5 variable we should use: mean_surface_downward_long_wave_radiation_flux (W m-2)

These two ERA5 variables are basically identical after accounting for the time accumulation. However, we can skip the time accumulation in our code if we use second variable here.

-> Not a big problem, but this would simplify the code

rlns or rls (surface_net_downward_longwave_flux; W m-2)

Note: these variables are identical. The first is our custom version, the second the CMIP6 version.

  • ERA5 variable we currently use for rlns: surface_net_thermal_radiation (J m-2)
  • ERA5 variable we currently use for rls: mean_surface_net_long_wave_radiation_flux (W m-2)
  • ERA5 variable we should use for both: mean_surface_net_long_wave_radiation_flux (W m-2)

These two ERA5 variables are basically identical after accounting for the time accumulation. However, we can skip the time accumulation in our code if we use second variable here.

-> Not a big problem, but this would simplify the code

rlus (surface_upwelling_longwave_flux_in_air; W m-2)

On the surface, outgoing longwave flux is not the same as the net flux (downwards minus upwards)!

-> This is scientifically wrong!

rsds (surface_downwelling_shortwave_flux_in_air; W m-2)

  • ERA5 variable we currently use: surface_solar_radiation_downwards (J m-2)
  • ERA5 variable we should use: mean_surface_downward_short_wave_radiation_flux (W m-2)

These two ERA5 variables are basically identical after accounting for the time accumulation. However, we can skip the time accumulation in our code if we use second variable here.

-> Not a big problem, but this would simplify the code

rsns or rss (surface_net_downward_shortwave_flux; W m-2)

Note: these variables are identical. The first is our custom version, the second the CMIP6 version.

  • ERA5 variable we currently use for both: surface_net_solar_radiation (J m-2)
  • ERA5 variable we should use for both: mean_surface_net_short_wave_radiation_flux (W m-2)

These two ERA5 variables are basically identical after accounting for the time accumulation. However, we can skip the time accumulation in our code if we use second variable here.

-> Not a big problem, but this would simplify the code

rsus (surface_upwelling_shortwave_flux_in_air; W m-2)

On the surface, outgoing shortwave flux is not the same as the net flux (downwards minus upwards)!

-> This is scientifically wrong!

Thus, at least for rlus and rsus, we need to adapt the CMORizer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions