关于欧洲中心的ERA5数据,最令人想吐槽的就是官方未给出方便快捷的逐日数据下载,需要自己下载逐小时数据再进行处理,本篇文章共总结了3种方法,通过ERA5逐小时数据获取逐日数据:
一、官方提供的在线数据计算
网址:Copernicus Climate Data Store | Copernicus Climate Data Store
该方法的优点是指向性强,但是如果要下载多年日平均数据,可能需要每一年每一个月手动下载,效率相对较低。
[2021/09/09 更新] 关于Python爬数据,最近在气象家园发现一个不错的贴子,可以参考:ERA5逐日资料下载方法-数据资料-气象家园_气象人自己的家园
二、获取ERA5逐小时数据后通过CDO计算
首先下载好ERA5的逐小时数据(个人推荐用Python下载),然后用CDO处理(课题研究组服务器自带或自行下载Python-CDO包),代码举例如下:
Using the Climate Data Operators (CDO). These operators will process all variables on the file. For example:
cdo daymean foo_hourly.nc foo_daily_mean.nc
cdo daymin foo_hourly.nc foo_daily_min.nc
cdo daymax foo_hourly.nc foo_daily_max.nc
cdo daysum foo_hourly.nc foo_daily_sum.nc
[附] Python下载ERA5数据的官方教学:
Climate Data Store (copernicus.eu)
[2024/09/03 更新] CDS-Beta现已推出,旧版CDS即将关闭,以后统一使用ECMWF账号进行登录和数据获取,大家注意对CDSAPI配置进行更新。
三、获取ERA5逐小时数据后通过NCL计算
首先下载好ERA5的逐小时数据,然后用NCL处理,代码举例如下:
begin
f = addfile("./sst.1979.nc", "r")
sst_hourly = short2flt(f->sst)
printVarSummary(sst_hourly)
opt = True
opt@nval_crit = 8 ; require at least 8 values per day (user-defined)
sst_daily = calculate_daily_values(sst_hourly, "avg", 0, opt) ; use "avg" or "ave"
printVarSummary(sst_daily)
end
在利用NCL处理ERA5逐小时数据时,可以灵活应用delete命令删除变量释放内存,保证程序能够RUN下去;当然,即便如此,程序也可能会跑崩,实在不行只能转Python了,祝各位好运。
原创纯手打,转载请声明!!