Preprints
https://doi.org/10.5194/egusphere-2026-5599
https://doi.org/10.5194/egusphere-2026-5599
05 Oct 2026
 | 05 Oct 2026
Status: this preprint is open for discussion and under review for Geoscientific Model Development (GMD).

MOBIDICpy v1.0: Pythonizing a distributed hydrological model to facilitate its evolution and FAIRness

Matteo Masi and Fabio Castelli

Abstract. Hydrological modelling increasingly relies on new process representations, observational datasets, and calibration and uncertainty-analysis methods, creating a need for extensible modelling frameworks without sacrificing computational efficiency. This study presents MOBIDICpy, an open-source Python implementation of the distributed hydrological model MOBIDIC that preserves the original model formulation while improving extensibility, interoperability, reproducibility, and computational performance in accordance with FAIR (Findable, Accessible, Interoperable, Reusable) software principles.

Although compiled languages such as C and Fortran are generally considered the preferred choice for computationally demanding scientific applications, MOBIDICpy achieves high computational efficiency by accelerating its most intensive routines through just-in-time compilation, while leaving the model implementation entirely in Python. Its integration with the model-independent framework PEST++ enables calibration, uncertainty analysis, and data-assimilation workflows without requiring modifications to the core model code. Benchmark tests showed that the most computationally demanding module, i.e., the hillslope runoff accumulation algorithm, executes within 15 % of equivalent C and Julia implementations. A comparison with the mesoscale Hydrologic Model (mHM) over the 11,522 km2 Moselle catchment yielded Kling–Gupta efficiencies of 0.81–0.91 at five gauges over the validation period using only four calibrated global parameters, compared with 0.79–0.91 for mHM using forty parameters. Simulated monthly evapotranspiration agreed well with MODIS estimates, yielding mean Kling–Gupta efficiencies of 0.82 for MOBIDICpy forced by potential evapotranspiration, 0.77 for MOBIDICpy with internally computed evapotranspiration through the surface energy balance module, and 0.75 for mHM forced by potential evapotranspiration.

These results demonstrate that a FAIR-compliant Python implementation can achieve performance comparable to models implemented in lower-level languages, while providing a flexible and extensible platform for future research and development. Ongoing and prospective research includes the incorporation of snow processes, MODFLOW 6 coupling, integrated water-quality and transport-process modules, alternative channel-routing schemes, and advanced calibration and data-assimilation workflows for jointly constraining spatially distributed hydrological states and fluxes.

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.
Share
Matteo Masi and Fabio Castelli

Status: open (until 30 Nov 2026)

Comment types: AC – author | RC – referee | CC – community | EC – editor | CEC – chief editor | : Report abuse
Matteo Masi and Fabio Castelli

Model code and software

MOBIDICpy code repository - Github Matteo Masi and Fabio Castelli https://github.com/mobidichydro/mobidicpy

MOBIDICpy code archive - Zenodo archive Matteo Masi and Fabio Castelli https://doi.org/10.5281/zenodo.19597504

Matteo Masi and Fabio Castelli
Metrics will be available soon.
Latest update: 05 Oct 2026
Download
Short summary
Numerical models are essential for understanding and predicting water resources, but many become difficult to update as new data and methods emerge. We rebuilt an established hydrological model in the Python programming language to make it easier to extend and maintain. Tested on a large European river basin, it reproduced river flow and evaporation as accurately as a leading reference model while maintaining high computational efficiency and facilitating future developments.
Share