Return period
Let's calculate the intensity of once-in-a-century rainfall
Bilbao, today
Bilbao, August 1983
On Friday, August 26, 1983, Bilbao was celebrating its Aste Nagusia or Great Week, the main annual festivity in the city, when it and other municipalities of the Basque Country, Burgos, and Cantabria suffered devastating flooding due to heavy rains. In 24 hours, the volume of water registered 600 liters per square meter. Across all the affected areas, the weather service recorded 1.5 billion tons of water. In areas of Bilbao, the water reached a height of 5 meters (15 feet). Transportation, electricity and gas services, drinking water, food, telephone, and many other basic services were severely affected. 32 people died in Biscay, 4 people died in Cantabria, 2 people died in Alava, and 2 people died Burgos. 5 more people went missing.
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from functools import reduce
import re
import probscale
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
%matplotlib notebook
fig, ax = plt.subplots(figsize=(10,6))
df = pd.read_csv("hydrology_figures/BILBAO-parsed" + ".csv", sep=",")
df['full-date'] = pd.to_datetime(df['full-date'])
df = df.set_index('full-date')
ax.plot(df['rain (mm)'], '-o', label="daily rain (mm)")
ax.set_xlabel("date")
ax.set_ylabel("daily rainfall (mm)")
ax.set_title("Hyetograph -- Bilbao, Spain")
plt.gcf().autofmt_xdate()
df2 = df.copy()
df2['rain (mm)'] = df2['rain (mm)'].replace({0.0:np.nan})
df2.dropna(subset=['rain (mm)'])
%matplotlib notebook
import altair as alt
alt.data_transformers.disable_max_rows()
df2 = df.copy()
df2['data'] = pd.to_datetime(df2.index)
df2['rain (mm)'] = df2['rain (mm)'].replace({0.0:np.nan})
df2.dropna(subset=['rain (mm)'])
df3 = df2['1948-01-01':'1965-01-01']
alt.Chart(df2).mark_line().encode(
x='data:T',
y='rain (mm):Q'
).interactive()