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

Compare with Current View Page History

Version 1 Next »

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 
...
  • No labels