Support #14951

Are we using the wrong geopotential field?

Added by Philippe Le Sager over 2 years ago. Updated over 1 year ago.

Target version:
Start date:
Due date:
% Done:



Andreas has reported some discussion he had with ECMWF. Here is his email:

I recently had some discussion with ECMWF about the definition of surface pressure and surface geopotential. These both exist as "model level parameters" and as "surface parameters" in the MARS archive. And the two fields are not identical.

As it might be relevant to the way TM5 generates input meteo files, I'd like to share this information with you.

The main source of differences arise from transformations and interpolations made when the data are retrieved to a regular lat-lon grid and the order in which these operations are performed. The differences you see also depend on whether the data are downloaded using MARS (where you access the data in its native representation) or from the CDS (where the data have already been pre-interpolated to a regular lat-lon grid) - note that, by default, MARS and CDS are currently using different interpolation libraries. Other smaller differences arise from the packing of the data (typically, data in GRIB are packed using 16 bits per value so there is some loss of precision).

In principle, sp should be equal to exp(lnsp). However, this is only true if you carry out the computation of exp(lnsp) in the following way:

1. retrieve lnsp to the model native N320 classic reduced Gaussian grid without truncation of the spectral series
2. compute the exponential on the N320 grid
3. interpolate the resulting field to the same regular lat-lon grid as sp (0.25x0.25).

If the computation is made using these steps then the maximum absolute difference between sp and lnsp is 2.88 Pa.

I'm not sure it's possible to reproduce this result with data obtained from the CDS where the data have been pre-interpolated.

The differences are not limited to surface pressure, but they are also there for surface geopotential (which is field "Z", or parameter id 129):

As you note, the geopotential at the surface is also provided both as a grid point surface field and a spectral field on model level 1. Again, thegeopotential on model level 1 should be the same as the grid point surface field when transformed from spectral to grid point representation (if I do this, I see a maximum absolute difference of 2 m^2^/s^2^between the two fields). However, unless the spectral field is first transformed directly to the N320 model grid and then interpolated to the 0.25x0.25 grid there will be larger differences which tend to be largest where the gradient of the field changes most rapidly.

After this general description of the problem, here's the advice from ECMWF:

Generally, our advice is to use the model level (type=ml) versions of z and lnsp if you're dealing with other model level fields (temperature, wind components, etc) but the surface (type=sfc) versions if your dealing with other surface fields (2t, 10u/10v, msl, etc).

When I look at the TM5 source code, it seems to me that at least geopotential is taken as a surface field. As for surface pressure, I don't understand enough of the RC files to say if the model level or surface field is taken.

ECMWF suggest (see above) that both should be taken as model level fields -- after all, this is an atmospheric model, so we are interested in the model level fields.

It seems to me that taking surface level geopotential can lead to wrong values in Z, which will somehow propagate into the simulation. I'm attaching a plot of the difference between Z as surface parameter and Z as model level parameter, as well as a comparison between surface pressure as surface parameter vs. model level parameter.

surface_geopotential.png View (134 KB) Philippe Le Sager, 12/19/2018 09:26 AM

surface_pressure.png View (348 KB) Philippe Le Sager, 12/19/2018 09:26 AM


#1 Updated by Philippe Le Sager over 2 years ago

  • Status changed from New to In Progress

A couple of quick remarks without looking into the code. With respect to the ECMWF advice:

Generally, our advice is to use the model level (type=ml) versions of z and lnsp if you're dealing with other model level fields (temperature, wind components, etc) but the surface (type=sfc) versions if your dealing with other surface fields (2t, 10u/10v, msl, etc).

In TM5, we are using both model level fields and surface fields. The question would be then, with which ones are we somehow combining the geopotential field to carry some computation.

As for the surface pressure, I know we are using both (at least in the EC-Earth version of the code).

#2 Updated by Twan van Noije over 2 years ago

I'm pretty sure Arjo has given this some thought when designing the mass flux computations. Why else would we be using two different surface pressure fields?

As for the geopotential height, in TM5 we don't only need the surface field, but the full 3-D field. Rather than introducing a second, slightly different surface field, I think it does make sense to simply use the surface level from the 3-D model-level field.

Would it be an idea to ask Arjo for his opinion about this issue?

#3 Updated by Arjo Segers over 2 years ago

After an archeological survey, I think that what we us is:
  • surface pressure is taken from ml/LNSP ; think we convert first to sp=exp(lnsp) and then apply horizontal averaging;
  • orography is taken from sfc/Z .
    Thus, when 3D gph is computed it uses the pressures from the model levels, but the orography from the surface.
    We do not retrieve 3D gph from the mars archive, but computed it in the model; it is computed from the 3D pressure/temperature/specific-humidity (from mars ml fields) and the 2D orography (from mars sfc field).

There are multiple surface pressure fields in the model, but that is only because of the dynamics within a time step; we have surface pressures at the start and end of a time step, and their average which is thus valid for the mid of a time interval. Basically all fields are valid for the mid of the interval, since processes like chemistry etc require just a single value for temperature etc and assume these are constant during the time step.

Note that there might be surface pressures for the model grid (say 3x2 resolution) but also for the surface grid (1x1 resolution). The origin is always the 1x1 input file, and the input field is then regridded to the target resolution (3x2 or 1x1).

Does this clarify?

#4 Updated by Philippe Le Sager over 2 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 90

The main point of the ECMWF comment is that the fields represented twice (as model level and as surface parameter) are the same if remapped and interpolated correctly. It is not clear from the mail excerpts of the discussion with ECMWF which data source is considered. It does not look like ERA-Interim. Note that in TM5 we convert from ERA-Interim native T255/N128 to 1x1 regular lat-lon grid, and not from N320 to 0.25x0.25.

Anyway, I think the issue can be closed:

  • For the surface pressure, there is no problem: in TM5, for ERA-Interim, we take the exponential of LNSP on the native untruncated spectral grid. That should ensure a correct surface pressure according to ECMWF comment reported in this issue.
  • For the geopotential, there is also no problem since we use the surface field, and potential errors can happen when remapping the spectral field.

#5 Updated by Philippe Le Sager over 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF