Math / Num Documentation#

smash is a computational software framework dedicated to Spatially distributed Modelling and ASsimilation for Hydrology, enabling to tackle flexible spatially distributed hydrological modeling, signatures and sensitivity analysis, as well as high dimensional inverse problems using multi-source observations. This model is designed to simulate discharge hydrographs and hydrological states at any spatial location within a basin and reproduce the hydrological response of contrasted catchments, both for operational forecasting of floods [Javelle et al., 2016] and low flows [Folton and Arnaud, 2020], by taking advantage of spatially distributed meteorological forcings, physiographic data and hydrometric observations.

smash is a modular platform that contains conceptual representations and numerical approximations of dominant hydrological processes while aiming to maintain a relative parsimony. It also contains several algorithms for signal analysis, model optimization and data assimilation over large datasets. It originally enables to use variational data assimilation and hybrid methods based on statistical/machine learning approaches. smash contains Fortran source code interfaced in Python using f90wrap [Kermode, 2020] to achieve computational efficiency for meshing, solver, optimization, etc.. The adjoint code of the forward model is automatically generated using the differentiation tool Tapenade [Hascoet and Pascual, 2013] and some final tricks. The adjoint is used in the variational data assimilation algorithm presented in [Jay-Allemand et al., 2020]. smash enables to work at multiple spatio-temporal resolutions, with heterogeneous data in nature and sampling.

This documentation details the available forward model operators, signal and sensitivity analysis tools, and optimization algorithms.

Forward Model#

The forward spatially distributed hydrological modeling problem, several operators and predefined structures available in smash are described below.

Signal Analysis#

Inverse Algorithms#