Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support ERA5 forcing #242

Open
8 tasks
aekiss opened this issue Jul 19, 2021 · 129 comments
Open
8 tasks

Support ERA5 forcing #242

aekiss opened this issue Jul 19, 2021 · 129 comments

Comments

@aekiss
Copy link
Contributor

aekiss commented Jul 19, 2021

This issue is a continuation of an email discussion on making configurations that support ERA5 forcing, e.g. to assess the impact of the forcing dataset on the sea ice simulation.

ERA5 is available on NCI at /g/data/rt52: https://opus.nci.org.au/display/ERA5/ERA5+Community+Home
[edit: use /g/data/ik11/inputs/ERA5 instead]

  • the hourly single-level data is probably what we want. This appears to be from the "reanalysis" or "HRES" dataset (as opposed to the lower-resolution "ensemble" or "EDA" dataset).
  • It's 1-hourly 0.25° data (higher resolution than JRA55-do, which is 3-hourly 0.5625°), though this has been interpolated from the reanalysis grid, which is 0.28125° (31km) for HRES.
  • It's currently only from 1979 onwards but data from 1950 will be available soon (cf. 1958 for JRA55-do).
  • JRA55-do has a lot of adjustments relative to JRA55 to reduce drift. ERA5 doesn't have these, so we'd expect greater drift in long climate simulations. But it may be superior to JRA55-do for shorter timescales.
  • for more detail see the ECMWF ERA5 documentation and download page

Replacing JRA55-do with ERA5 would require

  • new grid remapping weights files (see here)
  • making sure that we have physically equivalent fields (height and variable)
  • discussion on whether ERA5 fields should be used for initial conditions, e.g. for SST or sea ice concentration (SIC)

and changes to

  • config.yaml
  • atmosphere/forcing.json
  • namcouple

and possibly more, e.g.

  • coming up with liquid runoff data (unless we'd be happy with JRA55-do for that)
  • parameter changes for bulk formulas or whatnot.

Our configurations currently support only JRA55-do forcing: https://github.com/COSIMA/access-om2/tree/master/control
but we have some old, unsupported CORE configs here that may be useful as a reference for the changes required
https://github.com/COSIMA/1deg_core_nyf
https://github.com/COSIMA/025deg_core2_nyf
https://github.com/COSIMA/025deg_core_nyf

@aekiss
Copy link
Contributor Author

aekiss commented Jul 19, 2021

Note that JRA55-do has velocity components, temperature and humidity all at 10m height.
Humidity and temperature are shifted from 2m in JRA55 to 10m in JRA55-do - see appendix A2 in Tsujino et al 2018.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 19, 2021

Re. using ERA5 for initial conditions: SST and SIC are available in ERA5.
But SST would need to somehow be merged with the WOA temperature initial condition that applies below the surface.
I'd also be surprised if SIC, SST IC's have much enduring effect, since the Antarctic ice nearly disappears in summer and the surface layer is so thin the SST would quickly revert to the WOA values below it.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 19, 2021

(in response to @nichannah's email)

  1. I also can't find absolute (or relative) humidity in ERA5, but as you point out there is 2m dew point temperature so I guess we'd have to calculate it from that somehow.
  2. temperature and dew point are at 2m - will we need to convert these to 10m as in appendix A2 in Tsujino et al 2018?
  3. surface_solar_radiation_downwards and surface_thermal_radiation_downwards are probably equivalent to JRA55-do rsds and rlds. Not sure how to check that.
  4. I don't know whether total precipitation includes snowfall - but if so, your suggestion to difference them to get rainfall makes sense
  5. we'd need to be careful to check what's in the various ERA runoff fields - e.g. whether solid runoff is included (I'm guessing not)

@aekiss
Copy link
Contributor Author

aekiss commented Jul 21, 2021

re. above, from TWG 21 July 2021:

  1. Matt C knows how to do this calculation
  2. Matt and Russ: u, v, T, q need to be at the same level (but not necessarily 10m) - may need to read in height field to do calculations. Best to calculate on the fly.
  3. Russ: yes, surface_solar_radiation_downwards=rsds and surface_thermal_radiation_downwards=rlds
  4. need to check this. cice needs snow separately
  5. for further investigation

@nichannah
Copy link
Contributor

Quick update. A new experiment has been created with update config/input files including remapping weights. I've still got some work to do to modify YATM to properly handle runtime modifications to the input fields. i.e. to calculate humidity from dew point temperature.

@AndyHoggANU
Copy link
Contributor

Just wondering if this is relevant to this development?

https://confluence.ecmwf.int/display/CKB/ERA5%3A+large+10m+winds

@aekiss
Copy link
Contributor Author

aekiss commented Aug 3, 2021

This affects <160 spacetime points in the whole dataset, so it seems a smaller issue than the backwards cyclones in JRA55 #186
The affected data was replaced by a different analysis product. I suppose that could create discontinuities with large curls, but they would be very localised and brief.

nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Aug 3, 2021
nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Aug 3, 2021
@aekiss
Copy link
Contributor Author

aekiss commented Sep 7, 2021

For reference, here are all the variables in /g/data/rt52/era5/single-levels/reanalysis and their paths.
The chunking can vary for a given variable; the chunking for the first file in 2017 is shown.

name longname [units] dimensions chunking path
acwh Altimeter corrected wave height [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/acwh/*/acwh*.nc
alnid Near IR albedo for diffuse radiation [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/alnid/*/alnid*.nc
alnip Near IR albedo for direct radiation [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/alnip/*/alnip*.nc
aluvd UV visible albedo for diffuse radiation [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/aluvd/*/aluvd*.nc
aluvp UV visible albedo for direct radiation [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/aluvp/*/aluvp*.nc
anor Angle of sub-gridscale orography [radians] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/anor/*/anor*.nc
arrc Altimeter range relative correction [~] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/arrc/*/arrc*.nc
asn Snow albedo [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/asn/*/asn*.nc
awh Altimeter wave height [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/awh/*/awh*.nc
bfi Benjamin-Feir index [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/bfi/*/bfi*.nc
blh Boundary layer height [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/blh/*/blh*.nc
cape Convective available potential energy [J kg**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/cape/*/cape*.nc
cbh Cloud base height [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/cbh/*/cbh*.nc
cdww Coefficient of drag with waves [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/cdww/*/cdww*.nc
chnk Charnock [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/chnk/*/chnk*.nc
cin Convective inhibition [J kg**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/cin/*/cin*.nc
cl Lake cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/cl/*/cl*.nc
crr Convective rain rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/crr/*/crr*.nc
csfr Convective snowfall rate water equivalent [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/csfr/*/csfr*.nc
cvh High vegetation cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/cvh/*/cvh*.nc
cvl Low vegetation cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/cvl/*/cvl*.nc
d2m 2 metre dewpoint temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/2d/*/2d*.nc
dctb Duct base height [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/dctb/*/dctb*.nc
deg0l 0 degrees C isothermal level (atm) [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/deg0l/*/deg0l*.nc
dl Lake depth [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/dl/*/dl*.nc
dndza Mean vertical gradient of refractivity inside trapping layer [m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/dndza/*/dndza*.nc
dndzn Minimum vertical gradient of refractivity inside trapping layer [m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/dndzn/*/dndzn*.nc
dwi 10 metre wind direction [degrees] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/dwi/*/dwi*.nc
dwps Wave spectral directional width for swell [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/dwps/*/dwps*.nc
dwww Wave spectral directional width for wind waves [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/dwww/*/dwww*.nc
fal Forecast albedo [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/fal/*/fal*.nc
fg10 10 metre wind gust since previous post-processing [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/10fg/*/10fg*.nc
flsr Forecast logarithm of surface roughness for heat [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/flsr/*/flsr*.nc
fsr Forecast surface roughness [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/fsr/*/fsr*.nc
hcc High cloud cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/hcc/*/hcc*.nc
hmax Maximum individual wave height [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/hmax/*/hmax*.nc
i10fg Instantaneous 10 metre wind gust [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/i10fg/*/i10fg*.nc
ie Instantaneous moisture flux [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/ie/*/ie*.nc
iews Instantaneous eastward turbulent surface stress [N m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/iews/*/iews*.nc
ilspf Instantaneous large-scale surface precipitation fraction [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/ilspf/*/ilspf*.nc
inss Instantaneous northward turbulent surface stress [N m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/inss/*/inss*.nc
ishf Instantaneous surface sensible heat flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/ishf/*/ishf*.nc
isor Anisotropy of sub-gridscale orography [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/isor/*/isor*.nc
istl1 Ice temperature layer 1 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/istl1/*/istl1*.nc
istl2 Ice temperature layer 2 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/istl2/*/istl2*.nc
istl3 Ice temperature layer 3 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/istl3/*/istl3*.nc
istl4 Ice temperature layer 4 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/istl4/*/istl4*.nc
kx K index [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/kx/*/kx*.nc
lai_hv Leaf area index, high vegetation [m2 m-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lai-hv/*/lai-hv*.nc
lai_lv Leaf area index, low vegetation [m2 m-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lai-lv/*/lai-lv*.nc
lblt Lake bottom temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lblt/*/lblt*.nc
lcc Low cloud cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lcc/*/lcc*.nc
licd Lake ice depth [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/licd/*/licd*.nc
lict Lake ice temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lict/*/lict*.nc
lmld Lake mix-layer depth [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lmld/*/lmld*.nc
lmlt Lake mix-layer temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lmlt/*/lmlt*.nc
lshf Lake shape factor [dimensionless] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lshf/*/lshf*.nc
lsm Land-sea mask [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lsm/*/lsm*.nc
lsrr Large scale rain rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lsrr/*/lsrr*.nc
lssfr Large scale snowfall rate water equivalent [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/lssfr/*/lssfr*.nc
ltlt Lake total layer temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/ltlt/*/ltlt*.nc
mbld Mean boundary layer dissipation [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mbld/*/mbld*.nc
mcc Medium cloud cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mcc/*/mcc*.nc
mcpr Mean convective precipitation rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mcpr/*/mcpr*.nc
mcsr Mean convective snowfall rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mcsr/*/mcsr*.nc
mdts Mean direction of total swell [degrees] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mdts/*/mdts*.nc
mdww Mean direction of wind waves [degrees] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mdww/*/mdww*.nc
megwss Mean eastward gravity wave surface stress [N m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/megwss/*/megwss*.nc
mer Mean evaporation rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mer/*/mer*.nc
metss Mean eastward turbulent surface stress [N m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/metss/*/metss*.nc
mgwd Mean gravity wave dissipation [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mgwd/*/mgwd*.nc
mlspf Mean large-scale precipitation fraction [Proportion] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mlspf/*/mlspf*.nc
mlspr Mean large-scale precipitation rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mlspr/*/mlspr*.nc
mlssr Mean large-scale snowfall rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mlssr/*/mlssr*.nc
mn2t Minimum temperature at 2 metres since previous post-processing [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mn2t/*/mn2t*.nc
mngwss Mean northward gravity wave surface stress [N m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mngwss/*/mngwss*.nc
mntpr Minimum total precipitation rate since previous post-processing [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mntpr/*/mntpr*.nc
mntss Mean northward turbulent surface stress [N m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mntss/*/mntss*.nc
mp1 Mean wave period based on first moment [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mp1/*/mp1*.nc
mp2 Mean zero-crossing wave period [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mp2/*/mp2*.nc
mper Mean potential evaporation rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mper/*/mper*.nc
mpts Mean period of total swell [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mpts/*/mpts*.nc
mpww Mean period of wind waves [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mpww/*/mpww*.nc
mror Mean runoff rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mror/*/mror*.nc
msdrswrf Mean surface direct short-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdrswrf/*/msdrswrf*.nc
msdrswrfcs Mean surface direct short-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdrswrfcs/*/msdrswrfcs*.nc
msdwlwrf Mean surface downward long-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdwlwrf/*/msdwlwrf*.nc
msdwlwrfcs Mean surface downward long-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdwlwrfcs/*/msdwlwrfcs*.nc
msdwswrf Mean surface downward short-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdwswrf/*/msdwswrf*.nc
msdwswrfcs Mean surface downward short-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdwswrfcs/*/msdwswrfcs*.nc
msdwuvrf Mean surface downward UV radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msdwuvrf/*/msdwuvrf*.nc
mser Mean snow evaporation rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mser/*/mser*.nc
msl Mean sea level pressure [Pa] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msl/*/msl*.nc
mslhf Mean surface latent heat flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mslhf/*/mslhf*.nc
msmr Mean snowmelt rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msmr/*/msmr*.nc
msnlwrf Mean surface net long-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msnlwrf/*/msnlwrf*.nc
msnlwrfcs Mean surface net long-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msnlwrfcs/*/msnlwrfcs*.nc
msnswrf Mean surface net short-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msnswrf/*/msnswrf*.nc
msnswrfcs Mean surface net short-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msnswrfcs/*/msnswrfcs*.nc
msqs Mean square slope of waves [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/msqs/*/msqs*.nc
msr Mean snowfall rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msr/*/msr*.nc
msror Mean surface runoff rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msror/*/msror*.nc
msshf Mean surface sensible heat flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/msshf/*/msshf*.nc
mssror Mean sub-surface runoff rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mssror/*/mssror*.nc
mtdwswrf Mean top downward short-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mtdwswrf/*/mtdwswrf*.nc
mtnlwrf Mean top net long-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mtnlwrf/*/mtnlwrf*.nc
mtnlwrfcs Mean top net long-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mtnlwrfcs/*/mtnlwrfcs*.nc
mtnswrf Mean top net short-wave radiation flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mtnswrf/*/mtnswrf*.nc
mtnswrfcs Mean top net short-wave radiation flux, clear sky [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mtnswrfcs/*/mtnswrfcs*.nc
mtpr Mean total precipitation rate [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mtpr/*/mtpr*.nc
mvimd Mean vertically integrated moisture divergence [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mvimd/*/mvimd*.nc
mwd Mean wave direction [Degree true] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwd/*/mwd*.nc
mwp Mean wave period [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwp/*/mwp*.nc
mx2t Maximum temperature at 2 metres since previous post-processing [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mx2t/*/mx2t*.nc
mxtpr Maximum total precipitation rate since previous post-processing [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/mxtpr/*/mxtpr*.nc
p140121 Significant wave height of first swell partition [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/swh1/*/swh1*.nc
p140122 Mean wave direction of first swell partition [degrees] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwd1/*/mwd1*.nc
p140123 Mean wave period of first swell partition [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwp1/*/mwp1*.nc
p140124 Significant wave height of second swell partition [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/swh2/*/swh2*.nc
p140125 Mean wave direction of second swell partition [degrees] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwd2/*/mwd2*.nc
p140126 Mean wave period of second swell partition [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwp2/*/mwp2*.nc
p140127 Significant wave height of third swell partition [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/swh3/*/swh3*.nc
p140128 Mean wave direction of third swell partition [degrees] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwd3/*/mwd3*.nc
p140129 Mean wave period of third swell partition [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/mwp3/*/mwp3*.nc
p140208 Free convective velocity over the oceans [m s**-1] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wstar/*/wstar*.nc
p140209 Air density over the oceans [kg m**-3] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/rhoao/*/rhoao*.nc
p1ps Mean wave period based on first moment for swell [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/p1ps/*/p1ps*.nc
p1ww Mean wave period based on first moment for wind waves [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/p1ww/*/p1ww*.nc
p2ps Mean wave period based on second moment for swell [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/p2ps/*/p2ps*.nc
p2ww Mean wave period based on second moment for wind waves [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/p2ww/*/p2ww*.nc
p53.162 Vertical integral of mass of atmosphere [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vima/*/vima*.nc
p54.162 Vertical integral of temperature [K kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vit/*/vit*.nc
p59.162 Vertical integral of kinetic energy [J m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vike/*/vike*.nc
p60.162 Vertical integral of thermal energy [J m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vithe/*/vithe*.nc
p61.162 Vertical integral of potential+internal energy [J m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vipie/*/vipie*.nc
p62.162 Vertical integral of potential+internal+latent energy [J m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vipile/*/vipile*.nc
p63.162 Vertical integral of total energy [J m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vitoe/*/vitoe*.nc
p64.162 Vertical integral of energy conversion [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viec/*/viec*.nc
p65.162 Vertical integral of eastward mass flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vimae/*/vimae*.nc
p66.162 Vertical integral of northward mass flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viman/*/viman*.nc
p67.162 Vertical integral of eastward kinetic energy flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vikee/*/vikee*.nc
p68.162 Vertical integral of northward kinetic energy flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viken/*/viken*.nc
p69.162 Vertical integral of eastward heat flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vithee/*/vithee*.nc
p70.162 Vertical integral of northward heat flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vithen/*/vithen*.nc
p71.162 Vertical integral of eastward water vapour flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viwve/*/viwve*.nc
p72.162 Vertical integral of northward water vapour flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viwvn/*/viwvn*.nc
p73.162 Vertical integral of eastward geopotential flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vige/*/vige*.nc
p74.162 Vertical integral of northward geopotential flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vign/*/vign*.nc
p75.162 Vertical integral of eastward total energy flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vitoee/*/vitoee*.nc
p76.162 Vertical integral of northward total energy flux [W m**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vitoen/*/vitoen*.nc
p77.162 Vertical integral of eastward ozone flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vioze/*/vioze*.nc
p78.162 Vertical integral of northward ozone flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viozn/*/viozn*.nc
p79.162 Vertical integral of divergence of cloud liquid water flux [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vilwd/*/vilwd*.nc
p80.162 Vertical integral of divergence of cloud frozen water flux [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viiwd/*/viiwd*.nc
p81.162 Vertical integral of divergence of mass flux [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vimad/*/vimad*.nc
p82.162 Vertical integral of divergence of kinetic energy flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viked/*/viked*.nc
p83.162 Vertical integral of divergence of thermal energy flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vithed/*/vithed*.nc
p84.162 Vertical integral of divergence of moisture flux [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viwvd/*/viwvd*.nc
p85.162 Vertical integral of divergence of geopotential flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vigd/*/vigd*.nc
p86.162 Vertical integral of divergence of total energy flux [W m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vitoed/*/vitoed*.nc
p87.162 Vertical integral of divergence of ozone flux [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viozd/*/viozd*.nc
p88.162 Vertical integral of eastward cloud liquid water flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vilwe/*/vilwe*.nc
p89.162 Vertical integral of northward cloud liquid water flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vilwn/*/vilwn*.nc
p90.162 Vertical integral of eastward cloud frozen water flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viiwe/*/viiwe*.nc
p91.162 Vertical integral of northward cloud frozen water flux [kg m**-1 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/viiwn/*/viiwn*.nc
p92.162 Vertical integral of mass tendency [kg m**-2 s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/vimat/*/vimat*.nc
phiaw Normalized energy flux into waves [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/phiaw/*/phiaw*.nc
phioc Normalized energy flux into ocean [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/phioc/*/phioc*.nc
pp1d Peak wave period [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/pp1d/*/pp1d*.nc
ptype Precipitation type [code table (4.201)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/ptype/*/ptype*.nc
rsn Snow density [kg m**-3] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/rsn/*/rsn*.nc
sd Snow depth [m of water equivalent] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/sd/*/sd*.nc
sdfor Standard deviation of filtered subgrid orography [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/sdfor/*/sdfor*.nc
sdor Standard deviation of orography [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/sdor/*/sdor*.nc
shts Significant height of total swell [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/shts/*/shts*.nc
shww Significant height of wind waves [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/shww/*/shww*.nc
siconc Sea ice area fraction [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/ci/*/ci*.nc
skt Skin temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/skt/*/skt*.nc
slor Slope of sub-gridscale orography [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/slor/*/slor*.nc
slt Soil type [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/slt/*/slt*.nc
sp Surface pressure [Pa] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/sp/*/sp*.nc
src Skin reservoir content [m of water equivalent] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/src/*/src*.nc
sst Sea surface temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/sst/*/sst*.nc
stl1 Soil temperature level 1 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/stl1/*/stl1*.nc
stl2 Soil temperature level 2 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/stl2/*/stl2*.nc
stl3 Soil temperature level 3 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/stl3/*/stl3*.nc
stl4 Soil temperature level 4 [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/stl4/*/stl4*.nc
swh Significant height of combined wind waves and swell [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/swh/*/swh*.nc
swvl1 Volumetric soil water layer 1 [m3 m-3] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/swvl1/*/swvl1*.nc
swvl2 Volumetric soil water layer 2 [m3 m-3] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/swvl2/*/swvl2*.nc
swvl3 Volumetric soil water layer 3 [m3 m-3] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/swvl3/*/swvl3*.nc
swvl4 Volumetric soil water layer 4 [m3 m-3] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/swvl4/*/swvl4*.nc
t2m 2 metre temperature [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/2t/*/2t*.nc
tauoc Normalized stress into ocean [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/tauoc/*/tauoc*.nc
tcc Total cloud cover [(0 - 1)] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tcc/*/tcc*.nc
tciw Total column cloud ice water [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tciw/*/tciw*.nc
tclw Total column cloud liquid water [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tclw/*/tclw*.nc
tco3 Total column ozone [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tco3/*/tco3*.nc
tcrw Total column rain water [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tcrw/*/tcrw*.nc
tcslw Total column supercooled liquid water [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tcslw/*/tcslw*.nc
tcsw Total column snow water [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tcsw/*/tcsw*.nc
tcw Total column water [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tcw/*/tcw*.nc
tcwv Total column water vapour [kg m**-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tcwv/*/tcwv*.nc
tmax Period corresponding to maximum individual wave height [s] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/tmax/*/tmax*.nc
totalx Total totals index [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/totalx/*/totalx*.nc
tplb Trapping layer base height [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tplb/*/tplb*.nc
tplt Trapping layer top height [m] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tplt/*/tplt*.nc
tsn Temperature of snow layer [K] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tsn/*/tsn*.nc
tvh Type of high vegetation [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tvh/*/tvh*.nc
tvl Type of low vegetation [~] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/tvl/*/tvl*.nc
u10 10 metre U wind component [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/10u/*/10u*.nc
u100 100 metre U wind component [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/100u/*/100u*.nc
u10n Neutral wind at 10 m u-component [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/u10n/*/u10n*.nc
ust U-component stokes drift [m s**-1] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/ust/*/ust*.nc
v10 10 metre V wind component [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/10v/*/10v*.nc
v100 100 metre V wind component [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/100v/*/100v*.nc
v10n Neutral wind at 10 m v-component [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/v10n/*/v10n*.nc
vst V-component stokes drift [m s**-1] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/vst/*/vst*.nc
wdw Wave spectral directional width [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wdw/*/wdw*.nc
wind 10 metre wind speed [m s**-1] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wind/*/wind*.nc
wmb Model bathymetry [m] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wmb/*/wmb*.nc
wsk Wave spectral kurtosis [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wsk/*/wsk*.nc
wsp Wave spectral peakedness [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wsp/*/wsp*.nc
wss Wave Spectral Skewness [dimensionless] ('time', 'latitude', 'longitude') [149, 73, 144] /g/data/rt52/era5/single-levels/reanalysis/wss/*/wss*.nc
z Geopotential [m2 s-2] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/z/*/z*.nc
zust Friction velocity [m s**-1] ('time', 'latitude', 'longitude') [93, 91, 180] /g/data/rt52/era5/single-levels/reanalysis/zust/*/zust*.nc

@aekiss
Copy link
Contributor Author

aekiss commented Sep 8, 2021

Here are the biases in the monthly 1993-2017 climatology of JRA55-do 1.4.0 tas (10m air temperature) minus ERA5 t2m (2m air temperature), plotted at 2 different colour scales.

JRA55-do is very much warmer (>30 degrees!) over Antarctica, and also has positive and negative biases of around 5 degrees extending into the Southern Ocean in winter and spring. I imagine this is mostly due to the low-temperature cutoff applied to Antarctic temperature, and smoothing in the marginal ice zone (see sec 3.3.4 of Tsujino et al 2018 and below), but figs 6b and 7a show that these changes are purely positive in August over the Southern Ocean whereas we see a mix of positive and negative. Some of the difference could also be due to the differing measurement height.

JRA55-do is cooler in the Arctic, especially in winter. Outside the polar regions it is a fraction of a degree warmer over oceans.

The large difference in polar winters suggests significant differences in the representation of sea ice and its effect on the atmosphere.

JRA55-do_T_10_minus_ERA55_T_2_1993-2017_monthly_mean_vrange_40_200dpi
JRA55-do_T_10_minus_ERA55_T_2_1993-2017_monthly_mean_vrange_5_200dpi

Tsujino et al 2018 Fig 6:

Tsujino et al 2018 Fig 7:

@scrallen
Copy link

@aekiss Nice plots, this is really interesting. The high latitudes differences are obviously striking.

I showed this at BoM this week. Paul Sandery was there and he pointed out that the very large positive (>10°C) biases in Antarctica appear to be over land, so perhaps the JRA55-do team didn't give that much consideration given it's meant for ocean models. Tsujino et al. appear to mask out land areas.

  • But the ~5° positive and negative biases you found in Weddell and Ross-Amundsen-Bellingshausen are far from small.
  • And then there's the Arctic...
  • And the small positive bias to JRA55 over non-polar latitudes is interesting, even without considering what the height difference should mean:
    • Should we expect a negative lapse rate over the lower marine boundary layer? Well-mixed? In which case JRA55 should be colder by fractions of a degree that probably less than what I think you've shown and these are real biases.

I understand the height difference is what made you analyse air temps first. Are you considering any similar analysis for other fields?

At a Thursday meeting a few weeks back when this was discussed I think I recall @nichannah saying he felt he was close to a first run with ERA5. Is that the case? Or still a few things to resolve first?

@aekiss
Copy link
Contributor Author

aekiss commented Sep 13, 2021

Hi @scrallen, yes I'll also compare the other fields we will use to drive the model.

@nichannah is converging on a working configuration but hit a few unexpected snags that required code changes. Also, we are yet to resolve how to shift the temperature from 2m to 10m, and calculate 10m relative specific humidity from 2m dew point.

nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Sep 13, 2021
@avivsolo
Copy link

avivsolo commented Sep 13, 2021 via email

@nichannah
Copy link
Contributor

nichannah commented Sep 14, 2021

Another useful reference on How to calculate hus at 2m (huss): https://confluence.ecmwf.int/pages/viewpage.action?pageId=171411214

@aekiss
Copy link
Contributor Author

aekiss commented Sep 14, 2021

Thanks @avivsolo, that's helpful. I actually meant specific humidity (not relative), but Tetens' formula could be used for that too.

@aekiss
Copy link
Contributor Author

aekiss commented Sep 14, 2021

The ERA5 documentation https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation
states

Computation of near-surface humidity
Near-surface humidity is not archived directly in ERA datasets, but the archive contains near-surface (2m from the surface) temperature (T), dew point temperature (Td), and surface pressure (sp) from which you can calculate specific and relative humidity at 2m.
Specific humidity can be calculated over water and ice using equations 7.4 and 7.5 from Part IV, Physical processes section (Chapter 7, section 7.2.1b) in the documentation of the IFS for CY41R2. Use the 2m dew point temperature and surface pressure (which is approximately equal to the pressure at 2m) in these equations. The constants in 7.4 are to be found in Chapter 12 (of Part IV: Physical processes) and the parameters in 7.5 should be set for saturation over water because the dew point temperature is being used.
Relative humidity should be calculated: RH = 100 * es(Td)/es(T)
Relative humidity can be calculate with respect to saturation over water, ice or mixed phase by defining es(T) with respect to saturation over water, ice or mixed phase (water and ice). The usual practice is to define near-surface relative humidity with respect to saturation over water.

Equations 7.4 and 7.5 from Part IV, Physical processes section (Chapter 7, section 7.2.1b) in the documentation of the IFS for CY41R2 are here
https://www.ecmwf.int/en/elibrary/16648-ifs-documentation-cy41r2-part-iv-physical-processes

Screen Shot 2021-09-14 at Tue 14-9 1 30pm
which matches @avivsolo's Tetens' formula above, other than the factor a1 (which cancels in his relative humidity calculation) and a difference of 0.01K in T0 (it seems ECMWF use the triple point rather than freezing temperature; their a4 also differs from parameter c in Buck (1981) eq 3a and table 2 (c = 240.97K = -32.18C) even though that's where they say they got their parameters).

The constants in 7.4 are to be found in Chapter 12 (of Part IV: Physical processes):
Screen Shot 2021-09-14 at Tue 14-9 1 35pm
Screen Shot 2021-09-14 at Tue 14-9 1 36pm

Reference:
Buck, A. L. (1981). New equations for computing vapor pressure and enhancement factor. J. Appl.
Meteorol., 20, 1527–1532.

@aekiss
Copy link
Contributor Author

aekiss commented Sep 14, 2021

Hi @nic, to help me get me head around this, I've made this summary of the mapping between JRA55-do and ERA5 forcing fields as currently in libaccessom2/tests/ERA5/forcing.json, in comparison with JRA55-do from here. I have several questions in the notes column. @russfiedler do you have any suggestions? Apologies if I'm digging up things that have already been discussed.

Coupling name JRA55-do ERA5 Note / TODO
swfld_ai rsds Surface Downwelling Shortwave Radiation [W m-2] msdrswrf Mean surface direct short-wave radiation flux [W m**-2] should this be msdwswrf Mean surface downward short-wave radiation flux [W m**-2]? Does this include msdwuvrf Mean surface downward UV radiation flux [W m**-2]? I guess we don't want to use the "net" quantity msnswrf Mean surface net short-wave radiation flux [W m**-2]?
lwfld_ai rlds Surface Downwelling Longwave Radiation [W m-2] msdwlwrf Mean surface downward long-wave radiation flux [W m**-2] I guess we don't want to use the "net" quantity msnlwrf Mean surface net long-wave radiation flux [W m**-2]?
rain_ai prra Rainfall Flux [kg m-2 s-1] mcpr Mean convective precipitation rate [kg m**-2 s**-1] and mlspr Mean large-scale precipitation rate [kg m**-2 s**-1] does snowfall need to be subtracted? Or use crr Convective rain rate [kg m**-2 s**-1] and lsrr Large scale rain rate [kg m**-2 s**-1] instead? Ormtpr Mean total precipitation rate [kg m**-2 s**-1] and ptype Precipitation type [code table (4.201)] instead?
snow_ai prsn Snowfall Flux [kg m-2 s-1] mlssr Mean large-scale snowfall rate [kg m**-2 s**-1] add mcsr Mean convective snowfall rate [kg m**-2 s**-1]? or just use msr Mean snowfall rate [kg m**-2 s**-1]? what about csfr Convective snowfall rate water equivalent [kg m**-2 s**-1] and lssfr Large scale snowfall rate water equivalent [kg m**-2 s**-1] ?
press_ai psl Sea Level Pressure [Pa] msl Mean sea level pressure [Pa]
runof_ai friver Water Flux into Sea Water from Rivers [kg m-2 s-1] msror Mean surface runoff rate [kg m**-2 s**-1] and mssror Mean sub-surface runoff rate [kg m**-2 s**-1] or just use mror Mean runoff rate [kg m**-2 s**-1]? [edit: none of these ERA5 runoff fields are suitable, as they haven't been routed to river mouths - see here]
tair_ai tas Near-Surface (10m) Air Temperature [K] t2m 2 metre temperature [K] Change to 10m height - see appendix A2 in Tsujino et al 2018
qair_ai huss Near-Surface (10m) Specific Humidity [1] t2m 2 metre temperature [K] and d2m 2 metre dewpoint temperature [K] Convert dew point to specific humidity (also requires msl Mean sea level pressure [Pa]) and change to 10m height - see appendix A2 in Tsujino et al 2018
uwnd_ai uas Eastward Near-Surface (10m) Wind [m s-1] u10 10 metre U wind component [m s**-1]
vwnd_ai vas Northward Near-Surface (10m) Wind [m s-1] v10 10 metre V wind component [m s**-1]
licalvf_ai licalvf Land Ice Calving Flux [kg m-2 s-1] not available in ERA5 - use JRA55-do values?

nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Sep 14, 2021
@nichannah
Copy link
Contributor

nichannah commented Sep 14, 2021

Thanks @aekiss, this is very helpful. For now I've made the following improvements:

  • use the short and long wave vars you suggest
  • use crr + lsrr for rain (your suggestion)
  • use msr for snow (your suggestion)
  • use mror for runoff (your suggestion)

Regarding qair_ai I've used d2m and psl. You can see the current code here:

https://github.com/COSIMA/libaccessom2/blob/242-era5-support/libforcing/src/forcing_field.F90#L169

nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Sep 14, 2021
@aekiss
Copy link
Contributor Author

aekiss commented Sep 14, 2021

OK let's see how that goes.
Disclaimer: my suggestions were based purely on the longnames and wild guesswork, so they might not be sensible.

nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Sep 14, 2021
nichannah added a commit to COSIMA/libaccessom2 that referenced this issue Sep 15, 2021
@aekiss
Copy link
Contributor Author

aekiss commented Sep 15, 2021

@aidan which field had one chunk for the whole month? I thought it was d2m but
/g/data/rt52/era5/single-levels/reanalysis/2d/2021/2d_era5_oper_sfc_20210501-20210531.nc
has

	short d2m(time, latitude, longitude) ;
...
		d2m:_ChunkSizes = 93, 91, 180 ;

@aekiss
Copy link
Contributor Author

aekiss commented Sep 15, 2021

@nichannah - re. ERA5 chunking and caching: you'll still get a performance speedup even if you need to read the same chunk more than once due to memory constraints on the size of the cache. e.g. a 8hr cache would speed it up by 8x even if chunks are larger than 8hr (ie even if chunks are read more than once).

@aekiss
Copy link
Contributor Author

aekiss commented Mar 29, 2023

@rmholmes can you add me to the NCI issue ticket? I raised the missing 1979 data almost a year ago (HELP-182126, 4 April 2022) and was told it was an upstream issue, but I'd have thought it would have been fixed upstream by now.

@rmholmes
Copy link
Collaborator

@aekiss oh sorry I hadn't seen that you'd asked exactly the same question. I've added you to the ticket and sent another message.

@aekiss
Copy link
Contributor Author

aekiss commented Mar 29, 2023

ERA5 winds are already at the right height (10m), but temp and humidity (from dew point) are at 2m and ideally should be moved to 10m to match. But this doesn't make much difference for temperature; not sure about humidity. There are other outstanding issues too - I'll pull together a summary.

@aekiss
Copy link
Contributor Author

aekiss commented Mar 29, 2023

Here's my attempt at summarising the remaining issues from this crazy-long thread:

  1. Compare ERA5 and JRA55-do fields we use to drive the model as was done here to check we have the correct fields and how much they differ
  2. double-check conversion of dew point to humidity implemented in this commit - compare to JRA55-do humidity
  3. move temperature and humidity from 2m to 10m to match the winds and JRA55-do; but doesn't make much difference for temperature; not sure about humidity
  4. Check rain and snowfall - see here
  5. remapping issue resolved for 1deg but will probably need to be resolved for 1/10deg runs; there's also a runoff remapping issue at 1/4deg
  6. missing data for hours 0-6 on 1 Jan 1979 - NCI ticket HELP-187454 (previously HELP-182126) - THIS IS NOW SOLVED.
  7. NCAR or ECMWF bulk formula?
  8. back-compatibility in libaccessom2
  9. Unresolved issue with caching code in the ERA-5 libaccessom2 branch.
  10. Be aware of several bad input data times/points in ERA-5 winds

@rmholmes
Copy link
Collaborator

rmholmes commented Mar 29, 2023

Thanks @aekiss!!! I just added one extra point on the caching code.

I think it's also important to continue to make a value judgement on additional work in this direction given the possibility of a ERA-5-do product in the future, and the move to ACCESS-OM3/NuOPC framework. But I'm happy that we at least pushed it to the point of something that looks reasonable.

@aekiss
Copy link
Contributor Author

aekiss commented Mar 29, 2023

Yes, it has certainly been more epic than we expected. Hopefully life will be easier in ACCESS-OM3 with DATM and DROF instead of YATM - they support ERA5, and read and remap in parallel.

@aekiss
Copy link
Contributor Author

aekiss commented Mar 30, 2023

@rmholmes can you push your test run as a branch on my config https://github.com/COSIMA/1deg_era5_iaf pls?

@rmholmes
Copy link
Collaborator

rmholmes commented Mar 30, 2023

Yes, but looks like I don't have the permissions to do that? The branch is at https://github.com/rmholmes/1deg_era5_iaf/tree/ryan_testing, or give me permissions?

I should probably also create repositories on COSIMA for https://github.com/rmholmes/1deg_era5_ryf and https://github.com/rmholmes/025deg_era5_ryf?

Finally, given Will's comments this morning it seems like it would be low hanging fruit and productive to setup a 025deg_era5_iaf with JRA55 v1.5 run-off. I can try to do that this afternoon or tomorrow. Is this the right run to take v1.5 forcing from, or this one?

@access-hive-bot
Copy link

This issue has been mentioned on ACCESS Hive Community Forum. There might be relevant details there:

https://forum.access-hive.org.au/t/cosima-working-group-meeting-minutes-2023/407/9

@aekiss
Copy link
Contributor Author

aekiss commented Mar 30, 2023

OK I've copied rmholmes/1deg_era5_iaf/tree/ryan_testing here https://github.com/COSIMA/1deg_era5_iaf/tree/ryan_testing

For https://github.com/rmholmes/1deg_era5_ryf and https://github.com/rmholmes/025deg_era5_ryf you can see if it will let you transfer ownership to COSIMA (settings > general > transfer ownership)

atmosphere/forcing.json and forcing in config.yaml look the same in both of those, i.e. how I set them up back in May #247 (comment)

@aekiss
Copy link
Contributor Author

aekiss commented Mar 30, 2023

Thanks for transferring ownership. This one's private - is that intentional? https://github.com/COSIMA/1deg_era5_ryf

@rmholmes
Copy link
Collaborator

rmholmes commented Mar 30, 2023

Ooops. Fixed it.

I've also setup a 1/4-degree IAF ERA5 (with JRA55 v1.5.0 run-off) (https://github.com/rmholmes/025deg_era5_iaf) and a corresponding JRA55 v1.5.0 run (https://github.com/rmholmes/025deg_jra55_iaf/tree/jra55v150), both to start in 1980. There's no hours to test these now but I'll kick them along at some stage.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 3, 2023

Re. point 1 above, ACCESS-OM3 is using the DATM data atmosphere from CDEPS, which supports ERA5 out of the box. So that might teach us something useful about what fields we should use.

This table suggests the ERA5 input fields are

u10
v10
t2m
skt
d2m
msl
tp    *
cp    *
lsp   *
csf   *
lsf   *
ssrd  *
ssr   *
strd  *
str   *
aluvp
aluvd
alnip
alnid
sshf  *
slhf
ewss
nsss

* are not in the list of ERA5 fields

The ERA5 DATM code is here and exports these fields to the other model components

z
u10m
v10m
wspd10m
t2m
tskn
q2m
pslv
rain
rainc
rainl
snowc
snowl
swvdr
swvdf
swndr
swndf
swdn
swnet
lwdn
lwnet
sen
lat
taux
tauy

@aekiss
Copy link
Contributor Author

aekiss commented Jul 3, 2023

The list of ERA5 input fields in DATM seems to omit visible radiation - or is that included in the * fields?

@ofa001
Copy link

ofa001 commented Jul 3, 2023

Some of those terms in your list @aekiss for the DATM look like a mirror of what the CESM would have been passing so they have converted the ERA5 into CESM look a like so it can run their shortwave scheme for instance over CICE.

@ofa001
Copy link

ofa001 commented Jul 3, 2023

@aekiss The visible radiation is in the shortwave radiation fields swvdr swvdf

@aekiss
Copy link
Contributor Author

aekiss commented Jul 3, 2023

Ah OK - might have to look at the code to see how shortwave is calculated from the input files

@ofa001
Copy link

ofa001 commented Jul 3, 2023

Yes @aekiss I think I need to look at the existing DATM code as well I have only looked at the DOCN and DICE boxes so far and how that fitted with CICE. Like my conversation with Kieran Ricardo the other day the way NUOPC is set up is still new to us and how we thought about things linked together before may need rethinking I guess we need to think how the UM will link to an ACCESS_OM3 MOM/CICE/WW3 as well as the JRA55 and ERA set ups in the data model.

@rmholmes
Copy link
Collaborator

I did a quick check of the radiation and precipitation variables (points 1 and 4 at #242 (comment)). Just for a single day, but looking reasonable to me:
image

@StephenGriffies
Copy link

@rmholmes and others.

Your experiences with ERA5 and JRA55 will be valuable as NCAR, GFDL, and interested others start the process of developing an "ERA5-do". I hope we can count on you for testing new forcing fields when they are ready. Gokhan is in charge at NCAR. He hopes to have something for beta-testing early 2024.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 14, 2023

Great to hear ERA5-do is going ahead @StephenGriffies. I'll be interested in testing this in ACCESS-OM3 when it's ready too.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 14, 2023

Thanks for looking at those field @rmholmes - I agree they don't look very different.

My worry was whether exactly the same things are included in both cases, e.g. the same wavelength bands and diffuse/direct for shortwave, or the same precip types. This might only show up on maybe a 10% level, which is harder to test as the fields might differ by this amount between JRA55 and ERA5 anyway even if they're trying to show exactly the same things. Might require diving into documentation.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 17, 2023

ERA5 has a list of known issues here https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation#ERA5:datadocumentation-Knownissues
including bad 10m winds which have tripped up the 0.25° model as discussed here

@aekiss
Copy link
Contributor Author

aekiss commented Jul 17, 2023

NCI also has a table of ERA5 data issues here https://opus.nci.org.au/display/ERA5/Known+Issues

@rmholmes
Copy link
Collaborator

I have now finished a 1/4-degree ERA-5 forced IAF run, covering the period from 1980 up to the latest available forcing time of 31st of March 2023. The main problem I ran into is blow-ups under unrealistically large ERA-5 winds (up to 130ms-1) as described in this ACCESS-OM2 issue and this ECMWF post. Getting past them involved scaling down the strength of the wind fields using the offset/scaling system in libaccessom2 and this notebook.

A quick look at the output is looking promising (IAF runs, and RYF runs). I hope to do a more detailed analysis and will put up a forum post at some point asking for input from anyone who is interested.

@aekiss
Copy link
Contributor Author

aekiss commented Jul 31, 2023

Awesome, thanks @rmholmes!

@access-hive-bot
Copy link

This issue has been mentioned on ACCESS Hive Community Forum. There might be relevant details there:

https://forum.access-hive.org.au/t/era-5-forced-access-om2-simulations/1103/1

@access-hive-bot
Copy link

This issue has been mentioned on ACCESS Hive Community Forum. There might be relevant details there:

https://forum.access-hive.org.au/t/jra-3q-as-a-replacement-for-jra55/1759/8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests