Skip to content

v0.127.0

Choose a tag to compare

@gutzbenj gutzbenj released this 07 Jul 21:22
· 96 commits to main since this release

Added

  • [REST API] The /api/coverage endpoint now reports a date_required flag per
    provider/network, true if any of its resolutions require a date range for value
    queries (e.g. MET Norway Frost). Lets frontends surface this before submitting a
    query rather than after the query fails.

Changed

  • [MET Norway Frost] Value requests now fetch all parameters of a dataset/resolution in
    a single batched request (comma-separated elements=) instead of one request per
    parameter, cutting the number of HTTP requests by up to 11x for multi-parameter queries.
    Falls back to the previous per-parameter behavior (including historical time-series
    discovery) if the batched request itself returns a 404.
  • [IMGW] File listing now prunes IMGW's per-period subfolders (named YYYY or
    YYYY_YYYY, encoding the exact date range they cover) to only those overlapping the
    requested date range, instead of recursively listing the entire directory tree on every
    request. Cuts the number of HTTP requests from ~33 (meteorology) / ~74 (hydrology) down
    to the 1-2 folders that actually matter for a given query.

Removed

  • [IMGW] Removed the hardcoded lat/lon override for hydrology station 150190410,
    a workaround for a corrupted upstream CSV line from ~2024-02. The station's data has
    been clean upstream for a while, so the override had become a no-op; keeping it around
    risked silently clobbering a legitimate future coordinate change for that station.

Fixed

  • [IMGW] Station listing for both meteorology and hydrology no longer fails: the
    upstream station CSVs gained an extra "founding year" column and switched from a
    Windows codepage to UTF-8, which broke column parsing and produced mojibake names.
    Also fixed a station-list column-index bug (hydrology latitude/longitude were reading
    the wrong columns), a missing return_dtype on the lat/lon DMS-to-decimal conversion,
    and station rows no longer carrying a resolution/dataset tag, which made
    .values.all() fail outright.
  • [IMGW] Hydrology value downloads now honor WD_USE_CERTIFI/use_certifi, matching
    the station list fetch and the meteorology provider. Previously it was silently ignored
    for the actual data downloads.
  • [IMGW] Hydrology daily requests touching 2023 or later no longer crash with
    ValueError: month must be in 1..12. IMGW switched from twelve monthly zips per year
    to one consolidated yearly zip starting 2023, which broke the date-range parsing that
    assumed a codz_YYYY_MM.zip filename. Also handles the two different (and, for 2024,
    outright malformed) CSV export quirks IMGW has used for these consolidated files since,
    for both daily and monthly hydrology data: semicolon-separated unquoted rows in 2023,
    and in 2024 every row wrapped in a broken extra pair of quotes with doubled inner quotes.
  • [IMGW] Meteorology synop daily requests no longer crash with
    TypeError: '<' not supported between instances of 'NoneType' and 'NoneType'. Unlike
    every other IMGW meteorology dataset, synop daily has always been archived one file
    per station per period (e.g. 2024_100_s.zip for the station whose id ends in 100)
    rather than one file per month across all stations, going back to at least the 1966-1970
    archive — the URL selection logic never accounted for this, so synop daily was
    non-functional for any date range.

Full changelog: v0.126.0...v0.127.0