You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Much of the data provided by the Copernicus Atmosphere Monitoring Service (CAMS), the Copernicus Climate Change Service (C3S), and by meteorological centres like ECMWF 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.

In this example we work with  ERA5 data, hourly surface pressure (sp) for the month 2010-08, as specified in this data retrieval 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 script retrives a GRIB file 'e5-sp-201008xx.grib' and a NetCDF file 'e5-sp-201008xx.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 
...
  • No labels