第四节:再分析资料——主流数据集介绍、特点与获取方式

做中长期风电功率预测,说白了,最头疼的问题就是“数据不够用”。

实测气象站就那么几个,还经常缺数。这时候,再分析资料就成了我们的“救命稻草”。

我个人习惯把再分析资料理解为“用现代技术重新解读的历史天气”。它不是直接观测的,而是把过去几十年的观测数据(地面站、探空、卫星、飞机报等)喂给数值模式,再同化出一套完整、连续、物理自洽的格点数据。

嗯,这里要注意:再分析资料不是预报,它是“历史的重分析”。

核心观点:再分析资料是中长期风电功率预测建模的“燃料”。没有它,你的模型就是无米之炊。

4.1 三大主流再分析数据集

目前业界用得最多的,就是下面这三家。我挨个说说我的使用感受。

数据集 机构 时间跨度 空间分辨率 时间分辨率
ERA5 ECMWF(欧洲中心) 1940年至今 0.25°×0.25°(约31km) 1小时
CFSR / CFSv2 NCEP(美国环境预报中心) 1979年至今 0.5°×0.5°(约55km) 1小时 / 6小时
MERRA-2 NASA(美国宇航局) 1980年至今 0.5°×0.625°(约50km) 1小时

你看,ERA5在分辨率上明显占优。我在项目中遇到过好几次,用CFSR做出来的模型,在复杂地形(比如山区、沿海)误差偏大,换成ERA5后,效果立竿见影。

4.2 各数据集的特点与避坑指南

4.2.1 ERA5——目前的首选

ERA5是ECMWF的第五代再分析产品。说实话,它现在是行业标杆。

  • 优点:分辨率高(0.25°),时间分辨率1小时,变量极其丰富(风速、风向、温度、气压、辐射、降水……两百多个变量)。
  • 优点:同化系统先进,对台风、急流等极端天气的刻画比老一代产品好很多。
  • 缺点:数据量巨大。下载全球一年的数据,轻松上百GB。我刚开始用的时候,硬盘差点爆了。

我的小技巧:ERA5提供“子区域下载”功能。你只需要圈定风电场周边2°×2°的范围,数据量能减少90%以上。别傻乎乎下全球数据。

4.2.2 CFSR / CFSv2——老牌劲旅

CFSR是NCEP的产品,它的特点是“耦合模式”——大气、海洋、陆面、海冰一起算。

  • 优点:时间跨度长,从1979年到现在,适合做气候态分析。
  • 优点:CFSv2是实时运行的,可以获取近实时的再分析数据,对业务化运行很友好。
  • 缺点:分辨率偏低(0.5°),在复杂地形区域,风速的细节丢失比较严重。

我曾经踩过的坑:用CFSR做某个沿海风电场的功率预测,模型训练时效果还行,但一到台风季就崩了。后来发现,CFSR对台风的强度估计普遍偏弱。换成ERA5后,这个问题才解决。

4.2.3 MERRA-2——NASA的精品

MERRA-2是NASA的再分析产品,它最大的特色是“注重地球能量和水循环”。

  • 优点:对太阳辐射、云量、降水的刻画非常精准。如果你做光伏+风电的混合预测,MERRA-2是很好的选择。
  • 优点:数据质量稳定,NASA的质控做得很严格。
  • 缺点:变量相对较少,没有ERA5那么丰富。而且它的网格是经纬度不均匀的(0.5°×0.625°),处理起来稍微麻烦一点。

4.3 数据获取方式

数据再好,拿不到手也是白搭。我整理了一下三个数据集的获取渠道。

4.3.1 ERA5 获取

ERA5主要通过CDS(Climate Data Store)下载。你需要注册一个账号,然后使用cdsapi这个Python库。

# 安装 cdsapi
# pip install cdsapi

import cdsapi

c = cdsapi.Client()

c.retrieve(
    'reanalysis-era5-single-levels',
    {
        'product_type': 'reanalysis',
        'variable': [
            '10m_u_component_of_wind', '10m_v_component_of_wind',
            '2m_temperature', 'surface_pressure',
        ],
        'year': '2020',
        'month': '01',
        'day': ['01', '02', '03'],
        'time': ['00:00', '06:00', '12:00', '18:00'],
        'area': [40, 115, 35, 120],  # 北纬40°到35°,东经115°到120°
        'format': 'netcdf',
    },
    'era5_sample.nc')

注意:CDS下载速度有时很慢。我建议你设置好区域和变量后,让脚本在夜间跑。或者用欧洲的云服务器中转一下,速度会快很多。

4.3.2 CFSR 获取

CFSR数据可以从NCEP的服务器直接下载,也可以通过NCAR的RDA(Research Data Archive)获取。

我个人习惯用wget批量下载,因为CFSR的文件命名规则很清晰。

# 下载CFSR 2020年1月1日 00时的数据
wget https://rda.ucar.edu/data/ds094.0/2020/202001/cfsr.20200101.t00z.grb2

警告:CFSR的GRIB2文件需要专门的库来读取(比如pygribcfgrib)。别直接用xarray打开,会报错。我曾经在这上面浪费了半天时间。

4.3.3 MERRA-2 获取

MERRA-2数据通过NASA的GES DISC(戈达德地球科学数据与信息服务中心)提供。同样需要注册账号,使用earthaccess库下载。

# 安装 earthaccess
# pip install earthaccess

import earthaccess

earthaccess.login()

files = earthaccess.search(
    short_name='M2T1NXSLV',
    bounding_box=(-120, 35, -115, 40),
    temporal=('2020-01-01', '2020-01-03'),
)

earthaccess.download(files, './merra2_data/')

4.4 知识体系结构图

为了让你更直观地理解这三个数据集的关系和适用场景,我画了一张图。

再分析资料知识体系 再分析资料 ERA5 CFSR / CFSv2 MERRA-2 高分辨率·变量丰富 耦合模式·实时更新 辐射精准·质控严格 CDS · cdsapi NCEP · wget GES DISC · earthaccess 复杂地形首选 业务化运行 风光混合预测

4.5 我的选择建议

说了这么多,到底该用哪个?

我的建议很简单:

  • 如果你做科研、追求精度:无脑选ERA5。分辨率高、变量全、质量好。唯一的代价就是硬盘和下载时间。
  • 如果你做业务、需要实时数据:考虑CFSv2。它实时更新,而且数据量适中,适合部署在服务器上每天自动拉取。
  • 如果你做光伏+风电混合预测:MERRA-2的辐射数据是独一档的存在。别犹豫,用它。

最后说一句:再分析资料再好,也只是“近似真实”。它和实测数据之间永远存在偏差。我个人的做法是:先用再分析资料训练模型,再用风电场实测数据做微调(fine-tuning)。这样既保证了数据量,又保证了精度。

专注资料整理