
Building Custom Batched Ensemble Weather Forecasting with NVIDIA Earth2Studio
In this tutorial, we build an ensemble weather forecasting workflow with NVIDIA Earth2Studio. We install the required Earth2Studio components while preserving Colab’s existing CUDA-enabled PyTorch environment, load the FCN prognostic model, and retrieve atmospheric initial conditions from GFS. We then implement a custom wind-power diagnostic that converts 10-meter wind components into turbine capa
- 先核對來源和時間
- 把試用限制在可回滚範圍
- 對缺少獨立證據的結論保持觀望
事件時間線
- 1事件時間線
- 2關鍵機制
- 3真實使用場景
- 4限制與複核
發生了什麼
整套流程從環境搭建開始。教學在 Google Colab 中執行,安装 Earth2Studio 時借助 PIP_CONSTRAINT 檔案锁定目前已有的 PyTorch 與 NumPy 版本,確保 CUDA 環境不被替換。安装完成後,FCN 預測模型通過預設包被加載,大气初始條件则取自 GFS 資料源。
诊斷和扰動是這套工作流程的核心差異點。自定義模塊 WindPowerCF 先用幂律風切變把 10 米風分量外推到轮毂高度,再經過切入、額定、切出三段風速定義的功率曲線,把風速映射為 0 到 1 範圍的機組容量因子。扰動模塊 VariableScaledNoise 按變量施加空間噪聲,扰動幅度對 t2m 與 t850 取 0.20,z500 取 40.0,z850 取 25.0,u10m 與 v10m 取 0.25,u500 與 v500 取 0.40,tcwv 取 0.30。八個集合成員中,第 0 號保留為未受扰動的控制預報;當 SphericalGaussian 採樣器不可用時,自動回退到 Brown 採樣器。
執行階段沒有呼叫高層 API,而是直接重複使用 Earth2Studio 的底層迭代器、坐標映射、批處理和 Zarr 介面拼装管線,結果寫入支援坐標的 Zarr 後端。集合規模、批大小、預報步數分別為 8、2、8。儲存變量涵蓋 t2m、z500、u10m、v10m、tcwv,驗證變量限定為 t2m、z500、u10m 三項。
初始化時間取目前 UTC 向前回退 7 天,再按整時刻归零。驗證階段以 GFS 分析場作為真值,對三個變量分別計算纬度加權 RMSE、Fair CRPS、集合离散度和离散度-技巧比,關注點設在印度新德裡,坐標約為 28.61°N、77.21°E。
輸出端除了統計指標,還包含 500 hPa 位勢高度 5520 m 等高線 spaghetti 圖、點位扇形圖、風电容量因子預報、空間分布圖,以及隨預報時效變化的技巧曲線。教學由 marktechpost.com 於 2026 年 8 月 29 日發布。
時間線與證據
教學於 2026 年 8 月 29 日在 marktechpost.com 上線,整套範例流程順序為:安装 Earth2Studio、加載 FCN 模型、装配自定義 WindPowerCF 诊斷與 VariableScaledNoise 扰動、經由底層介面驱動 ZarrBackend 完成集合預報,再用 GFS 分析場對 t2m、z500、u10m 做驗證,最後輸出統計指標與多種視覺化。教學主體以程式碼片段加說明文字呈現,視覺化部分中 wind_cf 繪圖程式碼在材料裡已被截斷,並非完整範例。
可核驗的數值直接來自程式碼與參數表。轮毂高度 100 m,風切變指數 0.143,切入、額定、切出風速分別為 3、12、25 m/s,組成風电容量因子計算的預設設定;八個集合成員、批大小 2、預報步數 8 在執行段落同一處聲明,與扰動幅度按變量逐一列出的寫法保持一致。初始化時間由目前時刻回退 7 天並归零,驗證真值取 GFS 分析場,關注點為新德裡 28.61°N、77.21°E,這些取值都直接出現在教學設定中。
教學在 GPU 上執行最快,材料只說明若無 GPU 檢測到將非常緩慢,沒有給出具體耗時或基準數位。Earth2Studio 與 FCN 預設包的版本號、GFS 資料的分辨率,以及最終的 RMSE、Fair CRPS、离散度與离散度-技巧比的數值結果,材料均未披露,無法據此複算或横向比較。視覺化部分除已列出的五類圖像外,其余圖件未逐一描述。
具體變化
相較於直接呼叫 Earth2Studio 高層介面的常規範例,本文把執行管線拆到了更低的一層:循環遍歷交給 Earth2Studio 的底層迭代器,輸入輸出經由坐標映射與批處理統一處理,最終結果寫入支援坐標的 Zarr 後端 ZarrBackend。這一選擇讓儲存變量與驗證變量可以分別客製,因此儲存集合同時涵蓋 t2m、z500、u10m、v10m、tcwv,驗證却只針對 t2m、z500、u10m 三項。
诊斷環節的改動集中在風电。教學新增自定義模塊 WindPowerCF,把 10 米 u、v 風分量按幂律風切變外推到 100 m 轮毂高度,再用切入 3 m/s、額定 12 m/s、切出 25 m/s 三段折線定義的功率曲線換算為 0 到 1 區間的機組容量因子,風切變指數預設 0.143。結果以獨立變量形式進入 Zarr 輸出,並配有專門的點位扇形圖與風电預報圖。
扰動環節使用 VariableScaledNoise 模塊,按變量名逐一施加空間噪聲:t2m、t850 取 0.20,z500 取 40.0,z850 取 25.0,u10m、v10m 取 0.25,u500、v500 取 0.40,tcwv 取 0.30。八個集合成員中第 0 號固定為未受扰動的控制預報,其余成員由 SphericalGaussian 採樣器產生,若該採樣器在目前環境中不可用,则自動回退到 Brown 採樣器。
初始化時間由目前 UTC 向前回退 7 天再按整時刻归零,關注點固定在新德裡 28.61°N、77.21°E。驗證時以 GFS 分析場為真值,統計量包含纬度加權 RMSE、Fair CRPS、集合离散度以及离散度-技巧比。視覺化除統計圖外,還包含空間分布圖與 5520 m 等高線 spaghetti 圖,用於呈現 500 hPa 位勢高度的集合發散情況。

