Much of the data provided by CAMS and C3S comes in GRIB or NetCDF format.
This article gives examples how to extract data for a specific location and/or time from a GRIB or NetCDF file.
Download data
Let's say you hav a data file containing ERA5 data, specifically hourly surface pressure (sp) for the month 2003-08.
In case you do not have a data file yet, download test data: first install the ECMWF WebAPI , run this Python script:
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({
"class": "ea",
"dataset": "era5",
"date": "2010-08-01/to/2010-08-31",
"expver": "1",
"levtype": "sfc",
"param": "134.128",
"stream": "oper",
"time": "00/to/23/by/1",
"type": "an",
"target": "e5-sp-201008xx.grib",
})
server.retrieve({
"class": "ea",
"dataset": "era5",
"date": "2010-08-01/to/2010-08-31",
"expver": "1",
"levtype": "sfc",
"param": "134.128",
"stream": "oper",
"time": "00/to/23/by/1",
"type": "an",
"grid": "0.5/0.5",
"format": "netcdf",
"target": "e5-sp-201008xx.nc",
})
This download gives you a GRIB file 'e5-sp-201008xx.grib' and a NetCDF file 'e5-sp-200308xx.nc'
Looking up data values in GRIB
We want to look up the surface pressure (sp) data value for 2010-08-05 00:00, at the model point closest to our target location lon=7.36 lat=43.89
Install ECMWF ecCodes, then look up the data value with the grib_ls command:
grib_ls -l 43.89,7.36,1 -w dataDate=20100805,dataTime=0000 -p shortName e5-sp-201008xx.grib
Output:
... shortName value sp 88510 ... Input Point: latitude=43.89 longitude=7.36 Grid Point chosen #3 index=84109 latitude=43.98 longitude=7.50 distance=15.11 (Km) ...
Looking up data values in NetCDF
We want to look up the surface pressure (sp) data value for 2010-08-05 00:00, at the model point closest to our target location lon=7.36 lat=43.89
Install CDO, then look up the data value:
cdo -outputtab,lon,lat,date,time,value -selyear,2010 -selmonth,08 -selday,05 -seltime,00:00 -remapnn,lon=7.36_lat=43.89 e5-sp-201008xx.nc
Output:
# lon lat date time value ... 7.36 43.89 2010-08-05 00:00:00 88360.6 ...