3. Infiltration, Evaporation, and Soil Moisture#
Course Website
Readings#
Chow, V.T., Maidment, D.R., Mays, L.W., 1988, Applied Hydrology: New York, McGraw-Hill. pp. 80-91
Gupta, R.S., 2017. Hydrology and Hydraulic Systems, pp. 65-88; pp. 93-111
Chow, V. T., 1964. Handbook of Applied Hydrology. McGraw Hill, New York. Sec. 14., 2pp.
Wurbs and James, 2002. Water Resources Engineering. Prentice-Hall, New Jersey. Pp 462-483.
Polubarinova-Kochina, 1962. Theory of Groundwater Movement, (Translated from Russian by R. De Wiest), Princeton University Press, New Jersey.
VICAIRE (VIrtual CAmpus In hydrology and water REsources management) Used as source for some images, and instructional content.
Spreadsheets#
Green-Ampt Spreadsheet (Excel) Right-Click “Save As…”
Blaney-Criddle Spreadsheet (Excel) Right-Click “Save As…”
Thornwaithe Spreadsheet (Excel) Right-Click “Save As…”
Videos#
Infiltration Process and Factors Affecting It#
One of the key factors affecting how much rainfall becomes runoff in a watershed is infiltration; the process by which water enters the soil. This is part of what we call hydrologic abstractions, which are the various ways water is absorbed, retained, or evaporated before it ever contributes to surface flow. In simple terms, the water that doesn’t run off is either infiltrating into the ground or returning to the atmosphere in some form.
The amount of runoff we ultimately see is the difference between the rainfall that falls and the portion that is removed by these abstraction processes. Importantly, soil moisture conditions at the time of the storm play a major role. If the soil is already saturated, much less water will infiltrate—leading to more runoff. Conversely, dry soils can absorb a greater amount of water, reducing surface flow. So when we’re modeling stormwater or flood behavior, it’s critical that we account for how infiltration and soil moisture interact over time.
Infiltration is a complex process influenced by multiple factors such as soil characteristics, land use, slope, vegetation cover, precipitation intensity, and human activities. The soil’s permeability, texture, structure, and moisture content significantly impact infiltration rates. Coarse soils with higher permeability tend to have higher infiltration rates compared to fine-textured soils like clay. Importance and Roles:
Roles in hydrology:#
Water Availability: Infiltration governs the replenishment of groundwater resources, contributing to the sustained flow of streams and rivers during dry periods. A high infiltration rate allows water to percolate deeper into the soil, recharging aquifers and maintaining base flow in rivers.
Flood Mitigation: Adequate infiltration helps prevent surface runoff, reducing the risk of flooding by allowing water to infiltrate into the soil, thus delaying the onset of overland flow.
Water Quality: Infiltration acts as a natural filter, removing pollutants and impurities as water percolates through the soil. However, excessive or improper land use can compromise this filtration capacity, leading to contamination of surface water resources.
Factors Affecting Infiltration Processes:#
Land Use: Urbanization and deforestation can reduce natural infiltration rates due to increased impervious surfaces, resulting in enhanced surface runoff and decreased groundwater recharge.
Climate Change: Alterations in precipitation patterns and intensities due to climate change can affect infiltration rates, potentially leading to soil erosion and reduced water infiltration capacities.
Soil Management Practices: Techniques such as cover cropping, no-till agriculture, and contour plowing can help enhance soil structure and organic matter, promoting better infiltration.
Engineering Enhancement Strategies:#
Green Infrastructure: Implementing green spaces, permeable pavements, and rain gardens in urban areas can enhance infiltration rates and decrease surface runoff.
Soil Conservation: Practices like terracing, contour farming, and agroforestry aid in reducing soil erosion, enhancing soil structure, and preserving natural infiltration capacities.
Education and Regulation: Public awareness campaigns and policies regarding responsible land use and water management can aid in preserving natural infiltration processes.
#
Infiltration Models#
Examination of various process models at
Infiltration Process Description#
Water that soaks into the ground and thereby enters the soil structure is considered removed from the runoff process at the time it enters the soil. The process by which this occurs is called infiltration. This process is the first step in a lengthy and vital process, the interaction of soil, water, air, and plant life.
The soil matrix in its simplest form consists of particles of soil (minerals) loosely packed together in such a way that there are void spaces (pores). The pores are filled by either air or by water. If the voids are completely filled with water, the soil is said to be saturated. If a volume of saturated soil overlies something that does not block flow, some of the water contained in it will drain away, and some will remain trapped in the pore spaces in the soil by capillary forces. The size of the pore spaces in natural soils is such that capillary forces are important in the movement of water through them. The amount of water that drains through is called gravitational water, and is particular to the soil, as is the amount retained. The water retained balances forces between gravity and capillarity, and maintains equilibrium.
Plants have roots that penetrate the upper soil layers, and remove water held there by cap-illarity. The upper layers of soil are thereby unbalanced, having capillary potential available to take up water. When rain falls on such a soil, there are initially two forces driving water into the soil- gravity and capillarity. If sufficient rain is available, the upper layers of the soil will become saturated, and the water will proceed downward. Due to the dual forces of capillarity and gravity, the initial rate of uptake of water may be quite high. As the capillary force is satisfied, gravity becomes the only force and the rate of uptake reaches an equilibrium value, as gravitational water drains through the soil.
The progress of this phenomenon can be shown graphically sketch on board. Initially, the rate of infiltration is quite high, and it decays to a steady-state value as a first-order function of time.
Mathematically, there have been a number of relationships proposed to represent this progress. Collectively these equations represent different loss models. They are all attempts to explain a complex phenomenon currently beyond our understanding at any but the smallest scales. What follows are the set of more common models in use.
Proportional Loss Model#
The loss is some proportion of the incoming rainfall. Somewhat similar in mindset to the rational method, but every rainfall pulse produces runoff (albeit possibly quite small). It does produce good mass balance with observations.
[NEED TO COMPLETE SECTION]
Horton’s Model#
Hortons equation is one of the simpler, and is presented here:
where \(q(t)\) = the infiltration rate at time \(t\), in length/time;
\(f_c\) = the equilibrium infiltration rate, in length/time;
\(f_o\) = the initial infiltration rate, in length/time;
\(k\) = a decay constant, particular to the soil, in reciprical time;
\(t\) = time.
The integral of Hortons equation with time is the volume of rainfall that infiltrates during an event.
where I(t) is cumulative infiltration at time t, a depth. The parameters in Hortons equation can be determined for any give soil by infiltrometer tests. The parameters in Hortons equation can be determined for any give soil by infiltrometer tests. A script to generate a graph of Hortons equation for \(f_c = 0.53~in/hr\), \(f_o = 3~in/hr\), and \(k = 4.182~hr^{−1}\) is listed below.
In the script below the input precipitation is set to slightly exceed the initial rate so that runoff is generated immediately, its mostly to show a runoff plot but is ancillary to the example.
## Hortonian Infiltration Excess Model
import math
howmany = 1000
k = 4.182 # watershed infiltration excess decay constant
f0 = 3.0 # initial infiltration rate
fC = 0.53 # asymptotic infiltration rate
#
pRate = 3.0001 # some constant rate in excess of fC, for plotting only!
Tend = 5.0 # rainfall duration
def qfunc(f0,fC,kay,time):
qfunc = fC+(f0 - fC)*math.exp(-time*kay)
return(qfunc)
def peein(rate,time,tend): # a simple hyetograph model
if time >= tend:
peein=0.0
else:
peein=rate
return(peein)
qnow = [0 for i in range(howmany)]
CumQnow = [0 for i in range(howmany)]
CumPnow = [0 for i in range(howmany)]
PXSnow = [0 for i in range(howmany)]
time = [0 for i in range(howmany)]
deltat = 0.004 # time step value
# time zero values
qnow[0]=qfunc(f0,fC,k,time[0])
for itime in range(1,howmany):
time[itime] = deltat+time[itime-1]
qnow[itime]=qfunc(f0,fC,k,time[itime])
CumQnow[itime]=qnow[itime]*deltat + CumQnow[itime-1]
# rnow[itime]=alpha*qfunc(peein,time[itime],alpha)
PXSnow[itime]=peein(pRate,time[itime],Tend)*time[itime]-CumQnow[itime]
CumPnow[itime]=peein(pRate,time[itime],Tend)*time[itime]
import matplotlib.pyplot # the python plotting library
myfigure = matplotlib.pyplot.figure(figsize = (10,5)) # generate a object from the figure class, set aspect ratio
# Built the plot
#matplotlib.pyplot.plot(pnow, pnow, color ='blue')
matplotlib.pyplot.plot(time, qnow, color ='orange')
matplotlib.pyplot.plot(time, CumQnow, color ='green')
matplotlib.pyplot.plot(time, PXSnow, color ='red')
matplotlib.pyplot.plot(time, CumPnow, color ='blue')
matplotlib.pyplot.ylim([0,2*max(qnow)])
matplotlib.pyplot.xlabel("Time (hours)")
matplotlib.pyplot.ylabel("Infiltration Rate (inches/hour) or Depth (inches)")
matplotlib.pyplot.title("Hortonian Infiltration Excess Model \n"+"F_initial ="+str(f0)+
" F_equilibrium ="+str(fC)+" Decay Constant (1/hr) ="+str(k) )
matplotlib.pyplot.legend(["Infiltration Rate (in/hr)","Infiltration Depth (inches)","Runoff Depth (inches)","Precipitation Depth (inches)"])
matplotlib.pyplot.show()

