Skip to main content

Understanding weather integration

Weather data is absolutely crucial for energy forecasting and operations. The Rebase Dashboard API integrates with major weather models to provide real-time and forecast data that you can overlay on your energy visualizations. This comprehensive integration enables advanced energy monitoring and forecasting capabilities.

Creating weather layers

Basic weather layer creation

# Create a weather layer
weather_layer = client.layers.create_layer(
    name="My Weather Layer",
    type="wl:RasterLayer",  # or "wl:ParticleLayer", "wl:IsolineLayer"
    weather_model_id="ECMWF_IFS",  # See available models below
    variable="WindSpeed",  # See available variables below
    altitude=10,  # See available altitudes below
    run_hour=12,  # Required for forecast models
    run_day="2025-01-15",  # Required for forecast models
    deckgl_props={
        "opacity": 0.7
    }
)

Historical weather data (ERA5)

# Create a historical weather layer (no run parameters needed)
historical_layer = client.layers.create_layer(
    name="Historical Wind Data",
    type="wl:RasterLayer",
    weather_model_id="ERA5",
    variable="WindSpeed",
    altitude=10,
    deckgl_props={
        "opacity": 0.6
    }
)

Available weather models

Model IDTypeCoverageRun Hours (UTC)Variables
ECMWF_IFSGlobalWorldwide0, 6, 12, 18WindSpeed, Temperature, Precipitation, Pressure, SolarRadiation, PrecipitationTypeAccumulated
ECMWF_AIFSGlobal AIWorldwide0, 6, 12, 18WindSpeed, Temperature, Precipitation, Pressure, SolarRadiation
Rebase_AIGlobal AIWorldwide0, 12WindSpeed, Temperature, Pressure
NCEP_GFSGlobalWorldwide0, 6, 12, 18WindSpeed, Temperature, RelativeHumidity, CloudCover, Precipitation, Pressure, SolarRadiation
ERA5HistoricalWorldwide-WindSpeed, Temperature, Pressure, CloudCover, RelativeHumidity, SolarRadiation
DWD_ICON-EURegionalEurope0, 3, 6, 9, 12, 15, 18, 21WindSpeed, Temperature, RelativeHumidity, CloudCover, Precipitation, Pressure
DWD_ICON-D2RegionalGermany0, 3, 6, 9, 12, 15, 18, 21WindSpeed, Temperature, RelativeHumidity, Pressure, CloudCover
MeteoFrance_ARPEGE-EURegionalEurope0, 6, 12, 18WindSpeed, Temperature, RelativeHumidity, Precipitation, Pressure
MetNo_MEPSRegionalNordic0, 3, 6, 9, 12, 15, 18, 21WindSpeed, Temperature, RelativeHumidity, Precipitation, Pressure
MetNo_HIRESMEPSRegionalNordic0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23WindSpeed, Temperature, RelativeHumidity, Precipitation, Pressure

Available variables and altitudes

WindSpeed

ModelAvailable AltitudesUnitsVisualization Types
All models2m, 10m, 20m, 80m, 100m, 120m, 200mm/sraster, particle

Temperature

ModelAvailable AltitudesUnitsVisualization Types
All models2m, 20m, 80m, 100m°Craster, isolines

RelativeHumidity

ModelAvailable AltitudesUnitsVisualization Types
NCEP_GFS2m, 20m, 80m, 100m%raster
DWD_ICON-EU2m, 20m, 80m, 100m%raster
DWD_ICON-D22m, 20m, 80m, 100m%raster
MeteoFrance_ARPEGE-EU2m, 20m, 80m, 100m%raster
MetNo_MEPS2m, 20m, 80m, 100m%raster
MetNo_HIRESMEPS2m, 20m, 80m, 100m%raster
ERA52m, 20m, 80m, 100m%raster

CloudCover

ModelAvailable AltitudesUnitsVisualization Types
NCEP_GFSTotal, Low, Medium, High, 100m, 3000m, 9000m, 20000m%raster
DWD_ICON-EULow, Medium, High%raster
DWD_ICON-D2Low, Medium, High%raster
ERA5Total, Low, Medium, High%raster

Precipitation

