| Spatial domain | Global |
| Spatial resolution | 0.25 degrees (~20km) |
| Time domain | 2021-05-01 00:00:00 UTC to Present |
| Time resolution | 1 hour |
STAC (browse) · validation report
The Global Forecast System (GFS) is a National Oceanic and Atmospheric Administration (NOAA) National Centers for Environmental Prediction (NCEP) weather forecast model that generates data for dozens of atmospheric and land-soil variables, including temperatures, winds, precipitation, soil moisture, and atmospheric ozone concentration. The system couples four separate models (atmosphere, ocean model, land/soil model, and sea ice) that work together to depict weather conditions.
This analysis dataset is an archive of the model's best estimate of past weather, optimized for spatial (map) access patterns. It is created by concatenating the shortest available step of each historical forecast to provide a dataset with dimensions time, latitude, and longitude.
Variables on pressure levels and fixed heights above mean sea level live in the pressure_level and height_above_mean_sea_level groups.
Note: dynamical-catalog>=0.8.0 (or zarr>=3.2 icechunk>=2.0 gribberish>=1.5) is required.
| GFS forecast and analysis, virtual (Github) | |
| GFS forecast and analysis, virtual (Colab) |
import dynamical_catalog # dynamical-catalog>=0.8.0
ds = dynamical_catalog.open("noaa-gfs-analysis-virtual", chunks=None)
ds["temperature_2m"].sel(time="2025-01-01T00")
# Variables with a vertical dimension live in the pressure_level
# and height_above_mean_sea_level groups
ds_pressure = dynamical_catalog.open("noaa-gfs-analysis-virtual", group="pressure_level", chunks=None)
ds_height = dynamical_catalog.open("noaa-gfs-analysis-virtual", group="height_above_mean_sea_level", chunks=None)
ds_pressure["temperature"].sel(time="2025-01-01T00", pressure_level=500)
import icechunk
import pystac
import xarray as xr
catalog = pystac.Catalog.from_file("https://stac.dynamical.org/catalog.json")
collection = catalog.get_child("noaa-gfs-analysis-virtual")
asset = collection.assets["icechunk-https"]
authorize = icechunk.containers_credentials({"s3://noaa-gfs-bdp-pds/": icechunk.s3_anonymous_credentials()})
repo = icechunk.Repository.open(
icechunk.http_storage(asset.href),
authorize_virtual_chunk_access=authorize,
)
session = repo.readonly_session("main")
ds = xr.open_zarr(session.store, chunks=None)
ds["temperature_2m"].sel(time="2025-01-01T00")
# Variables with a vertical dimension live in the pressure_level
# and height_above_mean_sea_level groups
ds_pressure = xr.open_zarr(session.store, group="pressure_level", chunks=None)
ds_height = xr.open_zarr(session.store, group="height_above_mean_sea_level", chunks=None)
ds_pressure["temperature"].sel(time="2025-01-01T00", pressure_level=500)
| min | max | units | |
|---|---|---|---|
| latitude | -90 | 90 | degree_north |
| longitude | -180 | 179.75 | degree_east |
| time | 2021-05-01T00:00:00Z | Present | seconds since 1970-01-01 |
| height_above_mean_sea_level | 305 | 4572 | m |
| pressure_level | 0.01 | 1000 | hPa |
Access a variable by its name (the bold identifier, e.g. ds["albedo_surface"]).
Dimensions: time × latitude × longitude
| variable | units |
|---|---|
albedo_surface
Forecast albedo (fal)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. Exactly 0 wherever the averaging window received no sunlight; exclude those zeros from a time mean albedo.
|
percent |
apparent_temperature_2m
Apparent temperature (aptmp)Equal to temperature_2m in mild conditions, wind chill when colder and heat index when hotter.
|
degree_Celsius |
average_high_cloud_cover
High cloud cover (hcc)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
percent |
average_low_cloud_cover
Low cloud cover (lcc)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
percent |
average_medium_cloud_cover
Medium cloud cover (mcc)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
percent |
average_precipitation_rate_surface
Precipitation rate (prate)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
kg m-2 s-1 |
average_pressure_high_cloud_bottom
Pressure (pres)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no high cloud in the column, and at some cloud-field edges where average_high_cloud_cover is near zero.
|
Pa |
average_pressure_high_cloud_top
Pressure (pres)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no high cloud in the column, and at some cloud-field edges where average_high_cloud_cover is near zero.
|
Pa |
average_pressure_low_cloud_bottom
Pressure (pres)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no low cloud in the column, and at some cloud-field edges where average_low_cloud_cover is near zero.
|
Pa |
average_pressure_low_cloud_top
Pressure (pres)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no low cloud in the column, and at some cloud-field edges where average_low_cloud_cover is near zero.
|
Pa |
average_pressure_middle_cloud_bottom
Pressure (pres)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no middle cloud in the column, and at some cloud-field edges where average_medium_cloud_cover is near zero.
|
Pa |
average_pressure_middle_cloud_top
Pressure (pres)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no middle cloud in the column, and at some cloud-field edges where average_medium_cloud_cover is near zero.
|
Pa |
average_temperature_high_cloud_top
Temperature (t)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no high cloud in the column, and at some cloud-field edges where average_high_cloud_cover is near zero.
|
degree_Celsius |
average_temperature_low_cloud_top
Temperature (t)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no low cloud in the column, and at some cloud-field edges where average_low_cloud_cover is near zero.
|
degree_Celsius |
average_temperature_middle_cloud_top
Temperature (t)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN where the source reports no middle cloud in the column, and at some cloud-field edges where average_medium_cloud_cover is near zero.
|
degree_Celsius |
average_total_cloud_cover_boundary_layer
Boundary layer cloud cover (tcc)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
percent |
best_4_layer_lifted_index_surface
Best (4-layer) lifted index (4lftx)
|
K |
categorical_freezing_rain_surface
Categorical freezing rain (cfrzr)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. 0=no; 1=yes.
|
1 |
categorical_ice_pellets_surface
Categorical ice pellets (cicep)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. 0=no; 1=yes.
|
1 |
categorical_rain_surface
Categorical rain (crain)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. 0=no; 1=yes.
|
1 |
categorical_snow_surface
Categorical snow (csnow)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. 0=no; 1=yes.
|
1 |
clear_sky_uv_b_downward_solar_flux_surface
Clear sky UV-B downward solar flux (cduvb)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. The UV-B portion of the downward shortwave flux at the surface, covering 263-345 nm, computed with clouds removed.
|
W m-2 |
cloud_mixing_ratio_model_level_1
Cloud mixing ratio (clwmr)GFS model level 1, the lowest native hybrid sigma-pressure layer, immediately above the ground.
|
kg kg-1 |
cloud_water_atmosphere
Cloud water (cwat)
|
kg m-2 |
cloud_work_function_atmosphere
Cloud work function (cwork)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
J kg-1 |
composite_reflectivity
Maximum/Composite radar reflectivity (refc)-20 dBZ means no echo was detected.
|
dBZ |
convective_available_potential_energy_180_0mb
Convective available potential energy (cape)Energy released by a parcel lifted from the most unstable of six 30 hPa layers in the lowest 180 hPa, rather than from one parcel averaged over that depth.
|
J kg-1 |
convective_available_potential_energy_255_0mb
Convective available potential energy (cape)Energy released by a parcel lifted from the most unstable level in the lowest 300 hPa. The source labels the record 255 hPa but searches 300.
|
J kg-1 |
convective_available_potential_energy_90_0mb
Convective available potential energy (cape)
|
J kg-1 |
convective_available_potential_energy_surface
Convective available potential energy (cape)
|
J kg-1 |
convective_cloud_cover
Convective cloud cover (ccc)
|
percent |
convective_inhibition_180_0mb
Convective inhibition (cin)Negative where there is inhibition and at or near zero where there is none.
|
J kg-1 |
convective_inhibition_255_0mb
Convective inhibition (cin)Negative where there is inhibition and at or near zero where there is none.
|
J kg-1 |
convective_inhibition_90_0mb
Convective inhibition (cin)Negative where there is inhibition and at or near zero where there is none.
|
J kg-1 |
convective_inhibition_surface
Convective inhibition (cin)Negative where there is inhibition and at or near zero where there is none.
|
J kg-1 |
convective_precipitation_surface
Convective precipitation (cp)Accumulated over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
kg m-2 |
derived_radar_reflectivity_1000m
Derived radar reflectivity (refd)-20 dBZ means no echo was detected.
|
dBZ |
derived_radar_reflectivity_4000m
Derived radar reflectivity (refd)-20 dBZ means no echo was detected.
|
dBZ |
derived_radar_reflectivity_model_level_1
Derived radar reflectivity (refd)GFS model level 1, the lowest native hybrid sigma-pressure layer, immediately above the ground. -20 dBZ means no echo was detected.
|
dBZ |
derived_radar_reflectivity_model_level_2
Derived radar reflectivity (refd)GFS model level 2, the second native hybrid sigma-pressure layer above the ground. -20 dBZ means no echo was detected.
|
dBZ |
dew_point_temperature_2m
2 metre dewpoint temperature (2d)
|
degree_Celsius |
downward_long_wave_radiation_flux_surface
Surface downward long-wave radiation flux (sdlwrf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
downward_short_wave_radiation_flux_surface
Surface downward short-wave radiation flux (sdswrf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
eastward_gravity_wave_surface_stress
Eastward gravity wave surface stress (lgws)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. Positive values are a westward gravity wave drag force on the atmosphere: the opposite sign convention to CF's atmosphere_eastward_stress_due_to_gravity_wave_drag.
|
Pa |
field_capacity_surface
Field Capacity (fldcp)NaN over water.
|
1 |
friction_velocity_surface
Friction velocity (zust)
|
m s-1 |
geopotential_height_0c_isotherm
Geopotential height (gh)Zero marks a freezing level at or below the surface rather than missing data; over water, where the surface is at zero height, it is a genuine value.
|
m |
geopotential_height_0p5pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_1p5pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_1pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_2pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_cloud_ceiling
Geopotential height (gh)Values near 20,000m mark no cloud ceiling. Interpolation in the source mixes the no data value with real ceiling heights, so unusable values span a range rather than one value and are not converted to NaN. Mask values above 19,000m.
|
m |
geopotential_height_highest_tropospheric_freezing_level
Geopotential height (gh)Zero marks a freezing level at or below the surface rather than missing data; over water, where the surface is at zero height, it is a genuine value.
|
m |
geopotential_height_max_wind
Geopotential height (gh)The source searches only 500 to 100 hPa for this level, so stronger wind can lie outside that layer.
|
m |
geopotential_height_minus0p5pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_minus1p5pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_minus1pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_minus2pvu
Geopotential height (gh)NaN where this potential vorticity surface does not exist in the column.
|
m |
geopotential_height_surface
Geopotential height (gh)
|
m |
geopotential_height_tropopause
Geopotential height (gh)
|
m |
graupel_model_level_1
Graupel (snow pellets) (grle)GFS model level 1, the lowest native hybrid sigma-pressure layer, immediately above the ground.
|
kg kg-1 |
ground_heat_flux_surface
Ground heat flux (gflux)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN over open water.
|
W m-2 |
haines_index_surface
Haines Index (hindex)Fire-weather index of lower-atmosphere stability and dryness for large plume-dominated fire growth. NaN over open water.
|
1 |
high_cloud_cover
High cloud cover (hcc)
|
percent |
icao_standard_atmosphere_reference_height_max_wind
ICAO Standard Atmosphere reference height (icaht)Pressure altitude: the ICAO Standard Atmosphere height for this level's pressure, not its actual height, which geopotential_height_max_wind carries. The source searches only 500 to 100 hPa for this level, so stronger wind can lie outside that layer.
|
m |
icao_standard_atmosphere_reference_height_tropopause
ICAO Standard Atmosphere reference height (icaht)Pressure altitude: the ICAO Standard Atmosphere height for this level's pressure, not its actual height, which geopotential_height_tropopause carries.
|
m |
ice_cover_surface
Ice cover (1=ice, 0=no ice) (icec)The fraction of the cell covered by floating ice, taking any value between 0 and 1.
|
1 |
ice_growth_rate_10m_amsl
Ice growth rate (iceg)Rate of marine icing accretion on a vessel superstructure.
|
m s-1 |
ice_temperature_surface
Sea ice surface temperature (sist)Temperature of the ice surface, covering lake ice as well as sea ice despite the source parameter name. NaN where there is no ice.
|
degree_Celsius |
ice_thickness_surface
Ice thickness (icetk)
|
m |
ice_water_mixing_ratio_model_level_1
Ice water mixing ratio (icmr)GFS model level 1, the lowest native hybrid sigma-pressure layer, immediately above the ground.
|
kg kg-1 |
instantaneous_categorical_freezing_rain_surface
Categorical freezing rain (cfrzr)0=no; 1=yes.
|
1 |
instantaneous_categorical_ice_pellets_surface
Categorical ice pellets (cicep)0=no; 1=yes.
|
1 |
instantaneous_categorical_rain_surface
Categorical rain (crain)0=no; 1=yes.
|
1 |
instantaneous_categorical_snow_surface
Categorical snow (csnow)0=no; 1=yes.
|
1 |
instantaneous_precipitation_convective_surface
Convective precipitation rate (cpr)
|
kg m-2 s-1 |
instantaneous_total_cloud_cover_atmosphere
Total cloud cover (tcc)
|
percent |
land_sea_mask_surface
Land-sea mask (lsm)
|
1 |
latent_heat_flux_surface
Latent heat flux (lhf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
liquid_volumetric_soil_moisture_0_10cm
Liquid volumetric soil moisture (non-frozen) (soill)Unfrozen fraction only; volumetric_soil_moisture_0_10cm carries frozen plus liquid water. NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
liquid_volumetric_soil_moisture_100_200cm
Liquid volumetric soil moisture (non-frozen) (soill)Unfrozen fraction only; volumetric_soil_moisture_100_200cm carries frozen plus liquid water. NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
liquid_volumetric_soil_moisture_10_40cm
Liquid volumetric soil moisture (non-frozen) (soill)Unfrozen fraction only; volumetric_soil_moisture_10_40cm carries frozen plus liquid water. NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
liquid_volumetric_soil_moisture_40_100cm
Liquid volumetric soil moisture (non-frozen) (soill)Unfrozen fraction only; volumetric_soil_moisture_40_100cm carries frozen plus liquid water. NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
low_cloud_cover
Low cloud cover (lcc)
|
percent |
maximum_temperature_2m
Maximum temperature (tmax)Maximum value over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
degree_Celsius |
medium_cloud_cover
Medium cloud cover (mcc)
|
percent |
minimum_temperature_2m
Minimum temperature (tmin)Minimum value over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
degree_Celsius |
momentum_flux_u_component_surface
Momentum flux, u-component (uflx)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. Positive values are an upward flux of eastward momentum, from the surface into the atmosphere: the opposite sign convention to CF's surface_downward_eastward_stress.
|
Pa |
momentum_flux_v_component_surface
Momentum flux, v-component (vflx)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. Positive values are an upward flux of northward momentum, from the surface into the atmosphere: the opposite sign convention to CF's surface_downward_northward_stress.
|
Pa |
northward_gravity_wave_surface_stress
Northward gravity wave surface stress (mgws)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. Positive values are a southward gravity wave drag force on the atmosphere: the opposite sign convention to CF's atmosphere_northward_stress_due_to_gravity_wave_drag.
|
Pa |
percent_frozen_precipitation_surface
Percent frozen precipitation (cpofp)Negative values mark no precipitation. Interpolation in the source mixes the no data value with real percentages, so unusable values span a range rather than one value and are not converted to NaN. Mask values < -0.1.
|
percent |
planetary_boundary_layer_height_surface
Boundary layer height (blh)
|
m |
plant_canopy_surface_water_surface
Plant canopy surface water (cnwat)NaN over water.
|
kg m-2 |
potential_evaporation_rate_surface
Potential evaporation rate (pevr)Potential evaporation demand computed by the land model, not the actual evaporative flux, so it is not bounded by available net radiation. NaN over open water.
|
W m-2 |
potential_temperature_0p995_sigma
Potential temperature (pt)
|
K |
precipitable_water_atmosphere
Precipitable water (pwat)
|
kg m-2 |
precipitation_convective_surface
Convective precipitation rate (cpr)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
kg m-2 s-1 |
precipitation_rate_surface
Precipitation rate (prate)
|
kg m-2 s-1 |
pressure_0p5pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_1p5pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_1pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_2pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_80m
80 metre pressure (80sp)
|
Pa |
pressure_convective_cloud_bottom
Pressure (pres)NaN means the source does not provide a convective cloud base pressure at this cell; this can occur even when convective_cloud_cover is nonzero.
|
Pa |
pressure_convective_cloud_top
Pressure (pres)NaN means the source does not provide a convective cloud top pressure at this cell; this can occur even when convective_cloud_cover is nonzero.
|
Pa |
pressure_max_wind
Pressure (pres)The source searches only 500 to 100 hPa for this level, so stronger wind can lie outside that layer.
|
Pa |
pressure_minus0p5pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_minus1p5pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_minus1pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_minus2pvu
Pressure (pres)NaN where this potential vorticity surface does not exist in the column.
|
Pa |
pressure_of_lifted_parcel_level_255_0mb
Pressure of level from which parcel was lifted (plpl)Clipped at the highest pressure this field encodes, near 100000 Pa, where a large fraction of cells sit. Their true pressure is at or above that ceiling, not absent.
|
Pa |
pressure_reduced_to_mean_sea_level
Pressure reduced to MSL (prmsl)
|
Pa |
pressure_reduced_to_mean_sea_level_eta_model
MSLP (Eta model reduction) (mslet)Mean sea level pressure computed with the Eta model reduction, an alternative to pressure_reduced_to_mean_sea_level that differs mainly over high terrain.
|
Pa |
pressure_surface
Surface pressure (sp)
|
Pa |
pressure_tropopause
Pressure (pres)
|
Pa |
rain_mixing_ratio_model_level_1
Rain mixing ratio (rwmr)GFS model level 1, the lowest native hybrid sigma-pressure layer, immediately above the ground.
|
kg kg-1 |
relative_humidity_0c_isotherm
Relative humidity (r)
|
percent |
relative_humidity_0p33_1_sigma
Relative humidity (r)
|
percent |
relative_humidity_0p44_0p72_sigma
Relative humidity (r)
|
percent |
relative_humidity_0p44_1_sigma
Relative humidity (r)
|
percent |
relative_humidity_0p72_0p94_sigma
Relative humidity (r)
|
percent |
relative_humidity_0p995_sigma
Relative humidity (r)
|
percent |
relative_humidity_120_90mb
Relative humidity (r)The 120-90 mb in the name are pressure differences from the surface, not isobaric levels.
|
percent |
relative_humidity_150_120mb
Relative humidity (r)The 150-120 mb in the name are pressure differences from the surface, not isobaric levels.
|
percent |
relative_humidity_180_150mb
Relative humidity (r)The 180-150 mb in the name are pressure differences from the surface, not isobaric levels.
|
percent |
relative_humidity_2m
2 metre relative humidity (2r)
|
percent |
relative_humidity_30_0mb
Relative humidity (r)
|
percent |
relative_humidity_60_30mb
Relative humidity (r)The 60-30 mb in the name are pressure differences from the surface, not isobaric levels.
|
percent |
relative_humidity_90_60mb
Relative humidity (r)The 90-60 mb in the name are pressure differences from the surface, not isobaric levels.
|
percent |
relative_humidity_atmosphere
Relative humidity (r)
|
percent |
relative_humidity_highest_tropospheric_freezing_level
Relative humidity (r)
|
percent |
sensible_heat_flux_surface
Sensible heat flux (shf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
snow_mixing_ratio_model_level_1
Snow mixing ratio (snmr)GFS model level 1, the lowest native hybrid sigma-pressure layer, immediately above the ground.
|
kg kg-1 |
snow_thickness_surface
Snow depth (sde)NaN over open water.
|
m |
snow_water_equivalent_surface
Snow depth water equivalent (sd)NaN over open water.
|
m |
soil_temperature_0_10cm
Soil temperature (sot)NaN over open water.
|
degree_Celsius |
soil_temperature_100_200cm
Soil temperature (sot)NaN over open water.
|
degree_Celsius |
soil_temperature_10_40cm
Soil temperature (sot)NaN over open water.
|
degree_Celsius |
soil_temperature_40_100cm
Soil temperature (sot)NaN over open water.
|
degree_Celsius |
soil_type_surface
Soil type (slt)Soil texture class from the 16 category STATSGO classification used by the GFS Noah land surface model, and 0 over water. Interpolation to this grid leaves values between the integer class codes, so a value is not exactly a class number.
|
1 |
specific_humidity_120_90mb
Specific humidity (q)The 120-90 mb in the name are pressure differences from the surface, not isobaric levels.
|
1 |
specific_humidity_150_120mb
Specific humidity (q)The 150-120 mb in the name are pressure differences from the surface, not isobaric levels.
|
1 |
specific_humidity_180_150mb
Specific humidity (q)The 180-150 mb in the name are pressure differences from the surface, not isobaric levels.
|
1 |
specific_humidity_2m
Specific humidity (q)
|
1 |
specific_humidity_30_0mb
Specific humidity (q)
|
1 |
specific_humidity_60_30mb
Specific humidity (q)The 60-30 mb in the name are pressure differences from the surface, not isobaric levels.
|
1 |
specific_humidity_80m
Specific humidity (q)
|
1 |
specific_humidity_90_60mb
Specific humidity (q)The 90-60 mb in the name are pressure differences from the surface, not isobaric levels.
|
1 |
storm_relative_helicity_3000_0m
Storm relative helicity (hlcy)Uses a right-moving storm motion in both hemispheres, so southern hemisphere values are positive-mean rather than mirrored.
|
m2 s-2 |
sunshine_duration_surface
Sunshine Duration (SUNSD)Sunshine accumulated over the preceding 1-6 hours, not an instantaneous value: the total restarts every 6 hours and so reaches at most 21600 s. The source index labels it instantaneous, which is why it carries no window step type.
|
s |
surface_lifted_index_surface
Surface lifted index (lftx)
|
K |
surface_roughness_surface
Forecast surface roughness (fsr)
|
m |
temperature_0p5pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_0p995_sigma
Temperature (t)
|
degree_Celsius |
temperature_100m
Temperature (t)
|
degree_Celsius |
temperature_120_90mb
Temperature (t)The 120-90 mb in the name are pressure differences from the surface, not isobaric levels.
|
degree_Celsius |
temperature_150_120mb
Temperature (t)The 150-120 mb in the name are pressure differences from the surface, not isobaric levels.
|
degree_Celsius |
temperature_180_150mb
Temperature (t)The 180-150 mb in the name are pressure differences from the surface, not isobaric levels.
|
degree_Celsius |
temperature_1p5pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_1pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_2m
2 metre temperature (2t)
|
degree_Celsius |
temperature_2pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_30_0mb
Temperature (t)
|
degree_Celsius |
temperature_60_30mb
Temperature (t)The 60-30 mb in the name are pressure differences from the surface, not isobaric levels.
|
degree_Celsius |
temperature_80m
80 metre temperature (80t)
|
degree_Celsius |
temperature_90_60mb
Temperature (t)The 90-60 mb in the name are pressure differences from the surface, not isobaric levels.
|
degree_Celsius |
temperature_max_wind
Temperature (t)The source searches only 500 to 100 hPa for this level, so stronger wind can lie outside that layer.
|
degree_Celsius |
temperature_minus0p5pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_minus1p5pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_minus1pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_minus2pvu
Temperature (t)NaN where this potential vorticity surface does not exist in the column.
|
degree_Celsius |
temperature_surface
Skin temperature (skt)
|
degree_Celsius |
temperature_tropopause
Temperature (t)
|
degree_Celsius |
total_cloud_cover_atmosphere
Total cloud cover (tcc)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
percent |
total_ozone_atmosphere
Total ozone (tozne)The thickness the column's ozone would occupy as pure ozone at standard temperature and pressure; 1e-5 m is one Dobson unit.
|
m |
total_precipitation_surface
Total precipitation (tp)Accumulated over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
kg m-2 |
u_component_storm_motion_6000_0m
U-component storm motion (ustm)The Bunkers right-moving supercell motion.
|
m s-1 |
upward_long_wave_radiation_flux_surface
Surface upward long-wave radiation flux (sulwrf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
upward_long_wave_radiation_flux_top_of_atmosphere
Upward long-wave radiation flux (ulwrf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
upward_short_wave_radiation_flux_surface
Surface upward short-wave radiation flux (suswrf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
upward_short_wave_radiation_flux_top_of_atmosphere
Upward short-wave radiation flux (uswrf)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time.
|
W m-2 |
uv_b_downward_solar_flux_surface
UV-B downward solar flux (duvb)Averaged over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. The UV-B portion of the downward shortwave flux at the surface, covering 263-345 nm.
|
W m-2 |
v_component_storm_motion_6000_0m
V-component storm motion (vstm)The Bunkers right-moving supercell motion.
|
m s-1 |
vegetation_surface
Vegetation fraction (veg)NaN over water.
|
percent |
ventilation_rate_planetary_boundary_layer
Ventilation Rate (VRATE)
|
m2 s-1 |
vertical_speed_shear_0p5pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_1p5pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_1pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_2pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_minus0p5pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_minus1p5pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_minus1pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_minus2pvu
Vertical speed shear (vwsh)NaN where this potential vorticity surface does not exist in the column.
|
s-1 |
vertical_speed_shear_tropopause
Vertical speed shear (vwsh)
|
s-1 |
vertical_velocity_0p995_sigma
Vertical velocity (w)
|
Pa s-1 |
visibility_surface
Visibility (vis)Clipped at the maximum visibility this field encodes, about 24 km, where a large fraction of cells sit. The true visibility there is at least that far, not absent.
|
m |
volumetric_soil_moisture_0_10cm
Volumetric soil moisture (vsw)NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
volumetric_soil_moisture_100_200cm
Volumetric soil moisture (vsw)NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
volumetric_soil_moisture_10_40cm
Volumetric soil moisture (vsw)NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
volumetric_soil_moisture_40_100cm
Volumetric soil moisture (vsw)NaN over water. Over permanent land ice the value is a placeholder rather than soil moisture: near 1 on fully ice-covered cells and above about 0.5 where ice partly covers the cell.
|
1 |
water_runoff_surface
Water runoff (watr)Accumulated over the preceding 1-6 hours, since the 00, 06, 12 or 18 UTC hour before this time. NaN over water.
|
kg m-2 |
wilting_point_surface
Wilting point (wilt)NaN over water.
|
1 |
wind_gust_surface
Wind speed (gust) (gust)
|
m s-1 |
wind_u_0p5pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_0p995_sigma
U component of wind (u)
|
m s-1 |
wind_u_100m
100 metre U wind component (100u)
|
m s-1 |
wind_u_10m
10 metre U wind component (10u)
|
m s-1 |
wind_u_120_90mb
U component of wind (u)The 120-90 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_u_150_120mb
U component of wind (u)The 150-120 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_u_180_150mb
U component of wind (u)The 180-150 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_u_1p5pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_1pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_20m
U component of wind (u)
|
m s-1 |
wind_u_2pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_30_0mb
U component of wind (u)
|
m s-1 |
wind_u_30m
U component of wind (u)
|
m s-1 |
wind_u_40m
U component of wind (u)
|
m s-1 |
wind_u_50m
U component of wind (u)
|
m s-1 |
wind_u_60_30mb
U component of wind (u)The 60-30 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_u_80m
80 metre U wind component (80u)
|
m s-1 |
wind_u_90_60mb
U component of wind (u)The 90-60 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_u_max_wind
U component of wind (u)The source searches only 500 to 100 hPa for this level, so stronger wind can lie outside that layer.
|
m s-1 |
wind_u_minus0p5pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_minus1p5pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_minus1pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_minus2pvu
U component of wind (u)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_u_planetary_boundary_layer
U component of wind (u)The mean wind through the depth of the planetary boundary layer, not the wind at its top.
|
m s-1 |
wind_u_tropopause
U component of wind (u)
|
m s-1 |
wind_v_0p5pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_0p995_sigma
V component of wind (v)
|
m s-1 |
wind_v_100m
100 metre V wind component (100v)
|
m s-1 |
wind_v_10m
10 metre V wind component (10v)
|
m s-1 |
wind_v_120_90mb
V component of wind (v)The 120-90 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_v_150_120mb
V component of wind (v)The 150-120 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_v_180_150mb
V component of wind (v)The 180-150 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_v_1p5pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_1pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_20m
V component of wind (v)
|
m s-1 |
wind_v_2pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_30_0mb
V component of wind (v)
|
m s-1 |
wind_v_30m
V component of wind (v)
|
m s-1 |
wind_v_40m
V component of wind (v)
|
m s-1 |
wind_v_50m
V component of wind (v)
|
m s-1 |
wind_v_60_30mb
V component of wind (v)The 60-30 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_v_80m
80 metre V wind component (80v)
|
m s-1 |
wind_v_90_60mb
V component of wind (v)The 90-60 mb in the name are pressure differences from the surface, not isobaric levels.
|
m s-1 |
wind_v_max_wind
V component of wind (v)The source searches only 500 to 100 hPa for this level, so stronger wind can lie outside that layer.
|
m s-1 |
wind_v_minus0p5pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_minus1p5pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_minus1pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_minus2pvu
V component of wind (v)NaN where this potential vorticity surface does not exist in the column.
|
m s-1 |
wind_v_planetary_boundary_layer
V component of wind (v)The mean wind through the depth of the planetary boundary layer, not the wind at its top.
|
m s-1 |
wind_v_tropopause
V component of wind (v)
|
m s-1 |
These variables live in the height_above_mean_sea_level Zarr group (e.g. pass group="height_above_mean_sea_level" to dynamical_catalog.open() or xr.open_zarr()).
Dimensions: time × latitude × longitude × height_above_mean_sea_level
| variable | units |
|---|---|
temperature
Temperature (t)NaN where the terrain is above this level.
|
degree_Celsius |
wind_u
U component of wind (u)NaN where the terrain is above this level.
|
m s-1 |
wind_v
V component of wind (v)NaN where the terrain is above this level.
|
m s-1 |
These variables live in the pressure_level Zarr group (e.g. pass group="pressure_level" to dynamical_catalog.open() or xr.open_zarr()).
Dimensions: time × latitude × longitude × pressure_level
| variable | units |
|---|---|
absolute_vorticity
Absolute vorticity (absv)
|
s-1 |
cloud_cover
Fraction of cloud cover (cc)Published only from 1000 to 50 hPa. The 18 levels above 50 hPa are NaN at every step.
|
percent |
cloud_mixing_ratio
Cloud mixing ratio (clwmr)Published only from 1000 to 50 hPa. The 18 levels above 50 hPa are NaN at every step.
|
kg kg-1 |
geopotential_height
Geopotential height (gh)
|
m |
graupel
Graupel (snow pellets) (grle)Published only from 1000 to 50 hPa. The 18 levels above 50 hPa are NaN at every step.
|
kg kg-1 |
ice_water_mixing_ratio
Ice water mixing ratio (icmr)Published only from 1000 to 50 hPa. The 18 levels above 50 hPa are NaN at every step.
|
kg kg-1 |
ozone_mixing_ratio
Ozone mixing ratio (o3mr)Not published at the 16 levels 125, 175, 225, 275, 325, 375, 425, 475, 525, 575, 625, 675, 725, 775, 825 and 875 hPa, which are NaN at every step.
|
kg kg-1 |
rain_mixing_ratio
Rain mixing ratio (rwmr)Published only from 1000 to 50 hPa. The 18 levels above 50 hPa are NaN at every step.
|
kg kg-1 |
relative_humidity
Relative humidity (r)
|
percent |
snow_mixing_ratio
Snow mixing ratio (snmr)Published only from 1000 to 50 hPa. The 18 levels above 50 hPa are NaN at every step.
|
kg kg-1 |
specific_humidity
Specific humidity (q)Not published at the 16 levels 125, 175, 225, 275, 325, 375, 425, 475, 525, 575, 625, 675, 725, 775, 825 and 875 hPa, which are NaN at every step.
|
1 |
temperature
Temperature (t)
|
degree_Celsius |
vertical_velocity
Vertical velocity (w)
|
Pa s-1 |
vertical_velocity_geometric
Vertical velocity (geometric) (dzdt)
|
m s-1 |
wind_u
U component of wind (u)
|
m s-1 |
wind_v
V component of wind (v)
|
m s-1 |
Dataset licensed under CC BY 4.0.
NOAA NWS NCEP GFS data processed by dynamical.org from NOAA Open Data Dissemination archives.
Or NOAA GFS from dynamical.org.
GFS starts a new model run every 6 hours and dynamical.org has created this analysis by concatenating the shortest usable forecast step of each run along the time dimension. Instantaneous variables are read from forecast hours 0 to 5, and variables that describe a preceding window (accumulations, averages and window maxima and minima) are read from forecast hours 1 to 6.
The source grib files this archive is constructed from are provided by NOAA Open Data Dissemination (NODD) and accessed from the AWS Open Data Registry. Operational data is additionally accessed from NOAA NOMADS.
Storage for this dataset is generously provided by AWS Open Data.
This dataset is stored in Zarr format, which splits each variable into a grid of chunks — the smallest unit read from storage. When possible, aligning your reads with this dataset's chunk grid can significantly improve data access speed.
The element count and coordinate span of this dataset:
| dimension | chunk |
|---|---|
| time | 1 (1 hour) |
| latitude | 721 (180.25°) |
| longitude | 1440 (360°) |
| uncompressed | 7.9 MiB |
Review the validation report for variable availability, missing data, known quirks, fill values, value distributions, and sample plots.