When rain begins, infiltration also begins, and is the initial value (denoted fo in Hortons equation) is quite high (in this case, \(3.0~in/hr\)). At that time, infiltration rate usually exceeds the intensity of rainfall. As the infiltration rate drops, it at some point intersects with the rate of rainfall. After that point, rainfall rate will exceed infiltration rate. With no runoff, water would begin to pond on the soil surface. The time from beginning of rain until that point is reached is called the time to ponding. After some time, the infiltration rate has dropped until it approaches an equilibrium value, represented by \(f_c\) (in this case, \(0.53~in/hr\)). After that time, gravity alone is the force driving the infiltration process.
If the rainfall rate is less that the initial rate, and the storm duration is a bit shorter different results appear as below when the storm is shortened to 2 hours, and the rainfall rate is 2.0
## Hortonian Infiltration Excess Model
import math
howmany = 1000
k = 4.182 # watershed infiltration excess decay constant
f0 = 3.0 # initial infiltration rate
fC = 0.53 # asymptotic infiltration rate
#
pRate = 2.0001 # some constant rate in excess of fC, for plotting only!
Tend = 2.0 # rainfall duration
def qfunc(f0,fC,kay,time):
qfunc = fC+(f0 - fC)*math.exp(-time*kay)
return(qfunc)
def peein(rate,time,tend): # a simple hyetograph model
if time >= tend:
peein=0.0
else:
peein=rate
return(peein)
qnow = [0 for i in range(howmany)]
CumQnow = [0 for i in range(howmany)]
CumPnow = [0 for i in range(howmany)]
PXSnow = [0 for i in range(howmany)]
time = [0 for i in range(howmany)]
deltat = 0.004 # time step value
# time zero values
qnow[0]=qfunc(f0,fC,k,time[0])
for itime in range(1,howmany):
time[itime] = deltat+time[itime-1]
qnow[itime]=qfunc(f0,fC,k,time[itime])
CumQnow[itime]=qnow[itime]*deltat + CumQnow[itime-1]
# rnow[itime]=alpha*qfunc(peein,time[itime],alpha)
PXSnow[itime]=peein(pRate,time[itime],Tend)*time[itime]-CumQnow[itime]
CumPnow[itime]=peein(pRate,time[itime],Tend)*time[itime]
import matplotlib.pyplot # the python plotting library
myfigure = matplotlib.pyplot.figure(figsize = (8,4)) # generate a object from the figure class, set aspect ratio
# Built the plot
#matplotlib.pyplot.plot(pnow, pnow, color ='blue')
matplotlib.pyplot.plot(time, qnow, color ='orange')
matplotlib.pyplot.plot(time, CumQnow, color ='green')
matplotlib.pyplot.plot(time, PXSnow, color ='red')
matplotlib.pyplot.plot(time, CumPnow, color ='blue')
matplotlib.pyplot.ylim([0,2*max(qnow)])
matplotlib.pyplot.xlabel("Time (hours)")
matplotlib.pyplot.ylabel("Infiltration Rate (inches/hour) or Depth (inches)")
matplotlib.pyplot.title("Hortonian Infiltration Excess Model \n"+"F_initial ="+str(f0)+
" F_equilibrium ="+str(fC)+" Decay Constant (1/hr) ="+str(k) )
matplotlib.pyplot.legend(["Infiltration Rate (in/hr)","Infiltration Depth (inches)","Runoff Depth (inches)","Precipitation Depth (inches)"])
matplotlib.pyplot.show()

