NVIDIA Developer ★ 75 5 min

Turn Your Latest Observations Into Timely Weather Decisions With NVIDIA Earth-2

Data ScienceDeveloper Tools & TechniquesSimulation / Modeling / DesignClimate / Weather / Ocean ModelingEarth-2EnergyPhysicsNeMo

🔗 https://developer.nvidia.com/blog/turn-your-latest-observations-into-timely-weather-decisions-with-nvidia-earth-2/

📌 【NVIDIA】用即時觀測資料,讓天氣預報跟上分秒變化

TL;DR:NVIDIA Earth-2 的 AI 資料同化工具讓你把自己的觀測資料塞進擴散模型,即時修正天氣預報。

氣象數值分析(numerical analysis)通常要花上大量運算時間,而且只在固定時段釋出,比如每六小時一次。但風場、太陽能場站的感測器,或雷達,其實隨時都在產生更即時、更貼近在地的資料。問題是:這些資料要怎麼有效餵進既有的預報模型,而不用整套重新訓練?

🤔 為什麼「等下一次分析」不夠用

能源公司從風場與太陽能資產蒐集量測資料,緊急應變團隊仰賴雷達與在地感測器,衛星業者則持續觀測地球,這些資料理論上能提供比官方數值分析更早、更貼近特定地區的訊號。但傳統做法要嘛等待固定排程的分析結果,要嘛得重新訓練整個預報模型才能吸收新的觀測型態。NVIDIA Earth-2 提出用 AI 資料同化技術,在不重訓模型的前提下,把這些觀測即時「揉進」既有的擴散式(diffusion)預報或降尺度(downscaling)模型。

🧩 核心技巧:Score-Based Data Assimilation

這篇教學介紹的關鍵技術是 Score-Based Data Assimilation(SDA),可用於 CorrDiff、StormCast 這類擴散式 AI 模型。運作原理如下:

  • 擴散模型透過一連串的去噪(denoising)步驟,逐步生成高解析度預測。
  • SDA 在每一個去噪步驟,都拿當下的中間預測結果去跟你提供的觀測資料比對。
  • 根據比對結果微調下一步的去噪方向,把模型往符合觀測的方向「推」。
  • 最終輸出仍是機率性的:觀測點附近的不確定性較小,離觀測點越遠、越依賴模型本身的模擬結果,不確定性就越大。

要讓 SDA 運作,需要定義一個「觀測算子」(observation operator),把模型輸出映射成你實際觀測到的量。對溫度、風速這類直接量測,最簡單的算子就是把鄰近網格值內插到觀測位置;作者也提到可以用代理量測,例如用風力發電機的實際發電量,反推當地風速。

SDA 帶來兩個能力:可以持續、更頻繁地更新預報(不受限於官方分析的固定釋出排程),以及可以把自己專屬、地區性或領域特定的觀測資料整合進來。

🧑‍💻 實際跑一遍:CorrDiff-SDA 與 StormCast-SDA

教學提供了 Earth2Studio 的程式碼範例。CorrDiff 用於把 0.25 度解析度的天氣場降尺度到 2.2 公里,範例限定在荷蘭與德國西北部的區域,同化 10 公尺風速:

from earth2studio.data import GHCNHourly
from earth2studio.models.da import CorrDiffCosmoEra5SDA

domain = dict(lat_min=50.2, lat_max=53.8, lon_min=4.6, lon_max=10.4)
sda = CorrDiffCosmoEra5SDA.load_model(
    CorrDiffCosmoEra5SDA.load_default_package(),
    assimilate_variables=("u10m", "v10m"),
    resolution="rea2", domain=domain,
    number_of_samples=1, sampler_steps=12, amp=True,
).to("cuda")

接著抓取 ERA5 作為低解析度條件輸入,以及 GHCN 的地面站風速觀測,分別跑一次「不加觀測」(prior)與「加觀測」(analysis)的降尺度結果做對照。StormCast 則是同樣的概念用在以 HRRR 初始化、解析度 3 公里的美國中部區域高解析度預報上,藉由 SDA 把最新觀測與尚在等待中的 HRRR 分析結果結合。

📊 在保留站點上,風速誤差降了 54%

