...
- Download 2m temperature from the Copernicus Climate Change Service (C3S)'s Climate Data Store (CDS) and save the data as file t2m_20000801.grib. In this example, selections are set as below:
- Dataset: ERA5 hourly data on single levels from 2000 to 2017 (you may see different years as new data is released)
- ParameterParameter : 2m temperature
- Product type: Reanalysis
- YearYear : 2000
- MonthMonth : August
- DayDay : 01
- TimeTime : 06:00, 12:00 and 18:00
- FormatFormat : GRIB
Check the GRIB file by issuing the "grib_ls -P time t2m_20000801.grib", you should see three GRIB messages in the file at three different times: 600, 1200, 1800 as shown below. Remember three time values were selected in step 1.
Code Block language bash t2m_20000801.grib time edition centre typeOfLevel level dataDate stepRange dataType shortName packingType gridType 600 1 ecmf surface 0 20000801 0 an 2t grid_simple regular_ll 1200 1 ecmf surface 0 20000801 0 an 2t grid_simple regular_ll 1800 1 ecmf surface 0 20000801 0 an 2t grid_simple regular_ll 3 of 3 messages in t2m_20000801.grib 3 of 3 total messages in 1 files
Say I want to extract lat, lon, 2t (2m temperature) at time = 12:00 from the GRIB file. Run "grib_get_data -w time=1200 t2m_20000801.grib > t2m_20000801temp.csv" and you will get a file containing data like below:
Make t2m_20000801.csv a proper CSV fileCode Block language bash Latitude, Longitude, Value 90.000 0.000 2.7346786499e+02 90.000 0.250 2.7346786499e+02 90.000 0.500 2.7346786499e+02 90.000 0.750 2.7346786499e+02 ...
Use script below to format the CSV file
Code Block language bash #!/usr/bin/env python """ Save as format.py, then run "python format.py". Input file : temp.csv Output file: t2m_20000801.csv """ with open('temp.csv', 'r') as f_in, open('t2m_20000801.csv', 'w') as f_out: f_out.write(next(f_in)) [f_out.write(','.join(line.split()) + '\n') for line in f_in]
You have a CSV file t2m_20000801.csv, which is ready to be imported in Excel. Notice there are over 1 million records!
Info |
---|
If you have CDS API and ecCodes (with its Python interface) installed, you can do the above by writing up a Python script. |
...