HydroMT: A Python package to build and analyze hydro models like a data wizard
Authors: Boisgontier Hélène , Hegnauer Mark , Eilander Dirk 
Published: March 2022

&lt;p&gt;Setting up spatially-distributed geoscientific models typically requires many (manual) steps to process input data and might therefore be time consuming and hard to reproduce. Furthermore, it can be hard to improve models based on new or updated (large) datasets, such as (global) digital elevation models and land use maps, potentially slowing down the uptake of such datasets for geoscientific modelling.&lt;/p&gt;&lt;p&gt;HydroMT (Hydro Model Tools; https://deltares.github.io/hydromt/latest/) is an open-source Python package that aims to facilitate the process of building models and analyzing model results based on the state-of-the-art scientific python ecosystem, including &lt;em&gt;xarray&lt;/em&gt;, &lt;em&gt;geopandas&lt;/em&gt;, &lt;em&gt;rioxarray&lt;/em&gt;, &lt;em&gt;pyflwdir&lt;/em&gt;, &lt;em&gt;numpy&lt;/em&gt;, &lt;em&gt;scipy &lt;/em&gt;and &lt;em&gt;dask&lt;/em&gt;. The package provides a common interface to data and models as well as workflows to transform data to models and analyze model results based on (hydrological) GIS and statistical methods. The common data interface is implemented through a data catalog, which is setup with a simple text &lt;em&gt;yaml &lt;/em&gt;file, and supports many different (GIS) data formats and some simple pre-processing steps such as unit conversion. The common model interface is implemented per model software package and provides a standardized representation of the model configuration, maps, geometries, forcing, states and results. The user can describe a full model setup including its forcing in a single &lt;em&gt;ini &lt;/em&gt;text file based on a sequence of workflows, making the process reproducible, fast and modular. Besides the Python interface, HydroMT has a command line interface (CLI) to build, update or analyze models.&amp;#160;&lt;/p&gt;&lt;p&gt;The package has been designed with an iterative, data-centered modelling process in mind. First-order models can be setup for any location in the world by leveraging open global datasets. These models can later be improved by updating the input datasets with detailed local datasets. This iterative process enables the user to quickly get an initial model and analyze its result to then make informed decisions about the most relevant model improvements and/or required data collection and to kick-start discussions with stakeholders. Furthermore, model parameter maps or forcing data can easily be modified for model sensitivity analysis or model calibration to support robust modelling practices.&lt;/p&gt;&lt;p&gt;Currently, HydroMT has been implemented for several models through a plugin infrastructure. Supported models include the distributed rainfall-runoff model wflow, the sediment model wflow_sediment, the hydrodynamic flood model SFINCS, the water quality models D-Water Quality and D-Emissions and the flood impact model Delft-FIAT.&lt;/p&gt;&lt;p&gt;In this contribution we will present different modelling applications, including a loosely coupled flood risk model chain, with a focus on how HydroMT was used to build and analyze these models.&lt;/p&gt;