Project

General

Profile

ml2pl doesn't work when upgrading cdo-1.7.2 to cdo-1.8.2

Added by regina zbinden over 6 years ago

Dear All,

after cdo was upgraded on our machines, from version 1.7.2 to version 1.8.2, the command ml2pl doesn't work anymore.
Despite several attempts to tune input files so that all the required parameters related to hybrid_sima_pressure level are properly defined, the command still fails.

For instance, with the attached file, the error message is:

-----------------------------------------------------------------
cdo ml2pl,10000,11000,12000,13500,15000,17500,20000,22500,25000,28000,30000,32000,35000,40000,45000,50000,55000,60000,63000,65000,67500,70000,72500,75000,77500,80000,82500,85000,87500,90000,92500,95000,97500,99000,100000,101000 tmp_n5.nc tmp5.nc
cdo ml2pl: This operator requires all variables on the same horizontal grid.
cdo ml2pl: Horizontal grids found:
cdo ml2pl: grid=1 type=lonlat points=16200
cdo ml2pl: grid=2 type=generic points=1

cdo ml2pl (Abort): The input stream contains variables on different horizontal grids!
-----------------------------------------------------------------

I can't figure out what is the second horizontal grid (grid=2) mentioned in this message.

If someone can help, thanks in advance!

Kind regards

tmp_n5.nc (2.97 MB) tmp_n5.nc

Replies (1)

RE: ml2pl doesn't work when upgrading cdo-1.7.2 to cdo-1.8.2 - Added by Uwe Schulzweida over 6 years ago

Dear Regina,

I can process the attached file neither with version 1.8.2 nor with 1.7.2.
The CF convention for hybrid sigma pressure coordinates is supported since CDO version 1.8.0:

http://cfconventions.org/cf-conventions/cf-conventions.html#_atmosphere_hybrid_sigma_pressure_coordinate

Here is an example with the minimum of attributes and variables which are needed in CDO:

    double lev(lev) ;
        lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
        lev:formula_terms = "ap: ap b: b ps: ps" ;
        lev:bounds = "lev_bnds" ;
    double lev_bnds(lev, bnds) ;
        lev_bnds:formula_terms = "ap: ap_bnds b: b_bnds ps: ps" ;
    double ap(lev) ;
    double b(lev) ;
    double ap_bnds(lev, bnds) ;
    double b_bnds(lev, bnds) ;
You can choose an arbitrary name of all variables and dimensions only the attributes are important.
Your data has the wrong standard_name attribute. And unfortunately CDO needs the level bounds in order to process the data correctly.

Cheers,
Uwe

    (1-1/1)