ModelAvailable AltitudesUnitsVisualization Types
ECMWF_IFSSurfacemmraster
ECMWF_AIFSSurfacemmraster
NCEP_GFSSurfacemmraster
DWD_ICON-EUSurfacemmraster
MeteoFrance_ARPEGE-EUSurfacemmraster
MetNo_MEPSSurfacemmraster
MetNo_HIRESMEPSSurfacemmraster

Pressure

ModelAvailable AltitudesUnitsVisualization Types
All modelsMSL (Mean Sea Level)hParaster, isolines

SolarRadiation

ModelAvailable AltitudesUnitsVisualization Types
ECMWF_IFSSurfaceW/m²raster
ECMWF_AIFSSurfaceW/m²raster
NCEP_GFSSurfaceW/m²raster
ERA5SurfaceW/m²raster

PrecipitationTypeAccumulated

ModelAvailable AltitudesUnitsVisualization Types
ECMWF_IFSSurfacemmraster

Weather Model Requirements

Forecast Models

  • Required: run_hour and run_day (YYYY-MM-DD format)
  • Run Hours: Varies by model (see table above)
  • Example: run_hour=12, run_day="2025-01-15"
Supported models: ECMWF_IFS, ECMWF_AIFS, Rebase_AI, NCEP_GFS, DWD_ICON-EU, DWD_ICON-D2, MeteoFrance_ARPEGE-EU, MetNo_MEPS, MetNo_HIRESMEPS

Historical Models

  • Required: None of run_hour or run_day (use frontend date range settings)
  • Example: No run parameters needed
Supported models: ERA5

Layer types

Raster layers (wl:RasterLayer)

Most common type for continuous weather data like temperature, wind speed, and precipitation.
# Raster layer configuration
raster_layer = client.layers.create_layer(
    name="Wind Speed Raster",
    type="wl:RasterLayer",
    weather_model_id="ECMWF_IFS",
    variable="WindSpeed",
    altitude=10,
    run_hour=12,
    run_day="2025-01-15",
    deckgl_props={
        "opacity": 0.7
    }
)

Isoline layers (wl:IsolineLayer)

Perfect for pressure, temperature contours, and other isoline data.
# Isoline layer configuration
isoline_layer = client.layers.create_layer(
    name="Pressure Isolines",
    type="wl:IsolineLayer",
    weather_model_id="ECMWF_IFS",
    variable="Pressure",
    altitude=0,
    run_hour=12,
    run_day="2025-01-15",
    deckgl_props={
        "opacity": 0.8
    }
)

Particle layers (wl:ParticleLayer)

Great for wind direction visualization with animated particles.
# Particle layer configuration
particle_layer = client.layers.create_layer(
    name="Wind Direction Particles",
    type="wl:ParticleLayer",
    weather_model_id="ECMWF_IFS",
    variable="WindSpeed",
    altitude=10,
    run_hour=12,
    run_day="2025-01-15",
    deckgl_props={
        "opacity": 0.6
    }
)

Creating weather map components

Once the desired weather layers have been created, the next step is to add them to a Map Component to visualize them:
# Create a map component with weather layers
weather_map_component = client.components.create_map(
    name="Wind Speed Forecast",
    config=MapConfig(
        latitude=55.2,
        longitude=3.5,
        zoom=6,
        map_style="mapbox://styles/mapbox/satellite-v9"
    ),
    layer_ids=[wind_speed_layer.id]  # Unified layer_ids array
)

Multiple weather layers

Multiple weather variables can be combined in a single map:
# Map component with multiple weather layers
multi_weather_map = client.components.create_map(
    name="Comprehensive Weather View",
    config=MapConfig(
        latitude=55.2,
        longitude=3.5,
        zoom=6,
        map_style="mapbox://styles/mapbox/satellite-v9"
    ),
    layer_ids=[
        wind_speed_layer.id,
        temperature_layer.id,
        precipitation_layer.id
    ]  # All layers in unified array
)

Combining weather and map layers

You can now combine weather layers with map layers in a single component:
# Create map and weather layers
wind_turbines_layer = client.layers.create_layer(
    name="Wind Turbines",
    type="ScatterPlotLayer",
    dataset_id=geospatial_dataset.id,
    deckgl_props={"radiusScale": 1000, "getFillColor": [0, 255, 0]}
)

