4
$\begingroup$

This seems like a really simple question, but I have been struggling for a couple of days to find an answer online or in the ERA documentation.

I am using ERA5 and ERA Interim reanalyses to get atmospheric profiles for a model I am running. However, the model requires values to be given at fixed values of altitude (above sea level) (it is a rectangular grid 60x60x60 km).

The data I get from ERA (downloaded using the python script API they suggest) gives me data on either pressure level or model level. I can get geopotential as a variable, but there is no option for 'real-world' height.

So my question is how do I calculate the 'real' altitude of each level?

I initially tried dividing geopotential by 9.81, but I'm not sure that's quite right, as geopotential is an integral of g. Alternatively should I be using the values in the tables here, and if so why are they not provided as an option of a variable or coordinate when downloading the data?

Apologies in advance if this is a silly question with a simple answer and thanks for your help.

$\endgroup$
1
$\begingroup$

If I understood the question right: CDO can interpolate from model level to height level with the operator

ml2hl infile.nc outfile.nc

additionally, for the lower atmospheric levels, you can add an extrapolation option. BUT I don't recommend it since its extrapolation performance is questionable.

| improve this answer | |
$\endgroup$
1
$\begingroup$

I have two solutions.

  1. Use MetPy to calculate the height from the geopotential height.
  2. Use the hypsometric equation, averaging the temperature below the level.
| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.