Info |
---|
Visualizing model output is under development. The instructions below are a temporary solution allowing users to convert to netCDF for their favourite plotting program. Forthcoming OpenIFS releases will provide additional software to analyse and view model output more easily without the need to modify the GRIB output files. |
Model output
The OpenIFS model outputs files in GRIB format. These files are a mix of GRIB 1 & GRIB 2 format messages. They also contain multiple vertical coordinates: pressure levels, sub-surface levels etc as well as fields on reduced Gaussian grids which causes a problem with some 3rd party tools as the same GRIB variable code is used for each axis. The instructions below show how to work around this.
The ICMGG files contain all the gridpoint fields. The ICMSH files are the spherical harmonics of the wind fields, pressure and temperature.
CDO commands
These instructions assume the use of a recent version of Climate Data Operators (CDO) (available from Max-Planck-Institut, Germany).
...
Code Block | ||
---|---|---|
| ||
cdo -t ecmwf -f nc copy <input grib> <output netcdf> |
Example 1
The following script shows how to loop over several output files using the steps above to convert to netCDF:
...
Code Block | ||
---|---|---|
| ||
$ cdo sinfo ICMSHfrq2+000000.grb File format: GRIB -1 : Institut Source Param Time Typ Grid Size Num Levels Num 1 : ECMWF unknown 11.3 var P16 65792 1 60 1 2 : ECMWF unknown 39.3 var P16 65792 1 60 1 3 : ECMWF unknown 43.3 var P16 65792 1 60 1 4 : ECMWF unknown 44.3 var P16 65792 1 60 1 5 : ECMWF unknown 152.128 var P16 65792 1 1 2 6 : ECMWF unknown 6.3 var P16 65792 1 1 2 Horizontal grids : 1 : spectral > size : dim = 65792 truncation = 255 spc = 32896 complexPacking = 1 Vertical grids : 1 : hybrid level : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 2 : hybrid level : 1 Time axis : 1 step RefTime = 1999-12-24 12:00:00 Units = hours Calendar = PROLEPTIC YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss 1999-12-24 12:00:00 cdo sinfo: Processed 6 variables over 1 timestep. ( 0.04s ) |
Example 2
Code Block |
---|
grib_set -s editionNumber=1 file file.grb #set grib2 -> grib1 cdo -t ecmwf -f nc copy file.grb file.nc #copy to netcdf cdo -t ecmwf dv2uvl file.nc file_uv.nc #div/vort -> u/v cdo -t ecmwf sp2gpl file_uv.nc file_uv_gg.nc #sh -> gp cdo -t ecmwf ml2pl,92500,85000,50000,20000 file_uv_gg.nc file_uv_gg_pl.nc #ml -> pl |