From 141ab764532c670cc743417296fe98d5308f9a61 Mon Sep 17 00:00:00 2001 From: Brian Blaylock Date: Mon, 5 Aug 2024 22:13:50 -0700 Subject: [PATCH 1/4] update GFS template - Added if block for datetime to switch to GFS v16 file structure. - Added sfluxgrb product discovery - Fixed bug in gdas from azure --- herbie/models/gfs.py | 160 +++-- unique_gfs.ipynb | 1565 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1669 insertions(+), 56 deletions(-) create mode 100644 unique_gfs.ipynb diff --git a/herbie/models/gfs.py b/herbie/models/gfs.py index 710f6614..18fff2e8 100644 --- a/herbie/models/gfs.py +++ b/herbie/models/gfs.py @@ -1,33 +1,11 @@ -## Added by Brian Blaylock -## July 26, 2021 +"""Herbie template for GFS products.""" - -class gdas: - def template(self): - self.DESCRIPTION = "Global Data Assimilation System" - self.DETAILS = { - "nomads product description": "https://www.nco.ncep.noaa.gov/pmb/products/gfs/#GDAS", - "google cloud platform": "https://console.cloud.google.com/marketplace/product/noaa-public/gfs?q=search&referrer=search&project=python-232920", - "azure document": "https://github.com/microsoft/AIforEarthDatasets#noaa-global-forecast-system-gfs", - "aws document": "https://registry.opendata.aws/noaa-gfs-bdp-pds", - } - self.PRODUCTS = { - "pgrb2.0p25": "common fields, 0.25 degree resolution", - "pgrb2.1p00": "common fields, 1.00 degree resolution", - } - self.SOURCES = { - "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/gdas.{self.date:%Y%m%d/%H}/atmos/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "aws-old": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/gdas.{self.date:%Y%m%d/%H}/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/gdas.{self.date:%Y%m%d/%H}/atmos/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gdas.{self.date:%Y%m%d/%H}/atmos/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "google": f"https://storage.googleapis.com/global-forecast-system/gdas.{self.date:%Y%m%d/%H}/atmos/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "azure": f"https://noaagfs.blob.core.windows.net/gfs/gdas.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - } - self.IDX_SUFFIX = [".idx"] - self.LOCALFILE = f"{self.get_remoteFileName}" +from datetime import datetime class gfs: + """Global Forecast System Atmosphere Products.""" + def template(self): self.DESCRIPTION = "Global Forecast System" self.DETAILS = { @@ -44,34 +22,40 @@ def template(self): "pgrb2b.0p50": "uncommon fields, 0.50 degree resolution", "pgrb2b.1p00": "uncommon fields, 1.00 degree resolution", "pgrb2full.0p50": "combined grids of 0.50 resolution", + "sfluxgrb": "surface flux fields, T1534 Semi-Lagrangian grid", + "goesimpgrb2.0p25": ", 0.50 degree resolution", } - self.SOURCES = { - "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/gfs.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "aws-old": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/gfs.{self.date:%Y%m%d/%H}/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "google": f"https://storage.googleapis.com/global-forecast-system/gfs.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - "azure": f"https://noaagfs.blob.core.windows.net/gfs/gfs.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", - } - self.IDX_SUFFIX = [".idx"] - self.LOCALFILE = f"{self.get_remoteFileName}" -class graphcast: - def template(self): - self.DESCRIPTION = "GraphCast Global Forecast System (EXPERIMENTAL)" - self.DETAILS = { - "aws document": "https://registry.opendata.aws/noaa-nws-graphcastgfs-pds/", - } - self.PRODUCTS = { - "pgrb2.0p25": "common fields, 0.25 degree resolution", - } + if self.date < datetime(2021, 3, 23): + post_root = f"gfs.{self.date:%Y%m%d/%H}/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}" + else: + # GFS update version 16.0 + # https://www.emc.ncep.noaa.gov/emc/pages/numerical_forecast_systems/gfs/implementations.php + post_root = f"gfs.{self.date:%Y%m%d/%H}/atmos/gfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}" + + if self.product == "sfluxgrb": + post_root = post_root.replace("sfluxgrb.", "sfluxgrb") + self.SOURCES = { - "aws": f"https://noaa-nws-graphcastgfs-pds.s3.amazonaws.com/graphcastgfs.{self.date:%Y%m%d/%H}/forecasts_13_levels/graphcastgfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", + "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/{post_root}", + "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/{post_root}", + "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/{post_root}", + "google": f"https://storage.googleapis.com/global-forecast-system/{post_root}", + "azure": f"https://noaagfs.blob.core.windows.net/gfs/{post_root}", } self.IDX_SUFFIX = [".idx"] self.LOCALFILE = f"{self.get_remoteFileName}" + class gfs_wave: + """ + Global Forecast System Wave Products. + + Wave products were made available with the GFS v16.0 upgrade on + March 22, 2021. + https://www.emc.ncep.noaa.gov/emc/pages/numerical_forecast_systems/gfs/implementations.php + """ + def template(self): self.DESCRIPTION = "Global Forecast System - Wave Products" self.DETAILS = { @@ -86,15 +70,58 @@ def template(self): "gsouth.0p25": "Global South; 0.25 deg resolution", "wcoast.0p16": "West Coast; 0.16 deg resolution", } + + post_root = f"gfs.{self.date:%Y%m%d/%H}/wave/gridded/gfswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2" + self.SOURCES = { - "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/gfs.{self.date:%Y%m%d/%H}/wave/gridded/gfswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs.{self.date:%Y%m%d/%H}/wave/gridded/gfswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.{self.date:%Y%m%d/%H}/wave/gridded/gfswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "google": f"https://storage.googleapis.com/global-forecast-system/gfs.{self.date:%Y%m%d/%H}/wave/gridded/gfswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "azure": f"https://noaahrrr.blob.core.windows.net/gfs/gfs.{self.date:%Y%m%d/%H}/wave/gridded/gfswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", + "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/{post_root}", + "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/{post_root}", + "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/{post_root}", + "google": f"https://storage.googleapis.com/global-forecast-system/{post_root}", + "azure": f"https://noaahrrr.blob.core.windows.net/gfs/{post_root}", } self.LOCALFILE = f"{self.get_remoteFileName}" + +class gdas: + """Global Data Assimilation System.""" + + def template(self): + self.DESCRIPTION = "Global Data Assimilation System" + self.DETAILS = { + "nomads product description": "https://www.nco.ncep.noaa.gov/pmb/products/gfs/#GDAS", + "google cloud platform": "https://console.cloud.google.com/marketplace/product/noaa-public/gfs?q=search&referrer=search&project=python-232920", + "azure document": "https://github.com/microsoft/AIforEarthDatasets#noaa-global-forecast-system-gfs", + "aws document": "https://registry.opendata.aws/noaa-gfs-bdp-pds", + } + self.PRODUCTS = { + "pgrb2.0p25": "common fields, 0.25 degree resolution", + "pgrb2.1p00": "common fields, 1.00 degree resolution", + "sfluxgrb": "surface flux fields, T1534 Semi-Lagrangian grid", + } + + if self.date < datetime(2021, 3, 23): + post_root = f"gdas.{self.date:%Y%m%d/%H}/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}" + else: + # GFS update version 16.0 + # https://www.emc.ncep.noaa.gov/emc/pages/numerical_forecast_systems/gfs/implementations.php + post_root = f"gdas.{self.date:%Y%m%d/%H}/atmos/gdas.t{self.date:%H}z.{self.product}.f{self.fxx:03d}" + + if self.product == "sfluxgrb": + post_root = post_root.replace("sfluxgrb.", "sfluxgrb") + + self.SOURCES = { + "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/{post_root}", + "aws-old": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/{post_root}", + "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/{post_root}", + "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/{post_root}", + "google": f"https://storage.googleapis.com/global-forecast-system/{post_root}", + "azure": f"https://noaagfs.blob.core.windows.net/gfs/{post_root}", + } + self.IDX_SUFFIX = [".idx"] + self.LOCALFILE = f"{self.get_remoteFileName}" + + class gdas_wave: def template(self): self.DESCRIPTION = "Global Data Assimilation System - Wave Products" @@ -110,11 +137,32 @@ def template(self): "gsouth.0p25": "Global South; 0.25 deg resolution", "wcoast.0p16": "West Coast; 0.16 deg resolution", } + + post_root = f"gdas.{self.date:%Y%m%d/%H}/wave/gridded/gdaswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2" + + self.SOURCES = { + "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/{post_root}", + "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/{post_root}", + "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/{post_root}", + "google": f"https://storage.googleapis.com/global-forecast-system/{post_root}", + "azure": f"https://noaahrrr.blob.core.windows.net/gfs/{post_root}", + } + self.LOCALFILE = f"{self.get_remoteFileName}" + + +class graphcast: + """GraphCast Global Forecast System.""" + + def template(self): + self.DESCRIPTION = "GraphCast Global Forecast System (EXPERIMENTAL)" + self.DETAILS = { + "aws document": "https://registry.opendata.aws/noaa-nws-graphcastgfs-pds/", + } + self.PRODUCTS = { + "pgrb2.0p25": "common fields, 0.25 degree resolution", + } self.SOURCES = { - "aws": f"https://noaa-gfs-bdp-pds.s3.amazonaws.com/gdas.{self.date:%Y%m%d/%H}/wave/gridded/gdaswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "ftpprd": f"https://ftpprd.ncep.noaa.gov/data/nccf/com/gfs/prod/gdas.{self.date:%Y%m%d/%H}/wave/gridded/gdaswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gdas.{self.date:%Y%m%d/%H}/wave/gridded/gdaswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "google": f"https://storage.googleapis.com/global-forecast-system/gdas.{self.date:%Y%m%d/%H}/wave/gridded/gdaswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", - "azure": f"https://noaahrrr.blob.core.windows.net/gfs/gdas.{self.date:%Y%m%d/%H}/wave/gridded/gdaswave.t{self.date:%H}z.{self.product}.f{self.fxx:03d}.grib2", + "aws": f"https://noaa-nws-graphcastgfs-pds.s3.amazonaws.com/graphcastgfs.{self.date:%Y%m%d/%H}/forecasts_13_levels/graphcastgfs.t{self.date:%H}z.{self.product}.f{self.fxx:03d}", } + self.IDX_SUFFIX = [".idx"] self.LOCALFILE = f"{self.get_remoteFileName}" diff --git a/unique_gfs.ipynb b/unique_gfs.ipynb new file mode 100644 index 00000000..a556c61a --- /dev/null +++ b/unique_gfs.ipynb @@ -0,0 +1,1565 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import s3fs\n", + "import polars as pl" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "fs = s3fs.S3FileSystem(anon=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2,\n", + " ['noaa-gfs-bdp-pds/gdas.20210323/00/atmos',\n", + " 'noaa-gfs-bdp-pds/gdas.20210323/00/wave'])" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "files = fs.glob(\"noaa-gfs-bdp-pds/gdas.20210323/00/*\")\n", + "len(files), files" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5356" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "files = fs.glob(\"noaa-gfs-bdp-pds/gfs.20240401/*/atmos/*.idx\")\n", + "len(files)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5852,\n", + " ['noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f000.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f001.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f002.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f003.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f004.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f005.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f006.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f007.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f008.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f009.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f010.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f011.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f012.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f013.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f014.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f015.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f016.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f017.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f018.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f019.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f020.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f021.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f022.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f023.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f024.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f025.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f026.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f027.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f028.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f029.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f030.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f031.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f032.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f033.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f034.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f035.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f036.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f037.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f038.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f039.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f040.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f041.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f042.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f043.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f044.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f045.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f046.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f047.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f048.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f049.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f050.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f051.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f052.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f053.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f054.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f055.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f056.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f057.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f058.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f059.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f060.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f061.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f062.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f063.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f064.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f065.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f066.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f067.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f068.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f069.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f070.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f071.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f072.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f073.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f074.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f075.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f076.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f077.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f078.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f079.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f080.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f081.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f082.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f083.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f084.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f085.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f086.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f087.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f088.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f089.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f090.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f091.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f092.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f093.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f094.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f095.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f096.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f097.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f098.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f099.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f100.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f101.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f102.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f103.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f104.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f105.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f106.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f107.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f108.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f109.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f110.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f111.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f112.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f113.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f114.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f115.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f116.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f117.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f118.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f119.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f120.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f123.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f126.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f129.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f132.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f135.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f138.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f141.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f144.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f147.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f150.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f153.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f156.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f159.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f162.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f165.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f168.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f171.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f174.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f177.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f180.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f183.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f186.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f189.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f192.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f195.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f198.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f201.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f204.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f207.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f210.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f213.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f216.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f219.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f222.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f225.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f228.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f231.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f234.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f237.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f240.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f243.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f246.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f249.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f252.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f255.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f258.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f261.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f264.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f267.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f270.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f273.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f276.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f279.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f282.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f285.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f288.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f291.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f294.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f297.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f300.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f303.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f306.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f309.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f312.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f315.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f318.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f321.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f324.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f327.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f330.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f333.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f336.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f339.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f342.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f345.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f348.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f351.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f354.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f357.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f360.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f363.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f366.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f369.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f372.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f375.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f378.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f381.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.arctic.9km.f384.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f000.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f001.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f002.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f003.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f004.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f005.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f006.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f007.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f008.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f009.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f010.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f011.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f012.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f013.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f014.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f015.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f016.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f017.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f018.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f019.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f020.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f021.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f022.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f023.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f024.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f025.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f026.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f027.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f028.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f029.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f030.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f031.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f032.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f033.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f034.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f035.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f036.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f037.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f038.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f039.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f040.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f041.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f042.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f043.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f044.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f045.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f046.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f047.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f048.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f049.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f050.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f051.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f052.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f053.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f054.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f055.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f056.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f057.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f058.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f059.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f060.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f061.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f062.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f063.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f064.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f065.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f066.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f067.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f068.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f069.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f070.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f071.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f072.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f073.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f074.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f075.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f076.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f077.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f078.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f079.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f080.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f081.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f082.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f083.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f084.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f085.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f086.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f087.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f088.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f089.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f090.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f091.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f092.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f093.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f094.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f095.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f096.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f097.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f098.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f099.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f100.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f101.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f102.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f103.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f104.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f105.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f106.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f107.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f108.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f109.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f110.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f111.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f112.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f113.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f114.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f115.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f116.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f117.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f118.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f119.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f120.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f123.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f126.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f129.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f132.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f135.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f138.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f141.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f144.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f147.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f150.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f153.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f156.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f159.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f162.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f165.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f168.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f171.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f174.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f177.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f180.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f183.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f186.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f189.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f192.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f195.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f198.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f201.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f204.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f207.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f210.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f213.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f216.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f219.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f222.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f225.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f228.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f231.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f234.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f237.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f240.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f243.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f246.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f249.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f252.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f255.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f258.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f261.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f264.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f267.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f270.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f273.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f276.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f279.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f282.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f285.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f288.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f291.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f294.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f297.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f300.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f303.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f306.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f309.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f312.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f315.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f318.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f321.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f324.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f327.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f330.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f333.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f336.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f339.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f342.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f345.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f348.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f351.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f354.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f357.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f360.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f363.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f366.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f369.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f372.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f375.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f378.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f381.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.atlocn.0p16.f384.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f000.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f001.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f002.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f003.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f004.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f005.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f006.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f007.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f008.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f009.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f010.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f011.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f012.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f013.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f014.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f015.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f016.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f017.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f018.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f019.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f020.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f021.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f022.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f023.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f024.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f025.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f026.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f027.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f028.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f029.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f030.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f031.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f032.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f033.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f034.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f035.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f036.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f037.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f038.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f039.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f040.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f041.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f042.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f043.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f044.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f045.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f046.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f047.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f048.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f049.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f050.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f051.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f052.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f053.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f054.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f055.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f056.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f057.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f058.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f059.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f060.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f061.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f062.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f063.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f064.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f065.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f066.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f067.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f068.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f069.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f070.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f071.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f072.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f073.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f074.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f075.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f076.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f077.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f078.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f079.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f080.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f081.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f082.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f083.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f084.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f085.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f086.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f087.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f088.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f089.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f090.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f091.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f092.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f093.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f094.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f095.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f096.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f097.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f098.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f099.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f100.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f101.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f102.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f103.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f104.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f105.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f106.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f107.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f108.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f109.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f110.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f111.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f112.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f113.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f114.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f115.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f116.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f117.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f118.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f119.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f120.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f123.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f126.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f129.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f132.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f135.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f138.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f141.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f144.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f147.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f150.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f153.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f156.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f159.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f162.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f165.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f168.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f171.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f174.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f177.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f180.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f183.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f186.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f189.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f192.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f195.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f198.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f201.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f204.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f207.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f210.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f213.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f216.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f219.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f222.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f225.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f228.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f231.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f234.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f237.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f240.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f243.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f246.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f249.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f252.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f255.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f258.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f261.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f264.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f267.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f270.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f273.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f276.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f279.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f282.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f285.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f288.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f291.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f294.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f297.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f300.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f303.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f306.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f309.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f312.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f315.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f318.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f321.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f324.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f327.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f330.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f333.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f336.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f339.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f342.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f345.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f348.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f351.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f354.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f357.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f360.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f363.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f366.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f369.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f372.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f375.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f378.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f381.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.epacif.0p16.f384.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f000.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f001.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f002.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f003.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f004.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f005.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f006.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f007.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f008.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f009.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f010.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f011.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f012.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f013.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f014.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f015.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f016.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f017.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f018.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f019.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f020.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f021.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f022.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f023.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f024.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f025.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f026.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f027.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f028.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f029.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f030.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f031.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f032.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f033.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f034.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f035.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f036.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f037.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f038.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f039.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f040.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f041.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f042.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f043.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f044.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f045.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f046.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f047.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f048.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f049.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f050.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f051.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f052.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f053.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f054.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f055.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f056.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f057.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f058.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f059.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f060.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f061.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f062.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f063.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f064.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f065.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f066.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f067.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f068.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f069.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f070.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f071.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f072.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f073.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f074.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f075.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f076.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f077.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f078.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f079.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f080.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f081.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f082.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f083.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f084.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f085.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f086.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f087.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f088.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f089.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f090.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f091.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f092.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f093.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f094.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f095.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f096.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f097.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f098.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f099.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f100.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f101.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f102.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f103.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f104.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f105.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f106.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f107.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f108.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f109.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f110.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f111.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f112.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f113.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f114.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f115.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f116.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f117.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f118.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f119.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f120.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f123.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f126.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f129.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f132.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f135.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f138.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f141.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f144.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f147.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f150.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f153.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f156.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f159.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f162.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f165.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f168.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f171.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f174.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f177.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f180.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f183.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f186.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f189.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f192.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f195.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f198.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f201.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f204.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f207.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f210.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f213.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f216.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f219.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f222.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f225.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f228.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f231.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f234.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f237.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f240.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f243.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f246.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f249.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f252.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f255.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f258.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f261.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f264.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f267.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f270.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f273.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f276.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f279.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f282.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f285.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f288.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f291.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f294.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f297.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f300.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f303.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f306.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f309.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f312.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f315.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f318.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f321.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f324.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f327.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f330.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f333.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f336.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f339.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f342.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f345.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f348.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f351.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f354.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f357.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f360.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f363.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f366.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f369.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f372.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f375.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f378.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f381.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p16.f384.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f000.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f001.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f002.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f003.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f004.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f005.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f006.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f007.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f008.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f009.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f010.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f011.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f012.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f013.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f014.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f015.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f016.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f017.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f018.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f019.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f020.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f021.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f022.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f023.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f024.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f025.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f026.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f027.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f028.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f029.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f030.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f031.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f032.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f033.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f034.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f035.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f036.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f037.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f038.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f039.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f040.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f041.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f042.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f043.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f044.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f045.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f046.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f047.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f048.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f049.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f050.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f051.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f052.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f053.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f054.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f055.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f056.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f057.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f058.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f059.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f060.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f061.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f062.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f063.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f064.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f065.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f066.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f067.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f068.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f069.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f070.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f071.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f072.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f073.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f074.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f075.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f076.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f077.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f078.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f079.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f080.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f081.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f082.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f083.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f084.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f085.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f086.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f087.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f088.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f089.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f090.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f091.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f092.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f093.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f094.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f095.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f096.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f097.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f098.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f099.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f100.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f101.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f102.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f103.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f104.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f105.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f106.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f107.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f108.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f109.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f110.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f111.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f112.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f113.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f114.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f115.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f116.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f117.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f118.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f119.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f120.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f123.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f126.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f129.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f132.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f135.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f138.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f141.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f144.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f147.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f150.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f153.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f156.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f159.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f162.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f165.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f168.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f171.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f174.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f177.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f180.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f183.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f186.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f189.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f192.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f195.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f198.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f201.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f204.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f207.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f210.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f213.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f216.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f219.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f222.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f225.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f228.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f231.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f234.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f237.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f240.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f243.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f246.grib2.idx',\n", + " 'noaa-gfs-bdp-pds/gfs.20240401/00/wave/gridded/gfswave.t00z.global.0p25.f249.grib2.idx',\n", + " ...])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "files = fs.glob(\"noaa-gfs-bdp-pds/gfs.20240401/*/wave/gridded/*.idx\")\n", + "len(files)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "100" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "files = fs.glob(\"noaa-gfs-bdp-pds/gdas.20240401/*/atmos/*.idx\")\n", + "len(files)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1: gdas.tHHz.pgrb2.0p25.f###.idx\n", + " 2: gdas.tHHz.pgrb2.1p00.anl.idx\n", + " 3: gdas.tHHz.pgrb2.1p00.f###.idx\n", + " 4: gdas.tHHz.sfluxgrbf###.grib2.idx\n" + ] + } + ], + "source": [ + "df = (\n", + " pl.DataFrame({\"files\": files})\n", + " .filter(\n", + " pl.col(\"files\").str.ends_with(\".idx\"),\n", + " )\n", + " .with_columns(\n", + " pl.col(\"files\").str.split(\"/\").list.last(),\n", + " pl.col(\"files\")\n", + " .str.split(\"/\")\n", + " .list.last()\n", + " .str.replace(r\"f\\d\\d\\d\", \"f###\")\n", + " .str.replace(r\"t\\d\\dz\", \"tHHz\")\n", + " .alias(\"filename\"),\n", + " )\n", + ")\n", + "for i, f in enumerate(df[\"filename\"].unique().sort(), start=1):\n", + " print(f\"{i:3}: {f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (1_339, 7)
filesfield_0field_1field_2field_3field_4field_5
strstrstrstrstrstrstr
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f000""idx"
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f003""idx"
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f006""idx"
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f009""idx"
"gfs.t00z.goessimpgrb2.0p25.f01…"gfs""t00z""goessimpgrb2""0p25""f012""idx"
"gfs.t00z.sfluxgrbf372.grib2.id…"gfs""t00z""sfluxgrbf372""grib2""idx"null
"gfs.t00z.sfluxgrbf375.grib2.id…"gfs""t00z""sfluxgrbf375""grib2""idx"null
"gfs.t00z.sfluxgrbf378.grib2.id…"gfs""t00z""sfluxgrbf378""grib2""idx"null
"gfs.t00z.sfluxgrbf381.grib2.id…"gfs""t00z""sfluxgrbf381""grib2""idx"null
"gfs.t00z.sfluxgrbf384.grib2.id…"gfs""t00z""sfluxgrbf384""grib2""idx"null
" + ], + "text/plain": [ + "shape: (1_339, 7)\n", + "┌─────────────────────────────────┬─────────┬─────────┬──────────────┬─────────┬─────────┬─────────┐\n", + "│ files ┆ field_0 ┆ field_1 ┆ field_2 ┆ field_3 ┆ field_4 ┆ field_5 │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ str ┆ str ┆ str ┆ str ┆ str ┆ str ┆ str │\n", + "╞═════════════════════════════════╪═════════╪═════════╪══════════════╪═════════╪═════════╪═════════╡\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f000 ┆ idx │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f003 ┆ idx │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f006 ┆ idx │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f009 ┆ idx │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f01… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f012 ┆ idx │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ gfs.t00z.sfluxgrbf372.grib2.id… ┆ gfs ┆ t00z ┆ sfluxgrbf372 ┆ grib2 ┆ idx ┆ null │\n", + "│ gfs.t00z.sfluxgrbf375.grib2.id… ┆ gfs ┆ t00z ┆ sfluxgrbf375 ┆ grib2 ┆ idx ┆ null │\n", + "│ gfs.t00z.sfluxgrbf378.grib2.id… ┆ gfs ┆ t00z ┆ sfluxgrbf378 ┆ grib2 ┆ idx ┆ null │\n", + "│ gfs.t00z.sfluxgrbf381.grib2.id… ┆ gfs ┆ t00z ┆ sfluxgrbf381 ┆ grib2 ┆ idx ┆ null │\n", + "│ gfs.t00z.sfluxgrbf384.grib2.id… ┆ gfs ┆ t00z ┆ sfluxgrbf384 ┆ grib2 ┆ idx ┆ null │\n", + "└─────────────────────────────────┴─────────┴─────────┴──────────────┴─────────┴─────────┴─────────┘" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = (\n", + " pl.DataFrame({\"files\": files})\n", + " .filter(\n", + " pl.col(\"files\").str.ends_with(\".idx\"),\n", + " )\n", + " .with_columns(\n", + " pl.col(\"files\").str.split(\"/\").list.last(),\n", + " pl.col(\"files\")\n", + " .str.split(\"/\")\n", + " .list.last()\n", + " .str.split(\".\")\n", + " .list.to_struct()\n", + " .alias(\"parts\"),\n", + " )\n", + " .unnest(\"parts\")\n", + ")\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (1_131, 6)
filesfield_0field_1field_2field_3field_4
strstrstrstrstrstr
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f000"
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f003"
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f006"
"gfs.t00z.goessimpgrb2.0p25.f00…"gfs""t00z""goessimpgrb2""0p25""f009"
"gfs.t00z.goessimpgrb2.0p25.f01…"gfs""t00z""goessimpgrb2""0p25""f012"
"gfs.t00z.pgrb2full.0p50.f375""gfs""t00z""pgrb2full""0p50""f375"
"gfs.t00z.pgrb2full.0p50.f378""gfs""t00z""pgrb2full""0p50""f378"
"gfs.t00z.pgrb2full.0p50.f381""gfs""t00z""pgrb2full""0p50""f381"
"gfs.t00z.pgrb2full.0p50.f384""gfs""t00z""pgrb2full""0p50""f384"
"gfs.t00z.syndata.tcvitals.tm00""gfs""t00z""syndata""tcvitals""tm00"
" + ], + "text/plain": [ + "shape: (1_131, 6)\n", + "┌─────────────────────────────────┬─────────┬─────────┬──────────────┬──────────┬─────────┐\n", + "│ files ┆ field_0 ┆ field_1 ┆ field_2 ┆ field_3 ┆ field_4 │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ str ┆ str ┆ str ┆ str ┆ str ┆ str │\n", + "╞═════════════════════════════════╪═════════╪═════════╪══════════════╪══════════╪═════════╡\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f000 │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f003 │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f006 │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f00… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f009 │\n", + "│ gfs.t00z.goessimpgrb2.0p25.f01… ┆ gfs ┆ t00z ┆ goessimpgrb2 ┆ 0p25 ┆ f012 │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ gfs.t00z.pgrb2full.0p50.f375 ┆ gfs ┆ t00z ┆ pgrb2full ┆ 0p50 ┆ f375 │\n", + "│ gfs.t00z.pgrb2full.0p50.f378 ┆ gfs ┆ t00z ┆ pgrb2full ┆ 0p50 ┆ f378 │\n", + "│ gfs.t00z.pgrb2full.0p50.f381 ┆ gfs ┆ t00z ┆ pgrb2full ┆ 0p50 ┆ f381 │\n", + "│ gfs.t00z.pgrb2full.0p50.f384 ┆ gfs ┆ t00z ┆ pgrb2full ┆ 0p50 ┆ f384 │\n", + "│ gfs.t00z.syndata.tcvitals.tm00 ┆ gfs ┆ t00z ┆ syndata ┆ tcvitals ┆ tm00 │\n", + "└─────────────────────────────────┴─────────┴─────────┴──────────────┴──────────┴─────────┘" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1 = df.filter(pl.col(\"field_4\").is_null().not_())\n", + "df1" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(['gfs'], ['t00z'])" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1[\"field_0\"].unique().to_list(), df1[\"field_1\"].unique().to_list()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (5,)
field_2
str
"goessimpgrb2"
"syndata"
"pgrb2full"
"pgrb2"
"pgrb2b"
" + ], + "text/plain": [ + "shape: (5,)\n", + "Series: 'field_2' [str]\n", + "[\n", + "\t\"goessimpgrb2\"\n", + "\t\"syndata\"\n", + "\t\"pgrb2full\"\n", + "\t\"pgrb2\"\n", + "\t\"pgrb2b\"\n", + "]" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1[\"field_2\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (4,)
field_3
str
"tcvitals"
"0p25"
"1p00"
"0p50"
" + ], + "text/plain": [ + "shape: (4,)\n", + "Series: 'field_3' [str]\n", + "[\n", + "\t\"tcvitals\"\n", + "\t\"0p25\"\n", + "\t\"1p00\"\n", + "\t\"0p50\"\n", + "]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1[\"field_3\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (211,)
field_4
str
"anl"
"f000"
"f001"
"f002"
"f003"
"f375"
"f378"
"f381"
"f384"
"tm00"
" + ], + "text/plain": [ + "shape: (211,)\n", + "Series: 'field_4' [str]\n", + "[\n", + "\t\"anl\"\n", + "\t\"f000\"\n", + "\t\"f001\"\n", + "\t\"f002\"\n", + "\t\"f003\"\n", + "\t…\n", + "\t\"f375\"\n", + "\t\"f378\"\n", + "\t\"f381\"\n", + "\t\"f384\"\n", + "\t\"tm00\"\n", + "]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1[\"field_4\"].unique().sort()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (330, 6)
filesfield_0field_1field_2field_3field_4
strstrstrstrstrstr
"gfs.t00z.goessimpgrb2f000.grd2…"gfs""t00z""goessimpgrb2f000""grd221"null
"gfs.t00z.goessimpgrb2f003.grd2…"gfs""t00z""goessimpgrb2f003""grd221"null
"gfs.t00z.goessimpgrb2f006.grd2…"gfs""t00z""goessimpgrb2f006""grd221"null
"gfs.t00z.goessimpgrb2f009.grd2…"gfs""t00z""goessimpgrb2f009""grd221"null
"gfs.t00z.goessimpgrb2f012.grd2…"gfs""t00z""goessimpgrb2f012""grd221"null
"gfs.t00z.wgne.f168""gfs""t00z""wgne""f168"null
"gfs.t00z.wgne.f171""gfs""t00z""wgne""f171"null
"gfs.t00z.wgne.f174""gfs""t00z""wgne""f174"null
"gfs.t00z.wgne.f177""gfs""t00z""wgne""f177"null
"gfs.t00z.wgne.f180""gfs""t00z""wgne""f180"null
" + ], + "text/plain": [ + "shape: (330, 6)\n", + "┌─────────────────────────────────┬─────────┬─────────┬──────────────────┬─────────┬─────────┐\n", + "│ files ┆ field_0 ┆ field_1 ┆ field_2 ┆ field_3 ┆ field_4 │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ str ┆ str ┆ str ┆ str ┆ str ┆ str │\n", + "╞═════════════════════════════════╪═════════╪═════════╪══════════════════╪═════════╪═════════╡\n", + "│ gfs.t00z.goessimpgrb2f000.grd2… ┆ gfs ┆ t00z ┆ goessimpgrb2f000 ┆ grd221 ┆ null │\n", + "│ gfs.t00z.goessimpgrb2f003.grd2… ┆ gfs ┆ t00z ┆ goessimpgrb2f003 ┆ grd221 ┆ null │\n", + "│ gfs.t00z.goessimpgrb2f006.grd2… ┆ gfs ┆ t00z ┆ goessimpgrb2f006 ┆ grd221 ┆ null │\n", + "│ gfs.t00z.goessimpgrb2f009.grd2… ┆ gfs ┆ t00z ┆ goessimpgrb2f009 ┆ grd221 ┆ null │\n", + "│ gfs.t00z.goessimpgrb2f012.grd2… ┆ gfs ┆ t00z ┆ goessimpgrb2f012 ┆ grd221 ┆ null │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ gfs.t00z.wgne.f168 ┆ gfs ┆ t00z ┆ wgne ┆ f168 ┆ null │\n", + "│ gfs.t00z.wgne.f171 ┆ gfs ┆ t00z ┆ wgne ┆ f171 ┆ null │\n", + "│ gfs.t00z.wgne.f174 ┆ gfs ┆ t00z ┆ wgne ┆ f174 ┆ null │\n", + "│ gfs.t00z.wgne.f177 ┆ gfs ┆ t00z ┆ wgne ┆ f177 ┆ null │\n", + "│ gfs.t00z.wgne.f180 ┆ gfs ┆ t00z ┆ wgne ┆ f180 ┆ null │\n", + "└─────────────────────────────────┴─────────┴─────────┴──────────────────┴─────────┴─────────┘" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2 = df.filter(pl.col(\"field_4\").is_null())\n", + "df2" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(['gfs'], ['t00z'])" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2[\"field_0\"].unique().to_list(), df1[\"field_1\"].unique().to_list()" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (3,)
field_2
str
"goessimpgrb2"
"sfluxgrb"
"wgne"
" + ], + "text/plain": [ + "shape: (3,)\n", + "Series: 'field_2' [str]\n", + "[\n", + "\t\"goessimpgrb2\"\n", + "\t\"sfluxgrb\"\n", + "\t\"wgne\"\n", + "]" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2[\"field_2\"].str.replace(r\"f\\d\\d\\d$\", \"\").unique().sort()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (62,)
field_3
str
"f003"
"f006"
"f009"
"f012"
"f015"
"f174"
"f177"
"f180"
"grd221"
"grib2"
" + ], + "text/plain": [ + "shape: (62,)\n", + "Series: 'field_3' [str]\n", + "[\n", + "\t\"f003\"\n", + "\t\"f006\"\n", + "\t\"f009\"\n", + "\t\"f012\"\n", + "\t\"f015\"\n", + "\t…\n", + "\t\"f174\"\n", + "\t\"f177\"\n", + "\t\"f180\"\n", + "\t\"grd221\"\n", + "\t\"grib2\"\n", + "]" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2[\"field_3\"].unique().sort()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "herbie-dev", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 993266793393f6dc07394d6a0f4fd9613c413890 Mon Sep 17 00:00:00 2001 From: Brian Blaylock Date: Tue, 6 Aug 2024 22:53:43 -0700 Subject: [PATCH 2/4] fix potential bug getting remote filename --- herbie/core.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/herbie/core.py b/herbie/core.py index fd5375c0..f9825882 100644 --- a/herbie/core.py +++ b/herbie/core.py @@ -515,9 +515,15 @@ def find_idx(self) -> tuple[Optional[Union[Path, str]], Optional[str]]: @property def get_remoteFileName(self, source: Optional[str] = None) -> str: - """Predict remote file name (assumes all sources are named the same).""" + """Predict remote file name.""" if source is None: - source = list(self.SOURCES)[0] + if hasattr(self, "grib_source") and self.grib_source != "local": + source = self.grib_source + else: + # Just pick the first source in the template + # Note: this might not always be the best approach + # the file names are not consistent between sources. + source = list(self.SOURCES)[0] return self.SOURCES[source].split("/")[-1] @property From e1fecf7cf6916b58a24a0d6872125b732ca9f5c5 Mon Sep 17 00:00:00 2001 From: Brian Blaylock Date: Tue, 6 Aug 2024 22:54:02 -0700 Subject: [PATCH 3/4] added RDA as source for GFS files --- herbie/models/gfs.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/herbie/models/gfs.py b/herbie/models/gfs.py index 18fff2e8..e2f1064c 100644 --- a/herbie/models/gfs.py +++ b/herbie/models/gfs.py @@ -4,15 +4,34 @@ class gfs: - """Global Forecast System Atmosphere Products.""" + """Global Forecast System Atmosphere Products. + + Notes + ----- + The NODD program provides GFS data on all major cloud partners + - aws: Archive begins 2021-01-01 + - google: Archive begins 2021-01-01 + - azure: Last 30 days + + The NCAR RDA archive only provides GFS data at 0.25 degree + resolution and these files do not have index files which makes + variable subsetting impossible. + + NCEI archive is spotty at best. + """ def template(self): self.DESCRIPTION = "Global Forecast System" self.DETAILS = { "nomads product description": "https://www.nco.ncep.noaa.gov/pmb/products/gfs", "google cloud platform": "https://console.cloud.google.com/marketplace/product/noaa-public/gfs?q=search&referrer=search&project=python-232920", - "azure document": "https://github.com/microsoft/AIforEarthDatasets#noaa-global-forecast-system-gfs", + "azure document": [ + "https://github.com/microsoft/AIforEarthDatasets#noaa-global-forecast-system-gfs", + "https://microsoft.github.io/AIforEarthDataSets/data/noaa-gfs.html", + ], "aws document": "https://registry.opendata.aws/noaa-gfs-bdp-pds", + "NCAR Research Data Archive (RDA)": "https://rda.ucar.edu/datasets/d084001/", + "NCEI": "https://www.ncei.noaa.gov/products/weather-climate-models/global-forecast", } self.PRODUCTS = { "pgrb2.0p25": "common fields, 0.25 degree resolution", @@ -42,6 +61,7 @@ def template(self): "nomads": f"https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/{post_root}", "google": f"https://storage.googleapis.com/global-forecast-system/{post_root}", "azure": f"https://noaagfs.blob.core.windows.net/gfs/{post_root}", + "ncar_rda": f"https://data.rda.ucar.edu/d084001/{self.date:%Y/%Y%m%d}/gfs.0p25.{self.date:%Y%m%d%H}.f{self.fxx:03d}.grib2", } self.IDX_SUFFIX = [".idx"] self.LOCALFILE = f"{self.get_remoteFileName}" From e47ecbadb57a826c786201ab5e4ccdae5cca66ba Mon Sep 17 00:00:00 2001 From: Brian Blaylock Date: Tue, 6 Aug 2024 23:13:05 -0700 Subject: [PATCH 4/4] attempt to repair GEFS file discovery for days before 2020-9-23 --- herbie/models/gefs.py | 49 ++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/herbie/models/gefs.py b/herbie/models/gefs.py index 7b836ec7..8f98e8fb 100644 --- a/herbie/models/gefs.py +++ b/herbie/models/gefs.py @@ -1,15 +1,22 @@ ## Added by Brian Blaylock ## March 11, 2022 -""" -A Herbie template for the GEFS (2017-Present) and GEFS Reforecast (2000-2019) -GRIB2 products. +"""A Herbie template for the GEFS (2017-Present) and GEFS Re-forecast (2000-2019) GRIB2 products.""" - -""" +from datetime import datetime class gefs: + """Global Ensemble Forecast System (GEFS). + + Notes + ----- + The NODD program provides GEFS data on all major cloud partners + - aws: Archive begins 2017-01-01 + - google: Archive begins 2021-01-01 + - azure: Last 30 days? + """ + def template(self): self.DESCRIPTION = "Global Ensemble Forecast System (GEFS)" self.DETAILS = { @@ -47,14 +54,28 @@ def template(self): self.member = f"p{self.member:02d}" filedir = f"gefs.{self.date:%Y%m%d/%H}" - filepaths = { - "atmos.5": f"{filedir}/atmos/pgrb2ap5/ge{self.member}.t{self.date:%H}z.pgrb2a.0p50.f{self.fxx:03d}", - "atmos.5b": f"{filedir}/atmos/pgrb2bp5/ge{self.member}.t{self.date:%H}z.pgrb2b.0p50.f{self.fxx:03d}", - "atmos.25": f"{filedir}/atmos/pgrb2sp25/ge{self.member}.t{self.date:%H}z.pgrb2s.0p25.f{self.fxx:03d}", - "wave": f"{filedir}/wave/gridded/gefs.wave.t{self.date:%H}z.{self.member}.global.0p25.f{self.fxx:03d}.grib2", - "chem.5": f"{filedir}/chem/pgrb2ap25/gefs.chem.t{self.date:%H}z.a2d_0p25.f{self.fxx:03d}.grib2", - "chem.25": f"{filedir}/chem/pgrb2ap25/gefs.chem.t{self.date:%H}z.a2d_0p25.f{self.fxx:03d}.grib2", - } + + if self.date < datetime(2018, 7, 27): + filepaths = { + "atmos.5": f"{filedir}/ge{self.member}.t{self.date:%H}z.pgrb2af{self.fxx:03d}", + "atmos.5b": f"{filedir}/ge{self.member}.t{self.date:%H}z.pgrb2bf{self.fxx:03d}", + } + elif self.date < datetime(2020, 9, 23): + # Update to GEFS system to put data in directories. Change in form for lead time to fxx. + filepaths = { + "atmos.5": f"{filedir}/pgrb2a/ge{self.member}.t{self.date:%H}z.pgrb2af{self.fxx:02d}", + "atmos.5b": f"{filedir}/pgrb2b/ge{self.member}.t{self.date:%H}z.pgrb2bf{self.fxx:02d}", + } + else: + # Update to GEFS system with wave and chem products. Change in form for lead time to fxxx. + filepaths = { + "atmos.5": f"{filedir}/atmos/pgrb2ap5/ge{self.member}.t{self.date:%H}z.pgrb2a.0p50.f{self.fxx:03d}", + "atmos.5b": f"{filedir}/atmos/pgrb2bp5/ge{self.member}.t{self.date:%H}z.pgrb2b.0p50.f{self.fxx:03d}", + "atmos.25": f"{filedir}/atmos/pgrb2sp25/ge{self.member}.t{self.date:%H}z.pgrb2s.0p25.f{self.fxx:03d}", + "wave": f"{filedir}/wave/gridded/gefs.wave.t{self.date:%H}z.{self.member}.global.0p25.f{self.fxx:03d}.grib2", + "chem.5": f"{filedir}/chem/pgrb2ap25/gefs.chem.t{self.date:%H}z.a2d_0p25.f{self.fxx:03d}.grib2", + "chem.25": f"{filedir}/chem/pgrb2ap25/gefs.chem.t{self.date:%H}z.a2d_0p25.f{self.fxx:03d}.grib2", + } valid_members = { "atmos.5": [f"p{i:02d}" for i in range(1, 31)] + ["c00", "spr", "avg"], @@ -89,7 +110,7 @@ def template(self): class gefs_reforecast: - """Template for GEFS Reforecast data. + """Template for GEFS Re-forecast data. These grib files are organized different from other model types. The files are grouped into variables and clumped by forecast range.