Physics-Informed Spatiotemporal Graph Convolutional Network for Flash Flood Forecasting and Inundation Simulation
Abstract. Flash floods pose a significant threat in mountainous regions, where rapid-onset inundation requires timely and reliable forecasting for effective emergency response. Physically based hydrodynamic models provide strong interpretability but require detailed terrain, roughness, rainfall, and initial-condition information, and their computational cost limits real-time forecasting and repeated scenario analysis. Data-driven models offer higher efficiency, but grid-based architectures may distort irregular hydrodynamic meshes, and purely data-driven graph models can generate physically implausible predictions during long-horizon autoregressive simulation. To address these limitations, this study proposes a physics-informed spatiotemporal graph convolutional network, termed PI-STGCN, for rapid flash flood inundation simulation over irregular triangular control-volume meshes. The model represents the hydrodynamic domain as a directed dual graph, where triangular cells are treated as nodes and shared interfaces are treated as directed edges with geometric and hydraulic attributes. PI-STGCN integrates edge-conditioned spatial graph convolution, rainfall encoding, causal temporal convolution, multi-step residual prediction, and rollout-aware training through scheduled sampling and pushforward rollout. Shallow-water-equation residuals, water-volume consistency, and near-channel boundary constraints are used as soft physical regularization terms to improve local hydrodynamic plausibility. The model was trained using hydrodynamic simulation outputs from design storm events and evaluated on an unseen 100a24h extreme design storm and an independent real rainfall-driven flash flood event. For the 100a24h event, PI-STGCN achieved R² = 0.9142, NSE = 0.9088, KGE = 0.8565, MAE = 0.3390, and RMSE = 0.7892. Ablation and residual diagnostics show that spatial graph convolution and residual prediction are critical for accuracy and rollout stability, while physics-informed regularization improves momentum-equation consistency, although its effect on conventional predictive metrics is event- and metric-dependent. The trained model reduced inference time from 63–105 s for hydrodynamic simulations to 1.06–1.08 s. These results indicate that PI-STGCN provides an efficient physics-regularized surrogate for rapid inundation prediction on irregular meshes in mountainous catchments.
The paper proposes a graph neural network for the spatio-temporal prediction of water depths and flow velocities for a rainfall-driven flood in a single catchment.
Despite the paper having some interesting ideas, the majority of them are not novel. Most work was already presented in a very similar form in the papers from Kazadi et al. (2024) and Bentivoglio et al. (2023), among others.
The main novelty is the physics-informed loss, which is not correct (as described below) and does not lead to any significant improvement in model performance (Section 4.3).
Moreover, the main motivation is that purely data-driven models are not as good, but the results do not indicate that adding these losses actually improves the model.
The proposed PI-STGCN model is also incorrectly described as physics-informed despite not having any direct connection to physical equations (the only physical equations are in the loss, not in the model).
Finally, independently of the correctness of the methodology or the quality of the results, having only 5 total simulation for training, validation, and testing is not enough to hold any valid claim.
For these reasons, I must recommend rejection.
To further clarify my reasons and help the authors with a future version of the paper, I provided below a series of comments, up until the results, since it was already enough to justify my rejection.
Comments:
line 9: I would argue that any model requires that kind of information to have a similar level of detail, whether it is based on numerical models or deep learning.
line 11: why do we care about graph-based models? How is this connected to the previous issue?
lines 61-62: the reference for this statement is incorrect, as the paper you cite deals with a very different problem. Your claim holds for basically any deep learning model that is not trained in a way to minimize the accumulation of errors in time.
lines 64-65: similar to the previous comments, the reference you mention doesn't support your statement. Generally, most issues in water conservation (in deep learning models) occur when there are the most changes from one time step to the following one, independently of the initial conditions (as also shown in your experiments, e.g., Fig 6).
lines 84-94: most of the novelties that you propose (e.g., using the dual graph, static vs dynamic attributes, multi-step residual prediction, curriculum learning, and rollout training) were already proposed in previous studies, such as Bentivoglio et al. 2023 (which you cite just before these claims in line 79).
line 144: consider only writing the return periods instead of the name of the simulations.
Section 2.3:
A total dataset of barely 5 simulations is not enough to provide any reasonable conclusion, even if it can show extrapolation ability. The model has to consider a wider variety of events otherwise the conclusions you report could just represent some sort of overfitting to your specific validation/testing setting.
lines 151-154: why do you need to split your 72hour event into 3 parts? You could also use the model auto-regressively (using the predictions as your inputs) and extend your prediction horizon directly to 72 hours.
lines 160-165: consider reporting these metrics also in a small table for better clarity.
Section 2.4:
Please, include which numerical software was used to create the hydrodynamic simulations.
Section 3.1:
Please define better what are the prior flow-direction indicators and the channel-edge indicators, how they work, and why you considered them.
Also, why did you include the distance from the edge midpoint to the nearest channel? Is this evaluated as well for edges that are far away from channels?
Table 1:
It might be worth adding the range of the values, both in case you use a normalizer and even if you don't, as in e.g., Lowe et al. (2021).
The "role in model" column might instead be neglected as it does not really add much information.
Section 3.2:
You mention that you use a directed graph (line 208) but you then proceed to define it as undirected (lines 213-214). Please, correct this part.
Eq. 3: it is unclear whether you are predicting all of the future states in one go using all of the past states or you are using an autoregressive procedure. This only becomes clear when seeing Eq. 5, but then gets more confusing in lines 248-249 when you mention that this framework is compatible with autoregressive simulations.
Section 3.3:
Eq.4: 1) this is not an equation, so it should not be defined as such. 2) If you are using pytorch geometric (which is not reported at any point in the manuscript), the batching works in a different way: instead of having B \times N samples, you have BN samples. You can check more information about this in the library documentation.
line 251: how do static edge attributes encode hydraulic directionality?
lines 250-253: it is not clear which type of GNN you are using. Please add an equation to clarify it.
Moreover, the description of the "edge-conditioned graph convolution" is quite unclear: I assume from the text that this only means that you are selecting the weights of the adjacency matrix based on some edge attributes. How is this done?
line 254: which rainfall encoder? At which point is this added? Before or after concatenating all features in X_d? How is this encoder structured? Please, also add an equation for clarity.
From Fig. 2, it seems that the encoder is after the GNN. If that is the case, calling this encoder "rainfall encoder" is wrong, as the convoluted features do not express anymore any specific hydraulic variable but rather a combination of them.
Moreover, encoders are generally placed before the GNN operations to increase the dimensionality (and thus expressivity) of the data.
lines 254-255: the whole point of the normalization would be to avoid this issue. The motivation for the encoder does not hold with a correct scaling.
lines 258-259: same as before, clarify what operations you are doing better, using as well equations.
lines 263-274: despite the motivation for using this loss can make sense, it does not hold numerically, making the use of this loss function pointless. The main reason is that this equation only holds for a time step small enough (as constrained by the CFL condition) and for 1-hop propagation of the fluxes. Also, you would need to define how you would calculate the interface fluxes F, since that is one of the key computational issues in numerical models.
Eq 11: this equation has several issues. 1) the summation over p only holds for p = 1, since the only terms that depends on p, especially in the first term, is \hat{V}_{t+p}. You would need to adjust the equation either modifying the index of V_t or \Delta V_R. 2) While the first term makes sense as it penalizes global mass loss, the second term is wrong as Vt+p true - \hat{V}t+p should be equal to 0, without the addition of the \Delta V_R. 3) A very similar variation of first term of the equation was already proposed in Bentivoglio et al. (2025), though they showed that it did not help the learning.
lines 260-285: should be moved to a different section/subsection as they are not part of the architecture, but only of the learning paradigm.
Similarly, lines 286-313 which describe the loss function should be merged with the previous loss part in the same section.
line 294: since y^b_{i, t+p} represent three hydraulic variables, it should be formatted as a vector, not a scalar.
line 295: how is this done? Why do you need to assign a specific weight since you are already using a MSE that naturally penalizes larger differences (which according to your text should occur in correspondence of wet cells)? Which value does this weight have?
lines 297-298: why did you select 50m as distance to the channel? I assume that this value is highly case-study-dependent, so it should be clarified.
lines 298 and 300 repeat the same sentence.
Eq 13: this equation seems to push for overprediction of water depths (with respect to ground-truth ones) near the channel. Why would this make sense?
line 304: please add a reference for the pushforward rollout. The naming seems to be coming from Brandstetter et al. (2023) but the formulation is the one of Bentivoglio et al. (2023), which also proposes the same curriculum learning strategy you mention hereafter.
Eq. 18: This version of the R2 is not the one that is most commonly used, which is, mathematically speaking, equivalent to the NSE. Why did you consider this one here?
Table 2: you mention that you use only one convolutional layer with kernel size 1. This is almost equivalent to not using any convolutional layer at all. Why did you select those values?
Section 4: your model predicts all hydraulic variables, but you only report water depths, without mentioning any metric about the flow velocities.
References:
Bentivoglio, R., E. Isufi, S. N. Jonkman, and R. Taormina. “Multi-Scale Hydraulic Graph Neural Networks for Flood Modelling.” Natural Hazards and Earth System Sciences 25, no. 1 (2025): 335–51. https://doi.org/10.5194/nhess-25-335-2025.
Bentivoglio, R., E. Isufi, S. N. Jonkman, and R. Taormina. “Rapid Spatio-Temporal Flood Modelling via Hydraulics-Based Graph Neural Networks.” Hydrology and Earth System Sciences 27, no. 23 (2023): 4227–46. https://doi.org/10.5194/hess-27-4227-2023.
Brandstetter, Johannes, Daniel Worrall, and Max Welling. “Message Passing Neural PDE Solvers.” arXiv:2202.03376. Preprint, arXiv, March 20, 2023. https://doi.org/10.48550/arXiv.2202.03376.
Kazadi, Arnold, James Doss-Gollin, and Arlei Silva. Pluvial Flood Emulation with Hydraulics-Informed Message Passing. 2024.
Löwe, Roland, Julian Böhm, David Getreuer Jensen, Jorge Leandro, and Søren Højmark Rasmussen. “U-FLOOD – Topographic Deep Learning for Predicting Urban Pluvial Flood Water Depth.” Journal of Hydrology 603 (December 2021): 126898. https://doi.org/10.1016/j.jhydrol.2021.126898.