Metview's documentation is now on readthedocs!

This icon converts GRIB data into the format required by the VAPOR 3D visualisation system.

From Macro/Python the icon can be called as vapor_prepare()

A tutorial about the use of the VAPOR Prepare icon can be found here

Details about setting up the Metview VAPOR interface outside ECMWF can be accessed here.

VAPOR

VAPOR stands for Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers. It is a software system providing an interactive 3D visualization environment that runs on most UNIX ,Windows and Mac systems equipped with modern 3D graphics cards.

The home of the software is https://www.vapor.ucar.edu.

VAPOR input files

VAPOR input data is described by .vdf  (VAPOR Data Format) files. These are XML files containing the name and dimension of all the variables and the path of the actual data files storing the data values.  VAPOR stores its data values in .vdc (VAPOR Data Collection) files. These are NetCDF files containing wavelet compressed 3D data. There is a separate file for each variable and timestep organized into a folder hierarchy.

VAPOR grids

VAPOR input data must be defined on a 3D grid,  which has to be regular horizontally (on a map projection). The vertical grid structures supported by the Metview VAPOR interface are as follows: layered and regular 

For layered grids VAPOR expects a parameter specifying the elevation of each 3D level in the input data. This is typically the case for  pressure or model level (η levels) data with height or geopotential available (or it can be computed).

For regular grids the 3D levels are supposed to be equidistant (in the user coordinate space). This type can be used when the data is available on equidistant height levels.

The situation when pressure or model level data is present without height information is somewhat special. The grid in this case is not layered but can be regarded as regular in its own coordinate space (pressure or model levels) letting z axis simply represent pressure or model levels in the 3D scene rendered in VAPOR.

VAPOR uses a right-handed coordinate system which means that :

  • the horizontal grid has to start at the SW corner
  • the vertical coordinates have to increase along the z axis (upwards)
How does VAPOR Prepare work?

First VAPOR Prepare parses the GRIB data then generates the vdf and vdc files out of it. Internally it dumps GRIB data into a raw binary format then converts it into VAPOR format by using the raw2vdf VAPOR command line tool. VAPOR Prepare implicitly rearranges the grid to make it VAPOR compliant.

Which GRIBs are supported for the conversion?

Only GRIB fields on a regular lat-lon grid are supported at the moment. However, please note that  GRIBs can be internally interpolated to a regular lat-lon grid by using the VAPOR_AREA_SELECTION parameter. The parameters to be converted are supposed to have the same validity date and time and the same vertical levels. They also have to be valid on the same grid.

The VAPOR Prepare Editor

Vapor Input Mode

Specifies the data input mode. The possible values are: Icon and Path. The default value is Icon.

In Icon mode a set of GRIB icons has to be specified in Vapor Input Data. If the mode is set to Path the input data is read from a specified path on the filesystem  (yet to be implemented).

Vapor Input Data

Specifies the input data as a set of GRIB icons. It is available when Vapor Input Mode is Icon.

Vapor 2d Params

Specifies the list of 2D parameters from the input data to be converted into VAPOR format. The parameters are identified by their short names  or parameter ids. The default value is an empty string. 

Vapor 3d Params

Specifies the list of 3D parameters from the input data to be converted into VAPOR format. The parameters are identified by their short names   or parameter ids. The default value is an empty string.

Vapor Vertical Grid Type

Specifies the type of the 3D data to be used in VAPOR. The possible values are: Layered and Regular. The default value is Layered.

If the type is set to Layered VAPOR expects a parameter specifying the elevation of each 3D level in the input data. This parameter is then called ELEVATION in VAPOR. The Layered type is typically used when we have pressure or model level (η levels) input data with height or geopotential available.

For the Regular type the vertical grid is supposed to be equidistant (in the user coordinate space). This type can be used when we have data on equidistant height levels.

The Regular type can also be used for pressure or model level data when no height information is available. In this case the 3D scene is rendered in a pressure or model level "space". Besides, because VAPOR requires vertical coordinate values increasing along the z axis the vertical coordinate values  (pressure or model level number) are multiplied by -1 for VAPOR.

Vapor Elevation Param

Specifies the short name or parameter id of of the 3D parameter interpreted as the elevation of the 3D levels. Available when Vapor Vertical Grid Type is Layered.

This parameter has to be either the height or the geopotential (z) of the levels. If geopotential is specified it is converted into metres by Metview for Vapor. The default value is z.

Derive elevation for model levels

Please note that neither the height nor the geopotential of model levels are archived in MARS. It means that for model level data either of these fields has to be computed for Layered mode. These computations can be done with VAPOR Prepare by simply specifying z for Vapor Elevation Param. The computations can only be carried out if the input data contains temperature (t) and specific humidity (q) on model levels and geopotential (z) and logarithm of surface pressure (lnsp) on the bottommost model level.

Vapor Bottom Coordinate

The bottom elevation level. Available when Vapor Vertical Grid Type is Layered. The default value is 0.

Vapor Top Coordinate

The top elevation level. Available when Vapor Vertical Grid Type is Layered. The default value is 16000.

Vapor Area Selection

Specifies the area selection mode. The possible values are: Native and Interpolate. The default value is Native.

If it is set to Native the whole area of the input data is converted into VAPOR format. While if it is set to Interpolate the input data is interpolated to a specific (lat-lon) grid and area.

Vapor Area

Specifies the area of the output grid in south/west/north/east format. The default value is  -90/-180/90/180. Available when Vapor Area Selection is Interpolate.

Vapor Grid

Specifies the resolution of the output grid in dx/dy format, where dx is the grid increment in east-west direction, while dy is the grid increment in north-south direction (both in degrees units). The default value is: 1/1. Available when Vapor Area Selection is Interpolate.

Vapor Step Number

Specifies the number of steps from the input dataset that will be converted into the VAPOR format. The default value is -1 meaning that all the available steps will be converted.  

Vapor Refinement Level

This option specifies the number of refinement levels in a VAPOR data approximation hierarchy where the resolution of each successive level is a factor of two finer along each dimension. If level is 0 no hierarchy will be created (all data will be stored at their native resolution). If level is 1 a single approximation will be created, thus the hierarchy will have two levels: the first approximation (indexed as 0 in VAPOR) and the native grid resolution (indexed as 1 in VAPOR). And so on.

The default value is: 2.

Vapor Vdf Name

Specifies the name of the resulting VDF file (the .vdf suffix is automatically appended to the filename). The default value is an empty string.

Vapor Output Path

Specifies the output directory (can be a relative path) where the VDF file and VDC directory hierarchy will be generated. If this directory does not exist Metview will create it. The default value is /tmp.

VAPOR data files can be huge (gigabytes) so the output path to store the results of the GRIB to VAPOR conversion should always be carefully selected.