cedadev / snap

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

isimpson002 ceda-cc report for CESM2-CAM6 v20230215 #33

Open mollymacrae opened 1 year ago

mollymacrae commented 1 year ago

The following errors were picked up by the ceda-cc checks for the control s20180125 experiment v20230215 data:

mollymacrae commented 1 year ago

_FillValue attribute needs to be set to 1e+20 and where _FillValue is present, missing_value attribute needs to be added and set to 1e+20 For example error printed for files with variable 'ps': C4.002.005: [variable_ncattribute_mipvalues]: FAILED:: missing_value must be present if _FillValue is [ps] C4.002.005: [variable_ncattribute_mipvalues]: FAILED:: Variable [ps] has incorrect attribute _FillValue=nan [correct: 1e+20]

This error appears for all variables where _FillValue attribute exists

mollymacrae commented 1 year ago

Global attribute 'realization_index': the global attribute 'realization_index' needs to be changed from string class to tuple for all files, for example for r10: C4.002.006: [global_ncattribute_cv]: FAILED:: Global attributes do not match constraints: [('realization_index', '10', "Value is not instance of required class (<class 'tuple'>): 10 -- <class 'str'>")]

mollymacrae commented 1 year ago

Incorrect frequency for variables: epfy, epfz: frequency in tables is '6hrPt' but in files is '6hrZ' vtem, wtem: frequency in tables is '6hrPtZ' but in files is '6hrZ' UBOT, VBOT: variables not found in tables, maybe these needs to be added? checks were aborted

mollymacrae commented 1 year ago

Variable type needs to be changed from float64 to float32 for variables: hus, ta, tntmp, tntrs, ua, utendepfd, utendmp, utendog, utendvtem, utendwtem, va, vtendogw, wap, zg

Example error for 'hus': C4.002.003: [variable_type]: FAILED:: Variable [hus/6hrPt] not of type float32 [float64]

mollymacrae commented 1 year ago

Time data type needs to be changed from int64 to float64 for variables: clt, hfds, mrso, mrsos, pr, prc, snd, snw, tasmax, tasmin, tauu, tauv, tntmp, tntrs, utendmp, utendepfd, utendog, utendvtem,utendwtem, vtendogw

Example error: C4.003.001: [time_attributes]: FAILED:: Time: data type not float64 [int64]

mollymacrae commented 1 year ago

Time units needs to be set to 'days since .....' rather than 'hours since' for variables: clt, hfds, pr, prc, tasmax, tasmin, tauu, tauv, tntmp, tntrs, utendepfd, utendmp, utendog, utendvtem, utendwtem, vtendogw

Example error: C4.003.001: [time_attributes]: FAILED:: time units [hours since 2018-01-25 03:00:00] attribute not set correctly to "days since ....."

mollymacrae commented 1 year ago

Required time attribute 'bounds' needs to be added for variables: hfds, mrso, pr, prc, tasmax, tasmin, tauu, tauv, tntmp, tntrs, utendepfd,utendmp, utendog, utendvtem, utendwtem, vtendogw Example error: C4.003.001: [time_attributes]: FAILED:: Required bounds attribute not present or not correct value

mrso: I can see time_bounds specified, but there is a difference from table in mrso 'dimensions' which could be the problem:
in 6hrPt table "dimensions": "longitude latitude time1", instead of "longitude latitude time" in files

mollymacrae commented 1 year ago

Incorrect 'cell_methods' attribute cell_methods attribute need to be changed for mrso, tos, siconca from the current values to:

clt: cell_methods="area: mean time: mean" mrso: cell_methods="area: mean where land time: point" tos: cell_methods="area: mean where sea time: point" siconca: cell_methods="area: time: point"

mollymacrae commented 1 year ago

Incorrect 'long_name' attribute long_name attribute need to be changed for ps, siconca, tasmax from the current values to:

ps: long_name="Surface Air Pressure" siconca: long_name="Sea-Ice Area Percentage" tasmax: long_name="6 hourly Maximum Near-Surface Air Temperature"

mollymacrae commented 1 year ago

Incorrect 'units' attribute units need to be changed for utendvtem, utendwtem from "m s-2" to "m s-1 d-1"

mollymacrae commented 1 year ago

Missing height coordinate for variables tas, tasmax, tasmin: height coordinate not found Example error: C4.003.003: [height_levels]: FAILED:: height coordinate not found ['tasmax']

islasimpson commented 1 year ago

I'm sure what is expected here. It is expected that these variables will actually be four dimensional ("time","lev","lat","lon") with 1 lev value? Or is it expected that an attribute be added called height_levels?

mollymacrae commented 1 year ago

I think the first one is right, in in lines 130 and 146 of the 6hr table the tasmax and tasmin dimensions are listed as: "dimensions": "longitude latitude time height2m" where ''height2m' is a coordinate specified in the coordinate table at line 95 with out_name 'height' The same for the tas variable in the 6hrPt table

Using ncdump to view an example tasmax file, it has a variable called height that looks like: double height ; height:units = "m" ; height:axis = "Z" ; height:positive = "up" ; height:long_name = "height" ; height:standard_name = "height" ; height:value = "2." ;