...
- It requires Python and GRIB-API
- Input format has to be gridded, not spectral
- Input height parameter is in meters
- In order to get the same values than IFS is generating for 100u/100v, the u/v ml parameters resolution retrieved from MARS should be as archived value "av"
- The script is based on the Metview macro mvl_geopotential_on_ml, code from Nils Wedi to calculate the geopotential on the model levels. IFS documentation:
- CY41R1 Official IFS Documentation Link
- part III. Dynamics and numerical procedures
- CY41R1 Official IFS Documentation Link
...
If you are using MARS to retrieve the data, we have prepared a script that will allow you to get the data and then call the Python script automatically. You can set the date, time, step, class, grid resolution, type, area... The script will create and execute the MARS requests to get (t,q,u,v,z,lnsp). You can find more information about the script here compute_wind_speed_height.ksh:
Download
Python program | compute_wind_speed_height.py |
Wrapper script | compute_wind_speed_height.ksh |
Examples
This example will compute the u/v components of the wind at 100m on the 2015-10-21 time 00 step 12 operational analysis model levels (137). Below you can see the MARS user documentation request used to retrieve both files. You can set a different class/stream/type for the input data. The gribType and resolution can also be changed. In this case the resolution of the sfc u/v parameters archived are N640. This may change in future cycles.
Note that the values have been retrieved in grid=N640 (grid=640, gaussian=reduced)
...