Skip to main content
Ctrl+K
Herbie 2025.5.0 documentation - Home Herbie 2025.5.0 documentation - Home
  • User Guide
  • Gallery
  • GRIB Reference
  • API Reference
    • SynopticPy
    • GOES-2-go
  • GitHub
  • PyPI
  • User Guide
  • Gallery
  • GRIB Reference
  • API Reference
  • SynopticPy
  • GOES-2-go
  • GitHub
  • PyPI

Section Navigation

πŸ—Ί NOAA Models

  • CFS
  • GEFS
  • GFS
  • HAFS
  • HIRESW Tutorial
  • HREF Model Tutorial
  • HRRR
  • HRRR-Alaska
  • NAM
  • NBM
  • RAP
  • RRFS πŸ…±
  • RTMA and URMA

πŸ—Ί ECMWF Models

  • ECMWF (IFS and AIFS)

🍁 ECCC Models

  • GDPS πŸ…±
  • HRDPS πŸ…±
  • RDPS πŸ…±

βš“ US Navy Models

  • NAVGEM
  • NOGAPS

πŸ•ΊπŸ» Bonus Notebooks

  • β˜” Precipitation Variables
  • 🏷️ Custom filename on download
  • 🧭 CRS with MetPy
  • πŸͺ„ Merge Datasets
  • πŸ” Plot model terrain
  • β›ˆ K-Index
  • πŸ“ˆ Time-height graph
  • 🌡 Vapor Pressure Deficit
  • 🧩 HRRR in Zarr Format
  • Gallery
  • NAVGEM

NAVGEM#

This demonstrates how to use public data from the NAVGEM and NOGAPS model from NOMADS or GODAE.

Note: there are not .idx files provided, so you have to download the full file and generate the .idx file with wgrib2 (requires Linux).

NAVGEM on NOMADS#

NOMADS hosts a copy of the the latest NAVGEM forecasts for the last two days.

[1]:
import matplotlib.pyplot as plt

from herbie import Herbie
from herbie import paint
from herbie.toolbox import EasyMap, pc
[4]:
H = Herbie("2024-06-11 00:00", model="navgem_nomads", fxx=6)
βœ… Found β”Š model=navgem_nomads β”Š product=none β”Š 2024-Jun-11 00:00 UTC F06 β”Š GRIB2 @ nomads β”Š IDX @ None
[5]:
H.PRODUCTS
[5]:
{'none': ''}
[6]:
H.SOURCES
[6]:
{'nomads': 'https://nomads.ncep.noaa.gov/pub/data/nccf/com/fnmoc/prod/navgem.20240611/navgem_2024061100f006.grib2'}
[7]:
# There is no index file available. Have to download the full file.
H.download()
πŸ‘¨πŸ»β€πŸ­ Created directory: [/home/blaylock/data/navgem_nomads/20240611]
[7]:
PosixPath('/home/blaylock/data/navgem_nomads/20240611/navgem_2024061100f006.grib2')
[8]:
# Since we have download the full file and don't have an index,
# we need to filter by keys to open the variable we want.
# (see cfgrib documentation)

ds = H.xarray(
    backend_kwargs={
        "filter_by_keys": {"shortName": "2t", "typeOfLevel": "heightAboveGround"}
    },
)
ds
/home/blaylock/GITHUB/Herbie/herbie/core.py:1097: UserWarning: Will not remove GRIB file because it previously existed.
  warnings.warn("Will not remove GRIB file because it previously existed.")
[8]:
<xarray.Dataset> Size: 1MB
Dimensions:              (latitude: 361, longitude: 720)
Coordinates:
    time                 datetime64[ns] 8B 2024-06-11
    step                 timedelta64[ns] 8B 06:00:00
    heightAboveGround    float64 8B 2.0
  * latitude             (latitude) float64 3kB -90.0 -89.5 -89.0 ... 89.5 90.0
  * longitude            (longitude) float64 6kB 0.0 0.5 1.0 ... 359.0 359.5
    valid_time           datetime64[ns] 8B ...
    gribfile_projection  object 8B None
Data variables:
    t2m                  (latitude, longitude) float32 1MB ...
Attributes:
    GRIB_edition:            2
    GRIB_centre:             fnmo
    GRIB_centreDescription:  US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             US Navy - Fleet Numerical Oceanography Center
    model:                   navgem_nomads
    product:                 none
    description:             Navy Global Environment Model (NAVGEM) from NOMADS.
    remote_grib:             /home/blaylock/data/navgem_nomads/20240611/navge...
    local_grib:              /home/blaylock/data/navgem_nomads/20240611/navge...
    search:                  None
