the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
Technical note: HydroModPy – a Python toolbox for deploying catchment-scale shallow groundwater models
Abstract. Despite the widespread use of physically based groundwater models, their deployment at the catchment scale remains challenging and time-consuming. HydroModPy was developed to address this gap by enabling automated and streamlined multi-site developement of hydrogeological models at the catchment scale. This open-source Python toolbox facilitates the construction, execution, calibration, and analysis of unconfined shallow groundwater models. The current version integrates established geospatial such as WhiteboxTools and hydrogeological libraries with FloPy-driven MODFLOW-NWT simulations, along with optional particle-tracking and solute transport modules (MODPATH and MT3DMS), to provide a fully scriptable, end-to-end workflow. Automation is achieved through dedicated functions and classes capable of performing watershed delineation from digital elevation models, preparing spatial and temporal recharge forcings, generating computational meshes and vertical discretization schemes, assigning model parameters, and running simulations in steady or transient state. The overall framework supports systematic and reproducible calibration routines that leverage subsurface data such as groundwater head measurements, as well as surface observations — including stream network maps and stream intermittency patterns — to constrain model estimates of aquifer hydraulic properties. Model outputs and provenance metadata are exported in standard geospatial formats to ensure interoperability and alignment with FAIR data principles. Built-in visualization tools and integration with Jupyter Notebooks support interactive exploration, teaching applications, and fully reproducible analyses. In this technical note, we present the HydroModPy architecture and its core functionalities, demonstrate model deployment across various hydrogeological contexts, and discuss ongoing and planned developments for future versions of this collaborative tool. The code is modular and extensible, making it suitable for adoption by a broad user community. Planned enhancements include tighter coupling with land-surface or ecohydrological models adding new numerical solvers, the integration of advanced calibration and uncertainty quantification algorithms, and improved user interfaces to facilitate application in various environmental settings. HydroModPy contributes to improving the understanding of hydrogeological processes that are often poorly characterized or inadequately represented. It also provides valuable support for multidisciplinary education, particularly for those studying groundwater systems and their interactions with the surface in headwater catchments. Furthermore, this numerical framework can serve as a practical decision-support tool for public policy and water resource management, helping stakeholders address current and future groundwater-related challenges.
- Preprint
(4890 KB) - Metadata XML
- BibTeX
- EndNote
Status: open (until 27 May 2026)
- RC1: 'Comment on egusphere-2026-868', Anonymous Referee #1, 18 Apr 2026 reply
Viewed
| HTML | XML | Total | BibTeX | EndNote | |
|---|---|---|---|---|---|
| 254 | 154 | 16 | 424 | 14 | 24 |
- HTML: 254
- PDF: 154
- XML: 16
- Total: 424
- BibTeX: 14
- EndNote: 24
Viewed (geographical distribution)
| Country | # | Views | % |
|---|
| Total: | 0 |
| HTML: | 0 |
| PDF: | 0 |
| XML: | 0 |
- 1
GENERAL COMMENTS
Gauvain et al. introduce a highly useful toolbox for groundwater modelling that is sure to appeal to readers of HESS. Based on established tools, the toolbox integrates them effectively and reproducibly. The explanations are clear and it is illustrated with a practical example.
In my view, the main limitation of the current version is the type of aquifer systems that can be simulated: 'unconfined shallow aquifers where hydrogeological boundaries roughly correspond to topographic divides' (L82-83) 'where the water table lies close to the surface and topography strongly influences goundwater flow dynamics' (L113). In my experience, aquifer systems do not align with the boundaries of surface catchments as often as one might expect, and the issue of boundary conditions is often a key challenge in hydrogeology. When I consider which of my models this tool could be applied to, I ultimately cannot think of so many examples. It would certainly be an advantage to incorporate the way in which geology shapes aquifer systems. In this sense, I am not entirely convinced by the idea that the tool 'bridge[s] the gap between detailed site-specific studies and regional-scale hydrogeological assessments' (L355-356, see also L383-384) — at least when considering aquifer systems at a regional level (e.g. multi-layered systems).
Nevertheless, the authors put forward many promising prospects, which will surely be attractive to numerous modellers. In the meantime, I think it would be useful to release the current version. While reading through it, I had a number of minor queries and comments, which I have set out below as I went through the text. These in no way call into question its publication in HESS. You will also find a few technical comments.
SPECIFIC COMMENTS
L67-74: This paragraph seems a little idealised to me. In my experience as a developer, there is never a perfect 'magic box', and you always have to write some code to adapt it to your specific situation. Proof of this lies in the wide range of initiatives mentioned.
L73: Similarly, it is always easy and smart to refer to the critical zone, but while this type of groundwater tool may be useful for educating the community, I don't see exactly how it currently 'bridges the gap' and 'promotes collaboration' between hydrogeologists and other communities within the critical zone.
L78-80 'patterns of seepage areas can be used to represent the dynamics of the hydrographic network' & L200-204: However, if I understand correctly, this capacity only applies to baseflow, right?
L97 'for calibration': The next four steps make no mention of calibration.
L133 'DEM resolution': Is this the best possible resolution for the model? Can it be adjusted?
L136 'by an ocean/sea/lake/river': Or any other lateral aquifer?
L155 'with the aquifer base specified at a given elevation': Is it a single value, or can it vary across the space?
One might wish to interpolate contour lines for the aquifer bottom, which are sometimes available.
L158 'can be assumed uniform and isotropic across the entire model domain. but heterogeneity' & L160-161 'vertical heterogeneity' 'through anisotropy': 'Heterogeneity' and 'anisotropy' are two distinct concepts.
L160 'defining parameter zones based on geological maps or user-specified units': Could a stochastic approach be used instead?
L165-166 'MODFLOW-2005': The current version of Modflow is Modflow 6. There are plans to upgrade to the new version (L413-414). Will this include the Particle Tracking (PRT) Model of Modflow 6 (vs MODPATH) and its Groundwater Transport (GWT) Model (vs MT3DMS) (L184-187)?
L186: Is it single- or multi-species solute transport? Does it cover basic chemical reactions?
L172-173 'the storage coefficient corresponds to the vertically integrated specific yield': I don't think the specific yield needs to be vertically integrated, since it has the same dimension as the storage coefficient (unlike the specific storage) and there can only be one unconfined layer.
Code 1: Wouldn't it be better to calibrate the hydraulic conductivity and the specific yield together rather than separately?
L254-255 'how HydroModPy can be systematically employed to set up, simulate, calibrate, and analyze hydrogeological models across multiple catchments': Does such systematic work risk overlooking hydrogeological features, such as surface formations or faults?
L319: Shouldn't we adjust the spatial resolution according to the size of the catchment area (see L313-314)?
L345 'to assess the simulation results': Sorry to stay on the basics, but what about hydraulic heads?
L353 'across diverse hydrological conditions, catchment scales, and topographies': Can we say that the hydrological conditions and topography really do vary between catchments in the Armorican Massif?
L378 'across diverse [...] topographical, and geological settings': The same. All of them are crystalline basement aquifers, and their hydraulic conductivities are very similar (L379-380).
L360: Cite Gleeson et al. 2011 (see Figure 1) for calibrated regional-scale hydrogeologic models.
doi:10.1029/2010GL045565
L385 'to integrate multiple data sources': Assuming they are indeed available for all catchments.
L394-395: It all depends on how the recharge is calculated. In fact, this key parameter is not calculated within this modelling framework, but specified as an input instead, which could be seen as a limitation (but it is being resolved, L420-421).
L395 'Similarly'; 'default assumption of homogeneous effective hydraulic properties'; L398 'assumption of spatially uniform recharge': These default options, which can be overridden (see L401-405), are not as significant as the other limitations.
L414-420 'additional tools' 'multiple groundwater flow solvers' 'other open-source codes': I'm not sure exactly what these additional tools are.
L423 'will allow': Does the integration of land surface models work effectively? Or is it still a work in progress?
L425-427: a 'non-iterative approach' means 'feedback mechanisms' are not fully resolved?
L429-430 'we aim to extend HydroModPy's applicability to a broader range of hydrological contexts': That's fine, but it will mean straying from HydroModPy's core philosophy.
L436 'for piezometry and climate data': It is somewhat unfortunate that the example given in Section 3.2 does not make use of either groundwater levels or climate data.
Section 4.3: In terms of teaching, the tool offers a wide range of features. But to what extent could this type of tool also be used for synthetic modelling?
TECHNICAL CORRECTIONS
L4-5: I suggest adding 'tools' as a word is missing in 'The current version integrates well-established geospatial tools, such as Whitebox Tools'.
L29 'pressures.'; L129 'study site.': Remove the punctuation mark.
L41-44 'and the ability to explore the sensitivity and uncertainty of model parameters.': The end of this sentence seems incomplete.
L84: level ('water table' (without level) on its own might also work).
Figure 1 (2) 'hydrography.py': Appears twice.
Figure 2 (a): No matter how much I zoom in, I can't see the 'pink-highlighted' area. Is it just the pink colour on the map?
Figure 2 (e) 'exponential decay with depth': Link this to 1/α.
Figure 2 (f--i) 'watertable depth': water table depth.
L158-159 'but heterogeneity of these parameters can be easily implemented specified using geological maps or user-defined zones.': To be removed.
L186: And advection.
L205-206: visualization_ (with a 'z').
L210-212 'This includes the topography and model grid, water table elevations and depths, seepage areas, and the associated accumulated surface flow.': Repeated twice.
L206 & L216: Standardise the writing of 'vedo'.
Figure 3: knickpoints
L220 'on the hydrogeological map IHME1500 (Duscher et al., 2015': The references given in the caption for Figure 3 are different 'Simplified global groundwater resources map, modified from Taylor et al. (2013) and originally obtained from Struckmeier et al. (2008)'
L305: What do you mean by '3.2.3'?
L322 'the mesh grid sizes range from 2,800 to 207,152 cells': the number of grid cells ranges from 2,800 to 207,152
L323 'weathered or fractured': Is that incompatible?
L324 'in the Armorican Massif region': in the Armorican Massif
L334 'while DOS represents the inverse': represents the reverse
L342 'a simulation': a transient simulation over the 3-year period?
L359 (and elsewhere): I don't think the units should be written in italics (don't use LaTeX's math mode); to be checked with HESS
L361 'measurements. Dewandel et al. (2021)': measurements (Dewandel et al., 2021).
L363 'simulations': Is the plural form correct?
L421 'both': two
L843: Fix the DOI 'https://doi.org/10.1007/S42452-022-05082-0'