對使用者的影響
對希望把 Earth2Studio 用於科研或業務場景的讀者,這篇教學把以往藏在高層 API 下的執行细節暴露出來。讀者可以直接看到輸入坐標如何被映射、迭代器如何被驱動、批維如何被切分,因此可以照着同一骨架替換成自己的诊斷、扰動或 IO 模塊,而不必繞開框架重寫整套流程。借助支援坐標的 Zarr 後端,儲存集合與下游驗證集合得以分离設定,讀者按需挑選驗證欄位即可,不必改動預報端的儲存清單。
風电場景的讀者獲得了一條可重複使用的鏈路:把 10 米 u、v 分量按幂律風切變外推到自定義轮毂高度,再用三段功率曲線換算為 0 到 1 的容量因子。教學把轮毂高度、風切變指數、切入/額定/切出風速全部列為可調參數,並提供點位扇形圖與時間序列圖,使研究者能在此基礎上串接真實機組的功率曲線。新德裡關注點的設定讓結果便於直接與當地电力資料比對,但讀者同樣可改寫坐標以服務其它場址。
集合扰動的可設定性是另一處實際收益。教學將扰動幅度按變量名逐一顯式列出,並提供採樣器的自動回退逻辑,方便讀者在不同 Earth2Studio 環境下維持可重複的集合實驗。驗證指標同時給出绝對误差、概率校準、集合离散度及其與技巧的比值,使讀者可以從多個角度評估自己的扰動方案。需留意的是,教學未披露 GPU 基準耗時、Earth2Studio 與 FCN 版本以及 GFS 分辨率,且部分繪圖程式碼被截斷,讀者在重複使用前需自行補齐。
限制與未知
教學把執行拆到了底層迭代器、坐標映射、批處理與 ZarrBackend,但留給讀者進一步定位的版本資訊非常有限。Earth2Studio 的具體版本號、FCN 預設模型包的版本號,以及 GFS 資料源在這一範例中實際加載的分辨率,材料均未披露。教學只在設定段說明執行在 Google Colab,並強調 GPU 檢測不到時執行將非常緩慢,却未給出任何基準耗時、顯存占用或加速比數位,因此讀者無法據此估算批次集合工作流程在本機或云端所需的資源。
自定義參數同樣缺乏依據說明。t2m、t850 取 0.20,z500 取 40.0,z850 取 25.0,u10m、v10m 取 0.25,u500、v500 取 0.40,tcwv 取 0.30 的扰動幅度,以及轮毂高度 100 m、風切變指數 0.143、切入/額定/切出風速 3、12、25 m/s 的風电參數,全部由教學直接給出,沒有任何來源、敏感性分析或與業務機型的對照。教學也沒有說明初始化時間向前回退 7 天這一選擇的目的,以及把驗證變量收缩到 t2m、z500、u10m 三項的具體考量。
材料未公布最終的纬度加權 RMSE、Fair CRPS、集合离散度與离散度-技巧比的具體數值,因此讀者無法從教學本身複算或横向比較集合品質。視覺化部分中 wind_cf 繪圖程式碼在材料中已被截斷,並非完整範例,其余圖件也未逐一描述,讀者在重複使用前需要自行補齐缺失片段。
如何核對
要把這篇教學複現並核對,第一關是環境與依赖。教學要求在 Google Colab 中執行 Earth2Studio,並借助 PIP_CONSTRAINT 檔案锁定現有 PyTorch 與 NumPy 版本以保留 CUDA 環境,因此讀者需要先確認 Colab 執行時已經啟用 GPU,並核對自身 Colab 環境中既有的 PyTorch、NumPy 版本與約束檔案中所寫是否一致,否则後續 FCN 推理將無法獲得 GPU 加速。
第二關是設定參數的逐項比對。集合規模 8、批大小 2、預報步數 8 必須同時出現於同一執行段落;儲存變量為 t2m、z500、u10m、v10m、tcwv,驗證變量只保留 t2m、z500、u10m,初始化時間由目前 UTC 向前回退 7 天並按整時刻归零,關注點坐標固定為 28.61°N、77.21°E。扰動幅度按變量逐一設定,t2m、t850 取 0.20,z500 取 40.0,z850 取 25.0,u10m、v10m 取 0.25,u500、v500 取 0.40,tcwv 取 0.30。風电诊斷預設轮毂高度 100 m,風切變指數 0.143,切入、額定、切出風速分別為 3、12、25 m/s。這些數值都應直接對得上教學原文或程式碼片段。
第三關是模塊行為核對。WindPowerCF 是否真的把 10 米 u、v 風分量按幂律切變外推到 100 m,再以三段折線功率曲線換算為 0 到 1 的容量因子,並作為獨立變量進入 Zarr 輸出。VariableScaledNoise 是否按變量名符合施加空間噪聲,且第 0 號成員保持為未受扰動的控制預報。SphericalGaussian 採樣器若不可用是否自動回退到 Brown 採樣器,結果是否寫入支援坐標的 ZarrBackend。
第四關是輸出端的指標與圖像。教學應給出纬度加權 RMSE、Fair CRPS、集合离散度與离散度-技巧比四項統計量,空間分布圖、5520 m 等高線 spaghetti 圖、點位扇形圖、風电容量因子預報圖以及隨預報時效變化的技巧曲線五類圖像,缺一即視為與教學不符。
讀者能做什麼
把這篇教學當作可拆装骨架來用,是最直接的收益。讀者可以保留 Earth2Studio 的底層迭代器、坐標映射、批處理與 ZarrBackend 這條主轴,把 WindPowerCF 換成自家業務的诊斷公式,例如把風电容量因子替換成光伏辐照度換算、降水概率分級或空气品質阈值判定,再通過同一 IO 通道把新變量寫進 Zarr,驗證集合同樣可以按需增减欄位,不必改動預報端的儲存清單。集合規模 8、批大小 2、預報步數 8 的執行規模也可整體放大或缩小,只要保持成員 0 為控制預報、按變量名施加噪聲這两條規則,扰動採樣器在 SphericalGaussian 與 Brown 之間的回退逻辑便會繼續生效。
地理關注點方面,教學將坐標硬編碼為新德裡 28.61°N、77.21°E,讀者只需替換這一對數值即可把同一管線迁到任意場站,初始化時間由目前 UTC 向前回退 7 天並按整時刻归零的寫法也能直接沿用,便於在不同起報時刻之間做平行實驗。驗證侧的四項指標(纬度加權 RMSE、Fair CRPS、集合离散度、离散度-技巧比)面向 t2m、z500、u10m 三個變量,讀者可以照此結構新增自己的欄位評估,例如把風电容量因子納入驗證,對照 GFS 分析場觀察概率預報相對確定預報的增益。
重複使用前需要自行補齐的事項也很具體。教學沒有披露 Earth2Studio 與 FCN 預設包的版本號,也沒有給出 GFS 資料源在本例中的分辨率,讀者應先核對自身環境中 Earth2Studio 是否支援 SphericalGaussian 採樣器以及 ZarrBackend 的坐標寫入能力,否则回退到 Brown 後扰動統計特性會發生改變。教學中 wind_cf 繪圖程式碼被截斷,讀者若要複現風电容量因子圖與點位扇形圖,需要自行補全 matplotlib 部分;教學也未公布四項統計量的具體數值,因此横向比較時應在本機重新執行後取數,而不是引用教學結果。
後續觀察
教學的寫作重心明顯偏向可拆解的執行骨架,而不是某一個具體預報技巧的優劣。讀者若把範例當作模板來落地自己的集合系統,需要持續關注的並非執行步驟本身,而是几處會隨 Earth2Studio 升級而漂移的细節,例如 SphericalGaussian 採樣器在不同版本中的可用性、ZarrBackend 對坐標維度的支援範圍,以及 PIP_CONSTRAINT 檔案所锁定的 PyTorch 與 NumPy 版本是否仍能覆蓋新的 CUDA 執行時。
教學把關注點寫死在新德裡 28.61°N、77.21°E,並使用目前 UTC 時間向前回退 7 天、归零到整時刻的初始化策略,這一組合在迁移到其他場站時需要同步調整,否则驗證集合與實際業務關心的時間窗口會發生錯位。風电诊斷 WindPowerCF 的輸出與風功率曲線的三段折線以及幂律切變指數 0.143 直接耦合,替換為光伏或其它诊斷時也應保留按變量名挂載、可獨立開關的寫法,便於在儲存變量清單中按需啟停。
教學沒有披露 FCN 預設模型包版本與 GFS 資料源在範例中實際加載的分辨率,也沒有給出四項驗證指標的具體數值,因此後續若要在論文或業務報告中引用本教學,應先在自有環境複跑並紀錄結果,再用本機資料替換教學中直接給定的扰動幅度與風电參數,避免把範例常數误當作經驗證的生產設定。教學的發布站點為 marktechpost.com,發布日期為 2026-08-29,版本相關注釋應以發布時為準,之後若 Earth2Studio 升級導致 API 行為變化,需要回查官方倉庫再做適配。
參考來源
本文由 AI X Tool 基於公開資料研究後原創整理,發布日期與產品資訊可能變化,請以來源網站最新內容為準。