Project

General

Profile

dataType attribute missing when applying aexpr

Added by Guido Cioni about 2 months ago

I'm trying to compute geopotential height from geopotential and add the variable to the same grib file.
For some reason this is changing the dataType of every other variable in the resulting file.
Before conversion

era5_accf_pressure_20250909_0000.grb2
edition      centre       date         dataType     gridType     stepRange    typeOfLevel  level        shortName    packingType  
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  1000         w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  900          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  800          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  700          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  600          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  500          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  400          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  300          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  200          w            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          q            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          t            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          pv           grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          z            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          u            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          v            grid_simple 
2            ecmf         20250909     an           regular_ll   0            isobaricInhPa  100          w            grid_simple 
70 of 70 messages in era5_accf_pressure_20250909_0000.grb2

Then I do cdo aexpr,gh=z/9.80665 era5_accf_pressure_20250909_0000.grb2 era5_accf_20250909_0000.grb2 and as result

era5_accf_20250909_0000.grb2
edition      centre       date         dataType     gridType     stepRange    typeOfLevel  level        shortName    packingType  
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          q            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          t            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          pv           grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          z            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          u            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          v            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  1000         w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  900          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  800          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  700          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  600          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  500          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  400          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  300          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  200          w            grid_simple 
2            ecmf         20250909     missing      regular_ll   0            isobaricInhPa  100          w            grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  1000         gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  900          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  800          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  700          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  600          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  500          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  400          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  300          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  200          gh           grid_simple 
2            ecmf         20250909     af           regular_ll   0            isobaricInhPa  100          gh           grid_simple 
80 of 80 messages in era5_accf_20250909_0000.grb2

I think CDO is trying to determine the metadata of the new variable and somehow cannot figure that out.


Replies (2)

RE: dataType attribute missing when applying aexpr - Added by Uwe Schulzweida about 2 months ago

If you use ecCodes for this GRIB1 data, the metadata for the other variables should improve:

cdo --eccodes aexpr,gh=z/9.80665 infile outfile

RE: dataType attribute missing when applying aexpr - Added by Guido Cioni about 2 months ago

THanks Uwe, for some reason cdo was using the wrong grib tables and I suspect that was the issue because now, even without the --eccodes option, I get no missing dataType

    (1-2/2)