Project

General

Profile

netCDF to GRIB conversion issue

Added by Rodrigo Delgado over 9 years ago

Dear all

We are converting files containing temperature from a global CMIP5 climate output files (netCDF) using CDO GRIB conversion. The files are already in pressure levels, which is expressed in Pa. ncdump reported as value of the variable associated with the following levels.:

lev = 100000, 97500, 95000, 92500, 90000, 87500, 85000, 82500, 80000, 77500, 
     75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 
     25000, 22500, 20000, 17500, 15000, 12500, 10000, 7000, 5000, 3000;

We use the following command to convert from netCDF to GRIB:

cdo -f grb setltype,100 -chparam,-1,11 temp5.nc final.grb

But when checking the pressure levels written in the GRIB file, these are shown as follows:

PDS # 1 255 34464 11 100 134 160 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 2 255 11 100 31964 124 220 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 3 255 11 100 29 464 115 24 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 26964 4 255 11 100 105 84 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 5 255 11 100 24464 95 144 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 6 255 11 100 21964 85 204 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 7 255 11 100 19464 76 8 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 16964 8255 11 100 66 68 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 9 255 11 100 14464 56 128 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 10 255 11 100 11964 46 188 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 11 255 11 100 9464 36 248 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 12 255 11 100 4464 17 112 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 13 255 11 100 65000 253 232 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 14 255 11 100 60000 234 96 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 15 255 11 100 55000 214 216 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 16 255 11 100 50000 195 80 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 17 255 11 100 45000 175 200 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 18 255 11 100 40 000 156 64 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 19 255 11 100 35000 136 184 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 20 255 11 100 30000 117 48 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 21 255 11 100 25000 97 168 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 22 255 11 100 22500 87 228 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 23 255 11 100 20000 78 32 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 24 255 11 100 68 92 17500 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 25 255 11 100 15 000 58 152 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 26 255 11 100 12500 48 212 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 27 255 11 100 10000 39 16 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 28 255 11 100 7000 27 88 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 29 255 11 100 5000 19 136 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1 
PDS # 30 255 11 100 3000 11 184 BMSFLG: 0 1970 01 01 00 00 2 0 0 10 1

We believe that CDO is not recording the level data as hPa, when the maximum allowed value for the field (unsigned integer data type) is exceeded, it restarts and saves a wrong pressure value. How to fix this so that CDO correctly enter the final GRIB file?

Thanks
Rodrigo


Replies (1)

RE: netCDF to GRIB conversion issue - Added by Rodrigo Delgado over 9 years ago

Sorry, I would like to amend the grib listing coming from gribscan:

PDS #1    255  11 100 34464 134 160 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #2    255  11 100 31964 124 220 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #3    255  11 100 29464 115  24 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #4    255  11 100 26964 105  84 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #5    255  11 100 24464  95 144 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #6    255  11 100 21964  85 204 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #7    255  11 100 19464  76   8 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #8    255  11 100 16964  66  68 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #9    255  11 100 14464  56 128 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #10   255  11 100 11964  46 188 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #11   255  11 100 9464  36 248 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #12   255  11 100 4464  17 112 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #13   255  11 100 65000 253 232 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #14   255  11 100 60000 234  96 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #15   255  11 100 55000 214 216 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #16   255  11 100 50000 195  80 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #17   255  11 100 45000 175 200 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #18   255  11 100 40000 156  64 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #19   255  11 100 35000 136 184 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #20   255  11 100 30000 117  48 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #21   255  11 100 25000  97 168 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #22   255  11 100 22500  87 228 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #23   255  11 100 20000  78  32 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #24   255  11 100 17500  68  92 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #25   255  11 100 15000  58 152 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #26   255  11 100 12500  48 212 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #27   255  11 100 10000  39  16 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #28   255  11 100 7000  27  88 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #29   255  11 100 5000  19 136 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1
PDS #30   255  11 100 3000  11 184 BMSFLG: 0 1970 01 01 00 00   2   0   0  10        1

Thanks in advance!
Rodrigo

    (1-1/1)