- 1 Runoff hydrographs of Ahr tributaries
- 1.1 The measure stations of the Ahr
- 1.2 Land use proportions
- 1.3 Incorporation of the travel time of the flows.
- 1.3.1 Starting the flow model with a simplification:
- 1.3.2 Wave Celerity of sudden floodwave
- 1.3.3 Measured outflow and water level at Müsch
- 1.3.4 Measured outflow and water level at Altenahr:
- 1.3.5 Fine gridded plot with time shifted, calculated discharges at Altenahr:
- 1.3.6 Compare the combined outflows of the upper and mid section of the Ahr drainage area with the derived outflow at Altenahr.
- 1.3.7 Time lapse of the outflows of tributaries of the Ahr on 14-07-2021

- 1.4 Flood waves in rivers

Author: Van Oproy Kurt

The objectif is to make a realistic hydrograph for the destroyed measurestation at Altenahr, based on the Ahr's tributaries.

Therefore, the watersheds of the important tributaries of the Ahr were delineated seperately, selecting only the tributaries of the Ahr upstream from Altenahr.
For each watersheds a runoff calculation was performed, and the discharge values were transposed to an Excel file.

The first combined results gave a reaction profile for the discharge at Altenahr that started 1.5 hours earlier than the observed flow.

- Was this delay the result of the series of debris-clogged bridges, that held the water mass up?
- how many bridges are there between Müsch and Altenahr?
- 72 bridges have been severely damaged or destroyed in the whole Ahr valley (source: German army officer)

- for a debit of 300 m³/s, how long does it take to overcome a 50 cm, or a 2 meter, bridge height over a 30 to 60 meter width?

- how many bridges are there between Müsch and Altenahr?
- Later in this work we'll show the phenomenon of hysteresis for the flood wave debit-water level curve.
- The peak of the debit happens some time before that of the water level.

Out[2]:

- Parameters Maximum_Abfluss_m³s, Maximum_Wasserstand and HQ 100 (m³/s) are based on the recordings of the gauging stations before the 2021 deluge.
- Parameter HW_waterlevel is based on factual data of the 2021 deluge, in some cases based on highwater marks with eyewitness testimony.
- The evaluation of the water height was done by comparing water bed and highwater mark height with online German elevation maps.

- Parameter HW_Debit is derived from the 'model' which calculates a debit from water levels.
- The recorded time for the sensors is normally without summertime correction. However, I did not apply this kind of correction, because:
- I cannot know if a more recently installed sensor has automatic summertime/wintertime correction onboard, nor if this function had been enabled.
- This omission might explain a big part of the lag visible in the calculated vs. recorded outflows, but I did not want to create confusion.

Out[5]:

Video of houses of the Uberdorfstrasse 2 and 4 in Insul, where the height of floodwave - shown in the video - was at least 1.5 - 2 meters above the street level.

- Arh level : 217.5, water level +- 2.75- 3 meter.
- Insul is 17 km stream downward from Müsch. Time to travel is 1.5 hours, or less in case of a flood...
- The surface area for the water to pass there is 100-110 m², considering the buildings that kept standing after the flood.
- I you watch closely, you notice that the flood doesn't follow the river, as the river level is still lower than the bypassing flood.

Video interview with local Christof Pätz in Altenburg:

- The peak water level was visible on his house at 6-6.5 m height, which was reached on 14-07 22:30, "9 meters from the waterbed".
- His house is 155 meters away from the Ahr, at 168 masl.
- This location is 1.1 km upstream from the Altenahr station.

I added my own collected information, starting from feature/row "HQ 100 (m³/s)".

Out[9]:

Out[3]:

The plot 'MidAhr(Fr)' contains the **aggregated flowrate**, which is based on the precipitation of the nearest location with pluvio data I could find, for places like Freilingen, Barweiler, ...

Out[6]:

The first set is representing the Sahrbach catchment surface runoff.

The runoff values were calculated for these tributaries:

Out[9]:

Sahrbach start of flood in Kirchsahr | Sahrbach flood Kirchsahr 2 |

Rainfall data of Freilingen pluviometer

Rainfall data of Scheuerheck & Wald pluviometers

we merge the individual hydrographs.

Out[13]:

Out[15]:

Out[16]:

Out[17]:

Out[18]:

Summation of the discharges of the streams upstream of Altenahr

We looked up the land use for each deliniated watershed using as source the "classification map Germany 2019".

