Знакът на КАГАМИ КАГАМИ
kagami.bg/academy · lesson · machine-readable viewUPDATED 2026-10-03
IDENTITY
module
GX10-04-49 · FourCastNet 3 forecasting with Earth2Studio
series
GX10 (local AI server class: NVIDIA GB10, e.g. ASUS Ascent GX10 / DGX Spark)
level
Intermediate
duration
1-2 h plus downloads
prerequisites
GB10-class machine with DGX OS (Ubuntu 24.04, Arm64), working PyTorch with GPU, uv, Python 3.13 recommended, CUDA 13.0 recommended, about 128 GB disk, free Copernicus CDS account (optional)
trust_label
UPDATED 2026-10-03 · checked against Earth2Studio and Copernicus documentation · NOT TESTED (no GB10 machine available)
versions
Earth2Studio 0.19.0 (Apache 2.0) · FCN3 (0.25 deg grid, 72 variables, probabilistic) · FCN (26 variables, 6 h step)
language
human view: bg · english edition: /en/academy/gx10/ (same file name)
previous / next
04-48_Spark_Reachy_Robot.html / 04-50_CorrDiff_Downscaling.html
PURPOSE

Run a first AI global forecast on a GB10-class machine: FourCastNet 3 through the Earth2Studio deterministic workflow with GFS initial data and a Zarr output; optionally fetch ERA5 from Copernicus CDS; inspect and crop the result. METHOD LESSON ONLY: this is not an official forecast. Official forecasts and warnings for Bulgaria are issued by NIMH (meteo.bg; warnings: weather.bg/obshtini).

KEY CONCEPTS
COMMANDS / PATHS
CHECKLIST
NEXT MODULE

04-50 · CorrDiff with Earth2Studio (04-50_CorrDiff_Downscaling.html) · previous: 04-48 (04-48_Spark_Reachy_Robot.html) · series index: kagami.bg/academy/gx10/ · offer: Quick experiment (kagami.bg/stalbata/)

SOURCES
TAGS
gx10nvidia-gb10earth2studiofourcastnetweather-aiera5copernicusnot-an-official-forecast
ОБНОВЕНО · 03.10.2026

FourCastNet на GB10: AI прогноза с Earth2Studio

FourCastNet е семейство AI модели на NVIDIA за глобална прогноза на времето. Пускаме най-новия — FourCastNet 3 — през отворената библиотека Earth2Studio на локален сървър от класа NVIDIA GB10: начални данни, няколко стъпки напред и карта. Урокът е за метода, а не за прогноза.

⏱ 1–2 чСредноGX10Earth2Studio 0.19.0 · FourCastNet 3Python · PyTorch · Zarr
Earth2Studio и моделите върху твоята машина🔒 локалноCopernicus CDS и GFS (данни за начално състояние)🌐 глобален
⛈️
Метеорология: не е официална прогноза
Този урок не дава официална прогноза и не замества такава. Показва как работи един AI модел за времето. Официалните прогнози и предупреждения за България издава НИМХ (Национален институт по метеорология и хидрология): meteo.bg; предупрежденията по общини са на weather.bg/obshtini, а за Европа — на meteoalarm.org. Не вземай решения за безопасност, земеделие, събития или енергия по резултата от този урок.
🔄
ОБНОВЕНО · 03.10.2026 — какво
Урокът е преработен. Старият път през контейнер „fourcastnet:1.0.0“ с адреси /v1/forecast не успяхме да сверим с публична документация — NVIDIA описва модела в каталога си като „downloadable“, а текущият начин на ползване е през отворената библиотека Earth2Studio (версия 0.19.0). Затова вече ползваме нея и най-новия модел FourCastNet 3. Махнахме числата без източник: „45 пъти по-бързо от ECMWF“, „~2 минути на GX10“, таблицата за времена на други модели и таблицата с грешки (RMSE) — нямаме измерване нито публикуван източник за тях. Махнахме и приложенията към конкретни организации и автоматичните известия. Копирахме примера от документацията и поправихме достъпа до Copernicus: адресът е https://cds.climate.copernicus.eu/api и се ползва личен токен (старият адрес /api/v2 с „UID:ключ“ не е в днешната документация).
⚠️
Какво не сме пускали сами
Нямахме машина от класа GB10. Нито една команда от този урок не е пусната от нас — сверени са с документацията на Earth2Studio и на Copernicus към 03.10.2026, затова няма етикет „ТЕСТВАНО“. Непроверени са още: инсталирането на Earth2Studio и PyTorch върху Arm64 и CUDA 13 на GB10, имената на допълнителните групи пакети за FCN3, скоростта на пресмятане и точните имена на променливите в изходния файл.
💡
Кой FourCastNet?
В Earth2Studio има два: FCN — по-старата версия (0,25° мрежа, 26 променливи, стъпка 6 часа), и FCN3 — FourCastNet 3, вероятностен глобален модел на същата мрежа със 72 променливи. Урокът ползва FCN3, защото той е в основния пример на библиотеката.

