Changelog
Source:NEWS.md
wasserportal 0.5.0 2026-05-07
- Modernize GitHub Actions workflows: use
r-lib/actions/setup-r-dependencies@v2andr-lib/actions/check-r-package@v2onubuntu-latestinstead of the deprecated v2/ubuntu-20.04/r-hub/sysreqstoolchain - Bump JavaScript actions to Node-24-compatible versions (
actions/checkout@v5,actions/upload-artifact@v5) and setFORCE_JAVASCRIPT_ACTIONS_TO_NODE24=trueso transitiver-lib/actions/*@v2steps 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 legacysummary="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.0xE4forä); trusting the meta declaration left those bytes mis-marked as UTF-8 and brokesubst_special_chars()’sä→ae/ü→uesubstitutions on Windows R - Bypass
rvest::html_table()andxml2::xml_text(trim = TRUE)inget_wasserportal_master_data()andget_wasserportal_stations_table(): both delegate to asub("^[[:space:] ]+", ...)pass that fails on Windows R when the cell text contains umlauts. Tables are now extracted directly viaxml2and trimmed with a locale-safegsub(..., useBytes = TRUE)helper (trim_bytes()) - Make
get_stations()andget_wasserportal_masters_data()resilient when parallel workers cannot fetch a station overview: load thewasserportalnamespace into the cluster and droptry-errorresults beforedata.table::rbindlist()/dplyr::left_join() - Make live-HTTP tests skip gracefully when
wasserportal.berlin.deis unreachable from the test host (CRAN, sandboxed CI) - Update
get_wasserportal_masters_data()test expectations to include the newAnmerkungcolumn 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 frommaster - Fix errors in tutorial.Rmd
- Fix errors in documentation
- Do not run examples that use parallel processing
-
get_stations(): add argumentn_cores -
get_wasserportal_stations_table(): Use new (three letter) variable codes -
read_wasserportal_raw(): adapt request to new API version, add argumentapi_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
Add functions for exporting time series data to
zipfiles (wp_masters_data_to_list()) and master data tocsvfiles (wp_timeseries_data_to_list()), which will be uploaded to https://kwb-r.github.io/wasserportal/<filename>In addition
importfunctions for downloading and importing the datasets above into R as lists were added (list_timeseries_data_to_zip(),list_masters_data_to_csv())Code cleaning by
@hsonnestartedFix
master datarequests by using themaster_urlinstead ofstation_id, as the latter was not unique. Now functionsget_wasserportal_master_data()and it wrapper functionget_wasserportal_masters_data()require themaster_urlinstead ofstation_idas input parameter. The functionget_stationsnow adds the columnstammdaten_linkas additional column for each sublist element of the sublistoverview_list.Fix to scrape
groundwater leveldata from all available monitoring stations (instead of only 5!) and export to.csvfile. In addition switch also to.csvexport forgroundwater qualityinstead of.jsondue to reduced storage space (stations_gwq_data.json file is already 98.4 MB large.Add functions (
get_daily_surfacewater_data()) and adapt article Surface Water for scraping all available daily surface water data and exporting to one.csvfile for each parameter (containing all monitoring stations)Deactivate PROMISCES workflows (see wasserportal v0.1.0), due to failing Zenodo download. Will be moved into own R package, most properly kwb.promisces.
wasserportal 0.1.1 2022-06-09
- Fix bug in
get_wasserportal_stations_table()now correctly naming parametertemperature(formerly incorrectlylevel) - Fix Surface Water article
- Adapt Zenodo DOI badge to cite always latest release
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 selectedstation_ids -
read_wasserportal_raw_gw(): enables the download ofgroundwater data. Checkout the Tutorial article how to use it for downloading one or multiple stations at once. -
read_wasserportal(): works forsurface watermonitoring stations, but is outdated, as it is based on an outdated static file with station/variable names (i.e. only for11instead of82stations 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
Added a
NEWS.mdfile to track changes to the package.see https://style.tidyverse.org/news.html for writing a good
NEWS.md