文中給出一組具體結果:在 CorrDiff-COSMO 的降尺度實驗中,加入 SDA 後,held-out(保留未參與同化)氣象站上的風速 RMSE 降低了 54%。

⚠️ 效果取決於觀測本身的品質

作者也明確指出,SDA 的效果並非穩賺不賠,會受到幾個因素影響:觀測的數量、空間分布與精確度;預測目標場的特徵長度尺度;以及觀測算子本身的品質與是否「良態」(well-posed)。換句話說,觀測稀疏或算子設計不當,同化帶來的改善會打折扣。

🎯 實務啟示

如果你手上已經有專屬的感測資料,例如能源資產周邊的量測站,這套流程提供了一條不需要重新訓練 CorrDiff 或 StormCast、就能把資料用上的路徑。對於需要比官方六小時排程更即時反應的場景(電力調度、緊急應變),SDA 可以當作既有預報管線的一個「後製」步驟插入,重點是先盤點手上觀測資料的空間覆蓋率,再評估是否值得投入建置觀測算子。

🔗 來源

#NVIDIA #Earth2 #WeatherAI #DataAssimilation #DiffusionModels #CorrDiff #StormCast #ClimateAI #MachineLearning #Earth2Studio

原始資料 NVIDIA Developer · 收集於 2026-09-21
來源原標題
Turn Your Latest Observations Into Timely Weather Decisions With NVIDIA Earth-2
作者
Elizabeth Goodman
原始標籤
Data Science · Developer Tools & Techniques · Simulation / Modeling / Design · Climate / Weather / Ocean Modeling · Earth-2 · Energy · PhysicsNeMo
原始連結
https://developer.nvidia.com/blog/turn-your-latest-observations-into-timely-weather-decisions-with-nvidia-earth-2/

摘要原文