Phi-Index Infiltration Model#
The \(\phi\)-index is a simplified infiltration model commonly used in hydrology. It assumes that the infiltration capacity of the soil remains constant throughout a storm event, expressed as \(\phi\) (in/hr). When paired with observations from a rainfall hyetograph and runoff hydrograph, a suitable value for \(\phi\) can often be estimated with reasonable accuracy.
Field data indicate that infiltration capacity is highest at the onset of a storm and then decreases rapidly to a relatively stable value. Because this stabilization typically occurs within 10 to 15 minutes, it is generally acceptable to treat the infiltration rate as constant for the duration of the event.
The \(\phi\)-index approach simplifies hydrologic loss modeling as follows:
When rainfall intensity is less than the infiltration capacity, all rainfall infiltrates, and the loss rate equals the rainfall intensity.
When rainfall intensity exceeds the infiltration capacity, the loss rate is capped at \(\phi\).
This relationship is mathematically defined as:
where:
\(q(t)\) is the infiltration loss rate,
\(i(t)\) is the storm rainfall intensity at time \(t\),
\(\phi\) is the constant infiltration capacity.
To estimate \(\phi\) from measured rainfall-runoff data:
Separate baseflow from total runoff volume,
Compute the volume of direct runoff,
Determine the value of \(\phi\) such that the volume of effective rainfall (rainfall exceeding \(\phi\)) equals the volume of direct runoff.
Once individual storm values are computed, an average \(\phi\)-index may be derived to represent typical conditions for use in design and modeling.
Green-Ampt Model#
The Green-Ampt model is a simplified soil-physics model that is reasonably defendible in most hydrologic engineering situations.
A detailed explaination with example calculations is located at Cleveland, T. G. (2008) Surface Water Hydrology Notes (Green-Ampt Infiltration) to accompany CE-5361, Department of Civil, Environmental, and Construction Engineering, Whitacre College of Engineering.
Green-Ampt Infiltration and Falling Head Permeameter#
The Green-Ampt model needs some context before presentation. The falling head permeameter is used when the hydraulic conductivity of the porous material is small. In this case, a constant head permeameter cannot easily generate a high enough gradient to produce measurable flow in a reasonable amount of time.
The figure below shows a schematic diagram of a falling head permeameter. A sample of porous medium is placed in the device. The length of the sample is \(L\), the cross-sectional area of the sample is \(A = \pi \frac{(2r_s)^2}{4}\). A smaller area tube rises above the sample with area \(a = \pi \frac{(2r)^2}{4} \). This tube provides the driving force required to move water through the porous sample with reasonably small water volume.
The head is measured at the inlet of the sample as the height of water in the tube above the sample, \(h(t)\). The flow rate through the sample is \(Q(t)\), and in a falling head permeameter, both \(h(t)\) and \(Q(t)\) vary with time.
Darcy’s law for this situation is:
A volume balance gives an alternate expression for discharge rate:
Separating variables and integrating:
Evaluating the integral gives:
This equation is linear in time, so a plot of \(\ln(h)\) versus time should yield a straight line. The slope is proportional to the hydraulic conductivity \(K\).
Now, turning to runoff and infiltration: in watershed settings, the tube and soil sample areas are essentially equal, but not all water infiltrates—some runs off after ponding.
Figure 4 illustrates infiltration over time. Water has infiltrated into the soil to depth \(z\) after some ponding. The amount infiltrated is:
The rate of wetting front movement is:
Darcy’s law from the surface to the wetting front is:
Equating the two rates gives:
Separate and integrate:
Using a partial fraction expansion:
Integration yields:
Setting \(t = 0\) and \(z = 0\) gives \(C = 0\). Rearranging:
Now define infiltration depth:
Substituting into the equation:
Classical Green-Ampt Form#
Green & Ampt (1911) simplified infiltration model is based on an approximation of the water content profile in a soil, as depicted in the figure below.
The wetting front is a sharp boundary (this sharp separation is the fundamental approximation) separating wet and dry soil zones. In Green-Ampt’s formulation the soil above the front is saturated, and that below is “dry.” The wetting front advances to depth \(L\) in time \(t\), with a small ponded depth \(h_0\) on the surface. The Green-Ampt equation is structurally similar to the derivation above, but with a new definition:
So the Green-Ampt formula becomes:
This expression gives the total cumulative infiltration at time \(t\) during a storm. Combined with rainfall data, it helps compute runoff by subtracting infiltration from total precipitation.
Green-Ampt is explicitly listed as the the preferred method in the TSARP report for Harris County. Many modeling tools (e.g., HEC-HMS, SWMM) support it using \(K\), \(\nabla \phi\), \(h_c\), and \(\psi_f\) forms.
My preference is to use the \(K\), \(n\), and \(h_c\) form because these parameters are often easier to estimate. However, most tools support all equivalent forms.
Initial Abstraction - Constant Loss#
For this watershed-loss model, a watershed is conceptualized to have the capacity to store or abstract an absolute depth of rainfall at and near the beginning of a storm. Depths of total rainfall less than this initial abstraction do not produce runoff. The watershed also is conceptualized to have the capacity to remove rainfall at a constant rate (loss) after the initial abstraction is satisfied. Additional rainfall inputs after the initial abstraction is satisfied contribute to runoff if the rainfall rate (intensity) is larger than the constant loss.
GIS Soils Properties#
From the discussion regarding infiltration, it should be apparent that soil properties are important. There
Paper-Based Maps#
Well just kidding, the old soils maps (of my generation) are archived at USDA Soil Surveys
An example watershed at Caprock Canyon (called the Lake Theo watershed in my notes) is in Briscoe Co. Texas
Here is the soils map Briscoe Co. Tx Soils Maps (with text)
The study location is Map sheet 51 in the document.
The main mapped soils are QBG,BeB, and BeC. In the same document are tables that reference these codes back to soil descriptions.
From the tables we obtain various estimates as:
Soil |
\(K_{sat}\)(in/hr) |
\(\approx~n\) (from AWC value) |
\(\approx~D_{50}\) (from sieve data)(mm) |
---|---|---|---|
QBG |
2.0-6.0 |
0.10-0.20 |
0.074 |
BeB |
0.6-2.0 |
0.14-0.17 |
0.42-0.074 |
BeC |
0.6-2.0 |
0.14-0.17 |
0.42-0.074 |
As you will see in the in-class demonstration; the process to find these values is a bit slow - one can imagine the difficulties over larger areas, however it does provide meaningful values to parameterize one of the various infiltration models. We still need some way to approximate soil suction (or mean pore size) we can certainly use a guess of \(D_{50}\) we can estimate from the soils map as a surogate for pore size to estimate a suction value.
Now we recall from our Fluids class something like:
So with some guess of the \(D_{50}\) we can estimate the suction from a capillary rise approximation.
\(h_c = \frac{4 \sigma}{\gamma d}\)
surface_tension = 0.0728 # N/m
sp_weight = 9790 #N/cu.m.
diameter = 0.074e-3 #meters
capillary_rise = (4*surface_tension)/(sp_weight*diameter)
print(" Surface Tension ",round(surface_tension,3)," N/m")
print(" Specific Weight (of liquid) ",round(sp_weight,3)," N/cu.m.")
print(" Mean Pore Diameter ",round(1000*diameter,3)," mm\n ")
print("Capillary Rise ",round(capillary_rise,3)," m")
Surface Tension 0.073 N/m
Specific Weight (of liquid) 9790 N/cu.m.
Mean Pore Diameter 0.074 mm
Capillary Rise 0.402 m
This capillary rise is a useful surrogate for the suction pressure in the infiltration models. For instance a Green-Ampt model for these soils would be something like:
\(I(t)=K_{sat}t + (H+h_c)ln(1+\frac{I(t)}{(H+h_c)n})\)
In our case \(h_c\approx 15~in.\); \(K_{sat} \approx 2.0~\frac{in.}{hr}\); and \(n \approx 0.20\) or something to this effect. So later on we can use this to estimate loss (and potential runoff).
GIS Data#
There is a soil survey geographic database at USDA Soils Data Gateway
You can also access from WSS in the navigation column USDA Web Soil Survey
An alternative is to use CN Generator Plug-In
Evapotranspiration#
TWDB Database#
Infiltration Process and Factors Affecting It#
Soil types, vegetation, land use, and surface conditions
Horton and Green-Ampt equations
Soil Moisture and Groundwater Recharge#
Field capacity, wilting point, and available moisture
Percolation and aquifer recharge