Files
cariflex/tools/flexmeasures-weather/flexmeasures_weather/sensor_specs.py
Eric F d4974e3241 Add FlexMeasures plugins, USEF protocol, and Cariflex simulator
- flexmeasures-entsoe: ENTSO-E data plugin
- flexmeasures-weather: Weather data plugin
- USEF Flex Trading Protocol PDF (2.4MB)
- Cariflex simulator (publishes to Redis)
- Dashboard Grafana updated with correct InfluxDB queries
- All tools extracted in /tools/
2026-06-08 07:38:57 -04:00

52 lines
1.4 KiB
Python

from datetime import timedelta
"""
This maps sensor specs which we can use in FlexMeasures to Weather labels.
Note: Sensor names we use in FM need to be unique per weather station.
At the moment, we only extract from Weather hourly data.
"""
weather_attributes = {
"daily_seasonality": True,
"weekly_seasonality": False,
"yearly_seasonality": True,
}
mapping = [
dict(
fm_sensor_name="temperature",
OWM_sensor_name="temp",
WAPI_sensor_name="temp_c",
unit="°C",
event_resolution=timedelta(minutes=60),
attributes=weather_attributes,
),
dict(
fm_sensor_name="wind speed",
OWM_sensor_name="wind_speed",
WAPI_sensor_name="wind_kph",
unit="m/s",
event_resolution=timedelta(minutes=60),
attributes=weather_attributes,
),
dict(
fm_sensor_name="cloud cover",
OWM_sensor_name="clouds",
WAPI_sensor_name="cloud",
unit="%",
event_resolution=timedelta(minutes=60),
attributes=weather_attributes,
),
dict(
fm_sensor_name="irradiance", # in save_forecasts_to_db, we catch this name and do the actual computation to get to the irradiance
OWM_sensor_name="clouds",
WAPI_sensor_name="cloud",
unit="W/m²",
event_resolution=timedelta(minutes=60),
attributes=weather_attributes,
),
]