01Какво ще научиш

02Преди да започнеш

КаквоСтойност (по документацията)
БиблиотекаEarth2Studio 0.19.0 · лиценз Apache 2.0
МоделFourCastNet 3 (FCN3) · вероятностен · глобален · мрежа 0,25° · 72 променливи
Източник на данни в примераGFS (NOAA)
ИзходZarr файл (ZarrBackend)
Препоръчителна средаUbuntu 24.04 · Python 3.13 · CUDA 13.0
Препоръчителна памет на видеокартата за FCN380 GB (каталог на Earth2Studio)

03Стъпки

  1. Как работи един AI модел за времето

    Класическият (числен) модел пресмята уравненията на физиката на атмосферата стъпка по стъпка. AI моделът е обучен върху историческите данни (реанализа ERA5) и научава как се променя състоянието на атмосферата за една стъпка; после я повтаря. Това не го прави по-точен — прави го евтин за пускане и удобен за експерименти. Затова винаги го сравняваш с проверени източници.

    В Earth2Studio работният процес е верига от четири части:

    ЧастКакво еВ примера
    Източник на данниОткъде идва началното състояние на атмосфератаGFS()
    Прогностичен моделПрави стъпка напред във времетоFCN3
    ЗаписКъде се пишат резултатитеZarrBackend
    Работен потокСвързва ги и върти стъпкитеrun.deterministic
  2. Инсталирай Earth2Studio

    Документацията препоръчва uv и нова чиста среда. Командите са от официалното ръководство (версия 0.19.0):

    bash · на машината
    mkdir earth2studio-project && cd earth2studio-project
    uv init --python=3.13
    uv add "earth2studio @ git+https://github.com/NVIDIA/earth2studio.git@0.19.0"
    
    uv run python -c "import earth2studio; print(earth2studio.__version__)"

    Базовата инсталация съдържа само ядрото — повечето модели и източници на данни искат допълнителни групи пакети. Ръководството има селектор за инсталация, в който избираш модела (FCN3) и данните. По аналогия с примера за друг модел (earth2studio[aifs,data]) групите вероятно се казват fcn3 и data — ⚠️ потвърди в селектора, не го приемай за вярно.

    💡
    Алтернатива: контейнер
    Документацията показва и път през контейнера на NVIDIA за PyTorch (nvcr.io/nvidia/pytorch:26.04-py3), в който се инсталира същата библиотека. ⚠️ Не сме проверявали дали тази версия на образа има Arm64 вариант и как се подава достъпът до видеокартата — виж ръководството.
  3. Първа прогноза

    Това е примерът от главната страница на Earth2Studio. Четири реда подготвят частите, петият пуска работния поток: начална дата, 10 стъпки напред, модел, данни, запис.

    python · forecast.py
    from earth2studio.models.px import FCN3
    from earth2studio.data import GFS
    from earth2studio.io import ZarrBackend
    from earth2studio.run import deterministic as run
    
    model = FCN3.load_model(FCN3.load_default_package())
    data = GFS()
    io = ZarrBackend("outputs/fcn3_forecast.zarr")
    run(["2025-01-01T00:00:00"], 10, model, data, io)

    Първо пускане: теглят се теглата на модела. Датата 2025-01-01T00:00:00 е от официалния пример — за друга дата провери, че GFS има данни за нея (⚠️ не сме го проверявали). Колко време обхваща една стъпка, виж така:

    python
    # колко време обхваща една стъпка на модела
    step = model.output_coords(model.input_coords())["lead_time"][0]
    print(step)

    Резултатът е в папката outputs/fcn3_forecast.zarr.

  4. По избор: данни ERA5 от Copernicus

    ERA5 е глобалният реанализ на ECMWF и се дава безплатно от Copernicus Climate Data Store. Нужен е акаунт; токенът се слага във файла ~/.cdsapirc (само за теб — chmod 600). Не го пиши в скриптове и Git.

    ~/.cdsapirc
    url: https://cds.climate.copernicus.eu/api
    key: <личен-токен-от-CDS>

    Условията за ползване на всеки набор данни се приемат ръчно на страницата му (най-долу във формата за изтегляне). Примерът от документацията:

    python
    # pip install "cdsapi>=0.7.7"
    import cdsapi
    
    client = cdsapi.Client()
    
    dataset = "reanalysis-era5-pressure-levels"
    request = {
        "product_type": ["reanalysis"],
        "variable": ["geopotential"],
        "year": ["2024"],
        "month": ["03"],
        "day": ["01"],
        "time": ["13:00"],
        "pressure_level": ["1000"],
        "data_format": "grib",
    }
    target = "download.grib"
    
    client.retrieve(dataset, request, target)

    Earth2Studio има и готови източници на ERA5 — виж каталога на източниците на данни в документацията му.

  5. Погледни резултата

    Zarr файлът се чете с xarray. Първо отпечатай съдържанието — имената на променливите следват лексикона на Earth2Studio и може да се различават от тези тук.

    python
    import xarray as xr
    import matplotlib.pyplot as plt
    
    ds = xr.open_zarr("outputs/fcn3_forecast.zarr")
    print(ds)   # първо виж кои променливи и оси има
    
    t2m = ds["t2m"].isel(time=0, lead_time=-1) - 273.15   # келвин -> °C
    t2m.plot(cmap="RdYlBu_r")
    plt.title("Температура на 2 m, последна стъпка (°C)")
    plt.savefig("t2m_last_step.png", dpi=150)

    За България изрежи правоъгълник по координати (за ориентир: приблизително 41–44,5° с.ш. и 22–29° и.д.).

    python
    # изрязване на района на България (ако оста lat е низходяща, редът в slice е обратен)
    bg = t2m.sel(lat=slice(44.5, 41.0), lon=slice(22.0, 29.0))
    bg.plot(cmap="RdYlBu_r")

    ⚠️ Кодът в тази стъпка не е пускан; оста lead_time и имената са по структурата, описана в документацията на Earth2Studio — ако получиш грешка, започни от print(ds).

  6. Една прогноза е едно възможно развитие

    FourCastNet 3 е вероятностен модел: с различно „семе“ (параметърът seed) дава различни правдоподобни развития. Една пускане не казва колко е вероятно нещо. За вероятности се пускат много развития (ансамбъл) — в галерията с примери на Earth2Studio има „Running Ensemble Inference“. Не го правим тук.

  7. Какво не е това

    Ограничения, които трябва да знаеш: мрежата е 0,25° (около 25 км) — планини, брегове и отделни бури остават под нея, а точно това е темата на следващия урок; AI моделите грешат, особено при валежи и екстремни явления, и грешката расте с отдалечаването във времето; началните данни (GFS, ERA5) носят собствени грешки. За всяко реално решение чети НИМХ.

    ⛈️
    Не вземай решения по този резултат
    Този урок не дава официална прогноза и не замества такава. Показва как работи един AI модел за времето. Официалните прогнози и предупреждения за България издава НИМХ (Национален институт по метеорология и хидрология): meteo.bg; предупрежденията по общини са на weather.bg/obshtini, а за Европа — на meteoalarm.org. Не вземай решения за безопасност, земеделие, събития или енергия по резултата от този урок.

04Проверка

Тест

1. Какъв е FourCastNet 3 според документацията на Earth2Studio?

2. Кой издава официалните прогнози и предупреждения за България?

3. Къде е правилно да стои токенът за Copernicus?

4. Какво означава числото 10 в run([...], 10, model, data, io)?

05Какво следва

06Източници

  1. NVIDIA Earth2Studio (GitHub) — пример за FourCastNet 3, версия и лиценз Apache 2.0; сверено 03.10.2026.
  2. Earth2Studio: инсталиране — uv, версия 0.19.0, препоръчителна среда и хардуер.
  3. Earth2Studio: модел FCN3 · модел FCN — описание на моделите; статията: arXiv 2507.12144.
  4. Earth2Studio: детерминистичен работен поток — пример и параметри на run.deterministic.
  5. build.nvidia.com: fourcastnet 🌐 глобален — страница на модела в каталога на NVIDIA; лицензът на моделите е на страницата.
  6. Copernicus CDS: настройка на API 🌐 глобален — адрес, личен токен, cdsapi.
  7. НИМХ: meteo.bg · предупреждения по общини · meteoalarm.org — официални прогнози и предупреждения.