cdo 1.9.10 cmor 3.3.3
Added by martin lindahl almost 4 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
myerrors.dat (5.81 KB) myerrors.dat |
Replies (6)
RE: cdo 1.9.10 cmor 3.3.3 - Added by Fabian Wachsmann almost 4 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 4 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 4 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 4 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
errors.dat (6.08 KB) errors.dat |
RE: cdo 1.9.10 cmor 3.3.3 - Added by Fabian Wachsmann almost 4 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 4 years ago
Now it works.
Many Thanks, Martin