cedadev / snap

SNAP Coordinated Stratospheric Nudging Experiments
BSD 2-Clause "Simplified" License
0 stars 6 forks source link

dspecq ceda-cc report for CNRM-CM61 v20220818 #18

Open charliepascoe opened 1 year ago

charliepascoe commented 1 year ago

The errors found by the ceda-cc code in the comments below. Each comment describes a separate error and includes a list of the variables in whose data files the error is found.

charliepascoe commented 1 year ago

Global attributes do not match constraints: 'source_id', 'CNRM-CM61', "['ACCESS-S', 'BCC-CSM2-HR', 'CESM2-CAM6', 'CNRM-CM-61']" The source_id for this model in the SNAPSI_CV MIP table is CNRM-CM-61. The source_id in the data files is CNRM-CM61.

We should either correct the data files or update the SNAPSI_CV.json This "error" is found in all the data files.

charliepascoe commented 1 year ago

Variable [siconca] has incorrect attributes: long_name="Sea-Ice Area Percentage (Atmospheric Grid)" [correct: "Sea-Ice Area Percentage"] The ceda-cc doesn't know about the "(Atmospheric Grid)" addition to the long name. Does the 6hrPt MIP table need to be updated?

charliepascoe commented 1 year ago

Global attributes do not match constraints: 'mip_era', 'CMIP6', "['SNAPSI']" The mip_era in the SNAPSI_CV MIP table is "SNAPSI". The mip_era in the data files is "CMIP6".

I think that CMIP6 (or post-CMIP6) is correct (SNAPSI is the activity_id). So the SNAPSI_CV.json should be corrected.

charliepascoe commented 1 year ago

height coordinate not found This error was found in ceda-cc checks for tas, tasmax, tasmin, uas, and vas.

Here is the dimension information in the netcdf file for the tas variable:

dimensions:
    lon = 360 ;
    lat = 181 ;
    nbnd = 2 ;
    time = UNLIMITED ; // (180 currently)

and float tas(time, lat, lon)

The single level height variable is described in the netCDF with

    tas:comment = "near-surface (usually, 2 meter) air temperature" ;
    tas:dimensions = "longitude latitude time1 height2m"

I think the issue is that tas:dimensions has 4 elements whereas the dimensions listed at the top of the netcdf file only describes 3 axes.

In contrast the psl data files has 3 elements in psl:dimensions psl:dimensions = "longitude latitude time1"

So I guess we either we need to define a separate dimension for the single-level 2m height, or we remove "height2m" from the end of tas:dimensions.

I found similar issues with the ccmi-2022 single level variables https://github.com/cedadev/ccmi-2022/issues/55

charliepascoe commented 1 year ago

Variable [va] has incorrect attributes: cell_methods="time: point" [correct: "longitude: mean time: point"] Damien wrote: "I think the correct value should remain "time: point" as in my file, and not "area: mean time: point". Indeed, I see no reason why the "cell_methods" should be different between variable "va" (meridional wind speed), and another variable such as "ua" (zonal wind speed) for which no such change is requested." In answer to https://github.com/cedadev/snap/issues/12#issuecomment-1199090475

The 6hrPt MIP Table has been updated, the correct cell_methods for va is now "longitude: mean time: point"

martinjuckes commented 1 year ago

There needs to be a coordinates attribute on the tas variable, with value set to the name of the variable containing the height. the dimensions attribute is not recognised by CF and so will be ignored.

charliepascoe commented 1 year ago

Advice from martin is to add a height coordinate and include a height coordinate variable at the top of the data section of the netCDF file. Example metadata would look like this:

float tas(time, lat, lon) ;
        tas:standard_name = "air_temperature" ;
        tas:long_name = "Near-Surface Air Temperature" ;
        tas:units = "K" ;
        tas:coordinates = "height" ;
        tas:_FillValue = 1.e+20f ;
        tas:missing_value = 1.e+20f ;
        tas:comment = "near-surface (usually, 2 meter) air temperature." ;
        tas:original_name = "mo: m01s03i236" ;
        tas:cell_methods = "time: mean" ;