由ERA5逐小时数据获取逐日数据——三种方法

本文介绍了如何从ERA5逐小时数据中获取逐日数据的三种方法:1) 使用官方在线数据计算服务,但效率较低;2) 下载逐小时数据后通过CDO进行计算,适合大规模处理;3) 利用NCL处理逐小时数据,可能需要考虑内存管理。提供了Python下载ERA5数据的教程链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        关于欧洲中心的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了,祝各位好运。

原创纯手打,转载请声明!!

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值