3780 字
19 分钟
Google发布AI天气预报系统实时与历史预报数据

****

在全球气候变化日益加剧的背景下,快速且准确的天气预报变得尤为重要。然而,由于天气系统本身的混沌性、数据量庞大以及无法完全测量所有变量等特点,即使很小的测量误差也会迅速放大,导致预报准确性受到影响。传统数值天气预报(Numerical Weather Prediction, NWP)通过物理方程构建天气系统数学模型,依赖超算资源求解复杂方程组,虽在科学工程上取得里程碑式成就,却面临两大瓶颈:其一,物理方程设计与算法优化需耗费大量专业人力与时间成本;其二,高精度预测需调用数百台服务器协同计算,资源消耗巨大。而深度学习为天气预报提供了一种全新的思路:不使用物理方程,而是直接利用历史数据来构建预报系统。

因此,Google DeepMind和Google Research联合开发了新一代AI天气预报系统WeatherNext,该系统包括用于确定性预报的WeatherNext Graph和用于集合预报的WeatherNext Gen两个核心模型。作为一项最先进的基于人工智能的天气预报技术,WeatherNext与传统的基于物理方程的天气模型相比,不仅运算更快、效率更高,而且预报可靠性也更优。

近期,Google DeepMind现已通过Google云计算平台向全球科研人员开放了WeatherNext模型的访问权限,同时提供实时和历史数据支持。

本文将介绍WeatherNext模型家族的核心模型以及如何通过Google BigQuery和Google Earth Engine获取并分析WeatherNext提供的预报数据。

WeatherNext模型家族

WeatherNext是一个基于人工智能的最先进天气预报技术平台,由Google DeepMind和Google Research联合开发。目前,WeatherNext家族包含两个主要模型:

1. WeatherNext Graph

WeatherNext Graph代表了AI天气预报领域的重大进步。它提供比目前最佳确定性系统更准确、更高效的确定性预报 (即单次预测)。

该模型特别适用于对效率和时间分辨率要求极高的应用场景,且确定性预报更易于使用。

  • 预报内容: 单个地点和时间的单个天气预报
  • 时间分辨率: 6 小时
  • 预报时效: 10 天

WeatherNext Graph的核心是GraphCast模型,这是一个能够进行中长期天气预报的先进AI模型。GraphCast能够以空前的精度预测未来10天的天气状况,其速度和准确性均超越了行业金标准——欧洲中期天气预报中心 (ECMWF) 的高分辨率预报 (HRES) 系统。

GraphCast 的突破性在于它采用了深度学习方法,利用数据而非物理方程来构建天气预报系统。GraphCast通过学习数十年历史天气数据,建立地球天气演变的原因和结果模型。

GraphCast 基于机器学习和图神经网络 (GNNs),特别擅长处理空间结构化数据。它以 0.25 度经纬度 (赤道地区约 28km x 28km) 的高分辨率进行预报,覆盖全球超过一百万个网格点。在每个网格点,模型预测五种地表变量(包括温度、风速和风向、平均海平面气压)以及 37 个高度层级的六种大气变量(包括比湿、风速和风向、温度)。

尽管GraphCast的训练过程计算密集,但其预报模型效率极高。利用单个Google TPU v4机器,GraphCast可以在不到一分钟的时间内完成10天的预报。相比之下,使用传统方法(如 HRES)进行 10 天预报可能需要数百台超级计算机运行数小时。

在与金标准确定性系统 HRES 的全面性能评估中,GraphCast 在超过90%的 1380个测试变量和预报时效上提供了更准确的预测。在对流层(最接近地球表面的 6-20 公里区域)的评估中,GraphCast 在 99.7% 的测试变量上优于 HRES。

GraphCast 还能更早地发出极端天气事件预警,例如更准确地预测气旋路径,识别与洪水风险相关的大气河流,并预测极端高温的出现。这些能力有望通过提升准备程度来拯救生命。

2. WeatherNext Gen

WeatherNext Gen能够准确生成集合预报 (即一系列可能的未来天气情景),其性能优于目前广泛使用的集合模型。这有助于决策者更好地理解天气不确定性和极端天气风险。

作为最新模型,WeatherNext Gen具有更长的预报时效,其概率预报能够捕捉更广泛的天气演变轨迹,非常适合气旋路径追踪等应用。

  • 预报内容: 每个地点和时间最多 50 个天气预报集合
  • 时间分辨率: 12 小时
  • 预报时效: 15 天

WeatherNext Gen的核心是GenCast模型,这是一个高分辨率 (0.25°) 的AI集合预报模型。GenCast提供的日常天气和极端天气事件预报均优于顶级业务系统——欧洲中期天气预报中心 (ECMWF) 的ENS集合预报系统,预报时效可达15天。

GenCast是AI天气预报发展历程中的一个关键里程碑,它基于Google之前的确定性天气模型,并在其基础上进行了重大改进。与之前的模型不同,GenCast的预报结果包含50个或更多预测的集合,每个预测代表一种可能的天气演变轨迹。

