Citation
An Improved Green-Ampt Soil Infiltration and Redistribution Method and Its Application to 1-Dimensional and Quasi 3-Dimensional (Point Source) Flow Domains

Material Information

Title:
An Improved Green-Ampt Soil Infiltration and Redistribution Method and Its Application to 1-Dimensional and Quasi 3-Dimensional (Point Source) Flow Domains
Creator:
Gowdish, Leslie C
Place of Publication:
[Gainesville, Fla.]
Florida
Publisher:
University of Florida
Publication Date:
Language:
english
Physical Description:
1 online resource (227 p.)

Thesis/Dissertation Information

Degree:
Doctorate ( Ph.D.)
Degree Grantor:
University of Florida
Degree Disciplines:
Agricultural and Biological Engineering
Committee Chair:
Munoz-Carpena, Rafael
Committee Co-Chair:
Bucklin, Ray A.
Committee Members:
Campbell, Kenneth L.
Kiker, Gregory
Annable, Michael D.
Graduation Date:
12/14/2007

Subjects

Subjects / Keywords:
Integers ( jstor )
Modeling ( jstor )
Moisture content ( jstor )
Point sources ( jstor )
Simulations ( jstor )
Soil infiltration ( jstor )
Soil water ( jstor )
Soils ( jstor )
Three dimensional modeling ( jstor )
Wetting front ( jstor )
Agricultural and Biological Engineering -- Dissertations, Academic -- UF
computer, drip, flow, hydrologic, hydrology, irrigation, modeling, soil, trickle, unsaturated, vadose, zone
Genre:
bibliography ( marcgt )
theses ( marcgt )
government publication (state, provincial, terriorial, dependent) ( marcgt )
born-digital ( sobekcm )
Electronic Thesis or Dissertation
Agricultural and Biological Engineering thesis, Ph.D.

Notes

Abstract:
Unsaturated flow can best be described by Richards? equation. Numerical solutions of Richards? equation are generally computationally intensive and require extensive soil property data; therefore, simplified physically-based approaches have often been used. The purpose of this research was to develop and validate a physically-based approximate model for simulating infiltration and soil water redistribution in 1-D and quasi 3-D flow domains. The first step was to improve an existing 1-D infiltration and redistribution model, GAR, by increasing the number of redistributing wetting fronts and adding a correction factor, Gamma(a function of redistribution number - N_R, redistribution time - T_R, and saturated hydraulic conductivity - Ks). A comparison of a numerical solution of Richards? equation against the GAR and the modified GAR (MGAR) methods showed that the modified method predicts better the surface water content and is also able to predict the average water content for a desired observation layer. Next, the 3-D form of the Green-Ampt (3DGA) infiltration method was compared to several established point source models and published data. The results of the comparison showed that the 3DGA method is a viable model for simulating quasi 3-D flow domains. An equation for the 3DGA supply radius parameter was developed based on a simplified form of Philip's point source radius equation which is a function of emitter flow rate, saturated hydraulic conductivity and suction at the wetting front. Testing of the proposed equation showed good results for a wide variety of soils. Lastly, 3DGA was extended based on the MGAR method to calculate the change in water content during the 3-D redistribution phase. Comparison with 2-D Richards' numerical solution (Hydrus 2D) showed the model to provide good point-source simulations for a wide variety of soils. ( en )
General Note:
In the series University of Florida Digital Collections.
General Note:
Includes vita.
Bibliography:
Includes bibliographical references.
Source of Description:
Description based on online resource; title from PDF title page.
Source of Description:
This bibliographic record is available under the Creative Commons CC0 public domain dedication. The University of Florida Libraries, as creator of this bibliographic record, has waived all rights to it worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
Thesis:
Thesis (Ph.D.)--University of Florida, 2007.
Local:
Adviser: Munoz-Carpena, Rafael.
Local:
Co-adviser: Bucklin, Ray A.
Statement of Responsibility:
by Leslie C Gowdish.

Record Information

Source Institution:
UFRGP
Rights Management:
Copyright Gowdish, Leslie C. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Resource Identifier:
663881409 ( OCLC )
Classification:
LD1780 2007 ( lcc )

Downloads

This item has the following downloads:

gowdish_l.pdf

gowdish_l_Page_001.txt

gowdish_l_Page_035.txt

gowdish_l_Page_109.txt

gowdish_l_Page_160.txt

gowdish_l_Page_012.txt

gowdish_l_Page_100.txt

gowdish_l_Page_011.txt

gowdish_l_Page_203.txt

gowdish_l_Page_154.txt

gowdish_l_Page_221.txt

gowdish_l_Page_051.txt

gowdish_l_Page_021.txt

gowdish_l_Page_023.txt

gowdish_l_Page_129.txt

gowdish_l_Page_226.txt

gowdish_l_Page_222.txt

gowdish_l_Page_061.txt

gowdish_l_Page_224.txt

gowdish_l_Page_075.txt

gowdish_l_Page_155.txt

gowdish_l_Page_183.txt

gowdish_l_Page_217.txt

gowdish_l_Page_009.txt

gowdish_l_Page_089.txt

gowdish_l_Page_137.txt

gowdish_l_Page_156.txt

gowdish_l_Page_003.txt

gowdish_l_Page_020.txt

gowdish_l_Page_071.txt

gowdish_l_Page_176.txt

gowdish_l_Page_138.txt

gowdish_l_Page_063.txt

gowdish_l_Page_058.txt

gowdish_l_Page_050.txt

gowdish_l_Page_064.txt

gowdish_l_Page_093.txt

gowdish_l_Page_078.txt

gowdish_l_Page_125.txt

gowdish_l_Page_211.txt

gowdish_l_Page_117.txt

gowdish_l_Page_174.txt

gowdish_l_Page_114.txt

gowdish_l_Page_225.txt

gowdish_l_Page_128.txt

gowdish_l_Page_044.txt

gowdish_l_Page_052.txt

gowdish_l_Page_007.txt

gowdish_l_Page_104.txt

gowdish_l_Page_053.txt

gowdish_l_Page_158.txt

gowdish_l_Page_188.txt

gowdish_l_Page_219.txt

gowdish_l_Page_094.txt

gowdish_l_Page_143.txt

gowdish_l_Page_195.txt

gowdish_l_Page_082.txt

gowdish_l_Page_002.txt

gowdish_l_Page_041.txt

gowdish_l_Page_110.txt

gowdish_l_Page_004.txt

gowdish_l_Page_213.txt

gowdish_l_Page_205.txt

gowdish_l_Page_029.txt

gowdish_l_Page_040.txt

gowdish_l_Page_022.txt

gowdish_l_Page_096.txt

gowdish_l_Page_196.txt

gowdish_l_Page_079.txt

gowdish_l_Page_019.txt

gowdish_l_Page_055.txt

gowdish_l_Page_179.txt

gowdish_l_Page_006.txt

gowdish_l_Page_144.txt

gowdish_l_Page_151.txt

gowdish_l_Page_208.txt

gowdish_l_Page_024.txt

gowdish_l_Page_102.txt

gowdish_l_Page_227.txt

gowdish_l_Page_142.txt

gowdish_l_Page_127.txt

gowdish_l_Page_134.txt

gowdish_l_Page_057.txt

gowdish_l_Page_190.txt

gowdish_l_Page_025.txt

gowdish_l_Page_189.txt

gowdish_l_Page_112.txt

gowdish_l_Page_049.txt

gowdish_l_Page_210.txt

gowdish_l_Page_135.txt

gowdish_l_Page_181.txt

gowdish_l_Page_197.txt

gowdish_l_Page_191.txt

gowdish_l_Page_186.txt

gowdish_l_Page_120.txt

gowdish_l_Page_068.txt

gowdish_l_Page_178.txt

gowdish_l_Page_062.txt

gowdish_l_Page_080.txt

gowdish_l_Page_095.txt

gowdish_l_Page_121.txt

gowdish_l_Page_036.txt

gowdish_l_Page_147.txt

gowdish_l_Page_092.txt

gowdish_l_Page_048.txt

gowdish_l_Page_077.txt

gowdish_l_Page_133.txt

gowdish_l_Page_175.txt

gowdish_l_Page_157.txt

gowdish_l_Page_119.txt

gowdish_l_Page_056.txt

gowdish_l_Page_087.txt

gowdish_l_Page_215.txt

gowdish_l_Page_194.txt

gowdish_l_Page_126.txt

gowdish_l_Page_091.txt

gowdish_l_Page_046.txt

gowdish_l_Page_054.txt

gowdish_l_Page_043.txt

gowdish_l_Page_115.txt

gowdish_l_Page_088.txt

gowdish_l_Page_074.txt

gowdish_l_Page_150.txt

gowdish_l_Page_199.txt

gowdish_l_Page_193.txt

gowdish_l_Page_038.txt

gowdish_l_Page_033.txt

gowdish_l_Page_047.txt

gowdish_l_Page_017.txt

gowdish_l_Page_212.txt

gowdish_l_Page_218.txt

gowdish_l_Page_072.txt

gowdish_l_Page_067.txt

gowdish_l_Page_060.txt

gowdish_l_Page_192.txt

gowdish_l_Page_032.txt

gowdish_l_Page_161.txt

gowdish_l_Page_005.txt

gowdish_l_Page_184.txt

gowdish_l_Page_042.txt

gowdish_l_Page_220.txt

gowdish_l_Page_031.txt

gowdish_l_Page_073.txt

gowdish_l_Page_015.txt

gowdish_l_Page_090.txt

gowdish_l_Page_198.txt

gowdish_l_Page_180.txt

gowdish_l_Page_132.txt

gowdish_l_Page_013.txt

gowdish_l_Page_113.txt

gowdish_l_Page_171.txt

gowdish_l_Page_185.txt

gowdish_l_Page_018.txt

gowdish_l_Page_099.txt

gowdish_l_Page_163.txt

gowdish_l_Page_141.txt

gowdish_l_Page_069.txt

gowdish_l_Page_162.txt

gowdish_l_Page_086.txt

gowdish_l_Page_166.txt

gowdish_l_Page_207.txt

gowdish_l_Page_187.txt

gowdish_l_Page_140.txt

gowdish_l_Page_152.txt

gowdish_l_Page_037.txt

gowdish_l_Page_083.txt

gowdish_l_Page_027.txt

gowdish_l_Page_116.txt

gowdish_l_Page_216.txt

gowdish_l_Page_016.txt

gowdish_l_Page_034.txt

gowdish_l_Page_204.txt

gowdish_l_Page_209.txt

gowdish_l_Page_084.txt

gowdish_l_Page_173.txt

gowdish_l_Page_122.txt

gowdish_l_Page_159.txt

gowdish_l_Page_145.txt

gowdish_l_Page_172.txt

gowdish_l_Page_118.txt

gowdish_l_Page_169.txt

gowdish_l_Page_177.txt

gowdish_l_Page_097.txt

gowdish_l_Page_139.txt

gowdish_l_Page_111.txt

gowdish_l_Page_146.txt

gowdish_l_Page_105.txt

gowdish_l_Page_170.txt

gowdish_l_Page_070.txt

gowdish_l_Page_153.txt

gowdish_l_Page_136.txt

gowdish_l_Page_131.txt

gowdish_l_Page_124.txt

gowdish_l_Page_014.txt

gowdish_l_Page_028.txt

gowdish_l_Page_123.txt

gowdish_l_Page_066.txt

gowdish_l_Page_010.txt

gowdish_l_Page_182.txt

gowdish_l_Page_200.txt

gowdish_l_Page_008.txt

gowdish_l_Page_081.txt

gowdish_l_pdf.txt

gowdish_l_Page_085.txt

gowdish_l_Page_214.txt

gowdish_l_Page_202.txt

gowdish_l_Page_059.txt

gowdish_l_Page_101.txt

gowdish_l_Page_076.txt

gowdish_l_Page_165.txt

gowdish_l_Page_065.txt

gowdish_l_Page_108.txt

gowdish_l_Page_026.txt

gowdish_l_Page_030.txt

gowdish_l_Page_106.txt

gowdish_l_Page_039.txt

gowdish_l_Page_045.txt

gowdish_l_Page_130.txt

gowdish_l_Page_164.txt

gowdish_l_Page_223.txt

gowdish_l_Page_098.txt

gowdish_l_Page_149.txt

gowdish_l_Page_206.txt

gowdish_l_Page_103.txt

gowdish_l_Page_167.txt

gowdish_l_Page_148.txt

gowdish_l_Page_201.txt

gowdish_l_Page_107.txt

gowdish_l_Page_168.txt


Full Text








//calculate generic ganuna coefficient
FOR J := 1 to 3 DO
QP^ [Q]^.wflj].adjFactor := adjFactorCalc(QQP^ [Q]^`.wflj].numRedist
QP^ [Q]^.wflj].redistTime):

IF (QP^ [Q]^'.redistStatus = 11) THEN
BEGIN
IF (QP^ [Q]^'.pondingAmt > 0.0) THEN
BEGIN
QP^'[Q]^.redistStatus := 10: // do not redistribute wf 1
QP^`[Q]^.WF[1].z := calcRedistZf(QQP^ [Q]^.WF[[1].F~mtQP^Q]^WF1]W
QP^ [Q]^.WCI):
END
ELSE
Redist 11(QR,interTime-deltaT,intertime~deltaT,noknbd)
END
ELSE IF (QP^'[Q]^'.redistStatus = 20) THEN
BEGIN
Redist20 (Q ,R,interTime-deltaT,intertime ,deltaT,nok,nbad):
END
ELSE IF (QP^'[Q]^'.redistStatus = 21) THEN
BEGIN
IF (QP^ [Q]^'.pondingAmt > 0.0) THEN
BEGIN
QP^'[Q]^.redistStatus := 20:
Redist20 (QR,interTime-deltaT,intertime, deltaTT, nok, nbad):
END
ELSE
Redist21 (QR,interTime-deltaT,intertime, deltaTT, nok, nbad):
END
ELSE IF (QP^'[Q]^'.redistStatus = 30) THEN
BEGIN
Redist30(QR,interTime-deltaT,intertimedla~okna)
END
ELSE IF (QP^'[Q]^'.redistStatus = 31) THEN
BEGIN
IF (QP^ [Q]^'.pondingAmt > 0.0) THEN
BEGIN
QP^'[Q]^.redistStatus := 30:
Redist3 0(QR,interTime-deltaT,intertime, deltaTT, nok, nbad):
END
ELSE
Redist31 (QR,interTime-deltaT,intertime~deltaT,noknbd)
END
ELSE IF (QP^'[Q]^'.redistStatus = 40) THEN
BEGIN
Redist40 (Q ,R,interTime-deltaT,intertime ,deltaT,nok,nbad):
END
ELSE //redistStatus = 10, do not redistribute only move wfl down
QP^ [Q]^`.WF[1].z := calcRedistZf(QQP^ [Q]^.WF[[1].F~mtQP^Q]^WF1]WC
QP^ [Q]^.WCI):

IF QP^[Q]^.WF[1].WC > QP^`[Q]^`.WCS THEN
BEGIN
QP^[Q]^.WF[1].WC := QP^`[Q]^`.WCS:


.___________________d t b trp


--------


_______~









CHAPTER 3
COMPARISON OF SIMPLIFIED POINT SOURCE ALGORITHMS WITH THE 3-
DIMENSIONAL GREEN-AMPT INFILTRATION METHOD

Introduction

Intensive bed management systems (point source) have become increasingly popular for

agricultural production in Florida. Through their plastic-bed drip systems, these mechanisms can

provide an increase in water application efficiency and a decrease in nutrient leaching, all while

delivering desirable yields. There are increased benefits provided to sandy soils, seen throughout

Florida, which have high hydraulic conductivities and low water-holding capacities. Modeling

of these systems in particular is therefore useful in assessing water quality impacts by state

agencies and assisting in the BMP selection process for individual farmers.

One such modeling tool is the DSSAT system (Jones et al., 2003). The DSSAT program

has been used for a variety of applications. Recently, however, it has been found to be limited in

its ability to accurately model soil water movement for point source systems such as plastic-bed

management systems (McKinnie et al., 2003). It is believed that this shortcoming is due, in part,

to the fact that DSSAT simulates soil water flow as a vertical 1-D process. Furthermore, studies

have shown that in actuality the soil water flow path is quasi-spherical in shape and therefore

requires a 3-dimensional description (Warrick, 1974; Clark et al., 2006; Healy and Warrick,

1988).

Several methods for simulating infiltration in point source systems have been developed

based on Richards' (1931) equation for unsaturated flow. Analytical solutions to Richards'

equation have been developed, steady state solutions (Parlange, 1972; Philip, 1971; Raats, 1971;

Wooding, 1968), non-steady linearized solutions (Warrick, 1974; Warrick and Lomen, 1976) and

a quasi-linearized approximation solution (Philip, 1984a), with good results however they are not

general. Numerical solutions, such as the finite difference techniques of Bresler et al. (1971),

44










The relative error for each output was then calculated, as well as graphs for visual

inspection.

Results and Discussion

Results obtained for the Yolo Sand experiment for the 3DGA, Philip and Effective

Hemisphere models are compared to the published measured data in Tables 3-2 3-4. It should

be noted that the Generalized Solution model is not included in the results for Yolo Sand. The

Q* that was calculated for the given inputs was 50.4, which is much greater than the maximum

value of Q*"= 5.0 used in Table 1 of Healy and Warrick (1988) for the coefficients A-l used in

Eq.(3-) -(3-1).Thus, it was not possible to calculate the wetting front locations or wetted

volume. In addition, a comparison of the AO(Eq. 3-5) versus AO* (Eq. 3-6) showed that the AO*

did not give better results, and in fact was worse in some cases. Revol et al. (1997b) also found

that AB gave acceptable results with the exception of some coarse soils. Therefore, the AB values

were used for purposes of these comparisons.

Table 3-2 shows that the Effective Hemisphere model under predicted the maximum

wetted depth, especially as time increased. This under prediction is most likely due to the effects

of gravity, which the Effective Hemisphere (EH) model neglects. Conversely, the Philip model

over predicts R1. This matches the results from Cook et al. (2003) for sandy soils. The authors

propose that for these soils it is more accurate to consider a variable soil moisture value behind

the wetting front, as opposed to the constant value normally considered. With the exception of

the first, early time step, the 3DGA results for R1 match well with the measured data.

Table 3-3 indicates that, in general, the Effective Hemisphere (EH) model over predicts the

maximum wetted radius at the surface. This over prediction is likely due to the assumed axial

symmetry. Conversely, the Philip model under predicts RO, however, in general it was better at










Do j = 1, numA+1
WF(4)%/ROi) = 0.0
WF(4)%x~i) = 0.0
WF(4)%/yi) = 0.0
Enddo
WF(4)%/kint = 0.0
WF(4)%a = 0.0
WF(4)%/b = 0.0
WF(4)%/vol = 0.0

Endlf
IF (RedistStatus.EQ.10) THEN
n= 1
WF(1)%TInfil = WF(1)%TInfil + deltaTT
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
ELSEIF (RedistStatus.EQ.20) THEN
n= 2
WF(2)%TInfil = WF(2)%TInfil + deltaTT
Call calcR(n,WF(2)%/WC WF(1)%WC,romin,
+ WF(2)%TInfil, angles, numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
ELSEIF (RedistStatus.EQ.30) THEN
n= 3
WF(3)%TInfil = WF(3)%TInfil + deltaTT
Call calcR(n,WF(3)%/WC WF(2)%WC,romin,WF(3)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(3)%/y(numA+1),WF)
Call calcSA(n,WF(3)%/y(numA+1),WF)
ELSEIF (RedistStatus.EQ.40) THEN
n= 4
WF(4)%TInfil = WF(4)%TInfil + deltaTT
Call calcR(n,WF(4)%/WC WF(3)%WC,romin,WF(4)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(4)%/y(numA+1),WF)
Call calcSA(n,WF(4)%/y(numA+1),WF)

ENDIF
IF (redistStatus.EQ.1 1) THEN
CALL Redistll1(numA,ts,tend,deltaT,wcmin,WF)
ELSEIF (redistStatus.EQ.20) THEN
CALL Redist20(numA,ts,tend,deltaT,wcmin,redist~auF
ELSEIF (redistStatus.EQ.21) THEN
CALL Redist21 (numA,ts,tend,deltaT,wcmin,redistStatus,WF
ELSEIF (redistStatus.EQ.30) THEN










Do i = 1,numA+1
WF(2)%/R(i) = romin
EndDo
ELSEIF (redistStatus.EQ.20.AND.Q.EQ.0.d0)THEN
redistStatus = 21
ELSEIF (redistStatus.EQ.21.AND.Q.GT.0.d0)THEN
redistStatus = 30
WF(3)%WC = WCS
Do i = 1,numA+1
WF(3)%/R(i) = romin
EndDo
ELSEIF (redistStatus.EQ.30.AND.Q.EQ.0.d0)THEN
redistStatus = 31
ELSEIF (redistStatus.EQ.31.AND.Q.GT.0.d0)THEN
redistStatus = 40
WF(4)%WC = WCS
Do i = 1,numA+1
WF(4)%/R(i) = romin
EndDo
ELSEIF (redistStatus.EQ.40.AND.Q.EQ.0.d0) THEN
redistStatus = 31
n= 1
WF(1)%TInfil = WF(1)%TIdfl + WF(2)%T~nfil
WF(1)%WC = WF(2)%WC
Call calcR(n,WF(1 )%/WC-WCI, romin,WF(1)%TInfil, angle s,
+ numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
c-------------------------------- recodfgure R,x,y,vol -------------------------------------------
WF(2)%T~nfil = WF(3)%TnIdl
WF(2)%WC = WF(3)%WC
Do j = 1, numA+1
WF(2)%/Ri) = WF(3)%/ROi)
WF(2)%x~i) = WF(3)%/x0i)
WF(2)%/yi) = WF(3)%/ygi)
Enddo
WF(2)%/kint = WF(3)%/kint
WF(2)%a = WF(3)%a
WF(2)%/b = WF(3)%/b
WF(2)%/vol = WF(3)%/vol

WF(3)%T~nfil = WF(4)%TnIdl
WF(3)%WC = WF(4)%WC
Do j = 1, numA+1
WF(3)%/Ri) = WF(4)%/ROi)
WF(3)%x~i) = WF(4)%/x0i)
WF(3)%/yi) = WF(4)%/ygi)
Enddo
WF(3)%/kint = WF(4)%/kint
WF(3)%a = WF(4)%a
WF(3)%/b = WF(4)%/b
WF(3)%/vol = WF(4)%/vol
WF(4)%/FAmt = 0.0
WF(4)%/wc = 0.0










to oo. An RMSE of 0 is ideal and corresponds to no variation in the modeled data compared to

the observed data.










observation soil layer was also found to provide good results against Richards' numerical

solution values.

While the MGAR approach is limited in that it assumes homogeneous soil and a

rectangular wetting profile, and does not consider hysteresis or water table effects, it provides an

accurate description of water infiltration and redistribution in unsaturated soils. Among the

advantages of the method, besides its simplicity and computational efficiency set against

Richards' solution, are its physical basis (set against other more empirical methods), robustness,

and its ability to provide good results for infiltration and redistribution for uneven multistorm

precipitation time series simulations.










Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0
WF(3)%/b = 0.0
WF(3)%/vol = 0.0
WF(3)%SA = 0.0
WF(3)%TInfil = 0.0
!now move wf 2 down which was wf 3 and is only infil, not redist
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
!!check
IF (WF(2)%/R(numA+1).GE.WF(1)%/R(numA+1)) THEN
!BEGIN //two fronts to one
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%/wc = 0.0
Do j = 1, numA+1
WF(2)%/R(j) = 0.0
WF(2)%x(j) = 0.0
WF(2)%/y(j) = 0.0
Enddo
WF(2)%/kint = 0.0
WF(2)%a = 0.0
WF(2)%/b = 0.0
WF(2)%/vol = 0.0
WF(2)%SA = 0.0
WF(2)%TInfil = 0.0
redistStatus = 10
ENDIF
!END//wc2 < wcmin,z2>z1
ELSE !//still 3 fronts
!BEGIN
n = 3 !just move down since only infil
Call calcR(n, WF(3)%/WC WF(2)%WC,romin,WF(3 )%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(3)%/y(numA+1),WF)
Call calcSA(n,WF(3)%/y(numA+1),WF)
!!checks
IF (WF(3)%/R(numA+1). GE.WF(2)%/R(numA+1 )) THEN
!BEGIN //three fronts to two
WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil
n= 2
Call calcR(n,WF(2)%/WC WF(1)%WC,romin,WF(2)%TInfil,









and 6,= 0.05 cm3Cm-3. The saturated hydraulic conductivity for the theoretical models was

estimated to be K, = 0.4 cmh-l from Healy (1987) (Table 3-1).

For the comparison, 3 outputs were selected: maximum wetted depth (R1), maximum

wetted radius at the ground surface (RO) and wetted volume (V). Studies have shown that the

wet bulb does not form a perfect circle. Instead, the shape can be better approximated by an

ellipse (Hachum et al., 1976); therefore, the wetted volumes for the measured and the 3DGA

results were calculated by first fitting the points to an ellipse (Figure 3-3) using the equation of

an ellipse

(x -h)2 (y -k)
+ = 1 (3-34)
a b

where x and y are the rectangular coordinates; (h,k) is the offset of the center of the ellipse from

(0,0); a and b are the maximum distances from the center of the ellipse to the ellipse.








(h,k) a






Figure 3-3. Ellipse

Next Eq. (3-34) is solved for x to get f(y). The wetted volume is then calculated as


V = yr- f(y)dy
Yo (3-35)










Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
redistStatus = 30
IF (WF(2)%/R(numA+1). GE. WF(1)%/R(numA+1)) THEN !!recheck
!merge 1 and 2 which was 3, move down 4 to 2
WF(1)%TInfil = WF(1)%TIdfl + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%TInfil = WF(4)%TIdfl
n= 2
Call calcR(n,WF(2)%/WC WF(1)%WC,romin,WF(2)%TInfil,
angles,numA,WF) move down wf4
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
redistStatus = 20
WF(3)%/wc = 0.0
WF(4)%WC = 0.0
Do j = 1, numA+1
WF(3)%/ROi) = 0.0
WF(3)%x~i) = 0.0
WF(3)%/ygi) = 0.0
WF(4)%/ROi) = 0.0
WF(4)%x~i) = 0.0
WF(4)%/yi) = 0.0
Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0
WF(3)%/b = 0.0
WF(3)%/vol = 0.0
WF(3)%SA = 0.0
WF(3)%TInfil = 0.0
WF(4)%TInfil = 0.0
WF(4)%/kint = 0.0
WF(4)%a = 0.0
WF(4)%/b = 0.0
WF(4)%/vol = 0.0
WF(4)%SA = 0.0
IF (WF(2)%/R(numA+1).GE.WF(1)%/R(numA+1)) THEN
WF(1)%TInfil = WF(1)%TIdfl + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%/wc = 0.0











APPENDIX C
SAMPLE MGAR INPUT FILES

Units: Length [mm], Time [h]

c :\MGARInputFiles\clay_soil.txt
0.6 622.5 0.385 0.272 0.090 373.0 0.165 0.0 0.296

500.0 500.0 1000.0
0.0 500.0 0.0
Ks Say 6, 6, 6, hb ?L Smax FC
NumObsLayers
ProfileDepth[1] ProfileDepth[2] ProfileDepth[3]
TopObsLayer[1] TopObsLayer[2] TopObsLayer[3]

c :\MGARInputFiles\clay _rain.txt
10 10 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 10 20 10 10 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 10 10 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 20 10 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 10 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 10 10 20 20 10 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 20 20
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 10 20 20 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0

(Precips[k], k= 1, precipCount)









additional point source models, Effective Hemisphere model (Ben-Asher et al., 1986) and

Generalized Solution method (Healy and Warrick, 1988). The motivation for this work comes

from the desire to expand the soil water capabilities of DSSAT for plastic bed management

systems used by producers in Florida.

Description of Point Source Methods Selected

Methods Based on Richards' Equation

Analytical Solution: Philip Time of Travel Method

An analytical solution to Richards' equation for the point source case was developed by

Philip (1984a) to describe flow from a point source where a 2-dimensional form of Richards'

equation was linearized using the hydraulic conductivity function (first proposed by Gardner

(1956)):

K(h) = K,eah (3-1)

where Ks is the saturated hydraulic conductivity and a is the reciprocal of the macroscopic

capillary length scale (White and Sully, 1987). The macroscopic capillary length scale is a

hydraulic conductivity weighted scaling factor that relates the matric potential to the hydraulic

conductivity (Philip, 1985). It can also be thought of as the "'mean"' height of capillary rise

above a water table (Raats and Gardner, 1971).

A source of strength Q located at (s, z) = (0, 0) is used as a modified boundary condition.

The solution of Philip (1984a) has been used by Revol et al. (1997a,b) to describe soil water flow

from surface disc sources and by Thorburn et al. (2003) to describe soil water flow from surface

and buried trickle emitters and found to provide good predictions of the radius and depth of the

unsaturated wetted zone. For a surface source, Tis related to the wetted perimeter by Philip

(1984a, Eq. 44):











y, = k- b 1-x/ (5-26)


Next, the area that the wetting front occupies in the cell is calculated by drawing a straight

line between the two intersecting points and calculating the areas of the triangles and/or

rectangles that are formed. For example, if the wetting front intersects the top and left edge of

the observation cell, such as Cell 2, then the wetting front area, WFA, is calculated as

WF~A = (x, x, )- (y y, )/2 (5-27)

The average water content, AvgWC, of the observation cell is then calculated by a weighted

average of water contents of each wetting front occupying the cell and the respective areas of

each. For example, the average water content of Cell 2 is calculated as

WC, WFA, + WC, (CellA WFA, )
Avg WC = 12(5-28)
CellA

where, WC1 and WC2 are the water contents of wetting fronts 1 and 2, respectively; WFA1 is the

area of wetting front 1; and CellA is the total area of the observation cell.

Verification of 3DGAR

The performance of the proposed 3-dimensional Green-Ampt with Redistribution

(3DGAR) model presented in this report is compared with a numerical solution of Richards'

(1931) equation. The HYDRUS-2D (H2D) (Simunek et al., 1999) program was used in this

comparison. The governing equations are solved numerically using a Galerkin type linear finite

element method applied to a network of triangular elements. H2D has several options for the

parameterization of the unsaturated soil hydraulic properties, including Brooks and Corey (1964)

and van Genuchten (1980).

Eleven soil types from the USDA' s soil textural classifications were selected (Table 5-2).

All the profiles were considered homogeneous, isotropic and of semi-infinite depth. Each soil is












significantly from the numerical solution, while MGAR closely matches Richards' solution.



14Sand Sandy Loam 0
1.2 2





Rcad MGAR 8I \I lI 0


0.4 9

0.2 100







0.4 25


1.4l Soand Clay Clay
1.2
GAR MGARGAR MGAR 4




0.6 Richards' Richards 0
0.4 1 125

0.2 3

48 96 14 19 24 28 336 48 96 14 19 24 28 336




FigureR 2-.Si ufaerltv wtrcnet esstmfrRcad' GAR an MGAR4
souin fo 6 elcedsol


Th odesoffto h ntr iuaio gis h Richards' results wr vlae

usin th Nas an Suclife (970 coeficentof eficenc (Cef, ee ppenix fo
decito)adterotma qae ro (ME e pedxB o ecito) h

resuts or ll our utpts f iteret ae tbulted n Tble2-6









ACKNOWLEDGMENTS


Through the multiple proj ects and all of the remote research, there have been several

people who have made this goal attainable. I have done my best to outline their importance to me

and this proj ect below.

Dr. Rafael Mufioz-Carpena has been an advisor, a mentor, and a priceless sounding board,

accompanying me through this exhilarating, yet tumultuous, endeavor. Having dealt with peaks

and valleys throughout our j ourney, even to the very end, he never gave up on me or the proj ect

and for that he deserves the greatest thanks.

Thanks also to my graduate committee members. Dr. Ray Bucklin, Dr. Greg Kiker, Dr.

Ken Campbell, and Dr. Annable, whose support and patience during this never-ending pursuit of

research have been substantial.

I would also like to thank Dr. Jim Leary whose humor in our long talks during my

undergraduate career helped me remember how important it is to laugh even when everything

around you can seem so stressful and bleak.

Lastly, I would like to thank the Florida Department of Agricultural and Consumer

Services (FDACS) for funding this research.












BIOGRAPHICAL SKETCH .............. ...............227....










QP^ [Q]^`.WF[1].z := calcRedistZf(Q,QP^ [Q]^ `.WF[1].FAmt,QP^ Q^WF1.C
QP^ [Q]^.WCI);
QP^ [Q]^'.redistStatus := 10;
QP^`[Q]^.WF[2] .WCHold := 0.0;
QP^`[Q]^.WF[2].WC := 0.0;
QP^'[Q]^.WF[2].FAmt := 0.0 ;
QP^`[Q]^.WF[2].z := 0.0;
END;
END //wc2 < wcmin; z2 > z1 for 3 to 2 fronts
ELSE //still 3 fronts for now
BEGIN
//move down z3; originally wf 4; do not redist, only infil
QP^ [Q]^`.WF[3].z := calcRedistZf(Q,QP^ [Q]^`.WF[3] .FAmt,QP^ [Q]^`.WF[3] .WC,
QP^` [Q]^`.WF [2] .WC);
IF (QP^`[Q]^`.WF[3].z >= QP^ [Q]^`.WF[2] .z)THEN
BEGIN //merge 3 and 2; wfl stays the same
QP^`[Q]^.WF[2] .WCHold := QP^ [Q]^'.WF[3].WCHold;
QP^`[Q]^.WF[2].WC := QP^`[Q]^`.WF[3].WC;
QP^[Q]^.WF[2].FAmt := QP^'[Q]^`.WF[2] .FAmt +QP^'[Q]^.WF[3].FAmt ;
QP^[Q]^.WF [2].z := calcRedistZf(Q,QP^' [Q]^'.WF [2].FAmt,QP^'[Q]^`.WF [2].WC,
QP^[Q]^.WF[1].WC);
QP^'[Q]^.redistStatus := 20;
QP^'[Q]^.WF[3].WCHold := 0.0;
QP^`[Q]^.WF[3].WC := 0.0;
QP^'[Q]^.WF[3].FAmt := 0.0 ;
QP^`[Q]^.WF[3].z := 0.0;
END;//z3>z2
END; //still 3 fronts for now
END //wc2 < wcmin ; z2>z1 4 to 3 fronts
ELSE //still 4 wf for now
BEGIN
//decrease wc3 third
y := QP^'[Q]^'.WF[3].WCHold;
Odelnt(Q,0.0,QP^[Q]^.WF[3].FAmt,QP^`[Q].F2.CIl/ ~ ste10-,T
0.008333,nok,nbad);
QP^`[Q]^.WF[3]. WCHold := y;
QP^`[Q]^.WF[3].WC := y -QP^'[Q]^'.wf[3].adjFactor;
QP^ [Q]^`.WF [3].z := calcRedistZf(Q,QP^ [Q]^`.WF[3] .FAmt,QP^ [Q]^`.WF[3] .WC,
QP^`[Q]^.WF[2].WC);
IF (QP^'[Q]^'.WF[3].WC <= QP^`[Q]^`.WF[2].WC) OR
(QP^`[Q]^`.WF[3].z >= QP^`[Q]^`.WF[2].z) THEN //merge 3 and 2
BEGIN // 4 fronts to 3
IF (QP^`[Q]^`.WF[3].WC <= QP^`[Q]^`.WF[2].WC) THEN
QP^[Q]^.WF[2].WC := QP^[Q]^.WF[2].WC
ELSE
BEGIN
QP^`[Q]^.WF[2] .WCHold := QP^'[Q]^'.WF[3].WCHold;
QP^`[Q]^.WF[2].WC := QP^`[Q]^`.WF[3].WC;
END;
QP^`[Q]^.WF[2] .FAmt := QP^'[Q]^'.WF[2] .FAmt +QP^'[Q]^.WF[3] .FAmt ;
QP^ [Q]^'.WF[2].z := calcRedistZf(Q,QP^' [Q]^`.WF [2].FAmt,QP^'[Q]^`.WF [2].WC,
QP^ [Q]^.WF[1].WC);
QP^'[Q]^.redistStatus := 30;
//wf 1 stays the same; wf4 becomes wf3
QP^`[Q]^.WF[3] .WCHold := QP^'[Q]^'.WF[4] .WCHold;
QP^`[Q]^.WF[3].WC := QP^`[Q]^`.WF[4].WC;











Do j = 1, numA+1
WF(2)%/Ri) = 0.0
WF(2)%x~i) = 0.0
WF(2)%/yi) = 0.0
Enddo
WF(2)%/kint = 0.0
WF(2)%a = 0.0
WF(2)%/b = 0.0
WF(2)%/vol = 0.0
WF(2)%SA = 0.0
WF(2)%TInfil = 0.0
redistStatus = 10
ENDIF
!end recheck
ELSE !still 3 fronts, move down 4 front which is now 3
S!!/wf 1 stays the same; wf4 becomes wf3
WF(3)%TInfil = WF(4)%TInfil
n= 3
Call calcR(n,WF(3)%/WC WF(2)%WC,romin,WF(3)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(3)%/y(numA+1),WF)
Call calcSA(n,WF(3)%/y(numA+1),WF)
WF(4)%/wc = 0.0
Do j = 1, numA+1
WF(4)%/R(j) = 0.0
WF(4)%x~i) = 0.0
WF(4)%/yi) = 0.0
Enddo
WF(4)%/kint = 0.0
WF(4)%a = 0.0
WF(4)%/b = 0.0
WF(4)%/vol = 0.0
WF(4)%SA = 0.0
WF(4)%TInfil = 0.0
redistStatus = 30
IF (WF(3)%/R(numA+1). GE.WF(2)%/R(numA+1 )) THEN
!!BEGIN //3 fronts to 2
WF(2)%TInfil = WF(2)%/TInfil + WF(3)%TInfil
n= 2
Call calcR(n,WF(2)%/WC-
+ WF(1)%/WC,romin,WF(2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%/wc = 0.0
Do j = 1, numA+1
WF(3)%/Ri) = 0.0
WF(3)%x~i) = 0.0
WF(3)%/yi) = 0.0
Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0










Philip, J.R., 1984b. Steady Infiltration from Spherical Cavities. Soil Sci. Soc. Amer. J. 48, 724-
729.

Philip, J.R., 1985. Reply to "Comments on Steady Infiltration from Spherical Cavities". Soil
Sci. Soc. Amer. J. 49, 788.

Philip, J.R., 1992. What happens near a quasi-linear point source? Water Resources Research 28,
47-52.

Philip, J.R., Knight, J.H., 1991. Redistribution of Soil Water from Plane, Line and Point Sources.
Irrigation Science 12(4), 169-180.

Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T., 1989. Numerical Recipes in
Pascal. Cambridge University Press, Port Chester, New York.

Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T., 1996. Numerical Recipes in
Fortran: The Art of Scientific Computing. Cambridge University Press, Port Chester,
New York.

Raats, P.A.C., 1971. Steady Infiltration from point sources, cavities and basins. Soil Sci. Soc.
Am. Proc. 35, 689-694.

Raats, P.A.C., Gardner, W.R., 1971. Comparison of empirical relationships between pressure
head and hydraulic conductivity and some observations on radially symmetrical flow.
Water Resources Research 7, 921-925.

Rawls, W.J., Brakensiek, D.L., Miller, N., 1983. Green-Ampt Infiltration Parameters from Soils
Data. Journal of Hydraulic Engineering 109(1), 62 70.

Rawls, W.J., Brakensiek, D.L., Saxton, K.E., 1982. Estimation of Soil Water Properties.
Transactions of the ASAE 25(5), 13 16 1330.

Reichardt, K., Nielsen, D.R., Biggar, J.W., 1972. Scaling of Horizontal Infiltration into
Homogeneous Soils. Soil Sci. Soc. Amer. Proc. 36, 241-245.

Revol, P., Vauclin, M., Vachaud, G., Clothier, B.E., 1997a. Infiltration from a surface point
source and drip irrigation: 1. The midpoint soil water pressure. Water Resources
Research 33, 1861-1867.

Revol, P., Clothier, B.E., Mailhol, J.C., Vachaud, G., Vauclin, M., 1997b. Infiltration from a
surface point source and drip irrigation: 2. An approximate time-dependent solution for
wet-front position. Water Resources Research 33, 1869-1874.

Richards, L.A., 1931. Capillary Conduction through Porous Mediums. Physics 1, 313-318.

Roth, R.L., 1974. Soil Moisture Distribution and Wetting Pattern from a Point-Source.
Proceedings of the Second International Drip Irrigation Congress, California, USA, pp.
246-251.










Call calcXY(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%/wc = 0.0
Do j = 1, numA+1
WF(3)%/ROi) = 0.0
WF(3)%x~i) = 0.0
WF(3)%/yi) = 0.0
Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0
WF(3)%/b = 0.0
WF(3)%/vol = 0.0
WF(3)%SA = 0.0
WF(3)%TInfil = 0.0
redistStatus = 21
IF (WF(2)%/R(numA+1). GE. WF(1)%/R(numA+1)) THEN
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1


!!recheck


Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%/wc = 0.0
Do j = 1, numA+1
WF(2)%/ROi) = 0.0
WF(2)%x~i) = 0.0
WF(2)%/yi) = 0.0
Enddo
WF(2)%/kint = 0.0
WF(2)%a = 0.0
WF(2)%/b = 0.0
WF(2)%/vol = 0.0
WF(2)%SA = 0.0
WF(2)%TInfil = 0.0
redistStatus = 11
ENDIF
S!!/no need to decrease or do anymore checks since taken care of above
ENDIF !! //wc2 < wcmin; z2 > z1 for 3 to 2 fronts
ENDIF !! else, still 3 wf
END

Subroutine Redist40(numA,ts ,te, dt,wcmin,redistStatus,WF)
c----- redist routine if four fronts & only three fronts redist --------------------------------------------
Implicit None
Common /soilDatal/ wcs,wcr,wci,1ambda
Common / soilData2/ H, ksat,romin
Common / RData/ angles
Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)











Call calcSA(n,WF(1)%/y(numA+1),WF)
wf 2 does not redist since it is infiltrating
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
!check conditions
IF (WF(2)%/R(numA+1).GE.WF(1)%/R(numA+1))TE
!2 wf to 1 wf
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
WF(1)%WC = WF(2)%WC
WF(1)%WC = WF(2)%WC
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%/wc = 0.0
Do j = 1, numA+1
WF(2)%/ROi) = 0.0
WF(2)%x(j) = 0.0
WF(2)%/yi) = 0.0
Enddo
WF(2)%/kint = 0.0
WF(2)%a = 0.0
WF(2)%/b = 0.0
WF(2)%/vol = 0.0
WF(2)%SA = 0.0
WF(2)%TInfil = 0.0
redistStatus = 10
ENDIF !if z2 > z1

END

Subroutine Redist21(numA,ts ,te, dt,wcmin,redistStatus,WF)
c----- redist routine if two fronts & both fronts redist -------------------------
Implicit None
Conunon /soilDatal/ wcs,wcr,wci,1ambda
Connon / soilData2/ H, ksat,romin
Conunon/ RData/ angles
Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA










flow to the soil profile (Figure 5-1), having uniform flux from the surface of the cavity (Chu,

1994).

Source Cartr













Figure 5-1. 3-D Green Ampt wetting front

In addition to the cavity source, the 3DGA (Chu, 1994) model assumes

Water flows in a radial direction from the cavity source

Water is assumed to enter the soil as a sharp wetting front which separates a saturated
wetted zone from an unwetted zone

The soil is assumed to be deep and homogeneous

The soil is assumed to be at a uniform initial water content

The shape of the wetting front is described by (Chu, 1994)

1 2S S, S, Rsin B +S K ro
(R _o)-R-o 7 F ,a = sin B t (5-1)
2 sin B sin B sin B rosnB+SM


where B is the angle between the ground surface and wetted radius, R; So, is the average suction

at the wetting front; ro is the radius of the hemispherical cavity source; Ks is the saturated

hydraulic conductivity of the soil; and M~is the water content difference between the inside and

outside of the wetting front.










So 1 surface




Zi2
Obsol .1..... 2
lave I

Zil










Figure 2-3. Example soil moisture observation layer for two fronts used for calculating average
water content when observation layer overlaps two different wetting fronts

In the case of two fronts we have,


8, Z,,, Z,, > Z,
8, (Z,, Z, ) +0 (Z, Z,, )
Z,, > Z,,Z, > Z,, > Z,

B8v z <6 Z, > Z,,, Z,, > Z, (2-14)
6,(Z, Z )+ 8(Z, Z, )
ri ; 2Z, > Z,, > Z, ,Z,, < Z,

6, Z,,,Z,, < Z

A similar equation, albeit a more complex equation, is used in the case of multiple wetting

fronts .

Verification of MGAR

The performance of the infiltration and redistribution methods presented in this report is

compared with a numerical solution of Richards' (193 1) equation. The mechanistic-

deterministic WAVE model (Vanclooster et al., 1996) was used in this comparison. This model

is based on a finite differences solution of the capacitance form of Richards' equation. WAVE

has several options for the parameterization of the unsaturated hydraulic conductivity functions,









APPENDIX B
GOODNESS-OF-FIT INDICATORS

Goodness-of-fit indicators are quantitative measures used to assess the ability of a model to

simulate observed data. In order to have a complete assessment of model performance, it is

recommended (Legates and McCabe, 1999; Krause et al., 2005) to include a relative error

measure, such as the coefficient of efficiency, and an absolute error measure, such as the root

mean squared error.

The Nash-Sutcliffe (1970) coefficient of efficiency (Cesf) is defined as:




C, ~=1 =


where Oi is the observed value; O bar is the mean of the observed values; and Pi is

predicted value.

The coefficient of efficiencies can range from -oo to 1. An efficiency of 1 (Cegf=1)

corresponds to a perfect match of modeled data to the observed data. An efficiency of 0 (Cegf=0)

indicates that the model predictions are as accurate as the mean of the observed data, whereas an

efficiency less than zero (-oo
the model.

The root mean squared error (RMSE) is defined as:


R M S E n1= (1-f


where Oi is the observed value; and Pi is predicted value.

The root mean squared error is a measure of the difference between modeled values and

observed values in terms of the units of the data. The root mean squared error can range from 0











APPENDIX H
3DGAR COMPUTER SOURCE CODE (FORTRAN 90)

Program 3DGAR

cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c Written for: PhD Dissertationc
c Last Updated: October 2007c
c Written bv: Leslie Gowdishc
c ~Ag. & Bio. Eng. Department
c ~University of Floridac
c Email: Leslie@i~Gowdish.comc

c Program: 3-dimensional Green-Ampt infiltration and redistribution method (3DGAR) c
c Code is written in Fortran language c


Implicit None

Integer j, numA,redistStatus,ncells
Integer k, i, nTimeSteps
Parameter (numA=7)

c parameter for number of cells, can be changed by user -----------------------------------------
Parameter (nCells = 7)

Double Precision QH,ksat,dM,wcs,wci,dL
Double Precision wcr,1lambda,angle s(7)
Double Precision romin
Double Precision deltat,ts,tstop,tend
Double Precision IrrigFlag(5000)

Common /soilDatal/ wcs,wcr,wci,1ambda
Common / soilData2/ H, ksat,romin
Common / RData/ angles
Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA

Double Precision TInfil
End Type
Type (Front) WF(4)

Type Cells
Double Precision x1
Double Precision x2
Double Precision v1













Table D-1. Continued
Time FI (mm) ZI (mm) WC1 F2 (mm) Z2 (mm) WC2 F3 (mm) Z3 (mm) WC3 F4 (mm) Z4 (mm) WC4 WCO RWC F (mm) 60-soo Osoo-1ooo 60-1000
(h)


211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
~3226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245


38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361


816.708
818.919
821.121
823.315
825.501
827.679
829.849
832.011
834.165
836.312
838.451
840.582
842.707
844.789
846.934
849.037
851.133
853.222
855.304
857.379
859.448
861.510
863.566
865.615
867.658
869.695
871.862
874.951
878.020
881.068
884.096
887.104
890.093
893.064
896.016


0.319
0.319
0.318
0.318
0.318
0.318
0.318
0.318
0.318
0.318
0.317
0.317
0.317
0.317
0.317
0.317
0.317
0.317
0.317
0.316
0.316
0.316
0.316
0.316
0.316
0.316
0.333
0.333
0.333
0.333
0.332
0.332
0.332
0.332
0.332


15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.217
15.522
15.522
15.522
15.522
15.522
15.522
15.522
15.522
15.522


779.747
784.063
788.303
792.469
796.564
800.590
804.549
808.442
812.272
816.041
819.751
823.402
826.997
830.429
834.015
837.451
840.836
844.173
847.462
850.705
853.903
857.056
860.167
863.236
866.265
869.253
538.079
554.318
569.789
584.567
598.716
612.289
625.332
637.884
649.981


0.338
0.338
0.338
0.338
0.337
0.337
0.337
0.337
0.336
0.336
0.336
0.336
0.336
0.335
0.335
0.335
0.335
0.335
0.335
0.334
0.334
0.334
0.334
0.334
0.334
0.333
0.362
0.361
0.360
0.359
0.358
0.358
0.357
0.356
0.355


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
6.141
9.164
11.559
13.639
15.522
15.522
15.522
15.522
15.522
15.522
15.522
15.522
15.522
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
124.004
184.333
231.621
272.306
308.796
352.208
384.210
411.765
436.617
459.505
480.855
500.944
519.970
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.385
0.385
0.385
0.385
0.385
0.379
0.375
0.372
0.370
0.368
0.366
0.365
0.363
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.338
0.338
0.338
0.338
0.337
0.337
0.337
0.337
0.336
0.336
0.336
0.336
0.336
0.385
0.385
0.385
0.385
0.385
0.379
0.375
0.372
0.370
0.368
0.366
0.365
0.363
0.362
0.361
0.360
0.359
0.358
0.358
0.357
0.356
0.355


0.841
0.841
0.840
0.839
0.838
0.838
0.837
0.836
0.835
0.835
0.834
0.833
0.833
1.000
1.000
1.000
1.000
1.000
0.978
0.965
0.956
0.948
0.941
0.936
0.931
0.926
0.922
0.919
0.915
0.912
0.909
0.907
0.904
0.902
0.900


53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
53.361
59.502
62.526
64.920
67.000
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884
68.884


0.338
0.338
0.338
0.338
0.337
0.337
0.337
0.337
0.336
0.336
0.336
0.336
0.336
0.348
0.354
0.358
0.362
0.366
0.366
0.365
0.365
0.365
0.365
0.365
0.365
0.363
0.362
0.361
0.360
0.359
0.358
0.358
0.357
0.356
0.355


0.313
0.313
0.313
0.313
0.313
0.314
0.314
0.314
0.314
0.314
0.315
0.315
0.315
0.315
0.315
0.316
0.316
0.316
0.316
0.316
0.317
0.317
0.317
0.317
0.317
0.319
0.320
0.321
0.322
0.323
0.323
0.324
0.325
0.326
0.326


0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.325
0.332
0.335
0.337
0.339
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341
0.341










MdR K~r (S, +R sin B)(45
dt (R-ro)R

where M~is the water content difference between the inside and outside of the wetting front.

Rearranging Eq. (4-5) gives

R(R ro ) K~r
dR = dt (4-6)
R sinB +S M

Integrating Eq. (4-6) provides an equation for describing the shape of the wetting front as

12 SS R sin B +S K ro
(R2 )-(R-ro 7 f ,a = sin B t (4-7)
2 ~~~~~sin B sin B sinB rosnB+SM

Given any angle from the ground surface, O
from Eq. (4-7). In particular, if B = n/2, sin B = 1, and the calculated R would give the maximum

depth of the wetting front (R1) as

1 2R1+S Kr
(R2_ -(1ro 0 ,)S(o S)1"= t (4-8)
2'" "' "' r + S, Mr

Since Eq. (4-7) cannot be used to calculate the wetted radius at the ground surface, B = 0

or n: so that sin B = 0, an additional equation needs to formulated. If sin B = 0, Equation (4-6)

becomes

R(R ro ) K ro
dR = dt (4-9)
R+S M~


Integrating Eq. (4-9) provides the equation for calculating the radius of the wetting front at

the ground surface radius (RO) as


1(RO3 o3 To (RO2 _o2) KS,ro t (4-10)
3 2 M~

Eqs. (4-7) and (4-10) were solved for R and RO for set times of t, using a program written

in FORTRAN. In order for this methodology to be valid, the water content of the wetting front

70










Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
!decrease wc2 second
!//decrease wc2 second
y = WF(2)%WC
CALL Odelnt(WF(2)%/vol,WF(2)%SA,WF(1)%WC,y,tst,.01ddT
WF(2)%WC = y
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
!!checks
IF (WF(2)%/WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)W.R
+ WF(2)%/R(numA+1). GE.WF(1)%/R(numA+1 ))THEN !merge 1 an 2
!!i 3 fronts down to 2 fronts
IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WCTE
!BEGIN
WF(1)%WC = WF(1)%WC! //wf one predominates
IF (WF(2)%WC.LT.WCMIN) THEN
WF(2)%WC = WCMIN
ENDIF
ELSE
!BEGIN
WF(1)%WC = WF(2)%WC !wf two predominates
WF(1)%WC = WF(2)%WC
ENDIF
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY(nnaangles,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
redistStatus = 20
WF(2)%TInfil = WF(3)%TInfil
WF(2)%WC = WF(3)%WC
WF(2)%WC = WF(3)%WC
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY(nnaangles,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%WC = 0.0
WF(3)%WC = 0.0
Do j = 1, numA+1
WF(3)%/ROi) = 0.0
WF(3)%x(j) = 0.0
WF(3)%/yi) = 0.0









CHAPTER 1
INTTRODUCTION

Rationale

Ecological models are used to make accurate, long-term ecological proj sections. The effects

of stressors on vegetation and the landscape directly influence water dynamics at all scales, and

in turn, water dynamics directly influence vegetation and the landscape (Childress et al., 1999).

It is therefore important that these ecological models have an accurate hydrological component.

Since infiltration and subsequent redistribution are used to determine the amount of water

available for runoff, the ability to model soil water movement accurately directly affects the

accuracy of every other hydrological component: "For many watersheds, infiltration is the most

important hydrologic component determining the shape of the runoff hydrograph from the area

(Huggins and Burney, 1982, p. 173)". At the opposite end of the scale spectrum, plastic-bedded

drip irrigation systems have become increasingly popular for agricultural production. They can

provide an increase in water application efficiency, a decrease in nutrient leaching, all while

delivering desirable yields. Therefore, the ability to model these systems has become of

increasing importance.

Modeling of soil water movement in profiles consists of two phases, infiltration and

redistribution. These two phases translate across scenarios, whether a 1-dimensional flow

domain during a rain event on bare soil or a quasi 3-dimensional flow domain under intensive

bed (point source) management systems. Unsaturated flow can best be described by combining

Darcy's Law (1856) with the continuity equation, resulting in a theoretical partial differential

equation known as Richards' equation (1931). Richards' equation does not have a general

analytical solution, and therefore must be solved numerically in many practical applications.

The numerical solutions of Richards' equation are generally computationally intensive, require











The flow rate increased with increasing Ks, with the exception of the sand soil. The flow rate of


the sand soil was decreased due to a problem of convergence with the Richards' solution. The


goodness-of-fit of the entire simulation against the Richards' results were evaluated using the

Nash and Sutcliffe (1970) coefficient of efficiency (Ceff, see Appendix B for description) and the


root mean squared error (RMSE, see Appendix B for description) to test the accuracy of the


proposed model. The average water content for the observation cells along the 900, 600, 450, 300


and Oo lines were selected (Figure 5-6) corresponding to the average water content of observation


nodes along the same lines for Richards' solution. The configuration of the grid, size and


location of the observation cells for the 3DGAR model were chosen based on the location of the


observation nodes so that the nodes were centered within the cells.


Stcm)
0 2.5 5 7.5 10 12.5 15 17.5 20 22.5 25 27.5 30 32.5


2.5 -
*H2D
5~ ( \ Observation
Node
7.5-
S3DGAR
10 ( Observation
12.5 -Cell


15

1 7.5-

20

22.5-

25

27.5


3 2




Figure 5-6. 3DGAR observation cells and H2D observation nodes used in simulations










QP^'[Q]^.WF[1].WCHold := QP^[Q]^.WF[1].WC;
QP^ [Q]^.WF[1].z := calcRedistZf(Q,QP^ [Q]^.cummlnfil,QP^ [Q]^W[1.C
QP^ [Q]^.WCI);
END //end pondflag
ELSE IF (QP^ [Q]^'.redistStatus = 11) THEN
BEGIN
IF (QP^ [Q]^'.pondingAmt > 0.0) THEN
BEGIN
QP^'[Q]^.redistStatus := 10; // do not redistribute wf 1
QP^ [Q]^`.WF[1].z := calcRedistZf(Q,QP^ [Q]^ `.WF[1].FAmt,QP^ Q^WF1.C
QP^ [Q]^.WCI);
END
ELSE
Redist 11(Q,R,interTime-deltaTerr,intertime,delta ernk~bd;
END
ELSE IF (QP^ [Q]^'.redistStatus = 20) THEN
BEGIN
Redist20(Q,R, interrrime -deltaTerr, intertime,deltaTerr,nok, nbad);
END
ELSE IF (QP^ [Q]^'.redistStatus = 21) THEN
BEGIN
IF (QP^ [Q]^'.pondingAmt > 0.0) THEN
BEGIN
QP^'[Q]^.redistStatus := 20;
Redist20(Q,R,interTime-deltaTerr,intertimedlaernkna)
END
ELSE
Redist21 (Q,R,interTime-deltaTerr,intertime, deltaTerr; nok, nbad);
END
ELSE IF (QP^ [Q]^'.redistStatus = 30) THEN
BEGIN
Redist30O(Q,R, interrrime -deltaTerr, intertime,deltaTerr,nok, nbad);
END
ELSE IF (QP^ [Q]^'.redistStatus = 31) THEN
BEGIN
IF (QP^ [Q]^'.pondingAmt > 0.0) THEN
BEGIN
QP^'[Q]^.redistStatus := 30;
Redist30(Q,R,interTime-deltaTerr,intertimedlaernkna)
END
ELSE
Redist31 (Q,R,interTime-deltaTerr,intertime,delta ernk~bd;
END
ELSE IF (QP^ [Q]^'.redistStatus = 40) THEN
BEGIN
Redist40(Q,R, interrrime -deltaTerr, intertime,deltaTerr,nok, nbad);
END
ELSE //redistStatus = 10, do not redistribute only move wfl down
QP^ [Q]^`.WF [1].z := calcRedistZf(Q,QP^ [Q]^`.WF[1] .FAmt,QP^ [Q]^`.WF[1] .WC,
QP^ [Q]^.WCI);

IF QP^[Q]^.WF[1].WC > QP^`[Q]^`.WCS THEN
BEGIN
QP^ [Q]^.WF [1].WC := QP^ [Q]^`.WCS;
QP^ [Q]^'.WF [1].WCHold := QP^ [Q]^'.WCS;
QP^ [Q]^`.WF [1].z := calcRedistZf(Q,QP^ [Q]^`.WF[1] .FAmt,QP^ [Q]^`.WF[1] .WC,











WF(i)%a = 0.0
WF(i)%/b = 0.0
WF(i)%/vol = 0.0
WF(i)%SA = 0.0
WF(i)%TInfil = 0.0
EndDo
WF(1)%WC = wcs
redistStatus = 10
Do i = 1,numA+1
WF(1)%/R(i) = romin
EndDo


c-----Average water content H2D soils --------------------------------------------------
c If obs. pts fall on x and/or y axis so that top row and left column are half cells
Do i = 1,ncells column
Do j = 1,ncells row
If(i.eq.1l.and~j.eq.1) Then !corner cell
cellQi,i)%/y 1 = 0 top coordinate
cell0i,i)%/y2 = dL/2.0 !bottom coordinate
cell0i,i)%x1 = 0 !left coordinate
cell0i,i)%/x2 = dL/2.0 right coordinate
ElselF(i.eq.1.and~j.ne.1) THEN !!i!far left column
cellQi,i)%/y 1 = dL/2.0 + (i-2)*dL
cell0i,i)%/y2 = cellQi,i)%/y l + dL
cell0i,i)%x1 = 0
cell0i,i)%x2 = dL/2.0
ElselFCi.eq.1.and.i.ne.1) THEN !!i!top row
cellQi,i)%/y l= 0
cell0i,i)%/y2 = dL/2.0
cell0i,i)%x1 = dL/2 + (i-2)*dL
cell0i,i)%x2 = cell0i,i)%/x1 + dL
Else !!i all other cells
cellQi,i)%/y 1 = dL/2.0 + (i-2)*dL
cell0i,i)%/y2 = cellQi,i)%/y l + dL
cell0i,i)%x1 = dL/2 + (i-2)*dL
cell0i,i)%x2 = cell0i,i)%/x1 + dL
EndlF
cellQi,i)%/avgWC = 0.d0
Enddo
Enddo

c-----If obs. pts fall in off axis so that all cells same size and pts fall in center ------------------
c Do i = 1,6 !!column
c Do j = 1,6 !!i!row
c cell0i,i)%/x1= (i-1)*dL
c cell0i,i)%/x2 = cell0i,i)%/x1 + dL
c cellQi,i)%/yl = (i-1)*dL
c cell0i,i)%/y2 = cellQi,i)%/yl +dL
c cellQi,i)%/avgWC = 0.d0
c nd
c Enddo


END









makes sense for drip irrigation systems since quite often drip irrigation systems are designed so

that emitter discharge rate equals infiltration capacity in order to optimize results. A drawback,

however, is that it has not been widely tested and should, therefore, be evaluated further to

determine its validity.

Furthermore, an additional drawback to 3DGA model is that the flow rate from the emitter

is implicit, in that it is built in the emitter supply radius, ro, parameter. Chu (1994) also assumes

that the supply radius is a known parameter. An equation defining this supply radius was not

included in the original development of the model and, therefore, would need to be determined in

an alternative manner.

One method for determining the supply radius is to directly measure the saturated wetted

radius that develops on the surface of the soil. While this would provide a good estimate, it is

not practical in most applications and can be difficult to measure properly. In addition, there is

no standard by which one can determine what is considered the supply radius versus the actual

wetting front advancing through the soil. Therefore, there is still a need for an equation for

calculating the supply radius for use in the 3DGA model. Interestingly, there are a number of

models that have been developed that use the assumption of a supply radius (Philip, 1984b;

Raats, 1971; Warrick and Lomen, 1976; Wooding, 1968; Parlange, 1973; Warrick, 1974),

though, very few formulations for an equation describing the supply radius have been attempted.

One paper developed an equation for calculating the supply radius specifically for the

3DGA model (Sepaskhah and Chitsaz, 2004). The empirical equation was developed using

multiple regression analysis, with data obtained by measuring different values of the supply

radius for various soils (differing saturated hydraulic conductivities) and varying emitter flow

rates. However, the details of the methodology were unclear and the equation did not appear to










IF hdid = h THEN
nok := nok+ 1
ELSE
nbad := nbad + 1;
IF (x-x2)*(x2-x1) >= 0.0 THEN
BEGIN
start := y;
GOTO 99;
END;
h:= hnext;
END; //for nstp
99:
END;

{calculates the generic gamma coefficient ---------------------------------------------------
FUNCTION AdjFactorCalc(Q num: INTEGER; redistTT : real) : REAL;
VAR
a,b,c,d,e,f : real;
alpha,beta,delta: real;
BEGIN
IF num = 0 THEN
result := 0.0
ELSE
BEGIN
//wave 86
a := 4.2951615111 ;
b := 154.6101111175 ;
c := 0.0020393887 ;
d := -0.0010402988;
e := -14.0032425382;
f := -61.5428564782;

alpha := QP^ [Q]^'.ks/(a* QP^ [Q]^'.ks + b);
beta := c + d~power(QP^ [Q]^'.ks,0.5);
delta := QP^ [Q]^'.ks/(e* QP^ [Q]^'.ks + f);
result := alpha + beta*1n(redistTr) + delta/num;
END;

IF (result < 0.0) THEN
result := 0.0;
END;

{Procedures Redistl 1, Redist20, Redist21, Redist30, Redist31 and Redist40 perform
the redistribution process depending on what redistribution status the system is in-------------}

PROCEDURE Redistl1(Q: INTEGER; rh, ts,te,dt : REAL; VAR nok, nbad : INTEGER);
VAR
y : REAL;
BEGIN
y := QP^ [Q]^'.WF [1]. WCHold;
Odelnt(Q~rllQP^[Q ]^.WF[1].F~mt,QP^`[Q]^WC/ ytste1.0e-4,dT,0.008333,nok,nbad);
QP^'[Q]^.WF[1].WCHold := y;
QP^[Q]^.WF[1].WC := y QP^'[Q]^'.wf[1].adjFactor;
IF QP^ [Q]^. WF[1]. WC < QP^ [Q]^'.WCMin THEN
BEGIN
QP^[Q]^.WF[1].WC := QP^'[Q]^'.WCMin;
































-----------------------------------------


Integer i, numA,n
Double Precision xmax,ymax

Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA
Double Precision TInfil
End Type
Type (Front) WF(4)

c-------------------------- find max x to locate center
xmax = wf(n)%x(1)
ymax = wf(n)%/y(1)
Do i = 2,NumA+1
If (wf(n)%/x(i).GT.xmax) THEN
xmax = wf(n)%x(i)
ymax = wf(n)%/y(i)
EndlF
EndDo
WF(n)%/kint = ymax
WF(n)%a = xmax
WF(n)%/b = wf(n)%/y(numA+1) ymax

END


Subroutine CalcVol(n,R,WF)
c-----Calcs vol of wet bulb ---------------------------------
Implicit none
Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA
Double Precision TInfil
End Type
Type (Front) WF(4)

Double Precision p1,p2,p3,R
Integer n

pl = WF(n)%/kint*((R/WF(n)%/b)**2.d0)










QP^ [Q]^'.runoffAmt := QP^ [Q]^'.runoffAmt;
result := 0.0;
Redistribution(Q,intertime, deltaTT);
CalcWCO(Q);
CalcRWC(Q);
CalcLayerAvgWC(Q);
Append(SomeTxtFile);
Write(SomeTxtFile,intertime: 1:0,":1);
FOR I := 1 TO 4 DO
BEGIN
Write(SomeTxtFile,QP^ [Q]^.WF[I] .FAmt:3:6,":1);
Write(SomeTxtFile,QP^`[Q]^`.WF[I] .z:3:6,":1);
Write(SomeTxtFile,QP^ [Q]^.WF[I].WC:3:.6,":1);
END;
Write(SomeTxtFile,QP^ [Q]^.WCO:3:.6,":1);
Write(SomeTxtFile,QP^ [Q]^.RWC:3:.6,":1);
Write(SomeTxtFile,QP^ [Q]^`.cummlnfil:3:.6,":1);
FOR I := 1TO (QP^'[Q]^'.NumObsLayers-1) DO
WRite(SomeTxtFile,QP^ [Q]^.LayerAvgWC[I]: 3:6,":1);
WriteLn(SomeTxtFile,QP^ [Q]^ `.LayerAvgWC[P [Q^Nmb .yr]3:6,":1),
END;
deltaT~err := tend interrrime;
IF deltaTTerr > 1E-10 THEN
BEGIN
interrrime := tend;
QP^ [Q]^.time := inter Time;
QP^ [Q]^'.cummPrecip := QP^ [Q]^'.cummPrecip;
QP^ [Q]^`.cummlnfil := QP^ [Q]^`.cummlnfil;
QP^ [Q]^'.pondingAmt := 0.0;
QP^ [Q]^'.runoffAmt := QP^ [Q]^'.runoffAmt;
result := 0.0;
Redistribution(Q, intertime, deltaTTerr);
CalcWCO(Q);
CalcRWC(Q);
CalcLayerAvgWC(Q);
Append(SomeTxtFile);
Write(SomeTxtFile,intertime: 1:0,":1);
FOR I := 1 TO 4 DO
BEGIN
Write(SomeTxtFile,QP^ [Q]^.WF[I] .FAmt:3:6,":1);
Write(SomeTxtFile,QP^`[Q]^`.WF[I] .z:3:6,":1);
Write(SomeTxtFile,QP^ [Q]^.WF[I].WC:3:.6,":1);
END;
Write(SomeTxtFile,QP^ [Q]^.WCO:3:.6,":1);
Write(SomeTxtFile,QP^ [Q]^.RWC:3:.6,":1);
Write(SomeTxtFile,QP^ [Q]^`.cummlnfil:3:.6,":1);
FOR I := 1TO (QP^'[Q]^'.NumObsLayers-1) DO
WRite(SomeTxtFile,QP^[Q]^`.LayerAvgWC[I]: 3:6,":1);
WriteLn(SomeTxtFile,QP^ [Q]^ `.LayerAvgWC[Q^Q^.u.s~yr]3:6,":1),
END;
END;
QP^ [Q]^`.tpAdj := QP^`[Q]^`.tpAdj + 1;
END; {calcInfilRate Function}


end.










QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[4].WC +
(QP^`[Q]^`.WF[3] .z-QP^`[Q]^`.WF[4] .z)*QP^`[Q].WF[3] .WC +
(QP^\[Q]^.~WF[2].z-QP^'[Q]^.WF[3].z)*QP^`[Q ].WF[2].WC +
(QP^[Q]^.WF[1] .z-QP^`[Q]^`.WF[2] .z)*QP^`[Q].WF[1] .WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[1].z)*
QP^ [Q].WCI)/QP^ [Q]^'.ProfileDepth[L] ;
END
ELSE IF (QP^`[Q]^`.WF[4].z <= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[3].z >= QP^'[Q]^'.LayerBottomZ[L]) THEN
BEGIN
QP^ [Q]^.LayerAvgWC[L] := QP^ [Q].WF[3].WC ;
END
ELSE IF (QP^`[Q]^`.WF[3].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^ [Q]^`.WF[2].z >= QP^ [Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[3].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[3].WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[3].z)*
QP^[Q].WF[2] .WC)/QP^[Q]^".ProfileDepth[L];
END
ELSE IF (QP^`[Q]^`.WF[3].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[2].z <= QP^'[Q]^'.LayerBottomZ[L]) AND
(QP^`[Q]^`.WF[1].z >= QP^'[Q]^'.LayerBottomZ[L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[3].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[3].WC +
(QP^\[Q]^.~WF[2].z-QP^'[Q]^.WF[3].z)*QP^`[Q ].WF[2].WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[2].z)*
QP^[Q].WF[1].WC)/QP^[Q]^.\Profileepept[L]
END
ELSE IF (QP^`[Q]^`.WF[3].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[1].z <= QP^'[Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[3].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[3].WC +
(QP^\[Q]^.~WF[2].z-QP^'[Q]^.WF[3].z)*QP^`[Q ].WF[2].WC +
(QP^[Q]^.WF[1] .z-QP^`[Q]^`.WF[2] .z)*QP^`[Q].WF[1] .WC +
(QP^\ [Q]^'.LayerBottomZ [L]- QP^'[Q]^.WF[1].z)*
QP^ [Q].WCI)/QP^ [Q]^'.ProfileDepth[L] ;
END
ELSE IF (QP^`[Q]^`.WF[3].z <= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^ [Q]^`.WF[2].z >= QP^ [Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := QP^ [Q].WF[2].WC ;
END
ELSE IF (QP^`[Q]^`.WF[2].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^ [Q]^`.WF[1].z >= QP^ [Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[2].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[2].WC +










r = a, + aZ In(TR )+ 3 / R (5-6)

with a, = (b, + c, K )' (5-7)

where a y, a2 and as strongly depend on the saturated hydraulic conductivity (mm/h) of the soil

for all soils tested, and parameters b,, c, and d, are listed in Table 5-1.

Table 5-1. Parameters for the redistribution coefficient, 7
i b, cI c(
1 4.2952 154.6101 -1.0
2 0.0020 -0.0010 0.5
3 -14.0032 -61.5429 -1.0


A comparison of a numerical solution of Richards' equation against the GAR method and

the modified GAR (MGAR) method showed that the latter is markedly better at predicting the

surface water content while maintaining good cumulative infiltration predictions. In addition, the

ability of MGAR to predict the average water content for a desired observation soil layer was

also found to provide good results against Richards' numerical solution values.

While the redistribution equation (5-5) and multiple redistributing wetting front scheme

have shown to provide good results, MGAR is a 1-dimensional model. Since, as previously

mentioned, point source systems exhibit a quasi-spherical flow it is necessary to modify Eq. (5-

5) to a 3-dimensional form.

3D Green-Ampt with Redistribution

In order to modify the 1-dimensional form of the modified GAR model, the 1-dimensional

length, Z, will need to be replaced by the wetted radius from the 3DGA model and converted to

volumetric terms. In doing so, a 3-dimensional form of Eq. (5-5) is derived as


6, =l -- K, S -K (B,) -SA (~,K, G(, ,B)-Rv (5-8)









Philip Equation was developed. Additional testing of this equation showed that it did not

provide good results for a maj ority of the soils modeled using the 3DGA model. Lastly, an

alternative equation was developed that was similar in form to the Simplified Philip equation.

The Proposed equation is valid for a wide range of soils and is a function of saturated hydraulic

conductivity, Ks, effective suction at the wetting front So, and emitter flow rate, Q. This equation

provided good results for all the soils tested and, therefore, proved to be a viable method for

calculating the supply radius parameter in the 3-dimensional Green-Ampt model.

While there are models that simulate the infiltration phase of point source systems, such as

the 3DGA model, the redistribution phase has not been studied as thoroughly. Therefore, a quasi

3-dimensional redistribution model for use in combination with the 3DGA infiltration model

(3DGAR) was developed and tested for simulating drip irrigation in a wide variety of soils. An

equation for calculating the change in water content during a redistribution phase was developed

based on the 1-dimensional modified GAR method presented in the first part of the research. In

addition, equations for calculating the volume and surface area of the soil water wet bulb were

developed. Furthermore, a method for calculating the average water content of an observation

cell was proposed. The results showed that 3DGAR is a viable model for predicting the average

water content of an observation cell, as well as describing the time evolution of the wet bulb

shape.

While the 1-dimensional MGAR and quasi 3-dimensional 3DGAR models are limited in

that they assume homogeneous soil, a sharp wetted profile, and do not consider hysteresis or

water table effects, they do provide an accurate description of vertical and point source

infiltration and redistribution in unsaturated soils. Among the advantages of these methods,

besides their simplicity and computational efficiency set against Richards' solution, are their









APPENDIX D
SAMPLE MGAR OUTPUT FILE









Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy

AN IMPROVED GREEN-AMPT SOIL INFILTRATION AND REDISTRIBUTION METHOD
AND ITS APPLICATION TO 1-DIMENSIONAL AND QUASI 3-DIMENSIONAL (POINT
SOURCE) FLOW DOMAINS

By

Leslie C. Gowdish

December 2007

Chair: Rafael Mufioz-Carpena
Co-Chair: Ray Bucklin
Major: Agricultural and Biological Engineering

Unsaturated flow can best be described by Richards' equation. Numerical solutions of

Richards' equation are generally computationally intensive and require extensive soil property

data; therefore, simplified physically-based approaches have often been used. The purpose of

this research was to develop and validate a physically-based approximate model for simulating

infiltration and soil water redistribution in 1-D and quasi 3-D flow domains. The first step was

to improve an existing 1-D inHiltration and redistribution model, GAR, by increasing the number

of redistributing wetting fronts and adding a correction factor, T(a function of redistribution

number NR, redistribution time TR, and saturated hydraulic conductivity Ks). A comparison

of a numerical solution of Richards' equation against the GAR and the modified GAR (MGAR)

methods showed that the modified method predicts better the surface water content and is also

able to predict the average water content for a desired observation layer. Next, the 3-D form of

the Green-Ampt (3DGA) inHiltration method was compared to several established point source

models and published data. The results of the comparison showed that the 3DGA method is a

viable model for simulating quasi 3-D flow domains. An equation for the 3DGA supply radius









Lastly, Philip (1992) suggested that the assumption of point source will introduce

significant errors if


Q > (3-7)
Sa2

Generalized Solution Infiltration Model

Another alternative model for simulating the soil water movement in intensive bed

management systems was described by Healy and Warrick (1988). The model was found to

provide good results when compared to experimental data as well as to a numerical solution. In

this model, Healy and Warrick (1988) began by substituting dimensionless variables into

Richards' equation. This equation was then solved numerically with a finite-difference computer

program for a variety of soil types and volumetric inflow rates. The results were then fit to

empirical equations, which define three locations of the wetting front and the volume of soil

water that was wetted at a specified time. The equations, in terms of dimensionless time are:

D1 = At*1/2 + Bt* + Ct*3/2 (3-8)

D2 = Dt*1/2 + Et* +Ft*3/2 (3 -9)

D3 = Gt*1/2 + Ht* +It*3/2 (3-10)

V' = Jt*1/2 + Kt* + Lt*3/2 (3-11)

where

Dl = dimensionless distance from origin to wetting front along the vertical

D2 = dimensionless distance from origin to wetting front along the diagonal

D3 = dimensionless distance from origin to wetting front along the horizontal

V* = dimensionless wetted volume

A -L = coefficients dependent on n and Q* (refer to Table 1 in Healy and Warrick,

1988)











UNIT Main;
{-------------------unit sets up fonn for running program----------------------------------------}
{-------------------unit calls initialization procedures and controls simulation runtime------------}
INTERFACE
USES
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fonns,
Dialogs, StdCtrls, infil~ydrol, optnData, quadrat;
TYPE
TFonn1 = class(TFonn)
Start: TButton;
Memol: TMemo;
procedure StartClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
e nd;

VAR
Fonn1: TFonn1;
Function GetCurrentDateTime: TDateTime;

IMPLEMENTATION
{$R *.dfin}
{Function to get current PC time-----------------------------------------------------}
Function GetCurrentDateTime: TDateTime;
var
SystemTime: TSystemTime;
begin
GetLocalTime( Sy stemTTime);
Result := SystemTimeToDateTime(SystemTime) ;
end;

{Procedure to run model once RUN button is pushed-----------------------------------------}
PROCEDURE TFonn1.StartClick(Sender: TObject);
VAR
Q ,x: integer;
START : DOUBLE;
TEND : DOUBLE;
InitTime : TDateTime;
EndTime : TDateTime;
BEGIN
InitTime := getCurrentDateTime;

{create quadrats and initialize variables ----------------------------------------------------
createQuadratData;
BuildInitialQuadratRecords;

start := 0;
tend := 1;
AssignFile(SomeTxtFile,'C:\MGARInputFilesnflotetxt)
Try
ReWrite(SomeTxtFile);
WriteLn(SomeTxtFile, 'Time F1 Z1 WC1 F2 Z2 WC2 F3 Z3 WC3 F4 Z4 WC4 WCO +
'RWC Cummlnfil 0-500 500-1000 0-1000');
FOR X := 0 to precipCount-1 DO











alpha := 2.137;
beta := 0.667;
delta := 0.021;
END
ELSE IF phi <= 17.00 THEN
BEGIN
alpha := 2.141;
beta := 0.689;
delta := 0.035;
END
ELSE
exit;
END;
lambda := power(phi, (beta + delta*1n(phi)));
result := alpha*(S*(QP^ [Q]^'.WCS WC))*1ambda;
END;

{calculates time it will take for remaining ponded water to infiltrate--------------------------------
FUNCTION CalcTNewton(Q : INTEGER; start, tend, tp, tpp, precip,
totallnfil,WC,S: DOUBLE): DOUBLE;
var
tolerance : DOUBLE;
tlnew : DOUBLE;
tlold: DOUBLE;
F: DOUBLE;
Inarg: DOUBLE;
g : DOUBLE;
dgdeltaTT1: DOUBLE;
error : DOUBLE;
BEGIN
result := 0.0;
tolerance := 1.0E-6;
error := 1.0;
tlnew := tend;
tl old := tlnew;
F := (tlold startt* precip + totallnfil;
//the time that occurs is t1
Inarg := 1.0 + (F/(S*(QP^ [Q]^`.WCS WC)));
g := F (S*(QP^'[Q]^'.WCS WC))*(In(Inarg)) QP^`[Q]^`.ks*(tlold tp + tpp);
while error > tolerance do
BEGIN
dgdeltaTT1 := precip precip*(1.0/Inarg) QP^ [Q]^'.ks;
tlnew := tlold (g/dgdeltaT1);
tl old := tlnew;
F := (tlold startt* precip + totallnfil;
Inarg := 1.0 + (F/(S*(QP^`[Q]^`.WCS WC)));
g := F (S*(QP^'[Q]^'.WCS WC))*(In(Inarg)) QP^`[Q]^`.ks*(tlold tp + tpp);
error := abs(g);
result := tlnew;
END;
END;

{calculates infiltration rate, cumulative infiltration, runoff and surface storage
under ponded conditions; calls redistribution process for lower layers ----------------------------}
FUNCTION CalcPond(Q : INTEGER; start, tend, tp, tpp, deltaTT, R: DOUBLE): DOUBLE;
var









CHAPTER 4
DEVELOPMENT AND VERIFICATION OF EMITTER SUPPLY RADIUS FOR 3-
DIMENSIONAL GREEN-AMPT INFILTRATION

Introduction

Modeling of intensive bed management systems (plastic mulch, drip irrigation) has gained

increasing interest. The use of Richards' equation (1931i), while very accurate, can be

computationally inefficient and requires extensive input data that, if available, can lead to

parameterization errors. Alternatively, 1-dimensional approximate models have been used in the

past, however, studies have shown that in actuality the soil water flow path is quasi-spherical in

shape and therefore requires a 2/3-D description (Warrick, 1974; Clark et al., 2006; Healy and

Warrick, 1988). With this in mind, it would be desirable to find a quasi-spherical model that is

also an approximate physically-based model. One such model is the 3-dimensional Green-Ampt

(3DGA) model (Chu, 1994). In the previous Chapter (3), this model was compared to other

quasi 3-dimensional point source models, including two based from Richards' equation, as well

as published data, and found to provide good results. However, one drawback to this model is

that the flow rate from the emitter is implicit, in that it is built in the emitter supply radius, ro,

parameter. Chu (1994) also assumes that the supply radius is a known parameter. An equation

defining this supply radius was not included in the original development of the model and,

therefore, would need to be determined in an alternative manner.

One method for determining the supply radius is to directly measure the saturated wetted

radius that develops on the surface of the soil. While this would provide a good estimate, it is

not practical in most applications and can be difficult to measure properly. In addition, there is

no standard by which one can determine what is considered the supply radius versus the actual

wetting front advancing through the soil. Therefore, there is still a need for an equation for

calculating the supply radius for use in the 3DGA model. Interestingly, a number of models













Table D-1. Continued
Time FI (mm) ZI (mm) WC1 F2 (mm) Z2 (mm) WC2 F3 (mm) Z3 (mm) WC3 F4 (mm) Z4 (mm) WC4 WCO RWC F (mm) 60-soo Osoo-1ooo 60-1000
(h)
351 76.998 1195.578 0.336 11.330 424.785 0.363 0.000 0.000 0.000 0.000 0.000 0.000 0.363 0.926 88.328 0.359 0.336 0.348
352 76.998 1198.520 0.336 11.330 446.352 0.362 0.000 0.000 0.000 0.000 0.000 0.000 0.362 0.921 88.328 0.359 0.336 0.348
353 76.998 1201.446 0.336 11.330 466.788 0.360 0.000 0.000 0.000 0.000 0.000 0.000 0.360 0.916 88.328 0.359 0.336 0.347
354 76.998 1204.358 0.336 11.330 486.258 0.359 0.000 0.000 0.000 0.000 0.000 0.000 0.359 0.913 88.328 0.359 0.336 0.347
355 76.998 1207.256 0.336 11.330 504.887 0.358 0.000 0.000 0.000 0.000 0.000 0.000 0.358 0.909 88.328 0.358 0.336 0.347
356 76.998 1210.140 0.336 11.330 522.773 0.357 0.000 0.000 0.000 0.000 0.000 0.000 0.357 0.906 88.328 0.357 0.337 0.347
357 76.998 1213.010 0.335 11.330 539.993 0.356 0.000 0.000 0.000 0.000 0.000 0.000 0.356 0.903 88.328 0.356 0.337 0.347
358 76.998 1215.866 0.335 11.330 556.611 0.356 0.000 0.000 0.000 0.000 0.000 0.000 0.356 0.901 88.328 0.356 0.338 0.347
359 76.998 1218.709 0.335 11.330 572.679 0.355 0.000 0.000 0.000 0.000 0.000 0.000 0.355 0.898 88.328 0.355 0.338 0.347
360 76.998 1221.539 0.335 11.330 588.241 0.354 0.000 0.000 0.000 0.000 0.000 0.000 0.354 0.896 88.328 0.354 0.338 0.346
361 76.998 1224.355 0.335 11.330 603.335 0.354 0.000 0.000 0.000 0.000 0.000 0.000 0.354 0.894 88.328 0.354 0.339 0.346
362 76.998 1227.159 0.335 11.330 617.992 0.353 0.000 0.000 0.000 0.000 0.000 0.000 0.353 0.892 88.328 0.353 0.339 0.346
363 76.998 1229.950 0.335 11.330 632.242 0.353 0.000 0.000 0.000 0.000 0.000 0.000 0.353 0.890 88.328 0.353 0.339 0.346
364 76.998 1232.728 0.334 11.330 646.108 0.352 0.000 0.000 0.000 0.000 0.000 0.000 0.352 0.888 88.328 0.352 0.340 0.346
365 76.998 1235.494 0.334 11.330 659.613 0.351 0.000 0.000 0.000 0.000 0.000 0.000 0.351 0.886 88.328 0.351 0.340 0.346











QP^ [Q]^'.redistTime := QP^'[Q]^'.redistTime + deltaTT;
FOR T := 1 to 3 DO
BEGIN
QP^ [Q]^`.WF[T] .redistTime := QP^'[Q]^'.WF[T].redistTime + 1;
END;
IF (precip > 0.0) OR (QP^ [Q]^'.pondingAmt > 1E-10) THEN
BEGIN
{----------------------------Start of infiltration through soil ------------------------------------------}
IF QP^'[Q]^'.pondingAmt <= 1E-10 THEN
BEGIN
{------------------update redistribution status----------------------------------------------}
IF (QP^ [Q]^'.redistStatus = 10) AND (precip < QP^ [Q]^'.ks) THEN
BEGIN //wetting front can redistribute
QP^'[Q]^.redistStatus := 11;
END
ELSE IF (QP^'[Q]^'.redistStatus = 11) AND (precip > QP^'[Q]^'.ks) THEN
BEGIN//two wetting fronts with one redistributing
QP^'[Q]^.redistStatus := 20;
QP^ [Q]^`.WF [2] .FAmt := QP^ [Q]^'.cummlnfil QP^ [Q]^.WF [1].FAmt;
QP^`[Q]^.WF[2].WC := QP^'[Q]^'.WCS;
QP^`[Q]^.WF[2] .WCHold := QP^`[Q]^`.WCS;
QP^ [Q]^'.fp := 0.0;
QP^ [Q]^`.tpAdj := 0;
END
ELSE IF (QP^ [Q]^'.redistStatus = 20) AND (precip < QP^'[Q]^'.ks) THEN
BEGIN //two wetting fronts with both redistributing
QP^'[Q]^.redistStatus := 21;
END
ELSE IF (QP^ [Q]^'.redistStatus = 21) AND (precip > QP^'[Q]^'.ks) THEN
BEGIN//three wetting fronts with two redistributing
QP^'[Q]^.redistStatus := 30;
QP^'[Q]^.WF[3].FAmt := QP^'[Q]^'.cummlnfil QP^'[Q]^'.WF[2].FAmt -
QP^ [Q]^`.WF[1].FAmt;
QP^`[Q]^.WF[3].WC := QP^`[Q]^`.WCS;
QP^'[Q]^.WF[3].WCHold := QP^'[Q]^'.WCS;
QP^ [Q]^'.fp := 0.0;
QP^ [Q]^`.tpAdj := 0;
END
ELSE IF (QP^ [Q]^'.redistStatus = 30) AND (precip < QP^'[Q]^'.ks) THEN
BEGIN //three wetting fronts with three redistributing
QP^'[Q]^.redistStatus := 31;
END
ELSE IF (QP^'[Q]^'.redistStatus = 31) AND (precip > QP^'[Q]^'.ks) THEN
BEGIN//four wetting fronts with 3 redistributing
QP^'[Q]^.redistStatus := 40;
QP^`[Q]^.WF[4] .FAmt := QP^'[Q]^'.cummlnfil QP^'[Q]^'.WF[3].FAmt -
QP^ [Q]^`.WF[2] .FAmt QP^'[Q]^'.WF[1] .FAmt;
QP^`[Q]^.WF[4].WC := QP^'[Q]^'.WCS;
QP^`[Q]^.WF[4] .WCHold := QP^`[Q]^`.WCS;
QP^ [Q]^'.fp := 0.0;
QP^ [Q]^`.tpAdj := 0;
END
ELSE IF (QP^ [Q]^'.redistStatus = 40) AND (precip < QP^'[Q]^'.ks) THEN
BEGIN//merge wetting front 1 and 2 three wetting fronts redistributing
QP^'[Q]^.redistStatus := 31;
QP^`[Q]^.WF[1] .FAmt := QP^'[Q]^'.WF[1] .FAmt +QP^'[Q]^.WF[2] .FAmt;











EndDo
EndDo

c----------------------------------- Calculate Ground Surface radius ----------------------------------
error = 1.d0
Rold1 = WF(n)%/R(1) + tolerance
g =(Roldl**3.d0 ro**3.d0)/3.d0 ro*(Roldl**2.d0 ro**2.d0)/2.d0
+ (sat~ro~t*H)/dM

Do While (error.GT.tolerance)
dgdr = Roldl**2.d0 ro*Rold1
WF(n)%/R(1) = Rold1 g/dgdr
Rold1 = WF(n)%/R(1)
g =(Roldl**3.d0 ro**3.d0)/3.d0 ro*(Roldl**2.d0 -
+ ro**2.d0)/2.d0 (Ksat~ro~t*H)/dM
error = abs(g)
EndDo

END

Subroutine CalcXY'(n,angle s,numA, WF)
c-----Calculates XY' coordinates of radii ----------------------------------------------------
Implicit None
Integer i,numA,try,n

Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA
Double Precision TInfil
End Type
Type (Front) WF(4)
Double Precision Rhold(numA),angles(numA),RO

WF(n)%x(1) = WF(n)%/R(1)
WF(n)%/y(1) = 0.d0
Do i = 2,numA
WF(n)%x(i) = WF(n)%/R(i)*cos(angles(i-1))
WF(n)%/y(i) = WF(n)%/R(i)*sin(angles(i-1))
EndDo
WF(n)%x(numA+1) = 0.0
WF(n)%/y(numA+1) = WF(n)%/R(numA+1)

END


Subroutine CalcEllipse(n,numA, WF)
c-----Calcs wetting front ellipse parameters ------------------------------------------------
Implicit none











largest errors in both layers occurred in the coarse soil textures due to the rapid drying at the soil

surface related to the high hydraulic conductivities and the GA assumption of the flat advancing

front ("piston").

An additional benefit of using the multiple redistributing wetting front scheme over the

original scheme can also be seen by comparing the shapes of the water content profiles (Figure

2-7).


Water Content (cm /cm )
0.2 0.25 0.3 0.35 0.4


20


Richards'
30-
GAR
S40-



60-
MGAR
70

80-

90

Figure 2-7. Comparison of GAR versus MGAR to describe soil water content profile for clay
soil

In this case, MGAR has developed four wetting fronts while GAR has only developed two.

The improvement obtained with the multiple redistributing fronts is related to the integration

error caused by approximating the area under a curve using rectangles of finite width. From the

concept of Riemann' s sum of integrals, we know that using narrower rectangles, and therefore

more rectangles, yields a better approximation. Therefore, the MGAR scheme, which allows for










QP^ [Q]^'.WF [2].z := calcRedistZf(Q,QP^'[Q]^.`WF [2].FAmt,QP^' [Q]^'.WF [2].WC,
QP^ [Q]^.WF[1].WC);
IF (QP^ [Q]^'.WF[2].WC < QP^ [Q]^'.WCMin) OR
(QP^`[Q]^`.WF[2].WC <= QP^`[Q]^`.WF[1].WC) OR
(QP^`[Q]^`.WF[2].z >= QP^`[Q]^`.WF[1].z) THEN //merge 1 an 2
BEGIN // 3 fronts to 2
IF (QP^'[Q]^'.WF[2].WC < QP^ [Q]^'.WCMin) OR
(QP^`[Q]^`.WF[2].WC <= QP^`[Q]^`.WF[1].WC) THEN
BEGIN
QP^[Q]^.WF[1].WC := QP^`[Q]^`.WF[1].WC;
IF QP^`[Q]^`.WF[2] .WCHold < QP^'[Q]^'.WCMin THEN
QP^`[Q]^.WF[2] .WCHold := QP^'[Q]^'.WCMin;
END
ELSE
BEGIN
QP^[Q]^.WF[1] .WCHold := QP^ [Q]^'.WF[2] .WCHold;
QP^[Q]^.WF[1].WC := QP^`[Q]^`.WF[2].WC;
END;
QP^`[Q]^.WF[1] .FAmt := QP^'[Q]^'.WF[1] .FAmt +QP^'[Q]^.WF[2] .FAmt ;
QP^ [Q]^`.WF [1].z := calcRedistZf(Q,QP^ [Q]^`.WF[1] .FAmt,QP^ [Q]^`.WF[1] .WC,
QP^ [Q]^.WCI);
QP^'[Q]^.redistStatus := 21;
QP^ [Q]^`.WF [2] .WCHold := QP^ [Q]^'.WF [3]. WCHold;
QP^`[Q]^.WF[2].WC := QP^`[Q]^`.WF[3].WC;
QP^'[Q]^.WF[2].FAmt := QP^ [Q]^'.WF[3].FAmt ;
QP^`[Q]^.WF[2].z := QP^`[Q]^'.WF[3].z;
QP^'[Q]^.WF[3].WCHold := 0.0;
QP^`[Q]^.WF[3].WC := 0.0;
QP^'[Q]^.WF[3].FAmt := 0.0 ;
QP^`[Q]^.WF[3].z := 0.0;
QP^ [Q]^`.WF [1] .NumRedist := QP^ [Q]^'.WF [2] .NumRedist;
QP^[Q]^.WF[1].redistTime := QP^`[Q]^`.WF[2] .redistTime;
QP^[Q]^.WF[1] .adjFactor := QP^'[Q]^'.WF[2] .adjFactor;
QP^ [Q]^`.WF [2] .NumRedist := QP^ [Q]^'.WF [3] .NumRedist;
QP^`[Q]^.WF[2] .redistTime := QP^`[Q]^`.WF[3] .redistTime;
QP^`[Q]^.WF[2]. adjFactor := QP^'[Q]^`.WF[3] .adjFactor;
//need to decrease wc2 which was wc3
y := QP^`[Q]^`.WF[2] .WCHold;
Odelnt(Q~rllP^QP^w[Q]^.WFmt /[2.mtQ P^Q^W[1.Cod/`st,10-,T
0.008333,nok,nbad);
QP^`[Q]^.WF[2]. WCHold := y;
QP^`[Q]^.WF[2]. WC: = y-QP^'[Q]^.wf[2]. adjFactor;
QP^ [Q]^`.WF [2].z := calcRedistZf(Q,QP^' [Q]^`.WF [2] .FAmt,QP^ [Q]^'.WF [2].WC,
QP^ [Q]^.WF[1].WC);
IF (QP^'[Q]^'.WF[2].WC < QP^ [Q]^'.WCMin) OR
(QP^`[Q]^`.WF[2].WC <= QP^`[Q]^`.WF[1].WC) OR
(QP^`[Q]^`.WF[2].z >= QP^`[Q]^`.WF[1].z)THEN //merge 1 an 2
BEGIN
IF (QP^'[Q]^'.WF[2].WC < QP^'[Q]^'.WCMin) OR
(QP^`[Q]^`.WF[2].WC <= QP^`[Q]^`.WF[1].WC) THEN
BEGIN
QP^[Q]^.WF[1].WC := QP^`[Q]^`.WF[1].WC;
IF QP^'[Q]^'.WF[2].WCHold < QP^'[Q]^'.WCMin THEN
QP^`[Q]^.WF[2] .WCHold := QP^'[Q]^'.WCMin;
END
ELSE











QP^ [Q]^.WCI);
END; //end wc1 > wsc
END; //end if dterr

END; //calcNoPond


{calculates potential infil, time of ponding and calls appropriate infiltration
subroutine: ponded or nonponded; updates redistribution status of wetting fronts;
calls redistribution if precip FUNCTION CalcInfilRate(Q : INTEGER; start, tend: DOUBLE): DOUBLE;
var
precip :DOUBLE;
totallnfil: DOUBLE;
t1 : DOUBLE;
T,I : INTEGER;
nsteps : INTEGER;
interrrime : DOUBLE;
deltaT~err : DOUBLE;
a, b, c : REAL;
BEGIN
result := 0.0;
precip := QP^ [Q]^'.precipRate;
{-----------update number of redistribution phases and redistribution times------------------------}
IF ((QP^ [Q]^'.redistStatus = 10) OR (QP^ [Q]^`.redistStatus = 20) OR
(QP^ [Q]^.redistStatus = 30) OR (QP^ [Q]^'.redistStatus = 40)) AND
(precip < QP^ [Q]^'.ks) AND (QP^ [Q]^'.pondingAmt <= 1E-10) THEN
BEGIN
QP^ [Q]^'.numRedist := QP[Q]^`.numRedist + 1;
IF QP^ [Q]^'.redistStatus = 10 THEN


BEGIN
QP^ [Q]^'.redistTime := 0.0;
QP^[Q]^.WF[1].redistTime :
QP^ [Q]^.WF [1].numRedist :-
END
ELSE IF QP^'[Q]^'.redistStatus
BEGIN
QP^ [Q]^'.redistTime := 0.0;
QP^`[Q]^.WF[2] .redistTime :
QP^ [Q]^`.WF [2] .numRedist :
END
ELSE IF QP^'[Q]^'.redistStatus
BEGIN
QP^ [Q]^'.redistTime := 0.0;
QP^[Q]^.WF[3].redistTime :
QP^[Q]^.WF[3].numRedist :-
END
ELSE IF QP^'[Q]^'.redistStatus
BEGIN //wfl and 2 merge; old
QP^ [Q]^.WF[1].redistTime :
QP^ [Q]^.WF [1].numRedist :
QP^ [Q]^`.WF[2] .redistTime :
QP^ [Q]^`.WF [2] .numRedist :
QP^[Q]^.WF[3].redistTime :
QP^[Q]^.WF[3].numRedist :
END
END;


=0.0;
= QP^ [Q]^'.numRedist;

= 20 THEN


= 0.0;
= QP^ [Q]^'.numRedist;

= 30 THEN


= 0.0;
= QP^'[Q]^.numRedist;

= 40 THEN
1 and 2 are wfl; old3 is wf2; old4 is wf3;
= QP^ [Q]^`.WF [2]. redistrrime;
= QP^ [Q]^`.WF [2]. numRedist;
= QP^ [Q]^`.WF[3] .redistTime;
= QP^ [Q]^`.WF [3]. numRedist;
= 0.0;
= QP^'[Q]^.numRedist;











amtWater : DOUBLE;
Fnew : DOUBLE;
Fhold: DOUBLE;
t: DOUBLE;
nsteps : INTEGER;
kk, i j: INTEGER;
interrrime : DOUBLE;
deltaT~err : DOUBLE;
deltaCummlnfil : DOUBLE;
y : REAL;
nbad, nok : integer;
BEGIN
result := 0.0;
IF QP^ [Q]^'.pondFlag = 0 THEN //used when preponding rise
BEGIN
QP^ [Q]^'.WF [1].WCHold := QP^ [Q]^'.WCS;
QP^ [Q]^.WF [1].WC := QP^ [Q]^`.WCS;
END;
QP^ [Q]^`.pondFlag := 1;
nsteps := trunc((tend tstart)/deltaTr);
interrrime := start;
FOR kk := 0 TO (nsteps -1) DO
BEGIN
interrrime := interrrime + deltaTT;
QP^ [Q]^.time := inter Time;
QP^ [Q]^'.cummPrecip := QP^ [Q]^'.cummPrecip + deltaT*R;
amtWater := QP^'[Q]^'.pondingAmt + R~deltaT;
Fhold := QP^ [Q]^'.cummlnfil;
t := inter Time;
IF (QP^ [Q]^'.redistStatus = 10) or (QP^ [Q]^'.redistStatus = 11) THEN
BEGIN
Fnew := QP^ [Q]^`.cummlnfil + amtWater;
{-------------------Use calcFNewton function for regular GA-----------------------------------------}
{-----------------------Use calcFApprox function for approximate GA ---------------------------------}
QP^ [Q]^.cummlnfil := calcFNewton(Q,Fnew,t,tp,tpp,QP^` [Q]^`.WCI,QP^ [Q]^`.Say);
// QP^ [Q]^`.cummlnfil := calcFApprox(Q,Fnew,t,tp,tpp,QP^` [Q]^`.WCI,QP^` [Q]^`.Say);
result := QP^ [Q]^`.ks + ((QP^ [Q]^'.ks QP^ [Q]^'.Sav*(QP^ [Q]^'.WF [1].WC -
QP^[Q]^.WCI))I~/QP^ Q]^.cummlflnfl)
QP^ [Q]^.WF [1].FAmt := QP^ [Q]^'.cummlnfil;
deltaCummlnfil := QP^ [Q]^`.cummlnfil Fhold;
END// end if redist 10 or 11
ELSE IF (QP^ [Q]^'.redistStatus = 20) OR (QP^ [Q]^'.redistStatus = 21) THEN
BEGIN
{-------------------- update values since WC1 is changing everytime step -----------------------------}
QP^'[Q]^.Bfp := QP^'[Q]^'.WF[2].FAmt;
tp := t deltaTT;
tpp := calcTpp(Q,QP^'[Q]^'.WF[1].WC,QP^`[Q]^'.Sa)
QP^ [Q]^'.tpp := tpp;
Fnew := QP^ [Q]^`.WF[2] .FAmt + amtWater;
{-------------------Use calcFNewton function for regular GA-----------------------------------------}
{-----------------------Use calcFApprox function for approximate GA ---------------------------------}
QP^`[Q]^.WF[2] .FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[].F1]W ,P[Q ]^'.Sa)
// QP^`[Q]^`.WF[2] .FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^`[Q]^'.WF[1.WC,QP^`[Q]^`.Say);
result := QP^ [Q]^`.ks + ((QP^ [Q]^'.ks QP^ [Q]^'.Sav*(QP^ [Q]^'.WCS-
QP^`[Q]^.WF[1] .WC))/QP^'[Q]^'.WF[2] .FAmt);
QP^`[Q]^.cummlnfil := QP^`[Q]^`.WF[1] .FAmt +QP^'[Q]^.WF[2] .FAmt;









where Vol and SA are the volume and surface area, respectively, of the wet bulb; and RAs, is the

average radius of the wet bulb if it was a perfect hemisphere and defined as


R- ( 3yo2i (5-9)

However, studies have shown that the wet bulb does not form a perfect circle. Instead, the

shape can be better approximated by an ellipse (Hachum et al., 1976) that is defined by the

equation

(x -h)2 (y -k)
+ 1 (5-10)
a b

where x and y are the rectangular coordinates; (h,k) is the offset of the center of the ellipse from

(0,0); a and b are the maximum distances from the center of the ellipse to the ellipse (Figure 5-

2). It should be noted that the wet bulb is symmetric about the y-axis, however, not necessarily

symmetric about the x-axis. Therefore, the x-coordinate of the center of the ellipse is equal to

zero.








(h,k) a







Figure 5-2. Ellipse









Or equivalently


R(t) =[ o 3(3-32)


The virtue of this method is its mathematical simplicity while keeping its physical basis.

In addition, as mentioned earlier, it was shown to have good agreement with field experiments

and other numerical models (Ben Asher, et al., 1986).

In absence of gravity the flow would be hemispherical in nature. At small t, pressure

capillarity dominates over gravity providing the hemispherical shape. As t increases, however,

the drop in the gravitational potential increases, thereby, perturbing it from the hemispherical

shape. Since this model assumes that lateral and vertical movement are approximately the same,

it would be necessary to use another model, such as the 3DGA model, to describe the wetted

volume for larger times.

Comparison Verification of Point Source Models

The performance of the 3DGA model described in this report was compared against the

three alternative models presented in this report: Philip, Effective Hemisphere (EH) and

Generalized Solution (GS) models, and measured data from a published laboratory experiment.

Two separate experiments were chosen to test the generality of the system.

The first experiment, described by Angelakis et al. (1993), used a wooden soil container 1

m2 and 50 cm deep with a water supply reservoir and an emitter. In order to satisfy the

assumption that a circular source of water was maintained at the soil surface, the emitter was

supported on a glass tube placed in the center of the soil container. The soil used was Yolo

Sand, from the top 30 cm of a field profile. The sand was passed through a sieve and air dried to

a water content 0.0372 cm3CA-3. Water was applied at a rate of 9,000 cm3h-l until the wetting









AN IMPROVED GREEN-AMPT SOIL INFILTRATION AND REDISTRIBUTION METHOD
AND ITS APPLICATION TO 1-DIMENSIONAL AND QUASI 3-DIMENSIONAL (POINT
SOURCE) FLOW DOMAINS




















By

LESLIE C. GOWDISH


A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA

2007









(2 + 3 Ai)
S = -hb (2-11)
o' (1 +3 A)

The solution of Eqs. (2-8) and (2-10) permit the calculation of the redistribution of the soil

water content during the rainfall hiatus. Since this is a continuation of the Green-Ampt equation,

and follows the same assumptions, the water content calculated from Eq. (2-8) is not only the

soil surface water content, 8o, but it is also the water content of the soil above the wetting front, a

distance Z from the surface. This is based on the assumption that water is infiltrating as a

wetting front as shown in Figure 2-1. Figure 2-2a represents the process of redistribution during

the rainfall hiatus where the profile of soil water elongates to a depth Zy(t) and its soil water

content decreases from saturation, 9= 1, to GO(t).

O 6, 6 61- 8, 0 6, 6 61 63=6s
0 Z, OWF


Z1 FZ









(a) (b)
20 20


Figure 2-2. GAR method of calculating redistribution profiles. (a) Shows the redistribution
period of one wetting front when (R K,) and (b) shows the infiltration and
redistribution periods of two wetting fronts when (R K,)

Again, it should be noted that this new soil water content is not only for the surface but for

that of all the profile of soil water in redistribution. Soil water content is allowed to continue to













Table D-1. Continued
Time FI (mm) ZI (mm) WC1 F2 (mm) Z2 (mm) WC2 F3 (mm) Z3 (mm) WC3 F4 (mm) Z4 (mm) WC4 WCO RWC F (mm) 60-soo Osoo-1ooo 60-1000
(h)


71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105


12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549


369.817
371.645
373.577
375.438
377.288
379.126
380.953
382.769
384.574
386.368
388.152
389.925
391.689
393.443
395.188
396.923
398.649
400.366
402.074
406.178
411.541
416.744
421.731
426.720
431.515
436.193
440.762
445.229
449.600
453.882
458.079
462.196
466.238
470.208
474.110


0.307
0.307
0.307
0.307
0.306
0.306
0.306
0.306
0.306
0.306
0.305
0.305
0.305
0.305
0.305
0.305
0.305
0.304
0.304
0.345
0.344
0.343
0.342
0.341
0.340
0.340
0.339
0.338
0.338
0.337
0.337
0.336
0.335
0.335
0.334


0.000
7.372
11.131
14.054
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
16.568
0.000
0.000
0.000
5.755
8.596
8.596
8.596
8.596
8.596
8.596
8.596
8.596
8.596
8.596
8.596
8.596


0.000
94.423
142.240
179.201
210.803
235.887
256.863
275.549
291.832
306.414
319.705
331.972
343.398
354.120
364.239
373.835
382.970
391.696
400.055
0.000
0.000
0.000
134.035
196.458
242.187
279.605
309.922
335.683
358.120
377.971
395.731
411.758
426.318
439.625
451.844


0.000
0.385
0.385
0.385
0.385
0.376
0.371
0.366
0.363
0.360
0.357
0.355
0.353
0.352
0.350
0.349
0.348
0.347
0.346
0.000
0.000
0.000
0.385
0.385
0.376
0.370
0.367
0.364
0.362
0.360
0.358
0.357
0.356
0.354
0.353


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.307
0.385
0.385
0.385
0.385
0.376
0.371
0.366
0.363
0.360
0.357
0.355
0.353
0.352
0.350
0.349
0.348
0.347
0.346
0.345
0.344
0.343
0.385
0.385
0.376
0.370
0.367
0.364
0.362
0.360
0.358
0.357
0.356
0.354
0.353


0.736
1.000
1.000
1.000
1.000
0.971
0.951
0.936
0.924
0.914
0.906
0.899
0.893
0.887
0.882
0.878
0.874
0.870
0.867
0.864
0.860
0.857
1.000
1.000
0.969
0.951
0.938
0.929
0.921
0.915
0.909
0.904
0.900
0.896
0.893


12.980
20.352
24.111
27.034
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
29.549
35.303
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144
38.144


0.298
0.313
0.320
0.326
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.331
0.343
0.348
0.348
0.348
0.348
0.348
0.348
0.348
0.348
0.348
0.348
0.348
0.348


0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272


0.285
0.292
0.296
0.299
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.302
0.307
0.310
0.310
0.310
0.310
0.310
0.310
0.310
0.310
0.310
0.310
0.310
0.310










QP^[Q]^.WF[1].Z := QP^'[Q]^'.WF[1].FAmt/(QP^`[Q]^ .WF[1].WC-Q^Q^WI
QP^`[Q]^.WF[2].Z := QP^`[Q]^`.WF[3].Z;
QP^`[Q]^.WF[2] .FAmt := QP^'[Q]^'.WF[3] .FAmt;
QP^`[Q]^.WF[2].WC := QP^`[Q]^`.WF[3].WC;
QP^[Q]^.WF[2] .WCHold := QP^'[Q]^`.WF[3] .WCHold;
QP^`[Q]^.WF[3].Z := QP^`[Q]^`.WF[4].Z;
QP^`[Q]^.WF[3] .FAmt := QP^'[Q]^'.WF[4] .FAmt;
QP^`[Q]^.WF[3].WC := QP^`[Q]^`.WF[4].WC;
QP^`[Q]^.WF[3] .WCHold := QP^'[Q]^'.WF[4] .WCHold;
QP^`[Q]^.WF[4].Z := 0.0;
QP^`[Q]^.WF[4] .FAmt := 0.0;
QP^`[Q]^.WF[4].WC := 0.0;
QP^`[Q]^.WF[4] .WCHold := 0.0;
END;
IF (precip < QP^ [Q]^'.fp) THEN //chance it will not remain ponded the entire time
//need to find the time all water will infil, ie when no longer ponded
BEGIN
IF (QP^'[Q]^'.redistStatus = 10) THEN
BEGIN
QP^ [Q]^'.Bfp := QP^ [Q]^'.WF [1].FAmt;
QP^'[Q]^.tpp := calcTpp(Q,QP^`[Q]^`.WCI,QP^`[Q]^`.Say);
totalnfldl:= QP^`[Q]^`.WF[1] .FAmt +QP^'[Q]^.pondingAmt;
t1 := calcTNewton(Q, start, tend, QP^ [Q]^'.timeToPond, QP^ [Q]^'.tpp,
precip, totallnfil,QP^'[Q]^/.WCI,QP^'[Q]^`.Sav);
END
ELSE IF (QP^'[Q]^'.redistStatus = 20) THEN
BEGIN
QP^ [Q]^'.Bfp := QP^ [Q]^'.WF [2].FAmt;
QP^[Q]^.tpp := calcTpp(Q,QP^ [Q]^/.WF[1]. WC,QP^'[Q]^`.Say);
totalnfldl:= QP^`[Q]^`.WF[2] .FAmt +QP^'[Q]^.pondingAmt;
t1 := calcTNewton(Q, start, tend, QP^ [Q]^'.timeToPond, QP^ [Q]^'.tpp,
precip, totallnfil,QP^'[Q]^'.WF[1].WC,QP^`[Q]^.Sa)
END
ELSE IF (QP^'[Q]^'.redistStatus = 30) THEN
BEGIN
QP^ [Q]^'.Bfp := QP^ [Q]^'.WF [3].FAmt;
QP^'[Q]^.tpp := calcTpp(Q,QP^ [Q]^`.WF[2] .WC,QP^`[Q]^`.Say);
totalnfldl:= QP^`[Q]^`.WF[3] .FAmt +QP^'[Q]^.pondingAmt;
t1 := calcTNewton(Q, start, tend, QP^ [Q]^'.timeToPond, QP^ [Q]^'.tpp,
precip, totallnfil,QP^ [Q]^/. WF[2] .WC,QP^ [Q]^`.Say);
END
ELSE //redistStatus = 40
BEGIN
QP^ [Q]^'.Bfp := QP^ [Q]^'.WF [4].FAmt;
QP^ [Q]^'.tpp := calcTpp(Q,QP^ [Q]^`.WF[3] .WC,QP^ [Q]^`.Say);
totalnfldl:= QP^`[Q]^`.WF[4] .FAmt +QP^'[Q]^.pondingAmt;
t1 := calcTNewton(Q, start, tend, QP^ [Q]^'.timeToPond, QP^ [Q]^'.tpp,
precip, totallnfil,QP^'[Q]^'.WF[3].WC,QP^`[Q]^.Sa)
END;
END
ELSE // there is no chance it will loose all ponding
t1 := tend + 99999999.0; //set time so that it will remain ponded
IF t1 > tend THEN
{------------------will remain ponded entire period; infil using pond conditions only--------------}
BEGIN
result := calcPond(Q,tstart,tend,QP^` [Q]^/.timeToPond,QP^' [Q]^/.tpp,deltaT,precip) ;










WF(1)%WC = WF(2)%WC
ENDIF
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
redistStatus = 30
WF(2)%TInfil = WF(3)%TInfil
WF(2)%WC = WF(3)%WC
WF(2)%WC = WF(3)%WC
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%TInfil = WF(4)%/TInfil
WF(3)%WC = WF(4)%WC
WF(3)%WC = WF(4)%WC
n= 3
Call calcR(n, WF(3)%/WC WF(2)%WC,romin,WF(3 )%TInfil,
+ angles,numA,WF)
Call calcXY(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(3)%/y(numA+1),WF)
Call calcSA(n,WF(3)%/y(numA+1),WF)
WF(4)%WC = 0.0
WF(4)%WC = 0.0
Do j = 1, numA+1
WF(4)%/ROi) = 0.0
WF(4)%x(j) = 0.0
WF(4)%/yi) = 0.0
Enddo
WF(4)%/kint = 0.0
WF(4)%a = 0.0
WF(4)%/b = 0.0
WF(4)%/vol = 0.0
WF(4)%SA = 0.0
WF(4)%TInfil = 0.0
S!!/need to decrease wc2 which was wc3
y = WF(2)%WC
CALL Odelnt(WF(2)%/vol,WF(2)%SA,WF(1)%WC,y,tst,.01ddT
WF(2)%WC = y
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
!!checks










(QP^`[Q]^`.WF[1].z <= QP^'[Q]^'.LayerBottomZ[L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[1].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[1].WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[1].z)*
QP^ [Q].WCI)/QP^ [Q]^'.ProfileDepth[L] ;
END;
END //end if redist = 30 or 31
ELSE IF (QP^'[Q]^'.redistStatus = 40) THEN
BEGIN
IF (QP^`[Q]^`.WF[4].z >= QP^'[Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := QP^ [Q].WF[4].WC ;
END
ELSE IF (QP^`[Q]^`.WF[1].z <= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) THEN
BEGIN
QP^ [Q]^.LayerAvgWC[L] := QP^ [Q].WCI;
END
ELSE IF (QP^`[Q]^`.WF[4].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[3].z >= QP^'[Q]^'.LayerBottomZ[L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[4].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[4].WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[4].z)*
QP^[Q].WF[3] .WC)/QP^`[Q]^`.ProfileDepth[L] ;
END
ELSE IF (QP^`[Q]^`.WF[4].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[3].z <= QP^'[Q]^'.LayerBottomZ[L]) AND
(QP^\[Q]^.~WF [2].z >= QP^ [Q]^`.LayerB ottomZ [L] )THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[4].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[4].WC +
(QP^`[Q]^`.WF[3] .z-QP^`[Q]^`.WF[4] .z)*QP^`[Q].WF[3] .WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[3].z)*
QP^[Q].WF[2] .WC)/QP^[Q]^".ProfileDepth[L];
END
ELSE IF (QP^`[Q]^`.WF[4].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[2].z <= QP^'[Q]^'.LayerBottomZ[L]) AND
(QP^`[Q]^`.WF[1].z >= QP^'[Q]^'.LayerBottomZ[L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[4].z QP^'[Q]^'.LayerBottomZ[L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[4].WC +
(QP^`[Q]^`.WF[3] .z-QP^`[Q]^`.WF[4] .z)*QP^`[Q].WF[3] .WC +
(QP^\[Q]^.~WF[2].z-QP^'[Q]^.WF[3].z)*QP^`[Q ].WF[2].WC +
(QP^[Q]^.Layer~ottomZ[L] QP^'[Q]^'.WF[2].z)*
QP^[Q].WF[1].WC)/QP^[Q]^.\Profileepept[L]
END
ELSE IF (QP^`[Q]^`.WF[4].z >= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) AND
(QP^`[Q]^`.WF[1].z <= QP^'[Q]^'.LayerBottomZ[L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[4].z QP^'[Q]^'.LayerBottomZ[L] +










needs to be at or very near saturation meaning that the emitter discharge rate needs to equal the

average infiltration capacity rate. This assumption makes sense for drip irrigation systems since

quite often drip irrigation systems are designed so that emitter discharge rate equals infiltration

capacity in order to optimize results.

Source Radius

Sepaskhah and Chitsaz (2004) Equation

In order to validate the 3DGA method described by Chu (1994), Sepaskhah and Chitsaz

(2004) developed an equation for calculation of the supply radius, ro. The source radii of various

soils, having different saturated hydraulic conductivities, Ks, for different emitter discharges, Q,

were measured. A multiple regression analysis was then used to obtain an equation for ro as a

function of Ks and Q and found to be

r, = 45.1 -1196 -K, + 67.9 -Q (4-11)

with a coefficient of determination, r2, Of 0.61, where Ks has units of mms-l and Q has units of

mm3S-

While the graphical results provided in the paper appear to give good results, it is not

possible to verify this due to the fact that some of the input data are missing. To test the

applicability of this equation, it was compared to published data from an experiment described

by Angelakis et al. (1993). Water was applied at a rate of 2,100 cm3h-l to a clay loam soil. At

six predetermined times, 55, 170, 350, 590, 950 and 1545 minutes, the soil profile was sampled

at various depths and distances from the source. Saturated and residual water content measured

0.52 cm3Cm-3 and 0.28 cm3CA-3, TOSpectively, and the saturated hydraulic conductivity was

calculated to be 0.85 cmh- The fitted value of AO= 0.36 cm3Cm-3 was used for theoretical









Table 4-1. Soil textures and hydraulic parameters used in 3DGA simulations (refer to Appendix
for nomenclature)

Soil # txUSDA W 8, 8' hb1 (cm) AE Ks (cm/h) Say 2 CM)
1 Sand 0.417 0.020 0.033 7.26 0.694 23.56 9.62
2 Loamy sand 0.401 0.035 0.055 8.69 0.553 5.98 11.96
3 Sandy loam 0.412 0.041 0.095 14.66 0.378 2.18 21.53
4 Loam 0.434 0.027 0.117 11.15 0.252 1.32 17.50
5 Silt loam 0.486 0.015 0.133 20.79 0.234 0.68 32.96
6 Sandy clay 0.330 0.068 0.148 28.08 0.319 0.30 42.43
loam
7 Clay loam 0.390 0.075 0.197 25.89 0.242 0.20 40.89
8 Silty clay 0.432 0.040 0.208 32.56 0.177 0.20 53.83
loam
9 Sandy clay 0.321 0.109 0.239 29.17 0.223 0.12 46.65
10 Silty clay 0.423 0.056 0.250 34.19 0.150 0.10 57.77
11 Clay 0.385 0.090 0.272 37.30 0.165 0.06 62.25
SSelected according to Rawls et al. (1982, 1983); 2Calculated from Brooks and Corey (1964) equations

The parameters (8,, 8, hb, ii, Ks and 8~= wilting point water content) (refer to Appendix

for nomenclature) were selected for each soil texture according to Rawls et al. (1982, 1983). The

value for So, was calculated from those of Brooks and Corey (1964) according to

(2 +3- )
S, = -h, (4-22)
av b(1 +3 2)

where hb is the bubbling pressure and ii is the pore size distribution index. In order to

obtain convergence for all the soils, it was necessary to use the van Genuchten (1980) model to

describe the soil water hydraulic properties. The corresponding van Genuchten parameters, a

and n, were obtained using the RETC program (van Genuchten et al., 1991) based on the curves

described by the Brooks and Corey parameters (Table 4-2). Once the parameters were obtained,

the soil water retention curves for both models were compared to ensure that they were

equivalent. Similar methods for converting Brooks and Corey (1964) parameters to van

Genuchten (1980) parameters have been researched and shown to provide similar results









the model chosen be based on the same underlying assumptions as the GA equation. One such

model was described by Ogden and Saghafian (1997). This model is a specific case of the

conceptual model developed by Smith et al. (1993) to simulate the continuous infiltration and

soil water redistribution cycle for multistorm time series in which Ogden and Saghafian (1993)

implement the Green-Ampt equation for simulating the infiltration phase resulting in the Green-

Ampt with Redistribution (GAR) method. An extension of the Parlange et al. (1982) equation

was proposed and used by Smith et al. (1993) for simulating the infiltration phase in their

methodology. Both of these methods were shown to perform satisfactorily when compared to a

numerical solution of the Richards' equation (Smith et al., 1993; Ogden and Saghafian, 1997).

One benefit of using the GAR model is that it requires only three soil infiltration parameters and

three water contents, which can be determined from soil textural classifications (Rawls et al.,

1982, 1983). In addition, the method is explicit and is therefore easy to implement and robust

when time steps are constrained to allow for convergence.

There are, however, some disadvantages to the GAR methodology. The original results

presented by Ogden and Saghafian (1997) show that for soils with larger saturated hydraulic

conductivity values the error in the prediction of surface water content increases. Furthermore,

when the method is applied to a long period of uneven storms there is an increasing divergence

from actual surface water content after subsequent redistributions.

The purpose of this paper is to describe and evaluate the modification to the original GAR

formulation that eliminates the increase in error in surface water content predictions for a wide

range of soil types, including during a long series of uneven rain and redistribution events. In

addition, the capability of the method to predict average moisture within the soil profile is

studied. The motivation for this work comes from the desire to provide an improved physically










APPENDIX F
3DGAR SAMPLE INPUT FILE

Units: Length [cm], Time [h]

c :/fortran/3D GAR/clayIn.txt
0.385 0.09 0.272 0.165 0.06 62.25 5.0 500.0 96 96.0
1 1 0 0 0 0 0 0 1 1 0 0 0
0 0 0 1 1 0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 1 0 0 0 0 0
0 1 1 0 0 0 0 0 0 1 1 0 0
0 0 0 0 1 1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1 1 0 0 0 0
0 0 1 1 0 0 0 0 0 0 1 1 0
0 0 0 0 0

6, 6, 6, ?L Ks Say dL Q nTimeSteps tstop
(IrrigFlag(j), j = 1, nTimeSteps)











QP^[Q]^.RWC := (QP^`[Q]^`.WF[4].WC QP^'[Q]^'.WCR)/(QP^'[Q]^`.WCS QP^'[Q]^.WCR);
END;

{performs redistribution process when precip < ks and no ponding-----------------------------------
PROCEDURE Redistribution(Q : INTEGER; tend, dT : DOUBLE);
VAR
ts, te : real;
nok, nbad ,j: integer;
BEGIN
ts := tend dT;
te := tend;
//calculate gamma coefficient for each wetting front
FOR J := 1 to 3 DO
QP^[Q]^.wflj].adjFactor := adjFactorCalc(Q,QP^'[Q]^`.wflj].numRedist
QP^ [Q]^.wflij].redistTime);

IF (QP^ [Q]^'.redistStatus = 11) THEN
BEGIN
Redistl 1(Q,0.0,ts,te,dT,nok,nbad);
END //end redist 11
ELSE IF (QP^ [Q]^'.redistStatus = 21) THEN
BEGIN
Redist2 1(Q,0.0,ts,te,dT,nok,nbad);
END //end redist =21
ELSE IF (QP^ [Q]^'.redistStatus = 31) THEN
BEGIN
Redist3 1(Q,0.0,ts,te,dT,nok,nbad);
END; //end redist = 31 or 40

END;



{calculates potential cumulative infiltration ---------------------------------------------------}
FUNCTION CummlnfilAtPond(Q: INTEGER;WC,S: DOUBLE): DOUBLE;
var
rk : DOUBLE;
BEGIN
rk : = (QP^ [Q]^/.precipRate)/(QP^' [Q]^'.ks);
result := S *(QP^ [Q]^`.WCS WC)/(rk 1);
END;

{calculates time to ponding ------------------------------------------------------------}
FUNCTION CalcTimeToPond(Q : INTEGER): DOUBLE;
BEGIN
result := (QP^ [Q]^'.BFp)/(QP^ [Q]^`.PrecipRate) ;
END;

{calculates time shift ----------------------------------------- -----------------------}
FUNCTION CalcTpp(Q: INTEGER;WC,S: DOUBLE): DOUBLE;
BEGIN
result := (QP^ [Q]^.BFp S*(QP^ [Q]^'.WCS WC) In(1 + (QP^ [Q]^'.BFp/
(S*(QP^ [Q]^.wsWCS-WC)))))/QP^ Q]^.ks
END;

{calculates cumulative infiltration using Newton Raphson method










discretization. For this reason approximate, physically based approaches have been developed

for modeling infiltration and soil water redistribution.

Under point source emitters a small ponded area on the soil surface can occur. This

ponded area is similar to a hemispherical cavity which can be considered the source of water

flow to the soil profile (Figure 3-1), having uniform flux from the surface of the cavity. Several

methods have been developed, with good results, using this assumption (Raats, 1971; Parlange,

1973; Warrick, 1974). One such model which uses this assumption is the 3-dimensional Green-

Ampt (3DGA) model (Chu, 1994).

Source Cartr












Figure 3-1. 3-dimensional Green-Ampt wetting front

In addition to the cavity source, the 3DGA model assumes

Water flows in a radial direction from the cavity source

Water is assumed to enter the soil as a sharp wetting front which separates a saturated
wetted zone from an unwetted zone

The soil is assumed to be deep and homogeneous

The soil is assumed to be at a uniform initial water content

The sharp wetting front is of particular interest. It comes from studies which have shown

that point source systems exhibit an average water content within the wetted area which changes

very little in a given time period (Ben-Asher et al., 1986). This same concept is related to a









The sharp wetting front is of particular interest. It comes from studies which have shown

that point source systems exhibit an average water content within the wetted area which changes

very little in a given time period (Ben-Asher et al., 1986). This same concept is related to a

sharp wetting front in that there is an infiltrated water content in the wetting front and beyond,

the soil remains at initial water content.

From the principle of conservation of mass, the flux density of the wetted front is inversely

proportional to the square of the radial distance, so that

f =CR-2 (4-1)

where fis the flux density; C is the proportional constant; and R is the radial distance from a

point along the wetted front to the source center.

In addition, the flux density can be obtained by applying Darcy's law (1856), such that

dh
f = -K, (4-2)
SdR

where Ks is the saturated hydraulic conductivity of the soil and h is the total energy head.

Substituting fin Eq. (4-1) into Eq. (4-2), rearranging, and integrating from r = ro to R and h

= 0 to -(So, + R~sinB) results in

C(ro' R') = Ks (S,, + Rsin B) (4-3)

where So, is the average suction at the wetting front; ro is the supply radius of the hemispherical

cavity source; and B is the angle between the ground surface and wetted radius R.

Substituting C from Eq. (4-3) into Eq. (4-1) describes the equation for calculating the flux

density at any point along the wetted boundary as

f K,roR(S,, + R sin B)1( -2-


Applying the principle of conservation of mass










calculation so long as (84-68) (8,-8). This implies that the previous equation is valid for

relatively short redistribution intervals.

Modified Green-Ampt Infiltration with Redistribution Method (MGAR)

Multiple Redistributing Wetting Front Scheme

Although limiting the number of wetting fronts to two simplifies the calculation, it limits

the physical basis in comparison to numerical and experimental soil moisture profies. When

the two fronts merge, a portion of the soil profie which was at Bi, where 8, > 4>8, is now

instantaneously changed to saturation and another portion changed to initial water content that

can lead to discontinuous "jumps" in water content along these soil sections. This scenario is

physically unrealistic. In addition, as explained above, the condition (84-68) (8,-8) is often not

valid during long redistribution intervals, so the error in the calculation for redistribution

increases.

In order to reduce the prediction error that occurs within the soil profie it is proposed to

allow the second wetting front to redistribute, as well as, allow for additional fronts to form and

redi tribute. In the proposed modification, instead of merging the saturated front and

redistributing front once the rainfall rate drops below saturated hydraulic conductivity (r
~Ks), the saturated front is allowed to redistribute as well. The lower front (wetting front 1,

WFl) continues to redistribute using Eqs. (2-8) and (2-10), using 8, and Bi and Z1, while the

upper front (WF2) redistributes using 8,, Bi and Zz. The two fronts continue to redistribute until

Zy = Zz, at which time the two fronts are merged into one front at water content 8,. If, instead,

the rainfall rate increases so that (r > f, =Ks), a third front (wetting front 3, WF3) is introduced.

Similar to the original method, any new infiltration will feed only the top wetting front (WF3)

having a depth of Z3, and will be calculated using the appropriate substitutions in Eq. (2-12). If









A modification is proposed here to the original GAR method, MGAR, in order to improve

the accuracy on long multistorm precipitation time series. Visual comparisons of graphs of the

surface water content obtained for GAR and Richards' numerical solutions were used to assess a

pattern in the error for long time series. The influence of several variables (rainfall intensity for

each storm, length of rainfall event, number of rainfall events, length of the redistribution period

and number of redistribution periods since beginning of simulation) were analyzed to determine

their effect over the error trends. A correction factor in the form of a function containing one or

more of these variables was explored for all the soil textural classes (Rawls et al., 1982, 1983). A

non-linear least-squares curve fitting search procedure (TableCurve 3D, SYSTAT Inc.,

Richmond, CA) was used to fit a large number of equations for each soil type containing

combinations of the different factors studied. After comparing the list of equations for each soil a

common relationship, valid for all soil types, was chosen to provide a "good fit", R2 > 0.86, with

a minimum number of parameters.

Prediction of the Average Soil Water Content for a Desired Observation Layer

One of the most frequent applications of hydrologic models of the unsaturated zone is the

prediction of the soil water content for a desired observation layer within the soil profile,

corresponding, for example, to the plant root zone, to biochemically active horizons, etc. Using

the rectangular profiles proposed by the method, an estimation of the soil water content can be

obtained by means of a weighted average of the different segments of the profile by the different

soil water contents of each wetting front, 6, and 62, with their respective thicknesses, Z1 and Z2,

the initial water content, 8,, and the depths of the layer of interest, Z,1 and Zi2 (Figure 2-3).









CHAPTER 6
CONCLUSIONS

When formulating a simplified but physically based soil water simulation model, it is

desirable that both the infiltration and redistribution component of the model be based on the

same underlying assumptions. The 1-dimensional Green-Ampt with Redistribution (GAR)

method meets this requirement and is able to simulate the continuous infiltration and soil water

redistribution cycle for multistorm time series. The method requires few parameters, is

computational efficient, and robust. However, the original results show that for soils with larger

saturated hydraulic conductivity values the error in the prediction of surface water content is

significant, and also that when the method is applied to a long period of uneven storms there is

an increasing divergence from actual surface water content after subsequent redistributions.

Modiaications to the original GAR method were developed and tested for improving the

estimation of soil water infiltration and redistribution in a wide variety of soils. The first

modification expands the number of redistributing wetting fronts from one to any number,

providing a better physical representation to predict the average water content for a desired

observation soil layer. The second modification consisted of the application of a correction

factor, the redistribution coefficient T, derived from the error analysis of the method as a

function of redistribution number (NR), redistribution time (TR) and saturated hydraulic

conductivity (Ks). A comparison of a numerical solution of Richards' equation against the GAR

method and the modified GAR (MGAR) method presented showed that the latter is markedly

better at predicting the surface water content while maintaining good cumulative infiltration

predictions. In addition, the ability of MGAR to predict the average water content for a desired

observation soil layer was also found to provide good results against Richards' numerical

solution values.













s (am)
0 1 20 30 40










~20




30
Proposedroi
-Philip romin
aH2D
40



Figure 4-5. Wetting front shape at t = 1h and 6h for 3DGA and Richards' model, H2D, for the
Clay soil (Q = 0.5 Lh- )


s (cm)
010 20 80 40













Proposedrmn
30 -- Philip romin
aH2D



40



Figure 4-6. Wetting front shape at t = 1h and 6h for 3DGA and Richards' model, H2D, for the
Loam soil (Q = 0.5 Lh- )












82











MaxStp = 100
timy = 1.0e-3
x = xl
h = abs(hl)
v = start
DO nstp = 1 ,maxstp
CALL derits(vol, SA,WC,v,dydx)
yscal = abs(y) + abs(dydx~h)+tiny
IF ((x+h-x2)*(x+h-x1).GT.0.0) THEN
h= x2-x
ENDIF
CALL rkqc(vol,SA,WC,y,dydx -.x.h.eps.yscal,hddhet
IF ((x-x2)*(x2-x1).GE.0.0) THEN
start = v
GOTO 99
ENDIF
h= hnext
ENDDO
99 MaxStp = 0
END


cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c Procedures Redistl 1, Redist20, Redist21, Redist30, Redist31 and Redist40 perform c
c the redistribution process depending on what redistribution status the system is in c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc


Subroutine Redistl1(numA,ts ,te,dt,wcmin,WF)
c----- redistribution routine if one front ------------------------------------------------------
Implicit None
Common /soilDatal/ wcs,wcr,wci,1ambda
Common / soilData2/ H, ksat,romin
Common / RData/ angles
Double Precision ts, te, dt, wcmin,romin,angles(7)
Double Precision wcs,wcr,wci,ksat,1ambda,H, v,dvdx
Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA

Double Precision TInfil
End Type
Type (Front) WF(4)
Integer n~numA

y = WF(1)%/WC
CALL Odelnt(WF(1 )%/vol,WF(1 )%SA,WCI,y,ts,te,0 .00001Id0,dT)
WF(1)%WC = y









front approached within 10 cm of the soil container walls. At six predetermined times, the soil

profile was sampled with a sampling tube at various depths and distances from the source.

The source radius at the surface was measured as 8 cm for the theoretical calculations

(Table 3-1). Saturated and residual water content measured 0.44 cm3Cm-3 and 0.1 cm3Cm-3,

respectively, and the saturated hydraulic conductivity was calculated to be 5.8 cmh- The fitted

value of AO= 0.28 cm3CA-3 was used for the theoretical calculations. For the Generalized

Solution model (Healy and Warrick, 1988), the parameters a and n were calculated to be 0. 183

cm-l and 2.78, respectively, from the equation


(3-33)


where m = 1 1/n.

Lastly, the suction at the wetted front for the 3DGA model was calculated using Eq. (3-33)

as well, and found to be Sa, = 3.98 cm.

Table 3-1. Flow rate and soil parameters used in Philip, Generalized Solution, 3DGA and
Effective Hemisphere simulations (refer to Appendix for nomenclature)
SoQ ro K, Say a
(cm h- ) (cm) 8 (cmh- ) (cm) (cm~' )
Yolo sand 9000.0 8.0 0.44 0.10 0.280 5.8 3.98 0.183 2.78
Manawatu fine 360.0 0.4 0.45 0.05 0.172 0.4 368.00 0.028 3.55
sandy loam

The second experiment, described by Clothier and Scotter (1982), was conducted in a

rectangular box with a 200 mm by 200 mm horizontal surface area and a depth of 300 mm. The

box was packed with Manawatu Fine Sandy Loam. Water was applied in one corner of the box

at a rate of 360 cm3h- resulting in a quarter-hemisphere cavity in that corner. The cavity has a

radius of approximately 0.4 cm that remained filled with water throughout the experiment. A

moisture retention curve was used to fit values of n = 3.55, a = 0.028 cm Os, = 0.45 cm3Cm-3


B(h) = 6, + (8, -0,)1i+ (a h)" "











QP^'[Q]^.WCmin := strToFloat(soilLine [8]);
END
ELSE IF Row = 1 THEN
BEGIN
QP^'[Q]^.NumObsLayers := strTolnt(soin~ine[0]);
END
ELSE IF Row = 2 THEN
BEGIN
FOR L := 1 TO QP^'[Q]^'.NumObsLayers DO
QP^'[Q]^.ProfileDepth[L] := strToFloat(soin~ine[-1]);
END
ELSE IF Row = 3 THEN
BEGIN
FOR L := 1 TO QP^'[Q]^'.NumObsLayers DO
QP^ [Q]^'.TopObsLayers[L] := strToFloat(soilLine[L-1]);
END;
END; //for Row
END ; { FOR Q }

{loops to initialize calculated variables ---------------------------------------------------- }
FOR Q := 1 TO NumQuadrats DO
BEGIN
QP^ [Q]^`.pondFlag := 0 ;
QP^'[Q]^.redistStatus := 10;
QP^[Q]^.WCO := 0.0 ;
QP^`[Q]^.RWC := 0.0 ;
QP^ [Q]^'.fp := 0.0 ;
QP^'[Q]^.Bfp := 0.0;
QP^[Q]^'.timeToPond := .0 ;
QP^ [Q]^'.tpp := 0.0 ;
QP^ [Q]^`.precipRate := 0.0 ;
QP^ [Q]^'.cummPrecip := 0.0 ;
QP^ [Q]^'.pondingAmt := 0.0 ;
QP^ [Q]^'.infilRate := 0.0 ;
QP^ [Q]^`.cummlnfil := 0.0 ;
QP^ [Q]^'.runoffAmt := 0.0 ;
END;
FOR Q := 1 TO NumQuadrats DO
Begin
QP^ [Q]^'.numRedist := 0;
QP^'[Q]^.redistTime := 0.0;
QP^'[Q]^.time := 0.0;
QP^`[Q]^.tpAdj := 0;
END;
{loop for initializing wetting front data-----------------------------------------------------
FOR Q := 1 TO NumQuadrats DO
BEGIN
FOR T := 1 TO 4 DO
BEGIN
QP^`[Q]^.WF[T].z := 0.0;
QP^ [Q]^'.WF [T].FAmt := 0.0;
QP^`[Q]^.WF[T].WC := 0.0;
QP^ [Q]^`.WF [T] .WCHold := 0.0;
QP^`[Q]^.WF[T] .NumRedist := 0;
QP^`[Q]^.WF[T] .RedistTime := 0.0;
QP^`[Q]^.WF[T] .adjFactor := 0.0;











and Sandy Loam soils, with overall combined line coefficient of efficiencies of 0.762, 0.821,

0.724, 0.929, 0.928, 0.916, 0.904, 0.780 and 0.741, respectively. The Sand and Loamy Sand

soils do not appear to do as well due to the large spikes in average water content that occurs

during irrigation events. The spikes are a result of the assumption of each wetting front having


homogeneous water content, and the fast nature that sandy soil wetting fronts form due to their

high saturated hydraulic conductivity and porosity causing the observation cells to become

saturated during irrigation events.


Figures 5-7 5-9 are a graphical comparison of the evolution of the average water content

during the simulations for the Loam, Clay and Sandy Clay Loam soils. The observation cells

were chosen in order to show a variety of locations, both below and to the side of the emitter. It

can be observed, by visual inspection, that 3DGAR closely matches Richards' solution.



0.5


0.45-









0.3-
H2D
-3DGAR
0.25
0 24 48 72 96
T im e (h)


Figure 5-7. Evolution of average water content for the observation cell 5 cm to the side emitter,
for the Loam soil









Table 2-6. Coefficient of efficiency and root mean squared error (in parentheses) results of
simulations comparing GAR and MGAR against Richards' solution (refer to
Appendix for nomenclature)
Soil 8, Bo-so Bn-aloo F;
Soil texture
# GAR MGAR GAR MGAR GAR MGAR GAR MGAR
1 Sand -3.659 0.975 -2.463 0.888 -1.344 0.385 1.000 0.998
(0.150) (0.011) (0.125) (0.023) (0.098) (0.050) (2. 184) (6.474)
2 Loamy -2.675 0.977 -1.265 0.560 -0.301 -1.020 0.996 0.994
sand (0.105) (0.008) (0.078) (0.034) (0.053) (0.065) (2.912) (3.831)
3 Sandy loam -1.273 0.980 -0.206 0.637 0.886 0.626 0.992 0.996
(0.064) (0.006) (0.044) (0.024) (0.025) (0.045) (2.049) (1.559)
4 Loam -0.598 0.978 0.617 0.822 0.975 0.872 0.998 0.995
(0.047) (0.006) (0.028) (0.019) (0.015) (0.034) (0.677) (1.041)
5 Silt loam 0.364 0.971 0.931 0.954 0.982 0.962 1.000 0.925
(0.032) (0.007) (0.017) (0.013) (0.015) (0.022) (0.219) (1.005)
6 Sandy clay 0.219 0.935 0.862 0.955 0.961 0.957 0.998 0.997
loam (0.022) (0.006) (0.011) (0.006) (0.011) (0.011) (0.244) (0.331)
7 Clay loam 0.533 0.961 0.937 0.978 0.968 0.978 1.000 0.994
(0. 018) (0.005) (0.009) (0.005) (0.010) (0.008) (0.103) (0.375)
8 Silty clay 0.795 0.988 0.961 0.985 0.972 0.979 0.998 0.987
loam (0.013) (0.006) (0.009) (0.006) (0.011) (0.009) (0.265) (0.608)
9 Sandy clay -0.002 0.939 0.628 0.923 0.870 0.883 0.996 0.995
(0.014) (0.004) (0.008) (0.004) (0.008) (0.007) (0. 177) (0.209)
10 Silty clay 0.846 0.991 0.939 0.993 0.969 0.968 0.997 0.986
(0.009) (0.003) (0.009) (0.003) (0.007) (0.007) (0. 192) (0.401)
11 Clay 0.759 0.989 0.883 0.984 0.941 0.939 0.998 0.980
(0.009) (0.002) (0.008) (0.003) (0.006) (0.006) (0. 106) (0.322)

For all soil textural classifications the coefficient of efficiencies, Cety, for surface water

content, 8o, ranged from -3.659 to 0.846 for GAR and 0.935 to 0.991 for MGAR, showing the

vast improvement obtained using the proposed redistribution coefficient across all soil types,

especially for the sandy soils. The cumulative infiltration errors remained similarly low for both

methods.

The results of the average water content for the two layers, Bo-so, Bso-loo, show an

improvement in the prediction for the top layer for all soil types. In addition to the significant

improvement to the surface water content and average water content of the top layer, the

predictions of the lower layer are maintained along the same results of the original method. The









CHAPTER 5
3DGAR: A QUASI 3-DIMENSIONAL GREEN-AMPT WITH REDISTRIBUTION MODEL
FOR INTENSIVE BED (POINT SOURCE) MANAGEMENT SYSTEMS

Introduction

Intensive bed management systems have become increasingly popular for agricultural

production in Florida. Through their plastic-bed drip systems, these mechanisms can provide an

increase in water application efficiency and a decrease in nutrient leaching, all while delivering

desirable yields. There are increased benefits provided to sandy soils, seen throughout Florida,

which have high hydraulic conductivities and low water-holding capacities. Modeling of these

systems in particular is therefore useful in assessing water quality impacts by state agencies and

assisting in the BMP selection process for individual farmers.

Unsaturated flow can best be described by combining Darcy's Law (1856) with the

continuity equation, resulting in a theoretical partial differential equation known as Richards'

equation (1931). Richards' equation does not have a general analytical solution, and therefore

must be solved numerically in many practical applications. The numerical solutions of Richards'

equation are generally computationally intensive, require extensive soil property data, and

involve parameterization and fine spatial and temporal discretization which can result in errors

(Skaggs and Khaleel, 1982; Ogden and Saghafian, 1997). For this reason approximate,

physically based approaches have been often used for modeling infiltration and soil water

redistribution (Jury and Horton, 2004; Singh and Woolhiser, 2002; Haan et al., 1993; Smith et

al., 1993).

One such model was described by Ogden and Saghafian (1997). This model is a specific

case of the conceptual model developed by Smith et al. (1993) to simulate the continuous

infiltration and soil water redistribution cycle for multistorm time series in which Ogden and

Saghafian (1993) implement the Green-Ampt (1911) equation for simulating the infiltration









calculations. The suction at the wetted front for the 3DGA model was calculated to be Say

11.82 cm.

Using the above data, the Sepaskhah and Chitsaz (2004) ro is calculated to be 3,965 cm.

From this extremely large value alone we can see that this ro will not provide acceptable results.

Furthermore, the supply radius was measured to be approximately 8 cm which is drastically

smaller than the calculated value from Eq. (4-11). Lastly, when used in the 3DGA model with

the above data and compared to the published data, the Nash and Sutcliffe (1970) coeffieient of

efficiencies for the ground surface wetted radius, RO, and the vertical wetted depth, R1, are -

148420.000 and -524.64, respectively. Similar results were obtained for additional cases,

therefore, this method for calculating the source radius for use in the 3DGA model has been

excluded as a viable option.

Philip Equation

Before Chu developed his 3DGA model, Philip (1969) developed a steady-state absorption

solution in which the minimum cavity radius need to accommodate a given Q indefinitely is

calculated as



r mm= ~8 Q 1 d (4-12)


where D is the diffusivity.

Diffusivity can be expressed by an exponential function of the form

D = a exp(b 8) (4-13)

Using the scaling technique from Brutsaert (1979), a and b are defined as

a= 7S2 OXp[-f O, /(8, 0,)]/(8, 0,)2 (4-14)

b = P /(8, 9,) (4-15)










van Genuchten, M.Th., Nielsen, D.R., 1985. On Describing and Predicting the Hydraulic
Properties of Unsaturated Soils. Ann. Geophysics 3(5), 615-628.

Vogel, T., van Genuchten, M.Th., Cislerova, M., 2001. Effect of the Shape of the Soil
Hydraulic Functions Near Saturation on Variably-Saturated Flow Predictions. Advances
in Water Resources 24, 133-144.

Warrick, A.W., 1974. Time-Dependent Linearized Infiltration : I. Point Sources. Soil Science
Society Amer. J. 38(3), 383-386.

Warrick, A.W., Lomen, D.O., 1976. Time-Dependent Linearized Infiltration: III. Strip and Disc
Sources. Soil Sci. Soc. Amer. J. 40(5), 639-643.

White, I., Sully, M.J., 1987. Macroscopic and microscopic capillary length and time scales from
field infiltration. Water Resources Research 23, 1514-1522.

Wooding, R.A., 1968. Steady InHiltration from a Shallow Circular Pond. Water Resources
Research 4(6), 1259-1273.









4. Development and testing of a redistribution model for use in combination with the
3-dimensional Green-Ampt infiltration model.

This document is divided into four papers that stand alone (Chapters 2-5). Each paper

focuses on one of the four specific obj ectives given above.










(QP^[Q]^.WCS-QP^[[Q]^.WF[1].WC))/QP^[[Q]^WF2.FAmt)
ELSE IF (QP^'[Q]^'.redistStatus = 30) OR (QP^'[Q]^'.redistStatus = 31) THEN
QP^'[Q]^.fp := QP^'[Q]^'.ks + ((QP^'[Q]^'.ks QP^'[Q]^.Sav*
(QP^[Q]^.WCS-QP^[[Q]^.WF[2] .WC))/QP^`[Q]^`.WF[3] .FAmt)
ELSE
QP^'[Q]^.fp := QP^'[Q]^'.ks + ((QP^'[Q]^'.ks QP^'[Q]^.Sav*
(QP^ [Q]^.WCS-QP^[Q]^.WF[3] .WC))/QP^`[Q]^`.WF[4] .FAmt);
END;

{calculates surface water content based on redistribution status------------------------------------}
PROCEDURE CalcWCO(Q: INTEGER);
BEGIN
IF (QP^'[Q]^'.redistStatus = 10) OR (QP^'[Q]^'.redistStatus = 11) THEN
QP^ [Q]^.WCO := QP^ [Q]^`.WF[1].WC
ELSE IF (QP^ [Q]^'.redistStatus = 20) OR (QP^'[Q]^'.redistStatus = 21) THEN
QP^ [Q]^.WCO := QP^ [Q]^`.WF[2].WC
ELSE IF (QP^'[Q]^'.redistStatus = 30) OR (QP^'[Q]^'.redistStatus = 31) THEN
QP^[Q]^.WCO := QP^`[Q]^`.WF[3].WC
ELSE
QP^[Q]^.WCO := QP^`[Q]^`.WF[4].WC;
END;

{calculates average water content of observation layers --------------------------------------------}
PROCEDURE CalcLayerAvgWC(Q : INTEGER);
VAR
L : INTEGER;
BEGIN
FOR L := 1 to QP^ [Q]^'.NumObsLayers DO
BEGIN
IF (QP^ [Q]^'.redistStatus = 10) OR (QP^ [Q]^'.redistStatus = 11) THEN
BEGIN
IF (QP^`[Q]^`.WF[1].z >= QP^'[Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := QP^'[Q].WF[1].WC ;
END
ELSE IF ( QP^`[Q]^`.WF[1].z <= (QP^'[Q]^'.LayerBottomZ[L] -
QP^ [Q]^.ProfileDepth[L])) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := QP^'[Q].WCI;
END
ELSE IF (QP^`[Q]^`.WF[1].z >= (QP^'[Q]^'.LayerBottomZ[L] QP^'[Q]^'.ProfileDepth[L]))
AND (QP^`[Q]^`.WF[1].z <= QP^'[Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := ((QP^`[Q]^`.WF[1].z QP^'[Q]^'.LayerBottomZ [L] +
QP^[Q]^/.ProfileDepth[L])*" QP^'[Q].WF[1].WC +
(QP^\[Q]^'.LayerBottomZ [L]- QP^'[Q]^.WF[1].z)*
QP^` [Q]^`.WCI)/QP^` [Q]^`.ProfileDepth[L];
END;
END //end if redist = 10 or 11
ELSE IF (QP^ [Q]^'.redistStatus = 20) OR (QP^ [Q]^'.redistStatus = 21) THEN
BEGIN
IF (QP^`[Q]^`.WF[2].z >= QP^'[Q]^'.LayerBottomZ [L]) THEN
BEGIN
QP^[Q]^.LayerAvgWC[L] := QP^'[Q].WF[2].WC ;
END
ELSE IF (QP^`[Q]^`.WF[1].z <= (QP^'[Q]^'.LayerBottomZ[L] -










QP^`[Q]^.WF[1] .FAmt := QP^'[Q]^'.WF[1] .FAmt +QP^'[Q]^.WF[2] .FAmt;
QP^ [Q]^.WF[1].z := calcRedistZf(Q,QP^ [Q]^.WF[1] .FAmt,QP^ [Q]^.WF[1 ].WC,
QP^ [Q]^.WCI);
QP^`[Q]^.WF[2] .WCHold := 0.0;
QP^`[Q]^.WF[2].WC := 0.0;
QP^`[Q]^.WF[2] .FAmt := 0.0;
QP^`[Q]^.WF[2].z := 0.0;
QP^'[Q]^.redistStatus := 10;
END;
END//wc2 < wcmin,z2>z1
ELSE //still 3 fronts
BEGIN
QP^ [Q]^`.WF [3].z := calcRedistZf(Q,QP^ [Q]^`.WF[3] .FAmt,QP^ [Q]^`.WF[3] .WC,
QP^`[Q]^.WF[2].WC);
//checks
IF (QP^`[Q]^`.WF[3].z >= QP^`[Q]^`.WF[2].z) THEN //merge z2 and z3
BEGIN ;\\ f`to 2 wf; wf 1 stays the same
QP^`[Q]^.WF [2].FAmt := QP^'[Q]^.WF[2].FAmt + QP^'[Q]^`.WF[3] .FAmt;
QP^[Q]^.WF[2] .WCHold := QP^'[Q]^`.WF[3] .WCHold;
QP^`[Q]^.WF[2].WC := QP^`[Q]^`.WF[3].WC; //wes
QP^ [Q]^'.WF[2].z := calcRedistZf(Q,QP^' [Q]^`.WF [2].FAmt,QP^'[Q]^`.WF [2].WC,
QP^[Q]^.WF[1].WC);
QP^'[Q]^.WF[3].FAmt := 0.0;
QP^'[Q]^.WF[3].WCHold := 0.0;
QP^`[Q]^.WF[3].WC := 0.0;
QP^`[Q]^.WF[3].z := 0.0;
QP^'[Q]^.redistStatus := 20;

END;//if z3 > z2
END; //else still 3 fronts
FpCalc(Q);//update fp since we has changed
END;

PROCEDURE Redist31(Q: INTEGER; rh,ts,te,dt : REAL; VAR nok, nbad : INTEGER);
VAR
y : REAL;
BEGIN
//decrease wc1 first
y := QP^'[Q]^'.WF[1].WCHold;
Odelnt(Q,0.0,QP^[Q]^.WF[1].FmtQP[Q^.C,yQsPe1.e4,T0.083,nknbd
QP^'[Q]^.WF[1].WCHold := y;
QP^[Q]^.WF[1].WC := y QP^'[Q]^'.wf[1].adjFactor;
IF QP^ [Q]^.WF[1].WC < QP^'[Q]^'.WCMin THEN
BEGIN
QP^[Q]^.WF[1].WC := QP^'[Q]^'.WCMin;
IF QP^ [Q]^'.WF[1].WCHold < QP^ [Q]^'.WCMin THEN
QP^'[Q]^.WF[1].WCHold := QP^'[Q]^'.WCMin;
END;
QP^ [Q]^`.WF[1].z := calcRedistZf(Q,QP^'[Q]^.WF[1].FAmt,QP^ Q^WF1.C
QP^ [Q]^.WCI);
//decrease wc2 second
y := QP^'[Q]^'.WF[2].WCHold;
Odelnt(Q0.0,QP^[Q]^.WF[2].FAmt,QP^`[Q]^W[]WIl/~t~e10-,T
0.008333,nok,nbad);
QP^`[Q]^.WF[2] .WCHold := y;
QP^`[Q]^.WF[2].WC := y -QP^`[Q]^`.wf[2] .adjFactor;










WF(1)%WC = WF(2)%WC
ENDIF
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY(nnaangles,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
redistStatus = 21
WF(2)%TInfil = WF(3)%TInfil
WF(2)%WC = WF(3)%WC
WF(2)%WC = WF(3)%WC
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY(nnaangles,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%WC = 0.0
WF(3)%WC = 0.0
Do j = 1, numA+1
WF(3)%/ROi) = 0.0
WF(3)%x(j) = 0.0
WF(3)%/yi) = 0.0
Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0
WF(3)%/b = 0.0
WF(3)%/vol = 0.0
WF(3)%SA = 0.0
WF(3)%TInfil = 0.0
S!!/need to decrease wc2 which was wc3
y = WF(2)%WC
CALL Odelnt(WF(2)%/vol,WF(2)%SA,WF(1)%WC,y,tst,.01ddT
WF(2)%WC = y
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY(nnaangles,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
!!checks
IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%W.R
+ WF(2)%/R(numA+1). GE.WF(1)%/R(numA+1 ))THEN !merge 1 an 2
!!i 2 fronts down to 1 fronts
IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WCTE
!BEGIN
WF(1)%WC = WF(1)%WC! //wf one predominates
IF (WF(2)%WC.LT.WCMIN) THEN
WF(2)%WC = WCMIN
ENDIF
ELSE











IF (WF(2)%/R(numA+1).GE.WF(1)%/R(numA+1))TE
!!BEGIN
WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%/wc = 0.0
Do j = 1, numA+1
WF(2)%/ROi) = 0.0
WF(2)%x~i) = 0.0
WF(2)%/yi) = 0.0
Enddo
WF(2)%/kint = 0.0
WF(2)%a = 0.0
WF(2)%/b = 0.0
WF(2)%/vol = 0.0
WF(2)%SA = 0.0
WF(2)%TInfil = 0.0
redistStatus = 10
ENDIF
!END //wc2 < wcmin; z2 > z1 for 3 to 2 fronts
ELSE !//still 3 fronts for now
!!BEGIN
S!!/move down z3; originally wf 4; do not redist, only infil
n= 3
Call calcR(n,WF(3)%/WC WF(2)%WC,romin,WF(3)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(3)%/y(numA+1),WF)
Call calcSA(n,WF(3)%/y(numA+1),WF)
IF (WF(3)%/R(numA+1). GE.WF(2)%/R(numA+1 )) THEN
!BEGIN //merge 3 and 2; wfl stays the same
WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil
n= 2
Call calcR(n,WF(2)%/WC WF(1)%WC,romin,WF(2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%/wc = 0.0
Do j = 1, numA+1
WF(3)%/ROi) = 0.0
WF(3)%x~i) = 0.0
WF(3)%/yi) = 0.0
Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0
WF(3)%/b = 0.0
WF(3)%/vol = 0.0
WF(3)%SA = 0.0










QP^`[Q]^.WF [3].FAmt := QP^'[Q]^.WF[4].FAmt;
QP^ [Q]^.WF[3].z := calcRedistZf(Q,QP^ [Q]^.WF[3].FAmt,QP^ [Q].F3WC
QP^` [Q]^`.WF [2] .WC);
QP^`[Q]^.WF[4] .WCHold := 0.0;
QP^`[Q]^.WF[4].WC := 0.0;
QP^'[Q]^.WF[4].FAmt := 0.0 ;
QP^`[Q]^.WF[4].z := 0.0;
QP^`[Q]^.WF[2] .NumRedist := QP^'[Q]^'.WF[3] .NumRedist;
QP^ [Q]^`.WF[2] .redistTime := QP^ [Q]^`.WF[3] .redistTime;
QP^ [Q]^'.WF[2]. adjFactor := QP^ [Q]^`.WF[3] .adjFactor;
IF (QP^`[Q]^`.WF[3].z >= QP^`[Q]^`.WF[2].z) THEN //merge 3 and 2
BEGIN //3 fronts to 2
QP^`[Q]^.WF[2] .WCHold := QP^ [Q]^'.WF[3].WCHold;
QP^`[Q]^.WF[2].WC := QP^`[Q]^`.WF[3].WC;
QP^[Q]^.WF[2].FAmt := QP^'[Q]^`.WF[2] .FAmt +QP^'[Q]^.WF[3].FAmt ;
QP^[Q]^.WF [2].z := calcRedistZf(Q,QP^' [Q]^'.WF [2].FAmt,QP^'[Q]^`.WF [2].WC,
QP^[Q]^.WF[1].WC);
QP^'[Q]^.redistStatus := 20;
QP^'[Q]^.WF[3].WCHold := 0.0;
QP^`[Q]^.WF[3].WC := 0.0;
QP^'[Q]^.WF[3].FAmt := 0.0 ;
QP^`[Q]^.WF[3].z := 0.0;
END;
END// wc3 >wc2 or z3 > z2 ;4 to 3
ELSE //still 4 fronts
BEGIN
//calculate wf 4 depth
QP^ [Q]^'.WF[4].z := calcRedistZf(Q,QP^' [Q]^`.WF [4].FAmt,QP^ [Q]^`.WF [4].WC,
QP^ [Q]^`.WF[3].WC);
IF (QP^`[Q]^`.WF[4].z >= QP^`[Q]^`.WF[3].z) THEN //merge 4 and 3
BEGIN // 4 fronts to 3 ; 3 fronts at end
QP^'[Q]^.WF[3].WCHold := QP^ [Q]^'.WF[4].WCHold;
QP^[Q]^.WF[3].WC := QP^[Q]^.WF[4].WC;
QP^`[Q]^.WF[3] .FAmt := QP^'[Q]^'.WF[4] .FAmt +QP^'[Q]^.WF[3] .FAmt ;
QP^ [Q]^`.WF[3].z := calcRedistZf(Q,QP^ [Q]^`.WF[3] .FAmt,QP^ [Q]^`.WF[3] .WC,
QP^`[Q]^.WF[2] .WC);
QP^'[Q]^.redistStatus := 30;
//wf 1 and 2 stays the same
QP^`[Q]^.WF[4] .WCHold := 0.0;
QP^`[Q]^.WF[4].WC := 0.0;
QP^'[Q]^.WF[4].FAmt := 0.0 ;
QP^`[Q]^.WF[4].z := 0.0;
END;//z4 > z3 ; 3 fronts at end
END; //else, still 4 fronts
END;// else, still 4 fronts for now
FpCalc(Q);//update fp since we has changed
END;

{calculates potential infitration rate ---------------------------------------------------------
PROCEDURE FpCalc(Q: INTEGER);
BEGIN
IF (QP^'[Q]^'.redistStatus = 10) OR (QP^'[Q]^'.redistStatus = 11) THEN
QP^'[Q]^.fp := QP^'[Q]^'.ks + ((QP^'[Q]^'.ks QP^'[Q]^.Sav*
(QP^ [Q]^.WCS-QP^[Q]^.WCI))/QP^ [Q]^.WF[ [1.FAmt)
ELSE IF (QP^ [Q]^'.redistStatus = 20) OR (QP^'[Q]^'.redistStatus = 21) THEN
QP^'[Q]^.fp := QP^'[Q]^'.ks + ((QP^'[Q]^'.ks QP^'[Q]^.Sav*











Call calcSA(n,WF(1)%/y(numA+1),WF)
WF(2)%/wc = 0.0
Do j = 1, numA+1
WF(2)%/R(j) = 0.0
WF(2)%x(j) = 0.0
WF(2)%/y(j) = 0.0
Enddo
WF(2)%/kint = 0.0
WF(2)%a = 0.0
WF(2)%/b = 0.0
WF(2)%/vol = 0.0
WF(2)%SA = 0.0
WF(2)%TInfil = 0.0
redistStatus = 11
ENDIF wc2 < wcmin
ENDIF

END

Subroutine Redist3 0(numA,ts,te, dt,wcmin,redistStatus,WF)
c----- redist routine if three fronts & only two fronts redist -------------------------------------------
Implicit None
Common /soilDatal/ wcs,wcr,wci,1ambda
Common / soilData2/ H, ksat,romin
Common / RData/ angles
Type Front
Double Precision FAmt
Double Precision WC
Double Precision R(8)
Double Precision x(8)
Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA
Double Precision TInfil
End Type
Type (Front) WF(4)
Double Precision y, wcs, wcr, wci, ksat, lambda, H
Double Precision ts, te, dt, wcmin, romin, angles(7)
Integer redistStatus, j, numA, n

!decrease wc1 first
y = WF(1)%WC
CALL Odelnt(WF(1 )%/vol,WF(1 )%SA,WCI,y,ts,te,0 .00001Id0,dT)
WF(1)%WC = y
IF (WF(1)%/WC.LT.WCI) THEN
WF(1)%/WC = WCMIN
IF (WF(1)%/WC.L T.WCMIN)THEN
WF(1)%WC = WCMIN
ENDIF
ENDIF
n= 1
Call calcR(n,WF(1)%/WC WCI,romin,WF(1)%TInfil,
+ angles,numA,WF)











Adapted from: Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T., 1989.
Numerical Recipes in Pascal, Cambridge University Press: Port Chester, New York.-------------}
FUNCTION CalcFNewton(Q : INTEGER; Fnew, t, tp, tpp, WC,S: DOUBLE): DOUBLE;
var
g : DOUBLE;
dgdf : DOUBLE;
Fold : DOUBLE;
error : DOUBLE;
tolerance : DOUBLE;
BEGIN
result := 0.0;
tolerance := 1.0E-6;
error := 1.0;
Fold := Fnew + 1.0E-6;
Fold := Fnew + 1.0E-6;
g := Fold (S*(QP^`[Q]^`.WCS WC)) In(1.0 + (Fold/(S*(QP^`[Q]^.WCS WC))))-
QP^ [Q]^`.ks*(t tp + tpp);
while error > tolerance do
BEGIN
dgdf := 1.0 ((S*(QP^`[Q]^`.WCS WC))/((S*(QP^'[Q]^'.WCS WC)) + Fold));
Fnew := Fold (g/dgdf);
Fold := Fnew;
g := Fold S*(QP^`[Q]^`.WCS WC) In(1.0 + (Fold/(S*(QP^`[Q]^`.WCS WC))))-
QP^ [Q]^`.ks*(t tp + tpp);
error := abs(g);
result := Fnew;
END;
END;

{calculates approximate cumulative infiltration solution proposed by
Srivastava, Costello, Edwards. 1996. A Direct, Approximate Solution to the
Modified Green-Ampt Infiltration Equation. Transactions of ASAE. 39(4): 1411-1413-------}
FUNCTION CalcFApprox(Q : INTEGER; Fnew, t, tp, tpp,WC,S: DOUBLE): DOUBLE;
var
phi : DOUBLE;
alpha : DOUBLE;
beta : DOUBLE;
delta: DOUBLE;
lambda : DOUBLE;

BEGIN
result := 0.0;
alpha := 1.851;
beta := 0.565;
delta := 0.004;
phi := QP^ [Q]^'.ks*(t tp + tpp)/(S*(QP^ [Q]^'.WCS WC));
IF phi > 0.0001 THEN
BEGIN
IF phi <= 0.095 THEN
BEGIN
alpha := 1.851;
beta := 0.565;
delta := 0.004;
END
ELSE IF phi <= 0.911 THEN
BEGIN









to the fact that DSSAT simulates soil water flow as a vertical 1-D process. Furthermore, studies

have shown that in actuality the soil water flow path is quasi-spherical in shape and therefore

requires a 3-dimensional description (Warrick, 1974; Clark et al., 2006; Healy and Warrick,

1988).

Several methods for simulating infiltration in point source systems have been developed

based on Richards' equation for unsaturated flow. Analytical solutions to Richards' equation

have been developed, steady state solutions (Parlange, 1972; Philip, 1971; Raats, 1971;

Wooding, 1968), non-steady linearized solutions (Warrick, 1974; Warrick and Lomen, 1976) and

a quasi-linearized approximation solution (Philip, 1984a), with good results, however they are

not general. Numerical solutions, such as the finite difference techniques of Bresler et al. (1971),

Brandt et al. (1971) and Narasimhan and Witherspoon (1976) and the finite element technique of

Taghavi et al. (1984) showed good results compared to laboratory results for infiltration under a

point source, however, as mentioned previously, they are computationally intensive and require

extensive soil property data. Lastly, empirical models based from a solution of Richards'

equation (Healy and Warrick, 1988; Schwartzman and Zur, 1986) and approximate models (Ben

Asher et al., 1986; Roth, 1974) have been proposed with good results, but only in limited

applications. As in the 1-dimensional case, approximate physically-based models are, therefore,

desirable. One such model is the 3-dimensional Green-Ampt (3DGA) method (Chu, 1994).

The 3DGA method is based on the same basic assumptions and methodology as the

original Green-Ampt (1911) model, but has been formulated to simulate the quasi 3-dimensional

soil water flow path formed under point source systems. In order for this methodology to be

valid, the water content of the wetting front needs to be at or very near saturation meaning that

the emitter discharge rate needs to equal the average infiltration capacity rate. This assumption











If (redistStatus.EQ. 10.OR.redistStatus.EQ. 11) Then
1= 1
Elself (redistStatus.EQ.20.OR.redistStatus.EQ.2 1) Then
1= 2
Elself (redistStatus.EQ.30.OR.redistStatus.EQ.3 1) Then
1= 3
ELSE
1= 4
ENDIF

c-------------------------------- calculate wf intersections ---------------------------------------

Do i = 1,ncells
Do j= 1,ncells
Do k = 1,1
!!!!!!!!!!!i ii i!crosses top? !!!!!!!!!!!!!!!!!! i i i
Error Test = ((cellQi,i)%/yl -wf(k)%/kint)/wf(k)%/b)**"2.0
IF (ErrorTest. GT.1.d0) THEN
CellQi,i)%/d(k) = 0.d0
ELSE
CellQi,i)%/d(k) = wf(k)%a*(1-ErrorTest)**0.5
ENDIF
IF(Cell0 ,i)%/d(k).LT cell, i)%x 1. OR. cell(j ,i)%d(k). GT.
+ cell(j,i)%x2) THEN
cell(j,i)%/d(k) = 0.0
ENDIF
!!!!!!!!!!!i ii i!crosses bottom ?!!!!!!!!!!!!!!!!!!! i i i
IF ((cell(j,i)%/y2-wf(k)%/kint)/wf(k)%/b.GT..d0) THEN
Cell(j,i)%e(k) = 0.d0
ELSE
Cell(j,i)%e(k) = wf(k)%a*(1 -((cell(j ,i)%/y2-
+ wf(k)%/kint)/wf(k)%b)**"2.d0) **0.5
ENDIF
IF(Cell(j ,i)%e(k) .LT.cell(j ,i)%x 1.OR.cell(j ,i)%e Ok). GT.
+ cell(j,i)%x2) THEN
cell(j,i)%/e(k) = 0.0
ENDIF
i!!!!!!!!!!!!!!!crosses left?! !!!!!!!!!!!!!!!!
ErrorTest = (cell(j,i)%x1/wf(k)%/a)**2.0
IF (ErrorTest.GT.1.d0) THEN
Cell(j,i)%/f(k) = 0.d0
ELSE
Cell(j,i)%/f(k) = wf(k)%/b*(1-ErrorTest)**0.5
+ +wf(k)%/kint
ENDIF
IF(Cell(j ,i)%y 1.LT.wf(k)%/kint)THEN
cell(ji)%"/f(k)=-cell(ji)i%f0k)+ 2.w0*w~)kn
EndlF
IF(Cell(j ,i)%f(k).LT. cell(j ,i)%/y 1. OR. cell(j, i)%/f(k). GT.
+ cell(j,i)%/y2) THEN
cell(j,i)%/f(k) = 0.0
ENDIF
i !!!!! i !!!! !!! !crosses right?!!!iiii !!!!!!!!!!!!!!
ErrorTest = (cell(j,i)%x2/wf(k)%/a)**2.0
IF (ErrorTest. GT.1.d0) THEN
Cell(j,i)%/g(k) = 0.d0










IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%W.R
+ WF(2)%/R(numA+1). GE.WF(1)%/R(numA+1 ))THEN !merge 1 an 2
!!i 3 fronts down to 2 fronts
IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WCTE
!BEGIN
WF(1)%WC = WF(1)%WC! //wf one predominates
IF (WF(2)%WC.LT.WCMIN) THEN
WF(2)%WC = WCMIN
ENDIF
ELSE
!BEGIN
WF(1)%WC = WF(2)%WC !wf two predominates
WF(1)%WC = WF(2)%WC
ENDIF

WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil
n= 1
Call calcR(n,WF(1)%/WC WCI,rominWF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)
redistStatus = 20
WF(2)%TInfil = WF(3)%TInfil
WF(2)%WC = WF(3)%WC
WF(2)%WC = WF(3)%WC
n= 2
Call calcR(n,WF(2)%/WC WF(1)%WC,romin,WF(2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
WF(3)%WC = 0.0
WF(3)%WC = 0.0
Do j = 1, numA+1
WF(3)%/ROi) = 0.0
WF(3)%x~i) = 0.0
WF(3)%/yi) = 0.0
Enddo
WF(3)%/kint = 0.0
WF(3)%a = 0.0
WF(3)%/b = 0.0
WF(3)%/vol = 0.0
WF(3)%SA = 0.0
WF(3)%TInfil = 0.0
S!!/move down z2; was originally 4th wf so do not decrease
n= 2
Call calcR(n,WF(2)%/WC WF(1)%WC,romin,WF(2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
S!!/check last time










Vol= xf (y)2d (5-14)


The function, f(y), is found by solving for x in Eq. (5-10)


(y-k2
f (y) = a 1 b (5-15)

Substituting Eq. (5-15) into Eq. (5-14), integrating from 0 to R1 and simplifying, the wet

bulb volume is calculated as

V'ol = ; a2 (R1+ pl p2 p3) (5-16)

where



k2R

R13
pl = k-(5-17)
3b2




pa=2= 2~ )(~'y ': (5-18)




p3 = 2(5-19)


Las tly the sufcpext area SA, of-0 the wetbualb is calculated byreoling Eq (5us-15)arondre

pith y-adaxis e by ml Pese l,19) fe aluaigtevlmsraeae









have been developed that use the assumption of a supply radius (Philip, 1984b; Raats, 1971;

Warrick and Lomen, 1976; Wooding, 1968; Parlange, 1973; Warrick, 1974), though, very few

formulations for an equation describing the supply radius have been attempted.

One paper developed an equation for calculating the supply radius specifically for the

3DGA model (Sepaskhah and Chitsaz, 2004). The empirical equation was developed using

multiple regression analysis, with data obtained by measuring different values of the supply

radius for various soils (differing saturated hydraulic conductivities) and varying emitter flow

rates. However, the details of the methodology were unclear and the equation did not appear to

give good results. An alternative for calculating the supply radius is Philip's equation (1969)

which gives the minimum radius needed to accommodate a given flow rate indefinitely. Clothier

and Scotter (1982) compared Philip's minimum radius against measured supply radii and found

them to be similar. A drawback, however, is that the equation is parameter intensive. Therefore,

an alternative equation for calculating the supply radius is needed.

The purpose of this paper is to develop an equation for calculating the supply radius

parameter in the 3DGA model that is a function of the emitter flow rate. Furthermore, the results

of using the proposed equation within the 3DGA model will be compared to results from using

the two other alternative methods developed (Sepaskhah and Chitsaz, 2004; Philip, 1969) within

the 3DGA model.

Point Source Infiltration

3-Dimensional Green-Ampt Infiltration

Soil moisture flow can best be described by combining Darcy's Law (1856) with the

continuity equation, resulting in a theoretical partial differential equation known as Richard's

equation (1931). While Richards' equation can produce accurate results, there are drawbacks to

using it. Richard's equation does not have a general analytical solution, and therefore must be











UNIT optnData:
[--------------------unit controls constant variables used throughout program----------------------)
[--------------------includes time step: user can adjust based on precip inputs ---------------------)

INTERFACE
CONST
MaxNumQuadrats = 1: mn-laxtnui number of quadrats
MaxNumLavers = 10: //maximum number of observation layers
NumQuadrats = 1: [actual number of quadrats each quadrant can have different
rain and/or soil parameters; allows for simulation of several sites]
deltaTT = 1.0; //1 hour initial time step


IMPLEMENTATION

end.









Brandt et al. (1971) and Narasimhan and Witherspoon (1976) and the finite element technique of

Taghavi et al. (1984) showed good results compared to laboratory results for infiltration under a

point source, however, they are generally computationally intensive, require extensive soil

property data, and involve parameterization and fine spatial and temporal discretization which

can result in errors (Skaggs and Khaleel, 1982; Ogden and Saghafian, 1997). Lastly, empirical

models based from a solution of Richards' equation (Healy and Warrick, 1988; Schwartzman

and Zur, 1986) and approximate models (Ben Asher et al., 1986; Roth, 1974) have been

proposed with good results, but only in limited applications. For this reason, approximate

physically-based models are, therefore, desirable. One such model is the 3-dimensional Green-

Ampt (3DGA) method (Chu, 1994).

The 3DGA method is based on the same basic assumptions and methodology as the

original Green-Ampt (1911) model, but has been formulated to simulate the quasi 3-dimensional

soil water flow path formed under point source systems. In order for this methodology to be

valid, the water content of the wetting front needs to be at or very near saturation meaning that

the emitter discharge rate needs to equal the average infiltration capacity rate. This assumption

makes sense for drip irrigation systems since quite often drip irrigation systems are designed so

that emitter discharge rate equals infiltration capacity in order to optimize results. A drawback,

however, is that it has not been widely tested and should, therefore, be evaluated further to

determine its validity.

The purpose of this paper is to review the ability of the 3-dimensional Green-Ampt method

to accurately describe the soil water infiltration phase in intensive bed management (point

source) systems. The initial results were evaluated by comparing them to results from published

measured data, an analytical solution based on Richards' equation (Philip, 1984a) and two










G(,,0) K(h)dh (2-7)
K,

and combining Eqs. (2-5) and (2-6) the equation for the calculation of the redistribution of soil

water content proposed by Ogden and Saghafian (1997) is,


do = -- rhG -K K(00)+ (2-8)
dt Z Z

with K, = K(O,), a constant from the initial condition for the period. Equation (2-8) was solved

using a 4th order Runge-Kutta adaptive step size solution with a tolerance of 1.0 x 10-4 (Press et

al., 1989).

Several analytic expressions for the G function exist depending on the expression of the

soil water retention function and the unsaturated conductivity chosen for the soil profile (Smith

et al., 2002). In the case of Brooks and Corey (1964),

6 -0 h K(h) 3+/
0=~ = = K 0+2/ (2-9)


where O [-] is the relative water of the soil profile for a generic water content (0) and its suction

(h, [L]); hb and ii are the parameters of the Brooks and Corey (1964) equation where hb [L] is the

bubbling pressure and ii [-] is the pore distribution index; and Kr is the relative unsaturated

hydraulic conductivity function. In this case, Ogden and Saghafian (1997) show that the

function G(B,, So) can be obtained by substituting K(h) from Eq. (2-9) into Eq. (2-7), integrating,

and dividing the equivalent expressions obtained for G(B,, 6) and G(B,, Os),


G(0,,00) S, -0 +I OY (2-10)


where Say can be calculated as,











deltaCummlnfil := QP^ [Q]^`.cummlnfil Fhold;
END // end redist = 20 or 21
ELSE IF (QP^ [Q]^'.redistStatus = 30) OR (QP^ [Q]^'.redistStatus = 31) THEN
BEGIN
{-------------------- update values since WC1 is changing everytime step -----------------------------}
QP^'[Q]^.Bfp := QP^'[Q]^'.WF[3].FAmt;
tp := t deltaTT;
tpp := calcTpp(Q,QP^'[Q]^'.WF[2] .WC,QP^`[Q]^`.Say);
QP^ [Q]^'.tpp := tpp;
Fnew := QP^ [Q]^`.WF[3] .FAmt + amtWater;
{-------------------Use calcFNewton function for regular GA-----------------------------------------}
{-----------------------Use calcFApprox function for approximate GA ---------------------------------}
QP^'[Q]^.WF[3].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^/.WF[]W ,PQ^.a)
// QP^`[Q]^`.WF[3].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^`[Q]^/. WF[2].WC,QP^[Q]^. Say);
result := QP^ [Q]^`.ks + ((QP^ [Q]^'.ks QP^ [Q]^'.Sav*(QP^ [Q]^'.WCS-
QP^`[Q]^.WF[2] .WC))/QP^`[Q]^`.WF[3] .FAmt);
QP^`[Q]^.cummlnfil := QP^`[Q]^`.WF[1] .FAmt +QP^'[Q]^.WF[2] .FAmt +
QP^'[Q]^.WF[3].FAmt;
deltaCummlnfil := QP^ [Q]^`.cummlnfil Fhold;
END // end redist = 30 or 31
ELSE // redist = 40
BEGIN
{-------------------- update values since WC1 is changing everytime step -----------------------------}
QP^'[Q]^.Bfp := QP^'[Q]^'.WF[4].FAmt;
tp := t deltaTT;
tpp := calcTpp(Q,QP^'[Q]^'.WF[3].WC,QP^`[Q]^'.Sa)
QP^ [Q]^'.tpp := tpp;
Fnew := QP^ [Q]^`.WF[4] .FAmt + amtWater;
{-------------------Use calcFNewton function for regular GA-----------------------------------------}
{-----------------------Use calcFApprox function for approximate GA ---------------------------------}
QP^`[Q]^.WF[4] .FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^/.WF[]W ,PQ^.a)
// QP^`[Q]^`.WF[4] .FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^`[Q]^'.WF[3.WC,QP^`[Q]^`.Say);
result := QP^ [Q]^`.ks + ((QP^ [Q]^'.ks QP^ [Q]^'.Sav*(QP^ [Q]^'.WCS-
QP^`[Q]^.WF[3] .WC))/QP^'[Q]^'.WF[4] .FAmt);
QP^`[Q]^.cummlnfil := QP^`[Q]^`.WF[1] .FAmt +QP^'[Q]^.WF[2] .FAmt +
QP^`[Q]^.WF[3] .FAmt +QP^'[Q]^.WF[4] .FAmt;
deltaCummlnfil := QP^ [Q]^`.cummlnfil Fhold;
END; // end else
QP^'[Q]^.fp := result;
IF amtWater > deltaCummlnfil THEN
BEGIN
QP^'[Q]^.pondingAmt := amtWater deltaCummInfil;
IF QP^ [Q]^'.pondingAmt > QP^ [Q]^.smax THEN
BEGIN
QP^ [Q]^'.runoffAmt := QP^ [Q]^'.runoffAmt + (QP^ [Q]^'.pondingAmt QP^ [Q]^.smax);
QP^ [Q]^'.pondingAmt := QP^ [Q]^.smax;
END // end if pond > smax
ELSE
QP^ [Q]^'.runoffAmt := QP^ [Q]^'.runoffAmt;
END //end if water > deltacumm
ELSE
BEGIN
QP^ [Q]^'.runoffAmt := QP^ [Q]^'.runoffAmt;
QP^ [Q]^'.pondingAmt := 0.0;
END; // end else














Table D-1. Sample MGAR Output
Time FI (mm) ZI (mm) WC1 F2 (mm) Z2 (mm) WC2 F3 (mm) Z3 (mm) WC3 F4 (mm) Z4 (mm) WC4 WCO RWC F (mm) 60-soo Osoo-1ooo 60-1000
(h)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35


8.430
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980


74.601
114.870
138.594
153.510
164.956
174.456
182.686
190.008
196.646
202.745
208.408
213.707
218.700
223.429
227.928
232.225
236.344
240.301
244.114
247.796
251.359
254.812
258.164
261.422
264.595
267.687
270.704
273.650
276.531
279.350
282.110
284.815
287.468
290.071
292.627


0.385
0.385
0.366
0.357
0.351
0.346
0.343
0.340
0.338
0.336
0.334
0.333
0.331
0.330
0.329
0.328
0.327
0.326
0.325
0.324
0.324
0.323
0.322
0.322
0.321
0.320
0.320
0.319
0.319
0.318
0.318
0.318
0.317
0.317
0.316


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000


0.385
0.385
0.366
0.357
0.351
0.346
0.343
0.340
0.338
0.336
0.334
0.333
0.331
0.330
0.329
0.328
0.327
0.326
0.325
0.324
0.324
0.323
0.322
0.322
0.321
0.320
0.320
0.319
0.319
0.318
0.318
0.318
0.317
0.317
0.316


1.000
1.000
0.934
0.904
0.884
0.869
0.858
0.849
0.841
0.834
0.828
0.823
0.818
0.814
0.810
0.806
0.803
0.800
0.797
0.795
0.792
0.790
0.787
0.785
0.783
0.781
0.779
0.778
0.776
0.774
0.773
0.771
0.770
0.769
0.767


8.430
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980
12.980


0.289
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298
0.298


0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272
0.272


0.280
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285
0.285










A common equation of the three variables to predict the error was identified that provided

a good fit across all soil types (adjusted R2 > 0.86). Since the error equation depends on

redistribution characteristics it was named here the "redistribution coefficient", T


r = a + aZ In(T ) + a1 / NR (2-15)


with a~ = (b~ + c~ KP ) "' for i = 1, 2, 3 (2-16)


where a y, at and as strongly depend (adjusted R2 > 0.969) on the saturated hydraulic conductivity

(mm/h) of the soil for all soils tested (Figure 2-5), and parameters b,, c, and d, are listed in Table

2-5.

Table 2-5. Parameters for the redistribution coefficient, T
i b, c, d, Adj -R2
1 4.2952 154.6101 -1.0 0.998
2 0.0020 -0.0010 0.5 0.988
3 -14.0032 -61.5429 -1.0 0.969


0.2-


0.15 -- a
--a2











-0.05-


0 50 100 150 200

Ks (mm/h)

Figure 2-5. Observed and predicted redistribution coefficient, T parameters, al, at and as,
versus saturated hydraulic conductivity, K,










Double Precision y(8)
Double Precision kint
Double Precision a
Double Precision b
Double Precision vol
Double Precision SA
Double Precision TInfil
End Type
Type (Front) WF(4)
Double Precision y, wcs, wcr, wci, ksat, lambda, H
Double Precision ts, te, dt, wcmin,romin, angles(7)
Integer redistStatus, numA, j, n

!decrease wc1 first
y = WF(1)%WC
CALL Odelnt(WF(1 )%/vol,WF(1 )%SA,WCI,y,ts,te,0 .00001Id0,dT)
WF(1)%WC = y
IF (WF(1)%/WC.LT.WCI) THEN
WF(1)%WC = WCMIN
IF (WF(1)%WC.L T. WCMIN) THEN
WF(1)%W C = W CMIN
ENDIF
ENDIF
n= 1
Call calcR(n,WF(1)%/WC WCI,romin,WF(1)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(1)%/y(numA+1),WF)
Call calcSA(n,WF(1)%/y(numA+1),WF)

!decrease wc2 second
!//decrease wc2 second
y = WF(2)%WC
CALL Odelnt(WF(2)%/vol,WF(2)%SA,WF(1)%WC,y,tst,.01ddT
WF(2)%WC = y
n= 2
Call calcR(n, WF(2)%/WC WF(1)%WC,romin,WF (2)%TInfil,
+ angles,numA,WF)
Call calcXY'(n,angle s,numA, WF)
Call calcEllipse (n,numA,WF)
Call calcVol(n,WF(2)%/y(numA+1),WF)
Call calcSA(n,WF(2)%/y(numA+1),WF)
!!checks
IF (WF(2)%/WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)W.R
+ WF(2)%/R(numA+1). GE.WF(1)%/R(numA+1 ))THEN !merge 1 an 2
!!i 4 fronts down to 3 fronts
IF (WF(2)%/WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)% CTE
!BEGIN
WF(1)%/WC = WF(1)%/WC! //wf one predominates
IF (WF(2)%WC.LT.WCMIN) THEN
WF(2)%WC = WCMIN
ENDIF
ELSE
!BEGIN
WF(1)%WC = WF(2)%WC !wf two predominates




Full Text

PAGE 1

1 AN IMPROVED GREEN-AMPT SOIL INFILTR ATION AND REDISTRIBUTION METHOD AND ITS APPLICATION TO 1-DIMENSIONA L AND QUASI 3-DIMENSIONAL (POINT SOURCE) FLOW DOMAINS By LESLIE C. GOWDISH A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2007

PAGE 2

2 2007 Leslie C. Gowdish

PAGE 3

3 To my husband, Scott, whose encouragement, wi sdom and love has inspired me beyond words. To my parents, Jan and Bill, whose support and example motivated me to pursue my dreams.

PAGE 4

4 ACKNOWLEDGMENTS Through the multiple projects and all of the re mote research, there have been several people who have made this goal attainable. I have done my best to outline their importance to me and this project below. Dr. Rafael Muoz-Carpena has been an advi sor, a mentor, and a priceless sounding board, accompanying me through this exhilarating, yet tu multuous, endeavor. Having dealt with peaks and valleys throughout our journey, even to the very end, he never gave up on me or the project and for that he deserves the greatest thanks. Thanks also to my graduate committee memb ers. Dr. Ray Bucklin, Dr. Greg Kiker, Dr. Ken Campbell, and Dr. Annable, whose support and patience during this ne ver-ending pursuit of research have been substantial. I would also like to thank Dr. Jim Leary whose humor in our long talks during my undergraduate career helped me remember how im portant it is to laugh even when everything around you can seem so stressful and bleak. Lastly, I would like to thank the Florida Department of Agricultural and Consumer Services (FDACS) for funding this research.

PAGE 5

5 TABLE OF CONTENTS page ACKNOWLEDGMENTS...............................................................................................................4 LIST OF TABLES................................................................................................................. ..........8 LIST OF FIGURES................................................................................................................ .......10 ABSTRACT....................................................................................................................... ............12 CHAPTER 1 INTRODUCTION..................................................................................................................14 Rationale...................................................................................................................... ...........14 Objectives..................................................................................................................... ..........19 2 AN IMPROVED INFILTRATION AND REDISTRIBUTION METHOD FOR UNEVEN MULTISTORM PRECIPITATION TIME SERIES.............................................21 Introduction................................................................................................................... ..........21 Infiltration and Redistribution Calculations...........................................................................23 Green-Ampt Infiltration Method During Unsteady Rain................................................23 Green-Ampt Infiltration with Redistribution Method (GAR).........................................24 Modified Green-Ampt Infiltration w ith Redistribution Method (MGAR)......................29 Multiple Redistributing Wetting Front Scheme.......................................................29 Reduction of Error for Uneven Multistorm Time Series.........................................30 Prediction of the Average Soil Water Cont ent for a Desired Observation Layer....31 Verification of MGAR.............................................................................................32 Results and Discussion......................................................................................................... ..35 Summary and Conclusions.....................................................................................................42 3 COMPARISON OF SIMPLIFIED POINT SOURCE ALGORITHMS WITH THE 3DIMENSIONAL GREEN-AMPT INFILTRATION METHOD...........................................44 Introduction................................................................................................................... ..........44 Description of Point S ource Methods Selected......................................................................46 Methods Based on Richards Equation...........................................................................46 Analytical Solution: Philip Time of Travel Method................................................46 Generalized Solution Infiltration Model..................................................................48 Alternative Physically-Based Simplified Models...........................................................49 Approximate Method: 3-Dimensional Green-Ampt...............................................49 Effective Hemisphere Infiltration Model.................................................................53 Comparison Verification of Point Source Models..........................................................55 Results and Discussion......................................................................................................... ..58 Summary and Conclusions.....................................................................................................64

PAGE 6

6 4 DEVELOPMENT AND VERIFICATION OF EMITTER SUPPLY RADIUS FOR 3DIMENSIONAL GREEN-AMPT INFILTRATION.............................................................66 Introduction................................................................................................................... ..........66 Point Source Infiltration...................................................................................................... ...67 3-Dimensional Green-Ampt Infiltration..........................................................................67 Source Radius..................................................................................................................71 Sepaskhah and Chitsaz (2004) Equation..................................................................71 Philip Equation.........................................................................................................72 Proposed Supply Radius Equation...........................................................................73 Verification of Supply Radius Equations.................................................................75 Results and Discussion......................................................................................................... ..77 Summary and Conclusions.....................................................................................................83 5 3DGAR: A QUASI 3-DIMENSIONAL GREEN-AMPT WITH REDISTRIBUTION MODEL FOR INTENSIVE BED (POINT SOURCE) MANAGEMENT SYSTEMS.........85 Introduction................................................................................................................... ..........85 Infiltration and Redistribution Calculations...........................................................................87 3DGA Infiltration............................................................................................................87 Modified Green-Ampt with Redistribution (MGAR).....................................................89 3D Green-Ampt with Redistribution...............................................................................91 Prediction of Average Water Content of Observation Cell.............................................96 Verification of 3DGAR...................................................................................................98 Results and Discussion.........................................................................................................102 Summary and Conclusions...................................................................................................105 6 CONCLUSIONS..................................................................................................................107 APPENDIX A NOMENCLATURE.............................................................................................................111 B GOODNESS-OF-FIT INDICATORS..................................................................................113 C SAMPLE MGAR INPUT FILES.........................................................................................115 D SAMPLE MGAR OUTPUT FILE.......................................................................................116 E MGAR COMPUTER SOURCE CODE (DELPHI 7)..........................................................128 F 3DGAR SAMPLE INPUT FILE..........................................................................................178 G 3DGAR SAMPLE OUTPUT FILE......................................................................................179 H 3DGAR COMPUTER SOURCE CODE (FORTRAN 90)..................................................181 LIST OF REFERENCES.............................................................................................................221

PAGE 7

7 BIOGRAPHICAL SKETCH.......................................................................................................227

PAGE 8

8 LIST OF TABLES Table page 2-1 Soil textures and hydraulic parameters us ed in approximate GAR model simulations.....30 2-2 van Genuchten water characteristic curve parameters used in Richards numerical solutions...................................................................................................................... .......34 2-3 Multistorm time series us ed for model simulation............................................................34 2-4 Rain intensities, A and B for each soil type corresponding to the simulated multistorm time series of Table 2-3...................................................................................35 2-5 Parameters for the redistribution coefficient, .................................................................37 2-6 Coefficient of efficiency and root mean squared error (in pare ntheses) results of simulations.................................................................................................................... .....40 3-1 Flow rate and soil parameters used in Philip, Generalized Solution, 3DGA and Effective Hemisphere simulations.....................................................................................56 3-2 Results for Yolo Sand maximum depth of wetting pattern ( R1 ).......................................59 3-3 Results for Yolo Sand maximu m wetted radius on ground surface ( R0 )..........................59 3-4 Results for Yolo Sand wetted volume ( V ).........................................................................60 3-5 Results for Manawatu Fine Sandy Lo am maximum depth of wetting pattern ( R1 )..........61 3-6 Results for Manawatu Fine Sandy Loam maximum wetted radius on ground surface ( R0 ).............................................................................................................................. ......61 3-7 Results for Manawatu Fine Sandy Loam wetted volume ( V )............................................63 3-8 Strengths and weaknesses of each model..........................................................................65 4-1 Soil textures and hydraulic parameters used in 3DGA simulations..................................76 4-2 van Genuchten water characteristic curve parameters used in Richards numerical solutions...................................................................................................................... .......77 4-3 A0 A1 and A2 parameters for used in supply radius Eq. (4-23).......................................78 4-4 Coefficient of efficiency and root mean square error (in pare ntheses) results of simulations.................................................................................................................... .....79 5-1 Parameters for the redistribution coefficient, .................................................................91

PAGE 9

9 5-2 Soil textures and hydraulic parameters used in 3DGAR simulations................................99 5-3 van Genuchten water characteristic curve parameters used in Richards numerical solutions...................................................................................................................... .....100 5-4 Emitter flow rates, Q for each soil type..........................................................................100 5-5 Coefficient of efficiencies and root mean square errors (in parentheses) of average water content.................................................................................................................. ..102 D-1 Sample MGAR Output....................................................................................................117 G-1 Sample 3DGAR Output...................................................................................................179

PAGE 10

10 LIST OF FIGURES Figure page 2-1 Soil Conceptual model for soil water pr ofile elongation during redistribution.................25 2-2 GAR method of calculating redistribution profiles...........................................................27 2-3 Example soil moisture observation layer for two fronts....................................................32 2-4 Two examples, sand and clay, showing th e error and the general trend observed in surface water content (o) between GAR and Richards solution.....................................36 2-5 Observed and predicted redistribution coefficient, parameters, a1, a2 and a3, versus saturated hydraulic conductivity, Ks..................................................................................37 2-6 Soil surface relative water content versus time for Richards, GAR and MGAR solutions for 6 selected soils..............................................................................................39 2-7 Comparison of GAR versus MGAR to desc ribe soil water content profile for clay soil........................................................................................................................... ...........41 3-1 3-dimensional Green-Ampt wetting front..........................................................................50 3-2 Hemispherical wetting front..............................................................................................53 3-3 Ellipse.................................................................................................................... ............57 3-4 Maximum depth, R1 (cm), and wetted surface radius, R0 (cm), over time for Yolo Sand........................................................................................................................... .........59 3-5 Wetting front advances for Yolo Sand...............................................................................60 3-6 Maximum depth, R1 (m), and wetted surface radius, R0 (m), over time for Manawatu Fine Sandy Loam...............................................................................................................62 3-7 Wetting front advances for Manawatu Fine Sandy Loam.................................................63 4-1 3-D Green Ampt wetting front...........................................................................................68 4-2 Ground surface radius, R0 and wetted depth, R1 over time for the Clay soil..................80 4-3 Ground surface radius, R0 and wetted depth, R1 over time for the Loam soil................80 4-4 Ground surface radius, R0 and wetted depth, R1 over time for the Sand soil.................81 4-5 Wetting front shape at t = 1h and 6h for 3DGA and Richards model, H2D, for the Clay soil...................................................................................................................... .......82

PAGE 11

11 4-6 Wetting front shape at t = 1h and 6h for 3DGA and Richards model, H2D, for the Loam soil...................................................................................................................... .....82 4-7 Wetting front shape at t = 1h and 6h for 3DGA and Richards model, H2D, for the Sand soil...................................................................................................................... .......83 5-1 3-D Green Ampt wetting front...........................................................................................88 5-2 Ellipse.................................................................................................................... ............92 5-3 Description of parameters for elli ptical wet bulb shape equation (5-10)...........................93 5-4 Translation of 1-dimensional MGAR mode ls multiple redistributing front scheme to Point Source Systems.........................................................................................................95 5-5 Rectangular coordinate gr id for calculating average water contents of observation cells.......................................................................................................................... ..........96 5-6 3DGAR observation cells and H2D obs ervation nodes used in simulations...................101 5-7 Evolution of average water content for the observation cell 5 cm to the side emitter, for the Loam soil..............................................................................................................103 5-8 Evolution of average water content for the observation cell 15 cm to the side emitter, for the Clay soil.............................................................................................................. ..104 5-9 Evolution of average water content for the observation cell 30 cm below the emitter, for the Sandy Clay Loam soil..........................................................................................104 5-10 Representation of multiple redi stributing wetting front scheme......................................105

PAGE 12

12 Abstract of Dissertation Pres ented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy AN IMPROVED GREEN-AMPT SOIL INFILTR ATION AND REDISTRIBUTION METHOD AND ITS APPLICATION TO 1-DIMENSIONA L AND QUASI 3-DIMENSIONAL (POINT SOURCE) FLOW DOMAINS By Leslie C. Gowdish December 2007 Chair: Rafael Muoz-Carpena Co-Chair: Ray Bucklin Major: Agricultural a nd Biological Engineering Unsaturated flow can best be described by Ri chards equation. Numerical solutions of Richards equation are generally computationally inte nsive and require extensive soil property data; therefore, simplified physic ally-based approaches have of ten been used. The purpose of this research was to develop and validate a phys ically-based approximate model for simulating infiltration and soil water redistribution in 1-D an d quasi 3-D flow domains. The first step was to improve an existing 1-D infiltration and redistribution model, GAR, by increasing the number of redistributing wetting fronts and adding a correction factor, a function of redistribution number NR, redistribution time TR, and saturated hydr aulic conductivity Ks). A comparison of a numerical solution of Ri chards equation against the GAR and the modified GAR (MGAR) methods showed that the modified method predicts better the surface water content and is also able to predict the average water content for a de sired observation layer. Next, the 3-D form of the Green-Ampt (3DGA) infiltration method was co mpared to several es tablished point source models and published data. The results of the comp arison showed that the 3DGA method is a viable model for simulating quasi 3-D flow doma ins. An equation for the 3DGA supply radius

PAGE 13

13 parameter was developed based on a simplified form of Philips point source radius equation which is a function of emitter flow rate, satu rated hydraulic conductivity and suction at the wetting front. Testing of the proposed equation showed good results for a wide variety of soils. Lastly, 3DGA was extended based on the MGAR method to calculate the change in water content during the 3-D redistribution phase. Comp arison with 2-D Richards numerical solution (Hydrus 2D) showed the model to provide good po int-source simulations fo r a wide variety of soils.

PAGE 14

14 CHAPTER 1 INTRODUCTION Rationale Ecological models are used to make accurate, long-term ecological projections. The effects of stressors on vegetation and th e landscape directly influence wa ter dynamics at all scales, and in turn, water dynamics directly influence vege tation and the landscape (Childress et al., 1999). It is therefore important that these ecological models have an accurate hydrological component. Since infiltration and subsequent redistribution are used to determine the amount of water available for runoff, the ability to model soil water movement accurately directly affects the accuracy of every other hydrological component: For many watersheds, infiltration is the most important hydrologic component determining the shape of the runoff hydrograph from the area (Huggins and Burney, 1982, p. 173). At the opposite end of the scale spectrum, plastic-bedded drip irrigation systems have become increasi ngly popular for agricultura l production. They can provide an increase in water application effici ency, a decrease in nutrient leaching, all while delivering desirable yields. Therefore, the ab ility to model these systems has become of increasing importance. Modeling of soil water movement in profiles consists of two phases, infiltration and redistribution. These two phases translate acros s scenarios, whether a 1-dimensional flow domain during a rain event on bare soil or a quasi 3-dimensional flow domain under intensive bed (point source) management systems. Unsatu rated flow can best be described by combining Darcys Law (1856) with the con tinuity equation, resul ting in a theoretical partial differential equation known as Richards equation (1931). Richards equation does not have a general analytical solution, and therefore must be solved numerically in many practical applications. The numerical solutions of Rich ards equation are generally com putationally intensive, require

PAGE 15

15 extensive soil property data, and involve para meterization and fine spatial and temporal discretization which can result in errors (Skaggs and Khal eel, 1982; Ogden and Saghafian, 1997). In addition, certain conditions can pres ent problems of instability and errors of convergence that compromise the solutions (Vogel et al, 2001; Celia et al., 1990; Claudio and Putti, 1994; Miller et al., 1998). For this reason approximate, physically based approaches have often been used for modeling in filtration and soil water redist ribution (Jury and Horton, 2004; Singh and Woolhiser, 2002; Haan et al., 1993; Smith et al., 1993). Particularly, for the case of infiltration, the method of Green-Ampt (1911), GA, modified for unsteady rain events (Mein and Larson, 1973; Chu, 1978), has been widely used in hydrological modeling. In spite of its apparent limitations, the method produces good resu lts in comparison with other approximate methods if it is correctly parameterized (Skaggs et al., 1969). In addition, the method presents the advantage that its parameters can be reckoned based on the soil textural classification (Rawls et al. 1982, 1983). As opposed to the complete Richards (1931) formulation, the GA equation strictly handles infiltration. Thus, an equation for the redistributi on of soil water in the pr ofile between rainfall events is also needed. Soil water redistribution models have been proposed and used (Smith et al., 1993; Philip and Knight, 1991; Gar dner et al., 1970; Jury et al., 1976), but it is desirable that the model chosen be based on the same underlying assumptions as the GA equation. One such model was described by Ogden and Saghafian (1997) This model is a specific case of the conceptual model developed by Smith et al. (199 3) to simulate the co ntinuous infiltration and soil water redistribution cycle for multistorm tim e series in which Ogden and Saghafian (1993) implement the Green-Ampt equation for simulating the infiltration phase resulting in the GreenAmpt with Redistribution (GAR) method. An exte nsion of the Parlange et al. (1982) equation

PAGE 16

16 was proposed and used by Smith et al. (1993) fo r simulating the infiltra tion phase in their methodology. Both of these methods were shown to perform satisfactorily when compared to a numerical solution of the Rich ards equation (Smith et al., 1993; Ogden and Saghafian, 1997). One benefit of using the GAR model is that it requires only th ree soil infiltration parameters and three water contents, which can be determined fr om soil textural classifi cations (Rawls et al., 1982, 1983). In addition, the method is explicit and is therefore easy to implement and robust when time steps are constrained to allow for convergence. There are, however, some disadvantages to the GAR methodology. The original results presented by Ogden and Saghafian (1997) show th at for soils with larg er saturated hydraulic conductivity values the error in the prediction of surface water content increases. Furthermore, when the method is applied to a long period of uneven storms there is an increasing divergence from actual surface water content af ter subsequent redistributions. Intensive bed management systems (point s ource) have become in creasingly popular for agricultural production in Florida. Through their pl astic-bed drip systems, these mechanisms can provide an increase in water appl ication efficiency and a decrease in nutrient leaching, all while delivering desirable yields. There are increased benefits provided to sandy soils, seen throughout Florida, which have high hydraulic conductivities and low water-holding capacities. Modeling of these systems in particular is therefore useful in assess ing water quality impacts by state agencies and assisting in the BMP sele ction process for individual farmers. One such modeling tool is the DSSAT system (Jones et al., 2003). The DSSAT program has been used for a variety of applications. R ecently, however, it has been found to be limited in its ability to accurately model soil water movement for point source systems such as plastic-bed management systems (McKinnie et al., 2003). It is be lieved that this shortc oming is due, in part,

PAGE 17

17 to the fact that DSSAT simulates soil water flow as a vertical 1-D process. Furthermore, studies have shown that in actuality the soil water flow path is quasi-spherical in shape and therefore requires a 3-dimensional description (Warric k, 1974; Clark et al., 2006; Healy and Warrick, 1988). Several methods for simulating infiltration in point source systems have been developed based on Richards equation for unsaturated flow. Analytical solutions to Richards equation have been developed, steady state solutions (Parlange, 1972; Philip, 1971; Raats, 1971; Wooding, 1968), non-steady linearized solutions (Warrick, 1974; Warrick and Lomen, 1976) and a quasi-linearized approx imation solution (Philip, 1984a), with good results, however they are not general. Numerical solutions, such as the finite difference tec hniques of Bresler et al. (1971), Brandt et al. (1971) a nd Narasimhan and Witherspoon (1976) a nd the finite element technique of Taghavi et al. (1984) showed good results compared to laboratory results for infiltration under a point source, however, as mentioned previously, they are computationally intensive and require extensive soil property data. Lastly, empiri cal models based from a solution of Richards equation (Healy and Warrick, 1988; Schwartzman a nd Zur, 1986) and approximate models (Ben Asher et al., 1986; Roth, 1974) ha ve been proposed with good results, but only in limited applications. As in the 1-dimensional case, appr oximate physically-based models are, therefore, desirable. One such model is the 3-dime nsional Green-Ampt (3DGA) method (Chu, 1994). The 3DGA method is based on the same ba sic assumptions and methodology as the original Green-Ampt (1911) model, but has been formulated to simulate the quasi 3-dimensional soil water flow path formed under point source sy stems. In order for this methodology to be valid, the water content of the wetting front needs to be at or very near saturation meaning that the emitter discharge rate needs to equal the aver age infiltration capacity rate. This assumption

PAGE 18

18 makes sense for drip irrigation systems since quite often drip irrigation systems are designed so that emitter discharge rate equals infiltration cap acity in order to optimize results. A drawback, however, is that it has not been widely tested and should, therefore, be evaluated further to determine its validity. Furthermore, an additional drawback to 3DGA m odel is that the flow rate from the emitter is implicit, in that it is bu ilt in the emitter supply radius, ro, parameter. Chu (1994) also assumes that the supply radius is a known parameter. An equation defining this supply radius was not included in the original development of the model and, therefore, would need to be determined in an alternative manner. One method for determining the supply radius is to directly measur e the saturated wetted radius that develops on the surface of the soil. While this would provide a good estimate, it is not practical in most applications and can be difficult to measure pr operly. In addition, there is no standard by which one can determine what is considered the supply ra dius versus the actual wetting front advancing through the soil. Therefore, there is s till a need for an equation for calculating the supply radius for use in the 3DGA model. Interestingly, there are a number of models that have been developed that use th e assumption of a supply radius (Philip, 1984b; Raats, 1971; Warrick and Lomen, 1976; Woodi ng, 1968; Parlange, 1973; Warrick, 1974), though, very few formulations for an equation desc ribing the supply radius have been attempted. One paper developed an equation for calcula ting the supply radius specifically for the 3DGA model (Sepaskhah and Chitsaz, 2004). Th e empirical equation was developed using multiple regression analysis, with data obtaine d by measuring different values of the supply radius for various soils (differing saturated hydra ulic conductivities) a nd varying emitter flow rates. However, the details of the methodology we re unclear and the equa tion did not appear to

PAGE 19

19 give good results. An alternative equation for calculating the supply radius is an equation developed by Philip (1969) which gives the minimum radius needed to accommodate a given flow rate indefinitely. Clothier and Scotter (1982) compared Philips minimum radius against measured supply radii and found them to be si milar. A drawback, however, is that it is parameter intensive. Therefore, an alternative equation for ca lculating the supply radius is needed. Lastly, the 3DGA model simulates infiltration only and does not take into consideration the redistribution phase of soil water movement While numerous models exist for simulating infiltration for point source systems (Philip, 1984a; Raats, 1971; Bresler et al., 1971; Taghavi et al., 1984; Healy and Warrick, 1988; Ben-Asher et al., 1986), there are only a few models that simulate the redistribution phase as well (Sim unek et al., 1999; Healy, 1987). The HYDRUS-2D (H2D) (Simunek et al., 1999) and VS2D (Healy, 1987) models simulate soil water movement using a numerical solution of Rich ards equation. However, while they can provide good results, they are computationally intensiv e and can result in numerical instability problems (Cook et al., 2006). For this reason, it is desirable that th e redistribution model be a physically-based approximation. In addition, it would also be desi rable that the model chosen be based on the same underlying assumptions as th e infiltration equation, 3DGA. Objectives 1. Development and evaluation of modificat ions to an existing Green-Ampt with Redistribution formulation for a wide ra nge of soil types and uneven multistorm time series. 2. Comparison of the 3-dimensional form of the Green-Ampt method to established approximate models of the infiltration pha se of quasi 3-dimensional flow domains found in point source systems. 3. Development and evaluation of a supply radius parameter for use with the 3dimensional Green-Ampt infiltration model.

PAGE 20

20 4. Development and testing of a redistributi on model for use in combination with the 3-dimensional Green-Ampt infiltration model. This document is divided into four papers th at stand alone (Chapter s 2-5). Each paper focuses on one of the four sp ecific objectives given above.

PAGE 21

21 CHAPTER 2 AN IMPROVED INFILTRATION AND RE DISTRIBUTION METHOD FOR UNEVEN MULTISTORM PRECIPITATION TIME SERIES Introduction Vertical unsaturated flow can best be desc ribed by combining Darcys Law (1856) with the continuity equation, resulting in a theoretical partial differential equation known as Richards equation (1931). Richards equati on does not have a general anal ytical solution, and therefore must be solved numerically in many practical app lications. The numerical solutions of Richards equation are generally computa tionally intensive, require extensive soil property data, and involve parameterization and fine spatial and tem poral discretization whic h can result in errors (Skaggs and Khaleel, 1982; Ogden and Saghafia n, 1997). In addition, certain conditions can present problems of instability and errors of convergence that compromi se the solutions (Vogel et al, 2001; Celia et al., 1990; Cl audio and Putti, 1994; Miller et al., 1998). For this reason approximate, physically based approaches have b een often used for mode ling infiltration and soil water redistribution (Jury and Horton, 2004; Singh and Woolhi ser, 2002; Haan et al., 1993; Smith et al., 1993). Particularly, for the case of infiltr ation, the method of Green-Ampt (1911), GA, modified for unsteady rain events (Mei n and Larson, 1973; Chu, 1978), has been widely used in hydrological modeling. In spite of its apparent limitations the method produces good results in comparison with other approximate methods if it is correctly parameterized (Skaggs et al., 1969). In addition, the method presents the a dvantage that its parameters can be reckoned based on the soil textural classifi cation (Rawls et al. 1982, 1983). As opposed to the complete Richards (1931) formulation, the GA equation strictly handles infiltration. Thus, an equation for the redistributi on of soil water in the pr ofile between rainfall events is also needed. Soil water redistribution models have been proposed and used (Smith et al., 1993; Philip and Knight, 1991; Gar dner et al., 1970; Jury et al., 1976), but it is desirable that

PAGE 22

22 the model chosen be based on the same underlying assumptions as the GA equation. One such model was described by Ogden and Saghafian (1997) This model is a specific case of the conceptual model developed by Smith et al. (199 3) to simulate the co ntinuous infiltration and soil water redistribution cycle for multistorm tim e series in which Ogden and Saghafian (1993) implement the Green-Ampt equation for simulating the infiltration phase resulting in the GreenAmpt with Redistribution (GAR) method. An exte nsion of the Parlange et al. (1982) equation was proposed and used by Smith et al. (1993) fo r simulating the infiltra tion phase in their methodology. Both of these methods were shown to perform satisfactorily when compared to a numerical solution of the Rich ards equation (Smith et al., 1993; Ogden and Saghafian, 1997). One benefit of using the GAR model is that it requires only th ree soil infiltration parameters and three water contents, which can be determined fr om soil textural classifi cations (Rawls et al., 1982, 1983). In addition, the method is explicit and is therefore easy to implement and robust when time steps are constrained to allow for convergence. There are, however, some disadvantages to the GAR methodology. The original results presented by Ogden and Saghafian (1997) show th at for soils with larg er saturated hydraulic conductivity values the error in the prediction of surface water content increases. Furthermore, when the method is applied to a long period of uneven storms there is an increasing divergence from actual surface water content af ter subsequent redistributions. The purpose of this paper is to describe and evaluate the modification to the original GAR formulation that eliminates the increase in error in surface water content predictions for a wide range of soil types, including during a long series of uneven rain and redistribution events. In addition, the capability of the method to predic t average moisture within the soil profile is studied. The motivation for this work comes from the desire to provide an improved physically

PAGE 23

23 based method for modeling infiltration and soil wate r redistribution that ca n be translated to a variety of different hydrologi cal modeling applications. Infiltration and Redist ribution Calculations Green-Ampt Infiltration Method During Unsteady Rain The Green-Ampt (1911) equation, GA, descri bes the infiltration process under ponded conditions. Since the surface is not always under ponded conditions, Mein and Larson (1973) modified the equation to determine the time wh en surface ponding begins under steady rainfall conditions. Chu (1978) further modified th e GA equation to allow for the modeling of infiltration under unsteady rainfall. The additi on of mass balance at th e soil surface for the calculation of excess rainfall was added to th e procedure by Skaggs and Khaleel (1982). The resulting GA approximate model is thus based on three main assumptions: (i) water is assumed to enter the soil as a sharp wetting front, a di stance (Z) from the surface, which separates a saturated wetted zone from an unwetted zone; (ii) the soil is assumed to be deep, homogeneous and isotropic; and (iii) the soil is assumed to be at a uniform initial water content. From GA, cumulative infiltration can be determined by t R F for pt t (2-1) av av pp p sS M F M S F t t t K 1 ln for pt t (2-2) where F [L] is cumulative infiltration; Ks [LT-1] is the hydraulic conductivity of the soil; M is the soil water deficit given by s i, where s is saturated water content and i is initial water content; Sav [L] is the average suction at the wetting front; R [LT-1] is the rainfall intensity; tpp [T] is the equivalent time to infiltrate F under initially ponded conditions; and tp [T] is the time to ponding found from

PAGE 24

24 R F tp p and 1 s av pK R M S F (2-3) where Fp [L] is the cumulative infiltration at th e time of ponding. Since Equation (2-2) is implicit, the Newton-Raphson method, with an error tolerance of 1.0 x 10-6, was used to calculate cumulative infiltration, F. The infiltration rate, f, is defined as f Rfort tpKsSav M Fp 1 fort tp (2-4) Green-Ampt Infiltration with Redistribution Method (GAR) The Green-Ampt with redistribution method (Ogden and Saghafian, 1997) is based from the conceptual model for the infiltration and so il water redistribution cycle developed by Smith et al. (1993) for the specific case of the Green-Ampt infiltration equation. The model assumes that the rectangular wetting front will elongate due to unsaturated flow caused by capillary and gravitational forces. During redistribution, the wetting front increases and the water content along the entire depth of the profil e is assumed to decrease unifor mly (Figure 2-1). A rainfall hiatus period begins when the rainfall rate is less than saturated hydr aulic conductivity and all ponded surface water has been infiltrated. A rainfall hiatus period ends when the rainfall rate is greater than saturated hydraulic conductivity. Soil water is consid ered to only redistribute during a rainfall hiatus. After initial ponding during a rainfall event, the water content at the surface, o, is equal to s. Once redistribution occurs, the water content at the surface becomes less than s.

PAGE 25

25 Figure 2-1. Soil Conceptual model for soil water profile elongation during redistribution (Ogden and Saghafian, 1997) During the rainfall hiatus, the equation of contin uity that describes th e redistribution of soil water content (Figure 2-1) can be represented in differential form as (Smith et al., 1993), ) ( ) (i h o i oK r dt d Z dt dZ (2-5) where Z [L] is the depth to the wetting front; rh [LT-1] is the rainfall rate during the hiatus; and K(i) [LT-1] represents the value of th e unsaturated hydraulic conductiv ity function for the initial soil water content. Based on Darcys equation (1856) unsaturated flow (Smith et al., 1993), ) ( ) ( ) (o o i s i oK Z G K dt dZ (2-6) where K(o) [LT-1] represents the value of the unsaturated hydraulic conductiv ity function for the surface water content; and G(i,o) [L] represents the integral of the capillary drive through the saturated front, i o s d Z(t+dt) Z(t) dZ Z

PAGE 26

26 0) ( 1 ) (ih s o idh h K K G (2-7) and combining Eqs. (2-5) and (2-6) the equation for the calculation of th e redistribution of soil water content proposed by Ogde n and Saghafian (1997) is, Z G K K K r Z dt do i s o i h o 1 (2-8) with Ki = K(i), a constant from the initial condition for the period. Equation (2-8) was solved using a 4th order Runge-Kutta adaptive step si ze solution with a tolerance of 1.0 x 10-4 (Press et al., 1989). Several analytic expressions for the G function exist depending on the expression of the soil water retention function and the unsaturated conductivity chosen for the soil profile (Smith et al., 2002). In the case of Brooks and Corey (1964), h hb r s r / 2 3) ( s rK h K K (2-9) where [-] is the relative water of the soil profile for a generic water content () and its suction ( h [L]); hb and are the parameters of the Brooks and Corey (1964) equation where hb [L] is the bubbling pressure and [-] is the pore di stribution index; and Kr is the relative unsaturated hydraulic conductivity function. In this case, Ogden and Saghafian (1997) show that the function G(i,o) can be obtained by substituting K(h) from Eq. (2-9) into Eq. (2-7), integrating, and dividing the equivalent expressions obtained for G(i,) and G(i,s) 1 3 1 3 1 31 ,i i o av o iS G (2-10) where Sav can be calculated as,

PAGE 27

27 ) 3 1 ( ) 3 2 ( b avh S (2-11) The solution of Eqs. (2-8) and (2-10) permit th e calculation of the redistribution of the soil water content during the rainfall hiatus. Since this is a contin uation of the Green-Ampt equation, and follows the same assumptions, the water content calculated from Eq. (2-8) is not only the soil surface water content, o, but it is also the water content of the soil above the wetting front, a distance Z from the surface. This is based on the assumption that water is infiltrating as a wetting front as shown in Figure 21. Figure 2-2a represents the process of redistribution during the rainfall hiatus where the profile of soil water elongates to a depth Z1(t) and its soil water content decreases from saturation, = 1, to o(t) Figure 2-2. GAR method of cal culating redistribution profiles (a) Shows the redistribution period of one wetting front when ( R < Ks) and (b) shows the infiltration and redistribution periods of two wetting fronts when ( R > Ks) Again, it should be noted that this new soil wa ter content is not only for the surface but for that of all the profile of soil water in redistributio n. Soil water content is allowed to continue to 2= s 0 i 1 s i 0 1 0 0 Z Z Z1 Z1 Z2 WF1 WF2 20 20 (a) (b)

PAGE 28

28 redistribute until a minimum value of soil water c ontent, selected by the user, is reached (e.g. field capacity, FC or in the presence of roots, wilting point). In order to better represent the real soil wa ter profile, if during the redistribution the rainfall rate increases so that ( r > fp Ks), the GAR method proposes to introduce a second rectangular profile (wetti ng front 2). The original profile conti nues to redistribute using Eqs. (28) and (2-10), having a depth of Z1. Any new infiltration will feed only the second wetting front, having a depth of Z2, until the two fronts ar e at the same depth ( Z1 = Z2), at which time they will merge into one profile at saturated water content. It should be noted th at the soil water profile formed by the two rectangles be tter resembles the description of the numerical solution of Richards where the soil profile is represented by two curvatures (Figure 2-2b). The infiltration for the second wetting front will be calculated usi ng the GA Eqs. (2-1) (2-4) as well, but with a couple substitutions. M and F will be replaced with 1 2 sM and 1 2F F F (2-12) where 1 [-] is the soil water content of the first profile; F [L] is the total cumulative infiltrated depth for the simulation; and F1 [L] is the cumulative infiltrated depth from the first profile. If Z1 = Z2 then the original infiltration equations ar e used again. If, in stead, the rainfall rate drops below saturated hydraulic conductivity ( r < fp Ks) before Z1 = Z2, the two profiles are forced to merge into one profile with a new depth calculated as i s s i mZ Z Z 2 1 1 1 (2-13) Once the two profiles are merged to one profile, with depth Zm, the original infiltration Eqs. (2-1) (2-4) are used again. Ogden and Saghafian (1997) proposed to limit the number of profiles to two in order to simp lify the calculation. However, the authors state that although the union of the two fronts is not physic ally correct, this si mplification introduces a small error in the

PAGE 29

29 calculation so long as (1-i) > (s-1). This implies that the previous equation is valid for relatively short redistribution intervals. Modified Green-Ampt Infiltration wi th Redistribution Method (MGAR) Multiple Redistributing Wetting Front Scheme Although limiting the number of wetting fronts to two simplifies the ca lculation, it limits the physical basis in comparison to numerical and experimental so il moisture profiles. When the two fronts merge, a portion of the soil profile which was at 1, where i > 1 > s, is now instantaneously changed to saturation and another portion cha nged to initial water content that can lead to discontinuous jumps in water conten t along these soil sections. This scenario is physically unrealistic. In additi on, as explained above, the condition (1-i) > (s-1) is often not valid during long redistribution in tervals, so the error in th e calculation for redistribution increases. In order to reduce the prediction error that occurs w ithin the soil profile it is proposed to allow the second wetting front to redistribute, as well as, allow for additional fronts to form and redistribute. In the proposed modificati on, instead of merging the saturated front and redistributing front once the rainfall rate drops below saturated hydraulic conductivity (r < fp Ks), the saturated front is allowed to redistribut e as well. The lower front (wetting front 1, WF1) continues to redistribute usi ng Eqs. (2-8) and (2-10), using i and 1 and Z1, while the upper front (WF2) redistributes using o, 1 and Z2. The two fronts continue to redistribute until Z1 = Z2, at which time the two fronts are merged into one front at water content o. If, instead, the rainfall rate increases so that (r > fp Ks), a third front (wetting front 3, WF3) is introduced. Similar to the original method, any new inf iltration will feed only the top wetting front (WF3) having a depth of Z3, and will be calculated using the appropriate substitutions in Eq. (2-12). If

PAGE 30

30 any of the wetting fronts depths are equal, those fronts are merged with the resulting front being at the higher water content. If, instead, the rainfall rate decreases so that (r < fp Ks), the third front (WF3) is allowed to redistribute. The process of forming new fronts, merging fronts and redistributing fronts is continued until the end of the simulation. This modification ensures that continuity in water redistribution remains in tact. The number and duration of the fronts is dependent on the soil type, the frequency of rain events, and the length of redistribution periods. Reduction of Error for Uneven Multistorm Time Series Ogden and Saghafian (1997) reported good results fo r the simulations tested in their paper, with a simulation time of 6 hours, across all so il types defined by the USDA textural classes (Table 2-1). However, it is apparent at the e nd of this simulation that the error in the surface water content, when compared to results from a model that solves Richards equation, increased over time. This problem is exacerbated when running longer simulation times, specifically including numerous dissimila r rain events followed by redistribution periods (i.e. r < fp Ks). Table 2-1. Soil textures and hydraulic parameters used in ap proximate GAR model simulations (refer to Appendix for nomenclature) Soil # USDA texture s 1 r 1 wp 1 hb 1 (cm) Ks 1 (cm/h) Sav 2 (cm) FC2 1 Sand 0.417 0.020 0.033 7.26 0.694 23.56 9.62 0.048 2 Loamy sand 0.401 0.035 0.055 8.69 0.553 5.98 11.96 0.084 3 Sandy loam 0.412 0.041 0.095 14.66 0.378 2.18 21.53 0.155 4 Loam 0.434 0.027 0.117 11.15 0.252 1.32 17.50 0.200 5 Silt loam 0.486 0.015 0.133 20.79 0.234 0.68 32.96 0.261 6 Sandy clay loam 0.330 0.068 0.148 28.08 0.319 0.30 42.43 0.187 7 Clay loam 0.390 0.075 0.197 25.89 0.242 0.20 40.89 0.245 8 Silty clay loam 0.432 0.040 0.208 32.56 0.177 0.20 53.83 0.300 9 Sandy clay 0.321 0.109 0.239 29.17 0.223 0.12 46.65 0.232 10 Silty clay 0.423 0.056 0.250 34.19 0.150 0.10 57.77 0.317 11 Clay 0.385 0.090 0.272 37.30 0.165 0.06 62.25 0.296 1Selected according to Ra wls et al. (1982, 1983); 2Calculated from Brooks and Corey (1964) equations

PAGE 31

31 A modification is proposed here to the original GAR method, MGAR, in order to improve the accuracy on long multistorm precipitation time se ries. Visual comparisons of graphs of the surface water content obtained for GAR and Richards numerical solutions were used to assess a pattern in the error for long time series. The influence of several variables (rainfall intensity for each storm, length of rainfall even t, number of rainfall events, le ngth of the redistribution period and number of redistribution periods since beginning of simulation) were analyzed to determine their effect over the error trends. A correction fact or in the form of a f unction containing one or more of these variables was explored for all the soil textural classes (Raw ls et al., 1982, 1983). A non-linear least-squares curve fitting search procedure (TableCurv e 3D, SYSTAT Inc., Richmond, CA) was used to fit a large numbe r of equations for each soil type containing combinations of the different f actors studied. After comparing the list of equations for each soil a common relationship, valid for all soil types, was chosen to provide a good fit, R2 > 0.86, with a minimum number of parameters. Prediction of the Average Soil Water Content for a Desired Observation Layer One of the most frequent applications of hydr ologic models of the unsaturated zone is the prediction of the soil water content for a desire d observation layer within the soil profile, corresponding, for example, to th e plant root zone, to biochemically active horizons, etc. Using the rectangular profiles proposed by the method, an estimation of the soil water content can be obtained by means of a weighted average of the di fferent segments of the profile by the different soil water contents of each wetting front, 1 and 2, with their respective thicknesses, Z1 and Z2, the initial water content, i, and the depths of th e layer of interest, Zi1 and Zi2 (Figure 2-3).

PAGE 32

32 Figure 2-3. Example soil moisture observation layer for two fronts used for calculating average water content when observation layer overlaps two differe nt wetting fronts In the case of two fronts we have, 2 2 1 2 2 2 2 1 1 2 1 2 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 2 1 2 1 1 1 1 1 2 1, ) ( ) ( ) ( ) ( ) ( ) ( Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Zi i i i i i i i i i i i i i i i i i i i Avg (2-14) A similar equation, albeit a more complex equation, is used in the case of multiple wetting fronts. Verification of MGAR The performance of the infiltration and redist ribution methods presented in this report is compared with a numerical solution of Ri chards (1931) equation. The mechanisticdeterministic WAVE model (Vancl ooster et al., 1996) was used in this comparison. This model is based on a finite differences solution of the capacitance form of Richards equation. WAVE has several options for the parameterization of the unsaturated hydraulic conductivity functions, 2 1 i 2 1 i2 i1 Observation layer Soil surface

PAGE 33

33 including Brooks and Corey (1964). There are also several options for parameterization of the soil water retention curves, incl uding van Genuchten (1980). To test the generality of the application of the MGAR model a test procedure similar to that presented by Ogden and Saghafian (1997) was followed. Eleven soil types from the USDAs soil textural classifica tions were selected (Tables 2-1 and 2-2). All the profiles were considered homogeneous, isotropic and of semi-inf inite depth (unlimited). The parameters of the MGAR (s, r, hb, Ks and wp = wilting point water content) (refer to Appendix for nomenclature) were selected for each soil textur e according to Rawls et al. (1982, 1983). Each soil is assumed to have an initial water content equal to the wilting point water content given in Table 2-1. The values for Sav and FC were calculated from those of Brooks and Corey (1964) according to Eq. (2-11) and the soil water retention curve at h = 333 cm, respectively. In order to obtain convergence for all the so ils, it was necessary to use th e van Genuchten (1980) model to describe the soil water retention curve and the Brooks and Corey (1964) m odel to describe the unsaturated hydraulic conductivity curve. The corresponding van Genuchten parameters were obtained using the RETC program (van Genuchten et al., 1991) based on the curves described by the Brooks and Corey parameters (Table 2-2). On ce the parameters were obtained, the soil water retention curves for both models were compared to ensure that they were equivalent. Similar methods for converting Brooks and Corey (1964 ) parameters to van Genuchten (1980) parameters have been researched and show n to provide similar results (Stankovich and Lockington, 1995; Lenhard et al ., 1989; van Genuchten and Niel sen, 1985; Morel-Setoux et al., 1996).

PAGE 34

34 Table 2-2. van Genuchten water characteristic curve parameters used in Richards numerical solutions (refer to Appendix for nomenclature) Soil # USDA texture s r (cm-1) n1 m1 1 Sand 0.417 0.020 0.1310 82.5535 0.0085 2 Loamy sand 0.401 0.035 0.1075 68.6080 0.0082 3 Sandy loam 0.412 0.041 0.0608 66.4880 0.0059 4 Loam 0.434 0.027 0.0804 48.2744 0.0054 5 Silt loam 0.486 0.015 0.0448 72.0750 0.0033 6 Sandy clay loam 0.330 0.068 0.0332 60.8529 0.0053 7 Clay loam 0.390 0.075 0.0363 84.9396 0.0029 8 Silty clay loam 0.432 0.040 0.0295 111.7583 0.0016 9 Sandy clay 0.321 0.109 0.0326 93.2147 0.0024 10 Silty clay 0.423 0.056 0.0283 128.0623 0.0012 11 Clay 0.385 0.090 0.0259 126.4091 0.0013 1 Derived using RETC program; used in conjunction with the Brooks and Corey hydraulic conductivity parameters in Table 1 For the finite difference solution in WAVE the soil profile was discretized in 5mm segments and the initial condition for soil water content was set to wp (Table 2-1) for the entire profile, (x,0)= i for x>0. For each soil type, the simulation consisted of 8 uneven precipitation events each followed by a redistribution period (where R = 0.0 cm/h) for a total simulation time of 365 hours. The duration and intensity of each rain event and duration of the redistribution periods varied during the simulation. The rain events used for both the Richards and MGAR solutions are described in Tables 2-3 and 2-4. Table 2-3. Multistorm time series used fo r model simulation. Rainfall intensities A and B for each soil type given in Table 2-4 Rain event tstart (h) R(cm/h) at t = tstart R(cm/h) at t = tstart + 1 R(cm/h) at t = tstart + 2 R(cm/h) at t = tstart + 3 R(cm/h) at t = tstart + 4 1 0.0 A A 0.0 0.0 0.0 2 71.0 A B A A 0.0 3 92.0 A A 0.0 0.0 0.0 4 139.0 B A 0.0 0.0 0.0 5 163.0 A 0.0 0.0 0.0 0.0 6 223.0 A A B B A 7 258.0 B B 0.0 0.0 0.0 8 342.0 A B B 0.0 0.0

PAGE 35

35 Table 2-4. Rain intensities, A and B, for each soil type corresponding to the simulated multistorm time series of Table 2-3 Soil # USDA texture A (cm/h) B (cm/h) 1 Sand 30.00 31.00 2 Loamy sand 15.00 16.00 3 Sandy loam 7.00 8.00 4 Loam 4.00 5.00 5 Silt loam 4.00 5.00 6 Sandy clay loam 2.00 3.00 7 Clay loam 2.00 3.00 8 Silty clay loam 2.01 3.01 9 Sandy clay 1.00 2.00 10 Silty clay 2.00 3.00 11 Clay 1.00 2.00 The intensities correspond to those used by Ogden and Saghafian (1997) with the exception of sand in which the rate was decreased in order to reduce the high water balance error that occurred during the WAVE simulation. Th e intensities were specifically selected to guarantee ponding in each profile. It is assumed that the excess of rain produced is lost instantly to overland flow (surface storage, s=0). The goodness-of-fit of the entire simulation against the Richar ds results were evaluated using the Nash and Sutcliffe (1970) coefficient of efficiency (Ceff, see Appendix B for description) and the root mean squared error (RMSE, see Appendix B for description). Four outputs were selected: surface water content, o, cumulative infiltration, F, and average water content, avg, for two layers of interest, 0-50 cm and 50-100cm. Results and Discussion A general trend in the error produced by GAR with respect to Richards solution was calculated using Fast Fourier Transform smoot hing (Press et al., 1989) across all soil types studied (Figure 2-4). Though the general trend in error increa sed with every redistribution period, the error tended to decrea se at a decreasing rate over time within each redistribution

PAGE 36

36 period. Lastly, while the same pattern was observed for all of the soil types tested, the magnitude of the erro r varied across soil. Figure 2-4. Two examples, sand and clay, showing the error and the general trend observed in surface water content (o) between GAR and Richards solution The extensive analysis of the error conducted showed th at three main variables, redistribution time (TR), redistribution number (NR) and saturated hydraulic conductivity (Ks), largely control the observed error for all soil types. The redistri bution number corresponds to the redistribution period; i.e. if there are 3 redistribution periods within the simulation, then NR = 1, 2 and 3 for the first, second and third redistributio n periods, respectively. The redistribution time does not correspond to the general simulation tim e, but rather the local time within each redistribution period. For example, if a rain event ceases marking the start of a redistribution period at simulation time t = 10.0 hour, the corresponding redistribution time TR = 0.0 hour. Within that redistribution event, if t =11 hrs then TR = 1.0 hour, etc.

PAGE 37

37 A common equation of the three variables to pr edict the error was identified that provided a good fit across all soil types (adjusted R2 > 0.86). Since the error equation depends on redistribution characteristics it was named here the redistribution coefficient, R RN a T a a / ) ln(3 2 1 (2-15) with i id s i i iK c b a) 1 () ( for i = 1, 2, 3 (2-16) where a, a and a strongly depend (adjusted R2 > 0.969) on the satura ted hydraulic conductivity (mm/h) of the soil for all soils te sted (Figure 2-5), and parameters bi, ci and di are listed in Table 2-5. Table 2-5. Parameters for th e redistribution coefficient, i bi ci di Adj-R2 1 4.2952 154.6101 -1.0 0.998 2 0.0020 -0.0010 0.5 0.988 3 -14.0032 -61.5429 -1.0 0.969 Figure 2-5. Observed and predic ted redistribution coefficient, parameters, a1, a2 and a3, versus saturated hydraulic conductivity, Ks

PAGE 38

38 During the simulation, the proposed redistributio n coefficient is calcula ted every time step using the appropriate NR and TR. The first time step in which a wetting front redistributes the change in water content is calc ulated using Equation (2-8) and the current water content, i.e. saturated water content for this first time step. This procedure is repeated thereafter for every time step within that redistribution period using the original GAR water content calculation. When there are multiple wetting fronts redistributing each wetting front i has its own NRi and TRi. Each wetting fronts NRi would correspond to the simu lation redistribution period it began redistributing in and its TRi would correspond to the time within that NRi. For instance, if the first redistribution peri od began at simulation time t = 10.0 hour, the corresponding NR1 would be 1 and the TR1 would be 0.0 hour fo r wetting front 1, WF1. If the next redistribution period began at simulation time t = 20.0 hour and there is a second wetting front, WF2, then the corresponding NR2 and TR2 would be 2 and 0.0 hour, respectively, while the corresponding NR1 and TR1 for WF1 would be 1 and 10.0 hour since it began re distributing in the first period and has been redistributing for 10.0 hours. Similarly, if a third wetting front, WF3, begins redistributing the same procedure is used. If any of the fronts merge while they are redistributing, the corresponding NRi and TRi of the merged front are those of wetting front above. Figure 2-6 is a graphical compar ison of the evolution of the re lative surface water content during the simulations for the same six USDA soil textural types, sand, sandy loam, silt loam, clay loam, sandy clay and clay, presented by O gden and Saghafian (1997). The GAR plot is a graph of the original methodology presented by Ogden and Saghafian (1997), whereas, the MGAR plot is a graph of the modified methodol ogy utilizing multiple wetting front scheme and the redistribution coefficient. It can be obser ved, by visual inspecti on, that GAR diverges

PAGE 39

39 significantly from the numerical solution, whil e MGAR closely matches Richards solution. Figure 2-6. Soil surface relativ e water content versus time for Richards, GAR and MGAR solutions for 6 selected soils The goodness-of-fit of the entire simulation against the Richar ds results were evaluated using the Nash and Sutcliffe (1970) coefficient of efficiency (Ceff, see Appendix B for description) and the root mean squared error (RMSE, see Appendix B for description). The results for all four outputs of intere st are tabulated in Table 2-6. 0.2 0.4 0.6 0.8 1 1.2 1.4oSand MGAR Richards' GAR 0 10 20 30 40 50 60 70 80 90 100Rain Intensity (cm/h) Sandy Loam MGAR Richards' GAR 0.2 0.4 0.6 0.8 1 1.2 1.4oSilt Loam MGAR Richards' GAR 0 5 10 15 20 25 30Rain Intensity (cm/h) Clay Loam MGAR Richards' GAR 0.2 0.4 0.6 0.8 1 1.2 1.404896144192240288336 Time(h)oSandy Clay MGAR Richards' GAR 04896144192240288336 Time(h) 0 2 4 6 8 10 12 14Rain Intensity (cm/h) GARMGAR Richards' Clay

PAGE 40

40 Table 2-6. Coefficient of effi ciency and root mean squared e rror (in parentheses) results of simulations comparing GAR and MGAR against Richards solution (refer to Appendix for nomenclature) o 0-50 -100 F Soil # Soil texture GAR MGARGAR MGAR GAR MGAR GAR MGAR 1 Sand -3.659 (0.150) 0.975 (0.011) -2.463 (0.125) 0.888 (0.023) -1.344 (0.098) 0.385 (0.050) 1.000 (2.184) 0.998 (6.474) 2 Loamy sand -2.675 (0.105) 0.977 (0.008) -1.265 (0.078) 0.560 (0.034) -0.301 (0.053) -1.020 (0.065) 0.996 (2.912) 0.994 (3.831) 3 Sandy loam -1.273 (0.064) 0.980 (0.006) -0.206 (0.044) 0.637 (0.024) 0.886 (0.025) 0.626 (0.045) 0.992 (2.049) 0.996 (1.559) 4 Loam -0.598 (0.047) 0.978 (0.006) 0.617 (0.028) 0.822 (0.019) 0.975 (0.015) 0.872 (0.034) 0.998 (0.677) 0.995 (1.041) 5 Silt loam 0.364 (0.032) 0.971 (0.007) 0.931 (0.017) 0.954 (0.013) 0.982 (0.015) 0.962 (0.022) 1.000 (0.219) 0.925 (1.005) 6 Sandy clay loam 0.219 (0.022) 0.935 (0.006) 0.862 (0.011) 0.955 (0.006) 0.961 (0.011) 0.957 (0.011) 0.998 (0.244) 0.997 (0.331) 7 Clay loam 0.533 (0.018) 0.961 (0.005) 0.937 (0.009) 0.978 (0.005) 0.968 (0.010) 0.978 (0.008) 1.000 (0.103) 0.994 (0.375) 8 Silty clay loam 0.795 (0.013) 0.988 (0.006) 0.961 (0.009) 0.985 (0.006) 0.972 (0.011) 0.979 (0.009) 0.998 (0.265) 0.987 (0.608) 9 Sandy clay -0.002 (0.014) 0.939 (0.004) 0.628 (0.008) 0.923 (0.004) 0.870 (0.008) 0.883 (0.007) 0.996 (0.177) 0.995 (0.209) 10 Silty clay 0.846 (0.009) 0.991 (0.003) 0.939 (0.009) 0.993 (0.003) 0.969 (0.007) 0.968 (0.007) 0.997 (0.192) 0.986 (0.401) 11 Clay 0.759 (0.009) 0.989 (0.002) 0.883 (0.008) 0.984 (0.003) 0.941 (0.006) 0.939 (0.006) 0.998 (0.106) 0.980 (0.322) For all soil textural classifications the coefficient of efficiencies, Ceff, for surface water content, o, ranged from -3.659 to 0.846 for GAR a nd 0.935 to 0.991 for MGAR, showing the vast improvement obtained using the proposed re distribution coefficient across all soil types, especially for the sandy soils. Th e cumulative infiltrati on errors remained similarly low for both methods. The results of the average water content for the two layers, 0-50, 50-100, show an improvement in the prediction for th e top layer for all soil types. In addition to the significant improvement to the surface water content and average water content of the top layer, the predictions of the lower layer are maintained along the same result s of the original method. The

PAGE 41

41 largest errors in both layers occurred in the coarse soil textures due to the rapid drying at the soil surface related to the high hydraulic conductivities and the GA assumption of the flat advancing front (piston). An additional benefit of using the multiple redistributing wetting front scheme over the original scheme can also be seen by comparing the shapes of the water content profiles (Figure 2-7). 0 10 20 30 40 50 60 70 80 90 0.20.250.30.350.4 Water Content (cm3/cm3)Depth(cm)Richards' MGAR GAR Figure 2-7. Comparison of GAR versus MGAR to describe soil water content profile for clay soil In this case, MGAR has developed four wetti ng fronts while GAR has on ly developed two. The improvement obtained with the multiple redist ributing fronts is related to the integration error caused by approximating the area under a curve us ing rectangles of fin ite width. From the concept of Riemanns sum of integrals, we know that using narrower r ectangles, and therefore more rectangles, yields a better approximation. Therefore, the MGAR scheme, which allows for

PAGE 42

42 a greater number of rectangular fronts than the GAR scheme, better approximates the actual wetted profile. Summary and Conclusions When formulating a simplified but physically based soil water simulation model, it is desirable that both the infiltration and redistribution component of the model be based on the same underlying assumptions. The Green-Ampt w ith Redistribution (GAR) method meets this requirement and is able to simulate the continuo us infiltration and soil water redistribution cycle for multistorm time series. The method requires few parameters, is computational efficient, and robust. However, the original results show th at for soils with larger saturated hydraulic conductivity values the error in the prediction of surface water content is significant, and also that when the method is applied to a long pe riod of uneven storms there is an increasing divergence from actual surface water conten t after subsequent redistributions. Modifications to the original GAR method we re developed and tested for improving the estimation of soil water infiltration and redistribution in a wide variety of soils. The first modification expands the number of redistributing wetting fronts from one to any number, providing a better physical repres entation to predict the averag e water content for a desired observation soil layer. The second modification c onsisted of the application of a correction factor, the redistribution coefficient derived from the error analysis of the method as a function of redistribution number (NR), redistribution time (TR) and saturated hydraulic conductivity (Ks). A comparison of a nume rical solution of Richards equation against the GAR method and the modified GAR (MGA R) method presented showed th at the latter is markedly better at predicting the surface water content while maintaining good cumulative infiltration predictions. In addition, the abil ity of MGAR to predict the aver age water content for a desired

PAGE 43

43 observation soil layer was also found to provide good results against Richards numerical solution values. While the MGAR approach is limited in that it assumes homogeneous soil and a rectangular wetting profile, and does not consider hysteresis or water table effects, it provides an accurate description of water infiltration and redistribution in unsaturated soils. Among the advantages of the method, besides its simplic ity and computational efficiency set against Richards solution, are its physical basis (set against other more empirical methods), robustness, and its ability to provide good results for inf iltration and redistribution for uneven multistorm precipitation time series simulations.

PAGE 44

44 CHAPTER 3 COMPARISON OF SIMPLIFIED POINT SOURCE ALGORITHMS WITH THE 3DIMENSIONAL GREEN-AMPT INFILTRATION METHOD Introduction Intensive bed management systems (point s ource) have become in creasingly popular for agricultural production in Florida. Through their plastic-bed drip systems, these mechanisms can provide an increase in water appl ication efficiency and a decrease in nutrient leaching, all while delivering desirable yields. There are increased benefits provided to sandy soils, seen throughout Florida, which have high hydraulic conductiviti es and low water-holdi ng capacities. Modeling of these systems in particular is therefore us eful in assessing wate r quality impacts by state agencies and assisting in the BMP sele ction process for individual farmers. One such modeling tool is the DSSAT system (Jones et al., 2003). The DSSAT program has been used for a variety of applications. R ecently, however, it has been found to be limited in its ability to accurately model soil water movement for point source systems such as plastic-bed management systems (McKinnie et al., 2003). It is be lieved that this shortc oming is due, in part, to the fact that DSSAT simulates soil water flow as a vertical 1-D process. Furthermore, studies have shown that in actuality the soil water flow path is quasi-spherical in shape and therefore requires a 3-dimensional description (Warrick 1974; Clark et al., 2006; Healy and Warrick, 1988). Several methods for simulating infiltration in point source systems have been developed based on Richards (1931) equati on for unsaturated flow. Analyt ical solutions to Richards equation have been developed, steady state solutions (Parlange, 1972; Philip, 1971; Raats, 1971; Wooding, 1968), non-steady linearized solutions (Warrick, 1974; Warrick and Lomen, 1976) and a quasi-linearized approx imation solution (Philip, 1984a), with good results however they are not general. Numerical solutions, such as the fini te difference techniques of Bresler et al. (1971),

PAGE 45

45 Brandt et al. (1971) a nd Narasimhan and Witherspoon (1976) a nd the finite element technique of Taghavi et al. (1984) showed good results compared to laboratory results for infiltration under a point source, however, they are generally com putationally intensive, require extensive soil property data, and involve parame terization and fine spatial and temporal discretization which can result in errors (S kaggs and Khaleel, 1982; Ogden and Sa ghafian, 1997). Lastly, empirical models based from a solution of Richards equation (Healy and Warrick, 1988; Schwartzman and Zur, 1986) and approximate models (Ben Asher et al., 1986; Ro th, 1974) have been proposed with good results, but only in limited applications. For this reason, approximate physically-based models are, ther efore, desirable. One such model is the 3-dimensional GreenAmpt (3DGA) method (Chu, 1994). The 3DGA method is based on the same ba sic assumptions and methodology as the original Green-Ampt (1911) model, but has been formulated to simulate the quasi 3-dimensional soil water flow path formed under point source sy stems. In order for this methodology to be valid, the water content of the wetting front needs to be at or very near saturation meaning that the emitter discharge rate needs to equal the aver age infiltration capacity rate. This assumption makes sense for drip irrigation systems since quite often drip irrigation systems are designed so that emitter discharge rate equals infiltration cap acity in order to optimize results. A drawback, however, is that it has not been widely tested and should, therefore, be evaluated further to determine its validity. The purpose of this paper is to review the ability of the 3-dimens ional Green-Ampt method to accurately describe the soil water infiltration phase in inte nsive bed management (point source) systems. The initial results were eval uated by comparing them to results from published measured data, an analytical solution ba sed on Richards equation (Philip, 1984a) and two

PAGE 46

46 additional point source models, Effective Hemi sphere model (Ben-Asher et al., 1986) and Generalized Solution method (Heal y and Warrick, 1988). The motivation for this work comes from the desire to expand the soil water capa bilities of DSSAT for plastic bed management systems used by producers in Florida. Description of Point Source Methods Selected Methods Based on Richards Equation Analytical Solution: Philip Time of Travel Method An analytical solution to Richards equati on for the point source case was developed by Philip (1984a) to describe ow from a point source where a 2dimensional form of Richards equation was linearized using the hydraulic conduc tivity function ( rst proposed by Gardner (1956)): h se K h K ) ( (3-1) where Ks is the saturated hydr aulic conductivity and is the reciprocal of the macroscopic capillary length scale (White and Sully, 1987). The macrosc opic capillary length scale is a hydraulic conductivity weighted sca ling factor that relates the ma tric potential to the hydraulic conductivity (Philip, 1985). It can also be though t of as the mean height of capillary rise above a water table (Raats and Gardner, 1971). A source of strength Q located at (s, z) = (0, 0) is used as a modified boundary condition. The solution of Philip (1984a) has been used by Revol et al. (1997a,b) to describe soil water ow from surface disc sources and by Thorburn et al. (2003) to describe soil water ow from surface and buried trickle emitters and found to provide g ood predictions of the radius and depth of the unsaturated wetted zone. For a surface source, T is related to the wetted perimeter by Philip (1984a, Eq. 44):

PAGE 47

47 T ( R ,) exp R (1 cos)R21 1 2 cos R 1 cos R (1 cos)ln(1 cos) ln 1 cosexp R (cos 1)1 cos L 1 cosexp R (cos 1) L (1 cos) (3-2) where r, are the spherical polar coordinates (s = r sin z = r cos ), R = r/2, L(x) is the dilogarithm de ned by: L ( x ) ln x x 1 1 xdx (3-3) where x is a dummy variable a nd the dimensionless time T is given T 3Qt 16 (3-4) where t is time and is the average change in volumetri c water content behind the wetting front (Revol et al., 1997a; Cook et al., 2003). The average change in volumetric water content can be calculated as i avg (3-5) where avg is the average volumetric water content and i is the initial water content. However, Cook et al. (2003) suggested usi ng an alternative calculation for the average change in water content First, the value of the water content at the wetting front, f, is calculated as the value of when Ks is 1 mm day-1. Next, the alternative averag e change in water content, for Philips method is calculated as i f s 2 (3-6) where s is the saturated water content.

PAGE 48

48 Lastly, Philip (1992) suggested that the assumption of point source will introduce significant errors if 25 4 sK Q (3-7) Generalized Solution Infiltration Model Another alternative model for simulating the soil water movement in intensive bed management systems was described by Healy and Warrick (1988). Th e model was found to provide good results when compared to experimental data as well as to a numerical solution. In this model, Healy and Warrick (1988) began by substituting dimensionless variables into Richards equation. This equati on was then solved numerically w ith a finite-difference computer program for a variety of soil types and volumetric inflow rates. The results were then fit to empirical equations, which define three locations of the wetting front and the volume of soil water that was wetted at a specified time. The equations, in terms of dimensionless time are: 2 / 3 2 / 1 *1 Ct Bt At D (3-8) 2 / 3 2 / 1 *2 Ft Et Dt D (3-9) 2 / 3 2 / 1 *3 It Ht Gt D (3-10) 2 / 3 2 / 1 *Lt Kt Jt V (3-11) where D1 = dimensionless distance from origin to wetting front along the vertical D2 = dimensionless distance from origin to wetting front along the diagonal D3 = dimensionless distance from origin to wetting front along the horizontal V* = dimensionless wetted volume A L = coefficients dependent on n and Q* (refer to Table 1 in Healy and Warrick, 1988)

PAGE 49

49 The coefficients are based on n and Q* sK Q Q/ *2 (3-12) where and n refer to the van Genuchten (1980) hydr aulic conductivity curve parameters and Q is the volumetric flux. Furthermore, t* is defined by ) /( *r s st K t (3-13) In the procedure, Q* and the dimensionless tim es (t*) of interest are calculated. The appropriate coefficients for Eqs. (3-8) (3-11) are then selected from Table 1 in Healy and Warrick (1988). For each dimensionless time, Eqs. (3-8) (3-11) are used to calculate the three dimensionless wetting front distances and the dimensionless wetted volume. Lastly, the dimensionless distances and volume are tran slated to real distances by dividing by and 3, respectively. The value of using this type of model is th at it provides simple calculations for soil water movement, while also providing good results when compared to experimental and numerical data. Alternative Physically-Based Simplified Models Approximate Method: 3-Dimensional Green-Ampt Soil moisture flow can best be described by combining Darcys Law (1856) with the continuity equation, resulting in a theoretical partial different ial equation known as Richards equation (1931). While Richards equation can produce ac curate results, there are drawbacks to using it. Richards equation does not have a gene ral analytical solution, and therefore must be solved numerically. The numerical solutions of Richards equati on are computationally intensive, require extensive soil property data and generally i nvolve fine spatial and temporal

PAGE 50

50 discretization. For this reason approximate, physically base d approaches have been developed for modeling infiltration a nd soil water redistribution. Under point source emitters a small ponded ar ea on the soil surface can occur. This ponded area is similar to a hemispherical cavity which can be considered the source of water flow to the soil profile (Figure 3-1), having unifo rm flux from the surface of the cavity. Several methods have been developed, with good result s, using this assumption (Raats, 1971; Parlange, 1973; Warrick, 1974). One such model which uses this assumption is the 3-dimensional GreenAmpt (3DGA) model (Chu, 1994). Figure 3-1. 3-dimensiona l Green-Ampt wetting front In addition to the cavity sour ce, the 3DGA model assumes Water flows in a radial direction from the cavity source Water is assumed to enter the soil as a sharp wetting front which separates a saturated wetted zone from an unwetted zone The soil is assumed to be deep and homogeneous The soil is assumed to be at a uniform initial water content The sharp wetting front is of particular intere st. It comes from studies which have shown that point source systems exhibit an average wate r content within the wetted area which changes very little in a given time pe riod (Ben-Asher et al., 1986). This same concept is related to a

PAGE 51

51 sharp wetting front in that there is an infiltrated water content in the wetting front and beyond the soil remains at initial water content. From the principle of conservation of mass, th e flux density of the wetted front is inversely proportional to the square of th e radial distance, so that 2 CR f (3-14) where f is the flux density; C is the proportional constant; and R is the radial distance from a point along the wetted front to the so urce center. In addition, the flux density can be obtained by applying Darcys law (1856), such that dR dh K fs (3-15) where Ks is the saturated hydraulic conductivity of the soil and h is the total energy head. Substituting f in Eq. (3-14) into Eq. (3-15), rearranging, and integrating from r = ro to R and h = 0 to (Sav + RsinB) results in ) sin ( ) (1 1B R S K R r Cav s o (3-16) where Sav is the average suction at the wetting front; ro is the radius of th e hemispherical cavity source; and B is the angle between the ground surface and wetted radius. Substituting C from Eq. (3-16) into Eq. (3-14) de scribes the equation for calculating the flux density at any point along the wetted boundary as 2) sin ( R r R B R S R r K fo av o s (3-17) Applying the principle of conservation of mass R r R B R S r K dt dR Mo av o s) ( ) sin ( (3-18) where M is the water content difference between the inside and outside of the wetting front.

PAGE 52

52 Rearranging Eq. (3-18) gives dt M r K dR S B R r R Ro s av o sin ) ( (3-19) Integrating Eq. (3-19) provides an equation for describing the shape of the wetting front as t M r K B S B r S B R B S r B S B S r r R r Ro s av o av av o av av o o osin sin sin ln sin sin sin ) ( ) ( 2 12 2 (3-20) Given any angle from the ground surface, 0 < B < the wetted radius can be calculated from Eq. (3-20). In particular, if B = /2, sin B = 1, and the calculated R would give the maximum depth of the wetting front (R1) as t M r K S r S R S r S S r r R r Ro s av o av av o av av o o o 1 ln ) 1 ( ) 1 ( 2 12 2 (3-21) Since Eq. (3-20) cannot be used to calcul ate the wetted radius at the ground surface, B = 0 or so that sin B = 0, an additional equation needs to formulated. If sin B = 0, Equation (3-19) becomes dt M r K dR S R r R Ro s av o ) ( (3-22) Integrating Eq. (3-22) provides the equation for calculating th e radius of the wetting front at the ground surface radius (R0) as t M r S K r R r r Ro av s o o o ) 0 ( 2 ) 0 ( 3 12 2 3 3 (3-23) Eqs. (3-20) and (3-23) were solved for R and R0 for set times of t, using a program written in FORTRAN.

PAGE 53

53 Among the advantages to this method are its simplicity, computational efficiency and its minimal number of parameters which can be reckone d from soil textural clas sifications (Rawls et al., 1982, 1983). Effective Hemisphere Infiltration Model For short times, gravity effects can be neglec ted and it can be assumed that water flow has radial symmetry. This idea is similar to the assumption that was made for the 3DGA hemispherical cavity source. Several models have been developed using this assumption, including the model described by Ben-Asher et al. (1986). This model was shown to have good agreement when compared with field measuremen ts and other models (Ben-Asher et al., 1986). The Ben-Asher et al., model is based on the same assumptions as the 3DGA model with the added assumptions of negligible gravit y effects and axial sy mmetry (Figure 3-2). Figure 3-2. Hemisphe rical wetting front Applying the assumption of axial symmetr y to Richards equation and neglecting evapotranspiration effects yields:

PAGE 54

54 oI dr r dt d d 2 ) ( 22 1 00 (3-24) where 2 Io is the discharge from a point source; = cos is the angle between the ground surface and the radius R; and is the soil water content. Relating the increase in soil water content to the amount of water added up to the wet volume at time t, Q(t), gives: dr r t r d t Qi 1 00 2] ) ( [ 2 ) ( (3-25) The continuity equation (Eq. 3-24) can be written in terms of Q(t) as: oI dt dQ 2 (3-26) The assumption of a sharp wetting front defines ) (i avg (3-27) where avg is the average water content within the wetted profile and i is the initial water content of the soil profile. An effective radius, R(t), of the wet hemisphere is then defined as: ) ( ) ( 3 23t Q t R (3-28) Taking the derivative of Eq. (3-28), and substituting Eq. (3-26) yields: oI dt dR t R ) (2 (3-29) Rearranging and integrating yields: ) ( 0 2t R oI dr r t (3-30) Evaluating the integral yields: ) 3 ( ) (3oI t R t (3-31)

PAGE 55

55 Or equivalently 3 1] 3 [ ) ( t I t Ro (3-32) The virtue of this method is its mathematical simplicity while keeping its physical basis. In addition, as mentioned earlier, it was shown to have good agreement with field experiments and other numerical models (Ben Asher, et al., 1986). In absence of gravity the flow would be hemispherical in nature. At small t pressure capillarity dominates over gravity pr oviding the hemispherical shape. As t increases, however, the drop in the gravitational potential increases, thereby, perturbing it from the hemispherical shape. Since this model assumes that lateral a nd vertical movement are approximately the same, it would be necessary to use a nother model, such as the 3DGA model, to describe the wetted volume for larger times. Comparison Verification of Point Source Models The performance of the 3DGA model described in this report was compared against the three alternative models presented in this report: Philip, Effective Hemisphere (EH) and Generalized Solution (GS) models, and measured data from a published la boratory experiment. Two separate experiments were chosen to test the generality of the system. The first experiment, described by Angelakis et al. (1993), used a wooden soil container 1 m2 and 50 cm deep with a water supply reservoir and an emitter. In order to satisfy the assumption that a circular source of water was maintained at the soil surface, the emitter was supported on a glass tube placed in the center of the soil container. The soil used was Yolo Sand, from the top 30 cm of a field profile. Th e sand was passed through a sieve and air dried to a water content 0.0372 cm3cm-3. Water was applied at a rate of 9,000 cm3h-1 until the wetting

PAGE 56

56 front approached within 10 cm of the soil container walls. At six predetermined times, the soil profile was sampled with a sampling tube at va rious depths and distances from the source. The source radius at the surface was measured as 8 cm for the theoretical calculations (Table 3-1). Saturated and resi dual water content measured 0.44 cm3cm-3 and 0.1 cm3cm-3, respectively, and the saturate d hydraulic conductivity was calculated to be 5.8 cmh-1. The fitted value of = 0.28 cm3cm-3 was used for the theoretical calculations. For the Generalized Solution model (Healy and Warrick, 1988), the parameters and n were calculated to be 0.183 cm-1 and 2.78, respectively, from the equation m n r s rh h ) ( 1 ) ( ) ( (3-33) where m = 1 1/ n Lastly, the suction at the wetted front for th e 3DGA model was calculated using Eq. (3-33) as well, and found to be Sav = 3.98 cm. Table 3-1. Flow rate and soil parameters used in Philip, Generalized Solution, 3DGA and Effective Hemisphere simulations (r efer to Appendix for nomenclature) Soil Q (cm3h-1) ro (cm) s r Ks (cmh-1) Sav (cm) (cm-1) n Yolo sand 9000.0 8.0 0.440.100.2805.8 3.980.183 2.78 Manawatu fine sandy loam 360.0 0.4 0.450.050.1720.4 368.000.028 3.55 The second experiment, described by Clothi er and Scotter (1982) was conducted in a rectangular box with a 200 mm by 200 mm horizontal surface ar ea and a depth of 300 mm. The box was packed with Manawatu Fine Sandy Loam. Water was applied in one corner of the box at a rate of 360 cm3h-1, resulting in a quarter-hemisphere cavity in that corner. The cavity has a radius of approximately 0.4 cm that remained filled with water throughout the experiment. A moisture retention curve was used to fit values of n = 3.55, = 0.028 cm-1, s = 0.45 cm3cm-3

PAGE 57

57 and r = 0.05 cm3cm-3. The saturated hydraulic conductivity for the theoretical models was estimated to be Ks = 0.4 cmh-1 from Healy (1987) (Table 3-1). For the comparison, 3 outputs were selected: maximum wetted depth ( R1 ), maximum wetted radius at the ground surface ( R0 ) and wetted volume ( V ). Studies have shown that the wet bulb does not form a perfect circle. Instead the shape can be bett er approximated by an ellipse (Hachum et al., 1976); therefore, the wetted volumes for the measured and the 3DGA results were calculated by first fitting the points to an ellipse (Figure 33) using the equation of an ellipse 1 ) ( ) (2 2 2 2 b k y a h x (3-34) where x and y are the rectangular coordinates; ( h,k ) is the offset of the center of the ellipse from (0,0); a and b are the maximum distances from the center of the ellips e to the ellipse. Figure 3-3. Ellipse Next Eq. (3-34) is solved for x to get f(y) The wetted volume is then calculated as 1 02) (y ydy y f V (3-35) x y a (h,k) b

PAGE 58

58 The relative error for each output was then ca lculated, as well as graphs for visual inspection. Results and Discussion Results obtained for the Yolo Sand expe riment for the 3DGA, Philip and Effective Hemisphere models are compared to the published measured data in Tables 3-2 3-4. It should be noted that the Generalized Solution model is not included in the results for Yolo Sand. The Q* that was calculated for the gi ven inputs was 50.4, which is mu ch greater than the maximum value of Q* = 5.0 used in Table 1 of Healy and Warrick (1988) for the coefficients A-I used in Eq. (3-8) (3-11). Thus, it was not possible to calculate the wetting front locations or wetted volume. In addition, a comparison of the (Eq. 3-5) versus (Eq. 3-6) showed that the did not give better results, and in fact was worse in some cases Revol et al. (1997b) also found that gave acceptable results with the exception of some coarse soils. Therefore, the values were used for purposes of these comparisons. Table 3-2 shows that the E ffective Hemisphere model under predicted the maximum wetted depth, especially as time increased. This under prediction is most lik ely due to the effects of gravity, which the Effective Hemisphere (EH) model neglects. Conversely, the Philip model over predicts R1 This matches the results from Cook et al. (2003) for sandy soils. The authors propose that for these soils it is more accurate to consider a variable soil moisture value behind the wetting front, as opposed to the constant va lue normally considered. With the exception of the first, early time step, the 3DGA results for R1 match well with the measured data. Table 3-3 indicates that, in general, the Eff ective Hemisphere (EH) model over predicts the maximum wetted radius at the surface. This ove r prediction is likely due to the assumed axial symmetry. Conversely, th e Philip model under predicts R0 however, in general it was better at

PAGE 59

59 predicting R0 than R1 Overall, the 3DGA model does a better job predicting both R0 and R1 than the other models as seen in Figure 3-4. Table 3-2. Results for Yolo Sand maximum depth of wetting pattern ( R1 ) Time(h) Measured (cm) 3DGA (cm) Philip (cm) Effective Hemisphere, EH (cm) 3DGA % Philip % EH % 0.167 12.473 16.464 17.681 13.678 -32.002 -41.755 -9.664 0.500 20.340 22.306 27.808 19.727 -9.667 -36.717 3.009 0.917 27.173 27.104 36.017 24.145 0.256 -32.545 11.146 1.500 32.134 32.171 44.623 28.452 -0.114 -38.864 11.458 2.167 38.459 36.821 52.497 32.162 4.258 -36.502 16.372 3.333 47.518 43.435 63.668 37.129 8.593 -33.987 21.865 Table 3-3. Results for Yolo Sand maximum wetted radius on ground surface ( R0 ) Time(h) Measured (cm) 3DGA (cm) Philip (cm) Effective Hemisphere, EH (cm) 3DGA % Philip % EH % 0.167 11.772 12.474 10.650 13.678 -5.961 9.534 -16.189 0.500 14.021 15.182 14.142 19.727 -8.276 -0.861 -40.697 0.917 18.344 17.241 16.382 24.145 6.016 10.697 -31.619 1.500 21.114 19.289 18.378 28.452 8.644 12.958 -34.754 2.167 25.093 21.075 19.977 32.162 16.010 20.388 -28.173 3.333 28.900 23.490 21.965 37.129 18.723 23.998 -28.471 0 5 10 15 20 25 30 35 40 01234 Time (h)Wetted Surface Radius, R0 (cm) Measured 3D-GA Philip EH 0 10 20 30 40 50 60 70 01234 Time (h)Maximum Depth, R1 (cm ) Measured 3D-GA Philip EH Figure 3-4. Maximum depth, R1 (cm), and wetted surface radius, R0 (cm), over time for the measured data, the 3-dimensional Green-Am pt, 3DGA, model, the Philip model, and the Effective Hemisphere, EH, model for Yolo Sand

PAGE 60

60 Figure 3-5 depicts the change in the wet bulb ra dii with time. By visual inspection, it can be seen that the 3DGA model does the best job at predicting the wet bulb shape. It is also significant to note that both the Philip and 3DGA model predict an elongated wet bulb shape which is expected in sandy soils. 0 10 20 30 40 50 60 70 010203040506070 R (cm)Z (cm) 3DGA Philip Effective Hemisphere Measured Figure 3-5. Wetting front advances for Yolo Sand The wetted volume, seen in Table 3-4, is over predicted by all three models for all times. Table 3-4. Results for Yolo Sand wetted volume ( V ) Time(h) Measured (cm) 3DGA (cm) Philip (cm) Effective Hemisphere, EH (cm) 3DGA % Philip % EH % 0.167 3620.147 6744.606 5357.469 5359.856 -86.308 -47.990 -48.056 0.500 8374.454 15191.269 16194.266 16079.567 -81.400 -93.377 -92.007 0.917 19150.950 25734.188 29506.369 29479.206 -34.376 -54.073 -53.931 1.500 30002.958 40934.667 48842.440 48238.700 -36.435 -62.792 -60.780 2.167 50717.389 58438.509 70453.237 69678.122 -15.224 -38.913 -37.385 3.333 83121.604 92984.406 109219.043107197.111 -11.866 -31.397 -28.964

PAGE 61

61 The over prediction in volume is partly due to the fact that the calculated wetted volume for the measured data is underestimated. The fitted equation for the measured data underestimated the deep curvature, resulting in an under prediction of the volume. Furthermore, it should be noted that the error in the wetted volume decreased over time for all models. Results obtained from the appl ication of the models to the Manawatu Fine Sandy Loam are presented in Tables 3-5 3-7. The Effective Hemisphere (EH) model, the 3DGA model and the Philip model do a fairly good job predicting the maximum wetted depth ( R1 ) (Table 3-5). However, with the exception of the first time st ep the Generalized Solution (GS) does a better job overall predicting R1 Table 3-5. Results for Manawatu Fine Sa ndy Loam maximum depth of wetting pattern ( R1 ) Time (h) Measured (m) 3DGA (m) Philip (m) EH1 (m) GS2 (m) 3DGA % Philip% EH % GS % 0.167 0.048 0.059 0.056 0.055 0.039 -23.47 -17.82 -15.1619.14 0.500 0.072 0.083 0.081 0.079 0.066 -15.06 -12.29 -9.63 9.20 1.000 0.096 0.104 0.104 0.100 0.091 -8.18 -8.18 -4.12 4.88 1.600 0.116 0.121 0.121 0.117 0.114 -4.55 -4.72 -0.97 1.78 2.750 0.153 0.145 0.147 0.140 0.146 4.99 3.55 8.14 4.40 6.000 0.208 0.188 0.193 0.182 0.206 9.77 7.17 12.65 0.98 9.667 0.257 0.220 0.228 0.213 0.252 14.36 11.29 17.19 1.93 1 Effective Hemisphere model; 2 Generalized Solution model Table 3-6 shows that all of the models over predict the ma ximum wetted radius at the surface ( R0 ). As opposed to the results of R1 the GS model is the worst at predicting R0 While the Philip model is the best at predicting R0 both the EH and 3DGA model do comparably well as seen in Figure 3-6. In addition, by visual in spection of Figure 3-7, we can see that they do a fairly good job of predicting the overall shape of wetting front.

PAGE 62

62 Table 3-6. Results for Manawatu Fine Sa ndy Loam maximum wetted radius on ground surface ( R0 ) Time (h) Measured (m) 3DGA (m) Philip (m) EH1 (m) GS2 (m) 3DGA % Philip% EH % GS % 0.167 0.050 0.058 0.055 0.055 0.047 -15.96 -8.96 -10.59 5.99 0.500 0.069 0.082 0.078 0.079 0.078 -19.83 -12.98 -15.70 -13.78 1.000 0.086 0.103 0.097 0.100 0.106 -20.01 -12.80 -16.29 -23.73 1.600 0.100 0.120 0.112 0.117 0.130 -20.69 -12.85 -17.53 -30.79 2.750 0.117 0.144 0.134 0.140 0.162 -22.75 -14.62 -19.83 -38.84 6.000 0.145 0.185 0.172 0.182 0.217 -27.93 -18.40 -25.38 -49.52 9.667 0.176 0.217 0.199 0.213 0.253 -23.06 -12.85 -20.85 -43.41 1 Effective Hemisphere model; 2 Generalized Solution model 0.00 0.05 0.10 0.15 0.20 0.25 0.30 024681012 Time (h)Wetted Surface Radius, R0 (m) Measured 3D-GA Philip EH GS 0.00 0.05 0.10 0.15 0.20 0.25 0.30 024681012Time (h)Maximum depth, R1 (m) Measured 3D-GA Philip EH GS Figure 3-6. Maximum depth, R1 (m), and wetted surface radius, R0 (m), over time for the measured data, the 3-dimensional Green-Am pt, 3DGA, model, the Philip model, the Effective Hemisphere, EH, model and th e Generalized Solution, GS, model for Manawatu Fine Sandy Loam

PAGE 63

63 0 0.05 0.1 0.15 0.2 0.25 0.3 00.050.10.150.20.250.3 R (m)Z (m) 3DGA Philip Effective Hemisphere Generalized Solution Measured Figure 3-7. Wetting front advances for Manawatu Fine Sandy Loam Lastly, the wetted volume, seen in Table 3-7, is in general over predicted by both the 3DGA model and the Effective Hemisphere model. Though, it should be noted that the error in the wetted volume decreased over time for the 3 DGA model just as it did for the Yolo Sand. The Philip model over predicts at ear lier times and under predicts at later times. Overall, the Generalized Solution did a good job predicting the wetted volume. Table 3-7. Results for Manawatu Fine Sandy Loam wetted volume ( V ) Time (h) Measured (m) 3DGA (m) Philip (m) EH1 (m) GS2 (m) 3DGA % Philip% EH % GS % 0.167 2.5E-4 4.3E-4 3.5E-43.5E-4 8.4E-5 -72.16 -42.10 -40.57 66.06 0.500 7.1E-4 1.2E-3 1.0E-31.1E-3 7.1E-4 -65.20 -43.32 -46.73 0.90 1.000 1.9E-3 2.3E-3 2.1E-32.1E-3 1.8E-3 -24.59 -10.07 -12.58 3.98 1.600 2.9E-3 3.7E-3 3.2E-33.4E-3 3.2E-3 -26.05 -10.39 -15.44 -9.14 2.750 5.7E-3 6.3E-3 5.5E-35.8E-3 5.9E-3 -10.05 2.58 -1.41 -4.64 6.000 1.3E-2 1.4E-2 1.2E-21.3E-2 1.4E-2 -5.59 6.94 1.82 -10.98 9.667 2.2E-2 2.2E-2 1.9E-22.0E-2 2.4E-2 1.72 14.39 8.34 -8.26 1 Effective Hemisphere model; 2 Generalized Solution model

PAGE 64

64 While the tabulated errors for the 3DGA, Philip and Effective Hemisphere models do not appear to give good predictions at early time steps, they are accep table after 1 hour of irrigation at this very low application rate. Summary and Conclusions Studies have shown that intensive bed mana gement systems (point source) have a soil water flow path that is quasi-spherical in shap e and therefore cannot be modeled accurately using the traditional 1-dimensional methods. Theref ore, a 3-dimensional form of the Green-Ampt infiltration model was compared to three establis hed alternatives for simulating infiltration for intensive bed management systems based on point source irrigation. The established models correspond to two main types of methods: a) those derived from Richards equation (Philips analytical solution to a quasi linear approximati on and a generalized solution to a dimensionless form of Richards equation), a nd b) an alternative physically-based simplified method (Effective Hemisphere method). The 3DGA model and Effective Hemisphere ar e specifically for cases in which design optimization is of primary concern; whereas, th e other models can be used in any scenario, however, each model does have its own strengths and weaknesses. A summary of each of the methods strengths and weaknesses ha s been included in Table 3-8. All methods were compared to measured data from two published experiments. While the 3DGA model is limited in that it assumes homoge neous soil and does not consider water table effects, the results show that the 3DGA model is a viable method for obtaining good predictions of wetting front patterns and we tting volume. Among the advantag es of the method, besides its simplicity and computational efficiency set agains t Richards solution, are its physical basis (set against other more empirical methods), robustnes s, and its ability to provide good results for infiltration for point source systems.

PAGE 65

65 Table 3-8. Strengths and weaknesses of each model Method Strengths Weaknesses 3-D Green-Ampt Physically based; Requires minimum inputs which are readily available; Good agreement along diagonal ( r = z ) line; Average of vertical and horizontal in good agreement Emitter discharge must equal average infiltration capacity; ro constant with time; assumes deep, homogeneous soil Philip Simple calculations for R0 and R1 ; Requires minimum inputs; Good agreement along diagonal ( r = z ) line Restrictions on applications with large ; constant with time Effective Hemisphere Good predictor for low application rates and early times; Simple; Requires minimum input Over predicts horizontal positions and under predicts vertical positions at long times; Neglects effects of gravity; Dependence on saturated water content Generalized Solution Good agreement for vertical positions and along diagonal ( r = z ) line; Calculations can be performed rapidly with minimal effort Applications limited to 0 5 5 1 n, 0 5 05 0 Q and 0 5 t ; Over predicts horizontal positions

PAGE 66

66 CHAPTER 4 DEVELOPMENT AND VERIFICATION OF EMITTER SUPPLY RADIUS FOR 3DIMENSIONAL GREEN-AMPT INFILTRATION Introduction Modeling of intensive bed management systems (p lastic mulch, drip irrigation) has gained increasing interest. The use of Richards equation (1931), while very accurate, can be computationally inefficient and requires extensiv e input data that, if av ailable, can lead to parameterization errors. Alterna tively, 1-dimensional approximate models have been used in the past, however, studies have shown that in actuality the soil water flow path is quasi-spherical in shape and therefore requires a 2/3-D description (Warrick, 1974; Clark et al., 2006; Healy and Warrick, 1988). With this in mind, it would be desirable to find a quasi-spherical model that is also an approximate physically-based model. One such model is the 3-dimensional Green-Ampt (3DGA) model (Chu, 1994). In the previous Chap ter (3), this model was compared to other quasi 3-dimensional point source models, includi ng two based from Richards equation, as well as published data, and found to provide good results. However, one drawback to this model is that the flow rate from the emitte r is implicit, in that it is bu ilt in the emitter supply radius, ro, parameter. Chu (1994) also assumes that the supply radius is a known parameter. An equation defining this supply radius was not included in the original development of the model and, therefore, would need to be determin ed in an alternative manner. One method for determining the supply radius is to directly measur e the saturated wetted radius that develops on the surface of the soil. While this would provide a good estimate, it is not practical in most applications and can be diffi cult to measure properly. In addition, there is no standard by which one can determine what is considered the supply ra dius versus the actual wetting front advancing through the soil. Therefore, there is s till a need for an equation for calculating the supply radius for use in the 3DGA model. Interestingly, a number of models

PAGE 67

67 have been developed that use the assumption of a supply radius (Philip, 1984b; Raats, 1971; Warrick and Lomen, 1976; Wooding, 1968; Parl ange, 1973; Warrick, 19 74), though, very few formulations for an equation describing th e supply radius have been attempted. One paper developed an equation for calcula ting the supply radius specifically for the 3DGA model (Sepaskhah and Chitsaz, 2004). Th e empirical equation was developed using multiple regression analysis, with data obtaine d by measuring different values of the supply radius for various soils (differing saturated hydra ulic conductivities) a nd varying emitter flow rates. However, the details of the methodology we re unclear and the equa tion did not appear to give good results. An alternative for calculating the supply radius is Philips equation (1969) which gives the minimum radius needed to accommoda te a given flow rate indefinitely. Clothier and Scotter (1982) compared Philips minimum radius against measured supply radii and found them to be similar. A drawback, however, is that the equation is parameter intensive. Therefore, an alternative equation for calculatin g the supply radius is needed. The purpose of this paper is to develop an equation for calculating the supply radius parameter in the 3DGA model that is a function of the emitter flow rate. Furthermore, the results of using the proposed equation within the 3DGA model will be compared to results from using the two other alternative methods developed (Sepaskhah and Chitsaz, 2004; Philip, 1969) within the 3DGA model. Point Source Infiltration 3-Dimensional Green-Ampt Infiltration Soil moisture flow can best be described by combining Darcys Law (1856) with the continuity equation, resulting in a theoretical partial different ial equation known as Richards equation (1931). While Richards equation can produce ac curate results, there are drawbacks to using it. Richards equation does not have a gene ral analytical solution, and therefore must be

PAGE 68

68 solved numerically. The numerical solutions of Richards equati on are computationally intensive, require extensive soil property data and generally i nvolve fine spatial and temporal discretization. For this reason approximate, physically base d approaches have been developed for modeling infiltration a nd soil water redistribution. Under point source emitters a small ponded ar ea on the soil surface can occur. This ponded area is similar to a hemispherical cavity which can be considered the source of water flow to the soil profile (Figure 4-1), having unifo rm flux from the surface of the cavity. Several methods have been developed, with good result s, using this assumption (Raats, 1971; Parlange, 1973; Warrick, 1974). One such model which uses this assumption is the 3-dimensional GreenAmpt (3DGA) model (Chu, 1994). Figure 4-1. 3-D Green Ampt wetting front In addition to the cavity sour ce, the 3DGA model assumes Water flows in a radial direction from the cavity source Water is assumed to enter the soil as a sharp wetting front which separates a saturated wetted zone from an unwetted zone The soil is assumed to be deep and homogeneous The soil is assumed to be at a uniform initial water content

PAGE 69

69 The sharp wetting front is of particular intere st. It comes from studies which have shown that point source systems exhibit an average wate r content within the wetted area which changes very little in a given time pe riod (Ben-Asher et al., 1986). This same concept is related to a sharp wetting front in that ther e is an infiltrated water conten t in the wetting front and beyond, the soil remains at initial water content. From the principle of conservation of mass, th e flux density of the wetted front is inversely proportional to the square of th e radial distance, so that 2 CR f (4-1) where f is the flux density; C is the proportional constant; and R is the radial distance from a point along the wetted front to the so urce center. In addition, the flux density can be obtained by applying Darcys law (1856), such that dR dh K fs (4-2) where Ks is the saturated hydraulic conductivity of the soil and h is the total energy head. Substituting f in Eq. (4-1) into Eq. (4-2), re arranging, and integrating from r = ro to R and h = 0 to ( Sav + RsinB ) results in ) sin ( ) (1 1B R S K R r Cav s o (4-3) where Sav is the average suction at the wetting front; ro is the supply radius of the hemispherical cavity source; and B is the angle between the ground surface and wetted radius R Substituting C from Eq. (4-3) into Eq. (4-1) descri bes the equation for calculating the flux density at any point alon g the wetted boundary as 2) sin ( R r R B R S R r K fo av o s (4-4) Applying the principle of conservation of mass

PAGE 70

70 R r R B R S r K dt dR Mo av o s) ( ) sin ( (4-5) where M is the water content difference between the inside and outside of the wetting front. Rearranging Eq. (4-5) gives dt M r K dR S B R r R Ro s av o sin ) ( (4-6) Integrating Eq. (4-6) provides an equation for describing the shape of the wetting front as t M r K B S B r S B R B S r B S B S r r R r Ro s av o av av o av av o o osin sin sin ln sin sin sin ) ( ) ( 2 12 2 (4-7) Given any angle from the ground surface, 0 < B < the wetted radius can be calculated from Eq. (4-7). In particular, if B = /2, sin B = 1, and the calculated R would give the maximum depth of the wetting front ( R1 ) as t M r K S r S R S r S S r r R r Ro s av o av av o av av o o o 1 ln ) 1 ( ) 1 ( 2 12 2 (4-8) Since Eq. (4-7) cannot be used to calculat e the wetted radius at the ground surface, B = 0 or so that sin B = 0, an additional equation needs to formulated. If sin B = 0, Equation (4-6) becomes dt M r K dR S R r R Ro s av o ) ( (4-9) Integrating Eq. (4-9) provides th e equation for calculating the ra dius of the wetting front at the ground surface radius ( R0 ) as t M r S K r R r r Ro av s o o o ) 0 ( 2 ) 0 ( 3 12 2 3 3 (4-10) Eqs. (4-7) and (4-10) were solved for R and R0 for set times of t using a program written in FORTRAN. In order for this methodology to be valid, the water content of the wetting front

PAGE 71

71 needs to be at or very near saturation meaning that the emitter discharge rate needs to equal the average infiltration capacity rate. This assumptio n makes sense for drip irrigation systems since quite often drip irrigation systems are designed so that emitter discharge rate equals infiltration capacity in order to optimize results. Source Radius Sepaskhah and Chitsaz (2004) Equation In order to validate the 3DGA method desc ribed by Chu (1994), Sepaskhah and Chitsaz (2004) developed an equation for ca lculation of the supply radius, ro. The source radii of various soils, having different satura ted hydraulic conductivities, Ks, for different emitter discharges, Q were measured. A multiple regression analys is was then used to obtain an equation for ro as a function of Ks and Q and found to be Q K rs o 9 67 1196 1 45 (4-11) with a coefficient of determination, r2, of 0.61, where Ks has units of mms-1 and Q has units of mm3s-1. While the graphical results provided in the pa per appear to give good results, it is not possible to verify this due to the fact that so me of the input data are missing. To test the applicability of this equation, it was compared to published data from an experiment described by Angelakis et al. (1993). Water was applied at a rate of 2,100 cm3h-1 to a clay loam soil. At six predetermined times, 55, 170, 350, 590, 950 and 1545 minutes, the soil profile was sampled at various depths and distances from the source. Saturated and residual water content measured 0.52 cm3cm-3 and 0.28 cm3cm-3, respectively, and the satu rated hydraulic conductivity was calculated to be 0.85 cmh-1. The fitted value of = 0.36 cm3cm-3 was used for theoretical

PAGE 72

72 calculations. The suction at the wetted front for the 3DGA model was calculated to be Sav = 11.82 cm. Using the above data, the Sepaskhah and Chitsaz (2004) ro is calculated to be 3,965 cm. From this extremely large value alone we can see that this ro will not provide acceptable results. Furthermore, the supply radius was measured to be approximately 8 cm which is drastically smaller than the calculated value from Eq. (411). Lastly, when used in the 3DGA model with the above data and compared to the published da ta, the Nash and Sutcliff e (1970) coefficient of efficiencies for the ground surface wetted radius, R0 and the vertical wetted depth, R1 are 148420.000 and -524.64, respectively. Similar results were obtained for additional cases; therefore, this method for calculating the source radius for use in the 3DGA model has been excluded as a viable option. Philip Equation Before Chu developed his 3DGA model, Philip (1969) developed a steady-state absorption solution in which the minimum cavity radius need to accommodate a given Q indefinitely is calculated as 1 min2 s iDd Q ro (4-12) where D is the diffusivity. Diffusivity can be expressed by an exponential function of the form ) exp( b a D (4-13) Using the scaling technique from Brutsaert (1979), a and b are defined as 2 2) /( )] /( exp[i s i s iS a (4-14) ) /(i sb (4-15)

PAGE 73

73 where S is the sorptivity, s and i are saturated and initial wate r content, respectively, and and are mutually dependent constants. The relationship between and proposed by Brutsaert (1979) is 1 2) 1 2 /( ) 5 0 5 0 ( 1 / ) 1 2 ( M e e (4-16) where M (-0.5,0.5,) is the confluent hypergeometric func tion, tabulated by Abramowitz and Stegun (1964). Substituting Eq. (4-13) into Eq. (4-12) and integrating yields 1 min) exp( ) exp( 2 i s ob b a Qb r (4-17) Initial testing of this calculation for the supply radi us parameter in the 3DGA model, shows that it provides good results for some cases but provides poor result s in other cases. Proposed Supply Radius Equation Another drawback to Eq. (4-17) is that it re quires more parameters than the 3DGA model. These additional parameters may not be known or have uncertainty, which can increase parameterization errors and thereby lead to a redu ction in the accuracy of the model. It should also be noted that one of the benefits to usi ng a simplified approximation solution, such as the 3DGA model, is the minimal number of parameters Therefore, the next question would be can we simplify Philips Equation? Substitu ting and rearranging components allowed a simplification of Eq. (4-17). In order to simplify Philips Equation (4 -17) it was necessary to breakdown all the components, including the sorptivity paramete r. Philip (1969) computed sorptivity as ) ( 22 i s av sS K S (4-18)

PAGE 74

74 Eqs. (4-14), (4-15) and (4-18) are then substitu ted into Eq. (4-17). Eq. (4-17) can then be rearranged and reduced to a simplified form 1 12 av s simplified oS K Q r (4-19) where is 1 ) exp( 2 (4-20) Since and are mutually dependent constants, Eq. (4-19) is simply a function of Q Ks, Sav and a constant. Furthermore, Re ichardt et al. (1972) proposed that is a universal constant where = 8. By using Eq. (4-16), is calculated to be 1.44 x 10-3, and by using Eq. (4-20), is calculated as 0.932. While we have successfully simplified Philips Equation, there is st ill the issue of poor results in some cases. Therefore, using the simplified form of Philips Equation as a starting point, can we come up with a similar equa tion that will provide better results? In order to obtain a similar equation to the Philip (1969) supply radius equation a Levenberg-Marquardt (LM) (Press, 1996) optimizati on method was used in combination with the 3DGA model. First, a numerical solution of Richards equation was used to obtain R0 and R1 s for the 11 USDA soil textural classifications (T able 4-1). The Richards solution does not explicitly output R0 and R1 values, therefore, these wetting front locations must be calculated from the water content data. The water content used for defining the wetting front location is an arbitrary choice due to the fact that in multiple dimensions the area behind the wetting front does not have a uniform value (Healy and Warrick, 19 88). Similar to a methodology used by Healy and Warrick (1988), the wetting front for the Rich ards solution was assumed to be defined by the set of points such that Wwf = 1.25 Wfc, where Wwf and Wfc are defined by

PAGE 75

75 ) /( ) (r s r wf wfW and ) /( ) (r s r fc fcW (4-21) where wf and fc are the wetting front and field cap acity water content, respectively. Within the LM procedure, the saturated hydraulic conductivity, Ks, and supply radius, ro, are optimized to give the best Nash and Sutc liffe (1970) coefficient of efficiencies for R0 and R1 for a given suction at the wetting front, Sav, and flow rate, Q The Sav is then varied from 10 to 150 cm in 10 cm increments and the resulting optimized Ks and ro found. This same procedure is repeated for two additional flow rates, for a total of 3 flow rate s (0.5, 0.75 and 1.0 Lh-1). This process is used to prov ide a range of values for all the pa rameters. A non-linear least-squares curve fitting search procedure (TableCurve 3D, SYSTAT Inc., Richmond, CA) was used to fit the data to a proposed supply radi us equation similar in form to the Simplified Philip Eq. (4-19). Verification of Supply Radius Equations The performance of the Simplif ied Philip and proposed supply radius equation presented in this report is compared with a numerical solu tion of Richards (1931) equation. The HYDRUS2D (H2D) (Simunek et al., 1999) program was used in this comparison. The governing equations are solved numerically using a Galerkin type lin ear finite element method applied to a network of triangular elements. H2D has several options for the parameterization of the unsaturated soil hydraulic properties, including Brooks and Corey (1964) and van Genuchten (1980). Eleven soil types from the USDAs soil textural classifications were selected (Table 4-1). All the profiles were considered homogeneous, isotr opic and of semi-infinite depth. Each soil is assumed to have an initial water content equal to the wilting point water content given in Table 4-1.

PAGE 76

76 Table 4-1. Soil textures and hydraulic parameters used in 3DGA simulations (refer to Appendix for nomenclature) Soil # USDA texture s 1 r 1 wp 1 hb 1 (cm) Ks 1 (cm/h) Sav 2 (cm) 1 Sand 0.417 0.020 0.033 7.26 0.694 23.56 9.62 2 Loamy sand 0.401 0.035 0.055 8.69 0.553 5.98 11.96 3 Sandy loam 0.412 0.041 0.095 14.66 0.378 2.18 21.53 4 Loam 0.434 0.027 0.117 11.15 0.252 1.32 17.50 5 Silt loam 0.486 0.015 0.133 20.79 0.234 0.68 32.96 6 Sandy clay loam 0.330 0.068 0.148 28.08 0.319 0.30 42.43 7 Clay loam 0.390 0.075 0.197 25.89 0.242 0.20 40.89 8 Silty clay loam 0.432 0.040 0.208 32.56 0.177 0.20 53.83 9 Sandy clay 0.321 0.109 0.239 29.17 0.223 0.12 46.65 10 Silty clay 0.423 0.056 0.250 34.19 0.150 0.10 57.77 11 Clay 0.385 0.090 0.272 37.30 0.165 0.06 62.25 1 Selected according to Rawls et al. (1982, 1983); 2Calculated from Brooks and Corey (1964) equations The parameters (s, r, hb, Ks and wp = wilting point water content) (refer to Appendix for nomenclature) were selected for each soil te xture according to Rawls et al. (1982, 1983). The value for Sav was calculated from those of Brooks and Corey (1964) according to ) 3 1 ( ) 3 2 ( b avh S (4-22) where hb is the bubbling pressure and is the pore size distribu tion index. In order to obtain convergence for all the so ils, it was necessary to use th e van Genuchten (1980) model to describe the soil water hydraulic properties. The corresponding van Genuchten parameters, and n were obtained using the RETC program (van Genuchten et al., 1991) based on the curves described by the Brooks and Corey parameters (T able 4-2). Once the parameters were obtained, the soil water retention curves for both models were compared to ensure that they were equivalent. Similar methods for converting Brooks and Corey (1964) parameters to van Genuchten (1980) parameters have been resear ched and shown to provide similar results

PAGE 77

77 (Stankovich and Lockington, 1995; Lenhard et al., 1989; van Genuchten and Nielsen, 1985; Morel-Setoux et al., 1996). Table 4-2. van Genuchten water characteristic curve parameters used in Richards numerical solutions (refer to Appendix for nomenclature) Soil # USDA texture s r wp Ks (cm/h) (cm-1) n1 1 Sand 0.417 0.020 0.033 23.56 0.07661 1.85371 2 Loamy sand 0.401 0.035 0.055 5.98 0.07142 1.63868 3 Sandy loam 0.412 0.041 0.095 2.18 0.04697 1.42072 4 Loam 0.434 0.027 0.117 1.32 0.06330 1.27539 5 Silt loam 0.486 0.015 0.133 0.68 0.03312 1.26035 6 Sandy clay loam 0.330 0.068 0.148 0.30 0.02413 1.36097 7 Clay loam 0.390 0.075 0.197 0.20 0.02612 1.27227 8 Silty clay loam 0.432 0.040 0.208 0.20 0.01988 1.20244 9 Sandy clay 0.321 0.109 0.239 0.12 0.02281 1.25269 10 Silty clay 0.423 0.056 0.250 0.10 0.01859 1.17254 11 Clay 0.385 0.090 0.272 0.06 0.01690 1.19104 1 Derived using RETC program for use in the Richards solution Two simulated irrigation events, with constant flow rates, were run for each soil type for 465 minutes. The two flow rates were 0.5 a nd 1.0 L/h. The goodness-of-fit of the entire simulation against the Richards results were evaluated using the Nash and Sutcliffe (1970) coefficient of efficiency (Ceff, see Appendix B for description) and the root mean squared error (RMSE, see Appendix B for description) to de monstrate the effectiven ess of the two supply radius calculations presented for R0 the ground surface radius, and R1 the vertical wetting front depth. Results and Discussion A non-linear least-squares curve fitting search procedure (T ableCurve 3D, SYSTAT Inc., Richmond, CA) was used to fit the data to a Prop osed supply radius equation similar in form to the Simplified Philip equation (4-19) 2 10A s A av oK S A Q r (4-23)

PAGE 78

78 where A0 A1 and A2 are listed in Table 4-3 for each of the 11 USDA soil textural classifications. Table 4-3. A0 A1 and A2 parameters for used in supply radius Eq. (4-23) USDA texture A0 A1 A2 Adj-R2 Sand 0.0439 0.5541 0.5920 0.802 Loamy sand 0.0336 0.5397 0.6327 0.812 Sandy loam 0.0387 0.6041 0.8716 0.956 Loam 0.0273 0.6327 0.7409 0.991 Silt loam 0.0158 0.5608 0.6252 0.997 Sandy clay loam 0.0212 0.5442 0.6586 0.923 Clay loam 0.0192 0.5554 0.5774 0.927 Silty clay loam 0.0219 0.7184 0.6872 0.977 Sandy clay 0.0107 0.2755 0.7693 0.934 Silty clay 0.0199 0.7283 0.6729 0.997 Clay 0.0201 0.6319 0.7244 0.988 By visual inspection, it was observed that e ach soil had similar values for each of the parameters; therefore, in order to generalize Eq (4-23) for all soils, th e average of the three parameters, A0, A1 and A2, was calculated. A general equation, as a function of Sav, Ks and Q for the supply radius is then defined by 6555 0 6098 00265 0 s av oK S Q r (4-24) The goodness-of-fit of the entire simulation against the Richar ds results were evaluated using the Nash and Sutcliffe (1970) coefficient of efficiency (Ceff, see Appendix B for description) and the root mean squared error (R MSE, see Appendix B for description). Results obtained from using the Simplified Philip and Pr oposed supply radius equations in the 3DGA model are compared to the Richards model in Table 4-4. The Ceffs for the Simplified Philip equation for ground surface radius, R0, ranged from -13.46 to 0.96 with an average of -2.76 and the Ceffs for maximum wetted depth, R1, ranged from 13.96 to 0.98 with an average of -2.54. For both R0 and R1 the extreme Ceffs occurred in the Sandy Loam case (high) and the Clay case (low). The Ceffs for the Proposed equation for R0 ranged from 0.52 to 0.96 with an average of

PAGE 79

79 0.73 and the Ceffs for maximum wetted depth R1 ranged from 0.60 to 0.97 with an average of 0.84. While the Simplified Philip equation performed well in some of the cases, it can be seen that the Proposed supply radius equation (Eq. 4-24) does a markedly better job at predicting R0 and R1 when used within the 3DGA model. Table 4-4. Coefficient of effi ciency and root mean square er ror (in parentheses) results of simulations for comparing Simplified Philip and Proposed supply radius equations in the 3DGA model for typical flow rates (refer to Appendix for nomenclature) USDA texture Typical flow rate (Lh-1) Simplified Philip R0 Simplified Philip R1 Proposed R0 Proposed R1 Sand 1.0 -0.030 (4.166) 0.827 (2.662) 0.570 (2.691) 0.988 (0.703) Loamy sand 1.0 0.854 (1.551) 0.979 (0.793) 0.637 (2.446) 0.962 (1.076) Sandy loam 1.0 0.977 (0.592) 0.997 (0.275) 0.679 (2.233) 0.807 (2.225) Loam 0.5 0.598 (1.875) 0.280 (3.084) 0.873 (1.052) 0.955 (0.772) Silt loam 0.5 0.146 (2.647) -0.017 (3.203) 0.986 (0.340) 0.995 (0.234) Sandy clay loam 0.5 0.239 (3.221) 0.173 (3.833) 0.726 (1.931) 0.749 (2.112) Clay loam 0.5 -2.872 (6.583) -2.245 (7.433) 0.890 (1.110) 0.864 (1.521) Silty clay loam 0.5 -3.093 (6.204) -2.694 (6.734) 0.557 (2.041) 0.671 (2.010) Sandy clay 0.5 -3.635 (7.980) -3.676 (9.186) 0.541 (2.513) 0.620 (2.620) Silty clay 0.5 -9.942 (10.942) -7.712 (11.737) 0.849 (1.286) 0.885 (1.350) Clay 0.5 -13.544 (15.574) -13.201 (17.084) 0.918 (1.172) 0.921 (1.273) In addition, by visual inspecti on of Figures 4-2 4-4, we can see that the Proposed supply radius does a very good job of predicting both R0 and R1 compared to the Richards model, H2D, while the Simplified Philip supply radius does not.

PAGE 80

80 Figure 4-2. Ground surface radius, R0 and wetted depth, R1 over time for the 3DGA model using the Simplified Philip and Proposed supply radius equations, compared to the Richardsmodel, H2D, for the Clay soil ( Q = 0.5 Lh-1) Figure 4-3. Ground surface radius, R0 and wetted depth, R1 over time for the 3DGA model using the Simplified Philip and Proposed supply radius equations, compared to the Richardsmodel, H2D, for the Loam soil ( Q = 0.5 Lh-1)

PAGE 81

81 Figure 4-4. Ground surface radius, R0 and wetted depth, R1 over time for the 3DGA model using the Simplified Philip and Proposed supply radius equations, compared to the Richardsmodel, H2D, for the Sand soil ( Q = 1.0 Lh-1) Lastly, Figures 4-5 4-7 provide a graphica l comparison of the wetting front shape at t = 1h and 6h for the Clay, Loam and Sand soils chosen to provide a range fro m coarsest to finest soils. Both the Philip and Proposed equation result in an elongated wet bulb shape for the Sand soil and a more symmetrical shape for the Clay soil which we would expect for these flow rates. However, it can be seen that for all three so ils, the Proposed equati on does a better job at predicting the overall shape of the wetting front, including not only the R0 and R1 points, but points along the entire wet bulb.

PAGE 82

82 Figure 4-5. Wetting front shape at t = 1h and 6h for 3DGA and Richards model, H2D, for the Clay soil ( Q = 0.5 Lh-1) Figure 4-6. Wetting front shape at t = 1h and 6h for 3DGA and Richards model, H2D, for the Loam soil ( Q = 0.5 Lh-1)

PAGE 83

83 Figure 4-7. Wetting front shape at t = 1h and 6h for 3DGA and Richards model, H2D, for the Sand soil ( Q = 1.0 Lh-1) Summary and Conclusions Drip irrigation technology ha s become an increasingly popular agricultural practice. Modeling of this technology has, therefore, become important in order to utilize this technology to its optimum potential. One such model is the 3DGA model; how ever, the emitter flow rate is not explicitly included in the model, but rather bu ilt into the supply radius parameter. Therefore, in order to use the model, a supply radius, ro, must be determined. The most straightforward method is directly measuring the saturated radius that forms on the surface of the soil. However, since this is not convenient outside of a laboratory setting, equations that are a function of flow rate, Q were examined. The first equation obtained by Sepaskhah and Chitsaz (2004) was test ed and found to not be a viable method for calcula ting the supply radius for the 3 DGA method. A second equation, developed by Philip (1969), was initially found to provide good results, however, it is parameter intensive. Therefore, a simplified form of the Philip Equation was developed. Additional testing

PAGE 84

84 of this equation showed that it did not provide good results for a majority of the soils modeled using the 3DGA model. Lastly, an alternative eq uation was developed that was similar in form to the Simplified Philip equation. The Proposed e quation is valid for a wide range of soils and is a function of saturated hydraulic conductivity, Ks, effective suction at the wetting front Sav and emitter flow rate, Q This equation provided good results for all the soils tested and, therefore, proved to be a viable method for calculating the supply radius parameter in the 3-dimensional Green-Ampt model.

PAGE 85

85 CHAPTER 5 3DGAR: A QUASI 3-DIME NSIONAL GREEN-AMPT WITH REDISTRIBUTION MODEL FOR INTENSIVE BED (POINT SOURCE) MANAGEMENT SYSTEMS Introduction Intensive bed management systems have b ecome increasingly popul ar for agricultural production in Florida. Through thei r plastic-bed drip systems, these mechanisms can provide an increase in water application efficiency and a decrease in nutrient leaching, all while delivering desirable yields. There are increas ed benefits provided to san dy soils, seen throughout Florida, which have high hydraulic conductiv ities and low water-holding capacities. Modeling of these systems in particular is therefore useful in a ssessing water quality impacts by state agencies and assisting in the BMP selection pro cess for individual farmers. Unsaturated flow can best be described by combining Darcys Law (1856) with the continuity equation, resulting in a theoretical partial different ial equation known as Richards equation (1931). Richards equati on does not have a general analyt ical solution, and therefore must be solved numerically in many practical app lications. The numerical solutions of Richards equation are generally computa tionally intensive, require extensive soil property data, and involve parameterization and fine spatial and tem poral discretization whic h can result in errors (Skaggs and Khaleel, 1982; Ogden and Saghafi an, 1997). For this reason approximate, physically based approaches have been often used for modeling infiltration and soil water redistribution (Jury and Horton, 2004; Singh and Woolhiser, 2002; Haan et al., 1993; Smith et al., 1993). One such model was described by Ogden and Sagha fian (1997). This model is a specific case of the conceptual model de veloped by Smith et al. (1993) to simulate the continuous infiltration and soil water redistribution cycle for multistorm time series in which Ogden and Saghafian (1993) implement the Green-Ampt (1911) equation for simulating the infiltration

PAGE 86

86 phase resulting in the Green-Ampt with Redist ribution (GAR) method. An extension of the Parlange et al. (1982) equation was proposed and used by Smith et al. (1993) for simulating the infiltration phase in their methodology. Both of these methods were shown to perform satisfactorily when compared to a numerical so lution of the Richards equation (Smith et al., 1993; Ogden and Saghafian, 1997). There are, ho wever, some disadvantages to the GAR methodology. Two modifications, a redistribution coefficient, and a multiple redistributing wetting front scheme, to the GAR methodology were proposed in Chapter 2 in order to overcome these disadvantages. The results of the M odified Green-Ampt with Redistribution (MGAR) method compared against a numerical solution of Richards equation provi ded excellent results. While the MGAR method provides good results fo r 1-dimensional soil water flow, studies have shown that the soil water flow path under a point source is quasi-s pherical in shape and therefore requires a 3-D descri ption (Warrick, 1974; Clark et al., 2006; Healy and Warrick, 1988). In keeping with the methodology used to develop the MGAR methodology, it would be fitting to use a 3-dimensional form of the Green-Ampt infiltration equation for use in point source systems. Luckily, one such model has b een developed. The 3dimensional Green-Ampt (3DGA) model (Chu, 1994) uses the same underlyi ng assumptions as the original Green-Ampt method, however, in addition, it assumes that wa ter flows in a radial direction from a small ponded area which is formed beneath the emitter. This model was compared earlier, in Chapter 3, to other quasi 3-dimensional point sour ce models, including two based from Richards equation, as well as published da ta, and found to provide good resu lts. However, one drawback to this model is that the flow rate from the em itter is implicit, in that it is built in the emitter supply radius, ro, parameter. Therefore, an equation was proposed for the supply radius, in

PAGE 87

87 Chapter 4, that can be used for a wide variety of soils and is a function of emitter flow rate, Q saturated hydrau lic conductivity, Ks, and suction at the wetting front, Sav. The proposed equation was compared to a numerical solu tion of Richards equation and f ound to provide good results. While the 3DGA has been shown to be a viable method for simulating quasi 3dimensional soil water flow under point source emitte rs, it does not take into consideration the redistribution phase of soil water movement. While numerous models exist for simulating infiltration for point source systems (Philip, 1984a; Raats, 1971; Bresler et al., 1971; Taghavi et al., 1984; Healy and Warrick, 1988; Ben-Asher et al., 1986), there are only a few models that simulate the redistribution phase as well (Sim unek et al., 1999; Healy, 1987). The HYDRUS-2D (H2D) (Simunek et al., 1999) and VS2D (Healy, 1987) models simulate soil water movement using a numerical solution of Rich ards equation. However, while they can provide good results, they are computationally intensiv e and can result in numerical instability problems (Cook et al., 2006). For this reason, it is desirable that th e redistribution model be a physically-based approximation. In addition, it would also be de sirable that the model chosen be based on the same underlying assumptions as the infiltration equation, 3DGA. The purpose of this paper is to develop and evaluate a quasi 3-dimensional redistribution model based on the modified GAR methodology presen ted in Chapter 2 for a wide range of soil types for use in intensive bed management (point s ource) systems. In add ition, the capability of the method to predict average moisture c ontent within the soil profile is studied. Infiltration and Redist ribution Calculations 3DGA Infiltration Under point source emitters a small ponded ar ea on the soil surface can occur. This ponded area is similar to a hemispherical cavity which can be considered the source of water

PAGE 88

88 flow to the soil profile (Figure 5-1), having uni form flux from the surface of the cavity (Chu, 1994). Figure 5-1. 3-D Green Ampt wetting front In addition to the cavity source, the 3DGA (Chu, 1994) model assumes Water flows in a radial direction from the cavity source Water is assumed to enter the soil as a sharp wetting front which separates a saturated wetted zone from an unwetted zone The soil is assumed to be deep and homogeneous The soil is assumed to be at a uniform initial water content The shape of the wetting front is described by (Chu, 1994) t M r K B S B r S B R B S r B S B S r r R r Ro s av o av av o av av o o osin sin sin ln sin sin sin ) ( ) ( 2 12 2 (5-1) where B is the angle between the ground surface and wetted radius, R ; Sav is the average suction at the wetting front; ro is the radius of the he mispherical cavity source; Ks is the saturated hydraulic conductivity of the soil; and M is the water content difference between the inside and outside of the wetting front.

PAGE 89

89 Given any angle from the ground surface, 0 < B < the wetted radius can be calculated from Eq. (5-1). In particular, if B = /2, sin B = 1, and the calculated R would give the maximum depth of the wetting front ( R1 ) as t M r K S r S R S r S S r r R r Ro s av o av av o av av o o o 1 ln ) 1 ( ) 1 ( 2 12 2 (5-2) Since Eq. (5-1) cannot be used to calculat e the wetted radius at the ground surface, B = 0 or so that sin B = 0, an additional equation needs to formulated. The equation for calculating the radius of the wetting front at the ground surface radius ( R0 ) as t M r S K r R r r Ro av s o o o ) 0 ( 2 ) 0 ( 3 12 2 3 3 (5-3) The flow rate from the emitter is implicit in that it is built in the emitter supply radius, ro, parameter. Since an equation defining this parameter was not included in the original development, an alternative equation was proposed in Chapter 4 as a function of flow rate, Q Sav and Ks as 6555 0 6098 00265 0 s av oK S Q r (5-4) Initial testing of this proposed supply radius equati on provided good results for use in the 3DGA model. Modified Green-Ampt with Redistribution (MGAR) While initial testing of the 3DGA model with the proposed supply radius equation provided good results, it does not include redistribu tion. Several point source models have been developed that are infiltration only (Philip, 1984a; Raats, 1971; Bresler et al., 1971; Taghavi et al., 1984; Healy and Warrick, 1988; Ben-Ashe r et al., 1986) and do not carry on into redistribution. Solutions of Richards equati on allow for redistribution, however, since in

PAGE 90

90 general they are computationally intensive and require extensive parameter data, there is a need for a physically-based approximate inf iltration with redistribution method. Ogden and Saghafian (1997) developed a sp ecific case of the Smith et al. (1993) conceptual model for infiltration and redistribut ion for Green-Ampt (1911) infiltration. The equation for the calculation of the redistributi on of soil water content proposed by Ogden and Saghafian (1997) is Z G K K K r Z dt do i s o i h o 1 (5-5) where Ki and Ko represent the values of the unsaturated hydraulic c onductivity function for the initial and surface soil wate r contents respectively; Ks is the saturated hydraulic conductivity; Z is the 1-D depth of the wetted front; rh is the rainfall rate; and G (i,o) represents the integral of the capillary drive through the saturated front. The method was shown to perform satisfactorily when compared to a numerical solution of the Richards equation, however, it was also seen that for soils with larger saturated hydraulic conductivity values the error in the prediction of surface water content increased. Furthermore, when the method is applied to a long period of uneven storms there is an increasing divergence from actual surface water content after subsequent redistributions. In order to reduce this increase in error, two modificat ions were proposed in Chapter 2. The first modification expands the number of redistributing wet ting fronts from one to any nu mber, providing a better physical representation to predict the average water co ntent for a desired observation soil layer. The second modification consisted of the applicati on of a correction fact or, the redistribution coefficient derived from the error analysis of th e method as a function of redistribution number ( NR), redistribution time ( TR) and saturated hydraulic conductivity ( Ks)

PAGE 91

91 R RN a T a a / ) ln(3 2 1 (5-6) with i id s i i iK c b a) 1 () ( (5-7) where a, a and a strongly depend on the saturated hydrau lic conductivity (mm/h) of the soil for all soils tested, and parameters bi, ci and di are listed in Table 5-1. Table 5-1. Parameters for th e redistribution coefficient, i bi ci di 1 4.2952 154.6101 -1.0 2 0.0020 -0.0010 0.5 3 -14.0032 -61.5429 -1.0 A comparison of a numerical solution of Rich ards equation against the GAR method and the modified GAR (MGAR) method showed that th e latter is markedly be tter at predicting the surface water content while maintaining good cumula tive infiltration predictions. In addition, the ability of MGAR to predict the average water content for a desired ob servation soil layer was also found to provide good results agains t Richards numerical solution values. While the redistribution equation (5-5) and mu ltiple redistributing wetting front scheme have shown to provide good results, MGAR is a 1-dimensional model. Since, as previously mentioned, point source systems exhibit a quasi-s pherical flow it is necessary to modify Eq. (55) to a 3-dimensional form. 3D Green-Ampt with Redistribution In order to modify the 1-dimensional form of the modified GAR model, the 1-dimensional length, Z will need to be replaced by the wetted radius from the 3DGA model and converted to volumetric terms. In doing so, a 3-dimensional form of Eq. (5-5) is derived as Avg o i s o i oR G K SA K SA K Vol dt d 1 (5-8)

PAGE 92

92 where Vol and SA are the volume and surface area, respectively, of the wet bulb; and RAvg is the average radius of the wet bulb if it wa s a perfect hemisphere and defined as 3 / 12 3 Vol RAvg (5-9) However, studies have shown that the wet bulb does not form a perfect circle. Instead, the shape can be better approximated by an ellips e (Hachum et al., 1976) that is defined by the equation 1 ) ( ) (2 2 2 2 b k y a h x (5-10) where x and y are the rectangular coordinates; ( h,k ) is the offset of the center of the ellipse from (0,0); a and b are the maximum distances from the center of the ellipse to the ellipse (Figure 52). It should be noted that the wet bulb is sy mmetric about the y-axis, however, not necessarily symmetric about the x-axis. Therefore, the x-coor dinate of the center of the ellipse is equal to zero. Figure 5-2. Ellipse x y a (h,k) b

PAGE 93

93 In order to accurately define the elliptical shape of the wet bulb, the radii that are calculated from Eqs. (5-1) (5-3) are convert ed from polar coordinates to rectangular coordinates, x and y by B R x cos (5-11) B R y sin (5-12) Next, the maximum x xmax, and corresponding y ymax, coordinates are determined. The xmax corresponds to the value of a while the ymax corresponds to the y -coordinate of the center of the ellipse, k Lastly, the maximum distance from the center of the ellipse in the y -direction is found by max1 y R b (5-13) where, again, R1 corresponds to the maximum wetted depth (Figure 5-3). Figure 5-3. Description of parameters for elliptical wet bulb sh ape equation (5-10) Next, the volume of the wet bulb is ca lculated by use of the disc method as

PAGE 94

94 1 0 2) (y ydy y f Vol (5-14) The function, f(y) is found by solving for x in Eq. (5-10) 2 / 1 21 ) ( b k y a y f (5-15) Substituting Eq. (5-15) into Eq. (5-14), integrating from 0 to R1 and simplifying, the wet bulb volume is calculated as 3 2 1 12p p p R a Vol (5-16) where 21 1 b R k p (5-17) 2 21 2 b R k p (5-18) 2 33 1 3 b R p (5-19) Lastly, the surface area, SA of the wet bulb is calculated by revolving Eq. (5-15) around the y -axis by 1 0 2 / 1 2) ( 1 ) ( 2y ydy y f y f SA (5-20) where f(y) is 2 / 1 2 2 2 2) ( b k y a a k y b a y f (5-21) Due to the complexity of Eq. (5-20), the integral is calculated using a Gauss-Legendre 5point quadrature formula (Press et al., 1996). After calculating the volume, surface area and

PAGE 95

95 average radius, RAvg, Eq. (5-8) can then be solved using a 4th order Runge-Kutta adaptive step size solution with a tolerance of 1.0 x 10-4 (Press et al., 1996). In addition, the MGAR models multiple redist ributing wetting front scheme is adapted for the 3-dimensional model in order to better describe the varied soil moisture within the profile (Figure 5-4). Similar to the 1-dimensional me thodology, when a new irrigation event occurs, an additional front is formed. Any new infiltrati on will feed only the new wetting front until the two fronts are at the same equivalent radii at which time they will merge into one profile at saturated water content. If th e two fronts do not merge before th e irrigation event has ceased, the new front is allowed to redistribute as well. Th e fronts continue to redi stribute until they are at the same equivalent radii, at which time the fronts are merged into one front at water content o. The process of forming new fronts, redistributi ng fronts and merging fronts is continued until the end of the simulation. Figure 5-4. Translation of 1-dimensional MGAR models multiple redistributing front scheme to Point Source Systems

PAGE 96

96 Prediction of Average Water Content of Observation Cell In application, tracking the maximum wetted depth, R1 and ground surface radius, R0 is not as significant as knowing the water content at a specific observati on point or area. By converting the polar coordinates to rectangular coordina tes, and constructing a rectangular grid, the average water content of a particular observa tion cell or set of cells can be calculated. In order to calculate the averag e water content of a cell, it is necessary to determine if that cell is contained within a wetting front, between multiple wetting fronts or outside of the wet bulb. For example, in Figure 5-5, Cell 1 is completely contained within wetting front 2, WF2 while Cell 2 is between multiple wetting fronts and Cell 3, is outside of the wet bulb all together. 0 5 10 15 20 25 30 051015202530 S (cm)Z (cm) WF1 WF2 Cell 3 Cell 1Cell 2 Figure 5-5. Rectangular coordinate grid for calculating av erage water contents of observation cells If a cell is completely contained within one we tting front, such as Cell 1, then the average water content of that observation cell is the water content of that wetting front. If, instead, the cell is outside of the wet bulb, such as Cell 3, the average water content for that observation cell

PAGE 97

97 is initial water content. Lastly, if the cell is between multiple wetting fronts, such as Cell 2, the area that each wetting front occupies within the cell must be calculated. In order to determine the area occupied by each front it is necessary to determine where the wetting front crosses the edges of the cell by using the equation of the shape of the wetting front (Eq. 5-10). A wetting front crosses the top or bottom of a cell if 12 2 / 1 b k y (5-22) where y1/2 is equal to the y -coordinate of the top, y1, or bottom, y2, of the cell, respectively; and, if, the value of xi 2 / 1 2 2 / 11 b k y a xi (5-23) is between the left and right x -coordinates of the cell. Similarly, a wetting front crosses the left or right edge of a cell if 12 2 / 1 a x (5-24) where x1/2 is equal to the x -coordinate of the left, x1, or right, x2, edge of the cell, respectively; and, if, the value of yi k a x b yi 2 / 1 2 2 / 11 (5-25) is between the top and bottom xcoordinates of the cell. If k > 0, it is also n ecessary to check if the k is greater than the y -coordinate of the top of the cell. If it is, the value of yi is then calculated as

PAGE 98

98 2 / 1 2 2 / 11 a x b k yi (5-26) Next, the area that the wetting fr ont occupies in the cell is ca lculated by drawing a straight line between the two intersecting points and calc ulating the areas of the triangles and/or rectangles that are formed. For example, if the wetting front inte rsects the top a nd left edge of the observation cell, such as Cell 2, then the wetting front area, WFA is calculated as 2 /1 1y y x x WFAi i (5-27) The average water content, AvgWC of the observation cell is th en calculated by a weighted average of water contents of each wetting fron t occupying the cell and the respective areas of each. For example, the average water content of Cell 2 is calculated as CellA WFA CellA WC WFA WC AvgWC ) (1 2 1 1 (5-28) where, WC1 and WC2 are the water contents of wett ing fronts 1 and 2, respectively; WFA1 is the area of wetting front 1; and CellA is the total area of the observation cell. Verification of 3DGAR The performance of the proposed 3-dime nsional Green-Ampt with Redistribution (3DGAR) model presented in this report is comp ared with a numerical solution of Richards (1931) equation. The HYDRUS-2D (H2D) (Simune k et al., 1999) program was used in this comparison. The governing equations are solved nu merically using a Galerkin type linear finite element method applied to a network of triangular elements. H2D has several options for the parameterization of the unsaturat ed soil hydraulic properties, in cluding Brooks and Corey (1964) and van Genuchten (1980). Eleven soil types from the USDAs soil textural classifications were selected (Table 5-2). All the profiles were considered homogeneous, isotr opic and of semi-infinite depth. Each soil is

PAGE 99

99 assumed to have an initial water content equal to the wilting point water content given in Table 5-2. The parameters (s, r, hb, Ks and wp = wilting point water content) (refer to Appendix for nomenclature) were selected for each soil te xture according to Rawls et al. (1982, 1983). The value for Sav was calculated from those of Brooks and Corey (1964) according to ) 3 1 ( ) 3 2 ( b avh S (5-24) where hb is the bubbling pressure and is the pore size distribution index. Table 5-2. Soil textures and hydraulic parameters used in 3DGAR simulations (refer to Appendix for nomenclature) Soil # USDA texture s 1 r 1 wp 1 hb 1 (cm) Ks 1 (cm/h) Sav 2 (cm) 1 Sand 0.417 0.020 0.033 7.26 0.694 23.56 9.62 2 Loamy sand 0.401 0.035 0.055 8.69 0.553 5.98 11.96 3 Sandy loam 0.412 0.041 0.095 14.66 0.378 2.18 21.53 4 Loam 0.434 0.027 0.117 11.15 0.252 1.32 17.50 5 Silt loam 0.486 0.015 0.133 20.79 0.234 0.68 32.96 6 Sandy clay loam 0.330 0.068 0.148 28.08 0.319 0.30 42.43 7 Clay loam 0.390 0.075 0.197 25.89 0.242 0.20 40.89 8 Silty clay loam 0.432 0.040 0.208 32.56 0.177 0.20 53.83 9 Sandy clay 0.321 0.109 0.239 29.17 0.223 0.12 46.65 10 Silty clay 0.423 0.056 0.250 34.19 0.150 0.10 57.77 11 Clay 0.385 0.090 0.272 37.30 0.165 0.06 62.25 1 Selected according to Rawls et al. (1982, 1983); 2Calculated from Brooks and Corey (1964) equations In order to obtain convergence for all the soil s, it was necessary to use the van Genuchten (1980) model to describe the soil water hydrauli c properties. The co rresponding van Genuchten parameters, and n were obtained using the RETC program (van Genuchten et al., 1991) based on the curves described by the Brooks and Corey parameters (Table 5-3). Once the parameters were obtained, the soil water retention curves for both models were compared to ensure that they were equivalent. Similar methods for conver ting Brooks and Corey (1964) parameters to van Genuchten (1980) parameters have been resear ched and shown to provide similar results

PAGE 100

100 (Stankovich and Lockington, 1995; Lenhard et al., 1989; van Genuchten and Nielsen, 1985; Morel-Setoux et al., 1996). Table 5-3. van Genuchten water characteristic curve parameters used in Richards numerical solutions (refer to Appendix for nomenclature) Soil # USDA texture s r wp Ks (cm/h) (cm-1) n1 1 Sand 0.417 0.020 0.033 23.56 0.07661 1.85371 2 Loamy sand 0.401 0.035 0.055 5.98 0.07142 1.63868 3 Sandy loam 0.412 0.041 0.095 2.18 0.04697 1.42072 4 Loam 0.434 0.027 0.117 1.32 0.06330 1.27539 5 Silt loam 0.486 0.015 0.133 0.68 0.03312 1.26035 6 Sandy clay loam 0.330 0.068 0.148 0.30 0.02413 1.36097 7 Clay loam 0.390 0.075 0.197 0.20 0.02612 1.27227 8 Silty clay loam 0.432 0.040 0.208 0.20 0.01988 1.20244 9 Sandy clay 0.321 0.109 0.239 0.12 0.02281 1.25269 10 Silty clay 0.423 0.056 0.250 0.10 0.01859 1.17254 11 Clay 0.385 0.090 0.272 0.06 0.01690 1.19104 1 Derived using RETC program for use in the Richards solution For each soil type, the simulation consisted of 12 irrigation events each followed by a redistribution period (where Q = 0.0 cm3h-1) for a total simulation time of 96 hours. Each irrigation event had a duration of 2 hours and e ach redistribution peri od had a duration of 6 hours. The emitter flow rates for each soil type are given in Table 5-4. Table 5-4. Emitter flow rates, Q for each soil type Soil # USDA texture Emitter flow rate, Q (Lh-1) 1 Sand 1.00 2 Loamy sand 2.00 3 Sandy loam 1.75 4 Loam 1.50 5 Silt loam 1.50 6 Sandy clay loam 1.00 7 Clay loam 1.00 8 Silty clay loam 1.00 9 Sandy clay 0.50 10 Silty clay 0.50 11 Clay 0.50 The flow rates were chosen based on the rang e of typical emitter flow rates for drip irrigation systems (0.5 2.0 Lh-1), as well as the satura ted hydraulic conductivity, Ks, of the soil.

PAGE 101

101 The flow rate increased with increasing Ks, with the exception of the sand soil. The flow rate of the sand soil was decreased due to a problem of convergence with the Richards solution. The goodness-of-fit of the entire simula tion against the Rich ards results were evaluated using the Nash and Sutcliffe (1970) co efficient of efficiency (Ceff, see Appendix B for description) and the root mean squared error (RMSE, see Appendix B for description) to test the accuracy of the proposed model. The average water cont ent for the observation cells along the 90o, 60o, 45o, 30o and 0o lines were selected (Figure 5-6) correspondi ng to the average water content of observation nodes along the same lines for Richards solution. The configuration of the grid, size and location of the observation cells for the 3DGAR m odel were chosen based on the location of the observation nodes so that the nodes we re centered within the cells. 0 2.5 5 7.5 10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 02.557.51012.51517.52022.52527.53032.5 S(cm)Z(cm)H2D Observation N ode 3DGAR Observation Cell Figure 5-6. 3DGAR observati on cells and H2D observation n odes used in simulations

PAGE 102

102 Results and Discussion The goodness-of-fit of the entire simulation against the Richar ds results were evaluated using the Nash and Sutcliffe (1970) coefficient of efficiencies (Ceff, see Appendix B for description) and the root mean squared errors (RMSE, see Appendix B for description) of average water content for the observation cells along the 90o, 60o, 45o, 30o and 0o lines of interest, as well as overall averag e water content for all lines comb ined, compared to that of the Richards solution are tabul ated in Table 5-5. Table 5-5. Coefficient of effici encies and root mean square erro rs (in parentheses) of average water content for the 90o, 60o, 45o, 30o, 0o lines and average water content for the overall combined lines of 3DGAR compared to Richards solution Soil # USDA texture 90o 60o 45o 30o 0o Combined 1 Sand 0.062 (0.058) 0.080 (0.059) -0.120 (0.071) -0.470 (0.068) -0.286 (0.066) -0.015 (0.065) 2 Loamy sand 0.618 (0.038) 0.565 (0.044) 0.161 (0.072) 0.188 (0.053) 0.413 (0.051) 0.471 (0.053) 3 Sandy loam 0.727 (0.033) 0.732 (0.037) 0.673 (0.050) 0.540 (0.041) 0.835 (0.028) 0.741 (0.038) 4 Loam 0.757 (0.035) 0.770 (0.040) 0.701 (0.056) 0.536 (0.044) 0.903 (0.026) 0.780 (0.041) 5 Silt loam 0.847 (0.036) 0.920 (0.030) 0.904 (0.039) 0.828 (0.031) 0.896 (0.032) 0.904 (0.034) 6 Sandy clay loam 0.898 (0.013) 0.916 (0.014) 0.908 (0.018) 0.933 (0.015) 0.923 (0.013) 0.916 (0.015) 7 Clay loam 0.905 (0.015) 0.899 (0.019) 0.944 (0.017) 0.824 (0.018) 0.931 (0.014) 0.928 (0.017) 8 Silty clay loam 0.948 (0.014) 0.926 (0.019) 0.928 (0.023) 0.947 (0.023) 0.937 (0.016) 0.929 (0.019) 9 Sandy clay 0.524 (0.012) 0.644 (0.013) 0.771 (0.012) 0.805 (0.011) 0.822 (0.008) 0.724 (0.011) 10 Silty clay 0.815 (0.024) 0.800 (0.028) 0.854 (0.026) 0.869 (0.029) 0.799 (0.026) 0.821 (0.027) 11 Clay 0.776 (0.015) 0.693 (0.020) 0.791 (0.020) 0.806 (0.020) 0.800 (0.015) 0.762 (0.018) The 3DGAR model predicts the average water content for all the observation cells well for Clay, Silty Clay, Sandy Clay, Silty Clay Loam, Clay Loam, Sandy Clay Loam, Silt Loam, Loam

PAGE 103

103 and Sandy Loam soils, with overall combined line coefficient of efficiencies of 0.762, 0.821, 0.724, 0.929, 0.928, 0.916, 0.904, 0.780 and 0.741, respectively. The Sand and Loamy Sand soils do not appear to do as well due to the larg e spikes in average water content that occurs during irrigation events. The sp ikes are a result of the assu mption of each wetting front having homogeneous water content, and the fast nature that sandy soil wetting fronts form due to their high saturated hydraulic conductivity and porosit y causing the observation cells to become saturated during irrigation events. Figures 5-7 5-9 are a graphical comparison of the evolu tion of the average water content during the simulations for the Loam, Clay and Sandy Clay Loam soils. The observation cells were chosen in order to show a variety of locations, both below and to the side of the emitter. It can be observed, by visual inspection, that 3DGAR closely matches Richards solution. 0.25 0.3 0.35 0.4 0.45 0.5 024487296 Time (h)Average Water Content H2D 3DGAR Figure 5-7. Evolution of average water content for the observation cell 5 cm to the side emitter, for the Loam soil

PAGE 104

104 0.25 0.3 0.35 0.4 0.45 024487296 Time (h)Average Water Content H2D 3DGAR Figure 5-8. Evolution of average water content for the observation cell 15 cm to the side emitter, for the Clay soil 0.1 0.15 0.2 0.25 0.3 0.35 024487296 Time (h)Average Water Content H2D 3DGAR Figure 5-9. Evolution of average water content for the observation cell 30 cm below the emitter, for the Sandy Clay Loam soil Lastly, Figure 5-10 demonstrates the multiple re distributing wetting front scheme. In this case, four fronts have formed, all of which are at varied water contents: 0.321, 0.281, 0.272 and

PAGE 105

105 0.321 from the emitter outwards. The ability to have multiple water contents allows for the 3DGAR model to better approximate the actual wetted soil profile. 0 2.5 5 7.5 10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 02.557.51012.51517.52022.52527.53032.5 S(cm)Z(cm)H2D Observation N ode 3DGAR Observation Cell WF3 WF4 WF2 WF1 WC1 WC4 WC3 WC2 WCI Figure 5-10. Representation of multiple redistri buting wetting front scheme; Sandy Clay soil at t = 73 h Summary and Conclusions The soil water flow path of drip irrigation (p oint source) systems ar e quasi 3-dimensional and, therefore, require a quasi 3-dimensional model to accurately simulate the infiltration and redistribution processes. A numerical soluti on of Richards equation, while accurate, is computationally intensive and requires extensive parameter data. Therefore, it is desirable to use a physically-based approximate model. While th ere are numerous models that simulate the infiltration phase of point source systems, the redistribution phase has not been studied as thoroughly.

PAGE 106

106 A quasi 3-dimensional infiltration and redi stribution model (3DGAR) was developed and tested for simulating drip irrigation in a wide vari ety of soils. The inf iltration phase is modeled using the 3DGA model proposed by Chu (1994). An equation for calcula ting the change in water content during a redistri bution phase was developed base d on the 1-dimensional GreenAmpt with Redistribution method (Ogden and Sa ghafian, 1997). In addition, equations for calculating the volume and surface area of the soil wa ter wet bulb were developed. Furthermore, a method for calculating the aver age water content of an obser vation cell was proposed. The results showed that 3DGAR is a viable model for predicting the average water content of an observation cell, as well as, describing th e time evolution of the wet bulb shape. While the 3DGAR model is limited in that it assumes homogeneous soil and a sharp wetted profile, and does not cons ider hysteresis or water table effects, it provides an accurate description of point source in filtration and redistribution in unsaturated soils. Among the advantages of the method, besides its simplic ity and computational efficiency set against Richards solution, are its physical basis (set against other more empirical methods), robustness, and its ability to provide good resu lts for infiltration and redistri bution for irrigation time series simulations.

PAGE 107

107 CHAPTER 6 CONCLUSIONS When formulating a simplified but physically based soil water simulation model, it is desirable that both the infiltration and redistribution component of the model be based on the same underlying assumptions. The 1-dimensi onal Green-Ampt with Redistribution (GAR) method meets this requirement and is able to si mulate the continuous in filtration and soil water redistribution cycle for multistorm time series The method requires few parameters, is computational efficient, and robust. However, the original results s how that for soils with larger saturated hydraulic conductivity values the erro r in the prediction of surface water content is significant, and also that when the method is applied to a long period of uneven storms there is an increasing divergence from actual surface wate r content after subsequent redistributions. Modifications to the original GAR method we re developed and tested for improving the estimation of soil water infiltration and redistribution in a wide variety of soils. The first modification expands the number of redistributing wetting fronts from one to any number, providing a better physical repres entation to predict the averag e water content for a desired observation soil layer. The second modification c onsisted of the application of a correction factor, the redistribution coefficient derived from the error analysis of the method as a function of redistribution number ( NR), redistribution time ( TR) and saturated hydraulic conductivity ( Ks). A comparison of a nume rical solution of Richards equation against the GAR method and the modified GAR (MGA R) method presented showed th at the latter is markedly better at predicting the surface water content while maintaining good cumulative infiltration predictions. In addition, the abil ity of MGAR to predict the aver age water content for a desired observation soil layer was also found to provide good results against Richards numerical solution values.

PAGE 108

108 Studies have shown that intensive bed mana gement systems (point source) have a soil water flow path that is quasi-spherical in shap e and therefore cannot be modeled accurately using the traditional 1-dimensional methods. Theref ore, a 3-dimensional form of the Green-Ampt infiltration model (3DGA) was compared to th ree established alternatives for simulating infiltration for intensive bed management sy stems based on point source irrigation. The established models correspond to two main types of methods: a) those de rived from Richards equation (Philips analytical solution to a quasi linear approximation and a generalized solution to a dimensionless form of Richards equation), and b) an alternative phys ically-based simplified method (Effective Hemisphere method). The 3DGA model and Effective Hemisphere are specifically for cases in which design optimizat ion is of primary concern; whereas, the other models can be used in any scen ario. All methods were compared to measured data from two published experiments. The result s show that the 3DGA model is a strong method for obtaining good predictions of wetting front pa tterns and wetting volume. While the 3DGA model has been shown to provide good results for simulating infiltration in point source systems, there is a limiting co mponent to the current methodology. The emitter flow rate is not explicitly included in the model, but rather built into the supply radius parameter. Therefore, in order to use the model, a supply radius, ro, must be determined. The most straightforward method is to dir ectly measure the saturated radi us that forms on the surface of the soil. However, since this is not convenient outside of a laboratory setting, equations that are a function of flow rate, Q were examined. The first e quation obtained by Sepaskhah and Chitsaz (2004) was tested and found to not be a viable method for calculating the supply radius for the 3DGA method. A second equation, devel oped by Philip (1969), was initially found to provide good results, however, it is parameter in tensive. Therefore, a simplified form of the

PAGE 109

109 Philip Equation was developed. Additional testing of this equation showed that it did not provide good results for a majority of the soils modeled using the 3DGA model. Lastly, an alternative equation was developed that was simila r in form to the Simplified Philip equation. The Proposed equation is valid for a wide range of soils and is a function of saturated hydraulic conductivity, Ks, effective suction at the wetting front Sav and emitter flow rate, Q This equation provided good results for all the so ils tested and, therefore, proved to be a viable method for calculating the supply radius parameter in the 3-dimensional Green-Ampt model. While there are models that simulate the infilt ration phase of point source systems, such as the 3DGA model, the redistribution phase has not b een studied as thoroughly. Therefore, a quasi 3-dimensional redistribution model for use in combination with the 3DGA infiltration model (3DGAR) was developed and tested for simulating drip irrigation in a wide variety of soils. An equation for calculating the change in water cont ent during a redistributio n phase was developed based on the 1-dimensional modified GAR method presented in the firs t part of the research. In addition, equations for calculating the volume a nd surface area of the soil water wet bulb were developed. Furthermore, a method for calculatin g the average water content of an observation cell was proposed. The results showed that 3DGAR is a viable model for predicting the average water content of an observation cell, as well as describing the time evolution of the wet bulb shape. While the 1-dimensional MGAR and quasi 3dimensional 3DGAR models are limited in that they assume homogeneous soil, a sharp we tted profile, and do not co nsider hysteresis or water table effects, they do provide an accurate description of vertical and point source infiltration and redistribution in unsaturated soils. Among the advantages of these methods, besides their simplicity and computational effici ency set against Richards solution, are their

PAGE 110

110 physical basis (set against other more empirical methods), robustness, and ability to provide good results for infiltration and redistribution fo r uneven multistorm precipitation and irrigation time series simulations.

PAGE 111

111 APPENDIX A NOMENCLATURE WF1, WF2 [ Wetting front 1 and 2 of the GAR method Z [L] Wetting front depth Z1, Z2 [L] Wetting front 1 and 2 depths Z3, Z4 [L] Wetting front 3 and 4 depths Zi1, Zi2 [L] Top and bottom we tting depths of interest s [L3L-3] Saturated water content r [L3L-3] Residual water content i [L3L-3] Initial water content wp [L3L-3] Wilting point water content o [L3L-3] Surface water content 1, 2 [L3L-3] Water contents of wetting fronts 1 and 2 0-50 [L3L-3] Average water contents of observation layers 0-50 cm 50-100 [L3L-3] Average water contents of observation layers 50-100 cm [ Relative surface water content hb [L] Bubbling pressure Pore size distribution index Ks [LT-1] Saturated hydr aulic conductivity Sav [L] Suction at the wetting front FC [L3L-3] Field capacity [L-1] van Genuchten parameter n [ van Genuchten parameter

PAGE 112

112 m [ van Genuchten parameter fp [LT-1] Potential infiltration rate F [L] Cumulative infiltration F1, F2 [L] Cumulative infiltration of wetting fronts 1 and 2 F3, F4 [L] Cumulative infiltration of wetting fronts 3 and 4 WC1, WC2 [L3L-3] Water contents of wetting fronts 1 and 2 WC3, WC4 [L3L-3] Water contents of wetting fronts 1 and 2 WCO [L3L-3] Surface water content RWC [L3L-3] Relative water content at surface Ceff [ Nash and Sutcliffe (1970) coefficient of efficiency [L3L-3] Redistribution coefficient TR [ Redistribution time NR [ Redistribution number Q [L3T-1] Emitter flow rate ro [L] Emitter supply radius [L3L-3] Soil water deficit R [L] Wetting front radius R0 [L] Maximum wetted radius R1 [L] Maximum wetted depth smax [L] Maximum ponding depth allowed at surface ncells [ Number of cells for 3DGAR grid (ncells x ncells) dL [L] Size of cells for 3DGAR grid

PAGE 113

113 APPENDIX B GOODNESS-OF-FIT INDICATORS Goodness-of-fit indicators are quantitative measures used to assess the ability of a model to simulate observed data. In order to have a co mplete assessment of model performance, it is recommended (Legates and McCabe, 1999; Krause et al., 2005) to in clude a relative error measure, such as the coefficient of efficiency, an d an absolute error measure, such as the root mean squared error. The Nash-Sutcliffe (1970) co efficient of efficiency (Ceff) is defined as: n i i n i i i effO O P O C1 2 1 21 where Oi is the observed value; O bar is th e mean of the observed values; and Pi is predicted value. The coefficient of efficiencies can range from to 1. An efficiency of 1 (Ceff =1) corresponds to a perfect match of modeled data to the obser ved data. An efficiency of 0 (Ceff =0) indicates that the model predictions are as accurate as the mean of the observed data, whereas an efficiency less than zero (
PAGE 114

114 to An RMSE of 0 is ideal a nd corresponds to no variation in the modeled data compared to the observed data.

PAGE 115

115 APPENDIX C SAMPLE MGAR INPUT FILES Units: Length [mm], Time [h] __________________________c:\MGARInputFiles\clay_soil.txt_________________________________________ 0.6 622.5 0.385 0.272 0.090 373.0 0.165 0.0 0.296 3 500.0 500.0 1000.0 0.0 500.0 0.0 Ks Sav s i r hb smax FC NumObsLayers ProfileDepth[1] ProfileDepth[2] ProfileDepth[3] TopObsLayer[1] TopObsLayer[2] TopObsLayer[3] __________________________c:\MGARInputFiles\clay_rain.txt________________________________________ 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 20 20 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 20 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (Precips[k], k = 1, precipCount)

PAGE 116

116 APPENDIX D SAMPLE MGAR OUTPUT FILE

PAGE 117

117Table D-1. Sample MGAR Output Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 1 8.430 74.601 0.385 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.385 1.0008.430 0.2890.272 0.280 2 12.980 114.870 0.385 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.385 1.00012.980 0.2980.272 0.285 3 12.980 138.594 0.366 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.366 0.93412.980 0.2980.272 0.285 4 12.980 153.510 0.357 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.357 0.90412.980 0.2980.272 0.285 5 12.980 164.956 0.351 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.351 0.88412.980 0.2980.272 0.285 6 12.980 174.456 0.346 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.346 0.86912.980 0.2980.272 0.285 7 12.980 182.686 0.343 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.343 0.85812.980 0.2980.272 0.285 8 12.980 190.008 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.340 0.84912.980 0.2980.272 0.285 9 12.980 196.646 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.338 0.84112.980 0.2980.272 0.285 10 12.980 202.745 0.336 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.336 0.83412.980 0.2980.272 0.285 11 12.980 208.408 0.334 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.334 0.82812.980 0.2980.272 0.285 12 12.980 213.707 0.333 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.333 0.82312.980 0.2980.272 0.285 13 12.980 218.700 0.331 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.331 0.81812.980 0.2980.272 0.285 14 12.980 223.429 0.330 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.330 0.81412.980 0.2980.272 0.285 15 12.980 227.928 0.329 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.329 0.81012.980 0.2980.272 0.285 16 12.980 232.225 0.328 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.328 0.80612.980 0.2980.272 0.285 17 12.980 236.344 0.327 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.327 0.80312.980 0.2980.272 0.285 18 12.980 240.301 0.326 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.326 0.80012.980 0.2980.272 0.285 19 12.980 244.114 0.325 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.325 0.79712.980 0.2980.272 0.285 20 12.980 247.796 0.324 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.324 0.79512.980 0.2980.272 0.285 21 12.980 251.359 0.324 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.324 0.79212.980 0.2980.272 0.285 22 12.980 254.812 0.323 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.323 0.79012.980 0.2980.272 0.285 23 12.980 258.164 0.322 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.322 0.78712.980 0.2980.272 0.285 24 12.980 261.422 0.322 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.322 0.78512.980 0.2980.272 0.285 25 12.980 264.595 0.321 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.321 0.78312.980 0.2980.272 0.285 26 12.980 267.687 0.320 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.320 0.78112.980 0.2980.272 0.285 27 12.980 270.704 0.320 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.320 0.77912.980 0.2980.272 0.285 28 12.980 273.650 0.319 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.319 0.77812.980 0.2980.272 0.285 29 12.980 276.531 0.319 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.319 0.77612.980 0.2980.272 0.285 30 12.980 279.350 0.318 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.318 0.77412.980 0.2980.272 0.285 31 12.980 282.110 0.318 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.318 0.77312.980 0.2980.272 0.285 32 12.980 284.815 0.318 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.318 0.77112.980 0.2980.272 0.285 33 12.980 287.468 0.317 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.317 0.77012.980 0.2980.272 0.285 34 12.980 290.071 0.317 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.317 0.76912.980 0.2980.272 0.285 35 12.980 292.627 0.316 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.316 0.76712.980 0.2980.272 0.285

PAGE 118

118Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 36 12.980 295.138 0.316 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.316 0.76612.980 0.2980.272 0.285 37 12.980 297.607 0.316 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.316 0.76512.980 0.2980.272 0.285 38 12.980 300.035 0.315 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.315 0.76412.980 0.2980.272 0.285 39 12.980 302.424 0.315 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.315 0.76212.980 0.2980.272 0.285 40 12.980 304.776 0.315 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.315 0.76112.980 0.2980.272 0.285 41 12.980 307.092 0.314 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.314 0.76012.980 0.2980.272 0.285 42 12.980 309.374 0.314 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.314 0.75912.980 0.2980.272 0.285 43 12.980 311.624 0.314 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.314 0.75812.980 0.2980.272 0.285 44 12.980 313.842 0.313 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.313 0.75712.980 0.2980.272 0.285 45 12.980 316.030 0.313 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.313 0.75612.980 0.2980.272 0.285 46 12.980 318.188 0.313 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.313 0.75512.980 0.2980.272 0.285 47 12.980 320.319 0.313 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.313 0.75412.980 0.2980.272 0.285 48 12.980 322.422 0.312 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.312 0.75312.980 0.2980.272 0.285 49 12.980 324.500 0.312 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.312 0.75312.980 0.2980.272 0.285 50 12.980 326.670 0.312 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.312 0.75212.980 0.2980.272 0.285 51 12.980 328.911 0.311 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.311 0.75112.980 0.2980.272 0.285 52 12.980 331.130 0.311 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.311 0.75012.980 0.2980.272 0.285 53 12.980 333.327 0.311 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.311 0.74912.980 0.2980.272 0.285 54 12.980 335.503 0.311 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.311 0.74812.980 0.2980.272 0.285 55 12.980 337.658 0.310 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.310 0.74712.980 0.2980.272 0.285 56 12.980 339.794 0.310 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.310 0.74612.980 0.2980.272 0.285 57 12.980 341.911 0.310 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.310 0.74612.980 0.2980.272 0.285 58 12.980 344.009 0.310 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.310 0.74512.980 0.2980.272 0.285 59 12.980 346.089 0.310 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.310 0.74412.980 0.2980.272 0.285 60 12.980 348.152 0.309 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.309 0.74312.980 0.2980.272 0.285 61 12.980 350.198 0.309 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.309 0.74312.980 0.2980.272 0.285 62 12.980 352.227 0.309 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.309 0.74212.980 0.2980.272 0.285 63 12.980 354.241 0.309 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.309 0.74112.980 0.2980.272 0.285 64 12.980 356.238 0.308 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.308 0.74012.980 0.2980.272 0.285 65 12.980 358.221 0.308 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.308 0.74012.980 0.2980.272 0.285 66 12.980 360.188 0.308 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.308 0.73912.980 0.2980.272 0.285 67 12.980 362.141 0.308 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.308 0.73812.980 0.2980.272 0.285 68 12.980 364.080 0.308 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.308 0.73812.980 0.2980.272 0.285 69 12.980 366.006 0.307 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.307 0.73712.980 0.2980.272 0.285 70 12.980 367.918 0.307 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.307 0.73712.980 0.2980.272 0.285

PAGE 119

119Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 71 12.980 369.817 0.307 0.000 0.0000.0000.000 0.000 0.0000.000 0.000 0.0000.307 0.73612.9800.2980.272 0.285 72 12.980 371.645 0.307 7.372 94.4230.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00020.3520.3130.272 0.292 73 12.980 373.577 0.307 11.131 142.2400.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00024.1110.3200.272 0.296 74 12.980 375.438 0.307 14.054 179.2010.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00027.0340.3260.272 0.299 75 12.980 377.288 0.306 16.568 210.8030.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00029.5490.3310.272 0.302 76 12.980 379.126 0.306 16.568 235.8870.3760.000 0.000 0.0000.000 0.000 0.0000.376 0.97129.5490.3310.272 0.302 77 12.980 380.953 0.306 16.568 256.8630.3710.000 0.000 0.0000.000 0.000 0.0000.371 0.95129.5490.3310.272 0.302 78 12.980 382.769 0.306 16.568 275.5490.3660.000 0.000 0.0000.000 0.000 0.0000.366 0.93629.5490.3310.272 0.302 79 12.980 384.574 0.306 16.568 291.8320.3630.000 0.000 0.0000.000 0.000 0.0000.363 0.92429.5490.3310.272 0.302 80 12.980 386.368 0.306 16.568 306.4140.3600.000 0.000 0.0000.000 0.000 0.0000.360 0.91429.5490.3310.272 0.302 81 12.980 388.152 0.305 16.568 319.7050.3570.000 0.000 0.0000.000 0.000 0.0000.357 0.90629.5490.3310.272 0.302 82 12.980 389.925 0.305 16.568 331.9720.3550.000 0.000 0.0000.000 0.000 0.0000.355 0.89929.5490.3310.272 0.302 83 12.980 391.689 0.305 16.568 343.3980.3530.000 0.000 0.0000.000 0.000 0.0000.353 0.89329.5490.3310.272 0.302 84 12.980 393.443 0.305 16.568 354.1200.3520.000 0.000 0.0000.000 0.000 0.0000.352 0.88729.5490.3310.272 0.302 85 12.980 395.188 0.305 16.568 364.2390.3500.000 0.000 0.0000.000 0.000 0.0000.350 0.88229.5490.3310.272 0.302 86 12.980 396.923 0.305 16.568 373.8350.3490.000 0.000 0.0000.000 0.000 0.0000.349 0.87829.5490.3310.272 0.302 87 12.980 398.649 0.305 16.568 382.9700.3480.000 0.000 0.0000.000 0.000 0.0000.348 0.87429.5490.3310.272 0.302 88 12.980 400.366 0.304 16.568 391.6960.3470.000 0.000 0.0000.000 0.000 0.0000.347 0.87029.5490.3310.272 0.302 89 12.980 402.074 0.304 16.568 400.0550.3460.000 0.000 0.0000.000 0.000 0.0000.346 0.86729.5490.3310.272 0.302 90 29.549 406.178 0.345 0.000 0.0000.0000.000 0.000 0.0000.000 0.000 0.0000.345 0.86429.5490.3310.272 0.302 91 29.549 411.541 0.344 0.000 0.0000.0000.000 0.000 0.0000.000 0.000 0.0000.344 0.86029.5490.3310.272 0.302 92 29.549 416.744 0.343 0.000 0.0000.0000.000 0.000 0.0000.000 0.000 0.0000.343 0.85729.5490.3310.272 0.302 93 29.549 421.731 0.342 5.755 134.0350.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00035.3030.3430.272 0.307 94 29.549 426.720 0.341 8.596 196.4580.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00038.1440.3480.272 0.310 95 29.549 431.515 0.340 8.596 242.1870.3760.000 0.000 0.0000.000 0.000 0.0000.376 0.96938.1440.3480.272 0.310 96 29.549 436.193 0.340 8.596 279.6050.3700.000 0.000 0.0000.000 0.000 0.0000.370 0.95138.1440.3480.272 0.310 97 29.549 440.762 0.339 8.596 309.9220.3670.000 0.000 0.0000.000 0.000 0.0000.367 0.93838.1440.3480.272 0.310 98 29.549 445.229 0.338 8.596 335.6830.3640.000 0.000 0.0000.000 0.000 0.0000.364 0.92938.1440.3480.272 0.310 99 29.549 449.600 0.338 8.596 358.1200.3620.000 0.000 0.0000.000 0.000 0.0000.362 0.92138.1440.3480.272 0.310 100 29.549 453.882 0.337 8.596 377.9710.3600.000 0.000 0.0000.000 0.000 0.0000.360 0.91538.1440.3480.272 0.310 101 29.549 458.079 0.337 8.596 395.7310.3580.000 0.000 0.0000.000 0.000 0.0000.358 0.90938.1440.3480.272 0.310 102 29.549 462.196 0.336 8.596 411.7580.3570.000 0.000 0.0000.000 0.000 0.0000.357 0.90438.1440.3480.272 0.310 103 29.549 466.238 0.335 8.596 426.3180.3560.000 0.000 0.0000.000 0.000 0.0000.356 0.90038.1440.3480.272 0.310 104 29.549 470.208 0.335 8.596 439.6250.3540.000 0.000 0.0000.000 0.000 0.0000.354 0.89638.1440.3480.272 0.310 105 29.549 474.110 0.334 8.596 451.8440.3530.000 0.000 0.0000.000 0.000 0.0000.353 0.89338.1440.3480.272 0.310

PAGE 120

120Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 106 29.549 477.948 0.334 8.596 463.116 0.3520.000 0.000 0.0000.000 0.000 0.0000.352 0.88938.1440.3480.272 0.310 107 29.549 481.725 0.333 8.596 473.553 0.3510.000 0.000 0.0000.000 0.000 0.0000.351 0.88638.1440.3480.272 0.310 108 29.549 485.442 0.333 8.596 483.253 0.3510.000 0.000 0.0000.000 0.000 0.0000.351 0.88438.1440.3480.272 0.310 109 38.144 489.820 0.350 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.350 0.88138.1440.3480.272 0.310 110 38.144 495.708 0.349 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.349 0.87838.1440.3480.272 0.310 111 38.144 501.426 0.348 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.348 0.87538.1440.3480.272 0.310 112 38.144 506.987 0.347 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.347 0.87238.1440.3470.273 0.310 113 38.144 512.404 0.346 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.346 0.86938.1440.3460.274 0.310 114 38.144 517.685 0.346 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.346 0.86738.1440.3460.275 0.310 115 38.144 522.841 0.345 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.345 0.86438.1440.3450.275 0.310 116 38.144 527.879 0.344 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.344 0.86238.1440.3440.276 0.310 117 38.144 532.807 0.344 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.344 0.86038.1440.3440.277 0.310 118 38.144 537.632 0.343 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.343 0.85738.1440.3430.277 0.310 119 38.144 542.360 0.342 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.342 0.85538.1440.3420.278 0.310 120 38.144 546.995 0.342 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.342 0.85338.1440.3420.279 0.310 121 38.144 551.544 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.341 0.85138.1440.3410.279 0.310 122 38.144 556.011 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.341 0.85038.1440.3410.280 0.310 123 38.144 560.399 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.340 0.84838.1440.3400.280 0.310 124 38.144 564.713 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.340 0.84638.1440.3400.281 0.310 125 38.144 568.957 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.339 0.84438.1440.3390.281 0.310 126 38.144 573.133 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.339 0.84338.1440.3390.282 0.310 127 38.144 577.245 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.338 0.84138.1440.3380.282 0.310 128 38.144 581.295 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.338 0.83938.1440.3380.283 0.310 129 38.144 585.287 0.337 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.337 0.83838.1440.3370.283 0.310 130 38.144 589.223 0.337 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.337 0.83638.1440.3370.284 0.310 131 38.144 593.104 0.336 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.336 0.83538.1440.3360.284 0.310 132 38.144 596.934 0.336 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.336 0.83438.1440.3360.284 0.310 133 38.144 600.714 0.335 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.335 0.83238.1440.3350.285 0.310 134 38.144 604.446 0.335 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.335 0.83138.1440.3350.285 0.310 135 38.144 608.132 0.335 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.335 0.83038.1440.3350.286 0.310 136 38.144 611.773 0.334 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.334 0.82838.1440.3340.286 0.310 137 38.144 615.372 0.334 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.334 0.82738.1440.3340.286 0.310 138 38.144 618.929 0.334 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.334 0.82638.1440.3340.287 0.310 139 38.144 622.447 0.333 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.333 0.82538.1440.3330.287 0.310 140 38.144 625.912 0.333 6.536 125.547 0.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00044.6800.3460.287 0.317

PAGE 121

121Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 141 38.144 629.367 0.333 9.558 182.426 0.3850.000 0.000 0.0000.000 0.000 0.0000.385 1.00047.702 0.3520.288 0.320 142 38.144 632.773 0.332 9.558 224.432 0.3750.000 0.000 0.0000.000 0.000 0.0000.375 0.96647.702 0.3510.288 0.320 143 38.144 636.143 0.332 9.558 256.958 0.3690.000 0.000 0.0000.000 0.000 0.0000.369 0.94647.702 0.3510.288 0.320 144 38.144 639.480 0.332 9.558 283.910 0.3650.000 0.000 0.0000.000 0.000 0.0000.365 0.93347.702 0.3510.289 0.320 145 38.144 642.784 0.331 9.558 307.406 0.3620.000 0.000 0.0000.000 0.000 0.0000.362 0.92447.702 0.3500.289 0.320 146 38.144 646.056 0.331 9.558 328.438 0.3600.000 0.000 0.0000.000 0.000 0.0000.360 0.91647.702 0.3500.289 0.320 147 38.144 649.297 0.331 9.558 347.579 0.3580.000 0.000 0.0000.000 0.000 0.0000.358 0.90947.702 0.3500.290 0.320 148 38.144 652.509 0.330 9.558 365.199 0.3570.000 0.000 0.0000.000 0.000 0.0000.357 0.90447.702 0.3500.290 0.320 149 38.144 655.691 0.330 9.558 381.553 0.3550.000 0.000 0.0000.000 0.000 0.0000.355 0.89947.702 0.3490.290 0.320 150 38.144 658.844 0.330 9.558 396.829 0.3540.000 0.000 0.0000.000 0.000 0.0000.354 0.89547.702 0.3490.290 0.320 151 38.144 661.971 0.330 9.558 411.168 0.3530.000 0.000 0.0000.000 0.000 0.0000.353 0.89147.702 0.3490.291 0.320 152 38.144 665.070 0.329 9.558 424.683 0.3520.000 0.000 0.0000.000 0.000 0.0000.352 0.88847.702 0.3480.291 0.320 153 38.144 668.143 0.329 9.558 437.462 0.3510.000 0.000 0.0000.000 0.000 0.0000.351 0.88547.702 0.3480.291 0.320 154 38.144 671.191 0.329 9.558 449.581 0.3500.000 0.000 0.0000.000 0.000 0.0000.350 0.88247.702 0.3480.291 0.320 155 38.144 674.214 0.329 9.558 461.100 0.3490.000 0.000 0.0000.000 0.000 0.0000.349 0.87947.702 0.3480.292 0.320 156 38.144 677.214 0.328 9.558 472.073 0.3490.000 0.000 0.0000.000 0.000 0.0000.349 0.87747.702 0.3470.292 0.320 157 38.144 680.189 0.328 9.558 482.546 0.3480.000 0.000 0.0000.000 0.000 0.0000.348 0.87447.702 0.3470.292 0.320 158 38.144 683.142 0.328 9.558 492.556 0.3470.000 0.000 0.0000.000 0.000 0.0000.347 0.87247.702 0.3470.292 0.320 159 38.144 686.072 0.328 9.558 502.139 0.3470.000 0.000 0.0000.000 0.000 0.0000.347 0.87047.702 0.3470.293 0.320 160 38.144 688.980 0.327 9.558 511.326 0.3460.000 0.000 0.0000.000 0.000 0.0000.346 0.86847.702 0.3460.293 0.320 161 38.144 691.868 0.327 9.558 520.144 0.3460.000 0.000 0.0000.000 0.000 0.0000.346 0.86647.702 0.3460.294 0.320 162 38.144 694.734 0.327 9.558 528.617 0.3450.000 0.000 0.0000.000 0.000 0.0000.345 0.86447.702 0.3450.294 0.320 163 38.144 697.580 0.327 9.558 536.768 0.3440.000 0.000 0.0000.000 0.000 0.0000.344 0.86347.702 0.3440.295 0.320 164 38.144 700.370 0.326 9.558 544.402 0.3445.659 138.095 0.3850.000 0.000 0.0000.385 1.00053.361 0.3550.295 0.325 165 38.144 703.213 0.326 9.558 552.147 0.3445.659 197.370 0.3720.000 0.000 0.0000.372 0.95753.361 0.3550.296 0.325 166 38.144 706.001 0.326 9.558 559.445 0.3435.659 240.600 0.3670.000 0.000 0.0000.367 0.93853.361 0.3540.296 0.325 167 38.144 708.770 0.326 9.558 566.490 0.3435.659 276.335 0.3630.000 0.000 0.0000.363 0.92653.361 0.3540.297 0.325 168 38.144 711.521 0.326 9.558 573.297 0.3425.659 307.570 0.3610.000 0.000 0.0000.361 0.91853.361 0.3540.297 0.325 169 38.144 714.254 0.325 9.558 579.879 0.3425.659 335.637 0.3590.000 0.000 0.0000.359 0.91153.361 0.3530.298 0.325 170 38.144 716.970 0.325 9.558 586.248 0.3425.659 361.276 0.3570.000 0.000 0.0000.357 0.90653.361 0.3530.298 0.325 171 38.144 719.668 0.325 9.558 592.415 0.3415.659 384.951 0.3560.000 0.000 0.0000.356 0.90153.361 0.3520.298 0.325 172 38.144 722.350 0.325 9.558 598.391 0.3415.659 406.980 0.3550.000 0.000 0.0000.355 0.89753.361 0.3520.299 0.325 173 38.144 725.016 0.325 9.558 604.184 0.3405.659 427.594 0.3540.000 0.000 0.0000.354 0.89453.361 0.3520.299 0.325 174 38.144 727.666 0.324 9.558 609.805 0.3405.659 446.970 0.3530.000 0.000 0.0000.353 0.89153.361 0.3510.299 0.325 175 38.144 730.299 0.324 9.558 615.261 0.3405.659 465.246 0.3520.000 0.000 0.0000.352 0.88853.361 0.3510.300 0.325

PAGE 122

122Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 176 38.144 732.918 0.324 9.558 620.5600.3395.659 482.5350.3510.000 0.000 0.0000.351 0.88553.361 0.3510.300 0.325 177 38.144 735.521 0.324 9.558 625.7100.3395.659 498.9310.3500.000 0.000 0.0000.350 0.88353.361 0.3500.300 0.325 178 38.144 738.110 0.324 9.558 630.7180.3395.659 514.5120.3500.000 0.000 0.0000.350 0.88153.361 0.3500.301 0.325 179 38.144 740.684 0.323 9.558 635.5900.3395.659 529.3480.3490.000 0.000 0.0000.349 0.87953.361 0.3490.301 0.325 180 38.144 743.244 0.323 9.558 640.3320.3385.659 543.4960.3490.000 0.000 0.0000.349 0.87753.361 0.3490.302 0.325 181 38.144 745.789 0.323 9.558 644.9510.3385.659 557.0100.3480.000 0.000 0.0000.348 0.87553.361 0.3480.303 0.325 182 38.144 748.322 0.323 9.558 649.4500.3385.659 569.9340.3480.000 0.000 0.0000.348 0.87353.361 0.3480.303 0.325 183 38.144 750.840 0.323 9.558 653.8360.3375.659 582.3090.3470.000 0.000 0.0000.347 0.87253.361 0.3470.304 0.325 184 38.144 753.345 0.323 9.558 658.1140.3375.659 594.1740.3470.000 0.000 0.0000.347 0.87053.361 0.3470.304 0.325 185 38.144 755.838 0.322 9.558 662.2880.3375.659 605.5600.3460.000 0.000 0.0000.346 0.86953.361 0.3460.304 0.325 186 38.144 758.317 0.322 9.558 666.3610.3375.659 616.4990.3460.000 0.000 0.0000.346 0.86753.361 0.3460.305 0.325 187 38.144 760.784 0.322 9.558 670.3390.3365.659 627.0170.3450.000 0.000 0.0000.345 0.86653.361 0.3450.305 0.325 188 38.144 763.238 0.322 9.558 674.2260.3365.659 637.1410.3450.000 0.000 0.0000.345 0.86553.361 0.3450.306 0.325 189 38.144 765.681 0.322 9.558 678.0240.3365.659 646.8920.3450.000 0.000 0.0000.345 0.86353.361 0.3450.306 0.325 190 38.144 768.111 0.322 9.558 681.7370.3365.659 656.2920.3440.000 0.000 0.0000.344 0.86253.361 0.3440.306 0.325 191 38.144 770.530 0.322 9.558 685.3700.3355.659 665.3610.3440.000 0.000 0.0000.344 0.86153.361 0.3440.307 0.325 192 38.144 772.937 0.321 9.558 688.9240.3355.659 674.1170.3440.000 0.000 0.0000.344 0.86053.361 0.3440.307 0.325 193 38.144 775.333 0.321 9.558 692.4020.3355.659 682.5760.3430.000 0.000 0.0000.343 0.85953.361 0.3430.307 0.325 194 38.144 777.718 0.321 9.558 695.8090.3355.659 690.7550.3430.000 0.000 0.0000.343 0.85853.361 0.3430.308 0.325 195 38.144 780.092 0.321 9.558 699.1460.3355.659 698.6670.3430.000 0.000 0.0000.343 0.85753.361 0.3430.308 0.325 196 38.144 782.455 0.321 15.217 703.8650.3420.000 0.0000.0000.000 0.000 0.0000.342 0.85553.361 0.3420.308 0.325 197 38.144 784.807 0.321 15.217 709.7000.3420.000 0.0000.0000.000 0.000 0.0000.342 0.85453.361 0.3420.309 0.325 198 38.144 787.149 0.320 15.217 715.4060.3420.000 0.0000.0000.000 0.000 0.0000.342 0.85353.361 0.3420.309 0.325 199 38.144 789.480 0.320 15.217 720.9870.3410.000 0.0000.0000.000 0.000 0.0000.341 0.85253.361 0.3410.309 0.325 200 38.144 791.801 0.320 15.217 726.4480.3410.000 0.0000.0000.000 0.000 0.0000.341 0.85153.361 0.3410.310 0.325 201 38.144 794.113 0.320 15.217 731.7940.3410.000 0.0000.0000.000 0.000 0.0000.341 0.85053.361 0.3410.310 0.325 202 38.144 796.414 0.320 15.217 737.0290.3410.000 0.0000.0000.000 0.000 0.0000.341 0.84953.361 0.3410.310 0.325 203 38.144 798.706 0.320 15.217 742.1570.3400.000 0.0000.0000.000 0.000 0.0000.340 0.84853.361 0.3400.310 0.325 204 38.144 800.988 0.320 15.217 747.1810.3400.000 0.0000.0000.000 0.000 0.0000.340 0.84753.361 0.3400.311 0.325 205 38.144 803.261 0.319 15.217 752.1060.3400.000 0.0000.0000.000 0.000 0.0000.340 0.84753.361 0.3400.311 0.325 206 38.144 805.525 0.319 15.217 756.9350.3390.000 0.0000.0000.000 0.000 0.0000.339 0.84653.361 0.3390.311 0.325 207 38.144 807.779 0.319 15.217 761.6710.3390.000 0.0000.0000.000 0.000 0.0000.339 0.84553.361 0.3390.312 0.325 208 38.144 810.025 0.319 15.217 766.3170.3390.000 0.0000.0000.000 0.000 0.0000.339 0.84453.361 0.3390.312 0.325 209 38.144 812.261 0.319 15.217 770.8770.3390.000 0.0000.0000.000 0.000 0.0000.339 0.84353.361 0.3390.312 0.325 210 38.144 814.489 0.319 15.217 775.3520.3380.000 0.0000.0000.000 0.000 0.0000.338 0.84253.361 0.3380.312 0.325

PAGE 123

123Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 211 38.144 816.708 0.319 15.217 779.747 0.3380.0000.0000.0000.000 0.000 0.0000.338 0.84153.3610.3380.313 0.325 212 38.144 818.919 0.319 15.217 784.063 0.3380.0000.0000.0000.000 0.000 0.0000.338 0.84153.3610.3380.313 0.325 213 38.144 821.121 0.318 15.217 788.303 0.3380.0000.0000.0000.000 0.000 0.0000.338 0.84053.3610.3380.313 0.325 214 38.144 823.315 0.318 15.217 792.469 0.3380.0000.0000.0000.000 0.000 0.0000.338 0.83953.3610.3380.313 0.325 215 38.144 825.501 0.318 15.217 796.564 0.3370.0000.0000.0000.000 0.000 0.0000.337 0.83853.3610.3370.313 0.325 216 38.144 827.679 0.318 15.217 800.590 0.3370.0000.0000.0000.000 0.000 0.0000.337 0.83853.3610.3370.314 0.325 217 38.144 829.849 0.318 15.217 804.549 0.3370.0000.0000.0000.000 0.000 0.0000.337 0.83753.3610.3370.314 0.325 218 38.144 832.011 0.318 15.217 808.442 0.3370.0000.0000.0000.000 0.000 0.0000.337 0.83653.3610.3370.314 0.325 219 38.144 834.165 0.318 15.217 812.272 0.3360.0000.0000.0000.000 0.000 0.0000.336 0.83553.3610.3360.314 0.325 220 38.144 836.312 0.318 15.217 816.041 0.3360.0000.0000.0000.000 0.000 0.0000.336 0.83553.3610.3360.314 0.325 221 38.144 838.451 0.317 15.217 819.751 0.3360.0000.0000.0000.000 0.000 0.0000.336 0.83453.3610.3360.315 0.325 222 38.144 840.582 0.317 15.217 823.402 0.3360.0000.0000.0000.000 0.000 0.0000.336 0.83353.3610.3360.315 0.325 223 38.144 842.707 0.317 15.217 826.997 0.3360.0000.0000.0000.000 0.000 0.0000.336 0.83353.3610.3360.315 0.325 224 38.144 844.789 0.317 15.217 830.429 0.3356.141124.0040.3850.000 0.000 0.0000.385 1.00059.5020.3480.315 0.332 225 38.144 846.934 0.317 15.217 834.015 0.3359.164184.3330.3850.000 0.000 0.0000.385 1.00062.5260.3540.315 0.335 226 38.144 849.037 0.317 15.217 837.451 0.33511.559231.6210.3850.000 0.000 0.0000.385 1.00064.9200.3580.316 0.337 227 38.144 851.133 0.317 15.217 840.836 0.33513.639272.3060.3850.000 0.000 0.0000.385 1.00067.0000.3620.316 0.339 228 38.144 853.222 0.317 15.217 844.173 0.33515.522308.7960.3850.000 0.000 0.0000.385 1.00068.8840.3660.316 0.341 229 38.144 855.304 0.317 15.217 847.462 0.33515.522352.2080.3790.000 0.000 0.0000.379 0.97868.8840.3660.316 0.341 230 38.144 857.379 0.316 15.217 850.705 0.33415.522384.2100.3750.000 0.000 0.0000.375 0.96568.8840.3650.316 0.341 231 38.144 859.448 0.316 15.217 853.903 0.33415.522411.7650.3720.000 0.000 0.0000.372 0.95668.8840.3650.317 0.341 232 38.144 861.510 0.316 15.217 857.056 0.33415.522436.6170.3700.000 0.000 0.0000.370 0.94868.8840.3650.317 0.341 233 38.144 863.566 0.316 15.217 860.167 0.33415.522459.5050.3680.000 0.000 0.0000.368 0.94168.8840.3650.317 0.341 234 38.144 865.615 0.316 15.217 863.236 0.33415.522480.8550.3660.000 0.000 0.0000.366 0.93668.8840.3650.317 0.341 235 38.144 867.658 0.316 15.217 866.265 0.33415.522500.9440.3650.000 0.000 0.0000.365 0.93168.8840.3650.317 0.341 236 38.144 869.695 0.316 15.217 869.253 0.33315.522519.9700.3630.000 0.000 0.0000.363 0.92668.8840.3630.319 0.341 237 53.361 871.862 0.333 15.522 538.079 0.3620.0000.0000.0000.000 0.000 0.0000.362 0.92268.8840.3620.320 0.341 238 53.361 874.951 0.333 15.522 554.318 0.3610.0000.0000.0000.000 0.000 0.0000.361 0.91968.8840.3610.321 0.341 239 53.361 878.020 0.333 15.522 569.789 0.3600.0000.0000.0000.000 0.000 0.0000.360 0.91568.8840.3600.322 0.341 240 53.361 881.068 0.333 15.522 584.567 0.3590.0000.0000.0000.000 0.000 0.0000.359 0.91268.8840.3590.323 0.341 241 53.361 884.096 0.332 15.522 598.716 0.3580.0000.0000.0000.000 0.000 0.0000.358 0.90968.8840.3580.323 0.341 242 53.361 887.104 0.332 15.522 612.289 0.3580.0000.0000.0000.000 0.000 0.0000.358 0.90768.8840.3580.324 0.341 243 53.361 890.093 0.332 15.522 625.332 0.3570.0000.0000.0000.000 0.000 0.0000.357 0.90468.8840.3570.325 0.341 244 53.361 893.064 0.332 15.522 637.884 0.3560.0000.0000.0000.000 0.000 0.0000.356 0.90268.8840.3560.326 0.341 245 53.361 896.016 0.332 15.522 649.981 0.3550.0000.0000.0000.000 0.000 0.0000.355 0.90068.8840.3550.326 0.341

PAGE 124

124Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 246 53.361 898.950 0.331 15.522 661.652 0.3550.000 0.000 0.0000.000 0.000 0.0000.355 0.89868.8840.3550.327 0.341 247 53.361 901.866 0.331 15.522 672.926 0.3540.000 0.000 0.0000.000 0.000 0.0000.354 0.89668.8840.3540.328 0.341 248 53.361 904.765 0.331 15.522 683.826 0.3540.000 0.000 0.0000.000 0.000 0.0000.354 0.89468.8840.3540.328 0.341 249 53.361 907.647 0.331 15.522 694.375 0.3530.000 0.000 0.0000.000 0.000 0.0000.353 0.89268.8840.3530.329 0.341 250 53.361 910.512 0.331 15.522 704.592 0.3530.000 0.000 0.0000.000 0.000 0.0000.353 0.89068.8840.3530.329 0.341 251 53.361 913.361 0.330 15.522 714.496 0.3520.000 0.000 0.0000.000 0.000 0.0000.352 0.88968.8840.3520.330 0.341 252 53.361 916.193 0.330 15.522 724.103 0.3520.000 0.000 0.0000.000 0.000 0.0000.352 0.88768.8840.3520.330 0.341 253 53.361 919.010 0.330 15.522 733.428 0.3510.000 0.000 0.0000.000 0.000 0.0000.351 0.88668.8840.3510.331 0.341 254 53.361 921.811 0.330 15.522 742.486 0.3510.000 0.000 0.0000.000 0.000 0.0000.351 0.88468.8840.3510.331 0.341 255 53.361 924.597 0.330 15.522 751.289 0.3500.000 0.000 0.0000.000 0.000 0.0000.350 0.88368.8840.3500.331 0.341 256 53.361 927.367 0.330 15.522 759.849 0.3500.000 0.000 0.0000.000 0.000 0.0000.350 0.88168.8840.3500.332 0.341 257 53.361 930.124 0.329 15.522 768.178 0.3500.000 0.000 0.0000.000 0.000 0.0000.350 0.88068.8840.3500.332 0.341 258 53.361 932.865 0.329 15.522 776.285 0.3490.000 0.000 0.0000.000 0.000 0.0000.349 0.87968.8840.3490.333 0.341 259 53.361 935.585 0.329 15.522 784.140 0.3495.529 152.854 0.3850.000 0.000 0.0000.385 1.00074.4120.3600.333 0.346 260 53.361 938.306 0.329 15.522 791.870 0.3488.115 222.146 0.3850.000 0.000 0.0000.385 1.00076.9980.3650.333 0.349 261 53.361 941.005 0.329 15.522 799.370 0.3488.115 283.836 0.3770.000 0.000 0.0000.377 0.97276.9980.3640.334 0.349 262 53.361 943.691 0.329 15.522 806.683 0.3488.115 329.931 0.3720.000 0.000 0.0000.372 0.95776.9980.3640.334 0.349 263 53.361 946.363 0.328 15.522 813.819 0.3478.115 369.549 0.3690.000 0.000 0.0000.369 0.94776.9980.3640.334 0.349 264 53.361 949.023 0.328 15.522 820.783 0.3478.115 405.157 0.3670.000 0.000 0.0000.367 0.94076.9980.3630.335 0.349 265 53.361 951.669 0.328 15.522 827.582 0.3478.115 437.868 0.3650.000 0.000 0.0000.365 0.93376.9980.3630.335 0.349 266 53.361 954.303 0.328 15.522 834.223 0.3478.115 468.315 0.3640.000 0.000 0.0000.364 0.92876.9980.3630.335 0.349 267 53.361 956.924 0.328 15.522 840.711 0.3468.115 496.905 0.3630.000 0.000 0.0000.363 0.92476.9980.3620.336 0.349 268 53.361 959.533 0.328 15.522 847.053 0.3468.115 523.921 0.3610.000 0.000 0.0000.361 0.92076.9980.3610.337 0.349 269 53.361 962.130 0.327 15.522 853.254 0.3468.115 549.568 0.3600.000 0.000 0.0000.360 0.91776.9980.3600.338 0.349 270 53.361 964.714 0.327 15.522 859.318 0.3458.115 574.004 0.3600.000 0.000 0.0000.360 0.91476.9980.3600.338 0.349 271 53.361 967.287 0.327 15.522 865.251 0.3458.115 597.350 0.3590.000 0.000 0.0000.359 0.91176.9980.3590.339 0.349 272 53.361 969.849 0.327 15.522 871.058 0.3458.115 619.708 0.3580.000 0.000 0.0000.358 0.90876.9980.3580.340 0.349 273 53.361 972.399 0.327 15.522 876.742 0.3458.115 641.160 0.3570.000 0.000 0.0000.357 0.90676.9980.3570.341 0.349 274 53.361 974.937 0.327 15.522 882.308 0.3448.115 661.775 0.3570.000 0.000 0.0000.357 0.90476.9980.3570.341 0.349 275 53.361 977.465 0.327 15.522 887.759 0.3448.115 681.614 0.3560.000 0.000 0.0000.356 0.90276.9980.3560.342 0.349 276 53.361 979.982 0.326 15.522 893.101 0.3448.115 700.729 0.3550.000 0.000 0.0000.355 0.90076.9980.3550.343 0.349 277 53.361 982.488 0.326 15.522 898.336 0.3448.115 719.165 0.3550.000 0.000 0.0000.355 0.89876.9980.3550.343 0.349 278 53.361 984.983 0.326 15.522 903.467 0.3438.115 736.964 0.3540.000 0.000 0.0000.354 0.89676.9980.3540.344 0.349 279 53.361 987.468 0.326 15.522 908.499 0.3438.115 754.161 0.3540.000 0.000 0.0000.354 0.89576.9980.3540.344 0.349 280 53.361 989.942 0.326 15.522 913.434 0.3438.115 770.789 0.3530.000 0.000 0.0000.353 0.89376.9980.3530.345 0.349

PAGE 125

125Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm) Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 281 53.361 992.406 0.326 15.522 918.2760.3438.115 786.8800.3530.000 0.000 0.0000.3530.89176.998 0.3530.345 0.349 282 53.361 994.861 0.326 15.522 923.0260.3428.115 802.4600.3530.000 0.000 0.0000.3530.89076.998 0.3530.345 0.349 283 53.361 997.305 0.326 15.522 927.6890.3428.115 817.5540.3520.000 0.000 0.0000.3520.88976.998 0.3520.346 0.349 284 53.361 999.739 0.325 15.522 932.2670.3428.115 832.1870.3520.000 0.000 0.0000.3520.88776.998 0.3520.346 0.349 285 53.361 1002.164 0.325 15.522 936.7620.3428.115 846.3790.3510.000 0.000 0.0000.3510.88676.998 0.3510.346 0.349 286 53.361 1004.580 0.325 15.522 941.1770.3428.115 860.1510.3510.000 0.000 0.0000.3510.88576.998 0.3510.346 0.349 287 53.361 1006.986 0.325 15.522 945.5150.3418.115 873.5220.3510.000 0.000 0.0000.3510.88476.998 0.3510.347 0.349 288 53.361 1009.382 0.325 15.522 949.7760.3418.115 886.5090.3500.000 0.000 0.0000.3500.88376.998 0.3500.347 0.349 289 53.361 1011.770 0.325 15.522 953.9650.3418.115 899.1290.3500.000 0.000 0.0000.3500.88176.998 0.3500.347 0.348 290 53.361 1014.149 0.325 15.522 958.0820.3418.115 911.3980.3500.000 0.000 0.0000.3500.88076.998 0.3500.347 0.348 291 53.361 1016.518 0.324 15.522 962.1310.3418.115 923.3300.3490.000 0.000 0.0000.3490.87976.998 0.3490.347 0.348 292 53.361 1018.879 0.324 15.522 966.1120.3408.115 934.9390.3490.000 0.000 0.0000.3490.87876.998 0.3490.347 0.348 293 53.361 1021.231 0.324 15.522 970.0280.3408.115 946.2370.3490.000 0.000 0.0000.3490.87776.998 0.3490.347 0.348 294 53.361 1023.575 0.324 15.522 973.8810.3408.115 957.2390.3490.000 0.000 0.0000.3490.87676.998 0.3490.347 0.348 295 53.361 1025.910 0.324 15.522 977.6720.3408.115 967.9540.3480.000 0.000 0.0000.3480.87676.998 0.3480.347 0.348 296 53.361 1028.237 0.324 15.522 981.4030.3408.115 978.3940.3480.000 0.000 0.0000.3480.87576.998 0.3480.347 0.348 297 53.361 1030.555 0.324 23.637 986.2720.3480.000 0.0000.0000.000 0.000 0.0000.3480.87476.998 0.3480.347 0.347 298 53.361 1032.866 0.324 23.637 992.3170.3470.000 0.0000.0000.000 0.000 0.0000.3470.87376.998 0.3470.347 0.347 299 53.361 1035.168 0.324 23.637 998.2580.3470.000 0.0000.0000.000 0.000 0.0000.3470.87276.998 0.3470.347 0.347 300 53.361 1037.462 0.323 23.637 1004.0980.3470.000 0.0000.0000.000 0.000 0.0000.3470.87176.998 0.3470.347 0.347 301 53.361 1039.749 0.323 23.637 1009.8400.3470.000 0.0000.0000.000 0.000 0.0000.3470.87076.998 0.3470.347 0.347 302 53.361 1042.027 0.323 23.637 1015.4880.3460.000 0.0000.0000.000 0.000 0.0000.3460.86976.998 0.3460.346 0.346 303 53.361 1044.298 0.323 23.637 1021.0430.3460.000 0.0000.0000.000 0.000 0.0000.3460.86976.998 0.3460.346 0.346 304 53.361 1046.562 0.323 23.637 1026.5090.3460.000 0.0000.0000.000 0.000 0.0000.3460.86876.998 0.3460.346 0.346 305 53.361 1048.818 0.323 23.637 1031.8880.3460.000 0.0000.0000.000 0.000 0.0000.3460.86776.998 0.3460.346 0.346 306 53.361 1051.066 0.323 23.637 1037.1820.3460.000 0.0000.0000.000 0.000 0.0000.3460.86676.998 0.3460.346 0.346 307 53.361 1053.307 0.323 23.637 1042.3940.3450.000 0.0000.0000.000 0.000 0.0000.3450.86676.998 0.3450.345 0.345 308 53.361 1055.541 0.323 23.637 1047.5260.3450.000 0.0000.0000.000 0.000 0.0000.3450.86576.998 0.3450.345 0.345 309 53.361 1057.768 0.322 23.637 1052.5800.3450.000 0.0000.0000.000 0.000 0.0000.3450.86476.998 0.3450.345 0.345 310 53.361 1059.988 0.322 23.637 1057.5580.3450.000 0.0000.0000.000 0.000 0.0000.3450.86376.998 0.3450.345 0.345 311 76.998 1062.281 0.344 0.000 0.0000.0000.000 0.0000.0000.000 0.000 0.0000.3440.86376.998 0.3440.344 0.344 312 76.998 1066.095 0.344 0.000 0.0000.0000.000 0.0000.0000.000 0.000 0.0000.3440.86276.998 0.3440.344 0.344 313 76.998 1069.878 0.344 0.000 0.0000.0000.000 0.0000.0000.000 0.000 0.0000.3440.86176.998 0.3440.344 0.344 314 76.998 1073.629 0.344 0.000 0.0000.0000.000 0.0000.0000.000 0.000 0.0000.3440.86076.998 0.3440.344 0.344 315 76.998 1077.350 0.343 0.000 0.0000.0000.000 0.0000.0000.000 0.000 0.0000.3430.85976.998 0.3430.343 0.343

PAGE 126

126Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm)Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 316 76.998 1081.041 0.343 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3430.85876.998 0.3430.343 0.343 317 76.998 1084.703 0.343 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3430.85876.998 0.3430.343 0.343 318 76.998 1088.336 0.343 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3430.85776.998 0.3430.343 0.343 319 76.998 1091.942 0.343 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3430.85676.998 0.3430.343 0.343 320 76.998 1095.520 0.342 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3420.85576.998 0.3420.342 0.342 321 76.998 1099.072 0.342 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3420.85476.998 0.3420.342 0.342 322 76.998 1102.598 0.342 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3420.85476.998 0.3420.342 0.342 323 76.998 1106.099 0.342 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3420.85376.998 0.3420.342 0.342 324 76.998 1109.574 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3410.85276.998 0.3410.341 0.341 325 76.998 1113.026 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3410.85176.998 0.3410.341 0.341 326 76.998 1116.453 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3410.85176.998 0.3410.341 0.341 327 76.998 1119.857 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3410.85076.998 0.3410.341 0.341 328 76.998 1123.238 0.341 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3410.84976.998 0.3410.341 0.341 329 76.998 1126.597 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3400.84976.998 0.3400.340 0.340 330 76.998 1129.934 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3400.84876.998 0.3400.340 0.340 331 76.998 1133.249 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3400.84776.998 0.3400.340 0.340 332 76.998 1136.543 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3400.84776.998 0.3400.340 0.340 333 76.998 1139.816 0.340 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3400.84676.998 0.3400.340 0.340 334 76.998 1143.069 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3390.84576.998 0.3390.339 0.339 335 76.998 1146.302 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3390.84576.998 0.3390.339 0.339 336 76.998 1149.515 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3390.84476.998 0.3390.339 0.339 337 76.998 1152.709 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3390.84376.998 0.3390.339 0.339 338 76.998 1155.884 0.339 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3390.84376.998 0.3390.339 0.339 339 76.998 1159.041 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3380.84276.998 0.3380.338 0.338 340 76.998 1162.179 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3380.84276.998 0.3380.338 0.338 341 76.998 1165.299 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3380.84176.998 0.3380.338 0.338 342 76.998 1168.402 0.338 0.000 0.000 0.0000.000 0.000 0.0000.000 0.000 0.0000.3380.84076.998 0.3380.338 0.338 343 76.998 1171.437 0.338 6.024 127.437 0.3850.000 0.000 0.0000.000 0.000 0.0000.3851.00083.022 0.3500.338 0.344 344 76.998 1174.555 0.338 8.983 189.339 0.3850.000 0.000 0.0000.000 0.000 0.0000.3851.00085.981 0.3560.338 0.347 345 76.998 1177.606 0.337 11.330 237.950 0.3850.000 0.000 0.0000.000 0.000 0.0000.3851.00088.328 0.3600.337 0.349 346 76.998 1180.641 0.337 11.330 285.888 0.3770.000 0.000 0.0000.000 0.000 0.0000.3770.97288.328 0.3600.337 0.349 347 76.998 1183.660 0.337 11.330 320.653 0.3720.000 0.000 0.0000.000 0.000 0.0000.3720.95788.328 0.3600.337 0.348 348 76.998 1186.663 0.337 11.330 350.477 0.3690.000 0.000 0.0000.000 0.000 0.0000.3690.94688.328 0.3600.337 0.348 349 76.998 1189.650 0.337 11.330 377.259 0.3670.000 0.000 0.0000.000 0.000 0.0000.3670.93888.328 0.3590.337 0.348 350 76.998 1192.622 0.337 11.330 401.862 0.3650.000 0.000 0.0000.000 0.000 0.0000.3650.93188.328 0.3590.337 0.348

PAGE 127

127Table D-1. Continued Time (h) F1 (mm) Z1 (mm) WC1 F2 (mm)Z2 (mm)WC2F3 (mm)Z3 (mm)WC3F4 (mm) Z4 (mm)WC4WCORWCF (mm) 0-500 500-10000-1000 351 76.998 1195.578 0.336 11.330 424.7850.3630.000 0.000 0.0000.000 0.000 0.0000.3630.92688.328 0.3590.336 0.348 352 76.998 1198.520 0.336 11.330 446.3520.3620.000 0.000 0.0000.000 0.000 0.0000.3620.92188.328 0.3590.336 0.348 353 76.998 1201.446 0.336 11.330 466.7880.3600.000 0.000 0.0000.000 0.000 0.0000.3600.91688.328 0.3590.336 0.347 354 76.998 1204.358 0.336 11.330 486.2580.3590.000 0.000 0.0000.000 0.000 0.0000.3590.91388.328 0.3590.336 0.347 355 76.998 1207.256 0.336 11.330 504.8870.3580.000 0.000 0.0000.000 0.000 0.0000.3580.90988.328 0.3580.336 0.347 356 76.998 1210.140 0.336 11.330 522.7730.3570.000 0.000 0.0000.000 0.000 0.0000.3570.90688.328 0.3570.337 0.347 357 76.998 1213.010 0.335 11.330 539.9930.3560.000 0.000 0.0000.000 0.000 0.0000.3560.90388.328 0.3560.337 0.347 358 76.998 1215.866 0.335 11.330 556.6110.3560.000 0.000 0.0000.000 0.000 0.0000.3560.90188.328 0.3560.338 0.347 359 76.998 1218.709 0.335 11.330 572.6790.3550.000 0.000 0.0000.000 0.000 0.0000.3550.89888.328 0.3550.338 0.347 360 76.998 1221.539 0.335 11.330 588.2410.3540.000 0.000 0.0000.000 0.000 0.0000.3540.89688.328 0.3540.338 0.346 361 76.998 1224.355 0.335 11.330 603.3350.3540.000 0.000 0.0000.000 0.000 0.0000.3540.89488.328 0.3540.339 0.346 362 76.998 1227.159 0.335 11.330 617.9920.3530.000 0.000 0.0000.000 0.000 0.0000.3530.89288.328 0.3530.339 0.346 363 76.998 1229.950 0.335 11.330 632.2420.3530.000 0.000 0.0000.000 0.000 0.0000.3530.89088.328 0.3530.339 0.346 364 76.998 1232.728 0.334 11.330 646.1080.3520.000 0.000 0.0000.000 0.000 0.0000.3520.88888.328 0.3520.340 0.346 365 76.998 1235.494 0.334 11.330 659.6130.3510.000 0.000 0.0000.000 0.000 0.0000.3510.88688.328 0.3510.340 0.346

PAGE 128

128 APPENDIX E MGAR COMPUTER SOURCE CODE (DELPHI 7) Program MGAR; { Written for: PhD Dissertation Last Updated: October 2007 Written by: Leslie Gowdish Ag. & Bio. Eng. Department University of Florida Email: Leslie@Gowdish.com } { Program: 1-dimensional modified Green-Ampt infiltration and redistribution method (MGAR) } { Code is written in Delphi language. Program MGAR contains 1 form and 4 additional separa te units: quadrat, infilHydrol, main and optnData. } uses Forms, quadrat in 'c:\delphi\MGAR\quadrat.pas', InfilHydrol in 'c:\del phi\MGAR\infilHydrol.pas', Main in 'c:\delphi\MGAR\Main.pas' {Form1}, optnData in 'c:\delphi\MGAR\optnData.pas', {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.

PAGE 129

129UNIT Main; {-------------------unit sets up form for running program----------------------------------------------} {-------------------unit calls initialization procedures and controls simulation runtime------------} INTERFACE USES Windows, Messages, SysUtils, Variants Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, infilHydrol, optnData, quadrat; TYPE TForm1 = class(TForm) Start: TButton; Memo1: TMemo; procedure StartClick(Sender: TObject); private { Private declarations } public { Public declarations } end; VAR Form1: TForm1; Function GetCurrentDateTime: TDateTime; IMPLEMENTATION {$R *.dfm} {Function to get current PC time-----------------------------------------------------------------------} Function GetCurrentDateTime: TDateTime; var SystemTime: TSystemTime; begin GetLocalTime(SystemTime); Result := SystemTimeToDateTime(SystemTime); end; {Procedure to run model once RUN button is pushed------------------------------------------------} PROCEDURE TForm1.StartClick(Sender: TObject); VAR Q ,x: integer; TSTART : DOUBLE; TEND : DOUBLE; InitTime : TDateTime; EndTime : TDateTime; BEGIN InitTime := getCurrentDateTime; {create quadrats and initialize variables ---------------------------------------------------------} createQuadratData; BuildInitialQuadratRecords; tstart := 0; tend := 1; AssignFile(SomeTxtFile,'C:\MGAR InputFiles\InfilContTest.txt'); Try ReWrite(SomeTxtFile); WriteLn(SomeTxtFile, 'Time F1 Z1 WC1 F2 Z2 WC2 F3 Z3 WC3 F4 Z4 WC4 WCO + 'RWC CummInfil 0-500 500-1000 0-1000'); FOR X := 0 to precipCount-1 DO

PAGE 130

130 BEGIN FOR Q := 1 to NUMQUADRATS DO BEGIN QP^[Q]^.precipRate := QP^[Q]^.precips[X]; QP^[Q]^.infilR ate := calcInfilRate(Q,tstart,tend); tstart := tstart +1; tend := tend +1; END;//end for Q END;//end for x Finally CloseFile(SomeTxtFile); END; //try EndTime := getCurrentDateTime; Memo1.Lines.Add(DateTimetoStr(InitTime)); Memo1.Lines.Add(DateTimetoStr(EndTime)); END; end.

PAGE 131

131UNIT optnData; {--------------------unit controls constant variables used throughout program----------------------} {--------------------includes time step; user can adjust based on precip inputs ---------------------} INTERFACE CONST MaxNumQuadrats = 1; //maximum number of quadrats MaxNumLayers = 10; //maximum number of observation layers NumQuadrats = 1; {actual number of quadrats each quadrant can have different rain and/or soil parameters; allows for simulation of several sites} deltaT = 1.0; //1 hour intial time step IMPLEMENTATION end.

PAGE 132

132UNIT quadrat; {----------------unit initializes variables used throughout program-------------------------------} {-----------------unit reads in user defined parameters/variables------------------------------------} INTERFACE USES Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, contnrs, optnData; TYPE {Setup wetting front parameters -------------------------------------------------------------------} WettingFrontData = RECORD z : REAL; FAmt : REAL; WC : REAL; WCHold : REAL; NumRedist : INTEGER; redistTime : REAL; adjFactor : REAL; END; { QUADRAT TYPES -----------------------------------------------------------------------------} { QP Array > QuadPosition Pointer > QuadratData Record } { Main Quadrat Pointer Variable } QuadPosition = ^QuadratData ; QPosition = ARRAY [ 0 .. MaxNumQuadrats ] OF QuadPosition ; { Quadrat Record for Heap Data Storage } QuadratData = RECORD { Data Read from Files ------------------------------------------------------------------------------} Sav : DOUBLE ; //avera ge suction at wetting front or capillary pressure PsiB : DOUBLE ; //bubbling pressure lambda : DOUBLE ; //pore size distribution index WCI : DOUBLE ; //initial water content (wilting point) WCS : DOUBLE ; // saturated water content WCR : DOUBLE ; // residual water content ks : DOUBLE ; // saturated hydraulic conductivity Smax : DOUBLE ; // max depression storage runoff begins once filled WCMin : DOUBLE ; //minimum wc that occurs strictly from redistribution NumObsLayers : INTEGER; //number of observation layers ProfileDepth : ARRAY [ 0 .. MaxNumLayers ] OF REAL ; //depth of obs layers TopObsLayers : ARRAY [ 0 .. MaxNumLayers ] OF REAL ; //depths of tops of obs layers precips : ARRAY of DOUBLE; //precipitation intensity array { Computed Data NOT Read from files ----------------------------------------------------------------} pondFlag : INTEGER ; // flag that tells if ponding has occurred redistStatus : INTEGER ; // fl ag that tells what stage of redistribution {wetting front : WF 10 : 1 front infiltration only 11 : 1 front redistributing and possible infiltration if precip < ks 20 : 2 fronts WF 1 redist ributing only; WF 2 infiltrating only 21 : 2 fronts WF 1 redistributing onl y; WF 2 redistributing w/ possible infiltration 30 : 3 fronts WF 1 and 2 re distributing only, WF 3 infiltrating only 31 : 3 fronts WF 1 and 2 redistributing only, WF 3 redist w/possible infil 40 : 4 fronts WF 1, 2, and 3 redistributing only, WF 4 infil only} WCO : DOUBLE ; //water content at surface RWC : DOUBLE ; // relative water content fp : DOUBLE ; //infiltration rate

PAGE 133

133 Bfp : DOUBLE ; //potential infiltration rate timeToPond : DOUBLE ; // time to ponding tpp : DOUBLE ; //time shift precipRate : DOUBLE ; //precipitation rate cummPrecip : DOUBLE ; // cummulative precipitation pondingAmt : DOUBLE; //amount of ponding on surface infilRate : DOUBLE ; //infiltration rate cummInfil : DOUBLE ; //cummulative infiltration runoffAmt : DOUBLE ; //amount water available to runoff (not ponding) tstarts : ARRAY of DOUBLE; //start time for precip info array tends : ARRAY of DOUBLE; //end time for precip info array LayerAvgWC :ARRAY [ 0 .. MaxNumLayers ] OF REAL ; //avg wc of obs Layers LayerBottomZ : ARRAY [0 .. MaxNumLayers] OF REAL; //depth of bottom of layer numRedist : INTEGER ; //cumulative number redistribution phases time : real ; //simulation time redistTime : real; //time within redistribution phase tpAdj : integer; //time adjustment for time to pond calculation WF : ARRAY [ 1 .. 4] OF WettingFrontData; end; VAR { -------------------------------------------------------------------------------------------} precipCount : INTEGER; { Quadrat Record Position Array } { QP Array > QuadPosition Pointer > QuadData Record } {QP : ARRAY [ 0 .. MaxNumQuadrats ] OF QuadPosition ; } QP : ^ QPosition ; { 0 is total grid record 1 .. NumQuadrats are records for each quadrat } PROCEDURE CreateQuadratData ; PROCEDURE BuildInitialQuadratRecords ; IMPLEMENTATION PROCEDURE CreateQuadratData ; VAR Q : INTEGER ; BEGIN { PROCEDURE CreateQuadData } { CREATE MaxNumQuadrats NEW QUADRAT TYPES AT THE START -------------} New ( QP ) ; FOR Q := 0 TO MaxNumQuadrats DO BEGIN New ( QP^[Q] ) ; END; END ; { PROCEDURE CreateQuadData } PROCEDURE BuildInitialQuadratRecords ; {Assign soil and rain inputs an d initialize parameters-----------------------------------------} CONST precipFilename = 'c:\MGARInputFiles\clay_rain.txt'; soilFilename = 'c:\MGARInputFiles\clay_soil.txt'; VAR Q, L, T: INTEGER;

PAGE 134

134 row, col : INTEGER; index: INTEGER; precipFile : TStrings; precipLine : TStrings; soilFile: TStrings; soilLine: Tstrings; BEGIN FOR Q := 1 TO NumQuadrats DO BEGIN { FOR Q } precipFile := TSTringList.Create; precipFile.LoadFromFile(precipFilename); precipLine := TSTringList.Create; precipLine.Delimiter := '; precipCount := 0; index := 0; {count number of precip inputs and set up array--------------------------------------------------------} FOR Row :=0 TO (precipFile.count-1)D O //iterates through each line of file (rows) BEGIN precipLine.DelimitedText := precipFile[Row]; For Col:= 0 TO (precipLine.count-1) DO//iterates through each column of line BEGIN precipCount := precipCount + 1; END; END; setLength(QP^[Q]^.precips, precipCount); {read in precip inputs to array-------------------------------------------------------------------------------} FOR Row := 0 TO (precipFile.count -1) DO BEGIN precipLine.DelimitedText := precipFile[Row]; For Col:= 0 TO (precipLine.count-1) DO//read line BEGIN QP^[Q]^.precips[index] := strToFloat(precipLine[Col]); index := index + 1; END; END; {read in soil property data ----------------------------------------------------------------------------------} soilFile := TStringList.Create; soilFile.LoadFromFile(soilFilename); soilLine := TStringList.Create; {loop to read soil file ----------------------------------------------------------------------------------------} FOR Row := 0 TO (soilFile.count -1) DO BEGIN soilLine.DelimitedText := soilFile[Row]; IF Row = 0 THEN BEGIN QP^[Q]^.ks := strToFloat(soilLine[0]); QP^[Q]^.Sav := strToFloat(soilLine[1]); QP^[Q]^.WCS := strToFloat(soilLine[2]); QP^[Q]^.WCI := strToFloat(soilLine[3]); QP^[Q]^.WCR := strToFloat(soilLine[4]); QP^[Q]^.PsiB := strToFloat(soilLine[5]); QP^[Q]^.lambda := strToFloat(soilLine[6]); QP^[Q]^.Smax := strToFloat(soilLine[7]);

PAGE 135

135 QP^[Q]^.WCmin := strToFloat(soilLine[8]); END ELSE IF Row = 1 THEN BEGIN QP^[Q]^.NumObsLayers := strToInt(soilLine[0]); END ELSE IF Row = 2 THEN BEGIN FOR L := 1 TO QP^[Q]^.NumObsLayers DO QP^[Q]^.ProfileDe pth[L] := strToFloat(soilLine[L-1]); END ELSE IF Row = 3 THEN BEGIN FOR L := 1 TO QP^[Q]^.NumObsLayers DO QP^[Q]^.TopObsLayers[L] := strToFloat(soilLine[L-1]); END; END; //for Row END ; { FOR Q } {loops to initialize calculated variab les -----------------------------------------------------------} FOR Q := 1 TO NumQuadrats DO BEGIN QP^[Q]^.pondFlag := 0 ; QP^[Q]^.redistStatus := 10 ; QP^[Q]^.WCO := 0.0 ; QP^[Q]^.RWC := 0.0 ; QP^[Q]^.fp := 0.0 ; QP^[Q]^.Bfp := 0.0 ; QP^[Q]^.timeToPond := 0.0 ; QP^[Q]^.tpp := 0.0 ; QP^[Q]^.precipRate := 0.0 ; QP^[Q]^.cummPrecip := 0.0 ; QP^[Q]^.pondingAmt := 0.0 ; QP^[Q]^.infilRate := 0.0 ; QP^[Q]^.cummInfil := 0.0 ; QP^[Q]^.runoffAmt := 0.0 ; END; FOR Q := 1 TO NumQuadrats DO Begin QP^[Q]^.numRedist := 0; QP^[Q]^.redistTime := 0.0; QP^[Q]^.time := 0.0; QP^[Q]^.tpAdj := 0; END; {loop for initializing wetting front data ---------------------------------------------------------------} FOR Q := 1 TO NumQuadrats DO BEGIN FOR T := 1 TO 4 DO BEGIN QP^[Q]^.WF[T].z := 0.0; QP^[Q]^.WF[T].FAmt := 0.0; QP^[Q]^.WF[T].WC := 0.0; QP^[Q]^.WF[T].WCHold := 0.0; QP^[Q]^.WF[T].NumRedist := 0; QP^[Q]^.WF[T].RedistTime := 0.0; QP^[Q]^.WF[T].adjFactor := 0.0;

PAGE 136

136 END; QP^[Q]^.WF[1].WC := QP^[Q]^.WCI; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCI; END; {Loop to initialize observation layers and average water content} FOR Q := 1 TO NumQuadrats DO BEGIN { FOR Q } FOR L := 1 TO QP^[Q]^.NumObsLayers DO //READ BEGIN QP^[Q]^.LayerBottomZ[L] := QP^[ Q]^.TopObsLayers[L] + QP^[Q]^.ProfileDepth[L]; QP^[Q]^.LayerAvgWC[L] := 0.0; END; END ; { FOR Q } END; end.

PAGE 137

137UNIT InfilHydrol; {---------------unit contains all infiltration and redistri bution calculations-----------------------} INTERFACE USES Classes, Math, Quadrat, optnData; VAR noPondInfilRate : double; pondInfilRate : double; SomeTxtFile : TextFile; FUNCTION CalcInfilRate(Q : integer; tstart, tend : DOUBLE): DOUBLE; FUNCTION CummInfilAtPond(Q : INTEGER; WC S: DOUBLE): DOUBLE; FUNCTION CalcTimeToPond(Q : INTEGER) : DOUBLE; FUNCTION CalcTpp(Q: INTEGER; WC S : DOUBLE): DOUBLE; FUNCTION CalcFNewton(Q : INTEGER; Fnew, t tp tpp ,WC S : DOUBLE): DOUBLE; FUNCTION CalcFApprox(Q : INTEGER; Fnew t, tp, tpp,WC,S: DOUBLE): DOUBLE; FUNCTION CalcTNewton(Q : INTEGER; tstart tend tp, tpp, precip, totalInfil,WC,S: DOUBLE): DOUBLE; FUNCTION CalcNoPond(Q : INTEGER; tsta rt, tend deltaT, R: DOUBLE): DOUBLE; FUNCTION CalcPond(Q : INTEGER; tstart, tend tp, tpp, deltaT, R: DOUBLE): DOUBLE; FUNCTION CalcRedistZf(Q: INTEGER; F, WCA, WCB: DOUBLE) : DOUBLE; PROCEDURE CalcRWC(Q: INTEGER) ; PROCEDURE Redistribution(Q : IN TEGER; tend, dT : DOUBLE); PROCEDURE CalcLayerAvgWC(Q : INTEGER); PROCEDURE CalcWCO(Q: INTEGER); PROCEDURE FpCalc(Q: INTEGER); {Procedures for calculating change in wc using 4t h Runge Kutta with adaptive step size--------} PROCEDURE Derivs(Q: INTEGER; Rh, F, WC : REAL; VAR y, dydx: REAL); PROCEDURE RK4(Q: INTEGER; Rh, F, WC : REAL; VAR y, dydx: REAL; x, h: REAL; VAR yout : REAL); PROCEDURE RKQC(Q: INTEGER; Rh, F, WC: REAL; VAR y, dydx, x: REAL; htry, eps : REAL;VAR yscal, hdid, hnext: REAL); PROCEDURE OdeInt(Q: INTEGER; Rh, F, WC: REAL; VAR ystart: REAL; x1, x2,eps,h1,hmin: REAL; VAR nok, nbad : INTEGER); {Redistribution procedures -------------------------------------------------------------------------------} PROCEDURE Redist11(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); PROCEDURE Redist20(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); PROCEDURE Redist21(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); PROCEDURE Redist30(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); PROCEDURE Redist31(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); PROCEDURE Redist40(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); FUNCTION AdjFactorCalc(Q num: INTEGER; redistT : real) : REAL; IMPLEMENTATION USES SysUtils; {calculates change in water content during redistribution-------------------------------------------} PROCEDURE Derivs(Q: INTEGER; Rh, F, WC : REAL; VAR y, dydx: REAL); VAR RelSatI, RelSatO, expon1, expon2 : REAL; GWC, KWCI, KWCO, z : REAL; BEGIN

PAGE 138

138 z := F/(y wc); RelSatI := (wc QP^[Q]^.WCR)/(QP^[Q]^.WCS QP^[Q]^.WCR); RelSatO := (y QP^[Q]^.WCR)/(QP^[Q]^.WCS QP^[Q]^.WCR); expon1 := 3 + (1/QP^[Q]^.lambda); GWC := QP^[Q]^.Sav*(power(relSatO,expon1) power(relSatI,expon1))/ (1-power(relSatI,expon1)); expon2 := 3 + (2/QP^[Q]^.lambda); KWCI := QP^[Q]^.ks*power(relSatI,expon2); KWCO := QP^[Q]^.ks*power(relSatO,expon2); dydx :=(Rh KWCI KWCO (QP^[Q]^.ks*GWC/z))/(z) ; END; {Procedures RK4, RKQC and OdeInt perform 4th order Runge Kutta procedure Adapted from: Press, W.H., Flannery, B.P ., Teukolsky, S.A., Vetterling, W.T., 1989. Numerical Recipes in Pascal, Cambridge University Press: Port Chester, New York------------} PROCEDURE RK4(Q: INTEGER; Rh, F, WC : REAL; VAR y, dydx: REAL; x, h: REAL; VAR yout : REAL); {inputs x = start time, y = y @ x, dydx = dydx @ x, h = time step----------------------------------} {output yout -------------------------------------------------------------------------------------------------} VAR hh : REAL; dym, dyt, yt : REAL; BEGIN hh := h/2.0; yt := y + hh*dydx; derivs(Q,rh,f,wc,yt,dyt); yt := y + hh*dyt; derivs(Q,rh,f,wc,yt,dym); yt := y + h*dym; dym := dym + dyt; derivs(Q, Rh,f,wc, yt, dyt); yout := y + h*(dydx + dyt + 2.0 dym )/6.0; END; PROCEDURE RKQC(Q: INTEGER; Rh, F, WC: REAL; VAR y, dydx, x: REAL; htry, eps : REAL; VAR yscal, hdid, hnext: REAL); {inputs : y and dydx @ x1; htry; eps; yscal------------------------------------------------------------} {outputs : y and x replaced by new values; hdid is stepsize used; hnext is next stepsize--------} LABEL 99; CONST pgrow = -0.2; pshrnk = -0.25; fcor = 1.0/15.0; safety = 0.9; errcon = 6.0e-4; VAR xsav, hh, h, temp, errmax : REAL; dysav, ysav, ytemp : REAL; BEGIN xsav := x; ysav := y; dysav := dydx; h := htry;

PAGE 139

139 WHILE true DO BEGIN hh := h/2.0; rk4(Q,Rh,f,wc,ysav,dysav,xsav,hh,ytemp); x := xsav + hh; derivs(Q,Rh,f,wc,ytemp,dydx); rk4(Q,Rh,f,wc,ytemp,dydx,x,hh,y); x := xsav + h; //test to see if x = xsav rk4(Q,Rh,f,wc,ysav,dysav,xsav,h,ytemp); errmax := 0.0; ytemp := y ytemp; temp := abs(ytemp/yscal); IF errmax < temp THEN errmax := temp; errmax := errmax/eps; IF errmax <= 1.0 THEN BEGIN hdid := h; IF errmax > errcon THEN hnext := safety*h*exp(pgrow*ln(errmax)) ELSE hnext := 4.0*h; GOTO 99; END ELSE h := safety*h*exp(pshrnk*ln(errmax)); END; 99: y := y + ytemp*fcor; END; PROCEDURE OdeInt(Q: INTEGER; Rh, F,WC: REAL; VAR ystart: REAL; x1, x2,eps,h1,hmin: REAL; VAR nok, nbad : INTEGER); Label 99; CONST MaxStp = 100; tiny = 1.0e-3; VAR nstp : INTEGER; x, hnext, hdid, h : REAL; yscal,y,dydx : REAL; BEGIN x := x1; h := abs(h1); nok := 0; nbad := 0; y := ystart; FOR nstp := 1 TO maxstp DO BEGIN derivs(Q,Rh,f,wc,y,dydx); yscal := abs(y) + abs(dydx*h)+tiny; IF (x+h-x2)*(x+h-x1) > 0.0 THEN h := x2-x; rkqc(Q,Rh,f,wc,y,dydx,x,h,eps,yscal,hdid,hnext);

PAGE 140

140 IF hdid = h THEN nok := nok + 1 ELSE nbad := nbad + 1; IF (x-x2)*(x2-x1) >= 0.0 THEN BEGIN ystart := y; GOTO 99; END; h := hnext; END; //for nstp 99: END; {calculates the generic gamma coefficient -----------------------------------------------------------} FUNCTION AdjFactorCalc(Q num: INTEGER; redistT : real) : REAL; VAR a,b,c,d,e,f : real; alpha,beta,delta: real; BEGIN IF num = 0 THEN result := 0.0 ELSE BEGIN //wave 86 a := 4.2951615111 ; b := 154.6101111175 ; c := 0.0020393887 ; d := -0.0010402988; e := -14.0032425382; f := -61.5428564782; alpha := QP^[Q]^.ks/(a* QP^[Q]^.ks + b); beta := c + d*power(QP^[Q]^.ks,0.5); delta := QP^[Q]^.ks/(e* QP^[Q]^.ks + f); result := alpha + beta*ln(redistT) + delta/num; END; IF (result < 0.0) THEN result := 0.0; END; {Procedures Redist11, Redist20, Redist21, Redist30, Redist31 and Redist40 perform the redistribution process depending on what redist ribution status the system is in-------------} PROCEDURE Redist11(Q: INTEGER; rh, ts,te,dt : REAL; VAR nok nbad : INTEGER); VAR y : REAL; BEGIN y := QP^[Q]^.WF[1].WCHold; OdeInt(Q,rh,QP^[Q]^.WF[1].FAmt,QP^[Q ]^.WCI,y,ts,te,1.0e-4,dT,0.008333,nok,nbad); QP^[Q]^.WF[1].WCHold := y; QP^[Q]^.WF[1].WC := y QP^[Q]^.wf[1].adjFactor; IF QP^[Q]^.WF[1].WC < QP^[Q]^.WCMin THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCMin;

PAGE 141

141 IF QP^[Q]^.WF[1].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCMin; END; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); FpCalc(Q);//update fp since wc has changed END; PROCEDURE Redist20(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); VAR y: REAL; BEGIN //redist wf 1 y := QP^[Q]^.WF[1].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[1].FAmt,QP^[Q] ^.WCI,y,ts,te,1.0e-4,dT,0.008333,nok,nbad); QP^[Q]^.WF[1].WCHold := y; QP^[Q]^.WF[1].WC := y QP^[Q]^.wf[1].adjFactor; IF QP^[Q]^.WF[1].WC < QP^[Q]^.WCMin THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCMin; IF QP^[Q]^.WF[1].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCMin; END; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); // wf 2 does not redist since it is infiltrating QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); //check conditions IF (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z) THEN BEGIN //2 wf to 1 wf QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt, QP^[Q]^.WF[1].WC,QP^[Q]^.WCI); QP^[Q]^.WF[2].FAmt := 0.0; QP^[Q]^.WF[2].WC := 0.0; QP^[Q]^.WF[2].WCHold := 0.0; QP^[Q]^.WF[2].z := 0.0; QP^[Q]^.redistStatus := 10; END;//if z2 > z1 FpCalc(Q);//update fp since wc has changed END; PROCEDURE Redist21(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); VAR y: REAL; BEGIN //decrease wc1 first y := QP^[Q]^.WF[1].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[1].FAmt,QP^[Q] ^.WCI,y,ts,te,1.0e-4,dT,0.008333,nok,nbad); QP^[Q]^.WF[1].WCHold := y; QP^[Q]^.WF[1].WC := y QP^[Q]^.wf[1].adjFactor; IF QP^[Q]^.WF[1].WC < QP^[Q]^.WCMin THEN BEGIN

PAGE 142

142 QP^[Q]^.WF[1].WC := QP^[Q]^.WCMin; IF QP^[Q]^.WF[1].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCMin; END; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); //decrease wc2 second y := QP^[Q]^.WF[2].WCHold; OdeInt(Q,Rh,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[1].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[2].WCHold := y; QP^[Q]^.WF[2].WC := y QP^[Q]^.wf[2].adjFactor; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) OR (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z) THEN //merge 1 an 2 BEGIN //two fronts to one IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WF[1].WC; //wf one predominates IF QP^[Q]^.WF[2].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[2].WCHold := QP^[Q]^.WCMin; END ELSE BEGIN QP^[Q]^.WF[1].WC := QP ^[Q]^.WF[2].WC;//wf two predominates QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; END; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 11; QP^[Q]^.WF[2].WC := 0.0; QP^[Q]^.WF[2].WCHold := 0.0; QP^[Q]^.WF[2].FAmt := 0.0 ; QP^[Q]^.WF[2].z := 0.0; QP^[Q]^.WF[1].NumRedist := QP^[Q]^.WF[2].NumRedist; QP^[Q]^.WF[1].redistTime := QP^[Q]^.WF[2].redistTime; QP^[Q]^.WF[1].adjFactor := QP^[Q]^.WF[2].adjFactor; END; //wc2 < wcmin FpCalc(Q);//update fp since wc has changed END; PROCEDURE Redist30(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); VAR y: REAL; BEGIN //decrease wc1 first y := QP^[Q]^.WF[1].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[1].FAmt,QP^[Q] ^.WCI,y,ts,te,1.0e-4,dT,0.008333,nok,nbad); QP^[Q]^.WF[1].WCHold := y; QP^[Q]^.WF[1].WC := y QP^[Q]^.wf[1].adjFactor; IF QP^[Q]^.WF[1].WC < QP^[Q]^.WCMin THEN

PAGE 143

143 BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCMin; IF QP^[Q]^.WF[1].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCMin; END; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); //decrease wc2 second y := QP^[Q]^.WF[2].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[1].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[2].WCHold := y; QP^[Q]^.WF[2].WC := y QP^[Q]^.wf[2].adjFactor; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); //checks IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) OR (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z) THEN //merge 1 an 2 BEGIN // 3 fronts down to 2 fronts IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WF[1].WC; IF QP^[Q]^.WF[2].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[2].WCHold := QP^[Q]^.WCMin; END ELSE BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; END; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 20; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := QP^[Q]^.WF[3].z; QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].FAmt := 0.0 ; QP^[Q]^.WF[3].z := 0.0; QP^[Q]^.WF[1].NumRedist := QP^[Q]^.WF[2].NumRedist; QP^[Q]^.WF[1].redistTime := QP^[Q]^.WF[2].redistTime; QP^[Q]^.WF[1].adjFactor := QP^[Q]^.WF[2].adjFactor; //no need to update 2 since no only infil //now move wf 2 down which was wf 3 and is only infil, not redist QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); //check IF (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z) THEN BEGIN //two fronts to one QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC;

PAGE 144

144 QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.WF[2].WCHold := 0.0; QP^[Q]^.WF[2].WC := 0.0; QP^[Q]^.WF[2].FAmt := 0.0; QP^[Q]^.WF[2].z := 0.0; QP^[Q]^.redistStatus := 10; END; END//wc2 < wcmin,z2>z1 ELSE //still 3 fronts BEGIN QP^[Q]^.WF[3].z := calcRedistZf(Q,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[3].WC, QP^[Q]^.WF[2].WC); //checks IF (QP^[Q]^.WF[3].z >= QP^[Q]^.WF[2].z) THEN //merge z2 and z3 BEGIN //3wf to 2 wf; wf 1 stays the same QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; //wcs QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); QP^[Q]^.WF[3].FAmt := 0.0; QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].z := 0.0; QP^[Q]^.redistStatus := 20; END;//if z3 > z2 END; //else still 3 fronts FpCalc(Q);//update fp since wc has changed END; PROCEDURE Redist31(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER); VAR y : REAL; BEGIN //decrease wc1 first y := QP^[Q]^.WF[1].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[1].FAmt,QP^[Q] ^.WCI,y,ts,te,1.0e-4,dT,0.008333,nok,nbad); QP^[Q]^.WF[1].WCHold := y; QP^[Q]^.WF[1].WC := y QP^[Q]^.wf[1].adjFactor; IF QP^[Q]^.WF[1].WC < QP^[Q]^.WCMin THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCMin; IF QP^[Q]^.WF[1].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCMin; END; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); //decrease wc2 second y := QP^[Q]^.WF[2].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[1].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[2].WCHold := y; QP^[Q]^.WF[2].WC := y -QP^[Q]^.wf[2].adjFactor;

PAGE 145

145 QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) OR (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z) THEN //merge 1 an 2 BEGIN // 3 fronts to 2 IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WF[1].WC; IF QP^[Q]^.WF[2].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[2]. WCHold := QP^[Q]^.WCMin; END ELSE BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; END; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 21; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := QP^[Q]^.WF[3].z; QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].FAmt := 0.0 ; QP^[Q]^.WF[3].z := 0.0; QP^[Q]^.WF[1].NumRedist := QP^[Q]^.WF[2].NumRedist; QP^[Q]^.WF[1].redistTime := QP^[Q]^.WF[2].redistTime; QP^[Q]^.WF[1].adjFactor := QP^[Q]^.WF[2].adjFactor; QP^[Q]^.WF[2].NumRedist := QP^[Q]^.WF[3].NumRedist; QP^[Q]^.WF[2].redistTime := QP^[Q]^.WF[3].redistTime; QP^[Q]^.WF[2].adjFactor := QP^[Q]^.WF[3].adjFactor; //need to decrease wc2 which was wc3 y := QP^[Q]^.WF[2].WCHold; OdeInt(Q,rh,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[1].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[2].WCHold := y; QP^[Q]^.WF[2].WC := y QP^[Q]^.wf[2].adjFactor; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) OR (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z)THEN //merge 1 an 2 BEGIN IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) THEN BEGIN QP^[Q]^.WF[1 ].WC := QP^[Q]^.WF[1].WC; IF QP^[Q]^.WF[2].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[2].WCHold := QP^[Q]^.WCMin; END ELSE

PAGE 146

146 BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1 ].WC := QP^[Q]^.WF[2].WC; END; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 11; QP^[Q]^.WF[2].WCHold := 0.0; QP^[Q]^.WF[2].WC := 0.0; QP^[Q]^.WF[2].FAmt := 0.0 ; QP^[Q]^.WF[2].z := 0.0; QP^[Q]^.WF[1].NumRed ist := QP^[Q]^.WF[2].NumRedist; QP^[Q]^.WF[1].redistTime := QP^[Q]^.WF[2].redistTime; QP^[Q]^.WF[1].adjFact or := QP^[Q]^.WF[2].adjFactor; END; //wc2 < wcmin; z2 > z1 for 2 to 1fronts END //wc2 < wcmin ; z2>z1 3 to 2 fronts ELSE //still 3 wf for now BEGIN //decrease wc3 third y := QP^[Q]^.WF[3].WCHold; OdeInt(Q,Rh,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[2].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[3].WCHold := y; QP^[Q]^.WF[3].WC := y QP^[Q]^.wf[3].adjFactor; QP^[Q]^.WF[3].z := calcRedistZf(Q,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[3].WC, QP^[Q]^.WF[2].WC); IF (QP^[Q]^.WF[3].WC <= QP^[Q]^.WF[2].WC) OR (QP^[Q]^.WF[3].z >= QP^[Q]^.WF[2].z) THEN //merge 3 and 2 BEGIN // 3 fronts to 2 ;1 stays the same IF (QP^[Q]^.WF[3].WC <= QP^[Q]^.WF[2].WC) THEN QP^[Q]^.WF[2 ].WC := QP^[Q]^.WF[2].WC ELSE BEGIN QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2 ].WC := QP^[Q]^.WF[3].WC; END; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); QP^[Q]^.redistStatus := 21; //wf 1 stays the same QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].FAmt := 0.0 ; QP^[Q]^.WF[3].z := 0.0; QP^[Q]^.WF[2].NumRed ist := QP^[Q]^.WF[3].NumRedist; QP^[Q]^.WF[2].redistTime := QP^[Q]^.WF[3].redistTime; QP^[Q]^.WF[2].adjFact or := QP^[Q]^.WF[3].adjFactor; //no need to decrease or do anymore checks since taken care of above END; //wc2 < wcmin; z2 > z1 for 3 to 2 fronts END;// else, still 3 wf FpCalc(Q);//update fp since wc has changed END; PROCEDURE Redist40(Q: INTEGER; rh,ts,te ,dt : REAL; VAR nok nbad : INTEGER);

PAGE 147

147VAR y : REAL; BEGIN //decrease wc1 first y := QP^[Q]^.WF[1].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[1].FAmt,QP^[Q] ^.WCI,y,ts,te,1.0e-4,dT,0.008333,nok,nbad); QP^[Q]^.WF[1].WCHold := y; QP^[Q]^.WF[1].WC := y QP^[Q]^.wf[1].adjFactor; IF QP^[Q]^.WF[1].WC < QP^[Q]^.WCMin THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCMin; IF QP^[Q]^.WF[1].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCMin; END; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); //decrease wc2 second y := QP^[Q]^.WF[2].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[1].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[2].WCHold := y; QP^[Q]^.WF[2].WC := y QP^[Q]^.wf[2].adjFactor; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) OR (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z) THEN //merge 1 an 2 BEGIN // 4 fronts to 3 ; 1 and 2 merge IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WF[1].WC; IF QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin THEN QP^[Q]^.WF[2 ].WC := QP^[Q]^.WCMin; END ELSE BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; END; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 30; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := QP^[Q]^.WF[3].z; QP^[Q]^.WF[3].WCHold := QP^[Q]^.WF[4].WCHold; QP^[Q]^.WF[3].WC := QP^[Q]^.WF[4].WC; QP^[Q]^.WF[3].FAmt := QP^[Q]^.WF[4].FAmt ; QP^[Q]^.WF[3].z := QP^[Q]^.WF[4].z; QP^[Q]^.WF[4].WCHold := 0.0; QP^[Q]^.WF[4].WC := 0.0; QP^[Q]^.WF[4].FAmt := 0.0 ; QP^[Q]^.WF[4].z := 0.0;

PAGE 148

148 QP^[Q]^.WF[1].NumRedist := QP^[Q]^.WF[2].NumRedist; QP^[Q]^.WF[1].redistTime := QP^[Q]^.WF[2].redistTime; QP^[Q]^.WF[1].adjFactor := QP^[Q]^.WF[2].adjFactor; QP^[Q]^.WF[2].NumRedist := QP^[Q]^.WF[3].NumRedist; QP^[Q]^.WF[2].redistTime := QP^[Q]^.WF[3].redistTime; QP^[Q]^.WF[2].adjFactor := QP^[Q]^.WF[3].adjFactor; //no need to change new wf3 since infil only //need to decrease wc2 which was wc3 y := QP^[Q]^.WF[2].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[1].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[2].WCHold := y; QP^[Q]^.WF[2].WC := y QP^[Q]^.wf[2].adjFactor; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) OR (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z)THEN //merge 1 an 2 BEGIN //3 fronts to 2 fronts IF (QP^[Q]^.WF[2].WC < QP^[Q]^.WCMin) OR (QP^[Q]^.WF[2].WC <= QP^[Q]^.WF[1].WC) THEN BEGIN QP^[Q]^.WF[1 ].WC := QP^[Q]^.WF[1].WC; IF QP^[Q]^.WF[2].WCHold < QP^[Q]^.WCMin THEN QP^[Q]^.WF[2].WCHold := QP^[Q]^.WCMin; END ELSE BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1 ].WC := QP^[Q]^.WF[2].WC; END; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 20; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt; QP^[Q]^.WF[2].z := QP^[Q]^.WF[3].z; QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].FAmt := 0.0 ; QP^[Q]^.WF[3].z := 0.0; //move down z2; was originally 4th wf so do not decrease QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); QP^[Q]^.WF[1].NumRed ist := QP^[Q]^.WF[2].NumRedist; QP^[Q]^.WF[1].redistTime := QP^[Q]^.WF[2].redistTime; QP^[Q]^.WF[1].adjFact or := QP^[Q]^.WF[2].adjFactor; //no need to update wf2 since now only infil //check last time IF (QP^[Q]^.WF[2].z >= QP^[Q]^.WF[1].z)THEN BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1 ].WC := QP^[Q]^.WF[2].WC; QP^[Q]^.WF[1].FAmt := QP ^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt ;

PAGE 149

149 QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); QP^[Q]^.redistStatus := 10; QP^[Q]^.WF[2].WCHold := 0.0; QP^[Q]^.WF[2].WC := 0.0; QP^[Q]^.WF[2].FAmt := 0.0 ; QP^[Q]^.WF[2].z := 0.0; END; END //wc2 < wcmin; z2 > z1 for 3 to 2 fronts ELSE //still 3 fronts for now BEGIN //move down z3; originally wf 4; do not redist, only infil QP^[Q]^.WF[3].z := calcRedistZf(Q,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[3].WC, QP^[Q]^.WF[2].WC); IF (QP^[Q]^.WF[3].z >= QP^[Q]^.WF[2].z)THEN BEGIN //merge 3 and 2; wf1 stays the same QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2 ].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].FAmt := QP ^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); QP^[Q]^.redistStatus := 20; QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].FAmt := 0.0 ; QP^[Q]^.WF[3].z := 0.0; END;//z3>z2 END; //still 3 fronts for now END //wc2 < wcmin ; z2>z1 4 to 3 fronts ELSE //still 4 wf for now BEGIN //decrease wc3 third y := QP^[Q]^.WF[3].WCHold; OdeInt(Q,0.0,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[2].WCHold,y,ts,te,1.0e-4,dT, 0.008333,nok,nbad); QP^[Q]^.WF[3].WCHold := y; QP^[Q]^.WF[3].WC := y -QP^[Q]^.wf[3].adjFactor; QP^[Q]^.WF[3].z := calcRedistZf(Q,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[3].WC, QP^[Q]^.WF[2].WC); IF (QP^[Q]^.WF[3].WC <= QP^[Q]^.WF[2].WC) OR (QP^[Q]^.WF[3].z >= QP^[Q]^.WF[2].z) THEN //merge 3 and 2 BEGIN // 4 fronts to 3 IF (QP^[Q]^.WF[3].WC <= QP^[Q]^.WF[2].WC) THEN QP^[Q]^.WF[2 ].WC := QP^[Q]^.WF[2].WC ELSE BEGIN QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2 ].WC := QP^[Q]^.WF[3].WC; END; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); QP^[Q]^.redistStatus := 30; //wf 1 stays the same; wf4 becomes wf3 QP^[Q]^.WF[3].WCHold := QP^[Q]^.WF[4].WCHold; QP^[Q]^.WF[3].WC := QP^[Q]^.WF[4].WC;

PAGE 150

150 QP^[Q]^.WF[3].FAmt := QP^[Q]^.WF[4].FAmt ; QP^[Q]^.WF[3].z := calcRedistZf(Q,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[3].WC, QP^[Q]^.WF[2].WC); QP^[Q]^.WF[4].WCHold := 0.0; QP^[Q]^.WF[4].WC := 0.0; QP^[Q]^.WF[4].FAmt := 0.0 ; QP^[Q]^.WF[4].z := 0.0; QP^[Q]^.WF[2].NumRed ist := QP^[Q]^.WF[3].NumRedist; QP^[Q]^.WF[2].redistTime := QP^[Q]^.WF[3].redistTime; QP^[Q]^.WF[2].adjFact or := QP^[Q]^.WF[3].adjFactor; IF (QP^[Q]^.WF[3].z >= QP^[Q]^.WF[2].z) THEN //merge 3 and 2 BEGIN //3 fronts to 2 QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[2 ].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].FAmt := QP ^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[2].z := calcRedistZf(Q,QP^[Q]^.WF[2].FAmt,QP^[Q]^.WF[2].WC, QP^[Q]^.WF[1].WC); QP^[Q]^.redistStatus := 20; QP^[Q]^.WF[3].WCHold := 0.0; QP^[Q]^.WF[3].WC := 0.0; QP^[Q]^.WF[3].FAmt := 0.0 ; QP^[Q]^.WF[3].z := 0.0; END; END// wc3 >wc2 or z3 > z2 ;4 to 3 ELSE //still 4 fronts BEGIN //calculate wf 4 depth QP^[Q]^.WF[4].z := calcRedistZf(Q,QP^[Q]^.WF[4].FAmt,QP^[Q]^.WF[4].WC, QP^[Q]^.WF[3].WC); IF (QP^[Q]^.WF[4].z >= QP^[Q]^.WF[3].z) THEN //merge 4 and 3 BEGIN // 4 fronts to 3 ; 3 fronts at end QP^[Q]^.WF[3].WCHold := QP^[Q]^.WF[4].WCHold; QP^[Q]^.WF[3 ].WC := QP^[Q]^.WF[4].WC; QP^[Q]^.WF[3].FAmt := QP ^[Q]^.WF[4].FAmt + QP^[Q]^.WF[3].FAmt ; QP^[Q]^.WF[3].z := calcRedistZf(Q,QP^[Q]^.WF[3].FAmt,QP^[Q]^.WF[3].WC, QP^[Q]^.WF[2].WC); QP^[Q]^.redistStatus := 30; //wf 1 and 2 stays the same QP^[Q]^.WF[4].WCHold := 0.0; QP^[Q]^.WF[4].WC := 0.0; QP^[Q]^.WF[4].FAmt := 0.0 ; QP^[Q]^.WF[4].z := 0.0; END;//z4 > z3 ; 3 fronts at end END; //else, still 4 fronts END;// else, still 4 fronts for now FpCalc(Q);//update fp since wc has changed END; {calculates potential infitration rate ------------------------------------------------------------------------} PROCEDURE FpCalc(Q: INTEGER); BEGIN IF (QP^[Q]^.redistStatus = 10) OR (QP^[Q]^.redistStatus = 11) THEN QP^[Q]^.fp := QP^[Q]^.ks + ((QP^[Q]^.ks QP^[Q]^.Sav* (QP^[Q]^.WCS-QP^[Q]^.WCI))/QP^[Q]^.WF[1].FAmt) ELSE IF (QP^[Q]^.redistStatus = 20) OR (QP^[Q]^.redistS tatus = 21) THEN QP^[Q]^.fp := QP^[Q]^.ks + ((QP^[Q]^.ks QP^[Q]^.Sav*

PAGE 151

151 (QP^[Q]^.WCS-QP^[Q]^.WF[1].WC))/QP^[Q]^.WF[2].FAmt) ELSE IF (QP^[Q]^.redistStatus = 30) OR (QP^[Q]^.redistS tatus = 31) THEN QP^[Q]^.fp := QP^[Q]^.ks + ((QP^[Q]^.ks QP^[Q]^.Sav* (QP^[Q]^.WCS-QP^[Q]^.WF[2].WC))/QP^[Q]^.WF[3].FAmt) ELSE QP^[Q]^.fp := QP^[Q]^.ks + ((QP^[Q]^.ks QP^[Q]^.Sav* (QP^[Q]^.WCS-QP^[Q]^.WF[3].WC))/QP^[Q]^.WF[4].FAmt); END; {calculates surface water content based on redistri bution status----------------------------------} PROCEDURE CalcWCO(Q: INTEGER); BEGIN IF (QP^[Q]^.redistStatus = 10) OR (QP^[Q]^.redistStatus = 11) THEN QP^[Q]^.WCO := QP^[Q]^.WF[1].WC ELSE IF (QP^[Q]^.redistStatus = 20) OR (QP^[Q]^.redistS tatus = 21) THEN QP^[Q]^.WCO := QP^[Q]^.WF[2].WC ELSE IF (QP^[Q]^.redistStatus = 30) OR (QP^[Q]^.redistS tatus = 31) THEN QP^[Q]^.WCO := QP^[Q]^.WF[3].WC ELSE QP^[Q]^.WCO := QP^[Q]^.WF[4].WC; END; {calculates average water content of observation layers -----------------------------------------------} PROCEDURE CalcLayerAvgWC(Q : INTEGER); VAR L : INTEGER; BEGIN FOR L := 1 to QP^[Q]^.NumObsLayers DO BEGIN IF (QP^[Q]^.redistStatus = 10) OR (QP^[Q]^.redistStatus = 11) THEN BEGIN IF (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[1].WC ; END ELSE IF ( QP^[Q]^.WF[1].z <= (QP^[Q]^.LayerBottomZ[L]QP^[Q]^.ProfileDepth[L])) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WCI ; END ELSE IF (QP^[Q]^.WF[1].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[1].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L]QP^[Q]^.WF[1].z)* QP^[Q]^.WCI)/QP^[Q]^.ProfileDepth[L]; END; END //end if redist = 10 or 11 ELSE IF (QP^[Q]^.redistStatus = 20 ) OR (QP^[Q]^.redistStatus = 21) THEN BEGIN IF (QP^[Q]^.WF[2].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[2].WC ; END ELSE IF (QP^[Q]^.WF[1].z <= (QP^[Q]^.LayerBottomZ[L]

PAGE 152

152 QP^[Q]^.ProfileDepth[L])) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WCI ; END ELSE IF (QP^[Q]^.WF[2].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[2].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L]) QP^[Q].WF[2].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[2].z) QP^[Q].WF[1].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[2].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[2].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[2].WC + (QP^[Q]^.WF[1].z-QP^[Q]^.WF[2].z)* QP^[Q].WF[1].WC+(QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z)* QP^[Q]^.WCI)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[2].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[1].WC ; END ELSE IF (QP^[Q]^.WF[1].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[1].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z) QP^[Q]^.WCI)/QP^[Q]^.ProfileDepth[L]; END; END //end if redist = 20 or 21 ELSE IF (QP^[Q]^.redistStatus = 30 ) OR (QP^[Q]^.redistStatus = 31) THEN BEGIN IF (QP^[Q]^.WF[3].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[3].WC ; END ELSE IF (QP^[Q]^.WF[1].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WCI ; END ELSE IF (QP^[Q]^.WF[3].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[3].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[3].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[3].z) QP^[Q].WF[2].WC)/QP^[Q]^.ProfileDepth[L];

PAGE 153

153 END ELSE IF (QP^[Q]^.WF[3].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z <= QP^[Q]^.LayerBottomZ[L]) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[3].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[3].WC + (QP^[Q]^.WF[2].z-QP^[Q]^.WF[3].z)*QP^[Q].WF[2].WC+ (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[2].z)* QP^[Q].WF[1].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[3].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[3].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[3].WC + (QP^[Q]^.WF[2].z-QP^[Q]^.WF[3].z)*QP^[Q].WF[2].WC+ (QP^[Q]^.WF[1].z-QP^[Q]^.WF[2].z)*QP^[Q].WF[1].WC+ (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z)* QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[3].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[2].WC ; END ELSE IF (QP^[Q]^.WF[2].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[2].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[2].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[2].z)* QP^[Q].WF[1].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[2].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[2].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[2].WC + (QP^[Q]^.WF[1].z-QP^[Q]^.WF[2].z)*QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z)* QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[2].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[1].WC ; END ELSE IF (QP^[Q]^.WF[1].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND

PAGE 154

154 (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[1].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z)* QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END; END //end if redist = 30 or 31 ELSE IF (QP^[Q]^.redistStatus = 40) THEN BEGIN IF (QP^[Q]^.WF[4].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[4].WC ; END ELSE IF (QP^[Q]^.WF[1].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WCI ; END ELSE IF (QP^[Q]^.WF[4].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[3].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[4].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[4].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[4].z)* QP^[Q].WF[3].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[4].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[3].z <= QP^[Q]^.LayerBottomZ[L]) AND (QP^[Q]^.WF[2].z >= QP^[Q]^.LayerBottomZ[L])THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[4].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[4].WC + (QP^[Q]^.WF[3].z-QP^[Q]^.WF[4].z)*QP^[Q].WF[3].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[3].z)* QP^[Q].WF[2].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[4].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z <= QP^[Q]^.LayerBottomZ[L]) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[4].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[4].WC + (QP^[Q]^.WF[3].z-QP^[Q]^.WF[4].z)*QP^[Q].WF[3].WC + (QP^[Q]^.WF[2].z-QP^[Q]^.WF[3].z)*QP^[Q].WF[2].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[2].z)* QP^[Q].WF[1].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[4].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[4].z QP^[Q]^.LayerBottomZ[L] +

PAGE 155

155 QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[4].WC + (QP^[Q]^.WF[3].z-QP^[Q]^.WF[4].z)*QP^[Q].WF[3].WC + (QP^[Q]^.WF[2].z-QP^[Q]^.WF[3].z)*QP^[Q].WF[2].WC + (QP^[Q]^.WF[1].z-QP^[Q]^.WF[2].z)*QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z)* QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[4].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[3].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[3].WC ; END ELSE IF (QP^[Q]^.WF[3].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[3].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[3].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[3].z)* QP^[Q].WF[2].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[3].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z <= QP^[Q]^.LayerBottomZ[L]) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[3].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[3].WC + (QP^[Q]^.WF[2].z-QP^[Q]^.WF[3].z)*QP^[Q].WF[2].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[2].z)* QP^[Q].WF[1].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[3].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[3].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[3].WC + (QP^[Q]^.WF[2].z-QP^[Q]^.WF[3].z)*QP^[Q].WF[2].WC + (QP^[Q]^.WF[1].z-QP^[Q]^.WF[2].z)*QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L]QP^[Q]^.WF[1].z)* QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[3].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[2].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[2].WC ; END ELSE IF (QP^[Q]^.WF[2].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[2].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[2].WC +

PAGE 156

156 (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[2].z) QP^[Q].WF[1].WC)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[2].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[2].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[2].WC + (QP^[Q]^.WF[1].z-QP^[Q]^.WF[2].z)*QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z) QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END ELSE IF (QP^[Q]^.WF[2].z <= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z >= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := QP^[Q].WF[1].WC ; END ELSE IF (QP^[Q]^.WF[1].z >= (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.ProfileDepth[L])) AND (QP^[Q]^.WF[1].z <= QP^[Q]^.LayerBottomZ[L]) THEN BEGIN QP^[Q]^.LayerAvgWC[L] := ((QP^[Q]^.WF[1].z QP^[Q]^.LayerBottomZ[L] + QP^[Q]^.ProfileDepth[L])* QP^[Q].WF[1].WC + (QP^[Q]^.LayerBottomZ[L] QP^[Q]^.WF[1].z)* QP^[Q].WCI)/QP^[Q]^.ProfileDepth[L]; END; END; //end if redist = 40 END; //end for l = 1 to numlayers END; {calculates depth based on cumulative infiltration and water content-----------------------------} FUNCTION CalcRedistZf(Q: INTEGER; F, WCA, WCB: DOUBLE) : DOUBLE; BEGIN IF WCA = QP^[Q]^.WCI THEN BEGIN result := F/(QP^[Q]^.WCS QP^[Q]^.WCI); END ELSE BEGIN result := F/(WCA WCB); END; END; {calculates relative water content--------------------------------------------------------------------------} PROCEDURE CalcRWC(Q: INTEGER); BEGIN IF (QP^[Q]^.redistStatus = 10) OR (QP^[Q]^.redistStatus = 11) THEN QP^[Q]^.RWC := (QP^[Q]^.WF[1].WC QP^[Q]^.WCR)/(QP^[Q]^.WCS QP^[Q]^.WCR) ELSE IF (QP^[Q]^.redistStatus = 20) OR (QP^[Q]^.redistS tatus = 21) THEN QP^[Q]^.RWC := (QP^[Q]^.WF[2].WC QP^[Q]^.WCR)/(QP^[Q]^.WCS QP^[Q]^.WCR) ELSE IF (QP^[Q]^.redistStatus = 30) OR (QP^[Q]^.redistS tatus = 31) THEN QP^[Q]^.RWC := (QP^[Q]^.WF[3].WC QP^[Q]^.WCR)/(QP^[Q]^.WCS QP^[Q]^.WCR) ELSE

PAGE 157

157 QP^[Q]^.RWC := (QP^[Q]^.WF[4].WC QP^[Q]^.WCR)/(QP^[Q]^.WCS QP^[Q]^.WCR); END; {performs redistribution process when precip < ks and no ponding-----------------------------------} PROCEDURE Redistribution(Q : IN TEGER; tend, dT : DOUBLE); VAR ts, te : real; nok, nbad j: integer; BEGIN ts := tend dT; te := tend; //calculate gamma coefficient for each wetting front FOR J := 1 to 3 DO QP^[Q]^.wf[j].adjFactor := ad jFactorCalc(Q,QP^[Q]^.wf[j].numRedist, QP^[Q]^.wf[j].redistTime); IF (QP^[Q]^.redistStatus = 11) THEN BEGIN Redist11(Q,0.0,ts,te,dT,nok,nbad); END //end redist 11 ELSE IF (QP^[Q]^.redistStatus = 21) THEN BEGIN Redist21(Q,0.0,ts,te,dT,nok,nbad); END //end redist = 21 ELSE IF (QP^[Q]^.redistStatus = 31) THEN BEGIN Redist31(Q,0.0,ts,te,dT,nok,nbad); END; //end redist = 31 or 40 END; {calculates potential cumulative inf iltration ---------------------------------------------------------} FUNCTION CummInfilAtPond(Q: INTEGER;WC,S: DOUBLE): DOUBLE; var rk : DOUBLE; BEGIN rk := (QP^[Q]^.pr ecipRate)/(QP^[Q]^.ks); result := S *(QP^[Q]^.WCS WC)/(rk 1); END; {calculates time to ponding ---------------------------------------------------------------------------------} FUNCTION CalcTimeToPond (Q : INTEGER): DOUBLE; BEGIN result := (QP^[Q]^.BFp)/(QP^[Q]^.PrecipRate) ; END; {calculates time shift -----------------------------------------------------------------------------------------} FUNCTION CalcTpp(Q: INTEGER;WC,S: DOUBLE): DOUBLE; BEGIN result := (QP^[Q]^.BFp S*(QP^[Q]^.WCS WC) ln(1 + (QP^[Q]^.BFp/ (S*(QP^[Q]^.WCS-WC)))))/QP^[Q]^.ks; END; {calculates cumulative infiltration using Newton Raphson method

PAGE 158

158Adapted from: Press, W.H., Flannery, B.P ., Teukolsky, S.A., Vetterling, W.T., 1989. Numerical Recipes in Pascal, Cambridge University Press: Port Chester, New York.-------------} FUNCTION CalcFNewton(Q : INTEGER; Fnew, t, tp, tpp, WC,S: DOUBLE): DOUBLE; var g : DOUBLE; dgdf : DOUBLE; Fold : DOUBLE; error : DOUBLE; tolerance : DOUBLE; BEGIN result := 0.0; tolerance := 1.0E-6; error := 1.0; Fold := Fnew + 1.0E-6; Fold := Fnew + 1.0E-6; g := Fold (S*(QP^[Q]^.WCS WC)) ln(1.0 + (Fold/(S*(QP^[Q]^.WCS WC))))QP^[Q]^.ks*(t tp + tpp); while error > tolerance do BEGIN dgdf := 1.0 ((S*(QP^[Q]^.WCS WC))/((S*(QP^[Q]^.WCS WC)) + Fold)); Fnew := Fold (g/dgdf); Fold := Fnew; g := Fold S*(QP^[Q]^.WCS WC) ln(1.0 + (Fold/(S*(QP^[Q]^.WCS WC))))QP^[Q]^.ks*(t tp + tpp); error := abs(g); result := Fnew; END; END; {calculates approximate cumulative infiltration solution proposed by Srivastava, Costello, Edwards. 1996. A Direct, Approximate Solution to the Modified Green-Ampt Infiltration Equation. Tr ansactions of ASAE. 39 (4): 1411-1413-------} FUNCTION CalcFApprox(Q : INTEGER; Fnew, t, tp, tpp,WC,S: DOUBLE): DOUBLE; var phi : DOUBLE; alpha : DOUBLE; beta : DOUBLE; delta: DOUBLE; lambda : DOUBLE; BEGIN result := 0.0; alpha := 1.851; beta := 0.565; delta := 0.004; phi := QP^[Q]^.ks*(t tp + tpp)/(S*(QP^[Q]^.WCS WC)); IF phi > 0.0001 THEN BEGIN IF phi <= 0.095 THEN BEGIN alpha := 1.851; beta := 0.565; delta := 0.004; END ELSE IF phi <= 0.911 THEN BEGIN

PAGE 159

159 alpha := 2.137; beta := 0.667; delta := 0.021; END ELSE IF phi <= 17.00 THEN BEGIN alpha := 2.141; beta := 0.689; delta := 0.035; END ELSE exit; END; lambda := power(phi, (beta + delta*ln(phi))); result := alpha*(S*(QP^[Q]^.WCS WC))*lambda; END; {calculates time it will take for remaining ponded wa ter to infiltrate------------------------------} FUNCTION CalcTNewton(Q : INTEGER; tstart, tend, tp, tpp, precip, totalInfil,WC,S: DOUBLE): DOUBLE; var tolerance : DOUBLE; t1new : DOUBLE; t1old: DOUBLE; F: DOUBLE; lnarg: DOUBLE; g : DOUBLE; dgdeltaT1 : DOUBLE; error : DOUBLE; BEGIN result := 0.0; tolerance := 1.0E-6; error := 1.0; t1new := tend; t1old := t1new; F := (t1old tstart)* precip + totalInfil; //the time that occurs is t1 lnarg := 1.0 + (F/(S*(QP^[Q]^.WCS WC))); g := F (S*(QP^[Q]^.WCS WC))*(ln(lnarg)) QP^[Q]^.ks*(t1old tp + tpp); while error > tolerance do BEGIN dgdeltaT1 := precip precip*(1.0/lnarg) QP^[Q]^.ks; t1new := t1old (g/dgdeltaT1); t1old := t1new; F := (t1old tstart)* precip + totalInfil; lnarg := 1.0 + (F/(S*(QP^[Q]^.WCS WC))); g := F (S*(QP^[Q]^.WCS WC))*(ln(lnarg)) QP^[Q]^.ks*(t1old tp + tpp); error := abs(g); result := t1new; END; END; {calculates infiltration rate, cumulative infiltration, runoff and surface storage under ponded conditions; calls redistribution proces s for lower layers --------------------------} FUNCTION CalcPond(Q : INTEGER; tstart, tend tp, tpp, deltaT, R: DOUBLE): DOUBLE; var

PAGE 160

160 amtWater : DOUBLE; Fnew : DOUBLE; Fhold: DOUBLE; t: DOUBLE; nsteps : INTEGER; kk, i ,j: INTEGER; interTime : DOUBLE; deltaTerr : DOUBLE; deltaCummInfil : DOUBLE; y : REAL; nbad, nok : integer; BEGIN result := 0.0; IF QP^[Q]^.pondFlag = 0 THEN //used when preponding rise BEGIN QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCS; QP^[Q]^.WF[1].WC := QP^[Q]^.WCS; END; QP^[Q]^.pondFlag := 1; nsteps := trunc((tend tstart)/deltaT); interTime := tstart; FOR kk := 0 TO (nsteps -1) DO BEGIN interTime := interTime + deltaT; QP^[Q]^.time := interTime; QP^[Q]^.cummPrecip := QP^[Q]^.cummPrecip + deltaT*R; amtWater := QP^[Q]^.pondingAmt + R*deltaT; Fhold := QP^[Q]^.cummInfil; t := interTime; IF (QP^[Q]^.redistStatus = 10) or (QP^[Q]^.redistStatus = 11) THEN BEGIN Fnew := QP^[ Q]^.cummInfil + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.cummInfil := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WCI,QP^[Q]^.Sav); // QP^[Q]^.cummInfil := calcFApprox(Q ,Fnew,t,tp,tpp,QP^[Q]^.WCI,QP^[Q]^.Sav); result := QP^[Q]^.ks + ((QP^[ Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WF[1].WC QP^[Q]^.WCI))/QP^[Q]^.cummInfil); QP^[Q]^.WF[1].FAmt := QP^[Q]^.cummInfil; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END// end if redist 10 or 11 ELSE IF (QP^[Q]^.redistStatus = 20 ) OR (QP^[Q]^.redistStatus = 21) THEN BEGIN {-------------------update values since WC1 is chan ging everytime step -----------------------------} QP^[Q]^.Bfp := QP^[Q]^.WF[2].FAmt; tp := t deltaT; tpp := calcTpp(Q,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); QP^[Q]^.tpp := tpp; Fnew := QP^[Q]^.WF[2].FAmt + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.WF[2].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); // QP^[Q]^.WF[2].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); result := QP^[Q]^.ks + (( QP^[Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WCSQP^[Q]^.WF[1].WC))/QP^[Q]^.WF[2].FAmt); QP^[Q]^.cummInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt;

PAGE 161

161 deltaCummInfil := QP^[Q]^.cummInfil Fhold; END // end redist = 20 or 21 ELSE IF (QP^[Q]^.redistStatus = 30 ) OR (QP^[Q]^.redistStatus = 31) THEN BEGIN {-------------------update values since WC1 is chan ging everytime step -----------------------------} QP^[Q]^.Bfp := QP^[Q]^.WF[3].FAmt; tp := t deltaT; tpp := calcTpp(Q,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); QP^[Q]^.tpp := tpp; Fnew := QP^[Q]^.WF[3].FAmt + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.WF[3].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); // QP^[Q]^.WF[3].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); result := QP^[Q]^.ks + (( QP^[Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WCSQP^[Q]^.WF[2].WC))/QP^[Q]^.WF[3].FAmt); QP^[Q]^.cummInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END // end redist = 30 or 31 ELSE // redist = 40 BEGIN {-------------------update values since WC1 is chan ging everytime step -----------------------------} QP^[Q]^.Bfp := QP^[Q]^.WF[4].FAmt; tp := t deltaT; tpp := calcTpp(Q,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); QP^[Q]^.tpp := tpp; Fnew := QP^[Q]^.WF[4].FAmt + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.WF[4].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); // QP^[Q]^.WF[4].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); result := QP^[Q]^.ks + (( QP^[Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WCSQP^[Q]^.WF[3].WC))/QP^[Q]^.WF[4].FAmt); QP^[Q]^.cummInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt + QP^[Q]^.WF[4].FAmt; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END; // end else QP^[Q]^.fp := result; IF amtWater > deltaCummInfil THEN BEGIN QP^[Q]^.pondingAmt := amtWater deltaCummInfil; IF QP^[Q]^.pondingAmt > QP^[Q]^.smax THEN BEGIN QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt + (QP^[Q]^.pondingAmt QP^[Q]^.smax); QP^[Q]^.pondingAmt := QP^[Q]^.smax; END // end if pond > smax ELSE QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; END //end if water > deltacumm ELSE BEGIN QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; QP^[Q]^.pondingAmt := 0.0; END; // end else

PAGE 162

162{-------------------------------------redistribute water------------------------------------------------------} //calculate generic gamma coefficient FOR J := 1 to 3 DO QP^[Q]^.wf[j].adjFactor := adjFactorCalc(Q,QP^[Q ]^.wf[j].numRedist, QP^[Q]^.wf[j].redistTime); IF (QP^[Q]^.red istStatus = 11) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 10; // do not redistribute wf 1 QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END ELSE Redist11(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 20) THEN BEGIN Redist20(Q,R,interTime-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 21) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 20; Redist20(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE Redist21(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 30) THEN BEGIN Redist30(Q,R,interTime-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 31) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 30; Redist30(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE Redist31(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 40) THEN BEGIN Redist40(Q,R,interTime-deltaT,intertime,deltaT,nok,nbad); END ELSE //redistStatus = 10, do not redistribute only move wf1 down QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); IF QP^[Q]^.WF[1].WC > QP^[Q]^.WCS THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCS;

PAGE 163

163 QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCS; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END; //end wc1 > wsc CalcWCO(Q); CalcRWC(Q); CalcLayerAvgWC(Q); Append(SomeTxtFile); Write(SomeTxtFile,intertime:1:0,'':1); FOR I := 1 TO 4 DO BEGIN Write(SomeTxtFile,Q P^[Q]^.WF[I].FAmt:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].z:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].WC:3:6,'':1); END; Write(SomeTxtFile,QP^[Q]^.WCO:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.RWC:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.cummInfil:3:6,'':1); FOR I := 1 TO (QP^[Q]^.NumObsLayers-1) DO Write(SomeTxtFile,QP^ [Q]^.LayerAvgWC[I]:3:6,'':1); WriteLn(SomeTxtFile,QP^[Q]^.Layer AvgWC[QP^[Q]^.numObsLayers]:3:6,'':1); END;// for kk {----------------Check that at END of period-------------------------------------------------------------} deltaTerr := tend interTime; IF deltaTerr > 1E-10 THEN BEGIN interTime := tend; QP^[Q]^.time := interTime; QP^[Q]^.cummPrecip := QP^[Q]^.cummPrecip + deltaTerr*R; amtWater := QP^[Q]^.pondingAmt + R*deltaTerr; Fhold := QP^[Q]^.cummInfil; t := interTime; IF (QP^[Q]^.redistStatus = 10) or (QP^[Q]^.redistStatus = 11) THEN BEGIN Fnew := QP^[ Q]^.cummInfil + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.cummInfil := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WCI,QP^[Q]^.Sav); // QP^[Q]^.cummInfil := calcFApprox(Q ,Fnew,t,tp,tpp,QP^[Q]^.WCI,QP^[Q]^.Sav); result := QP^[Q]^.ks + ((QP^[ Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WF[1].WC QP^[Q]^.WCI))/QP^[Q]^.cummInfil); QP^[Q]^.WF[1].FAmt := QP^[Q]^.cummInfil; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END// end if redist 10 or 11 ELSE IF (QP^[Q]^.redistStatus = 20 ) OR (QP^[Q]^.redistStatus = 21) THEN BEGIN {--------------------update values since WC1 is ch anging everytime step ---------------------------} QP^[Q]^.Bfp := QP^[Q]^.WF[2].FAmt; tp := t deltaTerr; tpp := calcTpp(Q,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); QP^[Q]^.tpp := tpp; Fnew := QP^[Q]^.WF[2].FAmt + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------}

PAGE 164

164{-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.WF[2].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); // QP^[Q]^.WF[2].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); result := QP^[Q]^.ks + (( QP^[Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WCSQP^[Q]^.WF[1].WC))/QP^[Q]^.WF[2].FAmt); QP^[Q]^.cummInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END // end redist = 20 or 21 ELSE IF (QP^[Q]^.redistStatus = 30 ) OR (QP^[Q]^.redistStatus = 31) THEN BEGIN {--------------------update values since WC1 is ch anging everytime step ---------------------------} QP^[Q]^.Bfp := QP^[Q]^.WF[3].FAmt; tp := t deltaTerr; tpp := calcTpp(Q,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); QP^[Q]^.tpp := tpp; Fnew := QP^[Q]^.WF[3].FAmt + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.WF[3].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); // QP^[Q]^.WF[3].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); result := QP^[Q]^.ks + (( QP^[Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WCSQP^[Q]^.WF[2].WC))/QP^[Q]^.WF[3].FAmt); QP^[Q]^.cummInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END // end redist = 30 or 31 ELSE // redist = 40 BEGIN {--------------------update values since WC1 is ch anging everytime step ---------------------------} QP^[Q]^.Bfp := QP^[Q]^.WF[4].FAmt; tp := t deltaTerr; tpp := calcTpp(Q,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); QP^[Q]^.tpp := tpp; Fnew := QP^[Q]^.WF[4].FAmt + amtWater; {-------------------Use calcFNewton function for regular GA--------------------------------------------} {-----------------------Use calcFApprox function for approximate GA ---------------------------------} QP^[Q]^.WF[4].FAmt := calcFNewton(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); // QP^[Q]^.WF[4].FAmt := calcFApprox(Q,Fnew,t,tp,tpp,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); result := QP^[Q]^.ks + (( QP^[Q]^.ks QP^[Q]^.Sav*(QP^[Q]^.WCSQP^[Q]^.WF[3].WC))/QP^[Q]^.WF[4].FAmt); QP^[Q]^.cummInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt + QP^[Q]^.WF[3].FAmt + QP^[Q]^.WF[4].FAmt; deltaCummInfil := QP^[Q]^.cummInfil Fhold; END; // end else QP^[Q]^.fp := result; IF amtWater > deltaCummInfil THEN BEGIN QP^[Q]^.pondingAmt := amtWater deltaCummInfil; IF QP^[Q]^.pondingAmt > QP^[Q]^.smax THEN BEGIN QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt + (QP^[Q]^.pondingAmt QP^[Q]^.smax); QP^[Q]^.pondingAmt := QP^[Q]^.smax; END // end if pond > smax ELSE

PAGE 165

165 QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; END //end if water > deltacumm ELSE BEGIN QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; QP^[Q]^.pondingAmt := 0.0; END; // end else {-----------------------------------redistribute water--------------------------------------------------------} //calc generic gamma coefficient; need to adjust for intermediate time step FOR J := 1 to 3 DO QP^[Q]^.wf[j].adjFactor := adjFactorCalc(Q,QP^[Q ]^.wf[j].numRedist, (QP^[Q]^.wf[j].redistTime-deltaT+deltaTerr)); IF (QP^[Q]^.red istStatus = 11) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 10; // do not redistribute wf 1 QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END ELSE Redist11(Q,R,interTime-deltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 20) THEN BEGIN Redist20(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 21) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 20; Redist20(Q,R,interTime-deltaTerr,intertime,deltaTerr,nok,nbad); END ELSE Redist21(Q,R,interTime-deltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 30) THEN BEGIN Redist30(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 31) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 30; Redist30(Q,R,interTime-deltaTerr,intertime,deltaTerr,nok,nbad); END ELSE Redist31(Q,R,interTime-deltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 40) THEN BEGIN Redist40(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad);

PAGE 166

166 END ELSE //redistStatus = 10, do not redistribute only move wf1 down QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); IF QP^[Q]^.WF[1].WC > QP^[Q]^.WCS THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCS; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCS; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END; //end wc1 > wsc CalcWCO(Q); CalcRWC(Q); CalcLayerAvgWC(Q); Append(SomeTxtFile); Write(SomeTxtFile,intertime:1:0,'':1); FOR I := 1 TO 4 DO BEGIN Write(SomeTxtFile,Q P^[Q]^.WF[I].FAmt:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].z:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].WC:3:6,'':1); END; Write(SomeTxtFile,QP^[Q]^.WCO:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.RWC:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.cummInfil:3:6,'':1); FOR I := 1 TO (QP^[Q]^.NumObsLayers-1) DO WRite(SomeTxtFile,QP^ [Q]^.LayerAvgWC[I]:3:6,'':1); WriteLn(SomeTxtFile,QP^[Q]^.LayerAvgWC[QP^[Q]^.NumObsLayers]:3:6,'':1); END; //if deltaterr END; {calculates infiltration rate, cumulative infiltration, runoff and surface storage under nonponded conditions; calls redistribution pro cess for lower layers ----------------------} FUNCTION CalcNoPond(Q: INTEGER; tsta rt, tend, deltaT, R: DOUBLE): DOUBLE; var nsteps : INTEGER; deltaTerr : DOUBLE; interTime : DOUBLE; kk, i j: INTEGER; expon : DOUBLE; deltaInfil : DOUBLE; y : REAL; nbad, nok : INTEGER; BEGIN result := 0.0; nsteps := trunc((tend tstart)/deltaT); interTime:= tstart; FOR kk := 0 TO (nsteps 1) DO BEGIN interTime := interTime + deltaT; QP^[Q]^.time := interTime; QP^[Q]^.cummPrecip := QP^[Q]^.cummPrecip + deltaT*R;

PAGE 167

167 QP^[Q]^.cummInfil := QP^[Q]^.cummInfil + R*deltaT; QP^[Q]^.pondingAmt := 0.0; QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; result := R; IF (QP^[Q]^.red istStatus = 40) THEN BEGIN QP^[Q]^.WF[4].FAmt:= QP^[Q]^.cummInfil QP^[Q]^.WF[3].FAmt QP^[Q]^.WF[2].FAmt QP^[Q]^.WF[1].FAmt; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WF[3].WC)/QP^[Q]^.WF[4].FAmt); END ELSE IF (QP^[Q]^.redistStatus = 30 ) OR (QP^[Q]^.redistStatus = 31) THEN BEGIN QP^[Q]^.WF[3].FAmt:= QP^[Q]^.cummInfil QP^[Q]^.WF[2].FAmt QP^[Q]^.WF[1].FAmt; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WF[2].WC)/QP^[Q]^.WF[3].FAmt); END ELSE IF (QP^[Q]^.redistStatus = 20 ) OR (QP^[Q]^.redistStatus = 21) THEN BEGIN QP^[Q]^.WF[2].FAmt:= QP^[Q]^.cummInfil QP^[Q]^.WF[1].FAmt; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WF[1].WC)/QP^[Q]^.WF[2].FAmt); END ELSE BEGIN QP^[Q]^.WF[1].FAmt:= QP^[Q]^.cummInfil; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WCI)/QP^[Q]^.WF[1].FAmt); END; {-------------------------------redistribute water--------------------------------------------------------} {calculate generic gamma coefficient----------------------------------------------------------------} FOR J := 1 to 3 DO QP^[Q]^.wf[j].adjFactor := adjFactorCalc(Q,QP^[Q ]^.wf[j].numRedist, QP^[Q]^.wf[j].redistTime); {preponding, estimate rising water content -------------------------------------------------------} IF (QP^[Q]^.pondFlag = 0) and (R > 0.0) and (QP^[Q]^.WF[2].WC = 0.0) THEN BEGIN expon := 1/(3 + (2/QP^[Q]^.lambda)); QP^[Q]^.WF[1].WC := QP^[Q]^.WCI + (QP^[Q]^.WCS-QP^[Q]^.WCI)* power((R/QP^[Q]^.fp),expon); QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[1].WC; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.cummInfil,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END //end pondflag ELSE IF (QP^[Q]^.redistStatus = 11) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 10; // do not redistribute wf 1 QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END ELSE Redist11(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad);

PAGE 168

168 END ELSE IF (QP^[Q]^.redistStatus = 20) THEN BEGIN Redist20(Q,R,interTime-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 21) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 20; Redist20(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE Redist21(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 30) THEN BEGIN Redist30(Q,R,interTime-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 31) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 30; Redist30(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE Redist31(Q,R,interTim e-deltaT,intertime,deltaT,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 40) THEN BEGIN Redist40(Q,R,interTime-deltaT,intertime,deltaT,nok,nbad); END ELSE //redistStatus = 10, do not redistribute only move wf1 down QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); IF QP^[Q]^.WF[1].WC > QP^[Q]^.WCS THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCS; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCS; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END; //end wc1 > wsc CalcWCO(Q); CalcRWC(Q); CalcLayerAvgWC(Q); Append(SomeTxtFile); Write(SomeTxtFile,intertime:1:0,'':1); FOR I := 1 TO 4 DO BEGIN Write(SomeTxtFile,Q P^[Q]^.WF[I].FAmt:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].z:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].WC:3:6,'':1); END;

PAGE 169

169 Write(SomeTxtFile,QP^[Q]^.WCO:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.RWC:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.cummInfil:3:6,'':1); FOR I := 1 TO (QP^[Q]^.NumObsLayers-1) DO WRite(SomeTxtFile,QP^ [Q]^.LayerAvgWC[I]:3:6,'':1); WriteLn(SomeTxtFile,QP^[Q]^.LayerAvgWC[QP^[Q]^.NumObsLayers]:3:6,'':1); END; //for kk {--------------------------Check that really at END of period---------------------------------------------} deltaTerr := tend interTime; IF deltaTerr > 1E-10 THEN BEGIN interTime := tend; QP^[Q]^.time := interTime; QP^[Q]^.cummPrecip := QP^[Q]^.cummPrecip + deltaTerr*R; QP^[Q]^.cummInfil := QP^[Q]^.cummInfil + R*deltaTerr; QP^[Q]^.pondingAmt := 0.0; QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; result := R; IF (QP^[Q]^.red istStatus = 40) THEN BEGIN QP^[Q]^.WF[4].FAmt:= QP^[Q]^.cummInfil QP^[Q]^.WF[3].FAmt QP^[Q]^.WF[2].FAmt QP^[Q]^.WF[1].FAmt; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WF[3].WC)/QP^[Q]^.WF[4].FAmt); END ELSE IF (QP^[Q]^.redistStatus = 30 ) OR (QP^[Q]^.redistStatus = 31) THEN BEGIN QP^[Q]^.WF[3].FAmt:= QP^[Q]^.cummInfil QP^[Q]^.WF[2].FAmt QP^[Q]^.WF[1].FAmt; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WF[2].WC)/QP^[Q]^.WF[3].FAmt); END ELSE IF (QP^[Q]^.redistStatus = 20 ) OR (QP^[Q]^.redistStatus = 21) THEN BEGIN QP^[Q]^.WF[2].FAmt:= QP^[Q]^.cummInfil QP^[Q]^.WF[1].FAmt; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WF[1].WC)/QP^[Q]^.WF[2].FAmt); END ELSE BEGIN QP^[Q]^.WF[1].FAmt:= QP^[Q]^.cummInfil; QP^[Q]^.fp := QP^[Q]^.ks + (QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WCS QP^[Q]^.WCI)/QP^[Q]^.WF[1].FAmt); END; {----------------------------redistribute water------------------------------------------------------------} {calc generic gamma coefficient-----------------------------------------------------------------------} FOR J := 1 to 3 DO QP^[Q]^.wf[j].adjFactor := adjFactorCalc(Q,QP^[Q ]^.wf[j].numRedist, (QP^[Q]^.wf[j].redistTime-deltaT+deltaTerr)); {preponding, estimate rising water content -------------------------------------------------------} IF (QP^[Q]^.pondFlag = 0) and (R > 0.0) and (QP^[Q]^.WF[2].WC = 0.0) THEN BEGIN expon := 1/(3 + (2/QP^[Q]^.lambda)); QP^[Q]^.WF[1].WC := QP^[Q]^.WCI + (QP^[Q]^.WCS-QP^[Q]^.WCI)* power((R/QP^[Q]^.fp),expon);

PAGE 170

170 QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[1].WC; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.cummInfil,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END //end pondflag ELSE IF (QP^[Q]^.redistStatus = 11) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 10; // do not redistribute wf 1 QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); END ELSE Redist11(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 20) THEN BEGIN Redist20(Q,R,interTime-delta Terr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 21) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 20; Redist20(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE Redist21(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 30) THEN BEGIN Redist30(Q,R,interTime-delta Terr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 31) THEN BEGIN IF (QP^[Q]^.pondingAmt > 0.0) THEN BEGIN QP^[Q]^.redistStatus := 30; Redist30(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE Redist31(Q,R,interTime-de ltaTerr,intertime,deltaTerr,nok,nbad); END ELSE IF (QP^[Q]^.redistStatus = 40) THEN BEGIN Redist40(Q,R,interTime-delta Terr,intertime,deltaTerr,nok,nbad); END ELSE //redistStatus = 10, do not redistribute only move wf1 down QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC, QP^[Q]^.WCI); IF QP^[Q]^.WF[1].WC > QP^[Q]^.WCS THEN BEGIN QP^[Q]^.WF[1].WC := QP^[Q]^.WCS; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WCS; QP^[Q]^.WF[1].z := calcRedistZf(Q,QP^[Q]^.WF[1].FAmt,QP^[Q]^.WF[1].WC,

PAGE 171

171 QP^[Q]^.WCI); END; //end wc1 > wsc END; //end if dterr END; //calcNoPond {calculates potential infil, time of p onding and calls appropriate infiltration subroutine: ponded or nonponded; updates redistribution status of wetting fronts; calls redistribution if precip
PAGE 172

172QP^[Q]^.redistTime := QP^[Q]^.redistTime + deltaT; FOR T := 1 to 3 DO BEGIN QP^[Q]^.WF[T].redistTime := QP^[Q]^.WF[T].redistTime + 1; END; IF (precip > 0.0) OR (QP^[Q]^.pondingAmt > 1E-10) THEN BEGIN {--------------------------Start of infiltration thro ugh soil -----------------------------------------} IF QP^[Q]^.pondingAmt <= 1E-10 THEN BEGIN {------------------update redistribution status----------------------------------------------------------} IF (QP^[Q]^.redistStatus = 10) AND (precip < QP^[Q]^.ks) THEN BEGIN //wetting front can redistribute QP^[Q]^.redistStatus := 11; END ELSE IF (QP^[Q]^.redistStatus = 11) AND (precip > QP^[Q]^.ks) THEN BEGIN//two wetting fronts with one redistributing QP^[Q]^.redistStatus := 20; QP^[Q]^.WF[2].FAmt := QP^[Q]^.cummInfil QP^[Q]^.WF[1].FAmt; QP^[Q]^.WF[2].WC := QP^[Q]^.WCS; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WCS; QP^[Q]^.fp := 0.0; QP^[Q]^.tpAdj := 0; END ELSE IF (QP^[Q]^.redistStatus = 20) AND (precip < QP^[Q]^.ks) THEN BEGIN //two wetting fronts with both redistributing QP^[Q]^.redistStatus := 21; END ELSE IF (QP^[Q]^.redistStatus = 21) AND (precip > QP^[Q]^.ks) THEN BEGIN//three wetting fronts with two redistributing QP^[Q]^.redistStatus := 30; QP^[Q]^.WF[3].FAmt := QP^[Q]^.cummInfil QP^[Q]^.WF[2].FAmt QP^[Q]^.WF[1].FAmt; QP^[Q]^.WF[3].WC := QP^[Q]^.WCS; QP^[Q]^.WF[3].WCHold := QP^[Q]^.WCS; QP^[Q]^.fp := 0.0; QP^[Q]^.tpAdj := 0; END ELSE IF (QP^[Q]^.redistStatus = 30) AND (precip < QP^[Q]^.ks) THEN BEGIN //three wetting front s with three redistributing QP^[Q]^.redistStatus := 31; END ELSE IF (QP^[Q]^.redistStatus = 31) AND (precip > QP^[Q]^.ks) THEN BEGIN//four wetting fr onts with 3 redistributing QP^[Q]^.redistStatus := 40; QP^[Q]^.WF[4].FAmt := QP^[Q]^.cummInfil QP^[Q]^.WF[3].FAmt QP^[Q]^.WF[2].FAmt QP^[Q]^.WF[1].FAmt; QP^[Q]^.WF[4].WC := QP^[Q]^.WCS; QP^[Q]^.WF[4].WCHold := QP^[Q]^.WCS; QP^[Q]^.fp := 0.0; QP^[Q]^.tpAdj := 0; END ELSE IF (QP^[Q]^.redistStatus = 40) AND (precip < QP^[Q]^.ks) THEN BEGIN//merge wetting front 1 and 2 three wetting fronts redistributing QP^[Q]^.redistStatus := 31; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt;

PAGE 173

173 QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].Z := QP^[Q]^.WF[1].FAmt/(QP^[Q]^.WF[1].WC-QP^[Q]^.WCI); QP^[Q]^.WF[2]. Z := QP^[Q]^.WF[3].Z; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[3]. Z := QP^[Q]^.WF[4].Z; QP^[Q]^.WF[3].FAmt := QP^[Q]^.WF[4].FAmt; QP^[Q]^.WF[3].WC := QP^[Q]^.WF[4].WC; QP^[Q]^.WF[3].WCHold := QP^[Q]^.WF[4].WCHold; QP^[Q]^.WF[4].Z := 0.0; QP^[Q]^.WF[4].FAmt := 0.0; QP^[Q]^.WF[4].WC := 0.0; QP^[Q]^.WF[4].WCHold := 0.0; QP^[Q]^.fp := 0.0; END; IF (QP^[Q]^.fp > 1E-10) and (precip >= QP^[Q]^.fp) THEN {-------------------ponding starts immediately--------------------------------------------------------------} {-----------calculate cumulative inf iltration at ponding and time shift-------------------------------} BEGIN QP^[Q]^.timeToPond := tstart; IF (QP^[Q]^.redistStatus = 10 ) OR (QP^[Q]^.redis tStatus = 11) THEN BEGIN QP^[Q]^.Bfp := QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WF[1].WC QP^[Q]^.WCI)/ (QP^[Q]^.fp QP^[Q]^.ks); QP^[Q]^.tpp := cal cTpp(Q,QP^[Q]^.WCI,QP^[Q]^.Sav); END ELSE IF (QP^[Q]^.redistStatus = 20) OR (QP^[Q]^.red istStatus = 21) THEN BEGIN QP^[Q]^.Bfp := QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WF[2].WC QP^[Q]^.WF[1].WC)/(QP^[Q]^.fp QP^[Q]^.ks); QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); END ELSE IF (QP^[Q]^.redistStatus = 30) OR (QP^[Q]^.red istStatus = 31) THEN BEGIN QP^[Q]^.Bfp := QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WF[3].WC QP^[Q]^.WF[2].WC)/(QP^[Q]^.fp QP^[Q]^.ks); QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); END ELSE BEGIN QP^[Q]^.Bfp := QP^[Q]^.ks*QP^[Q]^.Sav*(QP^[Q]^.WF[4].WC QP^[Q]^.WF[3].WC)/(QP^[Q]^.fp QP^[Q]^.ks); QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); END; END //if fp > 0 {----------------------ponding does not necessarily start immediately--------------------------------} {----------------calculate potential cumulative infil, time to pond an d time shift----------------------} ELSE IF (precip > QP^[Q]^.ks) THEN BEGIN IF (QP^[Q]^.redistStatus = 10 ) OR (QP^[Q]^.redis tStatus = 11) THEN BEGIN QP^[Q]^.BFp := cummIn filAtPond(Q,QP^[Q]^.WCI,QP^[Q]^.Sav); QP^[Q]^.timeToPond := calcTim etoPond(Q) + tstart QP^[Q]^.tpAdj*deltaT; QP^[Q]^.tpp := cal cTpp(Q,QP^[Q]^.WCI,QP^[Q]^.Sav);

PAGE 174

174 END ELSE IF (QP^[Q]^.redistStatus = 20) OR (QP^[Q]^.red istStatus = 21) THEN BEGIN QP^[Q]^.BFp := cummInfilAtPond(Q,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); QP^[Q]^.timeToPond := calcTim etoPond(Q) + tstart QP^[Q]^.tpAdj*deltaT; QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); END ELSE IF (QP^[Q]^.redistStatus = 30) OR (QP^[Q]^.red istStatus = 31) THEN BEGIN QP^[Q]^.BFp := cummInfilAtPond(Q,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); QP^[Q]^.timeToPond := calcTim etoPond(Q) + tstart QP^[Q]^.tpAdj*deltaT; QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); END ELSE BEGIN QP^[Q]^.BFp := cummInfilAtPond(Q,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); QP^[Q]^.timeToPond := calcTim etoPond(Q) + tstart QP^[Q]^.tpAdj*deltaT; QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); END; END //if R > ks {------------------------------no ponding will occur ------------------------------------------------} ELSE BEGIN QP^[Q]^.timeToPond := 99999999; END; //else IF QP^[Q]^.timeToPond > tend THEN {--------------no ponding occurs during time step; calc infil using calcNoPond only ---------------} BEGIN QP^[Q]^.timeToPond := 99999999; QP^[Q]^.tpp := 99999999; result := calcNoPond(Q,tstart,tend,deltaT,precip); END ELSE IF QP^[Q]^.timeToPond < tend THEN BEGIN {---ponding will occur during time step; calc infil using both noPond and Pond------------------} {----------------infil rate from start until ponding at tp---------------------------------------------} noPondInfilRate := calcNoPond(Q, tstart, QP^[Q]^.timeToPond, deltaT,precip); {---------------------infil rate from tp until END ----------------------------------------------------} result := calcPond(Q,QP^[Q] ^.TimeToPond,tend,QP^[Q]^.TimeToPond, QP^[Q]^.tpp, deltaT, precip); END; END //if ponding < 0 ELSE IF QP^[Q]^.pondingAmt >= 1E-10 THEN {------------------ponding from start-----------------------------------------------------------------------} BEGIN QP^[Q]^.timeToPond := tstart; IF (QP^[Q]^.Bfp = 0.0) THEN //IF po nding on surface before start of simulation BEGIN QP^[Q]^.tpp := tstart; END; IF (QP^[Q]^.redistStatus = 40) and (precip < QP^[Q]^.ks) THEN BEGIN//merge wetting front 1 and 2 three wetting fronts QP^[Q]^.redistStatus := 30; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold;

PAGE 175

175 QP^[Q]^.WF[1].Z := QP^[Q]^.WF[1].FAmt/(QP^[Q]^.WF[1].WC-QP^[Q]^.WCI); QP^[Q]^.WF[2]. Z := QP^[Q]^.WF[3].Z; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[3]. Z := QP^[Q]^.WF[4].Z; QP^[Q]^.WF[3].FAmt := QP^[Q]^.WF[4].FAmt; QP^[Q]^.WF[3].WC := QP^[Q]^.WF[4].WC; QP^[Q]^.WF[3].WCHold := QP^[Q]^.WF[4].WCHold; QP^[Q]^.WF[4].Z := 0.0; QP^[Q]^.WF[4].FAmt := 0.0; QP^[Q]^.WF[4].WC := 0.0; QP^[Q]^.WF[4].WCHold := 0.0; END; IF (precip < QP^[Q]^.fp) THEN //cha nce it will not remain ponded the entire time //need to find the time all water will infil, ie when no longer ponded BEGIN IF (QP^[Q]^.redistStatus = 10) THEN BEGIN QP^[Q]^.Bfp := QP^[Q]^.WF[1].FAmt; QP^[Q]^.tpp := cal cTpp(Q,QP^[Q]^.WCI,QP^[Q]^.Sav); totalInfil := QP^[Q]^.WF[1].FAmt + QP^[Q]^.pondingAmt; t1 := calcTNewton(Q, tstart tend, QP^[Q]^.timeToPond, QP^[Q]^.tpp, precip, totalInfil,QP^[Q]^.WCI,QP^[Q]^.Sav); END ELSE IF (QP^[Q ]^.redistStatus = 20) THEN BEGIN QP^[Q]^.Bfp := QP^[Q]^.WF[2].FAmt; QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); totalInfil := QP^[Q]^.WF[2].FAmt + QP^[Q]^.pondingAmt; t1 := calcTNewton(Q, tstart tend, QP^[Q]^.timeToPond, QP^[Q]^.tpp, precip, totalInfil,QP^[Q]^.WF[1].WC,QP^[Q]^.Sav); END ELSE IF (QP^[Q ]^.redistStatus = 30) THEN BEGIN QP^[Q]^.Bfp := QP^[Q]^.WF[3].FAmt; QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); totalInfil := QP^[Q]^.WF[3].FAmt + QP^[Q]^.pondingAmt; t1 := calcTNewton(Q, tstart tend, QP^[Q]^.timeToPond, QP^[Q]^.tpp, precip, totalInfil,QP^[Q]^.WF[2].WC,QP^[Q]^.Sav); END ELSE //redistStatus = 40 BEGIN QP^[Q]^.Bfp := QP^[Q]^.WF[4].FAmt; QP^[Q]^.tpp := calcTpp(Q,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); totalInfil := QP^[Q]^.WF[4].FAmt + QP^[Q]^.pondingAmt; t1 := calcTNewton(Q, tstart tend, QP^[Q]^.timeToPond, QP^[Q]^.tpp, precip, totalInfil,QP^[Q]^.WF[3].WC,QP^[Q]^.Sav); END; END ELSE // there is no chance it will loose all ponding t1 := tend + 99999999.0; //set time so that it will remain ponded IF t1 > tend THEN {-----------------will remain ponded entire period; inf il using pond conditions only--------------} BEGIN result := calcPond(Q,tstart,tend,QP ^[Q]^.timeToPond,QP^[Q]^.tpp,deltaT,precip);

PAGE 176

176 END ELSE IF t1 < tend THEN // {----------ponding w ill END at t1; calc infil using pond and noPond conditions-----------------} BEGIN {-------------------------ponded portion from tstart to t1 ------------------------------------------------} pondInfilRate := calcPond(Q,tstart,t1,QP^[Q]^ .timeToPond,QP^[Q]^.tpp, deltaT,precip); IF (QP^[Q]^.redistStatus = 10) and (precip < QP^[Q]^.ks) THEN QP^[Q]^.redistStatus := 11 ELSE IF (QP^[Q]^.redistStatus = 20) and (precip < QP^[Q]^.ks) THEN QP^[Q]^.redistStatus := 21 ELSE IF (QP^[Q]^.redistStatus = 30) and (precip < QP^[Q]^.ks) THEN QP^[Q]^.redistStatus := 31 ; {---------------------no pond portion from t1 to tEND ----------------------------------------------------} result := calcNoPond(Q,t1,tend,deltaT,precip); END; END; {IF PondingAmt > 0.0} END {IF precip > 0 or ponding > 0 } {------------------------red istribution only, no infiltr ation -------------------------------------------} ELSE BEGIN //still need to redistribute soil water IF (QP^[Q]^.redistStatus = 40) THEN BEGIN//merge wetting front 1 and 2 three wetting fronts QP^[Q]^.redistStatus := 31; QP^[Q]^.WF[1].FAmt := QP^[Q]^.WF[1].FAmt + QP^[Q]^.WF[2].FAmt; QP^[Q]^.WF[1].WC := QP^[Q]^.WF[2].WC; QP^[Q]^.WF[1].WCHold := QP^[Q]^.WF[2].WCHold; QP^[Q]^.WF[1].Z := QP^[Q]^.WF[1].FAmt/(QP^[Q]^.WF[1].WC-QP^[Q]^.WCI); QP^[Q]^.WF[2].Z := QP^[Q]^.WF[3].Z; QP^[Q]^.WF[2].FAmt := QP^[Q]^.WF[3].FAmt; QP^[Q]^.WF[2].WC := QP^[Q]^.WF[3].WC; QP^[Q]^.WF[2].WCHold := QP^[Q]^.WF[3].WCHold; QP^[Q]^.WF[3].Z := QP^[Q]^.WF[4].Z; QP^[Q]^.WF[3].FAmt := QP^[Q]^.WF[4].FAmt; QP^[Q]^.WF[3].WC := QP^[Q]^.WF[4].WC; QP^[Q]^.WF[3].WCHold := QP^[Q]^.WF[4].WCHold; QP^[Q]^.WF[4].Z := 0.0; QP^[Q]^.WF[4].FAmt := 0.0; QP^[Q]^.WF[4].WC := 0.0; QP^[Q]^.WF[4].WCHold := 0.0; END ELSE IF (QP^[Q]^.redistStatus = 30) THEN QP^[Q]^.redistStatus := 31 ELSE IF (QP^[Q]^.redistStatus = 20) THEN QP^[Q]^.redistStatus := 21 ELSE IF (QP^[Q]^.redistStatus = 10) THEN QP^[Q]^.redistStatus := 11; nsteps := trunc((tend tstart)/deltaT); interTime := tstart; FOR T := 0 TO (nsteps -1) DO BEGIN interTime := interTime + deltaT; QP^[Q]^.time := interTime; QP^[Q]^.cummPrecip := QP^[Q]^.cummPrecip; QP^[Q]^.cummInfil := QP^[Q]^.cummInfil; QP^[Q]^.pondingAmt := 0.0;

PAGE 177

177 QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; result := 0.0; Redistribution(Q,intertime, deltaT); CalcWCO(Q); CalcRWC(Q); CalcLayerAvgWC(Q); Append(SomeTxtFile); Write(SomeTxtFile,intertime:1:0,'':1); FOR I := 1 TO 4 DO BEGIN Write(SomeTxtFile,Q P^[Q]^.WF[I].FAmt:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].z:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].WC:3:6,'':1); END; Write(SomeTxtFile,QP^[Q]^.WCO:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.RWC:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.cummInfil:3:6,'':1); FOR I := 1 TO (QP^[Q]^.NumObsLayers-1) DO WRite(SomeTxtFile,QP^ [Q]^.LayerAvgWC[I]:3:6,'':1); WriteLn(SomeTxtFile,QP^[Q]^.LayerAvgWC[QP^[Q]^.NumObsLayers]:3:6,'':1); END; deltaTerr := tend interTime; IF deltaTerr > 1E-10 THEN BEGIN interTime := tend; QP^[Q]^.time := interTime; QP^[Q]^.cummPrecip := QP^[Q]^.cummPrecip; QP^[Q]^.cummInfil := QP^[Q]^.cummInfil; QP^[Q]^.pondingAmt := 0.0; QP^[Q]^.runoffAmt := QP^[Q]^.runoffAmt; result := 0.0; Redistribution(Q,intertime, deltaTerr); CalcWCO(Q); CalcRWC(Q); CalcLayerAvgWC(Q); Append(SomeTxtFile); Write(SomeTxtFile,intertime:1:0,'':1); FOR I := 1 TO 4 DO BEGIN Write(SomeTxtFile,Q P^[Q]^.WF[I].FAmt:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].z:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.WF[I].WC:3:6,'':1); END; Write(SomeTxtFile,QP^[Q]^.WCO:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.RWC:3:6,'':1); Write(SomeTxtFile,QP^[Q]^.cummInfil:3:6,'':1); FOR I := 1 TO (QP^[Q]^.NumObsLayers-1) DO WRite(SomeTxtFile,QP^ [Q]^.LayerAvgWC[I]:3:6,'':1); WriteLn(SomeTxtFile,QP^[Q]^.LayerAvgWC[QP^[Q]^.NumObsLayers]:3:6,'':1); END; END; QP^[Q]^.tpAdj := QP^[Q]^.tpAdj + 1; END; {calcInfilRate Function} end.

PAGE 178

178 APPENDIX F 3DGAR SAMPLE INPUT FILE Units: Length [cm], Time [h] __________________________c:/fortran/3DGAR/clayIn.txt _______________________ 0.385 0.09 0.272 0.165 0.06 62.25 5.0 500.0 96 96.0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 -------------------------------------------------------------------------------------------------------------s ri Ks Sav dL Q nTimeSteps tstop (IrrigFlag(j), j = 1, nTimeSteps)

PAGE 179

179 APPENDIX G 3DGAR SAMPLE OUTPUT FILE 90 Degree Line Results Table G-1. Sample 3DGAR Output Time (h) 5 (cm) 10 (cm) 15 (cm) 20 (cm) 25 (cm) 30 (cm) 1 0.385 0.385 0.294 0.272 0.272 0.272 2 0.385 0.385 0.347 0.272 0.272 0.272 3 0.371 0.371 0.348 0.272 0.272 0.272 4 0.363 0.363 0.348 0.272 0.272 0.272 5 0.357 0.357 0.348 0.272 0.272 0.272 6 0.352 0.352 0.348 0.272 0.272 0.272 7 0.349 0.349 0.348 0.272 0.272 0.272 8 0.346 0.346 0.346 0.273 0.272 0.272 9 0.385 0.385 0.381 0.276 0.272 0.272 10 0.385 0.385 0.385 0.303 0.272 0.272 11 0.373 0.373 0.373 0.311 0.272 0.272 12 0.366 0.366 0.366 0.316 0.272 0.272 13 0.361 0.361 0.361 0.319 0.272 0.272 14 0.356 0.356 0.356 0.321 0.272 0.272 15 0.353 0.353 0.353 0.323 0.272 0.272 16 0.350 0.350 0.350 0.325 0.272 0.272 17 0.385 0.385 0.385 0.326 0.272 0.272 18 0.385 0.385 0.385 0.353 0.272 0.272 19 0.374 0.374 0.374 0.358 0.272 0.272 20 0.367 0.367 0.367 0.360 0.272 0.272 21 0.362 0.362 0.362 0.362 0.272 0.272 22 0.358 0.358 0.358 0.358 0.276 0.272 23 0.355 0.355 0.355 0.355 0.280 0.272 24 0.352 0.352 0.352 0.352 0.284 0.272 25 0.385 0.385 0.385 0.352 0.287 0.272 26 0.385 0.385 0.385 0.375 0.289 0.272 27 0.374 0.374 0.374 0.374 0.294 0.272 28 0.367 0.367 0.367 0.367 0.301 0.272 29 0.363 0.363 0.363 0.363 0.306 0.272 30 0.359 0.359 0.359 0.359 0.310 0.272 31 0.356 0.356 0.356 0.356 0.313 0.272 32 0.354 0.354 0.354 0.354 0.315 0.272 33 0.385 0.385 0.385 0.355 0.318 0.272 34 0.385 0.385 0.385 0.377 0.320 0.272 35 0.374 0.374 0.374 0.374 0.325 0.272 36 0.368 0.368 0.368 0.368 0.332 0.272 37 0.363 0.363 0.363 0.363 0.336 0.272 38 0.359 0.359 0.359 0.359 0.339 0.272 39 0.356 0.356 0.356 0.356 0.342 0.272 40 0.354 0.354 0.354 0.354 0.344 0.272 41 0.385 0.385 0.385 0.356 0.345 0.272 42 0.385 0.385 0.385 0.378 0.347 0.272 43 0.374 0.374 0.374 0.374 0.353 0.272 44 0.368 0.368 0.368 0.368 0.357 0.274 45 0.363 0.363 0.363 0.363 0.358 0.277 46 0.359 0.359 0.359 0.359 0.358 0.279 47 0.356 0.356 0.356 0.356 0.356 0.283

PAGE 180

180 Table G-1. Continued Time (h) 5 (cm) 10 (cm) 15 (cm) 20 (cm) 25 (cm) 30 (cm) 48 0.354 0.354 0.354 0.354 0.354 0.287 49 0.385 0.385 0.385 0.356 0.352 0.290 50 0.385 0.385 0.385 0.378 0.350 0.293 51 0.374 0.374 0.374 0.374 0.354 0.295 52 0.368 0.368 0.368 0.368 0.358 0.297 53 0.363 0.363 0.363 0.363 0.359 0.299 54 0.359 0.359 0.359 0.359 0.359 0.301 55 0.357 0.357 0.357 0.357 0.357 0.306 56 0.354 0.354 0.354 0.354 0.354 0.309 57 0.385 0.385 0.385 0.356 0.352 0.312 58 0.385 0.385 0.385 0.379 0.350 0.314 59 0.374 0.374 0.374 0.374 0.354 0.317 60 0.368 0.368 0.368 0.368 0.358 0.318 61 0.363 0.363 0.363 0.363 0.360 0.320 62 0.359 0.359 0.359 0.359 0.359 0.322 63 0.357 0.357 0.357 0.357 0.357 0.327 64 0.354 0.354 0.354 0.354 0.354 0.330 65 0.385 0.385 0.385 0.356 0.352 0.332 66 0.385 0.385 0.385 0.379 0.350 0.335 67 0.374 0.374 0.374 0.374 0.354 0.337 68 0.368 0.368 0.368 0.368 0.358 0.338 69 0.363 0.363 0.363 0.363 0.360 0.340 70 0.359 0.359 0.359 0.359 0.359 0.342 71 0.357 0.357 0.357 0.357 0.357 0.346 72 0.354 0.354 0.354 0.354 0.354 0.348 73 0.385 0.385 0.385 0.356 0.352 0.349 74 0.385 0.385 0.385 0.379 0.350 0.349 75 0.374 0.374 0.374 0.374 0.354 0.349 76 0.368 0.368 0.368 0.368 0.358 0.347 77 0.363 0.363 0.363 0.363 0.360 0.346 78 0.359 0.359 0.359 0.359 0.359 0.346 79 0.357 0.357 0.357 0.357 0.357 0.348 80 0.354 0.354 0.354 0.354 0.354 0.349 81 0.385 0.385 0.385 0.356 0.352 0.349 82 0.385 0.385 0.385 0.379 0.350 0.349 83 0.374 0.374 0.374 0.374 0.354 0.349 84 0.368 0.368 0.368 0.368 0.358 0.347 85 0.363 0.363 0.363 0.363 0.360 0.346 86 0.359 0.359 0.359 0.359 0.359 0.346 87 0.357 0.357 0.357 0.357 0.357 0.348 88 0.354 0.354 0.354 0.354 0.354 0.349 89 0.385 0.385 0.385 0.356 0.352 0.349 90 0.385 0.385 0.385 0.379 0.350 0.349 91 0.374 0.374 0.374 0.374 0.354 0.349 92 0.368 0.368 0.368 0.368 0.358 0.347 93 0.363 0.363 0.363 0.363 0.360 0.346 94 0.359 0.359 0.359 0.359 0.359 0.346 95 0.357 0.357 0.357 0.357 0.357 0.347 96 0.354 0.354 0.354 0.354 0.354 0.349

PAGE 181

181 APPENDIX H 3DGAR COMPUTER SOURCE CODE (FORTRAN 90) Program 3DGAR ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Written for: PhD Dissertation c c Last Updated: October 2007 c c Written by: Leslie Gowdish c c Ag. & Bio. Eng. Department c c University of Florida c c Email: Leslie@Gowdish.com c c c c Program: 3-dimensional Green-Ampt infiltra tion and redistribution method (3DGAR) c c Code is written in Fortran language c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Implicit None Integer j, numA,redistStatus,ncells Integer k, i, nTimeSteps Parameter (numA=7) c parameter for number of cells, can be changed by user ----------------------------------------Parameter (nCells = 7) Double Precision Q,H,ksat,dM,wcs,wci,dL Double Precision wcr,lambda,angles(7) Double Precision romin Double Precision deltat,ts,tstop,tend Double Precision IrrigFlag(5000) Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common / RData/ angles Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Type Cells Double Precision x1 Double Precision x2 Double Precision y1

PAGE 182

182 Double Precision y2 Double Precision AvgWC Double Precision d(4) Double Precision e(4) Double Precision f(4) Double Precision g(4) Double Precision Area(4) End Type Type (cells) cell(ncells,ncells) Open(Unit = 500, file = + 'c:/fortran/3DGAR/ clayIn.txt',status = 'old') Open(Unit = 200, file = 'c:/fortran/chuInfilOutput.txt') Read(500,*)wcs,wcr,wci,lambd a,ksat,H,dL,Q,nTimeSteps,tstop Read(500,*) (IrrigFlag(j), j=1,nTimeSteps) romin = Q*0.0265*(H**-0.6098)*(ksat**-0.6555) c Simplified Philip Romin Calculation c romin = 0.9327*Q*(H**-1.0)*(ksat**-1.0) deltaT = tstop/nTimeSteps ts = 0.d0 tend = ts + deltat j=1 Call ChuInitialize(numA,angles,redistStatus,wcs,wci,dM, + romin,ncells,dL,WF,cell) write (200,*) '90 Degree Line Results' write (200,*) 'Time(h) 5(cm) 10(cm) 15(cm) 20(cm) 25(cm) 30(cm)' Do While (tend.LE.tstop) Q = IrrigFlag(j) Call ChuInfilTest(numA,redistSta tus,ts,tend,deltat,Q,H,ksat,dM, + wcs,wci,romi n,lambda,wcr,ncells,WF,cell) write(200,7000) tend, (CELL(k,1)%AVGWC, k = 2,ncells) ts = ts + deltat tend = tend + deltat j = j + 1 ENDDO Write (200,*) 7000 Format (F9.3, 15F6.3) Close (200) Close (500) END Subroutine ChuInitialize(numA,angles,redistStatus,wcs,wci,dM, + romin,ncells,dL,WF,cell) c-----initializes variables ----------------------------------------------------------

PAGE 183

183 Implicit None Integer i,j,redistStatus,numA,ncells Double Precision wcs, wci,dM,romin,dL Double Precision Angles(7) Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Type Cells Double Precision x1 Double Precision x2 Double Precision y1 Double Precision y2 Double Precision AvgWC Double Precision d(4) Double Precision e(4) Double Precision f(4) Double Precision g(4) Double Precision Area(4) End Type Type (cells) cell(ncells,ncells) c-----Angles for points along wetting front --------------------------------------------------------angles(1) = (3.141592654/8.d0) angles(2) = (3.d0*3.141592654/16.d0) angles(3) = (3.141592654/4.0) angles(4) = (5.d0*3.141592654/16.d0) angles(5) = (3.d0*3.141592654/8.d0) angles(6) = (7.d0*3.141592654/16.d0) angles(7) = (3.141592654/2.d0) dM = wcs wci Do i = 1,4 WF(i)%FAmt = 0.0 WF(i)%wc = 0.0 Do j = 1, numA+1 WF(i)%R(j) = 0.0 WF(i)%x(j) = 0.0 WF(i)%y(j) = 0.0 Enddo WF(i)%kint = 0.0

PAGE 184

184 WF(i)%a = 0.0 WF(i)%b = 0.0 WF(i)%vol = 0.0 WF(i)%SA = 0.0 WF(i)%TInfil = 0.0 EndDo WF(1)%WC = wcs redistStatus = 10 Do i = 1,numA+1 WF(1)%R(i) = romin EndDo c-----Average water content H2D soils ----------------------------------------------------------c If obs. pts fall on x and/or y axis so that top row and left column are half cells Do i = 1,ncells column Do j = 1,ncells row If(i.eq.1.and.j.eq.1) Then !corner cell cell(j,i)%y1 = 0 top coordinate cell(j,i)%y2 = dL/2.0 !bottom coordinate cell(j,i)%x1 = 0 !left coordinate cell(j,i)%x2 = dL/2.0 right coordinate ElseIF(i.eq.1.and.j.ne.1) THEN !!!far left column cell(j,i)%y1 = dL/2.0 + (j-2)*dL cell(j,i)%y2 = cell(j,i)%y1 + dL cell(j,i)%x1 = 0 cell(j,i)%x2 = dL/2.0 ElseIF(j.eq.1.and.i.ne.1) THEN !!!top row cell(j,i)%y1 = 0 cell(j,i)%y2 = dL/2.0 cell(j,i)%x1 = dL/2 + (i-2)*dL cell(j,i)%x2 = cell(j,i)%x1 + dL Else !! all other cells cell(j,i)%y1 = dL/2.0 + (j-2)*dL cell(j,i)%y2 = cell(j,i)%y1 + dL cell(j,i)%x1 = dL/2 + (i-2)*dL cell(j,i)%x2 = cell(j,i)%x1 + dL EndIF cell(j,i)%avgWC = 0.d0 Enddo Enddo c-----If obs. pts fall in off axis so that all cells same size and pts fall in center -----------------c Do i = 1,6 !!column c Do j = 1,6 !!!row c cell(j,i)%x1 = (j-1)*dL c cell(j,i)%x2 = cell(j,i)%x1 + dL c cell(j,i)%y1 = (i-1)*dL c cell(j,i)%y2 = cell(j,i)%y1 +dL c cell(j,i)%avgWC = 0.d0 c c Enddo c Enddo END

PAGE 185

185 Subroutine ChuInfilTest (numA,redistStatus,ts,tend,deltat,Q,H,ksat, + dM,wcs,wci,romin,lambda,wcr,ncells,WF,cell) c-----updates redistribution status; calls infiltration and redistribution process ----------------------Implicit None Double Precision Rold(7),Rnew(7),vol,SA,Q Double Precision wcs,wcr,wci,lambda,H, wcmin Double Precision Sorp,a,b,romin,pi,times(6) Parameter(Pi = 3.14159265359) Double Precision cummInfil, deltat, ts,tstop,tend Double Precision Ksat, t, dM, R0new Double Precision Q2, H2,Ksat2 Double Precision angles(7) Integer NumA,ncells Integer redistStatus,n Integer i,j,k,k1,k2,k3 Common / RData/ angles Type Front Sequence Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Type Cells Double Precision x1 Double Precision x2 Double Precision y1 Double Precision y2 Double Precision AvgWC Double Precision d(4) Double Precision e(4) Double Precision f(4) Double Precision g(4) Double Precision Area(4) End Type Type (cells) cell(ncells,ncells) c--------------------------Update redistStatus -------------------------------------------------IF (redistStatus.EQ.10.AND.Q.EQ.0.d0)THEN redistStatus = 11 ELSEIF (redistStatus.EQ.11.AND.Q.GT.0.d0)THEN redistStatus = 20 WF(2)%WC = WCS

PAGE 186

186 Do i = 1,numA+1 WF(2)%R(i) = romin EndDo ELSEIF (redistStatus.EQ.20.AND.Q.EQ.0.d0)THEN redistStatus = 21 ELSEIF (redistStatus.EQ.21.AND.Q.GT.0.d0)THEN redistStatus = 30 WF(3)%WC = WCS Do i = 1,numA+1 WF(3)%R(i) = romin EndDo ELSEIF (redistStatus.EQ.30.AND.Q.EQ.0.d0)THEN redistStatus = 31 ELSEIF (redistStatus.EQ.31.AND.Q.GT.0.d0)THEN redistStatus = 40 WF(4)%WC = WCS Do i = 1,numA+1 WF(4)%R(i) = romin EndDo ELSEIF (redistStatus.EQ.40.AND.Q.EQ.0.d0) THEN redistStatus = 31 n = 1 WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil WF(1)%WC = WF(2)%WC Call calcR(n,WF(1)%WC-WCI,romin,WF(1)%TInfil,angles, + numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) c-------------------------------reconfigure R,x,y,vol --------------------------------------------WF(2)%TInfil = WF(3)%TInfil WF(2)%WC = WF(3)%WC Do j = 1, numA+1 WF(2)%R(j) = WF(3)%R(j) WF(2)%x(j) = WF(3)%x(j) WF(2)%y(j) = WF(3)%y(j) Enddo WF(2)%kint = WF(3)%kint WF(2)%a = WF(3)%a WF(2)%b = WF(3)%b WF(2)%vol = WF(3)%vol WF(3)%TInfil = WF(4)%TInfil WF(3)%WC = WF(4)%WC Do j = 1, numA+1 WF(3)%R(j) = WF(4)%R(j) WF(3)%x(j) = WF(4)%x(j) WF(3)%y(j) = WF(4)%y(j) Enddo WF(3)%kint = WF(4)%kint WF(3)%a = WF(4)%a WF(3)%b = WF(4)%b WF(3)%vol = WF(4)%vol WF(4)%FAmt = 0.0 WF(4)%wc = 0.0

PAGE 187

187 Do j = 1, numA+1 WF(4)%R(j) = 0.0 WF(4)%x(j) = 0.0 WF(4)%y(j) = 0.0 Enddo WF(4)%kint = 0.0 WF(4)%a = 0.0 WF(4)%b = 0.0 WF(4)%vol = 0.0 EndIf IF (RedistStatus.EQ.10) THEN n = 1 WF(1)%TInfil = WF(1)%TInfil + deltaT Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) ELSEIF (RedistStatus.EQ.20) THEN n = 2 WF(2)%TInfil = WF(2)%TInfil + deltaT Call calcR(n,WF(2)%WC WF(1)%WC,romin, + WF(2)%TInfil,angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) ELSEIF (RedistStatus.EQ.30) THEN n = 3 WF(3)%TInfil = WF(3)%TInfil + deltaT Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) ELSEIF (RedistStatus.EQ.40) THEN n = 4 WF(4)%TInfil = WF(4)%TInfil + deltaT Call calcR(n,WF(4)%WC WF(3)%WC,romin,WF(4)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(4)%y(numA+1),WF) Call calcSA(n,WF(4)%y(numA+1),WF) ENDIF IF (redistStatus.EQ.11) THEN CALL Redist11(numA,ts,tend,deltaT,wcmin,WF) ELSEIF (redistSt atus.EQ.20) THEN CALL Redist20(numA,ts,tend,deltaT,wcmin,redistStatus,WF) ELSEIF (redistSt atus.EQ.21) THEN CALL Redist21(numA,ts,tend,deltaT,wcmin,redistStatus,WF) ELSEIF (redistSt atus.EQ.30) THEN

PAGE 188

188 CALL Redist30(numA,ts,tend,deltaT,wcmin,redistStatus,WF) ELSEIF (redistSt atus.EQ.31) THEN CALL Redist31(numA,ts,tend,deltaT,wcmin,redistStatus,WF) ELSEIF (redistSt atus.EQ.40) THEN CALL Redist40(numA,ts,tend,deltaT,wcmin,redistStatus,WF) ENDIF call calcAvgwc(rediststatus,ncells,cell,wf) END Subroutine CalcR(n,dM,ro,t,angles,numA,WF) c-----calculates wetting front radius during infiltration ---------------------------------------Implicit None Integer i,numA,redistStatus,n Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Common / soilData2/ H, ksat,romin Double Precision H, Ksat, ro, t, dM, dgdr, g, rold1,romin Double Precision rold(numA), error, toleran ce,angles(numA) tolerance = 0.000006d0 Do i = 1,numA error = 1.0 Rold(i) = WF(n)%R(i+1) + tolerance g = 0.5d0*(Rold(i)**2.d0 ro**2.d0) + (ro + (H/sin(angles(i))))*(Rold(i) ro) + + (H/sin(angles(i)))*(ro + H/sin(angles(i)))* + log((Rold(i)*sin(angles(i)) + H)/(ro*sin(angles(i)) + H)) + (Ksat*ro*sin(angles(i))*t)/dM DoWhile (error.GT.tolerance) dgdr = Rold(i) ro (H/sin(angles(i))) + + H*(ro + (H/sin(angles(i))))/ + (Rold(i)*sin(angles(i)) + H) WF(n)%R(i+1) = Rold(i) g/dgdr Rold(i) = WF(n)%R(i+1) g = 0.5d0*(Rold(i)**2.d0 ro**2.d0) + (ro + (H/sin(angles(i))))*(Rold(i) ro) + + (H/sin(angles(i)))*(ro + H/sin(angles(i)))* + log((Rold(i)*sin(angles(i)) + H)/(ro*sin(angles(i)) + + H)) (Ksat*ro*sin(angles(i))*t)/dM error = abs(g)

PAGE 189

189 EndDo EndDo c----------------------------------Calculate Ground Surface radius ---------------------------------error = 1.d0 Rold1 = WF(n)%R(1) + tolerance g = (Rold1**3.d0 ro**3.d0)/3.d0 ro*(Rold1**2.d0 ro**2.d0)/2.d0 + (Ksat*ro*t*H)/dM Do While (error.GT.tolerance) dgdr = Rold1**2.d0 ro*Rold1 WF(n)%R(1) = Rold1 g/dgdr Rold1 = WF(n)%R(1) g = (Rold1**3.d0 ro**3.d0)/3.d0 ro*(Rold1**2.d0 + ro**2.d0)/2.d0 (Ksat*ro*t*H)/dM error = abs(g) EndDo END Subroutine CalcXY(n,angles,numA,WF) c-----Calculates XY coordinates of radii --------------------------------------------------------------Implicit None Integer i,numA,try,n Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Double Precision Rhold(numA),angles(numA),R0 WF(n)%x(1) = WF(n)%R(1) WF(n)%y(1) = 0.d0 Do i = 2,numA WF(n)%x(i) = WF(n)%R(i)*cos(angles(i-1)) WF(n)%y(i) = WF(n)%R(i)*sin(angles(i-1)) EndDo WF(n)%x(numA+1) = 0.0 WF(n)%y(numA+1) = WF(n)%R(numA+1) END Subroutine CalcEllipse(n,numA,WF) c-----Calcs wetting front ellipse parameters --------------------------------------------------Implicit none

PAGE 190

190 Integer i, numA,n Double Precision xmax,ymax Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) c-------------------------find max x to locate center ----------------------------------------xmax = wf(n)%x(1) ymax = wf(n)%y(1) Do i = 2,NumA+1 If (wf(n)%x(i).GT.xmax) THEN xmax = wf(n)%x(i) ymax = wf(n)%y(i) EndIF EndDo WF(n)%kint = ymax WF(n)%a = xmax WF(n)%b = wf(n)%y(numA+1) ymax END Subroutine CalcVol(n,R,WF) c-----Calcs vol of wet bulb -------------------------------------------------------------------------Implicit none Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Double Precision p1,p2,p3,R Integer n p1 = WF(n)%kint*((R/WF(n)%b)**2.d0)

PAGE 191

191 p2 = (WF(n)%kint**2.d0)*R/(WF(n)%b**2.d0) p3 = (R**3.d0)/(3.d0*(WF(n)%b**2.d0)) WF(n)%vol = 3.141592654d0*(WF(n)%a**2.d0)*(R+p1-p2-p3) END Subroutine CalcSA(n,yint,WF) c-----Calcs SA of wet bulb -----------------------------------------------------------------------------Implicit none Integer i, npoint,n Parameter (npoint = 5) Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) double precision yint double precision x(npoint),w(npoint),SAfunc call gauleg(0.d0,yint,x,w,npoint) WF(n)%SA = 0.d0 do i = 1,npoint WF(n)%SA = WF(n)%SA + w(i)*SAfunc(n,x(i),WF) enddo END Real Function SAFunc(n,x,WF) c-----used in CalcSA subroutine ---------------------------------------------------------------Implicit None Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) double precision x, f, g integer n

PAGE 192

192 f = ((WF(n)%a**2.d0)-((WF(n)%a/WF(n)%b)**2.d0)* + (x-WF(n)%kint)**2.d0)**(0.5d0) g = -((WF(n)%a/WF(n)%b)**2.d0)*(x-WF(n)%kint)* + ((WF(n)%a**2.d0)-((WF(n)%a/WF(n)%b)**2.d0)* + (x-WF(n)%kint)**2.d0)**(-0.5d0) SAfunc = 2.d0 3.141592654d0*f*(1.0+(g**2.d0))**(0.5d0) END Subroutine gauleg(x1,x2,x,w,n) ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c used in CalcSA subroutine c c Calculates n-point Gauss Legendre abscissas and weights c c Adapted from: Press, W.H., B.P. Flannery, S.A. Teukol sky, W.T. Vetterling c c Numerical Recipes in Fortran: The Art of Scientific Computing c c (Cambridge University Press, 1996) c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Implicit None Integer n double precision eps, z1,z,xm,xl,pp,p3,p2,p1,x2,x1 double precision x(n), w(n) Parameter (eps = 3.0e-11) integer m,j,i m = (n+1)/2.d0 xm = 0.5d0*(x2+x1) xl = 0.5d0*(x2-x1) do i = 1, m z = cos (3.141592654d0*(i -0.25d0)/(n + 0.5d0)) do while (abs(z-z1).ge.eps) p1 = 1.d0 p2 = 0.d0 do j = 1, n p3 = p2 p2 = p1 p1 = ((2.d0*j -1.d0)*z*p2-(j-1.d0)*p3)/j enddo pp = n*(z*p1-p2)/(z*z-1.d0) z1 = z z = z1 p1/pp enddo x(i) = xm-xl*z x(n+1-i) = xm+xl*z w(i) = 2.d0*xl/((1.d0-z*z)*pp*pp) w(n+1-i) = w(i) enddo END Subroutine Derivs (vol,SA,wc,y,dydx) c----used to calc decrease in WC in redistXX subroutines --------------------------------------------Implicit None

PAGE 193

193 Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Double Precision wcs,wcr,wci,ksat,lambda,H,romin Double Precision RelSatI, RelSatO, KWCI, KWCO,GWC Double Precision expon1, expon2 Double Precision RAvg, y,dydx,wc Double Precision SA,Vol RAvg = (3.d0*vol/(2.d0*3.141592654d0))**(1.d0/3.d0) RelSatI = (wc WCR)/(WCS WCR) RelSatO = (y WCR)/(WCS WCR) expon1 = 3.0 + (1.0/lambda); expon2 = 3.0 + (2.0/lambda) IF (relSatO.LT.0.d0) THEN GWC = H*((-(abs(relSatO))**expon1) + (relSatI**expon1))/ + (1-(relSatI**expon1)) KWCO = -ksat*((abs(relSatO))**expon2) ELSE GWC = H*((relSatO**expon1) (relSatI**expon1))/ + (1-(relSatI**expon1)) KWCO = ksat*(relSatO**expon2) EndIf KWCI = ksat*(relSatI**expon2) dydx =(-SA*KWCI SA*KWCO (ksat*Ravg*GWC)) + /(vol) END ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Subroutines RK4, RKQC and OdeInt perform 4th order Runge Kutta procedure c c Adapted from: Press, W.H., B.P. Flannery, S.A. Teuk olsky, W.T. Vetterling c c Numerical Recipes in Fortran: The Art of Scientific Computing c c (Cambridge University Press, 1996) c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Subroutine RK4(vol,SA,WC,y,dydx,h,yout) c inputs x = start time, y = y @ x, dydx = dydx @ x, h = time step c output yout Implicit None Double Precision hh,dym,dyt,yt,wc,y,dydx,h,yout Double Precision vol,SA hh = h/2.0 yt = y + hh*dydx CALL derivs(vol,SA,WC,yt,dyt) yt = y + hh*dyt CALL derivs(vol,SA,WC,yt,dym) yt = y + h*dym dym = dym + dyt CALL derivs(vol,SA,WC, yt, dyt) yout = y + h*(dydx + dyt + 2.0 dym )/6.0 END Subroutine RKQC(vol,SA,WC,y,dydx,x,htry,eps,yscal,hdid, hnext)

PAGE 194

194c inputs : y and dydx @ x1; htry; eps; yscal c outputs : y and x replaced by new values; hdid is stepsize used; hnext is next stepsize Implicit None Double Precision pgrow,pshrnk,fcor,safety,errcon Double Precision xsav, hh, h, temp, errmax Double Precision dysav, ysav, ytemp, vol, SA Double Precision x, htry, eps,yscal,hdid,hnext,y,dydx,wc pgrow = -0.2 pshrnk = -0.25 fcor = 1.0/15.0 safety = 0.9 errcon = 6.0e-4 xsav = x ysav = y dysav = dydx h = htry DO hh = h/2.0 CALL rk4(vol,SA,WC,ysav,dysav,hh,ytemp) x = xsav + hh CALL derivs(vol,SA,WC,ytemp,dydx) CALL rk4(vol,SA,WC,ytemp,dydx,hh,y) x = xsav + h !test to see if x = xsav CALL rk4(vol,SA,WC,ysav,dysav,h,ytemp) errmax = 0.0 ytemp = y ytemp temp = abs(ytemp/yscal) IF (errmax.LT.temp) THEN errmax = temp ENDIF errmax = errmax/eps IF (errmax.LE.1.0) THEN hdid = h IF (errmax.GT.errcon) THEN hnext = safety*h*exp(pgrow*log(errmax)) ELSE hnext = 4.0*h ENDIF EXIT ELSE h = safety*h*exp(pshrnk*log(errmax)) ENDIF ENDDO y = y + ytemp*fcor END Subroutine OdeInt(vol,SA,WC,ystart,x1, x2,eps,h1) Implicit None Double Precision x,hnext,tiny,hdid,h,yscal,y,dydx Double Precision vol, SA,wc,ystart,x1,x2,eps,h1 Integer MaxStp,nstp

PAGE 195

195 MaxStp = 100 tiny = 1.0e-3 x = x1 h = abs(h1) y = ystart DO nstp = 1 maxstp CALL derivs(vol,SA,WC,y,dydx) yscal = abs(y) + abs(dydx*h)+tiny IF ((x+h-x2)*(x+h-x1).GT.0.0) THEN h = x2-x ENDIF CALL rkqc(vol,SA,WC,y,dydx,x,h,eps,yscal,hdid,hnext) IF ((x-x2)*(x2-x1).GE.0.0) THEN ystart = y GOTO 99 ENDIF h = hnext ENDDO 99 MaxStp = 0 END ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c Procedures Redist11, Redist20, Redist21, Redist30, Redist31 and Redist40 perform c c the redistribution process depending on what redistribution status the system is in c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Subroutine Redist11(numA,ts,te,dt,wcmin,WF) c----redistribution routine if one front -------------------------------------------------------------------Implicit None Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common / RData/ angles Double Precision ts, te, dt, wcmin,romin,angles(7) Double Precision wcs,wcr,wci,ksat,lambda,H, y,dydx Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Integer n,numA y = WF(1)%WC CALL OdeInt(WF(1)%vol,WF(1) %SA,WCI,y,ts,te,0.00001d0,dT) WF(1)%WC = y

PAGE 196

196 IF (WF(1)%WC.LT.wcmin) THEN WF(1)%WC = wcmin IF (WF(1)%WC.LT.wcmin) THEN WF(1)%WC = wcmin ENDIF ENDIF n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) END Subroutine Redist20(numA,ts,te,dt,wcmin,redistStatus,WF) c----redist routine if two fronts & only one front redist ------------------------------------------------Implicit None Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common / RData/ angles Double Precision y, wcs, wcr, wci, ksat, lambda, H Double Precision ts, te, dt, wcmin,romin, angles(7) Integer n, numA ,j,redistStatus !redist wf 1 y = WF(1)%WC CALL OdeInt(WF(1)%vol,WF( 1)%SA,WCI,y,ts,te,0.00001d0,dT) WF(1)%WC = y IF (WF(1)%WC.LT.WCMIN) THEN WF(1)%WC = WCMIN IF (WF(1)%WC.LT.WCMIN) THEN WF(1)%WC = WCMIN ENDIF ENDIF n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF)

PAGE 197

197 Call calcSA(n,WF(1)%y(numA+1),WF) wf 2 does not redist since it is infiltrating n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !check conditions IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !2 wf to 1 wf WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil WF(1)%WC = WF(2)%WC WF(1)%WC = WF(2)%WC n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF !if z2 > z1 END Subroutine Redist21(numA,ts,te,dt,wcmin,redistStatus,WF) c----redist routine if two fronts & both fronts re dist -------------------------------------------Implicit None Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common/ RData/ angles Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA

PAGE 198

198 Double Precision TInfil End Type Type (Front) WF(4) Double Precision y, wcs, wcr, wci, ksat, lambda, H Double Precision ts, te, dt, wcmin, romin, angles(7) Integer redistStatus,n,j,numA !!decrease wc1 first y = WF(1)%WC CALL OdeInt(WF(1)%vol,WF( 1)%SA,WCI,y,ts,te,0.00001d0,dT) WF(1)%WC = y IF (WF(1)%WC.LT.WCI) THEN WF(1)%WC = WCMIN IF (WF(1)%WC.LT.WCMIN)THEN WF(1)%WC = WCMIN ENDIF ENDIF n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) !!//decrease wc2 second y = WF(2)%WC CALL OdeInt(WF(2)%vol,WF(2)%SA,WF(1)%WC,y,ts,te,0.00001d0,dT) WF(2)%WC = y n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC.OR. + WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !! //merge 1 an 2 !begin two fronts to one IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC)THEN !BEGIN WF(1)%WC = WF(1)%WC //wf one predominates IF (WF(2)%WC.LT.WCMIN) THEN WF(2)%WC = WCMIN ENDIF ELSE !BEGIN WF(1)%WC = WF(2)%WC !wf two predominates WF(1)%WC = WF(2)%WC ENDIF WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF)

PAGE 199

199 Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 11 ENDIF wc2 < wcmin ENDIF END Subroutine Redist30(numA,ts,te,dt,wcmin,redistStatus,WF) c----redist routine if three fronts & only two fronts redist --------------------------------------------Implicit None Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common / RData/ angles Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Double Precision y, wcs, wcr, wci, ksat, lambda, H Double Precision ts, te, dt, wcmin, romin, angles(7) Integer redistStatus, j, numA, n !!decrease wc1 first y = WF(1)%WC CALL OdeInt(WF(1)%vol,WF( 1)%SA,WCI,y,ts,te,0.00001d0,dT) WF(1)%WC = y IF (WF(1)%WC.LT.WCI) THEN WF(1)%WC = WCMIN IF (WF(1)%WC.LT.WCMIN)THEN WF(1)%WC = WCMIN ENDIF ENDIF n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF)

PAGE 200

200 Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) !decrease wc2 second !!//decrease wc2 second y = WF(2)%WC CALL OdeInt(WF(2)%vol,WF(2)%SA,WF(1)%WC,y,ts,te,0.00001d0,dT) WF(2)%WC = y n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!checks IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC.OR. + WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !!merge 1 an 2 !! 3 fronts down to 2 fronts IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC)THEN !BEGIN WF(1)%WC = WF(1)%WC! //wf one predominates IF (WF(2)%WC.LT.WCMIN) THEN WF(2)%WC = WCMIN ENDIF ELSE !BEGIN WF(1)%WC = WF(2)%WC !wf two predominates WF(1)%WC = WF(2)%WC ENDIF WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) redistStatus = 20 WF(2)%TInfil = WF(3)%TInfil WF(2)%WC = WF(3)%WC WF(2)%WC = WF(3)%WC n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%WC = 0.0 WF(3)%WC = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0

PAGE 201

201 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 !!now move wf 2 down which was wf 3 and is only infil, not redist n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!check IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN !!BEGIN //two fronts to one WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF !!END//wc2 < wcmin,z2>z1 ELSE !!//still 3 fronts !BEGIN n = 3 !just move down since only infil Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) !!checks IF (WF(3)%R(numA+1).GE.WF(2)%R(numA+1)) THEN !!BEGIN //three fronts to two WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil,

PAGE 202

202 + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%wc = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 redistStatus = 20 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN !!recheck WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF ENDIF ENDIF !!else still 3 fronts END Subroutine Redist31(numA,ts,te,dt,wcmin,redistStatus,WF) c----redist routine if three fronts & all fronts redist -----------------------------------------------------Implicit None Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common /RData/ angles Type Front Double Precision FAmt Double Precision WC Double Precision R(8)

PAGE 203

203 Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Double Precision y, wcs, wcr, wci, ksat, lambda, H Double Precision ts, te, dt, wcmin,romin, angles(7) Integer redistStatus, numA, j, n !!decrease wc1 first y = WF(1)%WC CALL OdeInt(WF(1)%vol,WF( 1)%SA,WCI,y,ts,te,0.00001d0,dT) WF(1)%WC = y IF (WF(1)%WC.LT.WCI) THEN WF(1)%WC = WCMIN IF (WF(1)%WC.LT.WCMIN)THEN WF(1)%WC = WCMIN ENDIF ENDIF n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) !decrease wc2 second !!//decrease wc2 second y = WF(2)%WC CALL OdeInt(WF(2)%vol,WF(2)%SA,WF(1)%WC,y,ts,te,0.00001d0,dT) WF(2)%WC = y n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!checks IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC.OR. + WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !!merge 1 an 2 !! 3 fronts down to 2 fronts IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC)THEN !BEGIN WF(1)%WC = WF(1)%WC //wf one predominates IF (WF(2)%WC.LT.WCMIN) THEN WF(2)%WC = WCMIN ENDIF ELSE !BEGIN WF(1)%WC = WF(2)%WC !wf two predominates

PAGE 204

204 WF(1)%WC = WF(2)%WC ENDIF WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) redistStatus = 21 WF(2)%TInfil = WF(3)%TInfil WF(2)%WC = WF(3)%WC WF(2)%WC = WF(3)%WC n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%WC = 0.0 WF(3)%WC = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 !!//need to decrease wc2 which was wc3 y = WF(2)%WC CALL OdeInt(WF(2)%vol,WF(2)%SA,WF(1)%WC,y,ts,te,0.00001d0,dT) WF(2)%WC = y n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!checks IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC.OR. + WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !!merge 1 an 2 !! 2 fronts down to 1 fronts IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC)THEN !BEGIN WF(1)%WC = WF(1)%WC! //wf one predominates IF (WF(2)%WC.LT.WCMIN) THEN WF(2)%WC = WCMIN ENDIF ELSE

PAGE 205

205 !BEGIN WF(1)%WC = WF(2)%WC !wf two predominates WF(1)%WC = WF(2)%WC ENDIF WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 11 !!END //wc2 < wcmin; z2 > z1 for 2 to 1fronts ENDIF !! //2 fronts remain !!END //wc2 < wcmin ; z2>z1 3 to 2 fronts ELSE !!//still 3 wf for now !!BEGIN !!//decrease wc3 third y = WF(3)%WC CALL OdeInt(WF(3)%vol,WF(3)%SA,WF(2)%WC,y,ts,te,0.00001d0,dT) WF(3)%WC = y n = 3 Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) IF (WF(3)%WC.LE.WF(2)%WC.OR.WF(3)%R(numA+1).GE. + WF(2)%R(numA+1)) THEN !! //merge 3 and 2 !!BEGIN // 3 fronts to 2 IF (WF(3)%WC.LE.WF(2)%WC) THEN WF(2)%WC = WF(2)%WC ELSE !!BEGIN WF(2)%WC = WF(3)%WC WF(2)%WC = WF(3)%WC ENDIF WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF)

PAGE 206

206 Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%wc = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 redistStatus = 21 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN !!recheck WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 11 ENDIF !!//no need to decrease or do anym ore checks since taken care of above ENDIF !! //wc2 < wcmin; z2 > z1 for 3 to 2 fronts ENDIF !! else, still 3 wf END Subroutine Redist40(numA,ts,te,dt,wcmin,redistStatus,WF) c----redist routine if four fronts & only three fronts redist ----------------------------------------------------Implicit None Common /soilData1/ wcs,wcr,wci,lambda Common / soilData2/ H, ksat,romin Common / RData/ angles Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8)

PAGE 207

207 Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Double Precision y, wcs, wcr, wci, ksat, lambda, H Double Precision ts, te, dt, wcmin,romin, angles(7) Integer redistStatus, numA, j, n !!decrease wc1 first y = WF(1)%WC CALL OdeInt(WF(1)%vol,WF( 1)%SA,WCI,y,ts,te,0.00001d0,dT) WF(1)%WC = y IF (WF(1)%WC.LT.WCI) THEN WF(1)%WC = WCMIN IF (WF(1)%WC.LT.WCMIN)THEN WF(1)%WC = WCMIN ENDIF ENDIF n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) !decrease wc2 second !!//decrease wc2 second y = WF(2)%WC CALL OdeInt(WF(2)%vol,WF(2)%SA,WF(1)%WC,y,ts,te,0.00001d0,dT) WF(2)%WC = y n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n,a ngles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!checks IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC.OR. + WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !!merge 1 an 2 !! 4 fronts down to 3 fronts IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC)THEN !BEGIN WF(1)%WC = WF(1)%WC! //wf one predominates IF (WF(2)%WC.LT.WCMIN) THEN WF(2)%WC = WCMIN ENDIF ELSE !BEGIN WF(1)%WC = WF(2)%WC !wf two predominates

PAGE 208

208 WF(1)%WC = WF(2)%WC ENDIF WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) redistStatus = 30 WF(2)%TInfil = WF(3)%TInfil WF(2)%WC = WF(3)%WC WF(2)%WC = WF(3)%WC n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%TInfil = WF(4)%TInfil WF(3)%WC = WF(4)%WC WF(3)%WC = WF(4)%WC n = 3 Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) WF(4)%WC = 0.0 WF(4)%WC = 0.0 Do j = 1, numA+1 WF(4)%R(j) = 0.0 WF(4)%x(j) = 0.0 WF(4)%y(j) = 0.0 Enddo WF(4)%kint = 0.0 WF(4)%a = 0.0 WF(4)%b = 0.0 WF(4)%vol = 0.0 WF(4)%SA = 0.0 WF(4)%TInfil = 0.0 !!//need to decrease wc2 which was wc3 y = WF(2)%WC CALL OdeInt(WF(2)%vol,WF(2)%SA,WF(1)%WC,y,ts,te,0.00001d0,dT) WF(2)%WC = y n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!checks

PAGE 209

209 IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC.OR. + WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !!merge 1 an 2 !! 3 fronts down to 2 fronts IF (WF(2)%WC.LT.WCMIN.OR.WF(2)%WC.LE.WF(1)%WC)THEN !BEGIN WF(1)%WC = WF(1)%WC! //wf one predominates IF (WF(2)%WC.LT.WCMIN) THEN WF(2)%WC = WCMIN ENDIF ELSE !BEGIN WF(1)%WC = WF(2)%WC !wf two predominates WF(1)%WC = WF(2)%WC ENDIF WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) redistStatus = 20 WF(2)%TInfil = WF(3)%TInfil WF(2)%WC = WF(3)%WC WF(2)%WC = WF(3)%WC n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%WC = 0.0 WF(3)%WC = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 !!//move down z2; was originally 4th wf so do not decrease n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) !!//check last time

PAGE 210

210 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1))THEN !!BEGIN WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF !!END //wc2 < wcmin; z2 > z1 for 3 to 2 fronts ELSE !!//still 3 fronts for now !!BEGIN !!//move down z3; originally wf 4; do not redist, only infil n = 3 Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) IF (WF(3)%R(numA+1).GE.WF(2)%R(numA+1)) THEN !!BEGIN //merge 3 and 2; wf1 stays the same WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%wc = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0

PAGE 211

211 WF(3)%TInfil = 0.0 redistStatus = 20 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n ,WF(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF ENDIF !!//z3>z2 ENDIF !!; //still 3 fronts for now !!END //wc2 < wcmin ; z2>z1 4 to 3 fronts ELSE !! //still 4 wf for now !!BEGIN !!//decrease wc3 third y = WF(3)%WC CALL OdeInt(WF(3)%vol,WF(3)%SA,WF(2)%WC,y,ts,te,0.00001d0,dT) WF(3)%WC = y n = 3 Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,WF( 3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) IF (WF(3)%WC.LE.WF(2)%WC.OR.WF(3)%R(numA+1).GE. + WF(2)%R(numA+1)) THEN !merge 3 and 2 !!BEGIN // 4 fronts to 3 IF (WF(3)%WC.GE.WF(2)%WC) THEN WF(2)%WC = WF(2)%WC ELSE !!BEGIN WF(2)%WC = WF(3)%WC WF(2)%WC = WF(3)%WC ENDIF WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF)

PAGE 212

212 Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) redistStatus = 30 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN !!recheck !!merge 1 and 2 which was 3, move down 4 to 2 WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%TInfil = WF(4)%TInfil n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) move down wf4 Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) redistStatus = 20 WF(3)%wc = 0.0 WF(4)%WC = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 WF(4)%R(j) = 0.0 WF(4)%x(j) = 0.0 WF(4)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 WF(4)%TInfil = 0.0 WF(4)%kint = 0.0 WF(4)%a = 0.0 WF(4)%b = 0.0 WF(4)%vol = 0.0 WF(4)%SA = 0.0 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN WF(1)%TInfil = WF(1)%TInfil + WF(2)%TInfil n = 1 Call calcR(n,WF(1)%WC WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n ,WF(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0

PAGE 213

213 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF !end recheck ELSE !still 3 fronts, move down 4 front which is now 3 !!//wf 1 stays the same; wf4 becomes wf3 WF(3)%TInfil = WF(4)%TInfil n = 3 Call calcR(n,WF(3)%WC WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) WF(4)%wc = 0.0 Do j = 1, numA+1 WF(4)%R(j) = 0.0 WF(4)%x(j) = 0.0 WF(4)%y(j) = 0.0 Enddo WF(4)%kint = 0.0 WF(4)%a = 0.0 WF(4)%b = 0.0 WF(4)%vol = 0.0 WF(4)%SA = 0.0 WF(4)%TInfil = 0.0 redistStatus = 30 IF (WF(3)%R(numA+1).GE.WF(2)%R(numA+1)) THEN !!BEGIN //3 fronts to 2 WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil n = 2 Call calcR(n,WF(2)%WC+ WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n ,WF(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%wc = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0

PAGE 214

214 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 redistStatus = 20 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN n = 1 Call calcR(n,WF(1)%WC + WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calc XY(n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n ,WF(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF ENDIF ENDIF !!END// wc3 >wc2 or z3 > z2 ;4 to 3 ELSE !! //still 4 fronts !!BEGIN !!//calculate wf 4 depth n = 4 Call calcR(n,WF(4)%WC WF(3)%WC,romin,WF(4)%TInfil, + angles,numA,WF) Call calcXY(n, angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(4)%y(numA+1),WF) Call calcSA(n,WF(4)%y(numA+1),WF) IF (WF(4)%R(numA+1).GE.WF(3)%R(numA+1)) THEN !!BEGIN // 4 fronts to 3 ; !!//wf 1 stays the same; wf4 becomes wf3 WF(3)%TInfil = WF(3)%TInfil + WF(4)%TInfil n = 3 Call calcR(n,WF(3)%WC + WF(2)%WC,romin,WF(3)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n,W F(3)%y(numA+1),WF) Call calcSA(n,WF(3)%y(numA+1),WF) WF(4)%wc = 0.0 Do j = 1, numA+1 WF(4)%R(j) = 0.0

PAGE 215

215 WF(4)%x(j) = 0.0 WF(4)%y(j) = 0.0 Enddo WF(4)%kint = 0.0 WF(4)%a = 0.0 WF(4)%b = 0.0 WF(4)%vol = 0.0 WF(4)%SA = 0.0 WF(4)%TInfil = 0.0 redistStatus = 30 IF (WF(3)%R(numA+1).GE.WF(2)%R(numA+1)) THEN WF(2)%TInfil = WF(2)%TInfil + WF(3)%TInfil n = 2 Call calcR(n,WF(2)%WC WF(1)%WC,romin, + WF(1)%WC,romin,WF(2)%TInfil, + angles,numA,WF) Call calcXY( n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n ,WF(2)%y(numA+1),WF) Call calcSA(n,WF(2)%y(numA+1),WF) WF(3)%wc = 0.0 Do j = 1, numA+1 WF(3)%R(j) = 0.0 WF(3)%x(j) = 0.0 WF(3)%y(j) = 0.0 Enddo WF(3)%kint = 0.0 WF(3)%a = 0.0 WF(3)%b = 0.0 WF(3)%vol = 0.0 WF(3)%SA = 0.0 WF(3)%TInfil = 0.0 redistStatus = 20 IF (WF(2)%R(numA+1).GE.WF(1)%R(numA+1)) THEN n = 1 Call calcR(n,WF(1)%WC + WCI,romin,WF(1)%TInfil, + angles,numA,WF) Call calc XY(n,angles,numA,WF) Call calcEllipse(n,numA,WF) Call calcVol(n ,WF(1)%y(numA+1),WF) Call calcSA(n,WF(1)%y(numA+1),WF) WF(2)%wc = 0.0 Do j = 1, numA+1 WF(2)%R(j) = 0.0 WF(2)%x(j) = 0.0 WF(2)%y(j) = 0.0 Enddo WF(2)%kint = 0.0 WF(2)%a = 0.0 WF(2)%b = 0.0 WF(2)%vol = 0.0 WF(2)%SA = 0.0 WF(2)%TInfil = 0.0 redistStatus = 10 ENDIF

PAGE 216

216 ENDIF ENDIF !!//z4 > z3 ; ENDIF !! //else, still 4 fronts ENDIF !!// else, still 4 fronts for now END Subroutine CalcAvgWC(redistStatus,ncells,cell,WF) c----calcs Average WC of each cell in grid ------------------------------------------------------------Implicit None Common /soilData1/ wcs,wcr,wci,lambda Integer i,j,k,l, redistStatus,ncells Double Precision ErrorTes t,TotalArea,CellPointCalc Double Precision wcs,wcr,wci,lambda Type Front Double Precision FAmt Double Precision WC Double Precision R(8) Double Precision x(8) Double Precision y(8) Double Precision kint Double Precision a Double Precision b Double Precision vol Double Precision SA Double Precision TInfil End Type Type (Front) WF(4) Type Cells Double Precision x1 Double Precision x2 Double Precision y1 Double Precision y2 Double Precision AvgWC Double Precision d(4) Double Precision e(4) Double Precision f(4) Double Precision g(4) Double Precision Area(4) End Type Type (cells) cell(ncells,ncells) Do i = 1,ncells Do j = 1,ncells Do k = 1,4 cell(j,i)%d(k) = 0.d0 cell(j,i)%e(k) = 0.d0 cell(j,i)%f(k) = 0.d0 cell(j,i)%g(k) = 0.d0 cell(j,i)%area(k) = 0.d0 Enddo Enddo Enddo

PAGE 217

217 If (redistStatus.EQ.10.OR. redistStatus.EQ.11) Then l = 1 ElseIf (redistStatus.EQ.20.OR.redistStatus.EQ.21) Then l = 2 ElseIf (redistStatus.EQ.30.OR.redistStatus.EQ.31) Then l = 3 ELSE l = 4 ENDIF c-------------------------------calculate wf intersections --------------------------------------Do i = 1,ncells Do j= 1,ncells Do k = 1,l !!!!!!!!!!!!crosses top? !!!!!!!!!!!!!!!!!! ErrorTest = ((cell(j,i)%y1-wf(k)%kint)/wf(k)%b)**2.0 IF (ErrorTest.GT.1.d0) THEN Cell(j,i)%d(k) = 0.d0 ELSE Cell(j,i)%d(k) =wf(k)%a*(1-ErrorTest)**0.5 ENDIF IF(Cell(j,i)%d(k).LT.cell( j,i)%x1.OR.cell(j,i)%d(k).GT. + cell(j,i)%x2) THEN cell(j,i)%d(k) = 0.0 ENDIF !!!!!!!!!!!!crosses bottom?!!!!!!!!!!!!!!!!!!! IF ((cell(j,i)%y2-wf(k)%kint)/wf(k)%b.GT.1.d0) THEN Cell(j,i)%e(k) = 0.d0 ELSE Cell(j,i)%e(k) =w f(k)%a*(1-((cell(j,i)%y2+ wf(k)%kint)/wf(k)%b)**2.d0)**0.5 ENDIF IF(Cell(j,i)%e(k).LT.cell( j,i)%x1.OR.cell(j,i)%e(k).GT. + cell(j,i)%x2) THEN cell(j,i)%e(k) = 0.0 ENDIF !!!!!!!!!!!!!!!crosses left?!!!!!!!!!!!!!!!!! ErrorTest = (ce ll(j,i)%x1/wf(k)%a)**2.0 IF (ErrorTest.GT.1.d0) THEN Cell(j,i)%f(k) = 0.d0 ELSE Cell(j,i)%f(k) =wf(k)%b*(1-ErrorTest)**0.5 + +wf(k)%kint ENDIF IF(Cell(j,i)%y1.LT.wf(k)%kint)THEN cell(j,i)%f(k)=-cell(j,i)%f(k)+2.0*wf(k)%kint EndIF IF(Cell(j,i)%f(k).LT.cell( j,i)%y1.OR.cell(j,i)%f(k).GT. + cell(j,i)%y2) THEN cell(j,i)%f(k) = 0.0 ENDIF !!!!!!!!!!!!!!!crosses right?!!!!!!!!!!!!!!!!! ErrorTest = (ce ll(j,i)%x2/wf(k)%a)**2.0 IF (ErrorTest.GT.1.d0) THEN Cell(j,i)%g(k) = 0.d0

PAGE 218

218 ELSE Cell(j,i)%g(k) =wf(k)%b*(1-ErrorTest)**0.5 + +wf(k)%kint ENDIF IF(Cell(j,i)%y1.LT.wf(k)%kint)THEN cell(j,i)%g(k)=-ce ll(j,i)%g(k)+2.0*wf(k)%kint EndIF IF(Cell(j,i)%g(k).LT.cell( j,i)%y1.OR.cell(j,i)%g(k).GT. + cell(j,i)%y2) THEN cell(j,i)%g(k) = 0.0 ENDIF Enddo Enddo Enddo c----------------------------------calculate areas oc cupied by each front ------------------------------Do i = 1,ncells Do j = 1,ncells Do k = 1,l IF (cell(j, i)%d(k).GT.0.d0.AND. + cell(j,i)%f(k).GT.0.0) THEN cell(j,i)%Area(k) = 0.5*(cell(j,i)%d(k) + cell(j,i)%x1) *(cell(j,i)%f(k) cell(j,i)%y1) ELSEIF(cell(j,i)%d(k).GT.0.d0.AND. + cell(j,i)%e(k ).GT.0.0.AND.cell(j,i)%d(k). + GT.cell(j,i)%e(k)) THEN cell(j,i)%Area(k) = 0.5*(cell(j,i)%d(k) + cell(j,i)%e (k))*(cell(j,i)%y2-cell(j,i)%y1)+ + (cell(j,i)%e( k)-cell(j,i)%x1)*(cell(j,i)%y2+ cell(j,i)%y1) ELSEIF(cell(j,i)%g(k).GT.0.d0.AND. + cell(j,i)%e(k).GT.0.0) THEN cell(j,i)%Area(k) = (cell(j,i)%x2-ce ll(j,i)%x1)* + (cell(j,i)% y2-cell(j,i)%y1)-0.5 *(cell(j,i)%y2+ cell(j,i)%g(k))*(cell(j,i)%x2-cell(j,i)%e(k)) ELSEIF(cell(j,i)%g(k).GT.0.d0.AND. + cell(j,i)%f(k ).GT.0.0.AND.cell(j,i)%f(k). + GT.cell(j,i)%g(k)) THEN cell(j,i)%Area(k) = 0.5*(cell(j,i)%f(k) + cell(j,i)%g(k))*(cell(j,i)%x2-cell(j,i)%x1)+ + (cell(j,i) %x2-cell(j,i)%x1) *(cell(j,i)%g(k)+ cell(j,i)%y1) ELSEIF(cell(j,i)%d(k).GT.0.d0.AND. + cell(j,i)%g(k).GT.0.0) THEN cell(j,i)%Area(k) = (cell(j,i)%x2-ce ll(j,i)%x1)* + (cell(j,i)% y2-cell(j,i)%y1)-0.5 *(cell(j,i)%x2+ cell(j,i)%d(k))*(cell(j,i)%g(k)-cell(j,i)%y1) ELSEIF(cell(j,i)%f(k).GT.0.d0.AND. + cell(j,i)%g(k ).GT.0.0.AND.cell(j,i)%g(k). + GT.cell(j,i)%f(k)) THEN cell(j,i)%Area(k) = 0.5*(cell(j,i)%g(k) + cell(j,i)%f (k))*(cell(j,i)%x 2-cell(j,i)%x1)+ + (cell(j,i) %x2-cell(j,i)%x1) *(cell(j,i)%y2+ cell(j,i)%g(k)) ELSEIF(cell(j,i)%f(k).GT.0.d0.AND. + cell(j,i)%e(k).GT.0.0) THEN cell(j,i)%Area(k) = 0.5*(cell(j,i)%y2-

PAGE 219

219 + cell(j,i)%f(k)) *(cell(j,i)%e(k)-cell(j,i)%x1) ELSEIF(cell(j, i)%e(k).GT.0.d0.AND. + cell(j,i)%d(k ).GT.0.0.AND.cell(j,i)%e(k). + GT.cell(j,i)%d(k)) THEN cell(j,i)%Area(k) = 0.5*(cell(j,i)%e(k) + cell(j,i)%d(k))*(cell(j,i)%y2-cell(j,i)%y1)+ + (cell(j,i) %y2-cell(j,i)%y1) *(cell(j,i)%d(k)+ cell(j,i)%x1) ELSE cell(j,i)%Area(k) = 0.d0 ENDIF EndDo EndDo EndDo c--------------------------------------calculate average wc -------------------------------------------Do i = 1,ncells Do j = 1,ncells TotalArea = (cell(j,i)%x 2-cell(j,i)%x1)*( cell(j,i)%y2+ cell(j,i)%y1) If(cell(j,i)%Area(1).GT.0. 0.AND.cell(j,i)%A rea(2).LE.0.0. + AND.ce ll(j,i)%Area(3).LE.0.0. AND.cell(j,i)%Area(4). + LE.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(1) *WF(1)%WC + + (TotalArea cell(j,i)%Area(1))*wci)/TotalArea ElseIf(cell(j,i)%Area(1).G T.0.0.AND.cell(j,i)%Area(2).GT. + 0.0.AND.cell(j,i)%Area(3).LE.0.0.AND. + cell(j,i)%Area(4).LE.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(2) *WF(2)%WC + + (cell(j,i)%Area(1)-cell(j,i)%Area(2))*WF(1)%WC + + (TotalArea cell(j,i)%Area(1))*wci)/TotalArea ElseIf(cell(j,i)%Area(1). LE.0.0.AND.cell(j,i)%Area(2).GT. + 0.0.AND.cell(j,i)%Area(3).LE.0.0.AND. + cell(j,i)%Area(4).LE.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(2) *WF(2)%WC + + (TotalArea cell(j,i)%Area(2))*WF(1)%WC)/TotalArea ElseIf(cell(j,i)%Area(1).G T.0.0.AND.cell(j,i)%Area(2).GT. + 0.0.AND.cell(j,i)%Area(3).GT.0.0.AND. + cell(j,i)%Area(4).LE.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(3) *WF(3)%WC + + (cell(j,i)%Are a(2)-cell(j,i)%Ar ea(3))*WF(2)%WC + + (cell(j,i)%Area(1)-cell(j,i)%Area(2))*WF(1)%WC + + (TotalArea cell(j,i)%Area(1))*wci)/TotalArea ElseIf(cell(j,i)%Area(1). LE.0.0.AND.cell(j,i)%Area(2).GT. + 0.0.AND.cell(j,i)%Area(3).GT.0.0.AND. + cell(j,i)%Area(4).LE.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(3) *WF(3)%WC + + (cell(j,i)%Are a(2)-cell(j,i)%Ar ea(3))*WF(2)%WC + + (TotalArea cell(j,i)%Area(2))*WF(1)%WC)/TotalArea ElseIf(cell(j,i)%Area(1). LE.0.0.AND.cell(j,i)%Area(2).LE. + 0.0.AND.cell(j,i)%Area(3).GT.0.0.AND. + cell(j,i)%Area(4).LE.0.0) THEN

PAGE 220

220 cell(j,i)%AvgWC = (ce ll(j,i)%Area(3) *WF(3)%WC + + (TotalArea cell(j,i)%Area(3))*WF(2)%WC)/TotalArea ElseIf(cell(j,i)%Area(1).G T.0.0.AND.cell(j,i)%Area(2).GT. + 0.0.AND.cell(j,i)%Area(3).GT.0.0.AND. + cell(j,i)%Area(4).GT.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(4) *WF(4)%WC + + (cell(j,i)%Are a(3)-cell(j,i)%Ar ea(4))*WF(3)%WC + + (cell(j,i)%Area(2)-cell(j,i)%Area(3))*WF(2)%WC + + (cell(j,i)%Area(1)-cell(j,i)%Area(2))*WF(1)%WC + + (TotalArea cell(j,i)%Area(1))*wci)/TotalArea ElseIf(cell(j,i)%Area(1). LE.0.0.AND.cell(j,i)%Area(2).GT. + 0.0.AND.cell(j,i)%Area(3).GT.0.0.AND. + cell(j,i)%Area(4).GT.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(4) *WF(4)%WC + + (cell(j,i)%Are a(3)-cell(j,i)%Ar ea(4))*WF(3)%WC + + (cell(j,i)%Are a(2)-cell(j,i)%Ar ea(3))*WF(2)%WC + + (TotalArea cell(j,i)%Area(2))*WF(1)%WC)/TotalArea ElseIf(cell(j,i)%Area(1). LE.0.0.AND.cell(j,i)%Area(2).LE. + 0.0.AND.cell(j,i)%Area(3).GT.0.0.AND. + cell(j,i)%Area(4).GT.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(4) *WF(4)%WC + + (cell(j,i)%Are a(3)-cell(j,i)%Ar ea(4))*WF(3)%WC + + (TotalArea cell(j,i)%Area(3))*WF(2)%WC)/TotalArea ElseIf(cell(j,i)%Area(1). LE.0.0.AND.cell(j,i)%Area(2).LE. + 0.0.AND.cell(j,i)%Area(3).LE.0.0.AND. + cell(j,i)%Area(4).GT.0.0) THEN cell(j,i)%AvgWC = (ce ll(j,i)%Area(4) *WF(4)%WC + + (TotalArea cell(j,i)%Area(4))*WF(3)%WC)/TotalArea Else Do k = l,1,-1 CellPointCalc = ( cell(j,i)%x1/WF(k)%a)**2.0+ + ((cell(j,i)%y1-WF(k)%kint)/WF(k)%b)**2.0 If (CellPointCalc.LT.1.d0) THEN cell(j,i)%AvgWC = WF(k)%WC GOTO 101 ENDIF EndDo cell(j,i)%AvgWC = wci EndIf 101 EndDo EndDo END

PAGE 221

221 LIST OF REFERENCES Abramowitz, M., Stegun, I.A., Eds., 1964. Handbook of Mathematical Functions. Applied Math Serial Vol. 55, National Bureau of Standards, Washington, D.C. Angelakis, A., Rolston, D., Kadir, T., Scott, V., 1993. Soil-Water Dist ribution Under Trickle Source. Journal of Irrigation and Drainage Engineering 119(3), 484-499. Ben-Asher, J., Charach, Ch., Zemel, A., 1986. Infiltration and Water Extraction from Trickle Irrigation Source: The Effective Hemisphere Model. Soil Science Soc. Amer. J. 50, 882887. Brandt, A., Bresler, E., Diner, N., Ben-Asher, I. Heller, J., Goldberg, D., 1971. Infiltration from a Trickle Source: I. Mathematical Models. Soil Science Soc. Amer. J. 35(5), 675-682. Bresler, E., Heller, J., Diner, N., Ben-Asher, J ., Brandt, A., Goldberg, D ., 1971. Infiltration from a Trickle Source: I. Mathematical Models. Soil Science Soc. Amer. J. 35(5), 683-689. Brooks, R.H., Corey, A.T., 1964. Hydraulic Prop erties of Porous Me dia. Hydrology Paper 3 Colorado State University, Fort Collins, Colorado. Brutsaert, W., 1979. Universal Constants for S caling the Exponential Soil Water Diffusivity. Water Resources Research 15, 481-483. Celia, M.A., Bouloutes, E.T., Zarba, R.L., 1990. A General Mass-Cons ervative Numerical Solution for the Unsaturated Flow Equation. Water Resources Research 26, 1483-1496. Childress, W., Price, D., Coldren, C., McLendon, T., 1999. A Functional Description of the Ecological Dynamic Simulation (EDYS) Model, With Applications for Army and Other Federal Land Managers. Construction E ngineering Research Laboratory Technical Report CERL TR-99-55, US Army Corps of Engineers, Champaign, Illinois. Chu, S.T., 1978. Infiltration During an Unst eady Rain. Water Resources Research 14(3), 461466. Chu, S.T., 1994. Green-Ampt Analysis of We tting Patterns for Surface Emitters. Journal of Irrigation and Drainage E ngineering 120(2), 414-421. Clark, G., Smajstrla, A., Munoz-Carpena, R., 2006. Application Volumes and Wetting Patterns for Scheduling Drip Irrigation in Florida Vegetable Production. IFAS Circular 1041, University of Florida, Gainesville, Florida. Claudio, P., Putti, M., 1994. A Comparison of Picard and Newton Iteration in the Numerical Solution of Multidimensional Variably Saturated Flow Problems. Water Resources Research 30(12), 3357-3374. Clothier, B.E., Scotter, D.R., 1982. Constant-Flux Infiltration from a Hemispherical Cavity. Soil Sci. Soc. Am. J. 46, 696-700.

PAGE 222

222 Cook, F. J., Thorburn, P. J., Bristow, K. L ., Cote, C. M., 2003. Infiltration from surface and buried point sources: The Average wetting wa ter content. Water Resour. Res. 39(12), 1364, doi:10.1029/2003WR002554. Cook, F.J., Fitch, P., Thorburn, P.J., Charleswor th, P.B., Bristow, K.L., 2006. Modelling trickle irrigation: Comparison of anal ytical and numerical models for estimation of wetting front position with time. Environmental Modelling & Software 21, 1353-1359. Darcy, H., 1856. Les Fontaines Publiques de la Ville de Dijon, Dalmont, Paris. Gardner, W.R., 1956. Calculation of capillary co nductivity from pressure plate out-flow data. Soil Science Society of America Proceedings 20, 317-320. Gardner, W.R., Hillel, D.I., Benyamini, Y., 1970. Post Irrigation Movement of Soil Water: I. Redistribution. Water Res ources Research 6, 851-861. Green, W.H., Ampt, G., 1911. Studies of Soil Phys ics, Part I : The Flow of Air and Water Through Soils. Journal of Agricultural Science 4, 1-24. Haan, C.T., Barfield, B.J., Hayes, J.C., 1993. Design Hydrology and Sedimentology for Small Catchments. Academic Press, Inc., San Diego, California. Hachum, A.Y., Alfaro, J.F., Willardson, L.S., 1976. Water Movement in Soil from a Trickle Source. Proceedings of Irrig. Dr ainage Division ASCE 102, 179-192. Healy, R.W., 1987. Simulation of trickle irrigation, an extension to the U.S. Geological Survey's Computer Program VS2D. U.S. Geological Survey Water-Resources Investigations Report 87-4086, Denver, Colorado, pg. 61. Healy, R.W., Warrick, A.W., 1988. A Generalized Solution to Infiltration from a Surface Point Source. Soil Sci. Soc. Amer. J. 52, 1245-1251. Huggins, L.F., Burney, J.R., 1982. Surface Runoff, Storage and Routing. In: Hydrologic Modeling of Small Watersheds, C.T. Haan, H.P. Johnson, D.L. Brakensiek, Eds., ASAE Monograph No. 5, St. Joseph, Michigan, 169-225. Jones, J.W., Hoogenboom, G., Porter, C.H., Boote, K.J., Batchelor, W.D., Hunt, L.A., Wilkens, P.E., Singh, U., Gijsman, A.J., Ritchie, J.T., 2003. The DSSAT Cropping System Model. European Journal of Agronomy 18, 235-265. Jury, W.A., Gardner, W.R., Tanner, C.B., Saff igna, P., 1976. Model for Predicting Movement of Nitrate and Water Through a Loamy Sand. Soil Science 122, 36-43. Jury, W.A., Horton, R., 2004. Soil Physics. Jo hn Wiley & Sons, Inc., Hoboken, New Jersey. Krause, P., Boyle, D.P., Base, F., 2005. Comp arison of Different Efficiency Criteria for Hydrological Model Assessment. Adva nces in Geosciences 5, 89-97.

PAGE 223

223 Legates, D., McCabe Jr., G., 1999. Evaluating the Use of G oodness-of-Fit Measures in Hydrologic and Hydroclimatic Model Validati on. Water Resources Research 35(1), 233241. Lenhard, R., Parker, J., Mishra, S., 1989. On the Correspondence Between Brooks and Corey and van Genuchten Models. Journal of Irri gation and Drainage Engineering 115(4), 744751. McKinnie, F., Graham, W., Jones, J., Graetz, D., 2003. Modeling and Monitoring the Water and Nitrate Transport and Potato Growth at a Ve getable Farm in the Suwannee River Basin, FL. ASAE Meeting Presentation Pa per No. 032127, Las Vegas, Nevada. Mein, R.G., Larson, C.L., 1973. Modeling Infilt ration during a Steady Rain. Water Resources Research 9(2), 384-394. Miller, C.T., Williams, G.A., Kelley, C.T., To cci, M.D., 1998. Robust Solution of Richards Equation for Nonuniform Porous Media. Wa ter Resources Research 34(10), 2599-2610. Morel-Seytoux, H., Meyer, P., Nachabe, M., Touma, J., van Genuchten, M.Th., Lenhard, R., 1996. Parameter Equivalence for the Br ooks and Corey and van Genuchten Soil Characteristics: Preserving the Effective Ca pillary Drive. Water Resources Research 32(5), 1251-1258. Narasimhan, T.N., Witherspoon, P.A., 1976. An Integrated Finite Differences Method for Analyzing Fluid Flow in Porous Media. Water Resources Research 12(1), 57-64. Nash, J.E., Sutcliffe, J.V., 1970. River flow fo recasting through conceptual models: Part 1-A Discussion of Principles. J ournal of Hydrology 10, 282-290. Ogden, F.L., Saghafian, B., 1997. Green and Ampt Infiltration with Redist ribution. Journal of Irrigation and Drainage E ngineering 123(5), 386-393. Parlange, J.-Y., 1972. Two and Three Dimensional Steady Infiltration. Soil Science 113(2), 96101. Parlange, J.-Y., 1973. Theory of water movements in soils: 10. Cavities with constant flux. Soil Science 116, 1-7. Parlange, J., Lisle, I., Braddock, R.D., Smith R.E., 1982. The Three-Parameter Infiltration Equation. Soil Science 133(6), 337-341. Philip, J.R., 1969. Theory of Infiltration. Advances in Hydroscience 5, 215-296. Philip, J.R., 1971. General Theorem on Steady Infiltration from Surface Source, with Application to Point and Line Sources. Soil Science Soc. Amer. J. 35(6), 867-871. Philip, J.R., 1984a. Travel times from buried an d surface infiltration point sources. Water Resources Research 20, 990-994.

PAGE 224

224 Philip, J.R., 1984b. Steady Infiltration from Spheri cal Cavities. Soil Sci. Soc. Amer. J. 48, 724729. Philip, J.R., 1985. Reply to Comments on Steady In filtration from Spherical Cavities. Soil Sci. Soc. Amer. J. 49, 788. Philip, J.R., 1992. What happens near a quasi-linear point source? Water Resources Research 28, 47-52. Philip, J.R., Knight, J.H., 1991. Redistribution of So il Water from Plane, Line and Point Sources. Irrigation Science 12(4), 169-180. Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T., 1989. Numerical Recipes in Pascal. Cambridge University Press, Port Chester, New York. Press, W.H., Flannery, B.P., Teukolsky, S.A., Vetterling, W.T., 1996. Numerical Recipes in Fortran: The Art of Scientific Computing. Cambridge University Press, Port Chester, New York. Raats, P.A.C., 1971. Steady Infiltration from poin t sources, cavities and basins. Soil Sci. Soc. Am. Proc. 35, 689-694. Raats, P.A.C., Gardner, W.R., 1971. Comparison of empirical relationshi ps between pressure head and hydraulic conductiv ity and some observations on radially symmetrical flow. Water Resources Research 7, 921-925. Rawls, W.J., Brakensiek, D.L., Miller, N., 1983. Green-Ampt Infiltration Parameters from Soils Data. Journal of Hydraulic Engineering 109(1), 62 70. Rawls, W.J., Brakensiek, D.L., Saxton, K.E., 1982. Estimation of So il Water Properties. Transactions of the ASAE 25(5), 1316 1330. Reichardt, K., Nielsen, D.R., Biggar, J.W., 1972. Scaling of Horizont al Infiltration into Homogeneous Soils. Soil Sci. Soc. Amer. Proc. 36, 241-245. Revol, P., Vauclin, M., Vachaud, G., Clothier B.E., 1997a. Infiltration from a surface point source and drip irrigation: 1. The midpoi nt soil water pressure. Water Resources Research 33, 1861-1867. Revol, P., Clothier, B.E., Mailhol, J.C., Vacha ud, G., Vauclin, M., 1997b. Infiltration from a surface point source and drip irrigation: 2. An approximate time-dependent solution for wet-front position. Water Re sources Research 33, 1869-1874. Richards, L.A., 1931. Capillary Conduction through Porous Medi ums. Physics 1, 313-318. Roth, R.L., 1974. Soil Moisture Distribution an d Wetting Pattern from a Point-Source. Proceedings of the Second International Drip Irrigation Congress, California, USA, pp. 246-251.

PAGE 225

225 Schwartzman M., Zur, B., 1986. Emitter Spacing a nd Geometry of Wetted Soil Volume. J. of Irrigation and Drainage Engineering 112, 242-253. Sepaskhah, A.R., Chitsaz, H., 2004. Validating th e Green-Ampt Analysis of Wetted Radius and Depth in Trickle Irrigation. Bi osystems Engineering 89(2), 231-236. Simunek, J., Sejna, M., van Genuchten, M. Th., 1999. The HYDRUS-2D Software Package for Simulating the Two-Dimensional Movement of Water, Heat, and Mu ltiple Solutes in Variably-Saturated Media. IGWMC-TPS 53, Version 2.0 International Ground Water Modeling Center, Colorado School of Mines, Golden, Colo. Singh, V.P., Woolhiser, D.A., 2002. Mathematic al Modeling of Watershed Hydrology. Journal of Hydrologic Engineering 7(4), 270-292. Skaggs, R.W., Huggins, L. F., Monke, E.J., Fost er, G.R., 1969. Experimental Evaluation of Infiltration Equations. Tr ansactions of the ASAE 12(6),822-828. Skaggs, R.W., Khaleel, R., 1982. Infiltration. In: Hydrologic Modeling of Small Watersheds, C.T. Haan, H.P. Johnson, D.L. Brakensiek, Eds., ASAE Monograph No. 5, St. Joseph, Michigan, 121-166. Smith, R.E., Corradini, C., Melone, F., 1993. Modeling Infiltration for Multistorm Runoff Events. Water Resources Research 29(1), 133-144. Smith, R., Smettem, K.R.J., Broadbridge, P., W oolhiser, D.A., 2002. Infiltration Theory for Hydrologic Applications. Water Resources Monograph Series 15, pp. 210. Stankovich, J.M., Lockington, D.A., 1995. Brooks and Corey and van Genuchten Soil-Water Retention Models. Journal of Irrigation and Drainage Engineering 121(1), 1-7. Taghavi, S.A., Marino, M.A., Rolst on, D.E., 1984. Infiltration from a Trickle Irrigation Source. Journal of Irrigation and Draina ge Engineering 110(2), 331-341. Thorburn, P.J., Cook, F.J., Bristow, K.L., 2003. Soil-dependent wetting from trickle emitters: implications for trickle design and mana gement. Irrigation Science 22, 121-127. Vanclooster M., Feyen,J., Persoons, E., 1996. N itrogen Transport in Soils : What Do We Know. In: Recent developments in co ntaminant transport in soils, L. Currie,P. Loganathan, Eds., Fertilizer and Lime Research Centre Massey University, New Zealand, 127-141. van Genuchten, M.Th., 1980. A Closed-Form Equation for Predicting the Hydraulic Conductivity of Unsaturated Soils. Soil Scie nce Society of Ameri ca Journal 44, 892-898. van Genuchten, M.Th., Leij, F.J., Yates, S. R., 1991. The RETC Code for Quantifying the Hydraulic Functions of Unsaturated Soils. EPA Report: EPA/600/2-91/065, Ada, Oklahoma.

PAGE 226

226 van Genuchten, M.Th., Nielsen, D.R., 1985. On Describing and Predicting the Hydraulic Properties of Unsaturated Soils. Ann. Geophysics 3(5), 615-628. Vogel, T., van Genuchten, M.Th., Cislerova, M., 2001. Effect of the Shape of the Soil Hydraulic Functions Near Saturation on Variab ly-Saturated Flow Predictions. Advances in Water Resources 24, 133-144. Warrick, A.W., 1974. Time-Dependent Linearized In filtration : I. Point Sources. Soil Science Society Amer. J. 38(3), 383-386. Warrick, A.W., Lomen, D.O., 1976. Time-Dependent Linearized Infi ltration: III. Strip and Disc Sources. Soil Sci. Soc. Amer. J. 40(5), 639-643. White, I., Sully, M.J., 1987. Macroscopic and micr oscopic capillary length and time scales from field infiltration. Water Re sources Research 23, 1514-1522. Wooding, R.A., 1968. Steady Infiltration from a Shallow Circular Pond. Water Resources Research 4(6), 1259-1273.

PAGE 227

227 BIOGRAPHICAL SKETCH I, Leslie Gowdish, attended the University of Florida for my undergraduate career from Fall 1996 to Summer 2000 on a Flor ida Bright Futures Scholarshi p. I graduated summa cum laude with a Bachelors Degree in agricultural and biol ogical engineering from the University of Florida in August 2000. I then received a University of Florida Alumni Fellowship from the Agricultural and Biological Engi neering Department in Summer 2000 to continue on to graduate school. I will be completing my PhD in agricult ural and biological e ngineering in December 2007. I am a member of the American Society of Agricultural and Biological Engineering organization, ASABE, as well as Alpha Epsilon, the honor society for ag ricultural and biological engineering.