Skip to content

Implement interpolation between various vertical coordinate systems #36

@sandorkertesz

Description

@sandorkertesz

Goal

The goal is to interpolate data available on a given level type to another level type. The vertical levels should be as follows:

  • pressure levels
  • model (ECMWF) levels
  • height levels above ground and sea level
  • flight levels

Additionally, these levels types should also be considered:

  • potential temperature levels
  • potential vorticity levels

Requirements

  • ability to choose between interpolation types, at least linear and log
  • allow using geometric or geopotential heights when dealing with height levels
  • allow specifying a target level by:
    - a single number e.g. 500 (m)
    - a list of levels [100, 200, 500]
    - an array, with the same shape as the data to interpolate, where each value specifies a different target level. A use case for it: interpolate temperature fields on model levels to the height of the top of the boundary layer. Here the target height changes from gridpoint to gridpoint (is a field).
  • allow specifying surface values even when the bottom boundary in the source coordinate system is not the surface. E.g. when interpolating pressure levels to height levels the lowest pressure level is 1000 hPa. If we specify surface values, the interpolation shoul even work for points where the target height is below 1000 hPa but above the surface.
  • consider extrapolation for target levels below the lowest source level

Remarks

Some of the methods are implemented in Metview for GRIB data, for reference we give the list of these. They are heavily tested so could be used to build and validate tests in earthkit-meteo:

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions