| Spatial domain | Global |
| Spatial resolution | 0.25 degrees (~20km) |
| Time domain | 2000-01-01 00:00:00 UTC to Present |
| Time resolution | 3.0 hours |
The Global Ensemble Forecast System (GEFS) is a National Oceanic and Atmospheric Administration (NOAA) National Centers for Environmental Prediction (NCEP) weather forecast model. GEFS creates 31 separate forecasts (ensemble members) to describe the range of forecast uncertainty.
This analysis dataset is an archive of the model's best estimate of past weather. It is created by concatenating the first few hours of each historical forecast to provide a dataset with dimensions time, latitude, and longitude.
| Quickstart (Github) | |
| Quickstart (Colab) |
import dynamical_catalog # dynamical-catalog>=0.5.0
ds = dynamical_catalog.open("noaa-gefs-analysis")
ds["temperature_2m"].sel(time="2025-01-01T00", latitude=0, longitude=0).compute()
| min | max | units | |
|---|---|---|---|
| latitude | -90 | 90 | degree_north |
| longitude | -180 | 179.75 | degree_east |
| time | 2000-01-01T00:00:00Z | Present | seconds since 1970-01-01 |
Access a variable by its name (the bold identifier, e.g. ds["categorical_freezing_rain_surface"]).
Dimensions: time × latitude × longitude
| variable | units |
|---|---|
categorical_freezing_rain_surface
Categorical freezing rain (cfrzr)0=no; 1=yes
|
1 |
categorical_ice_pellets_surface
Categorical ice pellets (cicep)0=no; 1=yes
|
1 |
categorical_rain_surface
Categorical rain (crain)0=no; 1=yes
|
1 |
categorical_snow_surface
Categorical snow (csnow)0=no; 1=yes
|
1 |
downward_long_wave_radiation_flux_surface
Surface downward long-wave radiation flux (sdlwrf)Average value in the last 6 hour period (00, 06, 12, 18 UTC) or 3 hour period (03, 09, 15, 21 UTC).
|
W m-2 |
downward_short_wave_radiation_flux_surface
Surface downward short-wave radiation flux (sdswrf)Average value in the last 6 hour period (00, 06, 12, 18 UTC) or 3 hour period (03, 09, 15, 21 UTC).
|
W m-2 |
geopotential_height_500hpa
Geopotential height (gh)
|
m |
geopotential_height_cloud_ceiling
Geopotential height (gh)
|
m |
maximum_temperature_2m
Maximum temperature (tmax)
|
degree_Celsius |
minimum_temperature_2m
Minimum temperature (tmin)
|
degree_Celsius |
percent_frozen_precipitation_surface
Percent frozen precipitation (cpofp)Contains the value -50 when there is no precipitation.
|
percent |
precipitable_water_atmosphere
Precipitable water (pwat)
|
kg m-2 |
precipitation_surface
Precipitation rate (prate)Average precipitation rate since the previous forecast step. Units equivalent to mm/s.
|
kg m-2 s-1 |
pressure_reduced_to_mean_sea_level
Pressure reduced to MSL (prmsl)
|
Pa |
pressure_surface
Surface pressure (sp)
|
Pa |
relative_humidity_2m
2 metre relative humidity (2r)
|
percent |
temperature_2m
2 metre temperature (2t)
|
degree_Celsius |
total_cloud_cover_atmosphere
Total cloud cover (tcc)Average value in the last 6 hour period (00, 06, 12, 18 UTC) or 3 hour period (03, 09, 15, 21 UTC).
|
percent |
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_v_100m
100 metre V wind component (100v)
|
m s-1 |
wind_v_10m
10 metre V wind component (10v)
|
m s-1 |
Dataset licensed under CC BY 4.0.
NOAA NWS NCEP GEFS data processed by dynamical.org from NOAA Open Data Dissemination archives.
Or NOAA GEFS from dynamical.org.
To provide the longest possible historical record, this dataset in constructed from three distinct GEFS forecast archives.
Source files are provided by NOAA Open Data Dissemination (NODD) and accessed from the AWS Open Data Registry. Operational data is additionally accessed from NOAA NOMADS.
Data is available for all variables at all times with the following exceptions.
relative_humidity_2m, percent_frozen_precipitation_surface, categorical_freezing_rain_surface, categorical_ice_pellets_surface, categorical_rain_surface, categorical_snow_surfacegeopotential_height_cloud_ceilingTo create a single time dimension we concatenate the first few hours of each forecast. From 2000-01-01 to 2019-12-31 reforecasts are available once per day and this dataset uses the first 21 or 24 hours of each forecast. From 2020-01-01 to present forecasts are available every 6 hours and this dataset uses the first 3 or 6 hours of each forecast. Variables with an instantaneous step_type use the shortest possible lead times (e.g. 0 and 3 hours) while accumulated variables must use one additional forecast step (e.g. 3 and 6 hours) because they do not have an hour 0 forecast value.
For most of the time range of the archive the source data is available at 0.25-degree resolution and a 3 hourly time step and we perform no interpolation. There are two exceptions to this. 1) From 2020-01-01 to 2020-09-23 the source data has a 1.0-degree spatial resolution and a 6 hourly time step. 2) From 2020-09-23 to present the 100m wind components have a 0.5-degree spatial resolution in the source data. To provide a consistent archive in the above two cases we first perform bilinear interpolation in space to 0.25-degree resolution followed by linear interpolation in time to a 3-hourly timestep if necessary. The original, uninterpolated data can be obtained by selecting latitudes and longitudes evenly divisible by 1 and, in case 1), time steps whose hour is divisible by 6.
Storage for this dataset is generously provided by Source Cooperative, a Radiant Earth initiative. Icechunk storage 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. Chunks are grouped into larger shards (the objects actually written to storage), which keeps the object count manageable for long-archive datasets. 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 | shard |
|---|---|---|
| time | 1440 (180 days) | 2880 (360 days) |
| latitude | 32 (8°) | 384 (96°) |
| longitude | 32 (8°) | 384 (96°) |
| uncompressed | 5.6 MiB | 1.6 GiB |
The same values are published in the dynamical-org:chunking field of this dataset's STAC collection metadata.
The data values in this dataset have been rounded in their binary floating point representation to improve compression. See Klöwer et al. 2021 for more information on this approach. The exact number of rounded bits can be found in our reformatting code.