Project

General

Profile

cdo 1.9.10 cmor 3.3.3

Added by martin lindahl almost 3 years ago

Hi,
I try to run cdo cmor on cmip6 data and as I have some issues, I try to do it on an alredy cmorized file, expecting to
get it back with the correct name.

cdo cmor,CMIP6_Lmon.json mytrial.nc

gives

cdo cmor: MIP table file = 'CMIP6_Lmon.json'.
cdo cmor (Warning): Required Attribute 'required_time_units' from configuration is invalid!
Continue with infile time units instead.

cdo cmor (Abort): ERROR (infile: 'mytrial.nc')!
Could not find all index values required for describing the ensemble member (rip).
Make sure you have specified either 'variant_label' or all 3 'rip' indexes.

although I seem to have 3 rips and variant_label among the attributes in mytrial.nc (see attached file ) == ncdump mytrial.nc |head -100 >myerrors.dat)

Best,

Martin Lindahl


Replies (6)

RE: cdo 1.9.10 cmor 3.3.3 - Added by Fabian Wachsmann almost 3 years ago

Dear Martin Lindahl,

please try to set the command line keyvalue:

kaa=y

which is short for
keep_all_attributes=y

Example:

cdo cmor,CMIP6_Lmon.json,kaa=y mytrial

Note that cmor 3.3. is suitable to create the CMIP6 data standard up to version 1.00.28 (June 2020). Updates of the cmip6-cmor-tables may lead to incompatibilities. I recommend you use the recent tables and downgrade if it does not work.

Also note that `cdo cmor` is yet optimized for the model raw output of MPI-ESM1-2, AWI-ESM and ICON. The file `mytrial` not only has to have the same data structure as the required one defined in `Lmon.json` but it must also be understood by cdo. Some adaptions may be necessary with other cdo commands before 'cdo cmor' works. I will support you in this.

Best,
Fabi

RE: cdo 1.9.10 cmor 3.3.3 - Added by martin lindahl almost 3 years ago

I am using cdo 1.9.10, see below (it was set up by sysadm on tetralith.nsc.liu.se)

I create a textfile w the line 'variant_label=r1i1p1f1' and do 'cdo cmor,CMIP6_Lmon010028.json,kaa=y,i=test.txt mytrial_MPI-ESM1-2_gpp.nc' but with the same results.

Cheers, Martin

(cdo -V
Climate Data Operators version 1.9.10 (https://mpimet.mpg.de/cdo)
System: x86_64-pc-linux-gnu
CXX Compiler: mpiicpc -g -O2 -fopenmp -pthread
CXX version : icpc (ICC) 18.0.1 20171018
C Compiler: mpiicc -O2 -fopenmp -pthread -pthread
C version : icc (ICC) 18.0.1 20171018
F77 Compiler: mpiifort -O2
F77 version : ifort (IFORT) 18.0.1 20171018
Features: 376GB 32threads C++14 OpenMP45 Fortran PTHREADS HDF5 NC4/HDF5 OPeNDAP UDUNITS2 PROJ CMOR SSE2
Libraries: HDF5/1.8.19 proj/7.2.0 CMOR/3.4.0
Filetypes: srv ext ieg grb1 grb2 nc1 nc2 nc4 nc4c nc5
CDI library version : 1.9.10
cgribex library version : 1.9.5
ecCodes library version : 2.10.0
NetCDF library version : 4.4.1.1 of Jun 21 2018 11:10:23 $
hdf5 library version : 1.8.19
exse library version : 1.4.2
FILE library version : 1.9.1
)

RE: cdo 1.9.10 cmor 3.3.3 - Added by Fabian Wachsmann almost 3 years ago

Dear Martin,

could you run cdo cmor in verbose mode with:

 cdo -v cmor... 

and copy the stdoutput here?

It seems like the operator somehow lose the info that you want to produce CMIP6 standard. So you can give it a try to set

 project_id=CMIP6 

as a new line in the test.txt.

Best,
Fabi

RE: cdo 1.9.10 cmor 3.3.3 - Added by martin lindahl almost 3 years ago

It helps, however now it appears to require several more cmip6-cmor-table .json files. I dont seem to be able to define one location for them (see attached file)

cdo -v cmor,CMIP6_Lmon010028.json,kaa=y,i=test.txt mytrial_MPI-ESM1-2_gpp.nc &>errors.dat

RE: cdo 1.9.10 cmor 3.3.3 - Added by Fabian Wachsmann almost 3 years ago

cdo cmor deduces both the project and the directory from the MIP-table specified as first argument. For that, it uses '/' and '_' characters. (consider that if you modify the tables).

There was a bug in the retrieval of the project from a MIP-table specification with a relative path. So when you provided "CMIP6_Lmon.json", the operator parses "MIP6" instead of "CMIP6" as a project_id. I debugged that and it will be updated in a new version. In the mean time, you have to specify "project_id=CMIP6" in the test.txt.

Also, in your use case, the cmip6-cmor-table directory would be the current working directory (CWD). Alternatively, you can specify

mip_table_dir="/path/to/tables" 

in the configuration "test.txt". If you do so, move your Lmon*.json to that directory as well. If you do not want to use all usual cmip6-cmor-tables, I can tell you that CMOR is looking for:
CMIP6_coordinate.json
CMIP6_CV.json
CMIP6_formula_terms.json
CMIP6_grids.json
which all have to be in the CWD then.

Best,
Fabi

RE: cdo 1.9.10 cmor 3.3.3 - Added by martin lindahl almost 3 years ago

Now it works.

Many Thanks, Martin

    (1-6/6)