# Local inertial model

## River routing

The local inertial approximation of shallow water flow neglects only the convective acceleration term in the Saint-Venant momentum conservation equation. The numerical solution of the local inertial approximation on a staggered grid is as follows (Bates et al., 2010):

$$$Q_{t+\Delta t} = \frac{Q_t - g A_t \Delta t S_t}{(1+g\Delta t n^2 |Q_t| / (R_t^{4/3} A_t))}$$$

where $Q_{t+\Delta t}$ is the river flow [m$^3$/s] at time step $t+\Delta t$, $g$ is acceleration due to gravity [m/s$^2$], $A_t$ is the cross sectional flow area at the previous time step, $R_t$ is the hydraulic radius at the previous time step, $Q_t$ is the river flow [m$^3$/s] at the previous time step, $S_t$ is the water surface slope at the previous time step and $n$ is the Manning's roughness coefficient [m$^{-1/3}$ s].

The momentum equation is applied to each link between two river grid cells, while the continuity equation over $\Delta t$ is applied to each river cell:

$$$h^{t+\Delta t} = h^t + \Delta t \frac{Q^{t+\Delta t}_{src} - Q^{t+\Delta t}_{dst}}{A}$$$

where $h^{t+\Delta t}$ is the water depth [m] at time step $t+\Delta t$, $h^t$ is the water depth [m] at the previous time step, $A$ is the river area [m$^2$] and $Q_{src}$ and $Q_{dst}$ represent river flow [m$^3$/s] at the upstream and downstream link of the river cell, respectively.

The model time step $\Delta t$ for the local inertal model is estimated based on the Courant-Friedrichs-Lewy condition (Bates et al., 2010):

$$$\Delta t = min(\alpha \frac{\Delta x_i}{\sqrt{(gh_i)}})$$$

where $\sqrt{(gh_i)}$ is the wave celerity for river cell $i$ , $\Delta x_i$ is the river length [m] for river cell $i$ and $\alpha$ is a coefficient (typically between 0.2 and 0.7) to enhance the stability of the simulation.

In the TOML file the following properties related to the local inertial model can be provided for the sbm model type:

[model]
river_routing = "local-inertial" # default is kinematic-wave
inertial_flow_alpha = 0.5      # alpha coefficient for model stability (default = 0.7)
froude_limit = true            # default is true, limit flow to subcritical-critical according to Froude number
h_thresh = 0.1                 # water depth [m] threshold for calculating flow between cells (default = 1e-03)
riverlength_bc = 1000.0        # river length [m] for boundary points (default = 1e04)

The momentum equation is most stable for low slope enviroments, and to keep the simulation stable for (partly) steep environments the froude_limit option is set to true by default. This setting limits flow conditions to subcritical-critical conditions based on the Froude number ($\le 1$), similar to Coulthard et al. (2013) in the CAESAR-LISFLOOD model and Adams et al. (2017) in the Landlab v1.0 OverlandFlow component. The froude number $Fr$ on a link is calculated as follows:

$$$Fr = \frac{u}{\sqrt{(gh_f)}}$$$

where $\sqrt{(gh_f)}$ is the wave celerity on a link and $u$ is the water velocity on a link. If the water velocity from the local inertial model is causing the Froude number to be greater than 1.0, the water velocity (and flow) is reduced in order to maintain a Froude number of 1.0.

The downstream boundary condition basically simulates a zero water depth boundary condition at a set distance, as follows. For the downstream boundary condition (ghost point) the river width, river bed elevation and Manning's roughness coefficient are copied from the upstream river cell. The river length [m] of the boundary cell can be set through the TOML file with riverlength_bc, and has a default value of 10 km. The water depth at the boundary cell is fixed at 0.0 m.

Simplified reservoirs and lakes models can be included as part of the local inertial model, see also Reservoirs and Lakes.

## Inflow

External water (supply/abstraction) inflow [m$^3$ s$^{-1}$] can be added to the local inertial model for river flow, as a cyclic parameter or as part of forcing (see also Input section).