Project

General

Profile

CMIP6 remapbil

Added by Trond Kristiansen about 3 years ago

Hi all,

I am trying to remap the latest CMIP6 climate model from the NorESM model, but the grid structure seems to be unsupported by CDO. I assume I. have to edit the information in the grid but I wonder what is needed. It seems that since latitude is a function of (y,x) and each variable has dimensions (y,x) the link between geographical coordinates and the variable seems to be missing. My grid looks like the one posted below. My command and error is:

jovyan@jupyter-trondkr:~/oceanography/cmip6/NORESM$ cdo genbil,r360x180 NorESM2-LM_dissic_r1i1p1f1_ssp585.nc tmp.nc
Warning (cdfScanVarAttr): NetCDF: Variable not found - vertices_latitude
Warning (cdfScanVarAttr): NetCDF: Variable not found - lev_bnds
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable dissic!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable lat_bounds!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable lon_bounds!

cdo genbil (Abort): Unsupported generic coordinates (Variable: dissic)!

If anyone has suggestions for how I can remap successfully I appreciate it. Thank you. Cheers, Trond

jovyan@jupyter-trondkr:~/oceanography/cmip6/NORESM$ cdo sinfov NorESM2-LM_dissic_r1i1p1f1_ssp585.nc
Warning (cdfScanVarAttr): NetCDF: Variable not found - vertices_latitude
Warning (cdfScanVarAttr): NetCDF: Variable not found - lev_bnds
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable dissic!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable lat_bounds!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable lon_bounds!
File format : NetCDF4
-1 : Institut Source T Steptype Levels Num Points Num Dtype : Parameter name
1 : unknown NorESM2-LM c instant 70 1 2 1 F64 : lev_bounds
2 : unknown NorESM2-LM v instant 70 1 138600 2 F32 : dissic
3 : unknown NorESM2-LM v instant 1 2 2 1 F64 : time_bounds
4 : unknown NorESM2-LM v instant 385 3 1440 3 F64 : lat_bounds
5 : unknown NorESM2-LM v instant 385 3 1440 4 F64 : lon_bounds
Grid coordinates :
1 : generic : points=2
bnds : 0 to 1 by 1
2 : generic : points=138600 (360x385)
3 : generic : points=1440 (4x360)
4 : generic : points=1440 (4x360)
Vertical coordinates :
1 : depth_below_sea : levels=70
lev : 0 to 6750 m
2 : surface : levels=1
3 : generic : levels=385
y : -80.11491 to 75.23495
Time coordinate : 1128 steps
RefTime = 2006-01-16 12:00:00 Units = hours Calendar = proleptic_gregorian
YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss
2006-01-16 12:00:00 2006-02-15 00:00:00 2006-03-16 12:00:00 2006-04-16 00:00:00
2006-05-16 12:00:00 2006-06-16 00:00:00 2006-07-16 12:00:00 2006-08-16 12:00:00
2006-09-16 00:00:00 2006-10-16 12:00:00 2006-11-16 00:00:00 2006-12-16 12:00:00
2007-01-16 12:00:00 2007-02-15 00:00:00 2007-03-16 12:00:00 2007-04-16 00:00:00
2007-05-16 12:00:00 2007-06-16 00:00:00 2007-07-16 12:00:00 2007-08-16 12:00:00
2007-09-16 00:00:00 2007-10-16 12:00:00 2007-11-16 00:00:00 2007-12-16 12:00:00
2008-01-16 12:00:00 2008-02-15 00:00:00 2008-03-16 12:00:00 2008-04-16 00:00:00
2008-05-16 12:00:00 2008-06-16 00:00:00 2008-07-16 12:00:00 2008-08-16 12:00:00
2008-09-16 00:00:00 2008-10-16 12:00:00 2008-11-16 00:00:00 2008-12-16 12:00:00
2009-01-16 12:00:00 2009-02-15 00:00:00 2009-03-16 12:00:00 2009-04-16 00:00:00
2009-05-16 12:00:00 2009-06-16 00:00:00 2009-07-16 12:00:00 2009-08-16 12:00:00
2009-09-16 00:00:00 2009-10-16 12:00:00 2009-11-16 00:00:00 2009-12-16 12:00:00
2010-01-16 12:00:00 2010-02-15 00:00:00 2010-03-16 12:00:00 2010-04-16 00:00:00
2010-05-16 12:00:00 2010-06-16 00:00:00 2010-07-16 12:00:00 2010-08-16 12:00:00
2010-09-16 00:00:00 2010-10-16 12:00:00 2010-11-16 00:00:00 2010-12-16 12:00:00
................................................................................
................................................................................
..
2095-01-16 12:00:00 2095-02-15 00:00:00 2095-03-16 12:00:00 2095-04-16 00:00:00
2095-05-16 12:00:00 2095-06-16 00:00:00 2095-07-16 12:00:00 2095-08-16 12:00:00
2095-09-16 00:00:00 2095-10-16 12:00:00 2095-11-16 00:00:00 2095-12-16 12:00:00
2096-01-16 12:00:00 2096-02-15 00:00:00 2096-03-16 12:00:00 2096-04-16 00:00:00
2096-05-16 12:00:00 2096-06-16 00:00:00 2096-07-16 12:00:00 2096-08-16 12:00:00
2096-09-16 00:00:00 2096-10-16 12:00:00 2096-11-16 00:00:00 2096-12-16 12:00:00
2097-01-16 12:00:00 2097-02-15 00:00:00 2097-03-16 12:00:00 2097-04-16 00:00:00
2097-05-16 12:00:00 2097-06-16 00:00:00 2097-07-16 12:00:00 2097-08-16 12:00:00
2097-09-16 00:00:00 2097-10-16 12:00:00 2097-11-16 00:00:00 2097-12-16 12:00:00
2098-01-16 12:00:00 2098-02-15 00:00:00 2098-03-16 12:00:00 2098-04-16 00:00:00
2098-05-16 12:00:00 2098-06-16 00:00:00 2098-07-16 12:00:00 2098-08-16 12:00:00
2098-09-16 00:00:00 2098-10-16 12:00:00 2098-11-16 00:00:00 2098-12-16 12:00:00
2099-01-16 12:00:00 2099-02-15 00:00:00 2099-03-16 12:00:00 2099-04-16 00:00:00
2099-05-16 12:00:00 2099-06-16 00:00:00 2099-07-16 12:00:00 2099-08-16 12:00:00
2099-09-16 00:00:00 2099-10-16 12:00:00 2099-11-16 00:00:00 2099-12-16 12:00:00
cdo sinfon: Processed 5 variables over 1128 timesteps [0.18s 138MB].


