Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tian/update #140

Merged
merged 3 commits into from
Jul 26, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 21 additions & 11 deletions lessons/python/rainfall_runoff.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"source": [
"One of the principal applications of hydrology is in the forecasting and prediction of flood peaks and runoff volumes due to large rain and snowmelt events. To do this, researchers use models that simulate the stream response to a water-input event of a given magnitude and spatial and temporal distribution on a drainage basin. These models are usually referred to as rainfall-runoff models.\n",
"\n",
"Rainfall-runoff models include conceptual models and physically based models. These models are used to generate design floods or forecast floods from actual storms. A design flood is used in the design of bridges, levees, or floodplain-management plans. Flood forecasting is the process of predicting the occurrence, magnitude, timing, and duration of floods in a specific area. It is usually done via complex hydrologic models that are varying degrees physically based, rather than the simple conceptual models.\n",
"Rainfall-runoff models include empirical models, conceptual models, and physically based models. These models are used to generate design floods or forecast floods from actual storms. A design flood is used in the design of bridges, levees, or floodplain-management plans. Flood forecasting is the process of predicting the occurrence, magnitude, timing, and duration of floods in a specific area. It is usually done via complex hydrologic models that are varying degrees physically based.\n",
"\n",
"In this tutorial, we will learn to write a simple rainfall-runoff model in Python and use it to estimate runoff hydrograph for an example small watershed.\n",
"\n",
Expand Down Expand Up @@ -117,11 +117,11 @@
"</br>\n",
"$t_{con}$ is the time which takes water to travel from the hydraulically most distant part of the contributing area to the outlet. $t_{con}$ could be estimated with functions using watershed characteristics.\n",
"\n",
"$$ t_{peak} = 0.128*(\\frac{l}{s^{0.5}})^{0.79}$$\n",
"$$ t_{con} = 0.128*(\\frac{length}{slope^{0.5}})^{0.79}$$\n",
"\n",
"\n",
"- $l$ is mainstream length (units: km).\n",
"- $s$ is the sine of main-channel slope angle (dimensionless).\n"
"- $length$ is mainstream length (units: km).\n",
"- $slope$ is the sine of main-channel slope angle (dimensionless).\n"
]
},
{
Expand All @@ -134,7 +134,7 @@
"# calculate time to peak\n",
"def calculate_time_to_peak(length, slope, t_rain):\n",
" \"\"\"\n",
" Calculate the time to peak of a hydrograph using the SCS-CN method..\n",
" Calculate the time to peak of a hydrograph using the SCS-CN method.\n",
"\n",
" Parameters\n",
" ----------\n",
Expand Down Expand Up @@ -205,7 +205,7 @@
"metadata": {},
"outputs": [],
"source": [
"# load scs unit hydrograph\n",
"# load SCS unit hydrograph\n",
"import pandas as pd\n",
"\n",
"unit_hydrograph = pd.read_csv(\"./data/scs_unit_hydrograph.csv\")\n",
Expand Down Expand Up @@ -234,7 +234,7 @@
"id": "48ff05ee-f69e-4586-a9e3-88f8757be0ad",
"metadata": {},
"source": [
"In the dimensionless unit hydrograph, it has a characteristic shape with a rising limb, peak, and recession limb. The SCS method estimates the time to peak and peak discharge values (discussed above) and use them to scale the time and discharge axes as indicated in the unit hydrograph. With this idea, we could define a function to generate the runoff hydrograph."
"In the dimensionless unit hydrograph, it has a characteristic shape with a rising limb, peak, and recession limb. The SCS method estimates the time to peak and peak discharge values and use them to scale the time and discharge axes as indicated in the unit hydrograph. With this idea, we could define a function to generate the runoff hydrograph."
]
},
{
Expand Down Expand Up @@ -353,9 +353,9 @@
"metadata": {},
"source": [
"### 1) Example\n",
"Let's use the SCS model to estimate the runoff hydrograph for a rain event of 4.2in in 3.4hr for antecedent wetness conditions II on a 1.24 $mi^2$ watershed with a mainstream length of 1.35 km, a main-channel slope of 0.08, and the following land-cover characteristics:\n",
"Let's use the SCS model to estimate the runoff hydrograph for a rain event of 4.2 inch in 3.4 hours for antecedent wetness conditions II on a 1.24 $mi^2$ watershed with a mainstream length of 1.35 km, a main-channel slope of 0.08, and the following land-cover characteristics:\n",
"\n",
"| Land Cover Type| Fraction of total area | Curve number |\n",
"| Land Cover Type| Fraction of Total Area | Curve Number |\n",
"|----------|----------|----------|\n",
"| Forest (soil group B) | 0.58 | 58 |\n",
"| Forest (soil group C) | 0.12 | 72 |\n",
Expand Down Expand Up @@ -404,10 +404,10 @@
"id": "5c497dcc-c0ad-48c0-a68a-a7a85f102e0e",
"metadata": {},
"source": [
"### 2) Hands on Exercise\n",
"### 2) Hands-on Exercise\n",
"\n",
"Now please use the model to estimate the runoff hydrograph with antecedent wetness conditions I and III. The table below shows their corresponding soil wetness condition and weighted curve number for the watershed. How does the soil wetness condition impact the runoff hydrograph?\n",
"| Condition| Soil Wetness | Curve number |\n",
"| Condition| Soil Wetness | Curve Number |\n",
"|----------|----------|----------|\n",
"| I | Dry but above wilting point | 35 |\n",
"| II | Average | 54 |\n",
Expand Down Expand Up @@ -444,6 +444,16 @@
"Please use the SCS model to explore how the watershed characteristics (e.g., watershed area, mainstream length and slope) and various land use types impact the runoff hydrograph. "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f5e238ef-361f-4f01-9b5c-171f5644aa08",
"metadata": {},
"outputs": [],
"source": [
"# write your code here"
]
},
{
"cell_type": "markdown",
"id": "ca66a10c-cd2e-4495-8067-06ff59b662e9",
Expand Down
Loading