{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "96395cd4", "metadata": {}, "source": [ "# AIGFS\n", "\n", "In December 2025, NOAA announced the release of three AI global forecasting systems.\n", "\n", "[NOAA deploys new generation of AI-driven global weather models](https://www.noaa.gov/news-release/noaa-deploys-new-generation-of-ai-driven-global-weather-models)\n", "\n", "All three models are available for download in Herbie:\n", "\n", "- `model=\"aigfs\"`\n", "\n", "- `model=\"aigefs\"`\n", "\n", "- `model=\"hgefs\"`\n", "\n", "This notebook demonstrates how to download and use AIGFS data using Herbie.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "49ccc859", "metadata": {}, "outputs": [], "source": [ "from herbie import Herbie\n", "from herbie.toolbox import EasyMap, pc, ccrs\n", "from herbie import paint\n", "\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "466b18b1", "metadata": {}, "source": [ "There are two available products: \n", "\n", "- `product=\"sfc\"`\n", "- `product=\"pres\"`" ] }, { "cell_type": "code", "execution_count": 2, "id": "cd3f7ac0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Found ┊ model=aigfs ┊ \u001b[3mproduct=sfc\u001b[0m ┊ \u001b[38;2;41;130;13m2026-Feb-01 00:00 UTC\u001b[92m F00\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mGRIB2 @ nomads\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3mIDX @ local\u001b[0m\n" ] }, { "data": { "text/plain": [ "\u001b[48;2;255;255;255m\u001b[38;2;136;33;27m▌\u001b[0m\u001b[38;2;12;53;118m\u001b[48;2;240;234;210m▌\u001b[38;2;0;0;0m\u001b[1mHerbie\u001b[0m AIGFS model \u001b[3msfc\u001b[0m product initialized \u001b[38;2;41;130;13m2026-Feb-01 00:00 UTC\u001b[92m F00\u001b[0m ┊ \u001b[38;2;255;153;0m\u001b[3msource=nomads\u001b[0m" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H = Herbie(\"2026-02-01\", model=\"aigfs\", product=\"sfc\")\n", "H" ] }, { "cell_type": "code", "execution_count": 3, "id": "52dcbd8c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'nomads': 'https://nomads.ncep.noaa.gov/pub/data/nccf/com/aigfs/prod/aigfs.20260201/00/model/atmos/grib2/aigfs.t00z.sfc.f000.grib2'}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show all available sources\n", "H.SOURCES" ] }, { "cell_type": "code", "execution_count": 4, "id": "2d3e379c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | grib_message | \n", "start_byte | \n", "end_byte | \n", "range | \n", "reference_time | \n", "valid_time | \n", "variable | \n", "level | \n", "forecast_time | \n", "search_this | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "0 | \n", "1002703.0 | \n", "0-1002703 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "UGRD | \n", "10 m above ground | \n", "anl | \n", ":UGRD:10 m above ground:anl: | \n", "
| 1 | \n", "2 | \n", "1002704 | \n", "1981711.0 | \n", "1002704-1981711 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "VGRD | \n", "10 m above ground | \n", "anl | \n", ":VGRD:10 m above ground:anl: | \n", "
| 2 | \n", "3 | \n", "1981712 | \n", "2512347.0 | \n", "1981712-2512347 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "TMP | \n", "2 m above ground | \n", "anl | \n", ":TMP:2 m above ground:anl: | \n", "
| 3 | \n", "4 | \n", "2512348 | \n", "NaN | \n", "2512348- | \n", "2026-02-01 | \n", "2026-02-01 | \n", "PRMSL | \n", "mean sea level | \n", "anl | \n", ":PRMSL:mean sea level:anl: | \n", "
| \n", " | grib_message | \n", "start_byte | \n", "end_byte | \n", "range | \n", "reference_time | \n", "valid_time | \n", "variable | \n", "level | \n", "forecast_time | \n", "search_this | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "0 | \n", "673222.0 | \n", "0-673222 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "HGT | \n", "50 mb | \n", "anl | \n", ":HGT:50 mb:anl: | \n", "
| 1 | \n", "2 | \n", "673223 | \n", "1329174.0 | \n", "673223-1329174 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "HGT | \n", "100 mb | \n", "anl | \n", ":HGT:100 mb:anl: | \n", "
| 2 | \n", "3 | \n", "1329175 | \n", "1993554.0 | \n", "1329175-1993554 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "HGT | \n", "150 mb | \n", "anl | \n", ":HGT:150 mb:anl: | \n", "
| 3 | \n", "4 | \n", "1993555 | \n", "2656655.0 | \n", "1993555-2656655 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "HGT | \n", "200 mb | \n", "anl | \n", ":HGT:200 mb:anl: | \n", "
| 4 | \n", "5 | \n", "2656656 | \n", "3314383.0 | \n", "2656656-3314383 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "HGT | \n", "250 mb | \n", "anl | \n", ":HGT:250 mb:anl: | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 73 | \n", "74 | \n", "77577252 | \n", "78369407.0 | \n", "77577252-78369407 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "VVEL | \n", "600 mb | \n", "anl | \n", ":VVEL:600 mb:anl: | \n", "
| 74 | \n", "75 | \n", "78369408 | \n", "79179487.0 | \n", "78369408-79179487 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "VVEL | \n", "700 mb | \n", "anl | \n", ":VVEL:700 mb:anl: | \n", "
| 75 | \n", "76 | \n", "79179488 | \n", "80019147.0 | \n", "79179488-80019147 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "VVEL | \n", "850 mb | \n", "anl | \n", ":VVEL:850 mb:anl: | \n", "
| 76 | \n", "77 | \n", "80019148 | \n", "80844486.0 | \n", "80019148-80844486 | \n", "2026-02-01 | \n", "2026-02-01 | \n", "VVEL | \n", "925 mb | \n", "anl | \n", ":VVEL:925 mb:anl: | \n", "
| 77 | \n", "78 | \n", "80844487 | \n", "NaN | \n", "80844487- | \n", "2026-02-01 | \n", "2026-02-01 | \n", "VVEL | \n", "1000 mb | \n", "anl | \n", ":VVEL:1000 mb:anl: | \n", "
78 rows × 10 columns
\n", "