Replies (3)

RE: CMIP6 remapbil - Added by Ralf Mueller about 3 years ago

hi Trond!

For more insight, it would be great if you upload a single timestep of the input or at least the output of ncdump -h.

cdo -verifygrid NorESM2-LM_dissic_r1i1p1f1_ssp585.nc
might be very informative, too.

cheers
ralf

RE: CMIP6 remapbil - Added by Trond Kristiansen about 3 years ago

Thank you for your quick reply. When I run the command verifygrid I get the results pasted below. I also attach a simple timestep of the file (test.nc, 46MB).

Thanks for taking a look.
Trond

jovyan@jupyter-trondkr:~/oceanography/cmip6/NORESM$ cdo -verifygrid NorESM2-LM_dissic_r1i1p1f1_ssp585.nc
Warning (cdfScanVarAttr): NetCDF: Variable not found - vertices_latitude
Warning (cdfScanVarAttr): NetCDF: Variable not found - lev_bnds
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdfInqContents): Coordinates variable longitude can't be assigned!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable dissic!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable lat_bounds!
Warning (cdf_read_coordinates): Inconsistent grid structure for variable lon_bounds!
cdo verifygrid: Grid no 1 (of 4) consists of 2 points (type: generic)
cdo verifygrid: Grid no 2 (of 4) consists of 138600 points (type: generic)
cdo verifygrid: Grid no 3 (of 4) consists of 1440 points (type: generic)
cdo verifygrid: Grid no 4 (of 4) consists of 1440 points (type: generic)
cdo verifygrid: Processed 5 variables [0.03s 25MB].

test.nc (47.6 MB) test.nc Test file NorESM2-LM

RE: CMIP6 remapbil - Added by Ralf Mueller about 3 years ago

alright - I can see several inconsistencies

  • the bounds attribute of the coordinate variable latitude is not present in the file
  • longitude does not have all necessary meta-data for CF-conform coordinate variable (unlike latitude)
  • lat_bounds and lon_bounds must be interpreted as normal data variables although from their name and unit they seem to be coordinate variables. No data or other coordinate variables uses them
  • in case those are coordinates, CDO does not support time-dependent coordinates

Because of the above reasons CDO identifies multiple inconsistent grids.

    (1-3/3)