diff --git a/.zenodo.json b/.zenodo.json
index cd307a7..d39c12a 100644
--- a/.zenodo.json
+++ b/.zenodo.json
@@ -1,6 +1,6 @@
{
"title": "kwb.raindrop: R Package for Optimisation Simulations for Rainwater Management",
- "description": "
R interface and control unit for the RAINDROP hydrodynamic planning tool: long-term simulation of blue-green infrastructure (swale-trench elements) driven by real climate series, plus two cost optimisers that find the cost-minimal design per allowed overflow frequency — a deterministic bisection-based coordinate descent whose search order is derived from the construction cost rates, and an assumption-free simultaneous search (penalised Nelder-Mead, differential evolution and Halton sampling) as cross-check.
The proprietary calculation engine ("Regenwasserbewirtschaftung", © Tandler.com GmbH) is not part of this archive; it is downloaded on demand from the companion repository kwb.raindrop.binaries.
",
+ "description": "R interface and control unit for the RainDrop hydrodynamic planning tool: long-term simulation of blue-green infrastructure (swale-trench elements) driven by real climate series, plus two cost optimisers that find the cost-minimal design per allowed overflow frequency — a deterministic bisection-based coordinate descent whose search order is derived from the construction cost rates, and an assumption-free simultaneous search (penalised Nelder-Mead, differential evolution and Halton sampling) as cross-check.
The proprietary calculation engine ("Regenwasserbewirtschaftung", © Tandler.com GmbH) is not part of this archive; it is downloaded on demand from the companion repository kwb.raindrop.binaries.
",
"upload_type": "software",
"access_right": "open",
"license": "MIT",
@@ -27,5 +27,5 @@
"scheme": "url"
}
],
- "notes": "Developed within the project RAINDROP (Rainwater Drainage Optimization, GZ C300428), funded by the Austrian Federal Ministry of Agriculture, Forestry, Regions and Water Management."
+ "notes": "Developed within the project RainDrop (Rainwater Drainage Optimization, GZ C300428), funded by the Austrian Federal Ministry of Agriculture, Forestry, Regions and Water Management."
}
diff --git a/CITATION.cff b/CITATION.cff
index f906950..cbaac7c 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -4,6 +4,11 @@ type: software
title: "kwb.raindrop: R Package for Optimisation Simulations for Rainwater Management"
version: 0.1.0
date-released: "2026-08-07"
+# Concept DOI: always resolves to the newest release. Do not replace it with a
+# version DOI - Zenodo mints those only after a release has been archived, so
+# the DOI of the release being tagged cannot be known when this file is
+# written. Version DOIs are listed on the Zenodo record this one resolves to.
+doi: "10.5281/zenodo.21839222"
license: MIT
repository-code: "https://github.com/KWB-R/kwb.raindrop"
url: "https://kwb-r.github.io/kwb.raindrop"
@@ -21,7 +26,7 @@ keywords:
- infiltration swale
- R package
abstract: >-
- R interface and control unit for the RAINDROP hydrodynamic planning
+ R interface and control unit for the RainDrop hydrodynamic planning
tool: long-term simulation of blue-green infrastructure (swale-trench
elements) driven by real climate series, plus two cost optimisers
that find the cost-minimal design per allowed overflow frequency - a
@@ -32,6 +37,6 @@ abstract: >-
proprietary calculation engine ("Regenwasserbewirtschaftung",
(c) Tandler.com GmbH) is not part of this package; it is downloaded
on demand from the companion repository kwb.raindrop.binaries.
- Developed within the project RAINDROP (Rainwater Drainage
+ Developed within the project RainDrop (Rainwater Drainage
Optimization, GZ C300428), funded by the Austrian Federal Ministry
of Agriculture, Forestry, Regions and Water Management.
diff --git a/DESCRIPTION b/DESCRIPTION
index e3ce958..ee76d1f 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -5,7 +5,7 @@ Version: 0.1.0
Authors@R: c(
person("Michael", "Rustler", , "michael.rustler@kompetenz-wasser.de", role = c("aut", "cre"),
comment = c(ORCID = "0000-0003-0647-7726")),
- person("RAINDROP", role = "fnd"),
+ person("RainDrop", role = "fnd"),
person("Kompetenzzentrum Wasser Berlin gGmbH (KWB)", role = "cph")
)
Description: R Package for Optimisation Simulations for Rainwater
diff --git a/R/compute_costs.R b/R/compute_costs.R
index 6651673..cfe1015 100644
--- a/R/compute_costs.R
+++ b/R/compute_costs.R
@@ -2,7 +2,7 @@
#'
#' Returns the default Austrian unit-cost rates used by [`compute_costs()`].
#' Rates were provided by Johannes Leimgruber (OeStaP) on 2026-03-27 for the
-#' RAINDROP cost-optimisation work.
+#' RainDrop cost-optimisation work.
#'
#' @return A named `list` of rates in EUR per m² or m³:
#' `excavation_eur_per_m3`, `profiling_eur_per_m2`,
diff --git a/R/find_min_feasible.R b/R/find_min_feasible.R
index 0347431..a7e2671 100644
--- a/R/find_min_feasible.R
+++ b/R/find_min_feasible.R
@@ -3,7 +3,7 @@
#' Core building block of the swale-design optimiser: finds the smallest
#' value of one design parameter for which the overflow target is met
#' (`n_overflows <= x_max`), assuming quasi-monotone feasibility (larger
-#' value = never more overflows; verified for the RAINDROP model in the
+#' value = never more overflows; verified for the RainDrop model in the
#' monotonicity analysis,
#' ).
#' Each evaluation halves the search interval, so
diff --git a/R/get_simulation_results_all.R b/R/get_simulation_results_all.R
index 1087b0a..75ecaa8 100644
--- a/R/get_simulation_results_all.R
+++ b/R/get_simulation_results_all.R
@@ -1,4 +1,4 @@
-#' Read Raindrop optimisation simulation results (all) from HDF5
+#' Read RainDrop optimisation simulation results (all) from HDF5
#'
#' Reads per-run result files (HDF5) for both the *measure element* and the
#' *connected area* results and returns a named list (one entry per simulation).
diff --git a/R/get_simulation_results_optim.R b/R/get_simulation_results_optim.R
index 311315e..8d2d6f4 100644
--- a/R/get_simulation_results_optim.R
+++ b/R/get_simulation_results_optim.R
@@ -1,4 +1,4 @@
-#' Read Raindrop optimisation simulation results from HDF5
+#' Read RainDrop optimisation simulation results from HDF5
#'
#' Reads per-run result files (HDF5) for both the *measure element* and the
#' *connected area* results and returns a named list (one entry per simulation).
diff --git a/R/get_simulation_results_optim_parallel.R b/R/get_simulation_results_optim_parallel.R
index bec32c4..50ef5a6 100644
--- a/R/get_simulation_results_optim_parallel.R
+++ b/R/get_simulation_results_optim_parallel.R
@@ -1,4 +1,4 @@
-#' Read Raindrop optimisation simulation results from HDF5
+#' Read RainDrop optimisation simulation results from HDF5
#' (parallel via future.apply + progress)
#'
#' Parallel variant of \code{get_simulation_results_optim()} using
diff --git a/R/h5_ensure_dataset.R b/R/h5_ensure_dataset.R
index 9623a20..fcd1eeb 100644
--- a/R/h5_ensure_dataset.R
+++ b/R/h5_ensure_dataset.R
@@ -1,7 +1,7 @@
#' Ensure that an HDF5 dataset exists (create if missing)
#'
#' Creates missing groups along the path and then creates the dataset.
-#' Designed for RAINDROP input files where missing scalar parameters can
+#' Designed for RainDrop input files where missing scalar parameters can
#' crash the model definition reader.
#'
#' @param h5 Open \code{hdf5r::H5File} (mode "a" or "r+").
@@ -38,7 +38,7 @@ h5_ensure_dataset <- function(h5, path, value, dtype = NULL, dims = NULL) {
infer_dims <- function(v) {
if (is.data.frame(v) && ncol(v) == 2L) {
- # R Nx2 -> HDF5 2xN (RAINDROP style)
+ # R Nx2 -> HDF5 2xN (RainDrop style)
n <- nrow(v)
return(c(2L, as.integer(n)))
}
diff --git a/R/h5_ensure_datasets_from_values.R b/R/h5_ensure_datasets_from_values.R
index 4599358..64554ec 100644
--- a/R/h5_ensure_datasets_from_values.R
+++ b/R/h5_ensure_datasets_from_values.R
@@ -6,7 +6,7 @@
#' @param h5 Open hdf5r::H5File (mode "a" or "r+").
#' @param values Named list; names are dataset paths (leading // allowed).
#' @param ts_cols Character(2). Column names for TS (default time/value).
-#' @param ts_layout One of "2xN" or "Nx2". For RAINDROP typically "2xN" in HDF5.
+#' @param ts_layout One of "2xN" or "Nx2". For RainDrop typically "2xN" in HDF5.
#' @param ts_dtype Either an H5T object or a string ("double","integer","logical","float").
#' @param strict Stop if creation fails.
#' @return Invisibly, the character vector of created dataset paths.
@@ -50,7 +50,7 @@ h5_ensure_datasets_from_values <- function(h5, values,
}
.infer_dims <- function(v) {
- # TS: 2-col df/tibble -> create as 2xN (RAINDROP) or Nx2
+ # TS: 2-col df/tibble -> create as 2xN (RainDrop) or Nx2
if (is.data.frame(v) && ncol(v) == 2L) {
n <- nrow(v)
if (ts_layout == "2xN") return(c(2L, as.integer(n)))
diff --git a/R/hdf5_read-write.R b/R/hdf5_read-write.R
index 2f5c140..26cb8ad 100644
--- a/R/hdf5_read-write.R
+++ b/R/hdf5_read-write.R
@@ -237,7 +237,7 @@ h5_read_values <- function(h5,
#' Write (updated) values back into existing HDF5 datasets (robust for your hdf5r build)
#'
#' - Scalars: write with required `args` (args=list() or args=1L fallback).
-#' - 2-col TS (data.frame/tibble): expects Nx2 in R; writes as 2xN in HDF5 (RAINDROP style),
+#' - 2-col TS (data.frame/tibble): expects Nx2 in R; writes as 2xN in HDF5 (RainDrop style),
#' using explicit hyperslab args=list(1:2, 1:N) to avoid empty selections.
#' - If TS length changes and dataset maxdims blocks resize, the dataset is deleted via
#' parent$link_delete(name) and recreated with dims=2xN (fixed), then written.
@@ -518,7 +518,7 @@ h5_write_values <- function(h5, values,
#'
#' Notes:
#' - 2-column data.frames/tibbles are treated as Nx2 in R and mapped to 2xN in HDF5.
-#' - Many RAINDROP files store time series as HDF5 dims 2xN (appearing as Nx2 in R).
+#' - Many RainDrop files store time series as HDF5 dims 2xN (appearing as Nx2 in R).
#'
#' @param h5 An open \code{hdf5r::H5File}.
#' @param values Named list of values to write (names are HDF5 paths).
diff --git a/R/make_swale_runner.R b/R/make_swale_runner.R
index abe4e6a..056f84d 100644
--- a/R/make_swale_runner.R
+++ b/R/make_swale_runner.R
@@ -15,7 +15,7 @@ psi_s_mm <- function(kf_mmh) {
#'
#' Factors the `run_one()` function that was duplicated across the three
#' workflow vignettes (Eisenstadt 2005, Wien, Bad Aussee) into one
-#' package-level closure factory. The returned function runs the RAINDROP
+#' package-level closure factory. The returned function runs the RainDrop
#' engine for one parameter set and returns the thinned one-row
#' optimisation result (overflow events + water balance), augmented with
#' the input parameters and the overflow volume in m3.
diff --git a/R/read_raindrop_errors.R b/R/read_raindrop_errors.R
index 2388660..0ab3da9 100644
--- a/R/read_raindrop_errors.R
+++ b/R/read_raindrop_errors.R
@@ -1,6 +1,6 @@
-#' Read RAINDROP error logs into a nested tibble
+#' Read RainDrop error logs into a nested tibble
#'
-#' Reads the RAINDROP error protocol HDF5 (typically \code{Fehlerprotokoll.h5})
+#' Reads the RainDrop error protocol HDF5 (typically \code{Fehlerprotokoll.h5})
#' for a set of simulation runs and returns a tibble with one row per run and a
#' nested tibble column containing all errors found in the file.
#'
diff --git a/_pkgdown.yml b/_pkgdown.yml
index 016636d..9da8964 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -2,10 +2,10 @@ url: https://kwb-r.github.io/kwb.raindrop
authors:
Michael Rustler:
href: https://www.kompetenz-wasser.de/en/ueber-uns/team/michael-rustler
- RAINDROP:
+ RainDrop:
href: https://www.kompetenz-wasser.de/en/forschung/projekte/raindrop
html:
+ alt='Project RainDrop' width='72' />
Kompetenzzentrum Wasser Berlin gGmbH (KWB):
href: http://www.kompetenz-wasser.de
html: 