xarray.Dataset
    • latitude: 361
    • longitude: 720
    • time
      ()
      datetime64[ns]
      2024-06-11
      long_name :
      initial time of forecast
      standard_name :
      forecast_reference_time
      array('2024-06-11T00:00:00.000000000', dtype='datetime64[ns]')
    • step
      ()
      timedelta64[ns]
      06:00:00
      long_name :
      time since forecast_reference_time
      standard_name :
      forecast_period
      array(21600000000000, dtype='timedelta64[ns]')
    • heightAboveGround
      ()
      float64
      2.0
      long_name :
      height above the surface
      units :
      m
      positive :
      up
      standard_name :
      height
      array(2.)
    • latitude
      (latitude)
      float64
      -90.0 -89.5 -89.0 ... 89.5 90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([-90. , -89.5, -89. , ...,  89. ,  89.5,  90. ])
    • longitude
      (longitude)
      float64
      0.0 0.5 1.0 ... 358.5 359.0 359.5
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([  0. ,   0.5,   1. , ..., 358.5, 359. , 359.5])
    • valid_time
      ()
      datetime64[ns]
      ...
      standard_name :
      time
      long_name :
      time
      [1 values with dtype=datetime64[ns]]
    • gribfile_projection
      ()
      object
      None
      crs_wkt :
      GEOGCRS["unknown",DATUM["unknown",ELLIPSOID["unknown",6371229,0,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]]]
      semi_major_axis :
      6371229.0
      semi_minor_axis :
      6371229.0
      inverse_flattening :
      0.0
      reference_ellipsoid_name :
      unknown
      longitude_of_prime_meridian :
      0.0
      prime_meridian_name :
      Greenwich
      geographic_crs_name :
      unknown
      horizontal_datum_name :
      unknown
      grid_mapping_name :
      latitude_longitude
      long_name :
      NAVGEM_NOMADS model grid projection
      array(None, dtype=object)
    • t2m
      (latitude, longitude)
      float32
      ...
      GRIB_paramId :
      167
      GRIB_dataType :
      af
      GRIB_numberOfPoints :
      259920
      GRIB_typeOfLevel :
      heightAboveGround
      GRIB_stepUnits :
      1
      GRIB_stepType :
      instant
      GRIB_gridType :
      regular_ll
      GRIB_NV :
      0
      GRIB_Nx :
      720
      GRIB_Ny :
      361
      GRIB_cfName :
      air_temperature
      GRIB_cfVarName :
      t2m
      GRIB_gridDefinitionDescription :
      Latitude/longitude
      GRIB_iDirectionIncrementInDegrees :
      0.5
      GRIB_iScansNegatively :
      0
      GRIB_jDirectionIncrementInDegrees :
      0.5
      GRIB_jPointsAreConsecutive :
      0
      GRIB_jScansPositively :
      1
      GRIB_latitudeOfFirstGridPointInDegrees :
      -90.0
      GRIB_latitudeOfLastGridPointInDegrees :
      90.0
      GRIB_longitudeOfFirstGridPointInDegrees :
      0.0
      GRIB_longitudeOfLastGridPointInDegrees :
      359.5
      GRIB_missingValue :
      3.4028234663852886e+38
      GRIB_name :
      2 metre temperature
      GRIB_parameterName :
      Temperature
      GRIB_parameterUnits :
      K
      GRIB_shortName :
      2t
      GRIB_stepRange :
      6
      GRIB_units :
      K
      GRIB_uvRelativeToGrid :
      0
      long_name :
      2 metre temperature
      units :
      K
      standard_name :
      air_temperature
      grid_mapping :
      gribfile_projection
      [259920 values with dtype=float32]
    • latitude
      PandasIndex
      PandasIndex(Index([-90.0, -89.5, -89.0, -88.5, -88.0, -87.5, -87.0, -86.5, -86.0, -85.5,
             ...
              85.5,  86.0,  86.5,  87.0,  87.5,  88.0,  88.5,  89.0,  89.5,  90.0],
            dtype='float64', name='latitude', length=361))
    • longitude
      PandasIndex
      PandasIndex(Index([  0.0,   0.5,   1.0,   1.5,   2.0,   2.5,   3.0,   3.5,   4.0,   4.5,
             ...
             355.0, 355.5, 356.0, 356.5, 357.0, 357.5, 358.0, 358.5, 359.0, 359.5],
            dtype='float64', name='longitude', length=720))
  • GRIB_edition :
    2
    GRIB_centre :
    fnmo
    GRIB_centreDescription :
    US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre :
    0
    Conventions :
    CF-1.7
    institution :
    US Navy - Fleet Numerical Oceanography Center
    model :
    navgem_nomads
    product :
    none
    description :
    Navy Global Environment Model (NAVGEM) from NOMADS.
    remote_grib :
    /home/blaylock/data/navgem_nomads/20240611/navgem_2024061100f006.grib2
    local_grib :
    /home/blaylock/data/navgem_nomads/20240611/navgem_2024061100f006.grib2
    search :
    None
[9]:
ax = EasyMap(crs=ds.herbie.crs, figsize=[10, 8]).ax
p = ax.pcolormesh(
    ds.longitude,
    ds.latitude,
    ds.t2m - 273.15,
    transform=pc,
    **paint.NWSTemperature.kwargs2,
)
plt.colorbar(
    p, ax=ax, orientation="horizontal", pad=0.05, **paint.NWSTemperature.cbar_kwargs2
)

ax.set_title(ds.t2m.GRIB_name, loc="right")
ax.set_title(
    f'{H.model.upper()}: {ds.time.dt.strftime("%H:%M UTC %d %b %Y").item()} F{int(ds.step.dt.total_seconds() / 60 / 60):03d}',
    loc="left",
)
[9]:
Text(0.0, 1.0, 'NAVGEM_NOMADS: 00:00 UTC 11 Jun 2024 F006')
../../_images/gallery_usnavy_models_navgem_7_1.png

After downloading the full file, you can create an index file. (Only possible if WGRIB2 is installed and in your path)

[10]:
from herbie import wgrib2
[11]:
wgrib2.create_inventory_file(H.grib)
[11]:
PosixPath('/home/blaylock/data/navgem_nomads/20240611/navgem_2024061100f006.grib2.idx')
[13]:
H = Herbie("2024-06-11 00:00", model="navgem_nomads", fxx=6)
H.inventory()
βœ… Found β”Š model=navgem_nomads β”Š product=none β”Š 2024-Jun-11 00:00 UTC F06 β”Š GRIB2 @ local β”Š IDX @ None
[13]:
grib_message start_byte end_byte range reference_time valid_time variable level forecast_time search_this
0 1 421 172266.0 421-172266 2024-06-11 2024-06-11 06:00:00 ACPCP surface 0-6 hour acc fcst :ACPCP:surface:0-6 hour acc fcst
1 2 172267 408146.0 172267-408146 2024-06-11 2024-06-11 06:00:00 APCP surface 0-6 hour acc fcst :APCP:surface:0-6 hour acc fcst
2 3 408147 643549.0 408147-643549 2024-06-11 2024-06-11 06:00:00 TMP max wind 6 hour fcst :TMP:max wind:6 hour fcst
3 4 643550 917714.0 643550-917714 2024-06-11 2024-06-11 06:00:00 HGT max wind 6 hour fcst :HGT:max wind:6 hour fcst
4 5 917715 1246460.0 917715-1246460 2024-06-11 2024-06-11 06:00:00 PRES max wind 6 hour fcst :PRES:max wind:6 hour fcst
... ... ... ... ... ... ... ... ... ... ...
86 87 18346863 18701766.0 18346863-18701766 2024-06-11 2024-06-11 06:00:00 UGRD 10 m above ground 6 hour fcst :UGRD:10 m above ground:6 hour fcst
87 88 18701767 19056137.0 18701767-19056137 2024-06-11 2024-06-11 06:00:00 VGRD 10 m above ground 6 hour fcst :VGRD:10 m above ground:6 hour fcst
88 89 19056138 19432421.0 19056138-19432421 2024-06-11 2024-06-11 06:00:00 var discipline=0 center=58 local_table=0 parmc... 19.5 m above ground 6 hour fcst :var discipline=0 center=58 local_table=0 parm...
89 90 19432422 19791097.0 19432422-19791097 2024-06-11 2024-06-11 06:00:00 UGRD 19.5 m above ground 6 hour fcst :UGRD:19.5 m above ground:6 hour fcst
90 91 19791098 NaN 19791098- 2024-06-11 2024-06-11 06:00:00 VGRD 19.5 m above ground 6 hour fcst :VGRD:19.5 m above ground:6 hour fcst

91 rows Γ— 10 columns

[14]:
H.inventory().attrs
[14]:
{'url': <_io.StringIO at 0x7fdc89a5a800>,
 'source': 'generated',
 'description': 'Inventory index file for the GRIB2 file.',
 'model': 'navgem_nomads',
 'product': 'none',
 'lead_time': 6,
 'datetime': Timestamp('2024-06-11 00:00:00')}
[15]:
H.xarray("TMP:2 m")
[15]:
<xarray.Dataset> Size: 1MB
Dimensions:              (latitude: 361, longitude: 720)
Coordinates:
    time                 datetime64[ns] 8B 2024-06-11
    step                 timedelta64[ns] 8B 06:00:00
    heightAboveGround    float64 8B 2.0
  * latitude             (latitude) float64 3kB -90.0 -89.5 -89.0 ... 89.5 90.0
  * longitude            (longitude) float64 6kB 0.0 0.5 1.0 ... 359.0 359.5
    valid_time           datetime64[ns] 8B 2024-06-11T06:00:00
    gribfile_projection  object 8B None
Data variables:
    t2m                  (latitude, longitude) float32 1MB 219.5 219.2 ... 272.4
Attributes:
    GRIB_edition:            2
    GRIB_centre:             fnmo
    GRIB_centreDescription:  US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             US Navy - Fleet Numerical Oceanography Center
    model:                   navgem_nomads
    product:                 none
    description:             Navy Global Environment Model (NAVGEM) from NOMADS.
    remote_grib:             /home/blaylock/data/navgem_nomads/20240611/navge...
    local_grib:              /home/blaylock/data/navgem_nomads/20240611/subse...
    search:                  TMP:2 m
xarray.Dataset
    • latitude: 361
    • longitude: 720
    • time
      ()
      datetime64[ns]
      2024-06-11
      long_name :
      initial time of forecast
      standard_name :
      forecast_reference_time
      array('2024-06-11T00:00:00.000000000', dtype='datetime64[ns]')
    • step
      ()
      timedelta64[ns]
      06:00:00
      long_name :
      time since forecast_reference_time
      standard_name :
      forecast_period
      array(21600000000000, dtype='timedelta64[ns]')
    • heightAboveGround
      ()
      float64
      2.0
      long_name :
      height above the surface
      units :
      m
      positive :
      up
      standard_name :
      height
      array(2.)
    • latitude
      (latitude)
      float64
      -90.0 -89.5 -89.0 ... 89.5 90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([-90. , -89.5, -89. , ...,  89. ,  89.5,  90. ])
    • longitude
      (longitude)
      float64
      0.0 0.5 1.0 ... 358.5 359.0 359.5
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([  0. ,   0.5,   1. , ..., 358.5, 359. , 359.5])
    • valid_time
      ()
      datetime64[ns]
      2024-06-11T06:00:00
      standard_name :
      time
      long_name :
      time
      array('2024-06-11T06:00:00.000000000', dtype='datetime64[ns]')
    • gribfile_projection
      ()
      object
      None
      crs_wkt :
      GEOGCRS["unknown",DATUM["unknown",ELLIPSOID["unknown",6371229,0,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]]]
      semi_major_axis :
      6371229.0
      semi_minor_axis :
      6371229.0
      inverse_flattening :
      0.0
      reference_ellipsoid_name :
      unknown
      longitude_of_prime_meridian :
      0.0
      prime_meridian_name :
      Greenwich
      geographic_crs_name :
      unknown
      horizontal_datum_name :
      unknown
      grid_mapping_name :
      latitude_longitude
      long_name :
      NAVGEM_NOMADS model grid projection
      array(None, dtype=object)
    • t2m
      (latitude, longitude)
      float32
      219.5 219.2 219.2 ... 272.4 272.4
      GRIB_paramId :
      167
      GRIB_dataType :
      af
      GRIB_numberOfPoints :
      259920
      GRIB_typeOfLevel :
      heightAboveGround
      GRIB_stepUnits :
      1
      GRIB_stepType :
      instant
      GRIB_gridType :
      regular_ll
      GRIB_NV :
      0
      GRIB_Nx :
      720
      GRIB_Ny :
      361
      GRIB_cfName :
      air_temperature
      GRIB_cfVarName :
      t2m
      GRIB_gridDefinitionDescription :
      Latitude/longitude
      GRIB_iDirectionIncrementInDegrees :
      0.5
      GRIB_iScansNegatively :
      0
      GRIB_jDirectionIncrementInDegrees :
      0.5
      GRIB_jPointsAreConsecutive :
      0
      GRIB_jScansPositively :
      1
      GRIB_latitudeOfFirstGridPointInDegrees :
      -90.0
      GRIB_latitudeOfLastGridPointInDegrees :
      90.0
      GRIB_longitudeOfFirstGridPointInDegrees :
      0.0
      GRIB_longitudeOfLastGridPointInDegrees :
      359.5
      GRIB_missingValue :
      3.4028234663852886e+38
      GRIB_name :
      2 metre temperature
      GRIB_parameterName :
      Temperature
      GRIB_parameterUnits :
      K
      GRIB_shortName :
      2t
      GRIB_stepRange :
      6
      GRIB_units :
      K
      GRIB_uvRelativeToGrid :
      0
      long_name :
      2 metre temperature
      units :
      K
      standard_name :
      air_temperature
      grid_mapping :
      gribfile_projection
      array([[219.48, 219.21, 219.21, ..., 219.23, 219.23, 219.23],
             [220.12, 220.13, 220.14, ..., 220.08, 220.09, 220.1 ],
             [218.03, 217.99, 217.96, ..., 218.17, 218.12, 218.07],
             ...,
             [272.03, 272.04, 272.04, ..., 272.02, 272.02, 272.03],
             [272.06, 272.06, 272.05, ..., 272.08, 272.07, 272.07],
             [272.45, 272.39, 272.39, ..., 272.39, 272.39, 272.39]],
            dtype=float32)
    • latitude
      PandasIndex
      PandasIndex(Index([-90.0, -89.5, -89.0, -88.5, -88.0, -87.5, -87.0, -86.5, -86.0, -85.5,
             ...
              85.5,  86.0,  86.5,  87.0,  87.5,  88.0,  88.5,  89.0,  89.5,  90.0],
            dtype='float64', name='latitude', length=361))
    • longitude
      PandasIndex
      PandasIndex(Index([  0.0,   0.5,   1.0,   1.5,   2.0,   2.5,   3.0,   3.5,   4.0,   4.5,
             ...
             355.0, 355.5, 356.0, 356.5, 357.0, 357.5, 358.0, 358.5, 359.0, 359.5],
            dtype='float64', name='longitude', length=720))
  • GRIB_edition :
    2
    GRIB_centre :
    fnmo
    GRIB_centreDescription :
    US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre :
    0
    Conventions :
    CF-1.7
    institution :
    US Navy - Fleet Numerical Oceanography Center
    model :
    navgem_nomads
    product :
    none
    description :
    Navy Global Environment Model (NAVGEM) from NOMADS.
    remote_grib :
    /home/blaylock/data/navgem_nomads/20240611/navgem_2024061100f006.grib2
    local_grib :
    /home/blaylock/data/navgem_nomads/20240611/subset_f8b222e6__navgem_2024061100f006.grib2
    search :
    TMP:2 m

NAVGEM on GODAE#

NAVGEM is archived on GODAE.

The GRIB files are organized differently, and you have to specify the level and variable. Look at the File Naming Convention and description of levels.

[3]:
from herbie import Herbie
import xarray as xr
import numpy as np

2-m air temperature#

[17]:
H = Herbie(
    "2023-02-13 12:00",
    model="navgem_godae",
    product="GMET",
    level="0105_000020-000000",
    variable="air_temp",
    overwrite=True,
)
H.grib
βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2023-Feb-13 12:00 UTC F00 β”Š GRIB2 @ navgem β”Š IDX @ None
[17]:
'https://usgodae.org/ftp/outgoing/fnmoc/models/navgem_0.5/2023/2023021312/US058GMET-GR1mdl.0018_0056_00000F0RL2023021312_0105_000020-000000air_temp'
[18]:
# Download the file
my_file = H.download()

my_file, my_file.exists()
[18]:
(PosixPath('/home/blaylock/data/navgem_godae/20230213/US058GMET-GR1mdl.0018_0056_00000F0RL2023021312_0105_000020-000000air_temp'),
 True)
[19]:
# Open data in xarray
ds = H.xarray()
ds
/home/blaylock/GITHUB/Herbie/herbie/core.py:1097: UserWarning: Will not remove GRIB file because it previously existed.
  warnings.warn("Will not remove GRIB file because it previously existed.")
[19]:
<xarray.Dataset> Size: 1MB
Dimensions:              (latitude: 361, longitude: 720)
Coordinates:
    time                 datetime64[ns] 8B 2023-02-13T12:00:00
    step                 timedelta64[ns] 8B 00:00:00
    heightAboveGround    float64 8B 2.0
  * latitude             (latitude) float64 3kB -90.0 -89.5 -89.0 ... 89.5 90.0
  * longitude            (longitude) float64 6kB -0.5 0.0 0.5 ... 358.5 359.0
    valid_time           datetime64[ns] 8B ...
    gribfile_projection  object 8B None
Data variables:
    t2m                  (latitude, longitude) float32 1MB ...
