GRIB to NetCDF File | Download as NetCDF File

Dear all,

I have been trying to download Arctic regional reanalysis on single levels from 1991 to present for the following parameters: 10m wind direction, 10m wind speed, 2m temperature, Albedo, Surface net solar radiation, Total cloud cover. The timeframe is 2022 and 2023 and forecasting.

Unfortunately trying to do the NetCDF experimental download takes over 10 hours in total. If I download it as a grib file, it also takes about 3-4 hours and I have difficulties to convert it to a netcdf file as it says that the grid type is not compatible, see below

grib_to_netcdf -o westdomain.nc westdomain.grib
grib_to_netcdf: Version 2.30.2
grib_to_netcdf: Processing input file 'westdomain.grib'.
grib_to_netcdf: Found 23256 GRIB fields in 1 file.
grib_to_netcdf: Ignoring key(s): method, type, stream, refdate, hdate
grib_to_netcdf: Creating netCDF file 'westdomain.nc'
grib_to_netcdf: NetCDF library version: 4.9.2 of May 19 2023 11:45:38 $
grib_to_netcdf: Creating large (64 bit) file format.

ECCODES ERROR   :  Grid type = lambert
ECCODES ERROR   :  First GRIB is not on a regular lat/lon grid or on a regular Gaussian grid. Exiting.


See below the gridtype:

gridtype  = projection
gridsize  = 1356561
xsize     = 1069
ysize     = 1269
xname     = x
xunits    = "m"
yname     = y
yunits    = "m"
xfirst    = 0
xinc      = 2500
yfirst    = 0
yinc      = 2500
grid_mapping = Lambert_Conformal
grid_mapping_name = lambert_conformal_conic
standard_parallel = 72.
longitude_of_central_meridian = 324.
latitude_of_projection_origin = 72.
earth_radius = 6371229.
false_easting = 1334998.98470491
false_northing = 1584946.01136235
longitudeOfFirstGridPointInDegrees = 302.903
latitudeOfFirstGridPointInDegrees = 55.81


If anyone has encountered the same problems, I would appreciate some advice. Thank you very much!

Hi Kim,

usually I am happy with grib format but I just tried to convert CARRA T2m from grib to netcdf with the help of CDO and that worked smoothly. More info on CDO: https://code.mpimet.mpg.de/projects/cdo
The command that I used: cdo -f nc copy T2m_an_202012.grb T2m_an_202012.nc
I opened the netcdf-file with ncview and it looks fine. Also the grid description in the netcdf-file seems correct.

So, you might try to convert with CDO.

Best regards,
Semjon

Hi Semjon,

thank you for your answer! I have also tried cdo -f nc copy and there I encounter this issue:

cdi  warning (gribapiScanTimestep): Record 45 (name=dsrp id=54.4.0 lev1=0 lev2=0) timestep 9: Parameter not defined at timestep 1!
cdo    copy: Processed 54262440 values from 5 variables over 8 timesteps [1.14s 68MB]

Hence, the parameter dsrp gets erased .. Have you encountered this problem before?


All the best,

Kim

Hi,

no, I am not accounting this problem. There is no warning/error message when I run the command:
sm_semsc@bi3:T2m$ cdo -f nc4 copy T2m_an_202012.grb T2m_an_202012.nc4
cdo    copy: Processed 1 variable over 248 timesteps [7.50s 95MB].
sm_semsc@bi3:T2m$

Have you tried with one parameter at a time? In my case, it's T2m only. Perhaps, this issue is related to the wind or another parameter?

Best regards,
Semjon

Hi again,

this will be my next attempt yes. I will download a dataset per parameter and then merge them after they are converted to netCDF.

Thank you for your help.

All the best,

Kim

This worked, thank you! I have one question, does your final .nc file have lat and lon parameters? For me it's still the Lambert_Conformal and I would love to convert the grid to lat and lon. Do you know how this works? I tried with the grib files before without success.


All the best,

Kim

The grid remains unchanged when changing from grib to netcdf. If you want the data on a different grid then you would need to perform an interpolation to the new grid. That's at least my understanding.

If you have a grid description of your desired grid you could try the CDOs to do the jobb. For example, you could test a Bilinear interpolation with the command "remapbil".

cdo remapbil,TARGET_GRID INFILE OUTFILE

Best regards,
Semjon

Yes, this way I understood it as well. I am just not very familiar with this interpolation.

I will see how I can do this as I need lat and lon as variables which is not given with the current grid type.

All the best,

Kim