[R] Benchmarking a Catchment-Aware LSTM for Large-Scale Hydrological Modeling
at the beginning of this week we uploaded our manuscript on large-scale hydrological modeling using LSTM-based models. Maybe you find something interesting/useful in it. If you have any questions regarding this work, feel free to ask.
Regional rainfall-runoff modeling is an old but still mostly out-standing problem in Hydrological Sciences. The problem currently is that traditional hydrological models degrade significantly in performance when calibrated for multiple basins together instead of for a single basin alone. In this paper, we propose a novel, data-driven approach using Long Short-Term Memory networks (LSTMs), and demonstrate that under a ‘big data’ paradigm, this is not necessarily the case. By training a single LSTM model on 531 basins from the CAMELS data set using meteorological time series data and static catchment attributes, we were able to significantly improve performance compared to a set of several different hydrological benchmark models. Our proposed approach not only significantly outperforms hydrological models that were calibrated regionally but also achieves better performance than hydrological models that were calibrated for each basin individually. Furthermore, we propose an adaption to the standard LSTM architecture, which we call an Entity-Aware-LSTM (EA-LSTM), that allows for learning, and embedding as a feature layer in a deep learning model, catchment similarities. We show that this learned catchment similarity corresponds well with what we would expect from prior hydrological understanding.
- Single LSTM-based model is trained on meteorological time series + static catchment attributes to predict river runoff for hundreds of catchments.
- Outperforms a large set of hydrological benchmark models (calibrated by independent groups) significantly, even in unfair settings (hyd. models calibrated for each catchment separately vs. LSTM model calibrated for all at once).
- Proposed LSTM adaption (Entity-Aware-LSTM), where static features are used to modulate the input gate and all remaining parts of the LSTM only receives recurrent + dynamic (meteorological time series) input.
Code + Data: https://github.com/kratzert/ealstm_regional_modeling