|
24 | 24 | "source": [
|
25 | 25 | "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",
|
26 | 26 | "\n",
|
27 |
| - "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", |
| 27 | + "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", |
28 | 28 | "\n",
|
29 | 29 | "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",
|
30 | 30 | "\n",
|
|
117 | 117 | "</br>\n",
|
118 | 118 | "$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",
|
119 | 119 | "\n",
|
120 |
| - "$$ t_{peak} = 0.128*(\\frac{l}{s^{0.5}})^{0.79}$$\n", |
| 120 | + "$$ t_{con} = 0.128*(\\frac{length}{slope^{0.5}})^{0.79}$$\n", |
121 | 121 | "\n",
|
122 | 122 | "\n",
|
123 |
| - "- $l$ is mainstream length (units: km).\n", |
124 |
| - "- $s$ is the sine of main-channel slope angle (dimensionless).\n" |
| 123 | + "- $length$ is mainstream length (units: km).\n", |
| 124 | + "- $slope$ is the sine of main-channel slope angle (dimensionless).\n" |
125 | 125 | ]
|
126 | 126 | },
|
127 | 127 | {
|
|
134 | 134 | "# calculate time to peak\n",
|
135 | 135 | "def calculate_time_to_peak(length, slope, t_rain):\n",
|
136 | 136 | " \"\"\"\n",
|
137 |
| - " Calculate the time to peak of a hydrograph using the SCS-CN method..\n", |
| 137 | + " Calculate the time to peak of a hydrograph using the SCS-CN method.\n", |
138 | 138 | "\n",
|
139 | 139 | " Parameters\n",
|
140 | 140 | " ----------\n",
|
|
205 | 205 | "metadata": {},
|
206 | 206 | "outputs": [],
|
207 | 207 | "source": [
|
208 |
| - "# load scs unit hydrograph\n", |
| 208 | + "# load SCS unit hydrograph\n", |
209 | 209 | "import pandas as pd\n",
|
210 | 210 | "\n",
|
211 | 211 | "unit_hydrograph = pd.read_csv(\"./data/scs_unit_hydrograph.csv\")\n",
|
|
234 | 234 | "id": "48ff05ee-f69e-4586-a9e3-88f8757be0ad",
|
235 | 235 | "metadata": {},
|
236 | 236 | "source": [
|
237 |
| - "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." |
| 237 | + "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." |
238 | 238 | ]
|
239 | 239 | },
|
240 | 240 | {
|
|
353 | 353 | "metadata": {},
|
354 | 354 | "source": [
|
355 | 355 | "### 1) Example\n",
|
356 |
| - "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", |
| 356 | + "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", |
357 | 357 | "\n",
|
358 |
| - "| Land Cover Type| Fraction of total area | Curve number |\n", |
| 358 | + "| Land Cover Type| Fraction of Total Area | Curve Number |\n", |
359 | 359 | "|----------|----------|----------|\n",
|
360 | 360 | "| Forest (soil group B) | 0.58 | 58 |\n",
|
361 | 361 | "| Forest (soil group C) | 0.12 | 72 |\n",
|
|
404 | 404 | "id": "5c497dcc-c0ad-48c0-a68a-a7a85f102e0e",
|
405 | 405 | "metadata": {},
|
406 | 406 | "source": [
|
407 |
| - "### 2) Hands on Exercise\n", |
| 407 | + "### 2) Hands-on Exercise\n", |
408 | 408 | "\n",
|
409 | 409 | "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",
|
410 |
| - "| Condition| Soil Wetness | Curve number |\n", |
| 410 | + "| Condition| Soil Wetness | Curve Number |\n", |
411 | 411 | "|----------|----------|----------|\n",
|
412 | 412 | "| I | Dry but above wilting point | 35 |\n",
|
413 | 413 | "| II | Average | 54 |\n",
|
|
444 | 444 | "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. "
|
445 | 445 | ]
|
446 | 446 | },
|
| 447 | + { |
| 448 | + "cell_type": "code", |
| 449 | + "execution_count": null, |
| 450 | + "id": "f5e238ef-361f-4f01-9b5c-171f5644aa08", |
| 451 | + "metadata": {}, |
| 452 | + "outputs": [], |
| 453 | + "source": [ |
| 454 | + "# write your code here" |
| 455 | + ] |
| 456 | + }, |
447 | 457 | {
|
448 | 458 | "cell_type": "markdown",
|
449 | 459 | "id": "ca66a10c-cd2e-4495-8067-06ff59b662e9",
|
|
0 commit comments