ERA5 netCDF data from the new grib to netCDF converter contains a variable which is not CF compliant. The file claims to use CF conventions version 1.7, but running it through the CF checker produced a Invalid variable type
on the expver
variable.
This error can be avoided by using the legacy netcdf converter, but the deprecation message triggered by the legacy converter indicates that CF compliance is an aim of the new converter, so it would be great if this error could be fixed before the legacy netcdf option is retired.
Kind regards,
Alistair
$ cfchecker -v 1.7 d76bc630c8d4e3494eda446dc5934c45.nc
CHECKING NetCDF FILE: d76bc630c8d4e3494eda446dc5934c45.nc
=====================
Using CF Checker Version 4.1.0
Checking against CF Version CF-1.7
Using Standard Name Table Version 86 (2024-09-05T10:52:50Z)
Using Area Type Table Version 11 (06 July 2023)
Using Standardized Region Name Table Version 4 (18 December 2018)
<snip>
------------------
Checking variable: expver
------------------
ERROR: (2.2): Invalid variable type: <class 'netCDF4._netCDF4.VLType'>: string type (vlen types not supported)
WARN: (3): No standard_name or long_name attribute specified
To aid in replication, my CDS API request is copied below:
request = {
"product_type": "monthly_averaged_reanalysis",
"variable": ["total_precipitation",],
"year": 2023,
"month": ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", ],
"time": "00:00",
"format": "netcdf",
"download_format": "unarchived",
}
client = cdsapi.Client()
dataset = "reanalysis-era5-single-levels-monthly-means"
client.retrieve(dataset, request).download()