This landcover map was produced as an intermediate result in the course of the project incora (Inwertsetzung von Copernicus-Daten für die Raumbeobachtung, mFUND Förderkennzeichen: 19F2079C) in cooperation with ILS (Institut für Landes- und Stadtentwicklungsforschung gGmbH) and BBSR (Bundesinstitut für Bau-, Stadt- und Raumforschung) funded by BMVI (Federal Ministry of Transport and Digital Infrastructure). The goal of incora is an analysis of settlement and infrastructure dynamics in Germany based on Copernicus Sentinel data.

This classification is based on a time-series of monthly averaged, atmospherically corrected Sentinel-2 tiles (MAJA L3A-WASP: https://geoservice.dlr.de/web/maps/sentinel2:l3a:wasp; DLR (2019): Sentinel-2 MSI - Level 2A (MAJA-Tiles)- Germany). It consists of the following landcover classes:

10: forest

20: low vegetation

30: water

40: built-up

50: bare soil

60: agriculture

Out[42]:

Out[7]:

Out[11]:

Calculation was done by the Qgis Lecos module "patch stats" function. Here are only 3 of the 6 usage groups shown.

Out[18]:

The source file is big, and consists of land cover data of 39 European countries. I had to clip it.

Info about the 48 classes, and their colors:
https://collections.sentinel-hub.com/corine-land-cover/readme.html

Out[2]:

Out[8]:

Out[9]:

Out[10]:

Out[14]:

Out[17]:

Turns out that this data is not so fine gridded as the previous. However, the classification is very elaborate: there are 3 hierarchical levels.

But there are some "No data" patches, which are mostly (agricultural) land patches that appeared to have been plowed (*Google maps*), or left fallow, so the classification of these areas were too unclear at that time, I guess.

Get a Pandas dataframe from a PostgreSQL table using Psycopg2.

These are the Corine land cover percentages for the upper Ahr area.

Out[38]:

The proportions of the 2 classifications turn out to be the same for forests, but not at all for other classes.

- The amount of grassland has been captured under the Corine-term 'Pastures', and meanwhile
- the amount of the term "Natural grasslands" has been rendered neglictable by classification rules
- the no-data patches raised the amount of builded area from 2,8 to 3,6%.

There seems to be some unification feasable with the up todate German map by only using the coarser level 2 labels.

Here we clip the raster to the extend of our area of interest.

Out[22]:

It seems that we clipped on an extend, not by the mask layer. So we'll make corrections to the results.

The TanDEM-X Forest/Non-Forest Map (FNF) has been generated by processing and mosaicking more than 500,000 TanDEM-X bistatic images acquired from 2011 until 2015. The map has a spatial resolution of 50 x 50m.

We note that the data is rather old. Especially considering the damage caused to coniferous trees by the progress of the spruce beetle, and the mandatory affected tree fellings.

A comparison of the forest area land cover between 2015 and 2019-2020 can be made:

Out[1]:

Out[2]:

Out[13]:

The main causes for concern were indeed: Upper Ahrregion, Sahrbach, Trierbach, Armuthsbach and Vischelbach.

It takes some time for the outflow of a specific tributary to reach Altenahr. First I applied a linear method, however a flood wave has an flow acceleration in respect of time. Hence a complicated nonlinear method should be used later. How complicated this implementation is, is the fact that this flow acceleration is not included in the HEC-RAS software flood wave module.

Here I tried out an approximation:

Out[26]:

Out[27]:

Estimation of the length of the waterpaths from outlet point to Altenahr. The small error to consider is that the location of the outlet point and the location of the respective measurestation are not same.

Out[5]:

Distances of the outlet points to Altenahr, and their Latitude and Longitude.

First I estimated the water speed during the flood 9 km/ hour, but this might be only true for the max. discharge, or with acceleration included.

In physics the speed of a *sudden* flood water wave peak is $c_{hw}$.

Out[60]:

We only need the trajectory from source downstream (or Müsch) to Altenahr. Moreover the streettunnel at Altenahr was from a certain level (and point in time) an artificial bypass for a portion of the flood water.

The difference in elevation, or slope, is +- 0.4%...

Out[19]:

There is no elongation (diffusion) or shortening (dynamic) of the wave.

We can use Mannings formula for calculating the water velocity, with a hydraulic radius $R_h$, $V_w$ in m/s, flowing though a rough natural stream channel.

Channels in coarse gravel: n= 0.028

Also using an extra penalty for the "n" coefficient due to

- Relative effect of obstructions: buildings and bridges on the flowpath.
- Severe 0.040 to 0.060 - Large and small sections alternating

- frequently or shape changes causing frequent shifting of main flow from side-to-side:
- 0.010 to 0.015

- Degree of irregularity:
- severe : 0.02

- Vegetation and flow conditions comparable to:
- Growing season; trees intergrown with weeds and brush, all in full foliage... Very high: 0.05-0.10

- degree of meandering: > 1.5: Severe
- modifying value 0.30 * $n_s$

Out[25]:

Out[16]:

The speed of the water of that flow: $u=\frac {1}{n_m}h^{2/3}\sqrt S$

Out[12]:

Out[20]:

Out[21]:

Out[22]:

Out[23]:

Penalty for blocking flow path by clogged bridges

Out[24]:

Out[25]:

Out[34]:

Out[35]:

- The floodwave celerity c is always faster than the flow velocity when 𝛽 >1 (𝛽V=c)
- Floodwave celerity increases with flow depth
- Larger floodwaves (larger flow depth) propagate faster than small floodwaves
- Cause nonlinearity in the downstream propagation of floodwaves
- Linear techniques based on superposition fail to adequately simulate floodwave propagation in channels
- Method of isochrons used in hydrology is not applicable to both small and large floodwaves

- The value of 𝛽 and flow velocity will affect the arrival of a flood peak.

Out[28]:

Out[9]:

Out[29]:

We apply the estimated time it takes for the water of the different outlets to travel to Altenahr.

The time it takes for the water to travel to Altenahr is included in the new index.

Out[32]:

Out[34]:

Out[36]:

Out[37]:

Next we replace the nan's in the end, and resample to 15 minute bins so we are in sync with the measurement rate...

Out[40]:

resample into 15 or 5 minute bins.

Out[44]:

The jagged form of the curve is caused by the fact that some rainfall data was 60 minute interval, but 15 minutes for the outflows (before time shifts).

Müsch is the place where the outflows of upper Ahr streams and those of Trierbach and Nohnerbach combine.

Out[50]:

Out[51]:

Out[70]:

Out[71]:

Out[74]:

Out[83]:

Out[84]:

Out[85]:

Out[86]:

Around 14-07-2021 14:00 the Müsch sensor gave "strange" values, so they (HVZ) switched to the backup sensor. This one also gave odd results.

A copy of the recorded values that day has been provided, and I obtained a copy of the records.

I suspected that the flood forces discalibrated the sensors in their final moments. They should anytime be able to measure the correct waterlevel, also in the case of an extreme highwater event. This calculation is based on a fixed Pegelnullpunkt, in this case 292.77 m asl.

After some time I got more info to find reasons for the "strange" water level values:

- Ultrasonic and radar sensors have a blind range of 15 to 150 cm, where they have difficulties correctly measuring heights.
- They were placed too low for water levels during torrential floods.
- Floating debris in the flood water adds to the problem.

When you see the elevation profile with the water flow path, you can deduct some things:

Above 2.9 m the water mass can stream over the eastbank, so that reduces the water level. It is visible as a plateau in the orange curve.

Out[88]:

Out[89]:

Note: the "Measured outflow at Altenahr", provided by the RLP Umwelt services, is derived from the water level.

The discharges were calculated by Lekan, and time shifted with a time lag in correspondence with the distance to Altenahr hydrometerstation.

This plot was based on a former calculation with coarser rainfall data...

The rainfall timeseries were not logged in European summer timings, so that means that an event at 18:00 is in fact happening at 19:00.

In other words: the blue curve has to move 1 hour to the right to be in sync with the waterlevel/outflow readings, which were in summer timings.

- The "derived" outflow means the debit based on the measured water levels, which is incorrect during floods due to the phenomenon of hysteresis.
- The combined outflow was calculated by the program "Lekan", based on 13 main tributaries.
- Peak factor was changed: 484 to 600, as it seems more appropriate in this mountainous valley.

- Curve numbers were assigned based on the proportion of the land use area in the catchments.
- Qgis was used to calculate these land use proportions of forest, grassland, agricultural land, buildup area and vegetationless soil.
- Qgis was used to find the hydrological soil groups, which where group C, and <10% C/d (lower drainage level)

- Applied was an small penalty - because of the high wetness of the soils at 13/07 - for the curve numbers.

Out[99]:

Out[96]:

The displayed numbers are the outflows for some principal tributaries, and the combined - and also time-shifted - outflow of them all at Altenahr. $[m³/s]$

The rainfall peaks in Freilingen and Dreis-Brück occured about 4.5 to 6 hours later than the rainfall peaks on the right bank. This had to do with the very slow movement of the clouds that day (2-2.5km/hr), the orientation of the winds (SSW), and the exceptional amount of rainfall pouring down on the left bank that day.

But I like to mention that the amount of rainfall was +- the same in the morning of 14-07-2021 for all these locations.

Out[48]:

Out[49]:

The delay in arrival time is caused by the dynamic aspect of the flood wave: Dynamic wave

- Amplification
- Tend to form pulsating flows or surges

The average velocity of each stream should be calculated using manning’s equation u

The theoretical model for the flood wave used here, is a sudden dam breach. So an immediate height difference, not a gradual one as in river floods.

Source: Course CTB3350, Open Channel Flow, Faculty of Civil Engineering and Geosciences, February 2014, Delft University of Technology

*Flood waves are in essence humps of water traveling downriver. Stated in more detail, they
are temporary increases and decreases of discharge and water level (‘stage’) in a river caused
by temporarily enlarged run-off in the catchment area due to heavy rainfall or snow melt,
which travel downriver as a wave.
The temporal evolution and dynamics of flood waves differ greatly between the upper reaches
and the lower reaches of a river.
In the upper reaches, characterized by relatively steep slopes and a small catchment area,
the response to an increased run-off can be quite fast, with rapid variations in flow rate and
water level, even to the extent that inhabitants along the river border are taken by surprise,
sometimes with fatal consequences.
In contrast, flood waves in the lower river reaches are slow processes, in many cases
taking place over several days, due to the larger catchment area, the existence of tributaries,
and the greater propagation distance from upstream. Run-off peaks in different part of the
larger catchment area do not in general occur simultaneously, so that the maximum of their
sum is less than the sum of the individual maxima. Moreover, as we will see, the internal
dynamics of the flood wave cause it to flatten and to elongate as it propagates.*

A delay of 1 hour for the combined flow to arrive at Altenahr station, which can be explained by the (clogged) bridges, which were in fact obstacles, is visible.

Out[74]:

The high-water wave speed (celerity) is $$c_{hw} = \frac{1}{B}\frac{dQ_u}{d d}= \frac{3}{2}\frac{B_c}{B}U$$

$$σ_s(t) = \sqrt[2]{2 K_0 t} $$and $i_b$: bed slope, and diffusivity, to be denoted as K: $$K_0 =\frac{Q_0}{2 i_b B}$$

$$𝐾_0= \frac{U_0 d_0}{2 i_b} \frac{B_c}{B}$$

- wave speed: $c = \sqrt {gAc/B} =\sqrt {gdB_c/B}$ #m/s

d= init. depth - discharge: $Q = Bc δh$ #m3/s

δh: rise in surface elevation - flow velocity: $U = Q/Ac$ # m/s;

this result also follows from $U = (g/c) δh$ # m/s. - ratio of the advection of momentum relative to the pressure force: $U^2/g δh$ .

Example from the course:

Out[61]:

Because of the failure of a dam, a volume of 106 m3 of water is suddenly released in a river, at t = 0 in s = 0, say.

Initially, the flow is uniform; the bed slope is ib = 1.5 × 10−4, cf = 0.005, d = 3 m, conveyance width Bc = B storage width = 50 m.

Calculate:

- The value of the diffusivity K (using the initial values of the flow parameters). (Answer: K = 8.9×10^3 m2/s)
- The maximum height of the resulting flood wave at t = 5 hrs, and the location smax where this occurs. (Answer: maximum height is 0.45 m, smax= 25 km)
- Explain why the maximum height of question (b) is less than the maximum height occurring in s = smax during the passage of the flood wave, and verify this with calculations for a few chosen instants near the time t = 5 hrs.

Out[36]:

Out[20]:

Out[22]:

Out[25]:

Out[66]:

Lets take the diffusion of the peak at Musch to Altenahr... which is probably too distorted to be detectable, by the presence of wave narrowing and blocking bridges.

Out[68]:

$σ_s$ increases in time proportional to √t: the wave elongates.

For the wave at t1 and t2 the ratio V/B [length/width] remains constant.

So I need to get the water level and base differences for Musch and other tributaries, and compare them with these at Altenahr: that's too much hussle and too many unknowns.

Out[129]:

*In the preceding section, the variations in the slope of the free surface, which accompany the
passage of a flood wave, were ignored. Actually, the slope varies, being larger than the slope
in uniform flow (ib) in the leading part of a flood wave, i.e. at rising river stage in a fixed
point, whereas it is less than ib in the trailing part, i.e. at falling river stage.
Therefore, at a given stage, the discharge is greater when the surface elevation rises than when it falls.
This is a manifestation of the phenomenon of hysteresis.*

Out[85]:

Out[77]:

Out[78]:

Out[75]:

Out[87]:

From the plot we can conclude: the peak debit at Müsch happened 3:00-3:30 hours before the peak water level.

Also the orange curve is very steep, which points out that the water mass cannot pass swiftly through the narrow valley.

First I thought I'd need to differentiate...