The procedure proposed herein aims to define the value of the TSP at any cross-section of a river using a GIS procedure that is as simple and accurate as possible and based on available data; the particular focus is on the determination of the local slope. Recent available DEMs enable the calculation of the channel gradient and, consequently, the stream power with a finer spatial resolution, and this presents promising and novel opportunities to investigate river geomorphological processes and forms.

#### 2.1. Peak Flow Discharge

The estimation of the maximum peak flow at a particular cross-section of a riverbed for a given return period is a problem with a difficult solution because there are many factors involved.

In Italy, the River Tiber Basin Authority proposed a Flood Estimation Handbook, and its purpose was to guide the evaluation of peak flows at any location in the River Tiber Basin [

18]. This study used data from 165 gauge stations that are distributed within the basin, and it proposed a methodology that combines the results of analyzing regional precipitation with a duration from 1–24 h with the curve number method [

19] to quantify the volume of net rainfall.

The procedure implemented in a GIS environment [

14] starts from the calculation of the upslope catchment area by correctly identifying the outlet point for any given point. The calculation code finds the closest point located in the stream network since the point provided by the user cannot be correctly positioned. This point is identified by the

`r.distance` module in GRASS GIS. The extracted stream network is then ordered by Strahler’s stream hierarchy method [

20]. A typical operation performed in the reconstruction of the main channel is the application of the vector network analysis tools, in which the outlet point is the starting point of the path. In this approach, the hydrographic network is considered as a road network. In iterating network analysis, when a new main channel needs to be determined, the computational time is substantially increased. The code implemented in this study identifies the main channel by matrix segmentation on the basis of the same algorithms as those used in network analysis. Then, a grid approach is applied by combining the raster of the drainage directions and the raster of the ordered hydrographic network according to Strahler. The procedure is also able to derive other information required for the slope determination, as further explained in the subsection below.

Another expedient that was used to speed up the calculation operations was the calculation of the raster of the hydrographic network (the input required by `r.distance`) and the flow direction map (necessary for the next step) for the entire Tiber River Basin by means of a digital elevation model. This avoids the need to reprocess these maps at the request of any user.

Starting from the ordered hydrographic network, the code selects the maximum order of the stream network; then, it executes a map algebra operation to extract the main stream, as explained above. This operation enables the calculation of the run-off time using the Kirpich (Equation (

2)) or Giandotti method (Equation (

3)), depending on the basin area: when the basin area is less than 10 km

^{2}, the Kirpich equation is used; otherwise, the Giandotti equation is used.

Kirpich equation for basins smaller then 10 km

^{2}:

with

Tc = run-off time (hours);

L = main channel length (km);

DH = drop in elevation of the main channel (m).

Giandotti equation for basins larger than 10 km

^{2}:

with

Tc = run-off time (hours);

S = basin area (km^{2});

L = main channel length (m);

H = mean basin elevation (m a.s.l.).

Subsequently, the Intensity-Duration-Frequency (IDF) parameters (

a,

b, and

K) corresponding to the analyzed river basin are calculated. The Flood Estimation Handbook provides several maps to evaluate the IDF parameters (see

Figure 3). The GIS procedure derives the values for

a,

b, and

K automatically. This provides a better determination of the aforementioned parameters relative to the standard procedure proposed by the Flood Estimation Handbook. The Handbook proposes the evaluation of IDF parameters using isoline maps at the centroid of the basin; in the GIS procedure, these factors are instead determined as weighted means of the basin.

The maps of IDF parameters (a, b, and K) are used as raster input data of `r.stream.power`. These raster maps were obtained through a TIN interpolation procedure; the pixel resolution is 25 m, which is the same as the DEM’s resolution. The DEM utilized in this work is the European Digital Elevation Model (EU-DEM), Version 1.1, provided by the European Commission in the **Copernicus Project**.

Similarly, the Curve Number (CN) is calculated from the raster map previously obtained as the weighted mean value of the basin.

This procedure is implemented in a GIS system, and the GRASS GIS scripts created [

21] determine the peak flow rate for each point of the hydrographic network and for the requested return period.

#### 2.2. Slope Determination

Slope determination is a crucial aspect in the evaluation of SP along a reach. A Digital Elevation Model (DEM) represents the starting point to derive the slope map. In GIS, the slope maps are normally obtained using a moving window (3 × 3 in many cases) following the main method available in GIS software, as was carried out by Evans [

22] or Zevenbergen and Thorne [

23].

Equation (

1) requires the determination of the local energy slope

S, which can be approximated by the bed slope. The DEM can provide an approximation of the local bed slope.

EU-DEM v1.1 has a planar resolution of 25 m with a vertical accuracy of 2.9 m, as assessed in

https://land.copernicus.eu/pan-european/satellite-derived-products/eu-dem. Especially, when it is necessary to calculate the slope for fluvial reaches, the normal proposed approaches are no longer valid [

24]. In fact, for the given

EU-DEM, it appears that the

minimum valuable slope is on the order of:

where

$\u03f5$ is the vertical accuracy.

Therefore, the minimum valuable slope is several orders of magnitude bigger than the floodplain’s river slope, which is around 0.001. For this reason, in this paper, the local slope is not calculated by means of the moving window using the classical GIS approach, but rather by calculating the channel gradient as the ratio between the elevation difference and the real length of the reach.

The procedure starts tracking the path of the main channel from the outlet point going upstream following the D8 drainage raster map (

Figure 4). Afterward, the cell corresponding to the end of a reach with a certain upstream distance is identified, as shown in

Figure 4. In this way, different slopes are obtained according to the upstream reach lengths considered (100, 200, and 400 m). The approach for evaluating the gradient is not present in any of the most common GIS open-source or commercial software packages (GRASS GIS, ARCGIS, SAGA, QGIS, GvSig). Therefore, the implementation of this code represents a novelty of the module that is sure to be of interest for hydrological-hydraulic applications.

The reach length is normally considered to be 20 times the mean width of the riverbed.

#### 2.3. The Module `r.stream.power`

`R.stream.power` is a module in GRASS GIS; it is written in Python and able to calculate the stream power quickly at a cross-section of a river network. The code was released under the GNU GPL license, and it is accessible at

https://github.com/pierluigiderosa/r.stream.power/releases/tag/1.0. The repository contains the source code of

`r.stream.power`and a GRASS GIS database with all necessary input data (CN raster map, IDF raster parameters); therefore, the intent here is to provide a fully-reproducible example.

Figure 5 shows the

`r.stream.power` module’s graphical user interface, which clearly shows the required input data: vector points representing the locations of cross-sections at which to calculate the stream power and DEM. No other input is required by the code for determining the flow rate and slope because the additional information (CN and IDF parameters) is automatically determined. In particular, the determination of the CN and IDF parameters is carried out using the weighted average of the CN and IDF rasters (a, b, k), given the contributing upstream area related to the specific cross-section.

The `r.stream.power` output is a point vector layer that uses an attribute table to store all code-calculated parameters, such as discharge, downstream channel length from the source point, local elevation, elevation drops, upslope for several distances, and the TSP for upslope distances of 100, 200, 400 m.

The module introduces two novel elements to the stream power calculation: (1) a hydro-morphological rigorous approach for the evaluation of the local slope upstream at a given cross-section (see

Section 2.2); (2) here, the flow rate, which is normally calculated with a discharge-area equation [

2,

25,

26], is determined with more detail, i.e., spatial rainfall distribution and infiltration (using the Curve Number method) are also incorporated.