Skip to contents

wasserportal 0.5.0 2026-05-07

  • Modernize GitHub Actions workflows: use r-lib/actions/setup-r-dependencies@v2 and r-lib/actions/check-r-package@v2 on ubuntu-latest instead of the deprecated v2/ubuntu-20.04/r-hub/sysreqs toolchain
  • Bump JavaScript actions to Node-24-compatible versions (actions/checkout@v5, actions/upload-artifact@v5) and set FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true so transitive r-lib/actions/*@v2 steps opt into Node 24 as well, ahead of the June 2nd 2026 deprecation of Node 20 on GitHub Actions runners
  • Add Claude Code review workflows (claude.yaml, claude-code-review.yaml)
  • get_wasserportal_master_data(): match the new HTML5 markup of the master-data table (<caption>Pegel Berlin</caption> instead of the legacy summary="Pegel Berlin" attribute)
  • Decode wasserportal pages explicitly as windows-1252. The pages declare UTF-8 in <meta charset> but the server actually emits Latin-1 bytes (e.g. 0xE4 for ä); trusting the meta declaration left those bytes mis-marked as UTF-8 and broke subst_special_chars()’s ä→ae / ü→ue substitutions on Windows R
  • Bypass rvest::html_table() and xml2::xml_text(trim = TRUE) in get_wasserportal_master_data() and get_wasserportal_stations_table(): both delegate to a sub("^[[:space:] ]+", ...) pass that fails on Windows R when the cell text contains umlauts. Tables are now extracted directly via xml2 and trimmed with a locale-safe gsub(..., useBytes = TRUE) helper (trim_bytes())
  • Make get_stations() and get_wasserportal_masters_data() resilient when parallel workers cannot fetch a station overview: load the wasserportal namespace into the cluster and drop try-error results before data.table::rbindlist() / dplyr::left_join()
  • Make live-HTTP tests skip gracefully when wasserportal.berlin.de is unreachable from the test host (CRAN, sandboxed CI)
  • Update get_wasserportal_masters_data() test expectations to include the new Anmerkung column that wasserportal added to surface-water master data

wasserportal 0.4.0 2024-04-05

  • New feature: add support for downloading all available surface water quality data for one or multiple monitoring stations. For details see get_surfacewater_qualities()
  • Bugfix for groundwater level and quality due to new Wasserportal API
  • Add project AD4GD as funder

wasserportal 0.3.0 2023-02-19

  • Fix errors in GitHub actions: use actions from branches v2, v3, not from master
  • Fix errors in tutorial.Rmd
  • Fix errors in documentation
  • Do not run examples that use parallel processing
  • get_stations(): add argument n_cores
  • get_wasserportal_stations_table(): Use new (three letter) variable codes
  • read_wasserportal_raw(): adapt request to new API version, add argument api_version
  • read_wasserportal_raw_gw(): adapt request to new API version
  • Clean code, mainly to reduce duplicated duplication and to improve readability
    • check for more errors
    • use “safe” element selection
    • use more helper functions
    • use helper functions in vignettes
    • improve names

wasserportal 0.2.0 2022-09-08

wasserportal 0.1.1 2022-06-09

wasserportal 0.1.0 2022-06-01

R package for scraping groundwater data (groundwater level and quality) from Wasserportal Berlin. Please note that the support for scraping surface water monitoring stations is currently very limited!

Functions:

  • get_stations(): returns metadata for all available monitoring stations
  • get_wasserportal_masters_data(): get master data for selected station_ids
  • read_wasserportal_raw_gw(): enables the download of groundwater data. Checkout the Tutorial article how to use it for downloading one or multiple stations at once.
  • read_wasserportal(): works for surface water monitoring stations, but is outdated, as it is based on an outdated static file with station/variable names (i.e. only for 11 instead of 82 stations currently provided!) instead of relying on new metadata provided online. This will be fixed within the next release. For progress on this issue checkout #21

Workflows:

  • Tutorial article how to download groundwater level and quality data

  • Further Usage by combining previously scraped (see tutorial above) data and performing some analysis:

    • Groundwater, e.g. creating a map with GW level trends

    • Two workflows (REACH UBA, Norman List) created within the project PROMISCES for assessing prevalence and the spatial distribution of persistent, mobile and toxic (PMT) substances in the Berlin groundwater, based on different PMT lists, i.e. REACH UBA or Norman List.

wasserportal 0.0.0.9000