GenCast 是一种扩散模型,属于生成式AI模型,与近年来在图像、视频和音乐生成领域取得突破性进展的模型类型相同。然而,GenCast与这些模型有所不同,它针对地球的球面几何形状进行了优化,并学习准确生成未来天气情景的复杂概率分布。

GenCast 通过使用ECMWF的ERA5档案库中四十年历史天气数据进行训练。这些数据包括温度、风速以及不同高度的气压等变量。模型从这些处理后的天气数据中学习了全球天气模式,分辨率为0.25°。

为了严格评估GenCast的性能,研究人员使用2018年之前的历史天气数据对其进行训练,并使用2019年的数据进行测试。GenCast在97.2%的目标变量和预报时效组合中优于ENS,在预报时效超过36小时的情况下,这一比例高达99.8%。

利用单个Google Cloud TPU v5,GenCast仅需8分钟即可生成一个15天的集合预报,并且集合中的每个预报都可以并行生成。相比之下,传统的物理集合预报(如 ENS)在0.2°或0.1°分辨率下,需要数万台超级计算机运行数小时才能完成。

GenCast在极端天气事件预报方面也表现出色,能够更准确地预测极端高温、寒冷和大风风险。在热带气旋(飓风和台风)预测方面,GenCast能够更准确地预测风暴路径,为提前预警争取宝贵时间。

获取WeatherNext提供的实时与历史预报数据

WeatherNext提供每日四次的实时预报,以及历史预报数据,以便用户将这些天气输入整合到他们自己的模型和研究工作流程中,可用于研究、分析和辅助决策。

WeatherNext通过Google Cloud的BigQuery和Earth Engine两大平台提供全面的数据访问服务。其中,BigQuery作为一个强大的数据仓库服务,支持研究人员通过SQL语句进行复杂的结构化查询,可以精确获取特定城市的温度预报、分析降水量预测等数值型数据分析;而Google Earth Engine则专注于地理空间数据的处理,提供了强大的可视化和空间分析能力,使用者可以直观地展示温度分布、观察气象要素的空间分布特征,以及呈现天气系统的动态演变过程。

1. WeatherNext Graph预报

WeatherNext Graph实验性数据集包括实时数据和历史数据。实时数据是指与过去48小时内的时间相关的数据 (“实时实验数据”),而历史数据是指与 48 小时之前的时间相关的数据 (“历史实验数据”)。该数据集包含主要的地面要素,包括温度、风、降水、湿度、位势、垂直速度和气压。空间分辨率为0.25度。预报初始时间分辨率为 6 小时 (00z, 06z, 12z, 18z)。预报时效分辨率为 6 小时,最长预报时效为 10 天。

  • 通过BigQuery访问数据资源

数据集链接地址:https://console.cloud.google.com/bigquery/analytics-hub/discovery/projects/gcp-public-data-weathernext/locations/us/dataExchanges/weathernext\_19397e1bcb7/listings/weathernext\_graph\_forecasts\_19398be87ec

查询纽约市的2米气温预报数据:

1SELECT
2 t1.init_time,
3 t2.time AS forecast_time,
4 t2.2m_temperature
5FROM
6 dataset AS t1,
7 t1.forecast AS t2
8WHERE
9 ST_CONTAINS(t1.geography_polygon, ST_GEOGFROMTEXT(‘POLYGON((-70.66 40.64, -73.85 40.64, -73.85 40.89, -70.66 40.89, -70.66 40.64))’)) # New York City
10 AND t1.init_time BETWEEN TIMESTAMP(‘2024-10-17 00:00:00 UTC’)
11 AND TIMESTAMP(‘2024-10-21 00:00:00 UTC’)
12ORDER BY
13 t1.init_time,
14 t2.time

芝加哥市降水预报的查询,该示例演示了如何获取特定的天气变量(6小时累积降水量)并按预报时间进行筛选。

1SELECT
2 t2.time,
3 t2.total_precipitation_6hr
4FROM
5 dataset AS t1,
6 t1.forecast AS t2
7WHERE
8 ST_CONTAINS(t1.geography_polygon, ST_GEOGPOINT(-87.65, 41.85))
9 AND t1.init_time BETWEEN TIMESTAMP(‘2024-10-20 18:00:00 UTC’)
10 AND TIMESTAMP(‘2024-10-25 18:00:00 UTC’)
11 AND t2.hours = 6

  • 通过Goolge Earth Engine访问和分析数据资源

数据集链接地址:https://developers.google.com/earth-engine/datasets/catalog/projects\_gcp-public-data-weathernext\_assets\_59572747\_4\_0

var dataset =
ee.ImageCollection(
‘projects/gcp-public-data-weathernext/assets/59572747_4_0’)
.filter(ee.Filter.date(‘2020-10-01T06:00:00Z’, ‘2020-10-01T06:01:00Z’))
.filter(ee.Filter.eq(‘forecast_hour’, 6));
var temperature = dataset.select(‘2m_temperature’);

var visParams = {
min: 220,
max: 350,
palette: [
‘darkblue’, ‘blue’, ‘cyan’, ‘green’, ‘yellow’, ‘orange’, ‘red’, ‘darkred’
]
};

