Raw schema
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in decimal degrees. Use openmeteo_search_locations to resolve a place name to coordinates."
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in decimal degrees."
},
"hourly_variables": {
"description": "Hourly variables to fetch across all ensemble members (e.g., [\"temperature_2m\", \"precipitation\", \"wind_speed_10m\"]). Each variable appears as temperature_2m_member01, temperature_2m_member02, β¦ in the output. Hourly names only β a daily-only aggregate such as precipitation_sum or wind_speed_10m_max belongs in daily_variables and is rejected here; temperature_2m_max and temperature_2m_min are an exception, published here as 3-hourly aggregations as well as daily. At least one of hourly_variables or daily_variables required.",
"maxItems": 50,
"type": "array",
"items": {
"type": "string"
}
},
"daily_variables": {
"description": "Daily variables to fetch across all ensemble members (e.g., [\"temperature_2m_max\", \"temperature_2m_min\", \"precipitation_sum\"]). Each variable appears as temperature_2m_max_member01, β¦ Daily names only β an hourly name such as precipitation or temperature_2m belongs in hourly_variables and is rejected here; for a daily summary use its published aggregate (precipitation_sum, temperature_2m_max). At least one of hourly_variables or daily_variables required.",
"maxItems": 50,
"type": "array",
"items": {
"type": "string"
}
},
"models": {
"description": "Ensemble model to use, one name: ecmwf_ifs025_ensemble (51 members, global 0.25Β°), ecmwf_aifs025_ensemble (51, global 0.25Β°), ecmwf_ifs_europe_ensemble (51, Europe 9 km), ecmwf_aifs_europe_ensemble (51, Europe 31 km), google_weathernext2_ensemble (64, global 0.25Β°), ncep_gefs_seamless (31, global blend), ncep_gefs025 (31, global 0.25Β°), ncep_gefs05 (31, global 50 km, 35 days), ncep_aigefs025 (31, global 0.25Β°), icon_seamless_eps (20β40, global/Europe blend), icon_global_eps (40, global 26 km), icon_eu_eps (40, Europe 13 km), icon_d2_eps (20, Central Europe 2 km), gem_global_ensemble (21, global 0.25Β°), bom_access_global_ensemble (18, global 40 km), ukmo_global_ensemble_20km (18, global 20 km), ukmo_uk_ensemble_2km (3, UK 2 km), meteoswiss_icon_ch1_ensemble (11, Central Europe 1 km), meteoswiss_icon_ch2_ensemble (21, Central Europe 2 km). Member counts include the control run. Omit to use the API default blend. A name outside this list is sent upstream rather than rejected here, so a model Open-Meteo adds later still works.",
"type": "string"
},
"forecast_days": {
"default": 7,
"description": "Forecast horizon in days (1β16). Default 7.",
"type": "integer",
"minimum": 1,
"maximum": 16
},
"past_days": {
"default": 0,
"description": "Include this many days of past ensemble data before today (0β92). Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 92
},
"temperature_unit": {
"default": "celsius",
"description": "Temperature unit. Default \"celsius\".",
"type": "string",
"enum": [
"celsius",
"fahrenheit"
]
},
"wind_speed_unit": {
"default": "kmh",
"description": "Wind speed unit. Default \"kmh\".",
"type": "string",
"enum": [
"kmh",
"mph",
"ms",
"kn"
]
},
"precipitation_unit": {
"default": "mm",
"description": "Precipitation unit. Default \"mm\".",
"type": "string",
"enum": [
"mm",
"inch"
]
},
"timezone": {
"default": "auto",
"description": "IANA timezone (e.g., \"America/Los_Angeles\") or \"auto\" to use the location's local timezone. Default \"auto\".",
"type": "string"
},
"canvas_id": {
"description": "DataCanvas token for large multi-member queries. When a result is too large to return inline β driven by total payload size, so a wide member fan-out can spill at any row count β it spills to this canvas: pass the returned token to openmeteo_dataframe_describe to list the staged table and its per-member columns, then to openmeteo_dataframe_query to run SQL against it. Omit to create a fresh canvas.",
"type": "string"
}
},
"required": [
"latitude",
"longitude"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}