wind_speed_layer = client.layers.create_layer(
    name="Wind Speed",
    type="wl:RasterLayer",
    weather_model_id="ECMWF_IFS",
    variable="WindSpeed",
    altitude=10,
    run_hour=12,
    run_day="2025-01-15"
)

# Combine both in a single map component
combined_map = client.components.create_map(
    name="Wind Farm with Weather",
    config={"latitude": 55.2, "longitude": 3.5, "zoom": 6},
    layer_ids=[wind_turbines_layer.id, wind_speed_layer.id]  # Both types in one array
)

Weather layer management

Creating weather layers

# Create a new weather layer
weather_layer = client.layers.create_layer(
    name="My Weather Layer",
    type="wl:RasterLayer",
    weather_model_id="ECMWF_IFS",
    variable="WindSpeed",
    altitude=10,
    run_hour=12,
    run_day="2025-01-15",
    deckgl_props={
        "opacity": 0.7
    }
)

Updating weather layers

# Update weather layer properties (all parameters required)
updated_layer = client.layers.update_layer(
    layer_id,
    name="Updated Weather Layer",
    type="wl:RasterLayer",  # Required
    weather_model_id="ECMWF_IFS",  # Required
    variable="WindSpeed",  # Required
    altitude=10,  # Required
    deckgl_props={
        "opacity": 0.8
    }
)

Retrieving weather layers

# Get all layers (both map and weather)
all_layers = client.layers.list_layers()

# Filter to get only weather layers
weather_layers = [layer for layer in all_layers if layer.type.startswith('wl:')]

# Get a specific layer
weather_layer = client.layers.get_layer(layer_id)

Deleting weather layers

# Delete a weather layer (use with caution!)
client.layers.delete_layer(layer_id)

Layer type reference

Weather Layer Types

TypeDescriptionRequired Fields
wl:RasterLayerRaster weather data visualizationweather_model_id, variable, altitude
wl:ParticleLayerParticle-based weather visualizationweather_model_id, variable, altitude
wl:IsolineLayerContour/isoline weather visualizationweather_model_id, variable, altitude

Model Selection Guide

For Global Applications

  • High Accuracy: ECMWF_IFS (gold standard)
  • AI-Powered: ECMWF_AIFS or Rebase_AI
  • Frequent Updates: NCEP_GFS
  • Historical Analysis: ERA5

For European Applications

  • High Resolution: DWD_ICON-EU or MeteoFrance_ARPEGE-EU
  • German Focus: DWD_ICON-D2
  • Frequent Updates: DWD_ICON-EU (every 3 hours)

For Nordic Applications

  • Ensemble: MetNo_MEPS
  • High Resolution: MetNo_HIRESMEPS (hourly updates)

For Energy Applications

  • Wind Energy: Focus on WindSpeed at 100m altitude
  • Solar Energy: Use SolarRadiation and CloudCover
  • Hydropower: Precipitation and Temperature
  • Grid Operations: Pressure and Temperature for load forecasting

Important Limitations

  • No description field: Weather layers only have a name, no description
  • No forecast hours: Time range is controlled by run_hour/run_day for forecast models
  • No date ranges for ERA5: Use frontend date range settings instead
  • Limited deckgl_props: Only basic DeckGL properties are supported
  • No layer controls: Advanced layer controls are not implemented
  • Model-specific requirements: Different models have different parameter requirements
  • Limited variables: Not all weather variables may be available in all models
  • No custom color schemes: Advanced color configurations are not supported

Best practices

Model selection

  • Use ECMWF IFS for high-accuracy forecasts
  • Use ERA5 for historical analysis
  • Use NCEP GFS for frequent updates
  • Consider model resolution for your area of interest

Performance optimization

  • Use appropriate layer types for your data
  • Limit the number of weather layers per map
  • Consider data update frequency
  • Cache weather data for frequently accessed areas

Data quality

  • Validate weather data against observations
  • Use multiple models for comparison
  • Monitor forecast accuracy over time
  • Implement proper error handling

Next steps

Now that you understand weather integration, explore advanced features: