You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
What's changed in 0.131.0
Added
Add a DWD SWSMOS network (dwd/swsmos) exposing the road weather forecast (Straßenwetter-MOS)
for DWD's ~1800 road weather stations. Each model run provides an hourly forecast out to +167 hours
(selectable via issue, default: the latest run): air, dew-point and road surface temperature,
liquid precipitation, precipitation probabilities and the road surface condition. This is the
forecast counterpart to the DWD road observation network
Add the DWD 10_minutes urban climate (Stadtklima) datasets to the dwd/observation network,
served from DWD's climate_urban/ path (recent period only): urban_precipitation, urban_pressure, urban_solar, urban_temperature_air (incl. the new temperature_radiant_mean_2m parameter), urban_temperature_extreme, urban_temperature_soil, urban_wind and urban_wind_extreme. These complement the existing hourly urban datasets. The
urban station-description lists are parsed by content because they frequently leave the optional
date and Bundesland fields blank
Add an IPMA (Portugal) observation provider (ipma/observation) backed by the key-less api.ipma.pt open-data JSON feeds. Provides near-real-time hourly observations (temperature,
humidity, sea-level pressure, wind speed/direction, precipitation, global radiation) from ~222
stations. Recent-only (a rolling ~1-day window), so a date range within the last day is required.
The -99.0 missing sentinel becomes null and the 8-point wind-direction code is converted to
degrees
Add an LHMT (Lithuania) observation provider (lhmt/observation) backed by the key-less api.meteo.lt JSON REST API. Provides hourly observations (temperature, humidity, wind
speed/gust/direction, cloud cover, sea-level pressure, precipitation, snow depth) from ~52
stations, with historical data back to roughly 2016 fetched per station and day. Settled past days
are cached indefinitely while the current day uses a short cache
Add a Met Office (UK) observation provider (metoffice/observation) backed by the MIDAS Open
archive on CEDA (UK Open Government Licence). Covers eight datasets across daily and hourly
resolution (rain, temperature, weather, wind, radiation, soil temperature). Requires a free CEDA
account (WD_AUTH__CEDA=<username>:<password>); the bearer token is minted from those credentials
and cached in-process until shortly before it expires. Multiple report types per day are collapsed
to one value per calendar day, multi-day rain accumulations are dropped, and native units are
normalised (e.g. visibility from decametres to metres)
Changed
Sharpen the interpolate/summarize endpoint descriptions (which become the MCP tool
descriptions) and the MCP instructions so agents stop routing plain weather questions to them. stations -> values is now stated as the default for weather at a named place even when a
specific past date is given, and interpolate/summarize are called out as opt-in estimates -- used
only on explicit request or when no station with data is near the point -- because they add
inaccuracy
Fixed
Type the interpolate/summarize response-model items to match what the endpoints serialise, so
their MCP output schemas stop rejecting valid results. _InterpolatedValuesItemDict and _SummarizedValuesItemDict now include the resolution/dataset keys (always present in the
rows) and type value/distance_mean/distance/taken_station_id as nullable: interpolating or
summarizing a point with no station in reach serialises null for those fields, which the previous
non-null schema rejected (the same schema drift fixed for values in 0.130.0)