Map.addLayer(temperature, visParams, ‘2m Temperature’);

2. WeatherNext Gen 预报

WeatherNext Gen实验性数据集包括实时数据和历史数据。数据集包含主要的地面要素,包括温度、风、降水、湿度、位势、海平面温度、垂直速度和气压。空间分辨率为0.25度。预报初始时间分辨率为6小时 (00z, 06z, 12z, 18z)。预报时效分辨率为12小时,最长预报时效为15天。

需要注意的是,当前部署的实验数据集使用的是在研究模型基础上开发的业务版本。这意味着实际运行的业务模型的准确性可能与研究论文中报告的准确性存在一定差异,同时业务版本的预报数据集可能包含了一些额外的气象变量。

  • 通过BigQuery访问数据资源

数据集链接地址:https://console.cloud.google.com/bigquery/analytics-hub/discovery/projects/gcp-public-data-weathernext/locations/us/dataExchanges/weathernext\_19397e1bcb7/listings/weathernext\_gen\_forecasts\_193b7e476d7

以纽约市为例,通过查询可以获取该市2米高度处的平均气温预报,这个查询会计算所有集合成员的平均温度值,展示如何访问和分析数据表中的核心天气数据。

1SELECT
2 t1.init_time,
3 forecast.time AS forecast_time,
4 AVG(ensemble.2m_temperature)
5FROM
6 dataset AS t1,
7 UNNEST(forecast) AS forecast,
8 UNNEST(ensemble) AS ensemble
9WHERE
10 ST_CONTAINS(t1.geography_polygon, ST_GEOGFROMTEXT(‘POLYGON((-70.66 40.64, -73.85 40.64, -73.85 40.89, -70.66 40.89, -70.66 40.64))’)) # New York City
11 AND t1.init_time BETWEEN TIMESTAMP(‘2024-12-10 00:00:00 UTC’)
12 AND TIMESTAMP(‘2024-12-12 00:00:00 UTC’)
13GROUP BY
14 1,
15 2
16ORDER BY
17 t1.init_time,
18 forecast_time

另一个示例是芝加哥市的降水预报查询,该查询可以获取单个集合成员预测的12小时累积降水量,这个例子展示如何获取特定的天气变量并按预报时间进行筛选。

1SELECT
2 t1.init_time,
3 ensemble.total_precipitation_12hr
4FROM
5 dataset AS t1,
6 UNNEST(forecast) AS forecast,
7 UNNEST(ensemble) AS ensemble
8WHERE
9 ST_CONTAINS(t1.geography_polygon, ST_GEOGPOINT(-87.65, 41.85))
10 AND t1.init_time BETWEEN TIMESTAMP(‘2024-12-10 00:00:00 UTC’)
11 AND TIMESTAMP(‘2024-12-12 00:00:00 UTC’)
12 AND forecast.hours = 12
13 AND ensemble.ensemble_member = ‘0’
14ORDER BY
15 t1.init_time

这两个示例很好地说明了WeatherNext Gen在处理集合预报数据时的灵活性,既可以进行集合平均的统计分析,也支持查看单个集合成员的具体预报结果。

  • 通过Goolge Earth Engine访问和分析数据资源

数据集链接地址:https://developers.google.com/earth-engine/datasets/catalog/projects\_gcp-public-data-weathernext\_assets\_126478713\_1\_0#citations

var dataset =
ee.ImageCollection(
‘projects/gcp-public-data-weathernext/assets/126478713_1_0’)
.filter(ee.Filter.date(‘2020-10-01T06:00:00Z’, ‘2020-10-01T06:01:00Z’))
.filter(ee.Filter.eq(‘ensemble_member’, ‘8’))
.filter(ee.Filter.eq(‘forecast_hour’, 12));
var temperature = dataset.select(‘2m_temperature’);

var visParams = {
min: 220,
max: 350,
palette: [
‘darkblue’, ‘blue’, ‘cyan’, ‘green’, ‘yellow’, ‘orange’, ‘red’, ‘darkred’
]
};

Map.addLayer(temperature, visParams, ‘2m Temperature’);

开源代码与模型权重

为了促进更广泛的合作,加速天气和气候领域的研发,Google已将WeatherNext的相关模型开源,代码仓库地址为:https://github.com/google-deepmind/graphcast。

该代码仓库包含运行和训练GraphCast 和 GenCast 模型的示例代码,以及预训练的模型权重、归一化统计数据和示例输入数据。完整的模型训练需要下载ECMWF的ERA5数据集,可以访问Weatherbench2的 ERA5数据。业务微调的数据同样可以在Weatherbench2的HRES Oth帧数据中访问。

**References:**‍‍‍‍‍‍‍‍‍

本公众号相关内容推荐#

‍‍

  • Remi Lam et aLearning skillful medium-range global weather forecasting.Science382,1416-1421(2023).DOI:10.1126/science.adi2336 ‍
Google发布AI天气预报系统实时与历史预报数据
https://blog.scidatalab.net/posts/google发布ai天气预报系统实时与历史预报数据/
作者
Echo
发布于
2025-02-03
许可协议
CC BY-NC-SA 4.0