Modular Assessment of Rainfall–Runoff Models Toolbox (MARRMoT) v2.1: better, faster and more accessible hydrological modelling through object-oriented programming.
Bibliographic record
Abstract
The Modular Assessment of Rainfall–Runoff Models Toolbox (MARRMoT) is a flexible framework for hydrological modelling designed for model intercomparison studies and hypothesis testing. It reproduces 47 established conceptual hydrologic models of varying complexity including Sacramento, HBV, GR4J, VIC and TOPMODEL, amongst others. The package also allows to modify them or create new ones by mixing-and-matching components and modules from different models. We radically restructured MARRMoT compared to versions v1.x using an object-oriented programming approach to enhance code clarity and computational efficiency. MARRMoT v2.1 is structured around two hierarchical classes, where a high-level superclass provides the template of all common model operations, while model-specific code is defined into individual subclasses derived from the single superclass. This reduces the verbosity and repetitiveness of the code, improving readability and facilitating debugging. Additionally, it simplifies the procedure to modify model structures or create new ones, also ensuring that best practices for solving model equations are followed as these are contained in the definition of the superclass and deployed automatically across all models. We also updated MARRMoT’s numerical solving routine by including a Newton-Raphson solver. This lets us obtain satisfying solutions to the implicit Euler approximations of the models’ differential equations in a number of cases where the previous solving routine had failed, while also obtaining a 2.6-fold runtime improvement on average. We tested these changes by comparing outputs of 36 of the models in the framework between this object-oriented version and the previous version (v1.4) using calibrated parameters and climate inputs from the CAMELS US dataset. The new version of the toolbox (v2.1) and user manual, including several workflow examples for common application, is available from GitHub (https://github.com/wknoben/MARRMoT).
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.003 | 0.008 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.002 | 0.002 |
| Open science | 0.002 | 0.002 |
| Research integrity | 0.001 | 0.002 |
| Insufficient payload (model declined to judge) | 0.035 | 0.017 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".