Attributes:
    GRIB_edition:            1
    GRIB_centre:             fnmo
    GRIB_centreDescription:  US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             US Navy - Fleet Numerical Oceanography Center
    model:                   navgem_godae
    product:                 GMET
    description:             Navy Global Environment Model (NAVGEM, 2013-2024...
    remote_grib:             /home/blaylock/data/navgem_godae/20230213/US058G...
    local_grib:              /home/blaylock/data/navgem_godae/20230213/US058G...
    search:                  None
xarray.Dataset
    • latitude: 361
    • longitude: 720
    • time
      ()
      datetime64[ns]
      2023-02-13T12:00:00
      long_name :
      initial time of forecast
      standard_name :
      forecast_reference_time
      array('2023-02-13T12:00:00.000000000', dtype='datetime64[ns]')
    • step
      ()
      timedelta64[ns]
      00:00:00
      long_name :
      time since forecast_reference_time
      standard_name :
      forecast_period
      array(0, dtype='timedelta64[ns]')
    • heightAboveGround
      ()
      float64
      2.0
      long_name :
      height above the surface
      units :
      m
      positive :
      up
      standard_name :
      height
      array(2.)
    • latitude
      (latitude)
      float64
      -90.0 -89.5 -89.0 ... 89.5 90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([-90. , -89.5, -89. , ...,  89. ,  89.5,  90. ])
    • longitude
      (longitude)
      float64
      -0.5 0.0 0.5 ... 358.0 358.5 359.0
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([ -0.5,   0. ,   0.5, ..., 358. , 358.5, 359. ])
    • valid_time
      ()
      datetime64[ns]
      ...
      standard_name :
      time
      long_name :
      time
      [1 values with dtype=datetime64[ns]]
    • gribfile_projection
      ()
      object
      None
      crs_wkt :
      GEOGCRS["unknown",DATUM["unknown",ELLIPSOID["unknown",6367470,0,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]]]
      semi_major_axis :
      6367470.0
      semi_minor_axis :
      6367470.0
      inverse_flattening :
      0.0
      reference_ellipsoid_name :
      unknown
      longitude_of_prime_meridian :
      0.0
      prime_meridian_name :
      Greenwich
      geographic_crs_name :
      unknown
      horizontal_datum_name :
      unknown
      grid_mapping_name :
      latitude_longitude
      long_name :
      NAVGEM_GODAE model grid projection
      array(None, dtype=object)
    • t2m
      (latitude, longitude)
      float32
      ...
      GRIB_paramId :
      167
      GRIB_numberOfPoints :
      259920
      GRIB_typeOfLevel :
      heightAboveGround
      GRIB_stepUnits :
      1
      GRIB_stepType :
      instant
      GRIB_gridType :
      regular_ll
      GRIB_NV :
      0
      GRIB_Nx :
      720
      GRIB_Ny :
      361
      GRIB_cfName :
      air_temperature
      GRIB_cfVarName :
      t2m
      GRIB_gridDefinitionDescription :
      Latitude/Longitude Grid
      GRIB_iDirectionIncrementInDegrees :
      0.5
      GRIB_iScansNegatively :
      0
      GRIB_jDirectionIncrementInDegrees :
      0.5
      GRIB_jPointsAreConsecutive :
      0
      GRIB_jScansPositively :
      1
      GRIB_latitudeOfFirstGridPointInDegrees :
      -90.0
      GRIB_latitudeOfLastGridPointInDegrees :
      90.0
      GRIB_longitudeOfFirstGridPointInDegrees :
      0.0
      GRIB_longitudeOfLastGridPointInDegrees :
      -0.5
      GRIB_missingValue :
      3.4028234663852886e+38
      GRIB_name :
      2 metre temperature
      GRIB_parameterName :
      T Temperature K
      GRIB_parameterUnits :
      unknown
      GRIB_shortName :
      2t
      GRIB_stepRange :
      0
      GRIB_units :
      K
      GRIB_uvRelativeToGrid :
      0
      long_name :
      2 metre temperature
      units :
      K
      standard_name :
      air_temperature
      grid_mapping :
      gribfile_projection
      [259920 values with dtype=float32]
    • latitude
      PandasIndex
      PandasIndex(Index([-90.0, -89.5, -89.0, -88.5, -88.0, -87.5, -87.0, -86.5, -86.0, -85.5,
             ...
              85.5,  86.0,  86.5,  87.0,  87.5,  88.0,  88.5,  89.0,  89.5,  90.0],
            dtype='float64', name='latitude', length=361))
    • longitude
      PandasIndex
      PandasIndex(Index([ -0.5,   0.0,   0.5,   1.0,   1.5,   2.0,   2.5,   3.0,   3.5,   4.0,
             ...
             354.5, 355.0, 355.5, 356.0, 356.5, 357.0, 357.5, 358.0, 358.5, 359.0],
            dtype='float64', name='longitude', length=720))
  • GRIB_edition :
    1
    GRIB_centre :
    fnmo
    GRIB_centreDescription :
    US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre :
    0
    Conventions :
    CF-1.7
    institution :
    US Navy - Fleet Numerical Oceanography Center
    model :
    navgem_godae
    product :
    GMET
    description :
    Navy Global Environment Model (NAVGEM, 2013-2024) and Navy Operational Global Atmospheric Prediction (NOGAPS, 2004-2013).
    remote_grib :
    /home/blaylock/data/navgem_godae/20230213/US058GMET-GR1mdl.0018_0056_00000F0RL2023021312_0105_000020-000000air_temp
    local_grib :
    /home/blaylock/data/navgem_godae/20230213/US058GMET-GR1mdl.0018_0056_00000F0RL2023021312_0105_000020-000000air_temp
    search :
    None
[20]:
# Plot data
ax = EasyMap(crs=ds.herbie.crs, figsize=[10, 8]).ax
p = ax.pcolormesh(
    ds.longitude,
    ds.latitude,
    ds.t2m - 273.15,
    transform=pc,
    **paint.NWSTemperature.kwargs2,
)
plt.colorbar(
    p, ax=ax, orientation="horizontal", pad=0.05, **paint.NWSTemperature.cbar_kwargs2
)

ax.set_title(
    f"{ds.t2m.GRIB_name} {float(ds[ds.t2m.GRIB_typeOfLevel])} {str(ds[ds.t2m.GRIB_typeOfLevel].units)}",
    loc="right",
)
ax.set_title(
    f'{H.model.upper()}: {ds.time.dt.strftime("%H:%M UTC %d %b %Y").item()} F{int(ds.step.dt.total_seconds() / 60 / 60):03d}',
    loc="left",
)
[20]:
Text(0.0, 1.0, 'NAVGEM_GODAE: 12:00 UTC 13 Feb 2023 F000')
../../_images/gallery_usnavy_models_navgem_20_1.png

500 mb U and V wind#

[21]:
wind = [
    Herbie(
        "2023-02-13 12:00",
        model="navgem_godae",
        product="GMET",
        level="0100_005000-000000",
        variable=variable,
    ).xarray()
    for variable in ["wnd_ucmp", "wnd_vcmp"]
]


ds_wind = xr.combine_by_coords(wind, combine_attrs="drop_conflicts")
ds_wind["wspd"] = np.sqrt(ds_wind.u**2 + ds_wind.v**2)
ds_wind
βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2023-Feb-13 12:00 UTC F00 β”Š GRIB2 @ local β”Š IDX @ None
/home/blaylock/GITHUB/Herbie/herbie/core.py:1097: UserWarning: Will not remove GRIB file because it previously existed.
  warnings.warn("Will not remove GRIB file because it previously existed.")
βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2023-Feb-13 12:00 UTC F00 β”Š GRIB2 @ local β”Š IDX @ None
/home/blaylock/GITHUB/Herbie/herbie/core.py:1097: UserWarning: Will not remove GRIB file because it previously existed.
  warnings.warn("Will not remove GRIB file because it previously existed.")
[21]:
<xarray.Dataset> Size: 3MB
Dimensions:              (latitude: 361, longitude: 720)
Coordinates:
    time                 datetime64[ns] 8B 2023-02-13T12:00:00
    step                 timedelta64[ns] 8B 00:00:00
    isobaricInhPa        float64 8B 500.0
  * latitude             (latitude) float64 3kB -90.0 -89.5 -89.0 ... 89.5 90.0
  * longitude            (longitude) float64 6kB -0.5 0.0 0.5 ... 358.5 359.0
    valid_time           datetime64[ns] 8B 2023-02-13T12:00:00
    gribfile_projection  object 8B None
Data variables:
    u                    (latitude, longitude) float32 1MB -6.4 -6.5 ... -14.6
    v                    (latitude, longitude) float32 1MB 9.8 10.4 ... -16.7
    wspd                 (latitude, longitude) float32 1MB 11.7 12.26 ... 22.18
Attributes:
    GRIB_edition:            1
    GRIB_centre:             fnmo
    GRIB_centreDescription:  US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             US Navy - Fleet Numerical Oceanography Center
    model:                   navgem_godae
    product:                 GMET
    description:             Navy Global Environment Model (NAVGEM, 2013-2024...
    search:                  None
xarray.Dataset
    • latitude: 361
    • longitude: 720
    • time
      ()
      datetime64[ns]
      2023-02-13T12:00:00
      long_name :
      initial time of forecast
      standard_name :
      forecast_reference_time
      array('2023-02-13T12:00:00.000000000', dtype='datetime64[ns]')
    • step
      ()
      timedelta64[ns]
      00:00:00
      long_name :
      time since forecast_reference_time
      standard_name :
      forecast_period
      array(0, dtype='timedelta64[ns]')
    • isobaricInhPa
      ()
      float64
      500.0
      long_name :
      pressure
      units :
      hPa
      positive :
      down
      stored_direction :
      decreasing
      standard_name :
      air_pressure
      array(500.)
    • latitude
      (latitude)
      float64
      -90.0 -89.5 -89.0 ... 89.5 90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([-90. , -89.5, -89. , ...,  89. ,  89.5,  90. ])
    • longitude
      (longitude)
      float64
      -0.5 0.0 0.5 ... 358.0 358.5 359.0
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([ -0.5,   0. ,   0.5, ..., 358. , 358.5, 359. ])
    • valid_time
      ()
      datetime64[ns]
      2023-02-13T12:00:00
      standard_name :
      time
      long_name :
      time
      array('2023-02-13T12:00:00.000000000', dtype='datetime64[ns]')
    • gribfile_projection
      ()
      object
      None
      crs_wkt :
      GEOGCRS["unknown",DATUM["unknown",ELLIPSOID["unknown",6367470,0,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]]]
      semi_major_axis :
      6367470.0
      semi_minor_axis :
      6367470.0
      inverse_flattening :
      0.0
      reference_ellipsoid_name :
      unknown
      longitude_of_prime_meridian :
      0.0
      prime_meridian_name :
      Greenwich
      geographic_crs_name :
      unknown
      horizontal_datum_name :
      unknown
      grid_mapping_name :
      latitude_longitude
      long_name :
      NAVGEM_GODAE model grid projection
      array(None, dtype=object)
    • u
      (latitude, longitude)
      float32
      -6.4 -6.5 -6.7 ... -14.5 -14.6
      GRIB_paramId :
      131
      GRIB_numberOfPoints :
      259920
      GRIB_typeOfLevel :
      isobaricInhPa
      GRIB_stepUnits :
      1
      GRIB_stepType :
      instant
      GRIB_gridType :
      regular_ll
      GRIB_NV :
      0
      GRIB_Nx :
      720
      GRIB_Ny :
      361
      GRIB_cfName :
      eastward_wind
      GRIB_cfVarName :
      u
      GRIB_gridDefinitionDescription :
      Latitude/Longitude Grid
      GRIB_iDirectionIncrementInDegrees :
      0.5
      GRIB_iScansNegatively :
      0
      GRIB_jDirectionIncrementInDegrees :
      0.5
      GRIB_jPointsAreConsecutive :
      0
      GRIB_jScansPositively :
      1
      GRIB_latitudeOfFirstGridPointInDegrees :
      -90.0
      GRIB_latitudeOfLastGridPointInDegrees :
      90.0
      GRIB_longitudeOfFirstGridPointInDegrees :
      0.0
      GRIB_longitudeOfLastGridPointInDegrees :
      -0.5
      GRIB_missingValue :
      3.4028234663852886e+38
      GRIB_name :
      U component of wind
      GRIB_parameterName :
      U U-component of wind m s**-1
      GRIB_parameterUnits :
      unknown
      GRIB_shortName :
      u
      GRIB_stepRange :
      0
      GRIB_units :
      m s**-1
      GRIB_uvRelativeToGrid :
      0
      long_name :
      U component of wind
      units :
      m s**-1
      standard_name :
      eastward_wind
      grid_mapping :
      gribfile_projection
      array([[ -6.4,  -6.5,  -6.7, ...,  -6.3,  -6.2,  -6.3],
             [ -7.6,  -7.7,  -7.8, ...,  -7.4,  -7.5,  -7.6],
             [ -7.9,  -8. ,  -8. , ...,  -7.7,  -7.8,  -7.9],
             ...,
             [-12.5, -12.6, -12.7, ..., -12.1, -12.3, -12.4],
             [-13.7, -13.9, -14. , ..., -13.4, -13.5, -13.6],
             [-14.8, -14.8, -15. , ..., -14.6, -14.5, -14.6]], dtype=float32)
    • v
      (latitude, longitude)
      float32
      9.8 10.4 9.8 ... -13.0 -15.9 -16.7
      GRIB_paramId :
      132
      GRIB_numberOfPoints :
      259920
      GRIB_typeOfLevel :
      isobaricInhPa
      GRIB_stepUnits :
      1
      GRIB_stepType :
      instant
      GRIB_gridType :
      regular_ll
      GRIB_NV :
      0
      GRIB_Nx :
      720
      GRIB_Ny :
      361
      GRIB_cfName :
      northward_wind
      GRIB_cfVarName :
      v
      GRIB_gridDefinitionDescription :
      Latitude/Longitude Grid
      GRIB_iDirectionIncrementInDegrees :
      0.5
      GRIB_iScansNegatively :
      0
      GRIB_jDirectionIncrementInDegrees :
      0.5
      GRIB_jPointsAreConsecutive :
      0
      GRIB_jScansPositively :
      1
      GRIB_latitudeOfFirstGridPointInDegrees :
      -90.0
      GRIB_latitudeOfLastGridPointInDegrees :
      90.0
      GRIB_longitudeOfFirstGridPointInDegrees :
      0.0
      GRIB_longitudeOfLastGridPointInDegrees :
      -0.5
      GRIB_missingValue :
      3.4028234663852886e+38
      GRIB_name :
      V component of wind
      GRIB_parameterName :
      V V-component of wind m s**-1
      GRIB_parameterUnits :
      unknown
      GRIB_shortName :
      v
      GRIB_stepRange :
      0
      GRIB_units :
      m s**-1
      GRIB_uvRelativeToGrid :
      0
      long_name :
      V component of wind
      units :
      m s**-1
      standard_name :
      northward_wind
      grid_mapping :
      gribfile_projection
      array([[  9.8,  10.4,   9.8, ...,   8.4,  10. ,  10.5],
             [  7.1,   6.9,   6.9, ...,   7.6,   7.2,   7. ],
             [  6.3,   5.9,   6.1, ...,   7.2,   6.4,   6. ],
             ...,
             [-11. , -10.4, -10.8, ..., -12.4, -11. , -10.5],
             [-11.9, -11.5, -11.7, ..., -12.8, -12. , -11.7],
             [-15.5, -16.5, -15.4, ..., -13. , -15.9, -16.7]], dtype=float32)
    • wspd
      (latitude, longitude)
      float32
      11.7 12.26 11.87 ... 21.52 22.18
      array([[11.7046995, 12.264175 , 11.871394 , ..., 10.5      , 11.766053 ,
              12.244999 ],
             [10.40048  , 10.339246 , 10.413933 , ..., 10.607545 , 10.396634 ,
              10.332473 ],
             [10.104455 ,  9.940322 , 10.060318 , ..., 10.541821 , 10.089599 ,
               9.920181 ],
             ...,
             [16.650826 , 16.337687 , 16.671232 , ..., 17.325415 , 16.501213 ,
              16.248384 ],
             [18.146626 , 18.04051  , 18.245274 , ..., 18.531055 , 18.062391 ,
              17.940178 ],
             [21.431053 , 22.165062 , 21.497906 , ..., 19.548914 , 21.51883  ,
              22.182201 ]], dtype=float32)
    • latitude
      PandasIndex
      PandasIndex(Index([-90.0, -89.5, -89.0, -88.5, -88.0, -87.5, -87.0, -86.5, -86.0, -85.5,
             ...
              85.5,  86.0,  86.5,  87.0,  87.5,  88.0,  88.5,  89.0,  89.5,  90.0],
            dtype='float64', name='latitude', length=361))
    • longitude
      PandasIndex
      PandasIndex(Index([ -0.5,   0.0,   0.5,   1.0,   1.5,   2.0,   2.5,   3.0,   3.5,   4.0,
             ...
             354.5, 355.0, 355.5, 356.0, 356.5, 357.0, 357.5, 358.0, 358.5, 359.0],
            dtype='float64', name='longitude', length=720))
  • GRIB_edition :
    1
    GRIB_centre :
    fnmo
    GRIB_centreDescription :
    US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre :
    0
    Conventions :
    CF-1.7
    institution :
    US Navy - Fleet Numerical Oceanography Center
    model :
    navgem_godae
    product :
    GMET
    description :
    Navy Global Environment Model (NAVGEM, 2013-2024) and Navy Operational Global Atmospheric Prediction (NOGAPS, 2004-2013).
    search :
    None
[23]:
ax = EasyMap(crs=ds.herbie.crs, figsize=[10, 8]).ax
p = ax.pcolormesh(
    ds_wind.longitude,
    ds_wind.latitude,
    ds_wind.wspd,
    transform=pc,
    **paint.NWSWindSpeed.kwargs2,
)
plt.colorbar(
    p, ax=ax, orientation="horizontal", pad=0.05, **paint.NWSWindSpeed.cbar_kwargs2
)

ax.set_title(
    f"Wind Speed {float(ds_wind[ds_wind.u.GRIB_typeOfLevel])} {str(ds_wind[ds_wind.u.GRIB_typeOfLevel].units)}",
    loc="right",
)
ax.set_title(
    f'{H.model.upper()}: {ds_wind.time.dt.strftime("%H:%M UTC %d %b %Y").item()} F{int(ds_wind.step.dt.total_seconds() / 60 / 60):03d}',
    loc="left",
)
[23]:
Text(0.0, 1.0, 'NAVGEM_GODAE: 12:00 UTC 13 Feb 2023 F000')
../../_images/gallery_usnavy_models_navgem_23_1.png

Shortcuts#

You may use wgrib-style strings in place of the variable (and omit level) for a few common variables. Please open a pull request to add additional variables to the shortcuts. Some examples:

  • TMP:2 m

  • RH:2 m

  • UGRD:10 m

  • VGRD:10 m

  • TMP:### mb - Pressure levels

  • PRES:surface

[5]:
H = Herbie(
    "2024-01-04 00:00",
    model="navgem_godae",
    variable="TMP:2 m",
    fxx=6,
)
H.grib
βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2024-Jan-04 00:00 UTC F06 β”Š GRIB2 @ navgem β”Š IDX @ None
[5]:
'https://usgodae.org/ftp/outgoing/fnmoc/models/navgem_0.5/2024/2024010400/US058GMET-GR1mdl.0018_0056_00600F0RL2024010400_0105_000020-000000air_temp'
[6]:
H = Herbie(
    "2024-01-04 00:00",
    model="navgem_godae",
    variable="RH:500 mb",
    fxx=6,
)
H.grib
βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2024-Jan-04 00:00 UTC F06 β”Š GRIB2 @ navgem β”Š IDX @ None
[6]:
'https://usgodae.org/ftp/outgoing/fnmoc/models/navgem_0.5/2024/2024010400/US058GMET-GR1mdl.0018_0056_00600F0RL2024010400_0100_000500-000000rltv_hum'
[7]:
H = Herbie(
    "2024-01-04 00:00",
    model="navgem_godae",
    variable="CAPE:surface",
    fxx=6,
)
H.grib

βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2024-Jan-04 00:00 UTC F06 β”Š GRIB2 @ navgem β”Š IDX @ None
[7]:
'https://usgodae.org/ftp/outgoing/fnmoc/models/navgem_0.5/2024/2024010400/US058GMET-GR1mdl.0018_0056_00600F0RL2024010400_0001_000000-000000cape'

NOGAPS on GODAE#

NOGAPS is the Navy Operational Global Atmospheric Prediction, the U.S Navy’s model preceeding NAVGEM from 2004-2013.

[24]:
H = Herbie(
    "2005-02-13 12:00",
    model="navgem_godae",
    product="GMET",
    level="0105_000020-000000",
    variable="air_temp",
    overwrite=True,
)
H.grib
βœ… Found β”Š model=navgem_godae β”Š product=GMET β”Š 2005-Feb-13 12:00 UTC F00 β”Š GRIB2 @ nogaps β”Š IDX @ None
[24]:
'https://usgodae.org/ftp/outgoing/fnmoc/models/nogaps/2005/2005021312/US058GMET-GR1mdl.0058_0240_00000F0RL2005021312_0105_000020-000000air_temp'
[25]:
ds = H.xarray()
ds
/home/blaylock/GITHUB/Herbie/herbie/core.py:1097: UserWarning: Will not remove GRIB file because it previously existed.
  warnings.warn("Will not remove GRIB file because it previously existed.")
[25]:
<xarray.Dataset> Size: 265kB
Dimensions:              (latitude: 181, longitude: 360)
Coordinates:
    time                 datetime64[ns] 8B 2005-02-13T12:00:00
    step                 timedelta64[ns] 8B 00:00:00
    heightAboveGround    float64 8B 2.0
  * latitude             (latitude) float64 1kB -90.0 -89.0 -88.0 ... 89.0 90.0
  * longitude            (longitude) float64 3kB -1.0 0.0 1.0 ... 357.0 358.0
    valid_time           datetime64[ns] 8B ...
    gribfile_projection  object 8B None
Data variables:
    t2m                  (latitude, longitude) float32 261kB ...
Attributes:
    GRIB_edition:            1
    GRIB_centre:             fnmo
    GRIB_centreDescription:  US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             US Navy - Fleet Numerical Oceanography Center
    model:                   navgem_godae
    product:                 GMET
    description:             Navy Global Environment Model (NAVGEM, 2013-2024...
    remote_grib:             https://usgodae.org/ftp/outgoing/fnmoc/models/no...
    local_grib:              /home/blaylock/data/navgem_godae/20050213/US058G...
    search:                  None
xarray.Dataset
    • latitude: 181
    • longitude: 360
    • time
      ()
      datetime64[ns]
      2005-02-13T12:00:00
      long_name :
      initial time of forecast
      standard_name :
      forecast_reference_time
      array('2005-02-13T12:00:00.000000000', dtype='datetime64[ns]')
    • step
      ()
      timedelta64[ns]
      00:00:00
      long_name :
      time since forecast_reference_time
      standard_name :
      forecast_period
      array(0, dtype='timedelta64[ns]')
    • heightAboveGround
      ()
      float64
      2.0
      long_name :
      height above the surface
      units :
      m
      positive :
      up
      standard_name :
      height
      array(2.)
    • latitude
      (latitude)
      float64
      -90.0 -89.0 -88.0 ... 89.0 90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([-90., -89., -88., -87., -86., -85., -84., -83., -82., -81., -80., -79.,
             -78., -77., -76., -75., -74., -73., -72., -71., -70., -69., -68., -67.,
             -66., -65., -64., -63., -62., -61., -60., -59., -58., -57., -56., -55.,
             -54., -53., -52., -51., -50., -49., -48., -47., -46., -45., -44., -43.,
             -42., -41., -40., -39., -38., -37., -36., -35., -34., -33., -32., -31.,
             -30., -29., -28., -27., -26., -25., -24., -23., -22., -21., -20., -19.,
             -18., -17., -16., -15., -14., -13., -12., -11., -10.,  -9.,  -8.,  -7.,
              -6.,  -5.,  -4.,  -3.,  -2.,  -1.,   0.,   1.,   2.,   3.,   4.,   5.,
               6.,   7.,   8.,   9.,  10.,  11.,  12.,  13.,  14.,  15.,  16.,  17.,
              18.,  19.,  20.,  21.,  22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,
              30.,  31.,  32.,  33.,  34.,  35.,  36.,  37.,  38.,  39.,  40.,  41.,
              42.,  43.,  44.,  45.,  46.,  47.,  48.,  49.,  50.,  51.,  52.,  53.,
              54.,  55.,  56.,  57.,  58.,  59.,  60.,  61.,  62.,  63.,  64.,  65.,
              66.,  67.,  68.,  69.,  70.,  71.,  72.,  73.,  74.,  75.,  76.,  77.,
              78.,  79.,  80.,  81.,  82.,  83.,  84.,  85.,  86.,  87.,  88.,  89.,
              90.])
    • longitude
      (longitude)
      float64
      -1.0 0.0 1.0 ... 356.0 357.0 358.0
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([ -1.,   0.,   1., ..., 356., 357., 358.])
    • valid_time
      ()
      datetime64[ns]
      ...
      standard_name :
      time
      long_name :
      time
      [1 values with dtype=datetime64[ns]]
    • gribfile_projection
      ()
      object
      None
      crs_wkt :
      GEOGCRS["unknown",DATUM["unknown",ELLIPSOID["unknown",6367470,0,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]]]
      semi_major_axis :
      6367470.0
      semi_minor_axis :
      6367470.0
      inverse_flattening :
      0.0
      reference_ellipsoid_name :
      unknown
      longitude_of_prime_meridian :
      0.0
      prime_meridian_name :
      Greenwich
      geographic_crs_name :
      unknown
      horizontal_datum_name :
      unknown
      grid_mapping_name :
      latitude_longitude
      long_name :
      NAVGEM_GODAE model grid projection
      array(None, dtype=object)
    • t2m
      (latitude, longitude)
      float32
      ...
      GRIB_paramId :
      167
      GRIB_numberOfPoints :
      65160
      GRIB_typeOfLevel :
      heightAboveGround
      GRIB_stepUnits :
      1
      GRIB_stepType :
      instant
      GRIB_gridType :
      regular_ll
      GRIB_NV :
      0
      GRIB_Nx :
      360
      GRIB_Ny :
      181
      GRIB_cfName :
      air_temperature
      GRIB_cfVarName :
      t2m
      GRIB_gridDefinitionDescription :
      Latitude/Longitude Grid
      GRIB_iDirectionIncrementInDegrees :
      1.0
      GRIB_iScansNegatively :
      0
      GRIB_jDirectionIncrementInDegrees :
      1.0
      GRIB_jPointsAreConsecutive :
      0
      GRIB_jScansPositively :
      1
      GRIB_latitudeOfFirstGridPointInDegrees :
      -90.0
      GRIB_latitudeOfLastGridPointInDegrees :
      90.0
      GRIB_longitudeOfFirstGridPointInDegrees :
      0.0
      GRIB_longitudeOfLastGridPointInDegrees :
      -1.0
      GRIB_missingValue :
      3.4028234663852886e+38
      GRIB_name :
      2 metre temperature
      GRIB_parameterName :
      T Temperature K
      GRIB_parameterUnits :
      unknown
      GRIB_shortName :
      2t
      GRIB_stepRange :
      0
      GRIB_units :
      K
      GRIB_uvRelativeToGrid :
      0
      long_name :
      2 metre temperature
      units :
      K
      standard_name :
      air_temperature
      grid_mapping :
      gribfile_projection
      [65160 values with dtype=float32]
    • latitude
      PandasIndex
      PandasIndex(Index([-90.0, -89.0, -88.0, -87.0, -86.0, -85.0, -84.0, -83.0, -82.0, -81.0,
             ...
              81.0,  82.0,  83.0,  84.0,  85.0,  86.0,  87.0,  88.0,  89.0,  90.0],
            dtype='float64', name='latitude', length=181))
    • longitude
      PandasIndex
      PandasIndex(Index([ -1.0,   0.0,   1.0,   2.0,   3.0,   4.0,   5.0,   6.0,   7.0,   8.0,
             ...
             349.0, 350.0, 351.0, 352.0, 353.0, 354.0, 355.0, 356.0, 357.0, 358.0],
            dtype='float64', name='longitude', length=360))
  • GRIB_edition :
    1
    GRIB_centre :
    fnmo
    GRIB_centreDescription :
    US Navy - Fleet Numerical Oceanography Center
    GRIB_subCentre :
    0
    Conventions :
    CF-1.7
    institution :
    US Navy - Fleet Numerical Oceanography Center
    model :
    navgem_godae
    product :
    GMET
    description :
    Navy Global Environment Model (NAVGEM, 2013-2024) and Navy Operational Global Atmospheric Prediction (NOGAPS, 2004-2013).
    remote_grib :
    https://usgodae.org/ftp/outgoing/fnmoc/models/nogaps/2005/2005021312/US058GMET-GR1mdl.0058_0240_00000F0RL2005021312_0105_000020-000000air_temp
    local_grib :
    /home/blaylock/data/navgem_godae/20050213/US058GMET-GR1mdl.0018_0056_00000F0RL2005021312_0105_000020-000000air_temp
    search :
    None
[26]:
ds.t2m.plot()
[26]:
<matplotlib.collections.QuadMesh at 0x7fdc8876b9e0>
../../_images/gallery_usnavy_models_navgem_31_1.png
[ ]:

previous

RDPS πŸ…±

next

NOGAPS

On this page
  • NAVGEM on NOMADS
  • NAVGEM on GODAE
    • 2-m air temperature
    • 500 mb U and V wind
    • Shortcuts
  • NOGAPS on GODAE
Edit on GitHub

This Page

  • Show Source

Β© Copyright 2025, Brian K. Blaylock. β™» Updated: 06:02 UTC 02 May 2025.

Created using Sphinx 8.1.3.

Built with the PyData Sphinx Theme 0.16.1.