This tutorial explains how to convert ECMWF GRIB data into VAPOR format and how to visualise the resulting data in VAPOR.
Please note that this tutorial requires Metview version 4.4.4 or later. Also for users outside ECMWF the Metview VAPOR interface should be properly set up as described here.
Preparations
First start Metview; at ECMWF, the command to use is metview4_new
(see Metview at ECMWF for details of Metview versions). You should see the main Metview desktop popping up.
You will create some icons yourself, but some are supplied for you - please download the following file:
Alternatively, if at ECMWF then you can copy it like this from the command line:
cp /scratch/graphics/cgx/tutorials/vapor_tutorial.tar.gz $HOME/metview
and save it in your $HOME/metview
directory. You should see it appear on your main Metview desktop, from where you can right-click on it, then choose execute to extract the files. You should now (after a few seconds) see a vapor_tutorial folder which contains the solutions and also some additional icons required by these exercises. You should work in the the vapor_tutorial folder.
VAPOR Basics
VAPOR stands for Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers. It is a software system providing an interactive 3D visualization environment. The home of the software is https://www.vapor.ucar.edu.
It is crucially important to understand the vertical coordinate types of the input data VAPOR can use. Here we discuss only the two types that the Metview VAPOR interface supports
- 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 hight 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 the z axis simply represent pressure or model levels in the 3D scene rendered in VAPOR.
Pressure level data with elevation
This exercise demonstrate how to use pressure level ECMWF GRIB data with VAPOR when elevation (as geopotential) is available. We will work with fields on a low resolution grid over Europe.
Getting the GRIB data
The GRIB data is already in its place. In your folder you will find the two GRIB files you need to use for this exercise:
- pl.grib: contains z, t, r, u and v on pressure levels
- pl_surf.grib: contains z, 2t ,10u and 10v on surface
Please note that both these files were retrieved from MARS by using the 'ret_pl' and 'ret_pl_surf' MARS retrieval icons in the solutions folder.
Running Vapor Prepare
Create a VAPOR Prepare icon.
Rename it 'vapor_pl' and open up its editor.
First, ensure that Vapor Input Mode is set to 'Icon' then drop the two Mars Retrieval icons into the Vapor Input Data field.
Then you need to define the list of GRIB parameters you want to see in VAPOR.
Vapor 2d Params | z/2t/10u/10v |
Vapor 3d Params | t/u/v/r |
Internally VAPOR Prepare converts surface geopotential to metres and rename it HGT.
The vertical coordinate system has to be set carefully:
Vapor Vertical Grid Type | Layered |
Vapor Elevation Param | z |
Vapor Bottom Coordinate | 0 |
Vapor Top Coordinate | 16000 |
Here you set the vertical grid type to 'Layered' and defined geopotential (z) as the parameter holding the elevation of the vertical layers (pressure levels). You also specified the vertical coordinate range (in metres) that VAPOR will display.
Internally VAPOR Prepare converts geopotential to metres and rename it ELEVATION (this is required by VAPOR).
The last step is to specify the name and location of the results of the conversion:
Vapor Vdf Name | tut_pl |
Vapor Output Path | your_path_on_the_filesystem |
With these settings a VDF file called 'tut_pl.vdf' will be created in the directory you specified. All the other VAPOR data files will be placed into a subdirectory called 'tut_pl_data'.
Now save your VAPOR Prepare icon then right click Execute to run the conversion. The icon will first turn orange then green when the conversion finishes.
To visualise the VAPOR data generated please follow the instructions here.
Model level data with elevation
This exercise demonstrate how to use model level ECMWF GRIB data with VAPOR when elevation available/can be derived. We will work with fields on the low resolution grid over Europe as we used for the pressure levels.
Getting the GRIB data
The GRIB data is already in its place. In your folder you will find the three GRIB files you need to use for this exercise:
- ml.grib: contains q, t, u and v on model levels 137-60
- ml_lnsp.grib : contains lnsp on the bottommost model level (level 137)
- ml_surf.grib: contains z, 2t ,10u and 10v on surface).
Please note that both these files were retrieved from MARS by using the 'ret_ml', 'ret_ml_lnsp' and 'ret_ml_surf' MARS retrieval icons in the solutions folder.
Please note that upper level geopotential (z) is not available in the input files because it is not archived in MARS for model levels. However, VAPOR Prepare can derive it if tempreature (t), specific humidity (q) and logarithm of surface pressure (lnsp) are available. We has to ensure that these fields were present in our data.
Running Vapor Prepare
Create a VAPOR Prepare icon. Rename it 'vapor_ml' and open up its editor.
First, ensure that Vapor Input Mode is set to Icon then drop your three Mars Retrieval icons into the Vapor Input Data field.
Second, define the list of GRIB parameters you want to see in VAPOR.
Vapor 2d Params | z/2t/10u/10v |
Vapor 3d Params | t/u/v/q |
Third, set the vertical coordinate system:
Vapor Vertical Grid Type | Layered |
Vapor Elevation Param | z |
Vapor Bottom Coordinate | 0 |
Vapor Top Coordinate | 16000 |
Here we set the vertical grid type to layered and defined geopotential (z) as the parameter holding the elevation of the vertical layers (model levels). We also specified the vertical coordinate range (in metres) that VAPOR will display for this data.
Although geopotential (z) is not available on model levels in the input data VAPOR Prepare computes it automatically if tempreature (t), specific humidity (q) and logarithm of surface pressure (lnsp) are available. Geopotential is then gets converted into metres units and renamed to ELEVATION.
Last, we specify the name and location of the results of the conversion:
Vapor Vdf Name | tut_ml |
Vapor Output Path | your_path_on_the_filesystem |
Vapor Reuse Vdf | On |
Now save your VAPOR Prepare icon then right click Execute to run the conversion. The icon will first turn orange then green when the conversion finishes.
To visualise the VAPOR data generated please follow the instructions here.
Visualisation
Right click Visualise your VAPOR Prepare icon to start up VAPOR. You will see this window popping up:
Loading data
Now go to the Data → Load a Dataset into Current Session menu and load the vdf file you have just created with your VAPOR Prepare (here you need to find use the path you specified in Vapor Output Path).
Having loaded the vdf file you get something like this:
Adjusting the view volume
If you rotate the cube in the display window (left mouse button) you will see it is flat. We need to scale the vertical axis to get a better view of the whole 3D volume. Go to the Edit → Edit Visualiser Features menu and set the Z Scene Stretch Factor to 200:
Now the full 3D volume is visible:
Setting up the map image
We can load a pre-installed map image to get a better geographical reference for the domain we are looking at. Open the Image tab and load 'BigBlueMarble.tiff' by using the Select Installed Image button. Then tick Instance: 1, tick Apply to Terrain and set Z to 0. The scene has now changed like this:
The VAPOR session file
The current scene settings can be saved into a VAPOR session file (with a .vss suffix) by using the File → Save Session (As) menu. Then next time we start up VAPOR the saved session files can be loaded to initialise the scene with the saved settings.
Direct volume rendering (DVR)
Having set up the view we can now visualise our data. E.g. try the DVR (Direct Volume Rendering) tab, select Variable to relative humidity (r), tick Instance 1. Then set Refinement Level to 2 and change the opacity in Transfer Function editor to get this scene:
Giving further instructions and explaining further details about VAPOR visualisation goes beyond the scope of this tutorial. Here we just show a few snapshots made with VAPOR to demonstrate the different ways VAPOR can visualise 3D data. For an in depth introduction please study the VAPOR tutorials at:
https://www.vapor.ucar.edu/docs/vapor-tutorials
There are no images attached to this page. |