Weather-sensitive industries increasingly have access to observations that offer an earlier, more local view of changing conditions. Energy companies collect measurements across wind and solar assets, emergency management teams rely on radar and local sensors, and satellite providers continuously observe the Earth. This data helps organizations understand and manage physical risk across sectors such as capital markets, insurance, agriculture, and logistics. With the AI data assimilation tools in NVIDIA Earth-2, you can process these observations more efficiently. By incorporating proprietary or third-party data, you can use these tools to issue forecasts more frequently, keep estimates aligned with real-time conditions, and tailor your forecasting pipeline to specific regions and applications. This tutorial covers two techniques: Constraining diffusion models with point observations, typically used for regional models. Assimilating disparate datasets into a consistent state, typically used for global models. Prerequisites For this tutorial, you will need: A development environment with Earth2Studio installed An NVIDIA RTX PRO or data center GPU A basic knowledge of Python Approximately 30 minutes Improve regional forecasts with observations You might run a regional weather forecasting pipeline for managing energy production and demand, drawing observations from wind and solar parks, transmission corridors, or densely populated areas. With AI data assimilation, you can use these observations to constrain your forecast where local accuracy matters most, helping you improve operational decisions. The same techniques can support other sectors using observations from production sites, event venues, logistics networks, or other assets where local conditions directly drive decisions. You can use Score-Based Data Assimilation (SDA) to incorporate observations into diffusion-based AI downscaling and forecasting models such as CorrDiff and StormCast. SDA guides the model toward predictions that are consistent with your observations without requiring to retrain the model. Figure 1, below, shows how the process works under the hood. Diffusion models generate high-resolution predictions through a sequence of denoising steps. At each step, SDA compares the intermediate prediction with your observations and nudges the model in the right direction. The output of SDA is probabilistic, with less uncertainty near observation locations and a wider spread further away, where predictions are increasingly governed by the other model inputs and the underlying AI simulations. Figure 1. SDA leverages the multi-step denoising process of diffusion models. At each step, the intermediate result is compared with observations to guide the next denoising step. The final output is an observation-informed, high-resolution weather prediction To nudge the model, you define an observation operator, which maps the model output to the quantity you would expect to observe at each measurement location. This is particularly straightforward for in situ measurements of physical quantities such as temperature or wind speed. In this case, the simplest form of an operator interpolates nearby grid values to each observation location. It is also possible to create operators for proxy measurements or observed impacts. For example, the power output of a wind turbine can act as a proxy measurement of wind speed. SDA unlocks two major capabilities: Update forecasts more rapidly. Numerical analyses require substantial processing time and are released on fixed schedules. SDA enables you to incorporate observations continuously. Figure 2, below, shows a concrete example of a pipeline forecasting at one-hour intervals and depending on a global analysis with a six-hour dissemination schedule. Incorporate proprietary, regional or domain-specific observations. Numerical analyses draw on a broad range of observations. SDA lets you incorporate data from your own sources to focus your forecast on specific asset locations or downstream applications. The effectiveness of SDA depends on several factors: the number, spatial distribution, and accuracy of your observations; the characteristic length scales of the field you are predicting; and the quality and well-posedness of the observation operator. Figure 2. Example pipeline using SDA for downscaling (CorrDiff + SDA) and high-resolution forecasting (StormCast + SDA). CorrDiff creates the high-resolution initial conditions for StormCast. SDA bridges the gap between the analysis reference time and current time by incorporating observations into downscaling and forecast steps that lie in the past How to run CorrDiff-SDA in Earth2Studio CorrDiff is a technique for AI-based downscaling. Earth2Studio provides a CorrDiff model pretrained over Europe that turns 0.25° weather fields into 2.2-km predictions. Using AI data assimilation, you can improve these predictions with observations where local accuracy matters. With the refined outputs, you can then initialize a regional forecast or create a reanalysis dataset for calibrating downstream models. Start by loading the pretrained model. We limit the domain to a part of the Netherlands and northwestern Germany and choose to assimilate 10-meter wind speeds. from datetime import datetime from earth2studio.data import GHCNHourly from earth2studio.models.da import CorrDiffCosmoEra5SDA domain = dict(lat_min=50.2, lat_max=53.8, lon_min=4.6, lon_max=10.4) sda = CorrDiffCosmoEra5SDA.load_model( CorrDiffCosmoEra5SDA.load_default_package(), assimilate_variables=("u10m", "v10m"), resolution="rea2", domain=domain, number_of_samples=1, sampler_steps=12, amp=True, ).to("cuda") Fetch the ERA5 data for low-resolution conditioning and GHCN wind observations over the domain. # Fetch and regrid ERA5 inputs onto the high resolution regional grid # Follow the link to the example below for the full implementation init_time = datetime(2024, 1, 26) x = fetch_and_regrid_era5(init_time, domain) # Fetch GHCN hourly 10-m wind observations over the model domain lat, lon = sda.model.lat_output_numpy, sda.model.lon_output_numpy bbox = lat.min(), lon.min(), lat.max(), lon.max() ghcn = GHCNHourly(stations=GHCNHourly.get_stations_bbox(bbox)) obs = ghcn(init_time, ["u10m", "v10m"]).dropna(subset=["observation"]) Lastly, run the model with the input data. We perform two runs to measure how the additional observations affect the results. prior = sda(x) # free downscaling, no observations analysis = sda(x, obs) # guide the diffusion toward the observations For a complete implementation, see the example in Earth2Studio , from which the code above was adapted. Figure 3. CorrDiff-COSMO downscaling with and without SDA. In this example, SDA reduces the wind-speed RMSE at held-out stations by 54%. Left: wind speed downscaled without SDA. Middle: wind speed downscaled with SDA using GHCN-Hourly station observations. Right: difference in wind speed between the SDA and no-SDA experiments How to run StormCast-SDA in Earth2Studio StormCast is a technique similar to CorrDiff but designed for high-resolution, regional forecasting. Earth2Studio includes a StormCast model pretrained over the contiguous U.S. (CONUS) that is initialized with HRRR and makes predictions at a 3-km resolution. The computation and dissemination of a new HRRR analysis takes some time, but you can use SDA to combine the currently available analysis with the latest observations to update your forecast. Start by loading the pretrained model. We limit the domain to the central U.S. import numpy as np from earth2studio.data import GHCNHourly from earth2studio.models.px import StormCastCONUS # Limit the domain to the central U.S. hrrr_lat_lim, hrrr_lon_lim = (305, 785), (595, 1203) model = StormCastCONUS.load_model( StormCastCONUS.

由 claude-code/sonnet 自動生成