MODELING RUNOFF POLLUTANT DYNAMICS THROUGH VEGETATIVE FILTER
STRIPS: A FLEXIBLE NUMERICAL APPROACH
By
OSCAR PEREZ OVILLA
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
2010
2010 Oscar Perez Ovilla
A la memorial de mi abuelito Alfredo Ovilla Gutierrez, a quien recuerdo con much amor
y respeto. (To the memory of my grandfather Alfredo Ovilla Gutierrez+, who I remember
with much love and respect)
A mi esposa, Paola, por ser mi amor plat6nico y el ala que necesitaba para levantar el
vuelo de mi vida...Tuyo soy. (To my wife, Paola, to be my love and the wing I needed to
take the flight of my life... I am only yours.)
A mis hijos, Paulette y Angel, porque con su amor Ilenan de luz mi vida. (To my kids,
Paulette and Angel, because with their love they fill my life).
A mis padres Oscar y Maria Alba, y hermanos Luis y Carlos, porque siempre nunca han
dejado de career en mi. (To my parents and brothers, because they have never stopped
to believing me)
A todos aquellos que no han Ilegado a cumplir sus suenos ... Animo, si se puede!. (To
all of you, who have not seen your dreams become true... Believe, you can do it!.)
ACKNOWLEDGMENTS
To my advisor, Dr. Rafael Muioz Carpena, who has not only been the academic
teacher I needed to learn from, but who has also showed me his most human side to
help me grow as a professional and a human being. Thank you for your trust in me. To
Dr. Michael Annable, who helped me in my first steps at the University of Florida. To my
professors Dr. Greg Kiker, Dr. Yuncong Li, Dr. Andrew James and Dr. Kirk Hatfield, who
helped me so much with their knowledge and wise advice during my studies at the
University of Florida. A special thanks to Dr. Bin Gao, who helped and guided me during
the experimental testing of my work. Thanks to Mr. Paul Lane, who has unconditionally
helped me with my fieldwork. Thank to the personnel of the Bureau of Mine
Reclamation at Bartow, FL and the Florida Department of Environmental Protection for
supporting this work. To my friends at the ABE Department: David, Zuzanna, Stuart,
Gareth and William, who were with me unconditionally, giving the support and friendship
I needed during hard times. Thanks for walking together.
TABLE OF CONTENTS
page
ACKNOW LEDGM ENTS................. .... .......... ............................. ................ 4
L IS T O F T A B LE S ...................... ................ ............... .................................. 8
L IS T O F F IG U R E S ............. ......... .. .............. .. ................................................ 10
LIST OF ABBREVIATIONS ............. ......................................... ... ...... 12
L IS T O F S Y M B O L S ............. ......... .. .............. .. ..............................................13
A B S T R A C T ........... .. ......... .. .............. .. ......................................................... 1 5
CHAPTER
1 INTRODUCTION ............. ................................ .............. ........... 18
2 FLEXIBLE MODELING OF POLLUTANT TRANSPORT THOUGH DENSE
VEGETATION FOR STEADY SURFACE RUNOFF CONDITIONS....................21
2.1. Introduction ............... .............. ................ ................... 21
2.2. M odel D evelopm ent .............................................................. .. ......... ................25
2.2.1 The Finite Elements Transport Module......................... 25
2.2.2 The Reactive Module ................ .......................... ...33
2.2.3 Linkage between Transport and Reaction Components Split
Operator ................................................. 37
2.3. M odel Testing .................................... .......................... 39
2.3.1 TRFEM Transport Model Testing................................ ........... 41
2.3.2 Coupled TRRSE and TRT Split Operator Methods Testing ................44
2.4. Results ..................................... ... ................... ................ 45
2.4.1 N onR active Scenarios ....................................................... ........ 45
2.4.2 Reactive Scenarios ...... ....................... ......................... 48
2 .5 D discussion of R esu lts ................................................................... 52
2.5.1 NonReactive Solute Scenarios ................................................. 52
2.5.2 R active Solute Scenarios ................ .............................. .... ........ 53
2 .6 C o n c lu s io n s ......... ....... ....... .. ..................................................... ........ .......... 5 4
3 LABORATORYSCALE TESTING OF A FLEXIBLE MODEL FOR SIMULATING
POLLUTANT TRANSPORT IN DYNAMIC RUNOFF THROUGH VEGETATIVE
FILT E R ST R IP S.................................................................. 56
3.1 Introduction ............... ............................... ....................... 56
3.2 Model Development ...................................................... ................58
3.2.1 Hydrology and Sediment Transport Model (VFSMODW) ..................58
3.2.2 Effect of Pollutant Dilution by Rain ....................... .......... 62
3.2.3 Chemical Transport Module (TRT) ................ ................................ 64
3.2 .4 M odel Linkage ........................................... ................ ............... 65
3.3 Model Testing ............................................................ 67
3.3.1 Experim ental S etup ............... ................ .. ..... ..... .............. ........68
3.3.2 C conceptual M odel ..................................... ...... ................................... 70
3.3.3 Input Parameters for the Water Quality Module......................... 74
3.3.4 Model Testing Procedure ........................... ................. 75
3.4 R results ............... ....... ...... ............... .... ........... ................ 76
3.4.1 Experimental Results ............ ....................... ................76
3.4.2 W ater Balances using VFSMODW ................................ ................. 78
3.4.3 Bromide Simulations using VFSMODW with the TRT Module............ 79
3.4.4 Sensitivity Analysis of Transport Component....................................82
3 .5 C o n c lu s io n s ......... .. ......... .................................................................. ... 8 4
4 FIELDSCALE TESTING OF A FLEXIBLE MODEL FOR SIMULATING MINING
TAILINGS PHOSPHORUS TRANSPORT IN RUNOFF USING VFSMODW.........86
4.1 Introduction .............. ........ .................. 86
4.2 Experim ent D description .......................................................................... 87
4.3 Experim mental R results ............................ .... ......... ............ ......... .... 90
4.4 M odel Inputs and Sensitivity Analysis................................. .. ................... 93
4.4.1 Hydrological and W ater Quality Data.............................. ... ................ 93
4.4.2 Chem ical Conceptual Model .............................. ......................... 95
4.5 Model Testing ............................. ..........................97
4.5.1 Effect of Apatite Dissolution in Runoff................................................ 98
4.5.2 Sensitivity Analysis of Phosphorus Release From Apatite ................. 100
4.6 D discussion of R results ......... .............................. ........... ............ ..... 102
4.7 C conclusions .............. ... ...... .......................................... 104
5 C O N C LU S IO N S ............................................ .... .................. 106
5.1 G general C conclusions ............ .. .... ................... ................... ...... ..... 106
5.2 Limitations ............. .... .......... ...... ........... .......... 107
5.3 Future Research .......... .......... ......... ................. ....... ......... 108
APPENDIX
A INPUT FILES FOR ANALYTICAL AND EXPERIMENTAL TESTING ................ 109
Tables A1 to A12 ..................................................................................... ................110
Analytical Solutions ..................................... 114
Input Pollutant Concentration as a Pulse and Continuous Without Reactive
T e rm ......... ......... ... ......... ............................... ........ ............ ... 1 1 4
Input Pollutant as a Function of Time Without Reactive Term....................115
Input Pollutant Concentration as a Pulse and Continuous with Reactive
Term. ...................... ...................... ..... ........ ................... 116
Input Pollutant as a Function of Time with Reactive Term...........................117
R S E R active M odule T testing ..................................................... .... ............ ...... 118
W ater Quality Input File Structure for VFSMOD .............................................. 121
Water Quality Project for Bromide Simulation in VFSMOD ............................... 124
Project File (sam pleBrO KO.prj)............................. ......... .. ... .............. 124
IKW Input File (sampleBrOKO.ikw) ................................ 124
ISO Input File (sampleBrOKO.iso) ...... ............ ..... ... ............ .... 124
IG R Input File (sam pleBrO KO.igr) ............................................. ................ 124
ISD Input File (sam pleBrO KO.isd) ......................... ...... ......... ...... .......... 125
IRN Input File (sam pleBrOKO.irn) ....... ...... .......... ...... ........................... 125
IR O Input File (sam pleBrO KO.iro) ............................................. ................ 125
IW Q Input File (sam pleBrOKO.iwq) ............................................................ 126
Water Quality Project for Phosphorus Simulation in VFSMOD ......................... 127
Project File (Bartow070706R2.prj) ............ .................... ............127
IKW Input File (Bartow070706R2.ikw) .............. ................ 127
ISO Input File (Bartow 070706R2.iso) ............................................................ 127
IG R Input File (Bartow 070706R2.igr)............................................................. 127
ISD Input File (Bartow 070706R2.isd) ............................................................ 127
IR N Input File (Bartow 070706R2.irn) ............................................................. 128
IW Q Input File (Bartow 070706R2.iw q) .......................................................... 128
IRO Input File (Bartow 070706R2.iro)......................................... ................ 129
XML Input File used to Test RSE (Analytical Testing: Scenario I). ...................... 130
XML Input File used to Test TRT and TRRSE for Linear Decay Kinetics ........... 132
YuG ao.xm l W ater Q quality Input File ................................................ ................ 134
Bartow.xml W ater Quality Input File................. ...................... ................ 136
B FIELD SCALE EXPERIMENTAL DATA ..........................................................139
C PROGRAM SOURCE CODE ............... ........ ......................... 148
LIST O F REFERENCES ............ ........... ......................... .... .. ..... .... .... 190
BIO G RA PH ICA L SKETC H ....................................................... ............................. 195
LIST OF TABLES
Table page
21 Scenarios used to test the programs TRFEM, TRRSE and TRT .....................40
22 Comparison of models TRT, TRFEM and TRRSE for nonreactive
sc e n a rio s .......... .. .................................................. ................ ......... .. 4 6
23 Comparison of models TRT, TRFEM and TRRSE for reactive scenarios......... 49
24 Mass balances for scenarios II and IV. ..................................... ..... .. ..... .... 52
31 Description of the input and output file extensions used in VFSMODW.............61
32 List of parameters used in the physically based and empirical conceptual
m models for brom ide transport....... ............................................................ 75
33 W ater Balance laboratory experimental results ............................................. 77
34 Bromide mass balance of experimental results ............................................. 78
35 W ater Balance of experimental results....................................... ................... 79
36 M ass balance of brom ide in surface runoff ..................................................... .. 82
41 Water Balance and phosphorus balances for event 070706R2...................... 100
A1 Parameters for femadr.in input file ..... ...... ........ ......................... 110
A2 XML input file equation structure for describing a simple uptake/release
m o d e l. ......... .... ........ ............... ....... .. ............................ 1 1 0
A3 XML input file structure for running RSE ........ ............. ............... .... 111
A4 Example of the *.iwq file structure for running RSE in TRFEM...................... 111
A5 Description of the *.iwq input file used to test the TRRSE and TRT ................ 111
A6 Description of the *.iw q file................. .. ................. ..... .... ........ ............... 111
A7 Description of the *.iwq file when the TRT module is used ..............................112
A8 Description of the water quality input file sampleBr.iwq.............................. 112
A9 Hydrological input factors used by VFMSODW ...................... ..... ............. 112
A10 Hydrological parameters used in VFDSMODW for A070706R2 event............. 113
A11 Apatite dissolution parameters used in VFDSMODW for A070706R2 event... 113
A12 Description of the water quality input file Bartow070706R2.iwq........................ 113
B1 Summary of rain and runoff data for the river experimental site (A) during
2007. .................................................................. ....... .......... 140
B2 Summary of rain and runoff data for the river experimental site (A) during
2008. .................................................................. ....... .......... 141
B3 Summary of rain and runoff data for the Hill experimental site (B) during
2007. .................................................................. ....... .......... 142
B4 Summary of rain and runoff data for the Hill experimental site (B) during
20 08. ............................ ......... .... .. ......................... ................ 144
B5 Summary of loads of sediment and phosphorus for the river site ..................... 145
B6 Summary of loads of sediment and phosphorus for the hill site........................ 146
B7 Summary of rainfallrunoff events.............................................. ................ 147
LIST OF FIGURES
Figure page
21 Simple 2D conceptual movement of mobile and stabile components ...............35
22 Conceptual model for complexity levels 1, 2 and 3........................................... 36
23 Basic conceptual model for uptake/release dynamics of phosphorus ................36
24 Schematic representation of the scenarios used to test TRFEM, TRRSE
and TRT program s. .......... .......... ........................... ...... .......... 41
25 Comparison for ADR solution for continuous input of conservative pollutant ......47
26 Comparison for ADR for a plug of a conservative pollutant ............................... 47
27 Comparison for ADR solution for a variable time dependant input of
conservative pollutant ........... .. ........ ........ ............... ................48
28 Comparison for ADR solution for continuous input of pollutant with reactive
te rm ................. ......................................... ........................... 5 0
29 Comparison for ADR for a plug of a pollutant with reactive term ...................... 50
210 Comparison for ADR solution for a variable time dependant input of pollutant
w ith reactive term .......... ......... .. ......... .................. .... ............. 51
211 Comparison between the modules TRT and TRRSE for Monod kinetics........... 51
31 Processes and domain discretization for the Finite Element overland flow
submodel of VFSMODW ......... .. ................... .................. ...... 59
32 Schematic representation of the modules in VFSMODW ................................ 60
33 Schematic representation of linkage between VFSMODW and the water
quality m odule. ............................... ............. ......... .... ............ 67
34 Schematic representation of the laboratory experiment ................. ....... ......... 69
35 Conceptual schematic representation of physical and chemical transport
processes in runoff Bromide experiment ........ ............. ...................... 72
36 Experimental surface outflow runoff bromide concentration...............................78
37 Cumulative outflow runoff volume of experimental data....... ........................ 80
38 Concentration during the simulation of bromide in runoff................ ................ 81
39 Sensitivity analysis of outflow runoff bromide concentration.....................................83
310 Sensitivity response of outflow runoff bromide concentration ..............................84
41 Areal views of the experimental sites located in Bartow, Florida. ........................ 88
42 Schematic dimensions and instrumentation of the experimental sites. .............. 89
43 Observed and predicted output and input hydrograph for event A070706R2. ....94
44 Conceptual model for the simulation of soluble phosphorus in VFS for
phosphate m inning areas......... .......... ................ ................... ....... 96
45 Simulated results for the transport of dissolved phosphorus concentration
considering the effect of apatite dissolution. .................................................... 99
46 Simulated results for the transport of dissolved phosphorus load considering
the effect of apatite dissolution ....................................................................... 99
47 Percentile change of KCFA due to variations of Ka, SSACFA, Pb and rq................ 101
48 Percentile change of KCFA due to variations of n and pH................................ 102
A1 Comparison of a adsorptiondesorption process using three different
m methods. ............... ........... ........................ ...........................119
A2 Comparison of different RK4 methods. ............. ......................................120
ADR
CFA
FEM
RSM
SFWMD
TaRSE
TRFEM
VFS
VFSMODW
ODE
PDE
KCFA
SSACFA
LIST OF ABBREVIATIONS
AdvectionDispersionReaction Equation
Carbonate Flour Apatite
Finite Element Method
Regional Simulation Model
South Florida Water Management District
Transport and Reaction Simulation Engine
Fully coupled TransportReaction model using Finite Elements
Method.
Vegetative Filter Strips
Vegetative Filter Strip Hydrology and Sediment Transport Modeling
System
Ordinary Differential Equation
Partial Differential Equation
Dissolution rate of apatite from soil
Specific Surface Area of Carbonate Flour Apatite
LIST OF SYMBOLS
F Sink/source term for the AdvectionDispersionReaction Equation
C Pollutant Concentration, mg/I
Cp Concentration of pollutant in surface runoff, mg/I
Sp Concentration of pollutant in porewater, mg/I
CPSW Surface water concentration of soluble reactive phosphorus, mg/I
CPPW Soil porewater concentration of soluble reactive phosphorus, mg/I
SP Soil absorbed phosphorus
So Phosphorus concentration in organic soil
CPs Phosphorus as plankton biomass
Cmp Phosphorus as macrophyte biomass
Cw Bromide concentration in runoff, mg/I
Ce Bromide concentration in porewater, mg/I
de Exchange layer depth, m
DL Hydrodynamic dispersivity, m2/s.
Dm Molecular dispersion, m2/s
OXL Longitudinal dispersion, m
v Flow velocity, m/s
t Time, s
to Initial time, s
x Distance on plane x following the flow direction, m.
kl First order reaction coefficient, s1
ku, kst Uptake coefficient, s1
kr, krs Release coefficient, s1
Zd Water depth, m
p Precipitation, m/s
f Infiltration rate, m/s
q Flow discharge, m2/s
Q Flow, m3/s
ka Apatite rate constant, moles m2 S1
Pb Soil bulk density, g cm3
q Porosity, cm3 cm3
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
MODELING RUNOFF POLLUTANT DYNAMICS THROUGH VEGETATIVE FILTER
STRIPS: A FLEXIBLE NUMERICAL APPROACH
By
Oscar Perez Ovilla
August 2010
Chair: Rafael MuiozCarpena
Major: Agricultural and Biological Engineering
Methods to estimate surface runoff pollutant removal using vegetative filter strips
usually consider a limited number of factors (i.e. filter length, slope) and are in general
based on empirical relationships. When an empirical approach is used, the application
of the model is limited to those conditions of the data used for the regression equations.
The objective of this work is to provide a flexible numerical mechanistic tool to
simulate dynamics of a wide range of surface runoff pollutants through dense vegetation
and their physical, chemical and biological interactions based on equations defined by
the user. This is the first time this approach has been used in vegetative filter strips. The
ultimate goal of the model's flexibility is to help researchers and decisionmakers
estimate optimal filter characteristics (length, slope, vegetation) to achieve targeted
runoff pollutant removal efficiency, while still considering the complex driving
processes..
A flexible water quality model based on the Transport and Reaction Simulation
Engine program (James, 2008b; Jawitz et al., 2008; James et al., 2009) is coupled to a
transport module based on the traditional finite element method to solve the advection
dispersionreaction equation using the alternating split operator technique. This coupled
model is linked to the VFSMODW program (MuiozCaperna, 1993; MuiozCarpena et
al., 1993a; MuiozCarpena et al., 1993b; MuiozCarpena et al., 1999; MuiozCarpena
and Parsons, 2004; 2010) to mechanistically simulate mobile and stabile pollutants
through vegetative filter strips based on userdefined conceptual model where the
pollutants and elements within the filter are expressed in terms of differential equations.
The numerical transport model was evaluated using analytical solutions and
laboratory and field scale experiments. For the analytical testing, the water quality
submodel performed well (NashSutcliffe model efficiency coefficient > 0.99). The
laboratory scale testing involved the simulation of bromide transport based on the
exchange layer concept and the raindropinduced chemical release theory (Gao et al.,
2004). The model was able to explain the removal of bromide in runoff, but the
incorporation of more processes is needed to give a more physically based explanation
to the simulated results.
Field scale experimental testing involved the simulation of dissolved phosphorus in
surface runoff, coming from phosphate mining tailing areas, through vegetative filter
strips. The model helped to explain the dynamics of runoff dissolved phosphorus
concentration through vegetative filter strips due to the dissolution of apatite (Kuo, 2007;
Kuo and MuiozCarpena, 2009).The difference between the field data and the
simulated data total mass of dissolved phosphorus concentration was less than 1%.
The incorporation of physically based theories to the flexible water quality module
provides a useful tool to explain and predict the removal of runoff pollutants in
vegetative filter strips. Laboratory and field scale testing showed that the model can be
applied to different conditions and scenarios.
One of the major advantages when using this tool is that the pollutant transport
and removal thought vegetative filter strips is related to physically based process
occurring within the filter. This mechanistic approach increases the range of use of the
model when compared to the simplistic and limited empirical approach.
The use of more than one theory might be needed sometimes to simulate some
pollutants. However, it is important to point out that the different theories to be used
might not have additive properties, which could lead to the under or over estimation of
the outflow concentration. The creation of a conceptual model that links how the
pollutant interacts with the surrounding elements in the filter strip (i.e. grass, soil,
sediments) is the key factor to consider in the flexible model. A poor conceptual model
can lead to misunderstanding of the simulated results.
The potential uses and application of the model for different scenarios and
pollutant models can help researchers, consultants, agencies or individual to predict the
amount of runoff pollutants that can be removed when vegetative filter strips are used.
The strength of the model relies on the mechanistic approach used for simulating the
removal of pollutants, and the flexibility of the model allows the user to apply current
and future theories when analyzing the dynamics of pollutants in vegetative filter strips.
CHAPTER 1
INTRODUCTION
Today's natural resources are under threat. These threats are immediate as in the
case of accidents (i.e. pollutant spills), and chronic as in the case of stormwater (which
contains a wide range of pollutants, from eroded soil to fertilizer nutrients), complex
organic chemical and pathogens, or diffuse pollution from automobiles and other
sources across the landscape (Slawski, 2010). For many of these scenarios, the final
fate of pollutants is the water bodies, where the pollutants could not only affect water
quality but also ecosystem and human health. Chemicals can be transformed either in
the source, during transport, or after the transport at the receiving site; however, nature
has no permanent pollutants sinks. In this context, the socalled best management
practices (BMP's) could be defined as means of promoting the capacity of pollutant
sinks in terrestrial systems and of reducing the transfers of sinks to sources. Vegetative
Filter Strips (VFS), which can be defined as (Dillaha et al., 1989) areas of vegetation
designed to remove sediment and other pollutants from surface water runoff by filtration,
deposition, infiltration, adsorption, absorption, decomposition, and volatilization, are a
successful, natural, lowcost technology that has been used to reduce the load of
sediments, nutrients, pesticides and even pathogens from nonpoint sources before it
reaches a water body (rivers, ponds, etc) (Dooskey, 2001). They have been used
especially in agricultural watersheds but also in construction, urban and forest
environments.
Research about VFS during the last 20 years has focused on empirically
assessing efficiencies for different pollutants and, in a few cases, on finding what
mechanisms are involved in the removal process. The vegetative buffer length has been
commonly associated to its intended function. In this context, water bodies linked to
wildlife habitats may need a buffer protection length of a couple of hundred of meters
(Slawski, 2010). While tens of meters are typically sufficient to filter sediments, the
effectiveness of VFS to reduce runoff pollutants (i.e. pesticides, nanoparticles, etc)
relies not only in the length of the VFS, but also in various factors such as the type of
soil, type of vegetation, slope, type of pollutant, sediment particle characteristics,
amount of pollutant to retain in the VFS, among others. However, statistical analyses
that attempt to relate physiographic characteristics of the VFS (i.e., slope and VFS
length) to sediment and/or contaminant removal are the most common (Sabbagh et al.,
2010).
MuiozCarpena et. al. (1993b; 1999; 2005) developed a physically based
mechanistic computer program based on the overland flow solution by PetrovGalerkin
Finite Elements Method called VFSMODW (MuiozCarpena et al., 1993a), which
simulates hydrology and sediment transport through vegetative filter strips on a storm
bystorm basis. In 2009, VFSMODW incorporated a water quality module to estimate
the removal efficiency of pesticides based on an empirical equation developed by
Sabbagh et al. (2009). Recently, the US Environmental Protection Agency recognized
to VFSMODW as one of the recommended models that can be used to help to gather
data and conduct data analyses to optimize VFS characteristics as a surface runoff
pesticide control practice, and support quantification of pollutant loads and reductions
(EPA, 2010). Recently, Sabbagh et al. (2010) proposed a revision of current pesticide
EPA Tier II assessment during the registration process by introducing VFSMODW as a
component in the existing EPA modeling framework (PRZM/EXAMS).
Evaluating the removal of pollutants by considering the relevant mechanisms
involved during their transport in runoff through VFS under dynamic conditions is
desirable, since this approach is general and applicable to different pollutants and
scenarios.
This document is divided into three papers that stand alone. Each paper focuses
on a specific objective:
1. Development of a flexible numerical modeling component for surface runoff
through dense vegetation and analytically testing for steady surface flow
conditions.
2. Coupling of flexible surface runoff pollutant transport through dense vegetation
component with a dynamic vegetative filter strip overland flow and sediment
transport model (VFSMODW) and testing with laboratory experimental data.
3. Field testing the dynamic model with experimental data from phosphorus mining
tailing grass buffer plots.
CHAPTER 2
FLEXIBLE MODELING OF POLLUTANT TRANSPORT THOUGH DENSE
VEGETATION FOR STEADY SURFACE RUNOFF CONDITIONS
2.1 Introduction
The conservation of mass for a chemical that is transported either in surface or
subsurface water can be driven by the 1D AdvectionDispersionReaction Equation
(ADR):
aC aC a2C
S +DL a (t) (21)
at xax
Where C is the concentration of pollutant in water (M T3), t is time (T), v is
(pore/surface) water flow velocity (L T1), x is distance (L), DL is the hydrodynamic
dispersion coefficient (L2 T1), DL = Dm + aLv, with Dm the molecular diffusion
coefficient (L2T1), and XL the longitudinal dispersivity (L). The term v a represents
a2C
advective transport, DL 2 represents dispersive transport, and F(t) is the change in
ax2
concentration due to reactions or as results of a source/sink element.
Substituting the elements of the hydrodynamic dispersion coefficient in (21),
dC aC 02C
t= v + (cLv + DL) 2 (t) (22)
Analytical and numerical solutions have been proposed to solve the ADR.
Although the ADR is formally classified as a parabolic partial differential equation, if the
advective term v dominates the diffusion/dispersion term DL (v>>DL), it can become
strongly hyperbolic. There are several analytical solutions to equation 21 (van
Genuchten, 1982) that are rather limited in application because they are restricted to
steadystate flow problems with regular boundaries (i.e. square domains) and constant
coefficients (i.e. velocity, hydrodynamic dispersion). However, exact solutions are
important for validating and testing numerical models, and are used for this purpose in
the testing sections 2.3 and 2.4.
Among numerical solutions, the finite difference method (FDM) and finite element
method (FEM) are two of the most widely used schemes, but they are others methods
that can be used (i.e random walk, method of characteristics). Finiteelement method
offers greater flexibility in special discretization than does the finites difference methods.
For example, when using finite elements the domain can be discretized in irregular
triangular elements for a better fitting of irregular boundaries in the domain. With the use
of higherorder approximation, the FEM is generally more accurate than the standard
FDM. Modification can be made to the FDM to reach the greater accuracy, but the
simplicity related to these methods is lost (Zheng and Bennett, 2002).
Split operator (SO) approaches are popular for developing numerical algorithms to
solve nonlinear, multicomponent, coupled reactive transport partial differential equations
(PDEs) such as the ADReEquation and for handling the different time scales of
transport and reaction in the ADR (Morshed and Kaluarachchi, 1995; Barry et al.,
1996a; Barry et al., 1996b; Barry et al., 1997; Barry et al., 2000; Simpson and Landman,
2008). These algorithms are constructed by separating each time integration step (of
length At) into two substeps. First, the transport terms in the PDEs are integrated over
At to yield an intermediate solution. Second, the transport and reaction processes are
approximately coupled by integrating the reaction terms over At using the intermediate
result as the initial condition.
From a practical perspective the most common question is which splitting method
generates a better approximation: Transport first, then Reaction (TR), or Reaction first
then Transport (RT), or a combination of both such as TransportReactionTransport
(TRT) or ReactionTransportReaction (RTR)? Simpson and Landman (2008) analyzed
the temporal truncation error associated with TR, RT, and RTR. They concluded that
the temporal truncation error is equal but opposite for TR and RT, which means that one
overestimates and the other underestimates the solution. However, these authors found
that the error can be removed with standard alternating SO schemes like TRT and RTR
methods. Since the error produced is the same, both can be used to solve the ADR.
Another question that arises regards the choice of the numerical method used for
solving the ADR. Zheng and Bennett (2002) state that the finite element method is
subject to the same numerical problems as the finite difference method, but with the use
of higherorder approximations, the finite element method is more accurate than the
finite difference method. It is also possible to a use higherorder approximation in the
finite difference method. However, the simplicity of the method is lost. When the SO
method is performed, the transport is solved with a finite difference/element method,
and the reactive equation can be solved using an explicit method such as RungeKutta.
However, if the system of equations exhibits a stiff behavior (i.e. rapid decay transient
terms), an implicit method is recommended (James, 2008b).
Jawitz et al. (2008) and James (2008b; James et al., 2009) developed a novel
program called Transport and Reaction Simulation Engine (TaRSE), for solving the 2
Dimensional ADR. The program solves the three partsadvective, dispersive, and
reactiveof the equation independently, solving paired reaction and advection sub
steps symmetrically about the solution for the dispersive step. Although the program is
stable for high Peclet numbers, it is the flexibility of the interface used for solving the
reactive part that makes this approach attractive and innovative for the simulation of
transport and reaction of pollutants through VFS. In general, a user defined XML input
file contains the mobile solutes (compounds to be transported and reacted), stabile
compounds (material that is not mobile, and is thus not transported but can react) and
the different interactions among them. With this approach, the user not only has the
control over the parameters, the types of reactions and the interaction among them, but
can also define different levels of complexity based on research/management
considerations and simplifications. However, for surface flow condition, a hydrodynamic
model is required to supply TaRSE with the flow velocity and water depth data at each
time step.
TaRSE was originally designed to run with the Regional Simulation Model (RSM)
of the South Florida Water Management District (SFWMD) to evaluate the effects of
different management scenarios in South Florida. The movement of phosphorus in the
Florida Stormwater Treatment Area 1 West was the field test scenario used to
demonstrate the high level of complexity that can be built using TaRSE (Jawitz et al.,
2008). However, due to the ability of TARSE to simulate a large flexible number of
pollutants, current efforts are being focused to adapt TaRSE to other hydrodynamic
programs such as SWIFT2D (Schaffranek, 2004) and in this current work with VFSMOD
(MuiozCarpena et al., 1999).
A new genericflexible module to account for the transport and reaction of
pollutants in surface runoff based on the solution of the 1 D ADR using a TRT SO
method is presented here. This module combines a new standard BubnovGalerkin
cubic/quadratic Finite Elements Method for solving the advective and dispersive
transport part of the 1D ADR, with a flexible module that accounts for the reactive part
of the ADR for single or multiple species. The reactive flexible module called Reaction
Simulation Engine, RSE, is a windows library based on TaRSE, where the transport
component has been removed. The resulting new module is called TRT, based on the
TransportReactionTransport sequence for numerically solving the ADR during each
time step. The module is further tested under steady state conditions using
conservative, firstorder decay and Monod kinetics solutes..
2.2 Model Development
2.2.1 The Finite Elements Transport Module
In order to solve the ADR, we employ a standard BubnovGalekin cubic/quadratic
Finite Element Method for solving the spatial derivatives and a timeweighting (Crank
Nicholson) method for the temporal derivative (Miller, 1991).
The general form of the ADR for surface runoff is
9C aC
= V.(D. C) vVC+ + +(t) (23)
ot v ct rxn
where: C is the dissolved pollutant concentration; D is the hydrodynamic
dispersion; V is the average flow velocity, the subscript rxn denotes fluidphase
reactions (i.e. first order decay reaction); and F(t) is a term to represent sources and
sinks of the pollutant.
Equation (23) can be represented in one dimension, over the plane X, as follows:
OC a () + r ( (24)
at ax a)x ax x t rxn
When the sink/source term is not taken account, and we consider a firstorder rate
of degradation, equation (24) is transformed to
9C 9 t 9C\ 9C
 = Dx Vx k, C
at ax ax x ax
which can also be presented in operator notation
9( 9C\ 9C OC
L(C) = x Dx x Vx OCx ki C t
ax\ a~x ax a t
(25)
(26)
Considering that when the method of weighted residuals is used, one equation
exists for each node. The resultant system is then
(27)
f WiL(C)dx = 0
D
which can also be written as
SWiL(C)dx = 0
From Equation (28), the trial function can be defined as
nn
C(x) = N (x) C
j=1
(28)
(29)
When using the Galerkin finite element method, equation (28) can be expressed
as follows:
SNL(C)dx = 0 (210)
By substituting the differential operator we have
N, L Dxax
D X 9x X x
 v k C dx = 0
ax X 1 9t
By separation of terms in Equation (211), we have
Dx dx
ax)
N vx dx NI k1C dx 
ax D
NI dx = 0
at
When the trial function is substituted in equation (212) we have
N (
(211)
(212)
for i = 1, ..., nn
NI=1
f N kij N Cj dx f
fD \( I D
Equation (213) may be written as
a dN
ID x dX] d D
nn
fD N, k, N Cj
\j1 /
an
N, NC, dx = 0
=at Y
\J=1
NI vx CdNi dx
Sdx
(j=1
(214)
C dx = 0
Since the trial function is described with respect to spatial coordinates only, and
the basis functions are not a function of time, equation (214) becomes
I NI9 dNx dxf
fN, Dx n j dx 
D ax dX DJ

NI vx ( dNj dx
Sdx
(j=1
Ni k, (nNC) dx 
j= I
When the dispersive term is expanded we have:
an
N, DX NC dx 
fD ax ax j1
NC ) dx
(213)
(215)
N, Nz dx = 0
j=1 at
S ODx dNj d2 N
NI x Cj dx+ NI Dx z Cj dx
d/r dN*
D axN dx N ( ) dX2
j=1 (j=1
i N vx C dx NI k n1 C dx (216)
D NI(ZN 0t)dx O
fD Y, at
An approximation to Equation (216) can be obtained for the case when the spatial
derivative of the hydrodynamic dispersion coefficient is small compared to the spatial
derivative of concentration, as follows
d2N C ddN
f Dx n C dx f N, x Cidx
D j=1 D j=1 )
(217)
f Nk Z NjCj dx NikJ( Ni ~dx= 0
If the basis functions are chosen to be CO continuous, the order of the derivative in
the dispersive termthe first termneeds to be decreased from two to one. This may
be accomplished using Green's theorem
D Y dX2
NIDx C dx
D dx C
(218)
nn \ XL /nn \
dN J dN, dN
=DxN, C Dx CC dx
dx dx dx
j=1 0 j=1
By combinations and reduction of similar terms of equations (217) and (218) we
have:
dN, dN dN
fDxd ndcj dx+ NlVx ( C dC dx
j=D dx j= dx =1
+f Nikl NjCj dx + NI( Nj C)dx (219)
/ nn \ /XL
dN
DXNI (Zdx
where the righthand side of equation (219) represents a diffusive boundary flux.
Since the diffusive boundary flux term is evaluated only on the boundary, and since this
value is known for the case of natural or Newman boundary condition, equation (219)
can be written in terms of the known value instead of the trial function
dN, __ dN dN
Dx  Ci dx + Nivx ( C dN dx
D x dx I dX D Yx dx
+ N k Nc )dx + N N dix (220)
OC XL
= DxNI t
ox o
For the Dirichlet or necessary boundary conditions, the derivative is no longer
known, but all references to the boundary node can be replaced with the known value 
eliminating the equation from the system requiring solution.
In order to allow for parameter variation, it is convenient to integrate the lefthand
side of equation (220) over the elements instead of the domain, which gives
/dN,
N, vx(Zd_ C.
_, dx
\j=1
nm
I N C dx +
J=1 /
nm
N, (
j=l
N dx
] at )
OCIXL
Dx o
where ne is the total number of elements, and nm is the number of nodes in the
element m.
By applying finite difference approximation to solve the derivative in time in
Equation (221):
DdNI ( dNj C+1
xdx dx
)dx + j
/ Em
nm
+ f Nm (qiN+ C+1 'dx
+ N N At I) dx
m ij=1 n
(222)
C 1+1 XL
= DXN (x
which can also be expressed as
ne[
m=1 Em
dN,
Dx
x dx
dNj
dx j
\j=1
,)dx +
/ Em
)dx
+ f N, k
Em
(221)
ne[
m=1 Em
(Nvx C
Nv j=1 dd
+1)dx
ne m \m\
n, f (N dN C .+ f N V dN C1 dx
S Dxd dJ C] dx + NI v dx
m=1 m \j=1 m j=1
+ NI k1 NC i+1 dx + N i Nj Cjdx (223)
= l mNI NJC]l dx + DxN ( )1+1 XL
m= Em j=1 a 0
where time step I is the known time level and 1+1 is the time traveled sought. By
writing Equation (223) in matrix notation we have:
ne
S([Am{Cm}l+1] + Am{Cm}l+1 + Am(Cm1+1 + Am~Cm}l+1)
m=l
(224)
ne
= (A2{Cm}l) + {bD}
m=l
Where [AD] is the hydrodynamic dispersion coefficient matrix, [Av] is the velocity
coefficient matrix, [Ak] is the reaction coefficient matrix, [At] is the temporal coefficient
matrix all corresponding to the appropriate integral terms in equation (224) and all are
defined over an element; and {bD} is a dispersive boundaryflux vector.
At the end, the application of the finite element method results in a system of linear
equations which need to be solved. This number of equations is a function of the
number of nodes and the nodal degrees of freedom. In this program, called TRFEM
(fully coupled TransportReaction model using Finite Elements Method), the solution
can be simplified in the next steps:
1. Form the system matrix [A] of constant coefficients
2. Perform LU decomposition over this matrix [A]
3. Form the system matrix [BM] of constant coefficients
4. Form the right hand side of equation (vector {b}=[BM]{X} for each time step
5. Solve for [A],{b} to get {X}, the vector with the concentrations.
6. Repeat 4 & 5 until completion of desired number of time steps
Where [A] is a square, NxN system matrix, {b} is the 1xN right hand side vector,
and{X} is the 1xN solution vector at time step t+1.
The TRFEM program assumes steady state flow conditions. This means that the
flow velocity, flow depth and the hydrodynamic dispersion coefficient are considered as
constant during the entire simulation. The program was tested for analytical solutions to
four different scenarios: 1) a constant pollutant flow (a constant pollutant concentration
is released at the first node of the domain during the entire simulation), 2) a pollutant
plug flow (a pollutant of constant concentration is released in the first node for a specific
time, which is less than the total time of the simulation), 3) a time dependent flow (the
pollutant is released in the first node of the domain during the entire simulation, where
the concentration released is based on a time dependent function and 4) a non
advective example using Monod kinetics based on the work of (Simpson and Landman,
2007).
TRFEM can be run for transport only, or for transport and reaction, depending on
the value of the first order decay coefficient ki (Equation 25). When compared to
analytical solutions, the fully coupled TRFEM yields a better approximation to the
analytical solution when compared to ordinary split operator methods and a similar
accuracy level with the alternating TRT SO method (section 2.4.1 and 2.4.2).
When no analytical solution is available, such as with the Monod Kinetics
(Simpson and Landman, 2007), the TRFEM scheme is used as an "analytical solution"
in order to compare it with the TR and TRT split operator methods.
In general, the input data parameters needed to run TRFEM correspond to those
for the numerical discretization (spatial domain and time step), flow velocity,
hydrodynamic dispersivity, and coefficient of reaction if applicable. Details on the
program input file and examples are given in Table A1 in Appendix A.
2.2.2 The Reactive Module
James et al. (2009) presented a 2Dimensional spatially distributed numerical
component for simulating water quality within the South Florida Water Management
District Regional Simulation Model (RSM). RSM simulates surfacewater and ground
water hydrodynamics on an unstructured triangular mesh using the Hydrologic
Simulation Engine (HSE), which implements a finitevolume method to calculate water
heads and flows. The component developed by James et al. (2009), called Transport
and Reaction Simulation Engine (TaRSE), was linked to RSM to simulate transport and
reaction of pollutants in a constructed wetland in South Florida.
TaRSE numerically approximates the solution to the 2D advectiondispersion
reaction equation. It treats the three processes of the 2D ADR advectionn, dispersion
and reaction) independently. The reactive step solves a coupled system of ordinary
differential equations (ODE) describing the interaction between the simulated reactive
components (i.e. solutesoil, porewatersoil, etc). The solution to the system of ODE is
based on the fourthorder RungeKutta method (RK4), which provides a O(At5) local
error and a O(At4) global error during the simulation. RSE does not solve the
hydrodynamic equations; and relies on a separate hydrodynamic model to obtain the
flow between spatial elements (James et al., 2009).
Jawitz et al. (2008) presented and tested the transport of phosphorus in wetlands
based on the interactions between stores and components using TaRSE. A component
is defined in TaRSE as a variable that is of interest of the user (i.e. phosphorus,
nitrogen, oxygen, etc), or it can also be a parameter that is sometimes useful to
describe a specific reaction (i.e. dispersion coefficients, sorption and desorption
coefficients, etc). Variables can be classified into two types: mobile variables, which are
transported by water or some other mechanism (i.e. dissolved pollutants in surface
water), and stabile variables, which are stationary in the domain (sorbed pollutant to
soil). Stores hold the various components, and these components (ie. dissolve
phosphorus) are transported between stores by flow. A given store can hold both mobile
and stabile variables, as well as parameters and variables. Variables cannot be moved
from element to element. An example of stores can be the surface water, which can
hold different pollutants, and soil which holds porewater and the soil matrix with different
chemical elements in it (Figure 21).
The model allows adding stores and elements in order to increase the level of
analysis and complexity of the system. Originally, TaRSE was tested using three user
defined levels of complexity to simulate the transport of phosphorus in wetlands (Figure
22). The first level of complexity included the adsorptiondesorption process of
phosphorus from the water column to the porewater and the incorporation of
phosphorus from the soil matrix to the porewater. The second level of complexity added
plankton to the water column, which interacted with the soluble P and the soil. The third
level included plankton and macrophytes, which consume soluble P from the water
column and the porewater.
Figure 21. Simple 2D conceptual movement of mobile and stabile components
between two triangular elements (cells) in TaRSE. Mobile components
soluble P and oxygen are transported with the flow from one element to the
other. Stabile components porewater P and sorbed P can interact (react) with
mobile components but cannot be transported between elements. P stands
for pollutant.
TaRSE uses the XML format to define the relationships between the different
components in equations. Each equation consists of a lefthand side (Ihs) that contains
the name of the variable to which the equation is applied, and a righthand (rhs) side
that contains the equation in a string. Each equation is an ordinary differential equation
with respect to time that describes how the particular lefthand side variable evolves
with time. The string that defines the righthand side of the equation is parsed by
TARSE to create a function that is evaluated by the fourth order Runge Kutta method to
solve the differential equation. As an example, Figure 23 shows the interactions
between two variables named water_column_p representing phosphorus in the water
column (Cw) and settled_p representing settled phosphorus (Cs), and two reaction
coefficients ku and kr based on a simple uptake/release model.
Indicates a phosphorus store
Indicates a material store
Indicates phosphorus internal flow
Indicates a cell input/output
Figure 22. Conceptual model for complexity levels 1 (a), 2 (b) and 3 (c) showing
different phosphorus interactions among surface water, porewater, plankton
and macrophytes. CPsw is surface water SRP, CPpw is soil porewater SRP, SP
is soil adsorbed phosphorus, S organic soil, CP's is plankton biomass and
Cmp is macrophyte biomass. SRP is soluble reactive phosphorus. Source:
Adapted from Jawitz et al. (2008)
Surface Water
Figure 23. Basic conceptual model for uptake/release dynamics of phosphorus
between the soluble phosphorus in water column and settled phosphorus on
soil. Source: Adapted from James (2008b).
The phosphorus interactions depicted in Figure 23 can be written by equations
(225) and (226) as follows:
dCw
= ku C, + kr Cs (225)
dC,
d = ku C kr Cs (226)
This system of equations would be written in the TaRSE XML input file as shown
in Table A2 in Appendix A.
Since VFSMOD is based on a 1D effective (2D averaged) finite element method
for simulation of surface runoff in filter strips, a modified version of TaRSE suitable for 1
Dimensional domain was needed. James (2008ab) prepared a modified version of
TaRSE for coupling it to other programs. This adapted version, called Reaction
Simulation Engine (RSE), handles the reactive component suitable for any type of
dimensional problem, while relies on transport component provided by another program.
RSE is called as a library for a program that handles the hydrodynamic (flow velocity,
water depth, etc) and transport processes. The Reaction Simulation Engine keeps all
the features of TaRSE for handling an unlimited number of compounds and their
interactions. Table A3 (Appendix A) contains the details on the input sections needed
to run the XML input file in RSE.
2.2.3 Linkage between Transport and Reaction Components Split Operator
Based on the work developed by Kaluarachchi and Morshed, 1995; Morshed and
Kaluarachchi, 1995; Simpson and Landman, 2007, the traditional split operators TR and
RT have greater errors when used to approximate the ADR compared to the alternating
TRT and RTR split operators. In a problem with a single species Monod decay,
Simpson and Landman (2007) have shown that the RT overestimates the solution and
TR underestimates in the same proportion, meanwhile TRT and RTR showed no visual
difference with the solution presented.
Simpson and Landman (2008), stated that implementing alternating split operator
methods can be problematic since the O(At) temporal truncation error (TTE) is only
removed after taking an even number of time steps. This can be explained as follows:
since the TTE associated with TR splitting is equal and opposite to the TTE associated
with RT splitting, then for sufficiently small At, the O(At) TTE incurred in one time step
will be removed by reversing the sequential order of splitting in the following step. This
will lead to the O(At) TTE being removed after every second (even) time step. Two
methods are proposed in order to deal with the TTE:
1. Within each time step, a TRT alternating algorithm solves first the transport for At/2
then the reaction for At and another transport for At/2.
2. Within each time step, an RTR alternating algorithm solves first the reaction for
At/2 then transport for At and another reaction for At/2.
The fully coupled TRFEM and RSE were linked first as a TR split operator where
TRFEM solves the transport and RSE the reactive process of ADR. This module is
called TRRSE.
For the alternating split operator method, the TRT sequence was used because
RSE is a program that is computationally more expensive than the fully coupled TR
FEM, so the sequence RTR is more expensive. Different combinations of temporal and
spatial steps were analyzed in order to evaluate how they affect the time needed to
complete the simulation. The alternating RTR split operator method was not tested in
this work because of the high computational cost.
The following combinations were chosen to be tested with and without a reactive
term:
* TRFEM: The solution to the ADR is based on the fully coupled (Transport
Reaction) finite elements method.
* TRRSE: A TR split operator method used to solve the ADR. Transport is solved
using the finite elements method component of TRFEM, and the reactions) is
solved with RSE.
* TRT: An alternating split operator method TRT is used to solve the ADR during
each time step. Transport is solved using the finite elements method, and the
reactions) is solved with RSE.
Details of program implementation of these alternatives are given in Appendix A
(Tables A4 and A4).
2.3 Model Testing
The programs TRFEM, TRRSE and TRT were tested with four different
scenarios using conservative and reactive conditions for a total of seven scenarios: 3
conservative and 4 reactive (see in Table 21). The four scenarios used are:
Scenario I: A continuous and constant inflow of pollutant
Scenario II: A plug of pollutant released during 1 minute.
Scenario II1: A continuous and variable input of pollutant as a function of time (pollutant
concentration changes with time).
Scenario IV: Dispersion of a pollutant in a noflow solution domain and reaction based
on Monod kinetics.
Scenarios I, II and III were tested with two conditions: a) the pollutant is a
conservative tracer and b) the pollutant is transported and reacted based on first order
decay kinetics. A schematic representation of scenarios I, II and III is shown in Figure 2
4, were runoff is running over an impermeable surface of 20 m length. An arbitrary
pollutant is injected at x=0 m and t=0 min, following the different scenarios depicted in
Table 21.
Table 21. Scenarios used to test the programs TRFEM, TRRSE and TRT
L Xo V
(m) (m) (m/s)
dt (s)
DL (OL, Dm)
(m2/s)
(m, m2/s)
Lateral
inflow Co
(g/m3)
Reaction Ci initial
condition
(t=0)
(g/m3)
I. Constant lateral
inflow of pollutant
in runoff
II. Lateral plug of
pollutant in runoff
III. Variable
continuous lateral
inflow of pollutant
in runoff
IV. Dispersion of
Monod reactive
pollutant in No
Flow domain
(Simpson and
Landman, 2007)
Conservative
** Reactive
20 10 0.166 0.0167
20 10 0.166 0.
(0.099,0.01)
0.0167
20 10 0.166
(0.099,0.01)
0.0167
20 10 0.166
(0.099,0.01)
30 20 30
1(0,1)
1.66x1 04
0.1 8.33x104
4.16x104
1.66x1 04
0.1 8.33x1 04
4.16x104
1.66x1 04
0.1 8.33x104
4.16x104
0.01 0.05
k = 0*
100; t>0 150 k = 0;
ki =0. 1**
100;
0
80+30et
0
0
180 k1 = 0*;
ki=0.1**
Sk1 = 0*;
ki=0.1**
1 am=1;
km=0.1
0, Vx
0, Vx
0, Vx
(x15)^2
kl: First order reaction kinetics constant, s1
am, km: Monod decay constants
+: Observation point
Scenario
Observation point
(:.o 10m)
Runoff
Flow direction
X=0m Impermeable soil surface X=20m
L
Figure 24. Schematic representation of the scenarios used to test TRFEM, TRRSE
and TRT programs.
For scenarios I, II and III, stability and accuracy of the simulations were controlled
by choosing a fixed value of the Peclet number of 1 and three different values of the
Courant number less than or equal to 1 (0.25, 0.5 and 1).
The fourth scenario is based on the work developed by Simpson & Landman
(2007), where a pollutant is initially distributed over the domain at t=0 as stated in Table
21. For this scenario, the pollutant is degraded over the domain, without transport,
based on Monod kinetics. Since no analytical solution exists for Monod kinetics, the
results from Simpson & Landman (2007) were compared with those obtained with the
models developed herein for evaluation purposes.
2.3.1 TRFEM Transport Model Testing
Scenarios I, II and III were tested using the analytical solutions reported by van
Genuchten (1982). For scenarios I and II, the governing equation for a conservative
solute is given by:
ac 02C ac
= D v (227)
Ot Ox2 ax
with the next initial and boundary conditions
C(x,0)=Ci=0
Co O
C(0,t)=
0 t>to
ac
x (00, t) = 0
ax
When a continuous input of pollutant is tested, to is assumed to be the total time of
simulation.
When scenario III is tested, equation (227) has the next initial and boundary
conditions for a conservative solute:
C(x,0)=Ci=0
C(0,t)=Ca + Cb e"t with Ca=80, Cb=30 and X=1
ac
S(00, t) =0
ax
The full analytical solution for conservative solute transport for each one of the first
three scenarios is presented in Appendix A.
For the case of transport of a solute with a first order reactive term, the governing
equation given by van Genuchten (1982) is:
aC 02C aC
= D  pC + y (228)
at 9X2 ax
with u=0. 1 and y=O.
With the same initial and boundary conditions used for the conservative solute.
The analytical solution for each one of the three reactive first order decay
scenarios is presented in detail in Appendix A.
The L2 error norm was calculated for the first three scenarios using the simulated
data and the analytical solution.
The parameters used to test the fully coupled transportreaction finite elements
method were: total length (domain): 20 m, flow velocity: 0.1667 m/s, hydrodynamic
dispersion coefficient DL: 0.0167 m2/s (combining the longitudinal dispersivity aL=0.099
m and the molecular the diffusion coefficient Dm=1.66x104 m2/s (for the given velocity)
and, spatial step dx: 0.1 m. The program was evaluated using three different time steps:
0.6, 0.3 and 0.15 seconds.
For the first scenario, a pollutant of concentration Co=100 g/m3 is released during
the entire time of the simulation at t=0 min and x=0 m. Time of simulation was set to 150
seconds. The concentration was reported at the middle of the domain.
For the second scenario, a plug of pollutant with concentration Co=100 g/m3 is
released for one minute at x=0 m and t=0 min. Time of simulation was set to 180
seconds. The concentration was reported at the middle of the domain.
For the third scenario, a pollutant is released continuously at x=0 m and time=0
min. The concentration changes in time based on the expression Co=80+30*exp(t)
[g/m3]. Time of simulation was set to 3.0 min. The concentration was reported at the
middle of the domain.
The fourth scenario was not used to evaluate the transport module because the
pollutant was not transported in the domain; it only was diffused from the soil to the
water column. However, this scenario was used to test the split operator methods TR
RSE and TRT. The NashSutcliffe coefficient was used to estimate the difference
between the simulated results by using TRRSE and TRT and those values reported by
Simpson and Landman (2007).
2.3.2 Coupled TRRSE and TRT Split Operator Methods Testing
The split operator TRRSE and TRT programs were tested following the same
scenarios depicted in this section but including a reactive term based on a first order
decay kinetics with a value of 0.1 min' for the decay coefficient. The advective and
dispersive part of the ADR (Eq. 22) is solved using the TRFEM program. After the
pollutant has been transported, the reactive (decay) term is solved using RSE. The
differential equation to be used for the reactive term can be written as follows:
dC
= kC (229)
dt
where C is the pollutant concentration in the water column (runoff) and ki is the
first order decay coefficient.
Equation (223) can be written in the XML input file as follows:
water_column_p
kl *water_column_p
An additional input file (*.iwq) with the parameters to be used is needed. This file is
detailed in Table A5, where only one mobile variable called water_column_p, no stabile
element and one parameter (kl) are used in the simulation. This information has to be
included in the corresponding XML input file (see Appendix A).
In order to test TRRSE and TRT with the forth scenario (Monod kinetics), the
procedure depicted in Simpson and Landman (2007) was used. In this example, an
initial amount of some pollutant is distributed in the domain, at t=0, based on the
following expression:
C(x, 0) = e(x25)2 (230)
The transport of the pollutant is considered to be only dispersive (no flow), and the
reaction follows Monod kinetics
dC aC
=+ (231)
dt K+C
All results were evaluated using dx = 0.01 and dt = 0.05. The decay parameters
are a= 1 and K = 0.1. The diffusion coefficient was D = 1. Results of the simulation were
compared visually with those reported by Simpson and Landman (2007), where units
are not reported, but considered to be consistent.
2.4 Results
2.4.1 NonReactive Scenarios
Scenarios I, II and III were used to test the transport of a pollutant using the fully
coupled TR Finite Elements Method without the sink/source element F(t). Since the
transport modules of TRRSE and TRT split operator methods are based on TRFEM,
results can be shown together in Table 22 and Figures 25, 26 and 27.
All the scenarios are compared visually and numerically with the analytical
solutions (van Genuchten, 1982).
Table 22. Comparison of models TRT, TRFEM and TRRSE based on L2 error norm,
for nonreactive scenarios using different values of dt and courant number.
Peclet number was set to 1 for all scenarios. Global results shows efficiency
reached for the entire domain at the end of simulation. Local domain shows
efficiency reached for the most critical part of the fitting curves, which is for
the interval 66 90 seconds for scenario I; from 71 to 108 seconds for
scenario II and from 71 to 96 seconds for scenario III.
Courant Time step, Global L2 Local L2
Scenario Method Number, dt (s) error norm error norm
CN
1 0.6 7.45 2.59
TRRSE 0.5 0.3 5.15 1.80
0.25 0.15 3.60 1.26
1 0.6 7.45 2.59
I. Continuous
Conto TRFEM 0.5 0.3 5.15 1.80
(NonReactive) 0.25 0.15 3.60 1.26
1 0.6 3.64 1.29
TRT 0.5 0.3 2.55 0.90
0.25 0.15 1.79 0.63
II. Plug
(NonReactive)
III.Variable
injection (Non
Reactive)
1
TRRSE 0.5
0.25
1
TRFEM 0.5
0.25
1
TRT 0.5
0.25
1
TRRSE 0.5
0.25
1
TRFEM 0.5
0.25
1
TRT 0.5
0.25
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
10.53
7.28
5.09
10.53
7.28
5.09
5.15
3.60
2.53
8.19
5.66
3.96
8.19
5.66
3.96
4.00
2.80
1.97
1.49
1.10
0.80
1.49
1.10
0.80
0.80
0.57
0.41
1.33
0.96
0.69
1.33
0.96
0.69
0.70
0.49
0.35
0.2 
0.0 727i768284
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
time, s
Figure 25. Comparison for ADR solution at x=10 m (half of the domain) for continuous
input of conservative pollutant (Scenario I, Table 11)
0 20 40 60 80 100 120 140 160 180
Time, s
Figure 26. Comparison for ADR solution at x=10 m (half of the domain) for a plug of a
conservative pollutant (Scenario II, Table 11).
0.8
0.2
0.0
0 20 40 60 80 100 120 140 160 180
Figure 27. Comparison for ADR solution at x=10 m (half of the domain) for a variable
time dependant input of conservative pollutant (Scenario Ill, Table 11)
2.4.2 Reactive Scenarios
0.2 
Once RSE was evaluated with two different scenarios (see RSE Reactive Module
Testing Section in Appendix A for more details), the coupled programs TRFEM, TR
0.0 IIII
0 20 40 60 80 100 120 140 160 180
Time, s
Figure 27. Comparison for ADR solution at x=1 0 m (half of the domain) for a variable
time dependant input of conservative pollutant (Scenario III, Table 11)
2.4.2 Reactive Scenarios
Once RSE was evaluated with two different scenarios (see RSE Reactive Module
Testing Section in Appendix A for more details), the coupled programs TRFEM, TR
RSE and TRT were evaluated for a first order decay and Monod kinetics reactions.
Results of the simulations are shown in Table 23 and Figures 28, 29, 210 and 211.
Table 23. Comparison of models TRT, TRFEM and TRRSE based on L2 error norm,
for reactive scenarios using different values of dt and courant number. Peclet
number was set to 1 for all scenarios. Global results shows efficiency reached
for the entire domain at the end of simulation. Local domain shows efficiency
reached for the most critical part of the fitting curves, which is for the interval
66 90 seconds for scenario I; from 71 to 108 min for scenario II and, from
76 to 96 min for scenario III.
Courant Time step, Global L2 Local L2
Scenario Method Number, dt (s) error norm error norm
CN
1 0.6 6.91 2.48
TRRSE 0.5 0.3 4.78 1.72
0.25 0.15 3.33 1.20
1 0.6 6.75 2.30
I. Continuous
otin s TRFEM 0.5 0.3 4.67 1.60
(Reactive) 0.25 0.15 3.26 1.12
1 0.6 3.29 1.15
TRT 0.5 0.3 2.30 0.79
0.25 0.15 1.61 0.54
II. Plug
(Reactive)
III. Function
(Reactive)
IV Monod
kinetics
1
TRRSE 0.5
0.25
1
TRFEM 0.5
0.25
1
TRT 0.5
0.25
1
TRRSE 0.5
0.25
1
TRFEM 0.5
0.25
1
TRT 0.5
0.25
TRT
TRRSE 
* NashSutcliffe coefficient.
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.6
0.3
0.15
0.05
0.05
9.55
6.61
4.62
9.54
6.60
4.62
4.67
3.27
2.30
7.59
5.25
3.66
7.42
5.13
3.59
3.62
2.53
1.77
0.9993*
0.9862*
1.44
1.05
0.75
1.34
0.99
0.72
0.72
0.51
0.36
1.36
0.98
0.69
1.17
0.85
0.61
0.61
0.42
0.29
0.9893*
0.7036*
0.2 
0.0
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150
time, s
Figure 28. Comparison for ADR solution at x=10 m (half of the domain) for continuous
input of pollutant with reactive term (Scenario I, Table 21)
0 20 40 60 80 100 120 140 160 180
time, s
Figure 29. Comparison for ADR solution at x=10 m (half of the domain) for a plug of a
pollutant with reactive term (Scenario II, Table 21)
0.8 TE RSE
o
O 0.6
o
W 0.4
o
0.2
0.0
0 20 40 60 80 100 120 140 160 180
Time, s
Figure 210. Comparison for ADR solution at x=10 m (half of the domain) for a variable
time dependant input of pollutant with reactive term (Scenario III, Table 21)
12 0005
Mass distribution on the domain at t=0 Simpson & Landman (2007) Analytical Solution
A Simpson & Landman (2007) TR solution
1 0  TRT
0 004 TRRSE
08
0 003
U06. U
0 002 
04
0 001 
02
00 0 000
20 22 24 26 28 30 20 22 24 26 28 30
x a x b
Figure 211. Pollutant Mass distribution at t=0 (a) and (b) comparison between the
modules TRT (split operator) and TRRSE with the results obtained by
Simpson and Landman (2007) for Monod kinetics (Scenario IV, Table 21).
Mass balance results for a conservative pollutant under scenario II and for a
reactive pollutant under scenarios II and IV can be found in Table 24, where the total
input mass is compared to the different solution presented in this chapter.
Table 44. Mass balances for scenarios II and IV.
Scenario Input Analytical
TRT
TRFEM
TRRSE
Conservative pollutant
Scenario II (Plug), g 1000 1000 1000.003 999.996 999.996
Reactive pollutant
Scenario II (Plug), g 1000 904.918 904.955 904.927 904.504
Scenario IV (Monod)*, g 1.7724 0.1053 0.01050 0.0097
Analytical solution refers to the results of Simpson and Landman (2007) at t=1.
2.5 Discussion of Results
2.5.1 NonReactive Solute Scenarios
The programs TRFEM and TRRSE delivered the same results for scenarios I to
III for conservative solute conditions. This was expected since both programs use the
same transport module of TRFEM. For the case TRT, two steps of transport are solved
for each time step. This improves the results when compared to TRFEM and TRRSE
because these two programs call the transport module just once every time step for all
the nonreactive scenarios.
From Table 22 we can observe that the L2 error norm for scenarios I and II for all
the CN and dt combination is almost double the corresponding L2 error norm for TRT.
When results of scenarios I to III are plotted (Figures 24, 25 and 26), there is virtually
no visual difference between the three methods. From Table 22 we can observe that
the numerical simulation approximates the analytical solution better when the temporal
step and courant number are reduced. However, this requires more computational
effort. For all cases, simulation times were not greater than two minutes. No split
operator operation was performed since the reactive term is not used. The mass
balance for scenario II showed that the difference between the three numerical methods
is not significant to approximate total mass of the plug.
2.5.2 Reactive Solute Scenarios
The programs TRFEM, TRRSE and TRT were tested using the four scenarios
depicted in Table 21. Results in Table 13 show that for the same temporal step, TRT
approximates the analytical solution better than TRFEM or TRRSE (lower L2 error
norm). TRFEM and even TRRSE can reach a similar level of accuracy than TRT when
dt is reduced, but at computational cost. For all scenarios, TRRSE had the lowest
NashSutcliffe model efficiency coefficient, even when compared to TRFEM in the
same temporal step due to the TTE.
Scenario I had the best global approximation for TRT, TRFEM and TRRSE.
When compared visually, the difference among them is minimal (Figure 28). The major
difference among them can be observed between time 60 and 78 seconds, where a fast
change in the slope occurs. This is also supported with the results shown in Table 23.
Scenario II better illustrates the difference between the models for approximating
the analytical solution. Again, the worst approximation is given when a fast change in
the slope occurs, which corresponds to the peak in this scenario. A zoomed section of it
(Figure 29) shows that TRT and TRFEM have close levels of approximation to the
analytical solution, but TRRSE slightly underestimates them. The higher value of the L2
error norm (9.55 for TRRSE) was obtained in scenario II.
Scenario III may be the one that mimics what could happen under unsteady state
conditions because input concentration is changing with time. Here, TRT continues to
be the best SO option followed by TRFEM for all the time steps tested (see Table 23
and Figure 210). The split TRRSE split operator method had the worst performance of
all. During the inflection points of the graph in Figure 210, TRRSE was the method that
most underestimated the solution when compared to the analytical, TRT and TRFEM
solutions. This agrees with the results shown in Table 23 since TRRSE had the
highest L2 error norm.
Simulation results of the fourth scenario (Monod kinetics) are important because
this allows for testing the TRT OS method with conditions other than the simple first
order decay kinetics. This scenario also helped to prove that the TRT SO method
implemented here is capable of reproducing the results of other works, such as those
presented by Simpson and Landman (2007). Simulation results shown in Figure 211
overlap the results reported by Simpson and Landman (2007) for the same scenario,
showing that the TRRSE SO method underestimated the solution to Monod kinetics
when compared to the TRT method. No formal error analysis was made since no
analytical solution was found to have a set of values of reference for Monod kinetics;
however, when the solution reported by Simpson and Landman (2007) is used as
"analytical solution", then the global NashSutcliffe coefficient is not very different for
both TRT and TRRSE models (0.99 and 0.98 in scenario IV, Table 21). Nevertheless,
when the NashSutcliffe coefficient is calculated locally at the peak, then there is a
significant difference between the TRT and TRRSE methods (0.98 and 0.70 for TRT
and TRRSE respectfully. The same pattern is observed when the mass balance is
performed for scenario IV, where TRT approximated better the solution presented by
Simpson and Landman (2007) compared to the TRRSE method.
2.6 Conclusions
A flexible alternating split operator method was evaluated under simple first order
decay and Monod kinetics to solve the 1D ADR. The flexibility of this program enables
the user to enter the equations the program needs to run (in order to numerically solve
the reactive term of the ADR for single or multiple species) via a flexible user defined
XML input file. This approach has been applied before by James (2009) in wetlands
using a 2Dimensional finite elements method. TRT has been built in 1Dimension to be
coupled to VFSMOD (MuiozCarpena et al., 1999), which is a 1Dimensional finite
elements method, to solve the transport and reaction of pollutants in surface runoff
through vegetative filter strips.
Testing of the TRT alternating SO method with analytical solutions is important to
validate the program for future applications. TRT proved to better approximate ADR
when compared to TRFEM and TRRSE methods for the same time step, For all the
scenarios tested either conservative or reactive, the TRT method reported the lower L2
error norm.
Simulation results also corroborate the results reported by Simpson and Landman
(2007) about temporal truncation error removal for alternating SO methods when the
temporal step dt is sufficiently small. Underestimation of the analytical solution was
more noticeable when a standard TR method was used due to the splitting operation.
The TRT alternating showed an important improvement in the efficiency of the solution
for complex kinetics, as shown in the Monod example, compared to the tradition TR SO
approach (NashSutcliffe coefficients of 0.98 and 0.70, respectively).
The TRT SO program will provide VFSMOD with the flexibility it needs to simulate
the dynamics of pollutants in runoff through VFS, since relationships between pollutant,
water, soil and vegetation could conceptually be considered and simulated.
CHAPTER 3
LABORATORYSCALE TESTING OF A FLEXIBLE MODEL FOR SIMULATING
POLLUTANT TRANSPORT IN DYNAMIC RUNOFF THROUGH VEGETATIVE FILTER
STRIPS
3.1 Introduction
The complexity to solve nonsteady state conditions of runoff in VFS has
motivated the use of empirical approaches to calculate the pollutant removal efficiency,
which generally is based in a few parameters such as filter length and slope. The Soil
and Water Assessment Tool (SWAT) filter strip trapping efficiency for sediment,
nutrients and pesticides is only a function of the width of the filter strips(Neitsch et al.,
2002). Liu et al., (2008) for instance, performed an statistical analysis of various data
bases on vegetated buffers and sediment trapping efficacy fitting the data with
logarithmic regression models with respect to filter length and slope. The respective r2
were low, 0.34 and 0.23.
MuiozCarpena et al (1993a; 1999) developed a field scale, mechanistic computer
model called VFSMODW to simulate hydrology and sediment transport through
vegetative filter strips on a stormbystorm basis. VFSMOD contains specific submodels
to calculate overland flow, infiltration and filtration of suspended sediments. Rudra et al.,
(2002) implemented an empirical phosphorus component to be used with VFSMODW
to estimate the phosphorus yield. However, the removal efficiency of phosphorous is
based on two simple concepts: the sediment removal efficiency and an empirical
relationship called phosphorous enrichment ratio, which is based on the median particle
size of sediment entering to the VFS. AbuZreig (2001) also investigated principal
factors that affect trapping performance of VFS using VFSMODW. In 2009, VFSMOD
W incorporated a water quality module to simulate the removal of pesticides in VFS
based on the empirical model developed by Sabbagh (2009).
Due to the strong physical and numerical background of VFSMOD for simulating
transport of water and sediments in VFS, and the effectiveness of the new empirical
pesticide module, the US Environmental Protection Agency has included VFSMODW
as a recommended model to support the quantification of pesticide reduction in buffer
strips as part of a program to maintain watershed health and for the development of
control practices (EPA, 2010).
A flexible module to calculate the transport of pollutants in surface water under
steady state conditions was developed and analytically tested in Chapter 2. This module
needs that an external program that supplies dynamic hydrological data such as runoff
water depth, flow velocity, rainfall and infiltration at each node of the domain during the
simulation. The coupling of the new transport component with VFSMODW offers the
user the possibility to define the processes, equations, parameters, etc that drive the
dynamic behavior, and potential reduction of a pollutant in runoff through a VFS. This
means that the user can explore a wide variety of conceptual approaches for
contaminant transport, from simple empirical to physicallybased.
In this work we present the coupling the dynamic hydrological and pollutant
transport components (VFSMODW and TRT). The resulting new version of VFSMOD
W is tested with experimental laboratory data of Yu (2010). Simulation of the
experimental data is based on the conceptual model based on the rainfall induced
chemical transport theory (Gao et al., 2004).
3.2 Model Development
In this section, VFSMODW and TRT program are presented, followed by the
modifications made to VFSMODW for the coupling, including the new input file
structure for running the generic flexible water quality module.
3.2.1 Hydrology and Sediment Transport Model (VFSMODW)
The strength of VFSMOD relies in its numerical calculation of water and sediment
balances through a field scale, mechanistic, stormbased procedure designed to route
the incoming hydrograph and sedimentograph from an adjacent field through a
vegetative filter strip (VFS) and to calculate the outflow, infiltration and sediment
trapping efficiencies. The model couples a hydrology submodel to describe overland
flow with a sediment filtration submodel based on the one developed at the University of
Kentucky (MuiozCarpena et al., 1999). Figure 31 shows the processes of runoff
routing, sediment deposition and infiltration in VFS in the way VFSMODW handles
them numerically.
The program relies in four numerical modules: Overland flow, Infiltration,
Sedimentation and Water Quality. Communication among these modules is depicted in
Figure 32.
The surface hydrology submodel used by VFSMODW (MuiozCaperna, 1993;
MuiozCarpena et al., 1993a; MuiozCarpena et al., 1999) uses a nonstandard
PetrovGalerkin quadratic finite element (FE) overland flow submodel (MuiozCarpena
et al., 1993a) based on the kinematic wave approximation (Lighthill and Whitham, 1955)
of the SaintVenant overland flow equations.
9h 9q
S+ =pf (31)
dt Ox
q = ahm h/3 (32)
n
where x is flow direction axis (m), t is time scale (s), h(x,t) is vertical flow depth
(m), p(t) is rainfall intensity (m/s), f(t) is infiltration rate (m/s), So is bed slope (m/m) at
each node of the system, a and m are uniform flow coefficients for coupling Eq. (32)
(Manning's), and n is Manning's roughness coefficient. VFSMOD can handle natural,
unsteady rainfall conditions in the same rainstorm event. The initial and boundary
conditions used are:
h=0; Ox
h=ho; x=0; t>0
p=p(t); Osx0
f=f(t); Ox0
where ho can be 0, a constant or a time dependent function (field incoming
hydrograph).
S1 1nfall )
e 3. P s a d minlow
submodel of VFSMODW (Muiozarpena et al., 1999).
0 *  J
Figure 31. Processes and domain discretization for the Finite Element overland flow
submodel of VFSMODW (MuhozCarpena et al., 1999).
FIELD/SOURCE VEGETATIVE FILTER STRIP
AREA
AREA RAINFALL
Overland Infiltration
INFLOW
flow module module
PESTICIDES
' Water
quality/ Sediient
SOLUTES  pollutant l itralon I
transport /' '. Io ule
module
COMPLEX
MULTIREACTIVE
POLLUTANTS
OUTFLOW
Figure 32. Schematic representation of the connection of overland flow, infiltration,
particle filtration and pollutant transport modules in VFSMODW. Arrows and
text in grey indicate that the pollutant transport module can be turned on
when running VFSMODW if needed
The use of a PetrovGalerkin upwinding formulation to solve equations (31) and
(32) reduces kinematic shock induced the amplitude and frequency of oscillations with
respect to the standard BubnovGalerkin method (MurozCarpena et al., 1993b), thus
improving the model stability. The estimation of the infiltrated water is based on an
extended version of the GreenAmpt equation for unsteady rainfall (Chu, 1978; Skaggs
and Khaheel, 1982; MurozCarpena et al., 1999).
The time step for the simulation is selected by the kinematic wave model to satisfy
convergence and computational criteria of the FEM based on model inputs (Muroz
Carpena et al., 1993a). The model inputs are specified on a storm basis. Model outputs
include detailed hydrographs and pollutographs, mass balance tables for water and
sediments and summaries of variables and parameters used in the simulation.
In order to describe the numerical and physical characteristics of the VFS,
incoming hydrograph, sedimentograph, pollutograph and rain, VFSMODW needs up to
7 files (if the water quality module is used), but can work only 6 input files. At the end of
the simulation, up to six output files (five if not running the water quality module) with
detailed data and summarized tables are produced. Table 31 shows a description of
the input and output files used and generated by VFSMODW.
No details on the sediment transport module of VFSMODW are presented
because testing here only includes a soluble tracer (bromide case). For more details
about the sediment transport module see MuiozCarpena et al.(1999) and Muioz
Carpena and Parsons (2010).
Table 31. Description of the input and output file extensions used in VFSMODW
Input files Output files
Extension Description Extension Description
igr Buffer properties for the og1 Detailed time series
sediment filtration submodel describing the sediment
transport and deposition
within the buffer.
ikw Parameters for the overland og2 detailed information on the
flow solution singular points (Munoz
Carpena and Parsons, 2005).
irn Storm hyetograph ohy Detailed outputs on the inflow
and outflow hydrographs.
iro Storm hydrograph from the osm Detailed summaries of the
source area. water and sediment balance,
final geometry of the filter
isd Sediment properties for the osp Overall summary of filter
sediment filtration submodel performance with
comparisons between the
source area and filter
iso Soil properties for the owq Details describing the water
infiltration submodel quality transport and removal
efficiency
iwq Pollutant properties for the
Water Quality submodel
3.2.2 Effect of Pollutant Dilution by Rain
In this section a water balance is proposed to include the dilution of a runoff
pollutant that is transported thought VFS due to the effect of rainfall. This consideration
is being developed to be included in the TRT module before coupling it to VFSMODW
The one dimensional water balance in surface runoff is given equation (31), which
is given in the kinematic wave equation:
dh dq
t+ =pf
at ax
where x is flow direction axis (m), t is time scale (s), h(x,t) is vertical flow depth
(m), p(t) is rainfall intensity (m/s), f(t) is infiltration rate (m/s) and q(x,t) is discharge
(m2/s).
The concentration of a solute chemical, based on the overland flow mass balance,
is given by:
dhC dqC kdC (33) C
Oh+ Oq= fC khC + x Dh (33)
at ax ax 9x
where C is the chemical solute concentration (g/m3) and k is the first order decay
coefficient (s1). and D is the hydrodynamic dispersion (m2/s).
Developing the partial differential equations on (23):
9C 9h 9C 9q 9 9C
h +C Oh +C = fC khC + Dh (34)
at at ax Ox ax 9ax
Rearranging common terms in Eq. (34)
9C 9C 9h q 9C
h+q +C n+ q fCkhC+ Dh) (35)
at aX \at x x x
Substituting the term + aq based on equation (31) on (35)
(at ax
OC OC 9 OC\
h at+ qx+ C(p f) = fC khC +x Dhx (36)
h+q+C(.pf=fCkhC+ ) (36)
at ax ax axi
9C 9C 9 9C
h + q O = pC khC + x Dh x (37)
at ax ax\ ax)
Since by continuity equation q=v.h, dividing (37) by h and rearranging terms:
aC aC 02C p
=v + D C ) +k (38)
at Ox 9x2 ( h
Currently, the program TRT has the capability to run a fully coupled finite element
method for solving the ADR with a first order decay coefficient (ki). A global constant
K=p/h+ki can be introduced in equation (38) to simplify it and to have the same form
than the one used in TRT. However, if a nonreactive compound is used such as a
tracer, then k=0, reducing equation (38) to:
OC OC 02C p
= v + D C (39)
at Ox 9x2 h
The term p/h in equations (38) and (39) accounts for the effect of dilution by rain
in overland flow. It is important to point out that the effect of infiltration is included in the
water depth in Equations (38) and (39), although the infiltration ratio does not appear
on those equations.
The TRT program (see Chapter 2 for more details) was modified to add the
reactive term K=p/h+ki to account for dilution by rain and a first order decay rate. The
advantage of this is that k can be zero, representing a nonreactive compound but
keeping the effect of dilution by rain. For the case where no rainfall is present, the p/h is
zero and the pollutant might be only affected by the first order decay constant when no
infiltration occurs, otherwise infiltration need to be included. For computational
efficiency, this term (K) was added to the base finite element transport component,
outside the flexible reactive component (RSE), since dilution by rain will always be
present when rainfall occurs.
3.2.3 Chemical Transport Module (TRT)
As described in previous chapter, the TRT program solves the Advection
DispersionReaction Equation (ADR) using a split operator scheme. The transport part
of the ADR (Eq. 31) is solved using a standard BubnovGalekin cubic/quadratic Finite
Element Method for solving the spatial derivatives and a timeweighting (Crank
Nicholson finite difference) method for the temporal derivative. The user defined
reactive component solves a system of ordinary differential equations using the fourth
order RungeKutta method. Each equation represents the change of some specific
pollutant in time. Pollutants can be considered as mobile or stabile, depending if the
move with runoff (i.e. soluble compounds) or stay in the same place during the
simulation (i.e. pollutant soil porewater concentration, absorbed pollutant to soil and
vegetation, etc). Mobile and stabile elements are related using ordinary differential
equations to obtain a mass balance for each time step. The program performs a
TransportReactionTransport split operator scheme at each time step. This means that
the pollutant is transported using half of the time step, then is reacted for the full time
step, and then transported for the remaining time step. Results presented in previous
chapter during analytical testing of the TRT module showed the accuracy of this is
slightly better when compared to the fully coupled finite element method (TR_FEM) for
simple first order decay reaction and Monod kinetics (see section 2.4.1 and 2.4.2).
The TRT program (standalone version for steady state conditions) needs three
input sets to run: one that includes that transport and numerical parameters to be used
by the transport module, and two for describing the userdefined properties and
parameters of the mobile and stabile compounds and the equations to be used, written
in XML format. The input parameters and structure for running TRT module can be seen
in Tables A1, A2 and A5.
The main limiting factor when running the stand alone TRT program is that it runs
with constant runoff depth and velocity through the domain and does not considers the
effect of dilution by rain. Dynamic conditions are very important when dealing with field
scale or experimental data because they usually change with time, as infiltration does
during a rainfall event.
3.2.4 Model Linkage
When TRT is used, the pollutant concentration is calculated at each time step, and
then passed to the reactive module to complete the change of concentration in time.
The time and spatial steps and the flow velocity are input to the model as constant
during the simulation. VFSMODW can produce the hydrologic and numerical data that
TRT needs at each time step though the domain (filter length) for dynamic flow
conditions. The procedure to link these two programs includes: 1) to transfer the spatial
and temporal steps and other numerical parameters from VFS MODW to TRT, 2) to
modify the ADR used in TRT to include the effect of dilution and code it in the transport
module of TRT, 3) to call TRT once the hydrodynamic flow parameters are calculated in
VFSMODW.
The TRT module (see section 2.2.3) was designed to be coupled to VFSMODW
to simulate the dynamics of pollutants in runoff through VFS. Since both programs
share the finite element method, the transport module of TRT and VFSMODW have
various subroutines in common, especially those related to solving the matrices
generated by the finite element method. This allowed for efficient coding with standard
structure for both components.
The TRT split operator program uses the next numerical parameters: Spatially
discretized length in the X direction DT, time step DT, Number of time steps for the
simulation NDT, time weighting method for the temporal derivative (0.5 for Crank
Nicholson) THETAW, order of the integration rule NL over each element and the
number of nodal points over each element NPOL. These parameters are transferred
directly from VFSMODW to TRT during the simulation.
The hydrological parameters used by the TRT program are: the length L of the
domain in the X direction, the longitudinal dispersivity DISL (XL in Eq. 22), the
molecular diffusion coefficient DISM and the first order decay reaction coefficient K1. For
this set of parameter, only the length L has its equivalent with the buffer length VL in
VFSMOD. The rest of the parameters are new for VFSMODW so they need to be input
as new parameters.
None of the chemical parameters is declared or used in VFSMODW. So all the
water quality parameters used in the TRT program have to be input as new parameters
in VFSMODW. However, the structure of the input files need to be adapted to have
fully compatibility with the current file organization in VFSMODW.
The modifications to the structure of the *.iwq water quality input file is detailed in
Appendix A. Based on these modification, there possible options are handled in
VFSMODW to simulate the transport of pollutants: 1) Transport of pesticides based on
un empirical equation developed by Sabbagh et al. (2009), 2) solely transport of a
solute in runoff through VFS considering the effects of dilution by rain and infiltration
and, 3) The multicomponent flexible approached based on the TRT module. A
schematic representation of VFSMODW with the new water quality module is shown in
Figure 3.3.
Figure 33. Schematic representation of linkage between VFSMODW and the water
quality module.
3.3 Model Testing
In order to test the new flexible water quality module of VFSMODW, data from Yu
et al. (2010) experiment is used. The laboratory experiment was conducted to
investigate the processes involved in the transport of nanoparticles in surface runoff. A
laboratory scale experiment was designed to study runoff with five basic considerations:
1) a sand bed box with no vegetation on top receives artificial rainfall and lateral runoff,
2) a plug of pollutant is injected with the lateral runoff, 3) infiltrated water is collected
from a drainage system, 4) runoff is collected at the end of the box and 5) samples of
runoff and infiltrated water are collected and analyzed. The absence of vegetation and
homogenous soil allows for a controlled experiment with a reduced number of variables.
A description of the experiment and the conceptual model used to explain the data is
depicted in the next sections.
3.3.1 Experimental Setup
Yu et al. (2010) designed an experiment to investigate the surface transport of
nanoparticles kaolinitee) in runoff compared to that of a conservative tracer. The
experiment was conducted in the Water Resources Laboratory of the Agricultural and
Biological Engineering Department at the University of Florida. A schematic
representation of the experiment is shown in Figure 34.
In Yu's experiment a metal box (1.53 m long, 0.402 m wide and 0.10 m deep) is
built and divided in four equidistant compartments of 0.38 m separated by metal divider
of height of 0.05 m are used to make the compartments. Each compartment was fully
filled with 12 kg of sand with a media size of 0.55 mm. Bulk density of sand reported by
Yu (2010) was 1.538 g/cm3 and the estimated saturated hydraulic conductivity was
1.06x105 m/s. A vertical drainage system collection system was added to the soil box
by making a 1 inch screwed sinkhole in the bottom of each compartment for a total of
four. The drainage is centered to the downslope end of each compartment. A 500 mesh
screen was used in each sinkhole to cover them so only water can be filtrated. A funnel
with a 1.27 cm diameter hose was connected through each drainage sinkholehole in
order to collect the infiltrated water into 22.7 liter cylindrical bucket buckets. A runoff
collector was installed at the end of the box and connected similarly to the drainage
system to a 22.7 liter cylindrical bucket. Water depth in each bucket was measured
using a dielectric capacitance probe (ECH20 20 cm probe, Decagon, Pullman, WA)
every thirty seconds and then correlated to volume. Data was stored in a automatic data
logger (CR40, Campbell Sci, Pullmand, WA).
18psi
Rainfall Simulator
Runoff I
bromide I I
distributor 3.05 m
Br Inflow Outflow
[i qi, Vi o, Vo
I, Vi Overland flow
(w I I
Height    L=1.52m  _
O l   Soil(sand) L4=1:.52m,
Drainage"
Infiltrated water via
drainage system
Computerized Pione
water depth sampler
recorder
Figure 34. Schematic representation of the laboratory experiment used by Yu et al.
(2010).
Rain was produced using a rainfall simulator with a stainless steel Tee Jet 1/2 HH
SS 50 WSQ nozzle (Spraying Systems Co.,Wheaton,IL) located approximately 3 m
above the box. Experiments were conducted under the pressure of 1.24 bar (18 psi)
which generated rainfall intensity of 64 mm/hour with uniformity greater than 90% over
the box. The rainfall intensity was monitored and measured by 6 standard garden rain
gauges and one electronic tipping bucket rain gauge (Texas Electronics Inc.,Dallas,
Texas) connected to the data logger.
The pollutant inflow rate was set to 0.3 I/min with a peristaltic pump (Master Flex
L/S digital standard drive pump, ColeParmer Instrument Company, Vernon Hills,
Illinois). Precision pump tubing transports the inflow to a spreader for uniform water and
solute distribution over upslope end of the box (Figure 34).
In order to reach steady state conditions for the experiment, the sand was
saturated by the simulated rain for two hours prior to the experiment in order to assure
saturation conditions and no bromide presence in the media. After saturation was
reached, a 103 mg/I pulse of bromide is release for 30 minutes. When the pulse of
bromide is over, clean water is continuously injected at 0.3 I/min until the end of the
simulation in order to do not affect the water balance. Artificial rainfall is constant during
the entire experiment as well. The output runoff and infiltrated pollutant is measured for
50 more minutes to complete a total time of 80 minutes, starting at the time the pollutant
is released in runoff. Water samples were taken during the 80 minutes of the
experiment and then analyzed using an ion chromatograph (Dionex ICS90) to
determine bromide concentrations in water samples.
3.3.2 Conceptual Model
One of the most critical processes for simulating pollutant transport in runoff is the
movement of pollutants from soil to runoff. Extensive research has been conducted over
the past thirty years in an attempt to explain the mechanisms involved in this process.
The most widely applied theories are the film theory (Wallach et al., 1989; Wallach and
Vangenuchten, 1990; Wallach, 1991), the chemical mixing depth concept and its
variations (Ahuja, 1982; Steenhuis et al., 1994; Zhang et al., 1997) and the raindrop
solute transfer theory (Gao et al., 2004). In the film theory, the pollutant is transported
by molecular diffusion to a thin layer or film of water that lies between soil and runoff.
The chemical mixing concept theorizes that the pollutant is mixed instantaneously in a
zone below the soil, which includes water from rain, runoff and infiltrated water. This
mixing zone can be considered to be either uniform and complete, uniform but
incomplete, or nonuniform and incomplete (Zhang et al., 1997). Wallach and van
Genuchten (1990) indicated based on their results that direct mixing between runoff
water and the soil solution is responsible for chemical transfer only during the early
stages of the runoff process, but later the convective mass transfer becomes the main
transport mechanism. Walton et al. (2000) proposed that the release of a pollutant from
soil to runoff should consider the soil moisture condition previous to the rainfall, as
opposed to under saturated conditions, as assumed in most of the experiments
designed to study this transfer. Walton et al. (2000) introduced the concept of the blind
pore factor to account for pollutant that remains in the soil surface once the initial rainfall
has infiltrated part of the pollutant from the surface soil, and tested this theory using field
site experimental data but concluded that some processes occurring at early times were
not adequately described by his model. Finally, Gao et al. (2004) introduces the concept
of soil exchange layer, where the pollutant is release from porewater soil stored in an
exchange layer near the surface, when raindrops hit the ground. In Gao's study, a
combined raindropcontrolled solute transfer and diffusion process was used to explain
experimental data under no flow conditions. Gao et al (2004) concluded that other
phenomena, such as the pumping mechanism or a different interaction between
raindropinduced solute transfer and diffusion, were required to properly simulate solute
transfer from soil to runoff. The pumping mechanism depicted by Gao is similar to
interflow depicted by Ahuja (1982). At a larger scale, this pumping mechanisms has
also been studied by Packman et al. (2000) to describe the advective flow of pollutants
induced in a sand bed by stream flow over bedforms. Figure 35 shows the schematic
representation of the bromide exchange between runoff and porewater using the
exchange layer proposed by Gao under dynamic flow conditions.
RAIN, p
Br Inflow V
Sh C.RUNOFF outflow
q, Ci, v w e, (q,, CW, vW)
q~. C1,, V0
de Ce Infiltration, i
SOIL
SDrainage, d
Figure 35. Conceptual schematic representation of physical and chemical transport
processes in runoff Bromide in Yu's (2009, unpublished) experiment.
In Figure 35, Cw and Ce represents the concentration of bromide in surface runoff
and porewater respectively, i represents the infiltration rate, and er is the rate of soil
water that is ejected into the runoff.
The balance of Bromide in surface runoff used in Yu et al. (2010) experiment can
be described using the next ordinary differential equation based on Figure 35.
dC, e,
(Ce Cw) (310)
dt h
where h represents the runoff depth.
From the perspective of change in concentration in porewater, we have
dCe
dt = iCw iCe + er(C, Ce) (311)
Equation (311) can be simplified as follow
dCe i + er
d = (Cw Ce) (312)
dt de
Where de represents the effective layer depth.
A factor a is introduced by Gao et al. (2004) that accounts for incomplete mixing of
the pollutant in runoff with rain before infiltration. In this study a accounts for the
incomplete mixing of pollutant in soil. This is because the depth of flow in this
experiment is much smaller than that used under the ponding conditions of Gao et al.
(2004).The mixing factor a can have a valid range 05a51. The system of ordinary
differential equations that controls the movement of a non reactive pollutant such as
bromide is given by equations (310) and (312). When the mixing factor a is introduced,
the system of equations is defined by:
dC e,
= e (a Cw) (313)
Ot h
dCe i + e,
dCe er (C aCe) (314)
Ot de
Since Yu et al. (2010) laboratory scale experiment included rain, the raindrop
controlled solute transfer theory proposed by Gao (2004) was chosen to predict Yu's
experimental data together with a simple uptake/release model as the one depicted in
Figure 23, which is driven by the system of equations (225) and (226), where the
constants Ku and Kr represent the exchange rate of Bromide between the surface water
column (runoff) and the bromide in porewater. These empirical constants are an
empirical simplification of the different physical mechanisms proposed when Bromide is
exchanged between surface water and porewater, such as diffusion, pumping
(Packman et al., 2000), raindrop effect (Gao et al., 2004), etc. The variables Cw and Cs
(Equations 225 and 226) represents the concentration of bromide in surface runoff and
porewater respectively.
Surface Water
Cw
k, ku
Figure 23. Basic conceptual model for uptake/release dynamics of phosphorus
between the soluble phosphorus in water column and settled phosphorus on
soil. Source: Adapted from James (2008b) as shown in Chapter 1.
3.3.3 Input Parameters for the Water Quality Module
Based on the system of equations formed by equations (213) and (214), two
input sets need to be created (contained in the program *.iwq and the XML water quality
input files).
We first have to define the elements that are represented in the system of
equations. From the left hand side of equations (313) and (314) we observe one
mobile component Cw (bromide in runoff) and one stabile component Ce (bromide in
porewater). From the right hand side of these equations, besides Cw and Ce, there are
five parameters: er, i, h, de and a. The water quality input file (sampleBr.iwq) containing
all these elements and its corresponding values are presented in Table A8 in Appendix
A. The system of reaction equations and the definition of the variables and parameter to
be used during the simulation are contained in the userdefined XML input file
("YuGao.xml" see Table A8, Appendix A). A detailed description of each of the
VFSMODW input files used for running this simulation is also presented in Appendix A.
For the empirical approach using ku and kr, the XML input file is shown in Table A2 in
Appendix A. Table 32 shows a summary with the most important parameters used for
testing the empirical and mechanistic approaches.
Table 32. List of parameters used in the physically based and empirical conceptual
models for bromide transport
Parameter Description, units Value used in Recommended
simulations value*
er Raindrop induced water 2.5x10' 1.5x1 06 8.4x106
transfer rate, m/s
de Exchange layer depth, m 0.05 0 0.1
a Concentration mixing 0.1475 01
factor, dimensionless
Ku Pollutant release rate, s1 0.0093
Kr Pollutant uptake rate, s1 0.2
Gao et al. (2004).
3.3.4 Model Testing Procedure
Three steps were followed in order to test the flexible water quality module of
VFSMODW using the experimental data of Yu et al. (2010). First, measured data of
rain, inflow, tracer plug duration, concentration, etcetera of the experiment were
properly parametrized to be included in the input files of VFSMODW. Second, since
rainfall and runoff inflow did not change in time, an inverse calibration procedure was
used to define the values of the infiltration parameters (average suction at the wetting
front and saturated hydraulic conductivity) to fit the measured runoff output flow. Water
balances of rain, inflow, infiltration and outflow were performed and compared to those
obtained during the experiment. Finally, once the water balance was satisfactory, the
water quality module was used to include the release of bromide from soil to runoff
based on the system of equations (225) and (226) for solely transport of bromide, the
simple uptake/release empirical approach, and (313) and (314) for the mechanistic
Gao's exchange layer theory.
For the case of the rainfall induced chemical transport (exchange layer) theory, the
model was first tested using the recommended values of Table 32. However, it was not
possible to reproduce the experimental data and various combinations of the conceptual
model parameters were used in order to reproduce the experimental data (Figure 36).
The best fitting was obtained when the parameters reported in Table 32 were used
(Figure 38).
For the case of the empirical uptake/release conceptual model, different values of
ku and kr were tested in order to obtain the best combination that reduced the error
(Figure 38). Since these parameters are purely empirical, the values reported in Table
32 are valid only valid for those conditions of the experiment.
3.4 Results
3.4.1 Experimental Results
Experimental water balances are summarized in Table 33. Values of inflow runoff
and rain rate are considered constant during the entire time of the experiment and
simulation since they are fully controlled during the experiment (see section 3.3.1). In
this table, a massbalance deficit close to 5% is shown, which is deemed acceptable.
The deficit could be related to the soil porewater content at the end of the 80 minutes
since only the total water collected in the drainage/runoff collection system (see Figure
33) is reported for mass balance. The surface area of the sand box (1.52m x 0.402m)
is used to transform units from m3/s to mm/h.
Table 33. Water Balance of Yu et al. (2010) laboratory experimental results.
Parameter/variable mm/hr L/min
Inflows
Runoff inflow 29.03 0.3000
Rainfall 64.17 0.6532
Outflows
Drainage 37.86 0.3856
Runoff 49.93 0.5085
Subtotal inflows 93.20 0.9532
Subtotal outflow 87.79 0.8941
Mass Balance Error (%) 6.3 0.15
The bromide concentration in time for each one of the four compartments of the
infiltration system and outflow runoff is presented in Figures (36) and (37) and the
mass balance based on these breakthrough curves is shown in Table 33. Time scale is
reported from 0 to 80 minutes. Infiltrated (drainage) bromide has different breakthrough
curves for each compartment. This was not only because the concentration in time was
different along the length of the sand box in surface runoff, but because the average
infiltration drainage rate in each of the four compartments was different (0.1071, 0.1193,
0.0754 and 0.0938 L/min).
As stated before, starting time (t=0) corresponds to the time when bromide is
injected to inflow runoff, and the final time of 80 minutes corresponds to the ending time
of data measurement. Thus the previous 120 minutes of rainfall to take the experiment
to steady state conditions is not reported. Bromide concentration at inflow is set to
constant with a value of 103 g/m3 for the 30 minutes of duration of the pulse.
A deficit of bromide (12%) is observed for the experimental data (Table 34). This
deficit can be related to the dissolved phosphorus held in pore water at the end of the
simulation. From Table 34 we can observe that 35.8% of the incoming mass of bromide
leaves the sand bed as outflow runoff, and 53% of bromide mass leaves the system
through the drainage system.
*
*
15 0*
5
0
10 *
5 00 0 0
*
Outflow Br concentration *
n
time, min
Figure 36. Experimental surface outflow runoff bromide concentration as reported by
Yu et al. (2010).
Table 34. Bromide mass balance of Yu et al.
Parameter/variable
Inflows
Runoff inflow
Outflows
Drainage 1
Drainage 2
Drainage 3
Drainage 4
Runoff outflow
Subtotal inflows
Subtotal outflow
Mass balance error
(2010) experimental results.
Br Mass, g
0.927
0.208
0.171
0.074
0.039
0.332
0.927
0.824
0.103 (12%)
3.4.2 Water Balances using VFSMODW
VFSMODW was run without the water quality module and with no sediments from
the upland inflow in order to simulate the runoff outflow and infiltration reported in the
experiment. Since infiltration rate was not homogenous in each compartment of the
sand box, the inverse calibration module of VFSMODW was used to estimate the
optimized calibration values of the vertical saturated hydraulic conductivity VKS, the
GreenAmpt's average suction at wetting front SAV, manning coefficient and mean
slope of the sand box. The hydrological input parameters used for the water balance
simulation are summarized in Table A9.
With the help of the inverse calibration module of VFSMODW, the difference
between the amounts of water at the input (rain, inflow) and output (outflow, infiltration)
during the simulation was less than 0.15%. A comparison between the simulated water
balances and the experimental data is presented in Table 35. It should be noticed the
fact that simulated infiltrated (drainage) water is greater than the experimental data.
This may be due to the experimental deficit already observed in Table 35.
Table 35. Water Balance of Yu et al. (2010) experimental results.
Parameter/variable Experimental data, Simulated data,
L/min L/min
INFLOWS
Runoff inflow 0.3000 0.3000
Rainfall 0.6532 0.6532
OUTFLOWS
Drainage 0.3856 0.4432
Runoff 0.5085 0.5085
Subtotal inflows 0.9532 0.9532
Subtotal outflow 0.8941 0.9517
Mass balance error 6.3% 0.15%
3.4.3 Bromide Simulations using VFSMODW with the TRT Module
Once the VFSMODW hydrology component was successfully tested, the water
quality module TRT was used to simulate the bromide experimental results obtained by
Yu et al. (2010). For the empirical approach, equations 225 and 226 with C=103mg/l,
ku=0.22s1 and kr=0.0087s' are used. The corresponding input file is similar to that
depicted in Table A7. For the exchange layer theory, the system of equations defined
by Equations (313) and (314) is used as depicted in Table A8, and the XML input file
is available in Appendix A.
510  0.505x+4645; R 99
4020 40 60 80
E
0
> 30
0
0
0 20 40 60 80
time, min
Figure 37. Cumulative outflow runoff volume of experimental data. The estimated
average outflow rate is 0.5085 L/min.
As stated in section 3.3.4, three scenarios were tested for the transport of bromide
in surface runoff: 1) Only transport, 2) Uptake/release empirical approach and 3)
Mechanistic exchange layer theory (Gao et al., 2004). Simulation results of each
scenario and experimental data are shown in Figure 38. The dotdash line shows the
simulation based on solely transport simulation. The dashed line is the better simulation
obtained for the exchange layer theory by using the recommended values of Table 32
and extending the value of the raindrop induced water transfer slightly out of the lowest
recommend value. It is important to point out that recommended values in Table 32 are
based on static (no dynamic) flow conditions and a greater water depth (Gao et al.,
2004). Finally, for the empirical conceptual model (continuous line), various
combinations of the uptake and release rate constants ku and kr were used to fit the
experimental data by trial and error. The best results were obtained when ku=0.22s1
and kr=0.0087s .
In Figure 38 we can also observe that the experiment is driven by two
phenomena: A transport of bromide dominated by the hydrodynamic dispersion during
the first 30 minutes of the simulation followed by a long tail related to the release of
bromide from porewater due to the raindrop effect on the exchange layer and other
processes. Mass balances for Figure 38 are summarized in Table 36.
20 ____
S* Experimental
Transport only (tracer conservative)
15 Empirical uptake/release process
Mechanistic Exchange Layer
10
5
OS
I i
mbmm
0 <I
0 800 1600 2400 3200 4000 4800
time, s
Figure 38. Concentration during the simulation of bromide in runoff at the end of the
sand box (x=1.52 m). Bromide was release as a plug during 0
with a constant concentration of 103 mg/l.
From Table 36 we can observe that in terms of total mass of bromide during the
80 minutes of the experiment, the empirical and the mechanistic approach estimated in
96% the total amount of bromide reported with the experimental data (NashSutcliffe
coefficient of 0.94 and 0.95 respectively). The scenario that considers the sole effect of
transport of bromide underestimates the experimental mass in 9%. However, these
global results of mass balance can mask the fact that the transport only approach
overestimate the load and concentration of bromide during the first 1800 seconds of the
simulation, which compensated the absence of a tail. In contrast, empirical and
mechanistic approaches can reproduce very accurately the first 1800 seconds, and
simulate a general trend of the tail.
Table 36. Mass balance of bromide in surface runoff for experimental and simulated
results.
Experimental Simulated
(g) (g)
Transport Empirical Mechanistic
only approach approach
Runoff inflow 0.927 0.927 0.927 0.927
Runoff outflow 0.332 0.3013 0.319 0.318
Predicted error (%) 9.24 3.94 4.24
The big disadvantage when using the empirical approach is that the constants lack
of applicability beyond the conditions of this experiment. In contrast, a mechanistic
approach is applicable to various conditions and scenarios due to its physically based
development.
3.4.4 Sensitivity Analysis of Transport Component
During the simulation of the mechanistic approach, the values of DL (longitudinal
dispersivity), er (rate of soil water release due to rainfall effect), de (depth of exchange
layer), and a (effective mixing effect in runoff) were adjusted to fit experimental data
(Figure 28). A simple sensitivity analysis was performed by varying these parameters
by 25% and 50% with respect to the effective base values that best fitted the
experimental results as shown in Figure 39.
S txperimentai uaia Experimental Data
20 D. BASE (0 03m) 20 Base (er=2 5x 107m/s)
S D BASE25%(0 0375m)
D+250(00375m) 20 Base (e 3 2 5x10 7m/s
D +50% (0 045m) er +25% (3 125x107m/s)
15 D25%(00225m) er+50% (3 75x10 7m/s)
/ D 50% (0 015m) 15 e25% (1 875x10m/s)
S 0 er 50% (1 25x107m/s)
m
10 1Q
10 
0 800 1600 2400 3200 4000 4800 0 800 1600 2400 3200 4000 4800
time, s a time, s b
25
Experimental data
20  Base (de= 0 05m)
S de +25% (0 0625m) 20 S0 Experimental data
/ d +50% (0 075m) Base (a=0 1475)
de 25% (0 0375m) / /* +25% (0 1844)
r15 Jfd +50% (0 2213)
d15 de50% (0 025m) 15 J 25%(0 1106)
E J a50% (00737)
10 10
0 0
0 800 1600 2400 3200 4000 4800 0 800 1600 2400 3200 4000 4800
time, s c time, s d
Figure 39. Sensitivity analysis of outflow runoff bromide concentration for the variables
DL (a), er (b), de (c) and a (d), by varying 25% and 50% the calibrated
values for exchange layer approach.
The NashSutcliffe coefficient was not use during the sensitivity analysis because
an overestimationunderestimation compensation occurs between the first 30 minutes of
the simulation when advection dominates the transport of bromide, and the next 50
minutes where the release of bromide from the sand bed occurs (see Figure 39 b, c
and d). A better appreciation of the influence of the variation of the parameters over the
outflow concentration during the simulation is represented in Figure 39.
The sensitivity to the parameters DL, er, de and a for the exchange layer physically
based approach with respect to the total mass (area under the curve) and the
concentration peak, is shown in Figure 310.
Exchange layer theory parameters er, de and a showed to have small sensitivity to
the total mass of bromide (from 4% to 4% in Figure 310a) but is more sensitive for
peak of concentration of bromide (from 12% to 10% in Figure 310b).
12 12
10 e 10 e
8 8 d
S 6 16
4 4
2 2
50 0 25 5 0 50 25 0 25 50
% Variation of parameter Q % Parameter variation b
Figure 310. Sensitivity response of outflow runoff bromide concentration for the
12 12
% Variation of parameter a % Parameter variation b
Figure 310. Sensitivity response of outflow runoff bromide concentration for the
variables DL, er, de and a with respect to the total mass (a) and concentration
peak (b), by varying 25% and 50% the calibrated values for exchange layer
approach.
3.5 Conclusions
Experimental water balances were well simulated when using VFSMODW,
confirming to be a very reliable model to simulate the outflow runoff in vegetative filter
strips (water mass balance error <0.15%). The inverse calibration module of VFMSOD
W was helpful to calibrate the model before the simulation of a pulse of bromide in
runoff.
Three approaches were used to simulate the experimental results of bromide
transport in runoff in a sand bed: one based on the transport of bromide in runoff without
other considerations, another based on the physically based rainfall induced chemical
transport (exchange layer) theory and the last one using a simplistic empirical approach.
For the exchange layer theory, a NashSutcliffe coefficient of 0.95 was obtained when
the recommended values of the parameters where modified. This might indicate that the
based rainfall induced chemical transport theory is not enough to explain the
experimental results for bromide under dynamic runoff conditions and that other
processes such as the diffusion of bromide from porewater to runoff, pumping effect, etc
need to be considered to parameterize the conceptual model. It is important to point out
that the exchange layer theory was experimentally developed for no flow conditions
(Gao et al., 2004). For the second approach, an empirical uptake/release process
approximates the experimental data with a NashSutcliffe coefficient of 0.94. However,
there is no certainty that the empirical values of the uptake and release constants could
work for other conditions different to those used in the experiment.
The new flexible module TRT coupled to VFSMODW opens a new window of
possibilities to study the transport and reaction of pollutants in surface runoff though
vegetative filter strips. This model can be used either to test current theories for specific
pollutants or for explore different physically based processes that could be involved in
the transport of runoff pollutants. By using physically based processes instead of
empirical relationships, the model can be used for various laboratory and field
conditions.
CHAPTER 4
FIELDSCALE TESTING OF A FLEXIBLE MODEL FOR SIMULATING MINING
TAILINGS PHOSPHORUS TRANSPORT IN RUNOFF USING VFSMODW
4.1 Introduction
Research about vegetative filter strips during the last 20 years has focused on
measuring removal efficiencies for different pollutants and establishing mostly empirical
relationships to predict the efficiency of a filter based on one or two parameters such as
filter length or slope (Neitsch et al., 2002; Liu et al., 2008). Those relationships are
usually easy to use, but their accuracy is limited to the set of field or laboratory
conditions that were used to obtain the regression equations. Their application to other
conditions of soil, type of vegetation, slope, etc is also limited and the efficiency
coefficients are generally low. In order to deal with this problem, MuiozCarpena and
Parsons (1999; 2004) designed a field scale, mechanistic, stormbased model called
VFSMODW to handle incoming hydrographs and sedimentographs from an adjacent
field through VFS. VFSMODW has been effectively tested with different scenarios
(MuiozCarpena et al., 1999; AbuZreig, 2001; Zhang et al., 2001; AbuZreig et al.,
2003; Kuo and MuiozCarpena, 2009). In 2009, an empirical equation (Sabbagh et al.,
2009) was coupled to VFSMODW to estimate the removal of pesticides in VFS.
In previous chapters, a flexible water quality module was added to VFSMODW to
simulate a wide number of pollutants based on a user defined system of equations that
describe the dynamics of pollutants in surface runoff. This novel approach was tested
with a set of experimental data provided by Yu et al. (2010) to simulate the transport of
bromide in runoff under laboratory scale experimental conditions. The tool has the
potential to simulate field scale scenarios.
The testing of the flexible water quality module of VFSMODW under field scale
conditions is presented here. The main objective is to predict the transport of dissolved
phosphorus (DP) in runoff from phosphate mining tailing areas typical of central Florida
(Polk County) when using vegetative filter strips. Phosphorus dynamics in VFS will
follow the processes described by Kuo (2007), who found that pH dependent apatite
dissolution from tailing materials can contribute to the loads of dissolved phosphorus.
The concentration of particulate phosphorus is not included in this work because of two
considerations: 1) It is linearly related only to the fraction of sediments in the outflow
(Kuo, 2007; Kuo et al., 2009) and 2) The rainfall event to be simulated contains one of
the lowest concentrations of dissolved phosphorus during field experiment, which
reduced the sources of particulate phosphorus to be added to the runoff.
If successfully tested, the new water quality module of VFSMODW will give the
researchers, decision making personnel, or governmental agencies, a reliable and
tested tool to estimate the optimal length of VFS needed to remove a specific pollutant
in runoff for different situations and scenarios.
4.2 Experiment Description
Two experimental sites were constructed in 2005 by Kuo (2007) to study the
efficiency of VFS for removing phosphorus contained in runoff from disturbed areas due
to phosphate mining activities in the Peace River Watershed. The experiment is located
in Bartow, Florida at 270 48' 45.76"N and 81o 47' 41.81"W. Each experimental site had
a set of four source areas and filter strips, for a total of 8 paired source areavfs plots.
Source areas were maintained by cleaning periodically the soil without disturbing the
topography. The filter strips were frequently mowed in order to have optimal conditions
for sediment trapping and water infiltration.
In order to study different conditions of slope, VFS length, hydraulic conductivity
and Source AreasVFS ratios (2.5:1 and 1.25:1). One experimental site was installed on
a flat terrain located close to the Peace River, and the other one was located on a small
hill. They are referenced as "River" (or A) and "Hill" (or B) sites in this document (see
Figure 41). The distance between both plots is approximately 0.85 miles. The
dimensions and instrumentation of the experimental plots are shown in Figure 42. Each
plot, either source area or filter strip, is separated by plastic plates inserted vertically to
avoid lateral runoff losses or interference between plots.
a
Figure 41. Areal views of the experimental sites located in Bartow, Florida. Figure a
corresponds to the "Hill" experimental site, Figure b shows the "River"
experimental site. Source: Microsoft Bing maps (as accessed on June,
2010).
13.2 m
VF : Area ourc
A=5 3 AVFS1 AVFS2 AVFS3 VF4 I I
B=3 4 BVFS1 BVFS2 BVFS3 BVFS4 A4 1m
B=6 .ml
Wate Capacitance
Water 0 probe
sampler
0 0
A Well #2
cI
a b
Figure 42. Schematic dimensions and instrumentation of the experimental sites (Figure a), where letter "A" referes to the
"River" site and "B" to the "Hill" site. Figure b shows a picture of the "River" site plot. Source: Kuo (2007).
When an excess rainfall event occurs, runoff is produced from the source areas
into the VFS. Runoff is collected in both, at the end of source areas and VFS and
directed to sixinch (15.24 cm) HS flumes, were flow rate is automatically measured
using capacitance probes (ECH20, model EC20, Decagon Devices, WA) inserted
vertically into the throat of each flume. At this point water samples are taken using the
ISCO 6712 automatic water sampler (ISCO, Inc.) which collects up to 500 ml of sample
based on changes in accumulated runoff volume. Another capacitance probe was used
to measure soil moisture in periods of 30 minutes. To measure rainfall intensity, a rain
gauge (Texas Electronics, Inc TR525M tipping bucket rain gauge) was installed in both
experimental sites. The rainfall data was recorded every minute. All the reading from
probes were sent to the CR1 OX data logger through a relay multiplexer (AM416,
Campbell Scientific, UT). There was a data logger for each site.
Additional details on the procedure and instrumentation of data collection and
analysis of water flow, sediment and phosphorous concentrations can be found in Kuo
(2007), Kuo and MuiozCarpena (2009) and Kuo et al. (2009).
4.3 Experimental Results
Experimental results for years 2005 to 2006 can be found in Kuo (2007). Tables B
1 to B6 in the Appendix B summarizes the data collected in 2007 and 2008 for rain,
runoff, i30, Total Load of Sediments, Total Phosphorus (TP) and Dissolved Phosphorus
(DP) for both field sites River (A) and Hill (B) following the same structure as presented
by Kuo (2007).
Rainfall excess is in generally produced at the experimental sites when reasonably
large rainfall events occurs with intensities above i30= 1014 mm/h for Sites B and A
respectively. Data of precipitation was well recorded in the River Site, except during
90
August 2007 and half of September 2007 because malfunctioning of the CR10 data
logger, which was substituted for a new one.
A large number or rainfall events were recorded at the Site A in 2007 (thirtythree
in total), unfortunately only 19 of them gave an 130 > 14 mm/hr to obtain runoff (55%).
Five events out of nineteen occurred during the maintenance period and five more
during the months of August and September, when the data logger failed (Table B1).
No significant rainfall event was recorded for January, November and December 2007.
During the period January April in 2008, we recorded five events with an i30 > 14
mm/hr. Three of them with an 14>i30>16 mm/hr produced enough runoff, but the water
samplers did not worked properly and no water sample was collected for chemical
analysis. Two more events (i30>25 mm/hr) collected enough water sample in the 500ml
water bottles for P and sediment chemical analysis.
Due to the physical conditions of the Hill site (greater slope, area mainly) more
maintenance work was needed because the flumes were frequently clogged with
sediment. On the other hand, it was observed that grass grew faster in site A compared
to site B. Due to the frequent maintenance of site B, rainfall was missed. In order to
estimate the i30 it was necessary the adoption of rainfall data from sources other than
the local rain gauge. When this particular situation happened, data was provided by the
Bureau of Mining Reclamation at Bartow. One thing that is important to point out is the
fact that the reports provided by the Bureau estimated the rainfall in inches, with a
minimum of 0.01 inch (0.254 mm) every 5 minutes. This data (0.254 mm) is greater than
the minimum value that the rain gage at the site can record (0.1 mm).
The rainfall intensity (i30) at Site B was evaluated based on both: field data when
available and from the reports of the Mine Reclamation Bureau. For this site, we
estimated that a total of 54 events may be happened in 2007; however 38 of them
reported and i30 < 10 mm/hr, which represents 68% of the total. In summary, from the 54
possible rainfall events, just 16 produced enough rainfall excess. Since many of these
events occurred during the maintenance period of the site, only six events had all the
conditions needed for water sample collection. From these 6 events, the automated water
sample system worked and sample water for chemical analysis for five events, missing
only one. For year 2008, up to 17 rainfall events occurred in this site, but only 4 were ahd
an i30 > 10 mm/hr. in fact, the equipment collected enough water samples in two different
events: February 23 and April 06.
Tables B5 and B6 in the Appendix B summarize the results for the water
samples collected in sites A and B. Data is presented as load of sediments (Sed), total
phosphorus (TP) and dissolved phosphorus (DP) in grams. Source areas 1 and 4 (See
Figure 32a) are always reported with zeros because there are no water samples located
on those plots. Six automatic water samplers are installed in each field site, distributed as
seen on Figure 32.
Table B7 shows a summary of balances of water, sediments, TP and DP during the
period of analysis January 2007 April 2008. Values of variables related to rain (rainfall
duration, total rainfall and i30) may be underestimated because they are obtained
fromdifferent sources (site and those provided by the Bureau) and which can alter the
water balances for a storm by storm basis analysis. Despite those considerations, Table
B7 shows that more water and pollutants (sediments, total phosphorus and dissolved
phosphorus) are obtained in the site B (Hill).
A rainfall event occurring on July 07th, 2006 on the River Site A, plot 2, was selected
to simulated the transport of dissolved phosphorus from phosphate mining areas in
vegetative filter strips (Kuo, 2007). Data from the experimental river site A is preferred
over those of site B (Hill) for testing purposes because the sediment load coming from the
source area is lower. Since Kuo (2007; Kuo et al., 2009) reported that phosphorus can be
released to runoff from soil (or sediments) based on apatite dissolution, then the presence
of sediments could increase the sources of phosphorus in runoff which would add
complexity to the system.
4.4 Model Inputs and Sensitivity Analysis
4.4.1 Hydrological and Water Quality Data
Experimental results reported by Kuo (2007) will be used to calibrate the hydrology
part of VFSMODW before running the flexible water quality module for the simulation of
dissolved phosphorus in runoff from soil based on the rainfall event of July 07th, 2006 on
the River Site A, plot 2, named A070706R2. The set of hydrological parameters used in
VFSMODW is listed in Table A10. Values of initial water content (0i), filter width
(FWIDTH), filter length (VL) and Manning coefficient in the VFS (RNA) were estimated
using the inverse calibration module of VFSMODW.
Hydrographs for A070706R2 event are shown in Figure 43. An output measured
hydrograph (solid dots) as reported by Kuo (2007) is compared to a simulated outflow
hydrograph (bold solid line) from VFSMODW. The simulated outflow hydrograph
reproduce the shape of the input hydrograph but looses the first section of the observed
outflow hydrograph, which starts around 900 seconds and also missed the tail. The Nash
93
Sutcliffe coefficient was 0.71 and the simulated outflow was able to capture the two peaks
of this rainfall event.
0.0004 0
0.00002
E NS C1 = 0.71 0.00004
0.0001 
1 e\ 0.00008
0
0.0001
0.00008
S, i ,w
0 500 1000 1500 2000 2500
Time (s)
Figure 43. Observed and predicted output and input hydrograph for event A070706R2.
Concentration of dissolved phosphorus is reported by Kuo and MuiozCarpena
(2009) as pollutographs (load of pollutants with time) at the entrance and exit of the VFS.
Kuo (2007) reported up to 66% removal of dissolved phosphorus mass due to the used of
VFS for the experimental sites A and B. In 2009, Kuo et al. (2009) presented a simplified
model where the inflow and outflow dissolved phosphorus concentration can be
considered approximately equal. These two findings, reduction of 66% and similar
concentration in inflow and outflow, are used as reference when calculating the mass
balances of DP in runoff.
Based on the incoming hydrograph and pollutograph reported by Kuo (2007), an
estimated input concentration of 0.38 mg/I of dissolved phosphorus is calculated. Figure
45 shows the experimental and simulated values of concentration of dissolved
phosphorus at the exit of the VFS.
4.4.2 Chemical Conceptual Model
Kuo et al. (2009) investigated the factors that control the release of phosphorus to
runoff in phosphate mining areas. They found that soils contain high concentrations of
apatite as a source of phosphorus in mining areas, and that the phosphorus is released
from apatite by the effect of dissolution. Dissolution is controlled by various factors such
as the specific surface area of a particle SSACFA, the pH in surface runoff, the
dissolution rate constant ka, and the bulk density pb and porosity q of the soil. The
dissolution rate of apatite from soil KCFA, in mg L1 s', is given by:
Pb
KCFA = 31Ka[H+]nSSAcFA P (41)
The SSA of the apatite (CFA) per gram soil (m2g1) can be calculates as follows:
SSACFA Particle Size(i) P concentration(i) SSA (42)
SSAFA = 0.158 SSAA (42)
i=1
where Particle Size (i) represents the fraction of particles in a particular size rage
(i), P concentration (i) is the phosphorus concentration within a given particle size range
(i) in mg/kg; SSAcFA(,) is the specific surface area for a given particle size range (i) in
m2/g; the P fraction per unit weight of apatite is 0.158 from the formula
Ca9.62Nao.273Mg.1 06(P04)4.976(CO3)1.024F2.41, which corresponds to Carbonate Fluor
Apatite or CFA. Values of SSACFA for the experimental site were in the ranges 0.00868
 0.1119 m2 g1 for the River Site A, and 0.01256 0.01446 for the Hill Site B m2 g
(Kuo, 2007; Kuo et al., 2009).
Kuo (2007) reported that dissolution of apatite can only occur when the
concentration of dissolve phosphorus in runoff is lower than the equilibrium phosphorus
concentration (EPCo), which was determined to be at 15 mg/l. He also reported that
when runoff phosphorus concentration is higher than EPCo, phosphorus is absorbed to
soil or sediments. Experimental data reports by Kuo (2007) for years 2006 and 2007,
and the extended period 20082009, did not show concentrations of dissolved
phosphorus greater than 1 mg/I for experimental River Site A, or 5 mg/I for Hill Site B.
In order to account for the factors involved in the transport and reaction of apatite
in VFS, a conceptual model needs to be designed. Figure 44 shows the elements to
include for understanding the transport of phosphates in VFS, where Cw and Cpw
represents the concentration of phosphorus in surface runoff and porewater
respectively, i represents the infiltration rate, and KCFA is the rate of phosphorus
dissolved from apatite. The variables q, C and v correspond to the flow, concentration of
phosphorus and flow velocity at different positions in the filter strip.
Grass stem RAIN, p
Inflow V
I RUNOFF = outflow
q, Cj, vi hK Cq v )
S qo, Co, Vo
de p Infiltration, i
SOIL
Figure 44. Conceptual model for the simulation of soluble phosphorus in VFS for
phosphate mining areas.
VFSMODW accounts for the effect of pollutant runoff dilution by rain thought its
transport component as described in previous chapters. The release of apatite from soil
and the loss can be represented by the following equation based on Figure 44.
96
d = KCFA (43)
When pH is used to approximate [H], equation 43 is transformed to
dC = 31Ka(10pH)nSSAFA (44)
dt 7
There is no need of a system for coupled of ODE to describe the dynamics of
phosphate in runoff since the concentration of dissolved phosphorus in runoff is always
lower than the EPCo (no absorption of DP to soil) and that the return of dissolved
phosphorus contained in porewater soil to runoff is a process not considered or
experimentally reported to occur. Table A11 contains the parameters used for
simulating the A070706R2 event.
4.5 Model Testing
The transport of dissolved phosphorus in VFS will be simulated based on two
scenarios:
1. Transport of phosphorus considering the effect of dilution from rain but without
dissolution from apatite.
2. Same as 1, but including the effect of apatite dissolution from soil.
Based on a simplified model of the transport of dissolved phosphorus in VFS, Kuo
and MuiozCarpena (2009) found that the concentration of dissolved phosphorus can
be considered equal in the inflow and outflow and that for this experimental site, up to
66% of DP removal is expected (Kuo, 2007). Moreover, they (Kuo and MuiozCarpena,
2009) conclude that the field scale experimental results in outflow cannot be explained
by only considering the transport of phosphorus in runoff, the effect of dilution by rain,
and the infiltration. At the end, one of the most important conclusion of their work was
that the outflow concentration of dissolved phosphorus can be explained when the
phosphorus coming from apatite dissolution is incorporated in the analysis.
Simulated results for both scenarios are compared to experimental results for
concentration and loads (Figure 45 and 46). A basic sensitivity analysis is performed
in order to investigate how each effect of each factor of Equation 41 affects the
dissolution rate of apatite in runoff KCFA.
For simulating the first scenario, the values for the longitudinal dispersivity and the
diffusion coefficient for phosphorus in water were 0.1 m and 8.4X1010m2/s (Kadlec and
Wallace, 2008) respectively.
In order to perform the simulation using the flexible water quality module of
VFSMODW, two input files need to be included: The A070706R2. iwq (Table A12) and
the Bartow.XML input files (see Appendix A). The structure of these input files follow the
format presented in the section "Water Quality Input File Structure for VFSMOD", in
Appendix A. The values of the parameters used in Equation (44) are found in Table A
11 in Appendix A.
4.5.1 Effect of Apatite Dissolution in Runoff
Simulation results for scenarios 1 and 2 confirm the findings of Kuo and Muioz
Carpena (2009): The sole transport and dilution of dissolved phosphorus in runoff
cannot reproduce the outflow concentration, but the incorporation of the phosphorus
coming from soil via apatite dissolution allows a removal of 63% the dissolved
phosphorus coming in runoff (see Table 41), as reported by Kuo (2007).
E 0.4
0.2
0.0
100
Figure 45. Simulated
considering
0.00012
0.00010
0.00008
0.00006
0 00004
0.00002
0.00000
0
results for
the effect
1500 2000 2500 3000
time, s
the transport of dissolved phosphorus concentration
of apatite dissolution.
1000 1500 2000 2500
3000
time, s
Figure 46. Simulated results for the transport of dissolved phosphorus load considering
the effect of apatite dissolution.
The only adjustment made in Equation (41) with respect to the original values
reported by Kuo (2007) was the reaction order n, from 0.67 to 0.823. The rest of the
parameters remained unchanged. In the next section, a basic sensitivity analysis is
performed to identify the most critical parameters for the dissolution of CFA from soil to
runoff.
Table 41. Water Balance and phosphorus balances for event 070706R2.
Experimental Simulated Mass
data data balance
error (%)
INFLOWS
Runoff volume*, m3
DP mass, g
OUTFLOWS
Runoff volume*, m3
DP mass including dissolution of
CFA, g
DP mass (transport only), g
DP removal Efficiency
Transport only
Considering CFA dissolution
0.1297
0.0504
0.376
0.01840
0.01840
63%
63%
0.1297
0.0504
0.476
0.01831
0.0046
75%
63%
21
0.5
75
+12%
4.5.2 Sensitivity Analysis of Phosphorus Release From Apatite
A sensitivity analysis of the different parameters involved in the estimation of KCFA
is presented here. This analysis has the purpose of identifying those parameters that
affect the amount of phosphorus released from apatite to runoff based on equation 31.
Values reported in Table A11 are varied by 50, 25, +25 and 50 percent. Due to the
wide range of variation between the parameters Ka, SSACFA, Pb and q with respect to n
and pH, results are shown in two Figures (47 and 48)
100
LL 75 
0
S 50 
25
.5  Ka
75 SSACFA
100
125
50 25 0 25 50
%Change in parameter
Figure 47. Percentile change of KCFA due to variations of Ka, SSACFA, Pb and q.
Variation in parameters Ka, SSACFA, Pb and q affect KCFA in the same proportion,
from 50 to +50%. This is because the linearity of these parameters in Equation 41. On
the other hand, q inversely affects the value of KCFA compared to Ka, SSACFA, Pb and q.
Again, from Equation 41 we can observe that q is the only parameter that divides this
equation.
The major variations of KCFA occurred for a change of +25% and +50%in the
parameters n and pH. An exponential trend is observed in Figure 48 which is
concordant with equation 41 because n and pH are included as power functions. When
pH is increased for the sensitivity analysis (Figure 48), those values resulting from
increasing pH in +25% and +50% are beyond the range of validity (pH>7) for the rate
constant Ka (Kuo, 2007). However, the purpose of this section was to show how
sensitive KCFA is with respect to the change of its parameters.
101
18000
An
16000  pH
< 14000
0
o 12000
a 10000
CL
8000
6000
cU 4000 
0
2000
2000
50 25 0 25 50
%Change in parameter
Figure 48. Percentile change of KCFA due to variations of n and pH.
4.6 Discussion of Results
The selection of the rainfall event A070706R2 was appropriate in order to simplify
the conceptual model to be used for the simulation of dissolved phosphorus in runoff
coming from phosphate mining areas when VFS are used. By choosing this event, the
influence of phosphorus dissolution from apatite contained in sediments was lowered,
and the analysis was focused only on the effect of dissolution of apatite from soil within
the vegetative filter strip.
Results showed that experimental bromide load and concentration cannot be
explained by the solely transport of dissolved phosphorus through the VFS (See Figure
45 and 46). The infiltration and dilution from rain are the two major factors affecting the
concentration in this scenario.
When dissolution of CFA is taken in consideration, the model can approximated
the reported values con DP concentration, except for one point (Figure 45) and can
102
predict the total mass of dissolved phosphorus at the end of the VFS (Figure 46 and
Table 41) as reported by Kuo (2007) based on the loads of dissolved phosphorus.
From Figure 46 we can observe that the missed concentration point by the simulation
corresponds to the tail, and that this has very little effect in terms of DP load.
By making a mass balance between the amounts of DP that exits the VFS with
and without the apatite dissolution (Table 41), we can say that for this case the VFS
could remove up to 75% of the incoming runoff DP, but the effect of apatite dissolution
adds DP to runoff so the final efficiency is 63%. Dissolution of apatite helps to explain
the little change in runoff water between the inflow and outflow during the simulation at
some points (Figure 45)., however, is likely that lower concentrations were not
observed due to the inability of the equipment to collect water samples under flow
conditions.
Without considering the dissolution of CFA, is not possible to explain the DP
removal efficiencies reported by Kuo (2007). Additionally, the concentration of dissolved
phosphorus decreases due to the effect to dilution by rain to an average concentration
lower than 0.15 mg/I (Figure 48).
Water also impacted in the outflow load for mass balances. In Figure 43 we
observed that the simulated hydrograph overestimated the first pick, but misses the tail.
This overestimation allows balancing the mass phosphorus in the outflow, without
considering the long tail. The overestimation of the first runoff pick compensates the
lack of a tail in the simulated data.
One of the most influential factors that contributed to adjust the averaged output
concentration and DP outflow load was the reaction order, n, in equation 41, as seen
103
during the sensitivity analysis performed in section 4.5.2. This analysis helped in
understanding the reason why a slight change in parameter n greatly affects the outflow
runoff concentration of dissolved phosphorus. Since n and pH are used as the powered
part of equation 41, a slight increment in these parameters could exponentially modify
the amount of phosphorus released from apatite (Figure 48). For the rest of the
parameters (Ka, SSACFA, Pb and q), the model is also sensitive, but not as sensitive as
with n and pH (Figure 47).
Finally, it is interesting to point out that the reported experimental concentration of
dissolved phosphorus in runoff could be related only to the time where there was
enough water in the flume to allow the automatic sample get a water sample. A variation
in concentration for low flow might not be observed due to the latter, as predicted using
the model (see Figure 45). The experience of field work during the extended period
(20082009) showed that for small rainfall events (130 close to 14 mm/hr) the amount of
water samples automatically collected for chemical analysis was minimum and
generally sampled at the flow peaks. The fewer samples collected, the less variation in
outflow DP concentration can be reported.
4.7 Conclusions
The flexible water quality model of VFSMODW allowed exploring the interactions
between the release of phosphorus from apatite dissolution and the loads and
concentration of DP in runoff during a rainfall event. The relationship reported by Kuo
(2007) for apatite dissolution (Equation 41) can help to explain a 66% reduction of DP
in this experiment, as reported by Kuo The sole transport and rainfall dilution of DP was
not enough to explain outflow DP loads and concentrations.
104
The incorporation of Equation 41, which is not a linear equation but an
exponential one, in the analysis of how the dissolved phosphorus is transported in
runoff was a good opportunity to test the flexible transport and reactive module of
VFSMOD for other conditions different to those linear and Monod kinetics used during
the analytical testing of the module.
Parameters have to be wisely selected to represent the dissolution of apatite in
runoff because Equation 41 is highly sensitive to parameters variation, especially for
increases on n and pH. The pH is another factor to consider since the validity of
parameter ka depends on the value of pH (Kuo, 2007).
The model not only can handle different formulas to describe the dynamics of
pollutants in runoff in VFS, but the more important and exciting part is the fact that those
formulas can finally be related to physically based phenomena developed for each
particular pollutant. The potential of this tool can help to explore new theories for
removing pollutants in VFS, or simply test the existing theories to help the researchers
and decision making personnel evaluate the efficiency of VFS.
105
CHAPTER 5
CONCLUSIONS
5.1 General Conclusions
A novel flexible numerical model to simulate the transport of runoff pollutants
through vegetative filter strips was successfully tested with different analytical solutions
and coupled to the program VFSMODW to simulate the transport of runoff pollutants
under dynamic flow conditions. In this flexible approach, the user is able to define the
processes and relationships involved in the transport of pollutants in surface runoff by
the use of a conceptual model.
Analytical testing included the evaluation of several numerical techniques to
determine the best method for coupling with VFSMODW as a flexible water quality
module. The alternating TRT split operator method was selected to be coupled to
VFSMODW because it produced the lowest error (L2 error norm) for the different
scenarios tested during the evaluation process.
The new flexible module of VFSMODW was used to analyze the transport of
bromide in runoff over a sand bed under controlled laboratory conditions. Three different
userdefined conceptual models were evaluated in order to predict the outflow
concentration of bromide. The two conceptual models that better approximated the
experimental results were based on an empirical uptake/release approach and a
physically based approach based on the exchange layer theory (Gao et al., 2004).
Despite the fact that these two approaches had high values NashSutcliffe coefficient
(>0.94), the mechanistic approach can be applied to other set of experimental data
while the parameters of the empirical approach is limited to those conditions of the
experiment.
106
The flexible multi reactive transport component of VFMODW was also tested with
data from a field scale experiment where runoff phosphorus is produced from
phosphate mining tailing areas and is removed by using VFS (Kuo, 2007; Kuo et al.,
2009). Kuo (2007) reported a 66% removal efficiency for dissolved phosphorus in his
experiment. A conceptual model that considers the dissolution of apatite (Kuo et al.,
2009) was developed and tested with the experimental data to explore the processes
involved in the transport of dissolved phosphorus in surface runoff. Again, the use of a
userdefined conceptual model parameterized with physically based processes allowed
us to explore and explain the processes involved in the removal of dissolved
phosphorus in runoff.
The flexible water quality module of VFSMODW opens a new window of
possibilities to study the transport and reaction of pollutants under dynamic conditions in
surface runoff. The program is open to the incorporation of future theories for a wide
variety of pollutants (i.e. chemical, biological, nanoparticles) and field conditions, but the
user must develop the conceptual model that is driving the dynamics of pollutant within
the filter strip. The implementation of a mechanistic approach for estimating the removal
of runoff pollutants through vegetative filter strips could also help researchers,
consultants, agencies and other people to find the optimal characteristics of the VFS
(i.e. length) without the use of the limited empirical approach, which is constrained to
the field conditions for which the empirical equations were developed.
5.2 Limitations
The current version of the flexible module is limited to one mobile component (i.e.
solute) that can be interacting with various stabile components (i.e. vegetation,
sediments, soil, porewater, etc), which limits the level of complexity that can be handled.
The building of the conceptual model for each species of pollutant to evaluate is the
most challenging part of the flexible approach, and requires a knowledgeable user in the
processes that drive the pollutant transport. The implementation of the XML input file
can be challenging for first time users. The XML file contains the equations produced
with the help of the conceptual model using the nomenclature for MXL documents.
5.3 Future Research
Shortterm future research topics can be summarized in the next list.
* Testing pollutant interactions between sediments and runoff based on the
experimental set of data collected for the field scale experimental site in Bartow,
Florida.
* Increase the number of mobile components to simulate multiplespecies transport
in runoff through VFS.
* Model testing with more complex pollutants (i.e. nanoparticles, pathogens).
* Collaborate with other researchers to explore new theories, such as the theories
evaluated in this work: the exchange layer theory (Gao et al., 2004) or the
dissolution of apatite (Kuo, 2007; Kuo et al., 2009).
* Perform a global sensitivity and uncertainty analysis of the conceptual models.
108
APPENDIX A.
INPUT FILES FOR ANALYTICAL AND EXPERIMENTAL TESTING
This appendix contains the following information:
* Twelve tables referenced in chapters 1, 2 and 3 for the structure of the input files
needed to run the stand alone transport component the coupled program TRT
VFSMOD for simulating the transport of bromide and phosphorus in runoff through
VFS. Information about the parameters used for the simulation with VFSMOD is
also available here.
* Full detailed analytical solutions (van Genuchten, 1982) for scenarios IIII used in
chapter 1for conservative a reactive solute.
* Full description of the water quality input file used in VFSMOD for using empirical
simulation of pesticides (Sabbagh et al., 2009), transport of a conservative solute
and the use of the flexible multireactive module based on RSE.
* Input files used in VFSMODW to simulated the transport of bromide used in
chapter 2 and the transport of phosphorus from chapter 3.
* XML input files used to test the flexible component in the RSE, TRT modules
* XML input files used to simulate the transport of bromide used in chapter 2 and the
transport of phosphorus from chapter 3. This input files are recalled from the
VFSMODW projects
109
Tables A1 to A12
Table A1. Parameters for femadr.in input file
Parameter Description
L
DX
VX
DISL
DISM
THETAW
K1
DT
NDT
NL
NPOL
Total length of the domain in the X direction (parallel to
flow), [Length].
Spatial discretized length in the X direction, [Length].
Flow velocity in X direction, [Length/Time].
Longitudinal dispersivity, [Length].
Molecular diffusion coefficient, [Length2/Time].
Time weighting method for the temporal derivative (0.5 for
CrankNicholson), [Dimensionless]
First order decay reaction coefficient, [1/Time].
Time step, [Time].
Number of time steps for the simulation
Order of the integration rule over each element
Number of nodal points over each element
Table A2. XML input file equation structure for describing a simple uptake/release
model. Adapted from James (2008b)
water_column_p
k_u*water_column_p + k_r*settled_p/depth
settled_p
depth*k_u*water_column_p k_r*settled_p
Note: k_u is k_st and k_r is k_rs for the system of questions (18) and (19)
110
Table A3. XML input file structure for running RSE
XML tags Description
Reaction Set Name of the reaction set to be used during the simulation.
The reaction set contains information about stores,
variables, parameters and equations.
Coverage Coverage of the parameters. In TaRSE, parameters can be
used by a single cell or for all the 2D mesh. In RSE, only the
coverage over the entire domain is availaboratoryle.
Stores The different stores to be used are defined here.
Components This tag contains all the variables (mobile or stabile) and
parameters needed during the simulation, including 22
variables. Values for each variable and parameter have to
be declared, but they won't be read from here as input data
for RSE. A text file (.iwq) contains the variables to be used
along with their corresponding values.
Equations Equations to be used in the simulation are declared here.
See Table A1 for details.
Table A4. Example of the *.iwq file structure for running RSE in TRFEM.
2
'wq_input_base.xm 'component_output_base.xm 'rsl'
1 water_column_p 100
1 settled_p 0
2ku0.1 k r0.05
0
depth 2.2 x vel ol 0 time step 3600 area 0
Table A5. Description of the *.iwq input file used to test the TRRSE and TRT split
operator programs.
2
'wq_input_base.xm 'component_output_base.xm 'rsl'
1 water_column_p 100
0 settled_p 0
1 k1 0.1
0
depth 2.2 x vel ol 0 time step 3600 area 0
Table A6. Description of the *.iwq file when the fully coupled finite element method is
used to simulate the transport and reaction of a pollutant in surface runoff.
2
25 0.5 .01 0.0
Table A7. Description of the *.iwq file when the TRT_RSE module is used to simulate
the transport and reaction of a pollutant in surface runoff.
3
'sample.xml' 'sample_index_out.xml' 'rsl'
1 water_column_p 100 0.1 2.08E9 0
1 porewater_p 0
2k st 0.1 k rs 0.016
0
Table A8. Description of the water quality input file sampleBr.iwq
3
'YuGao.xml' 'component_output_YuGao.xml' 'rs1'
1 water_column_p 103 0.03 2.08E9 0
1 porewater_p 0
5 er .3E6 h 0.000257 inf 0.000011681 de 0.3 alpha 0.9
0
Table A9. Hydrological input factors used by VFMSODW to simulate the mass water
balance of outflow runoff and infiltrated water.
Hydrological input (units)
FWIDTH (m)
VL(m)
RNA*(sm1/3)
SOA* (m/m)
VKS* (ms1)
SAV* (m)
OS (m3m3)
SHCK ()
Value
0.402
1.52
0.0101676
0.0204230
1.18646X105
0.116654
0.453
0
* Optimized values.
Description
Effective flow width of the strip
Length in the direction of the flow
Filter Manning's roughness n for each
segment
Filter slope for each segment
Soil vertical saturated hydraulic
conductivity in the VFS
GreenAmpt's average suction at
wetting front
Saturated soil water content, Os
Relative distance from the upper filter
edge where check for ponding
conditions is made (i.e., 1 = end, 0.5 =
midpoint, 0 = beginning)
112
Table A10. Hydrological parameters used in VFDSMODW for A070706R2 event.
Parameter (units) Value Description
FWIDTH (m) 1.5 Effective flow width of the strip
VL (m) 4.39 Length in the direction of the flow
RNA(sm1/3) 0.048 Filter Manning's roughness n for each
segment
SOA (m/m) 0.018 Filter slope for each segment
VKS* (ms') 0.00004074 Soil vertical saturated hydraulic
conductivity in the VFS
SAV (m) 0.1 GreenAmpt's average suction at
wetting front
OS (m33) 0.45 Saturated soil water content, es
01 (m3 3) 0.4164 Initial soil water content
SM (m) 0 Maximum surface storage
SHCK () 0 Relative distance from the upper filter
edge where check for ponding
conditions is made (i.e., 1 = end, 0.5 =
midpoint, 0 = beginning)
Table A11. Apatite dissolution parameters used in VFDSMODW for A070706R2 event.
Parameter (units) Value Description
Ka (moles m2 S1) 6.91X108 Dissolution rate constant
n dimensionlesss) 0.823 Reaction Order
SSACFA(m2 g1) 0.1066 Specific surface area of CFA
pH dimensionlesss) 6.1 Potential of Hydrogen
Pb (g cm3) 1.38 Soil bulk density
q (cm3 cm3) 0.47 Porosity
Table A12. Description of the water quality input file Bartow070706R2.iwq
3
'Bartow.xml' 'component_output_Bartow.xml' 'rs1'
1 water_column_p 0.38 0.045 8.4E10
0 porewater_p 0
6 Ka 6.91E8 n 0.823 SSA 0.01066 pH 6.1 db 1.38 POR 0.47
0
113
Analytical Solutions
Input Pollutant Concentration as a Pulse and Continuous Without Reactive Term.
Governing equation:
aC 02C ac
t = D x 2 v
at 9x2 ax
Initial and boundary conditions
C(x,O)=Ci=O
Co O
C(0,t)= 
0 t>to
aC
(oo, t)= 0
ax
Analytical solution:
For 0
C(x, t) = Ci + (Co Ci) A(x, t)
For t>to
C(x, t) = Ci + (Co C,) A(x, t) CoA(x, t to)
where
x1 vt 1 vx +t vt
A(x, t) = erfc j exp () erfc [
NOTE: For continuous input of pollutant, make to equal to time of simulation.
114
Input Pollutant as a Function of Time Without Reactive Term.
Governing equation:
aC 02C ac
t = D x 2 v x
Initial and boundary conditions
C(x,O)=Ci=O
C(0,t)=Ca + Cb et
with Ca=80, Cb=30 and X=1
ac
(o, t) = 0
ax
Analytical solution:
C(x, t) = Ci + (Ca Ci) A(x, t) + CbB(x, t)
where
1 r x vt 1 vx xvt
A(x,t) = erfc + 2 exp () erfc x2
2 2(Dt)1/2 2 Dp f 2(Dt)1/2]
( l ( u)x r [ t + 1 (v + u)xl r x + Ut _
(x, t) = e exp erfc ( ex) erfc
2 2D 2(Dt)1/2 2 2D (Dt)/2
And with
u=v 14D
v2
115
Input Pollutant Concentration as a Pulse and Continuous with Reactive Term.
Governing equation:
ac a2C ac
=D VyC+y
at ax2 ax
ac
(o, t) = 0
ax
Analytical solution:
For 0
C(x, t) = + (C, 
A(x,t)+ (Co
with [L=0.1 and y=0
) B(x,t)
For t>to
C(x, t) Y+ C,
c~x~^P+ i P
A(x,t)+ (Co
B (x,t) CB(x,t to)
where
A(x,t) = exp(pt) 1l
1 x t 1 /v\ r x+vt.
 erfc exp erfc
2 2(Dt)1/22 rL [2(Dt)1/2Ii
1 (v u)x x ut 1 (v + u)x x + ut
B(x, t) = exp erfc [_ + t exp erfc
2 2D c [2(Dt)1/2 2 2D erf2(Dt)/2
and
T 4uD 21
u=v 1+4D
v2 i
NOTE: For continuous input of pollutant, make to equal to time of simulation.
116
Input Pollutant as a Function of Time with Reactive Term.
Governing equation:
ac a2c ac
D a v lC +y
at 9X2 ax
Initial and boundary conditions
C(x,0)=Ci=O
C(0,t)=Ca + Cb et
ac
8C
(o, t) = 0
ax
Analytical solution:
C(x,t) = + C 
where
A(x,t) = exp(pt) 1
with [L=0.1 and y=0
with Ca=80, Cb=30 and X=1
A(x, t) + (C ) B(x, t) + CbE(x, t)
A~x~) + aIt
1 x vt 1 /vx\ +r xvtl
erfc exp erc I
2 2(Dt)1/22 1rL [2(Dt)1/21
1 (v u)x x ut 1 (v + u)x x + ut
B(x, t) = exp erlfc + exp erfc
2 2D 2(Dt)1/2 2 2D ] erf [2(Dt)1/2j
e (vw)x rxwt 1 ](v +w)x] r x+wt]1
(x,t) = e exp erfc [ t+exp +w)x er fc
2 2D 2(Dt)1/2 2 2 2(Dt) 1/2
And with
u=v (l+ )
V2
1
w 4D 2 )
w v V2 2 A)
RSE Reactive Module Testing
The RSE testing included the example provided by James (2008b) for a
hypothetical simple uptakerelease process and, the solution of a system of ODE with
an analytical solution.
James (2008b) shows the flexibility of TaRSE with an uptakerelease model
flowing the example shown in Figure 13, but with the next system of equations:
dCp krs
dt = kst C + z S (A1)
dt Zd
dSP
dt = ZdkstCp krs Sp (A2)
where Cp represents the phosphorus in the water column (water_column_p), Sp
(settled_p), two reaction coefficients kst and krs, and Zd is the water depth.
Implementation of the XML input interface is given in Table A2:
The values used to start the simulation were: Cp: 10 mg/l, SP: 5mg/m2, kst: 0.0001
s', krs:0.000043s', depth: 2.2 m and, time step: 3600 s. The total time of the simulation
was 36000 s.
Since no analytical solution was found to test this system of equations (eq. A1
and A2), the solution was compared with the results obtained using Matlab (ODE4) and
a fourth order RungeKutta method implemented in a spreadsheet.
A simultaneous system of equations that solves the second order ODE
d2y
2 y =0 (A3)
dx2
is used to test RSE. This equation can be solved with the analytical solution
y=sinh(x). The two first order ODE that help us to solve Eq (A3) are:
118
dz
= y (A4)
dx
dy
= z (A5)
dx
With the initial conditions y(0)=0, z(0)= d = 0. The time of the simulation was
set to 10 dimensionlesss) with dx=1.
The Reaction Simulation Engine was first tested as a standalone program before
being coupled to the transport module of TRFEM. In the first scenario, a system of two
ODE which describe the uptakerelease of a pollutant from the water column to the soil
is solved using RSE. In a second scenario, RSE solves a simple system of two ODE
(which solves a second order ODE). Details of each scenario can be seen previous
section. Results of the simulations are shown in Figures A1 and A2.
20 20
18 18
S16 16
144E
S14 / wcP RSE 14 )
C sP RSE C
o 12 wcP Matlab 12 u
sP Matlab o
10 wcP RK4 in spread sheet 10
sP RK4 in spread sheet
S 8 8 0
o 0
C 6 6
4 4
2 i i i 2
0 10000 20000 30000 40000
time, sec
Figure A1. Comparison of a adsorptiondesorption process in a arbitrary node/cell
using three different methods: RSE, Matlaboratory (ODE4) and RK4 in MS
excel. The maximum difference among them was of the order of 7.6E8 mg/I
for wcP and 1.8E7 mg/I for SP. Simulation was run up to t=36000 seconds.
119
12000
10000
8000
Analytical
6000 O RK4 in MS Excel
y A RSE
+ Matlab (ODE4)
4000
2000
0 2 4 6 8 10 12
x
X
Figure A2. Comparison of different RK4 methods (MS Excel, RSE, Matlaboratory
[ODE4]) to solve the system of ODE equations dz/dx=y; dy/dx=z with the
initial conditions y(0)=0 and z(0)=1. The analytical solution y=sinh(x) comes
from solving the partial differential equation dYy=O with initial condition
dX2
y(0)=0; = 1 = z(0) at x=0. The NashSutcliffe efficient coefficient was
0.9984 for the three methods when compared to the analytical solution.
120
Water Quality Input File Structure for VFSMOD
The water quality input file (*.iwq) of VFSMOD has been modified to accept three
options: 1) Pesticides based on the empirical equation provided by Sabbagh et al.
(2009), which is already included in the current version of the program, 2) The transport
of a soluble pollutant with a first order decay kinetics using a the fully coupled finite
element method TRFEM and, 3) The transport and reaction of pollutants using the
flexible module TRT. The input file structure for options 2 and 3 is detailed next. Since
the first option is already included in VFSMODW and is beyond the scope of this work,
it is not depicted. For further information consult the help menu of the program.
Water quality input file structure using the fully coupled finite element method TR
FEM. This option allows the user to estimate the transport and reaction of a pollutant in
runoff based on Eq. (28). This equation includes the effect of pollutant dilution by rain
and is solved using a fully coupled finite element method. The TRFEM module is
nothing else than the transport module of TRRSE. In this module, the reactivity of the
pollutant is limited to a first order decay kinetics (kiC). Estimation of the pollutant
porewater concentration when using this option or other interaction in runoff is not
possible. When TRRSE is used, the decay can be set to coefficient kl is set to zero so
only the pollutant is though the domain without any reaction.
The *.iwq input file is written in plain text format and contains two lines. In the first
line, number 2 indicates that Option 2, fully coupled finite element method, is selected.
In the second line te program reads the next four parameters: Soluble pollutant
concentration (g/cm3), longitudinal dispersion coefficient DISL (m), molecular diffusion
coefficient DISM (m2/s) and the first order decay coefficient ki (s1). See Table A6 for
details.
Water quality input file structure using the split operator module TRT. This option
allows the user to estimate the transport and reaction of a pollutant in runoff using the
flexible module TRT, which has been described in this work. The *.iwq input file
contains the next elements:
* In line 1, the number 3 indicates that Option 3, the TRT flexible module is selected,
* Line 2 has three elements: 1) The name of the XML input file where the mobile,
stabiles, parameters, variables and equations are defined, 2) the name of the XML
file where the order of the indexes is printed for those parameters defined in the
XML input file (currently this file is not needed but produced as a way to
corroborate data), and 3) The name of the reaction set of equations to be used be
the reactive module of TRT by reading the XML input file.
* The first number of line 3 defines the number of mobile components (i.e. soluble
phosphorus) followed by its name, concentration, longitudinal dispersivity,
molecular diffusion coefficient and a first order decay coefficient.
* Line four defines the number of stabile components (i.e. soluble phosphorus
concentration in porewater), followed by its name and initial concentration in the
domain.
* Line five defines the parameters and variables used in the reactions set of
equations of the XML input file. The first number indicates the number of
parameters/variables, followed by pair indicating the name and value.
* The last line is a flag (set to zero) to indicate that the runoff depth, velocity, and
time step are taken from VFSMOD.
Detailed information about the XML input file can be found in James (2008b, c, a).
The key part of the XML input file is the set of equations to be used for the reactive
part of the TRT module. The name of the mobile and stabile compounds and the
variables and parameters used in the equations are defined in the *.iwq file. The
program crashes if a variable used in the XML input files has not been defined in the
*.iwq file. Table A7 shows an example of the *iwq input file with one mobile component,
one stabile component and two variables.
122
Some parts of the information in the XML input file may never be used by RSE, but
the structure of the file needs to keep all the information in order to ensure compatibility
with the way TaRSE reads it. If some information is omitted, a crash is expected to
happen. In order to deal with this problem, a second file (*.iwq) is needed when RSE is
linked to TRFEM to input the values of the variables and parameters to be used. Table
A4 shows an example of the input file needed to describe the system of equations
shown in Table A2.
The description of the *.iwq input file is as follows: the first line is a flag for
VFSMOD (Table A4). The second line has the name of the xml input file (with the
structured described in Table A3), the name of the xml output file generated by RSE to
double check the order of the variables and parameters used (this file is not needed to
run the program, but is useful for checking internal values of the program during the
testing stages), and the name of the reaction set section declared in the xml input file
(See Table A3). In line 3, the first number indicates the number of mobile variables to
be used, followed by the name(s) and its valuess. Line 4 is the same as line 3, but for
stabile components. Line 5 contains the number of parameters to be used, which match
with the parameters) declared in the reactions) (see Table A2) and the respective
valuess. Line 6 is a flag to read the four intrinsic parameters declared in line 7. If the
flag is 0, line 7 is not read. If the flag is 1, then it proceeds to read line 7.
123
Water Quality Project for Bromide Simulation in VFSMOD
Project File (sampleBrOKO.prj)
ikw=inputs\sampleBrOKO.ikw
iso=inputs\sampleBrOKO. iso
igr=inputs\sampleBrOKO. igr
isd=inputs\sampleBrOKO. isd
irn=inputs\sampleBrOKO. irn
iro=inputs\sampleBrO KO. iro
iwq=inputs\sampleBrOKO. iwq
og 1 =output\sampleBrOKO. ogl
og2=output\sampleBrOKO.og2
ohy=output\sampleBrOKO. ohy
osm=output\sampleBrOKO. osm
osp=output\sampleBrOKO. osp
owq=output\sampleBrOKO. owq
IKW Input File (sampleBrOKO.ikw)
Unit9, g8, u18391
0.402
1.52 57 .5 .8 350 3 1 1
2
1.2 .0101676 .020423
1.52 .0101676 .020423
1
ISO Input File (sampleBrOKO.iso)
.0000118646 .116654 .453 .43 0 0
Ks(m/s) Sav(m) Thetas Thetai Sm(m) Schk(ponding ck)
IGR Input File (sampleBrOKO.igr)
2.2 .011 .001 .011 0
SS(cm) Vn(s/cm^l/3) H(cm) Vn2(s/mA1/3) ICO(0 or 1)
124
ISD Input File (sampleBrOKO.isd)
1 .01 .000001
.0023 2.6
.434 Npart, Coarse, Ci(g/cm3), Por
Dp(cm), SG(g/cm3)
IRN Input File (sampleBrOKO.irn)
22 0.000017817
0 .000017817
299.9 .000017817
599.8 .000017817
900 .000017817
1200 .000017817
1500 .000017817
1800 .000017817
2100 .000017817
2400 .000017817
2700 .000017817
3001 .000017817
4500 .000017817
6000 .000017817
6800 .000017817
7500 .000017817
8200 .000017817
9000 .000017817
10500 .000017817
11300 .000017817
13000 .000017817
13002 0
13603 0
Nrain, rpeak (m/s)
IRO Input File (sampleBrOKO.iro)
.402 1 Swidth(m), Slength(m)
7 0.00005 nbcroff, bcropeak(m3/s)
0 .000005
3600 .000005
7200 .000005
10800 .000005
13000 .000005
13002 0
13603 0
125
IWQ Input File (sampleBrOKO.iwq)
3
'YuGao.xml' 'component_output_YuGao.xml' 'rs1'
1 water_column_p 103 0.045 2.08E9 0
1 porewater_p 0
5 er .25E6 h 0.000277 inf 0.0000118646 de 0.05 alpha .1475
0
depth 2.2 x_vel_ol 0 time_step 3600 area 0
126
Water Quality Project for Phosphorus Simulation in VFSMOD
Project File (Bartow070706R2.prj)
ikw=inputs\Bartow070706R2. ikw
iso=inputs\Bartow070706R2. iso
igr=inputs\Bartow070706R2. igr
isd=inputs\Bartow070706R2. isd
irn=inputs\Bartow070706R2. irn
iro=inputs\Bartow070706R2. iro
iwq=inputs\Bartow070706R2. iwq
og1 =output\Bartow070706R2. og1
og2=output\Bartow070706R2. og2
ohy=output\Bartow070706R2. ohy
osm=output\Bartow070706R2.osm
osp=output\Bartow070706R2.osp
owq= output\Bartow070706R2. owq
IKW Input File (Bartow070706R2.ikw)
Unit9, g8, u18391
1.5
4.39 57 .5 .8 350 3 1 1
1
4.39 .048898 .018
1
ISO Input File (Bartow070706R2.iso)
0.00004074258667 0.10000000 0.450000 0.416463 0.000000 0.000000
Ks(m/s) Sav(m) Thetas Thetai Sm(m) Schk(ponding ck)
IGR Input File (Bartow070706R2.igr)
5.14 0.013 15.00 0.021 0
SS(cm) Vn(s/cm^l/3) H(cm) Vn2(s/mA1/3) ICO(0 or 1)
ISD Input File (Bartow070706R2.isd)
7 0.01 0.001 0.450 NPART, COARSE, Cl(g/cm3), POR
0.0022 2.59 DP(cm), SG(g/cm3)
IRN Input File (Bartow070706R2.irn)
6 2.7400e05
0.0000e+00
1.2000e+02
2.4000e+02
3.6000e+02
4.8000e+02
6.0000e+02
7.2000e+02
8.4000e+02
9.6000e+02
1.0800e+03
1.2000e+03
1.3200e+03
1.4400e+03
1.5600e+03
1.6800e+03
1.8000e+03
1.9200e+03
2.0400e+03
2.1600e+03
2.2800e+03
2.4000e+03
2.5200e+03
2.6400e+03
2.7600e+03
2.8800e+03
2.8220e+03
0.0000e+00
9.7900e07
9.7900e07
0.0000e+00
1.9600e06
2.9400e06
5.8800e06
2.0600e05
2.5500e05
2.7400e05
2.3500e05
2.2500e05
2.3500e05
2.0600e05
1.5700e05
1.3700e05
1.3700e05
8.8200e06
2.9400e06
2.9400e06
1.9600e06
9.7900e07
9.7900e07
9.7900e07
0.0000e+00
0.0000e+00
IWQ Input File (Bartow070706R2.iwq)
'Bartow.xml' 'component_output_Bartow.xml' 'rsl'
1 water_column_p 0.38 0.1 8.4E10 0.0
0 porewater_p 0
7 Ka 6.91E8 n 0.823 SSA 0.01066 pH 6.1 db 1.38 POR 0.47 CHK 1
0
128
IRO Input File (Bartow070706R2.iro)
3.3 14.4 Swidth(m), Slength(m)
33 0.000277155 nbcroff, bcropeak(m3/s)
960 0
1020 .0000233
1080 .0002231
1140 .00027716
1200 .00019946
1260 .00014808
1320 .00015425
1380 .00021714
1440 .00021262
1500 .00018775
1560 .00019885
1620 .00010019
1680 .0000352
1740 .0000277
1800 .0000233
1860 .0000217
1920 .0000137
1980 .0000124
2040 .0000108
2100 .0000106
2160 .0000101
2220 .00000941
2280 .00000877
2340 .00000827
2400 .00000752
2460 .00000703
2520 .00000655
2580 .00000318
2640 .00000139
2700 .000000929
2760 .000000692
2820 .000000349
2880 0
129
XML Input File used to Test RSE (Analytical Testing: Scenario I).
all 
all
location="element" section n="gw" actuator="rsm_wm">
surface water
water_column_p
10.0
gw_p
10.0
settled_p
8.3
lo ngitudinal_dispersivity
10.0
transverse_dispersivity
10.0
molecular diffusion
0.00001
surface_porosity
1.0
subsurface_longitudinal_dispersivity
10.0
subsurface_transverse_dispersivity
130
XML Input File used to Test RSE (scenario I)...continued
10.0
subsurface molecular diffusion
0.00001
subsurface_porosity
1.0
k st
0.0
k rs
0.0
water_column_p
gw_p
water_column_p
k_st*water_column_p + k_rs*settled_p/depth
settled_p
depth*k_st*water_column_p k_rs*settled_p
XML Input File used to Test TRT and TRRSE for Linear Decay Kinetics.
all 
all
location="element" section n="gw" actuator="rsm_wm">
surface water
water_column_p
10.0
lo ngitudinal_dispersivity
10.0
transverse_dispersivity
10.0
molecular diffusion
0.00001
surface_porosity
1.0
subsurface_longitudinal_dispersivity
10.0
subsurface_transverse_dispersivity
10.0
subsurface molecular diffusion
0.00001
subsurface_porosity
132
XML Input File Used to Test TRT and TRRSE for Linear Decay Kinetics..continued
1.0
k st
0.0
k rs
0.0
water_column_p
k_st*water_column_p
133
YuGao.xml Water Quality Input File.
all 
all
location="element" section n="gw" actuator="rsm_wm">
surface water
water_column_p
10.0
porewater_p
8.3
lo ngitudinal_dispersivity
10.0
transverse_dispersivity
10.0
molecular diffusion
0.00001
surface_porosity
1.0
subsurface_longitudinal_dispersivity
10.0
subsurface_transverse_dispersivity
10.0
subsurface molecular diffusion
134
YuGao.xml Water Quality Input File... continued
0.00001
subsurface_porosity
1.0
er
0.0
inf
0.0
h
0.0
de
alpha
all 
all
location="element" section n="gw" actuator="rsm_wm">
surface water
water_column_p
10.0
lo ngitudinal_dispersivity
10.0
transverse_dispersivity
10.0
molecular diffusion
0.00001
surface_porosity
1.0
subsurface_longitudinal_dispersivity
10.0
subsurface_transverse_dispersivity
10.0
subsurface molecular diffusion
0.00001
subsurface_porosity
136
Bartow.xml water quality input file... continued
1.0
TSED
FSED
CSED
SEDVFS
1.0
FPl
1.0
HRO
1.0
Ka
0.0
n
0.0
SSA
pH
db
Bartow.xml water quality input file... continued
POR
C C
C h=0; 0 <=x<= L; t <=0 C
C h=ho; x=0 ;t>0 C
C C
C where ho can be 0, a constant or a time dependent function. C
C C
C The numerical method is based on a N+2 upwinding PetrovGalerkin C
C finite element method approximation for the spacial derivatives C
C and a time weighting finite difference approximation for the time C
C derivatives. C
C C
C The nonlinearity of the equation {q=q(h)} is taken care of using C
C the Picard iterative scheme inside every time step lagging 2/3 of C
C the power of h in q ,[5/3 = 2/3(m)+1 (m+1)] for the iteration level C
C m, such as: C
C m+1 m C
C [A] {h} = {b(h)} C
C C
C In this program the core of the time step solution is taken care C
C of following this steps: C
C C
C 1 Form the system matrix [A] of constant coefficients C
C 2 Perfom LUD decomposition over this matrix [A] C
C 3 Form the system matrix [BM] of constant coefficients C
C 4 Form r.h.s of equation (vector {b}=[BM]{xo} for each time step) C
C 5solve for [A],{b} to get a {x} for that time step C
C 6 Repeat 4 & 5 until convergence of that time step C
C 7 Repeat 3 & 6 until completion of desired number of time steps C
C C
C The ie(t) term of the continuity equation is calculated for each C
149
time step by the extention of the GreenAmpt method as proposed by
Mein& Larson, (1967) and Chu (1975), C
C
The overland flow solution is linked to a submodel to calculate C
sediment transport on a grass filter. The information from the C
submodel is used to assemble the vector {b} during the procedure C
described above. C
The sediment filtration is based on the method proposed by: C
C 1. Tollner et al. (1976). "Suspended sediment filtration capacity of C
C simulated vegetation". Trans. ASAE. 19(4):698682. C
C 2. Tollner et al. (1977). "Sediment deposition patterns in simulated C
C grass filters". Trans. ASAE. 20(5):940944. C
C 3. Barfield et. al (1979)"Filtration of sediment by simulated vegetation C
C I. Trans. ASAE, 22(3):540548. C
C 4. Hayes et. al (1979)"Filtration of sediment by simulated vegetationll" C
C Trans. ASAE, 22(5):10631067 C
C 5. Hayes et. al (1984)"Performance of grass filters under laboratory and C
C field Conditions".Trans. ASAE, 27(5):13211331, to account for C
C triangular upslope deposition and particle and size distribution C
C 6. Wilson et al (1981)"A Hydrology and sedimentology model: Part I. C
C Modeling techniques. U.of Kentucky. Lexington. This is a major C
C rewrite of the procedures involved. C
C 7. Haan et al (1994)"Design Hydrology and Sedimentology for Small C
C Catchments". PrenticeHall. Chapter 9C contains updated and clearly C
C presented procedures for sediment trapping and wedge formation C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C C
C SUBROUTINES BY ORDER OF APPAREANCE C
C C
C INI, INPUTS,QUAD, FORMA, SHAPEF, ASSM, BCA, FORMB, MODIFY, FACTOR, C
C SOLVE, FLOW, UPDATE, CONVER, KWWRITE, GASUB, OUTMASS, GRASSED, C
C GRASSIN, OCF, EINSTEIN, STEP, POINTS C
C C
C DEFINITION OF GLOBAL VARIABLES FOR OVERLAND FLOW SOLUTION C
C C
C A(I,J)= SYSTEM MATRIX, SQUARE OF DIMENSIONS NxN, ie. [A] C
C B(I)= RIGHT HAND SIDE VECTOR OF DIMENSIONS 1xN, ie {b} C
C DPSI(L)= DERIVATIVE OF BASIS FUNCTIONS C
C DR= DURATION OF THE RAINFALL (s) C
C DT = INCREMENT OF TIME (s) C
C DX= SPACE STEP (m) C
C MAXITER= MAXIMUM NUMBER OF ITERATIONS ALLOWED C
C MFLAG= CONVERGENCE FLAG (0, NO CONVERGENCE; 1, CONVERGENCE) C
C N=ACTUAL NUMBER OF NODES IN THE DOMAIN C
C NDT = NUMBER OF TIME STEPS C
C NELEM= ACTUAL NUMBER OF ELEMENTS IN THE DOMAIN C
C NL= ORDER OF THE INTEGRATION RULE OVER EACH ELEMENT C
C NMAX= MAXIMUM NUMBER OF EQUATIONS AND VARIABLES THAT CAN BE SOLVED C
C NPOL=NUMBER OF NODAL POINTS OVER EACH ELEMENT (POLYNOMIAL DEG +1) C
C OUT= 0, print values at the downstream end of the plane (hydrograph) C
C 1, Print values for all nodes at each time step C
C QK(MAXEQN)= NODAL ALPHA IN MANNING'S UNIFORM FLOW EQUATION C
C R= Lateral inflow (m/s) C
C RN = MANNING'S ROUGHNESS COEFFICIENT C
C SO = SLOPE OF THE ELEMENT C
C SR= DURATION OF THE SIMULATION (s) C
C THETAW= TIMEWEIGHT FACTOR C
C VL= LENGTH OF THE PLANE (m) C
C W(L) = GAUSS QUADRATURE WEIGHTS C
C X(I)= SOLUTION VECTOR, DIMENSION 1xN, AT TIME STEP L+1 C
C XI(L)= GAUSS QUADRATURE POINT C
C XM(I)= SOLUTION VECTOR, DIMENSION 1xN, AT ITERATION M, t STEP L+1 C
C XO(I)= SOLUTION VECTOR, DIMENSION 1xN, AT TIME STEP L C
C C
C C
C DEFINITION OF GLOBAL VARIABLES FOR INFILTRATION SOLUTION C
C C
C AGA = GreenAmpt's "A", saturated hydraulic conductivity, Ks (m/s) C
150
C BCROFF(200,2)= Boundary condition at the upstream node (inflow from C
C adjacent field. C
C BGA = GreenAmpt's"B" = Ks*Sav*M (m2/s) C
C CP= Chu's surface condition indicator for ponding at initial time C
C CU= Chu's surface condition indicator for noponding at initial time C
C F= Cumulative infiltration (m) C
C FPI= Instantaneous infiltration rate (m/s) C
C L= rainfall period C
C LO = index to show if time step is in the same rainfall period (LO=L) C
C NPOND= shows ponded (=1) nonponded (=0) surface conditions C
C NEND= Indicates that the end of runoff is reached C
C PS= Cumulative recipitation in m. C
C PSOLD= Cumulative recipitation in m for last rainfall period. C
C PST= Total cumulative recipitation in m. C
C PSI(L) = BASIS FUNCTIONS (QUADRATIC LAGRANGIAN POLYNOMIALS) C
C RAIN(200,2)= Times (s) and rainfall rates (m/s) over the VFS. C
C RO= Cumulative runoff rate at the node (without considering BCRO) C
C SM= Maximum surface storage (m) C
C STO= Cumulative surface storage (m) C
C TP, TPP= Chu's (1978) tp and tp' coefficients C
C TI= time to infiltrate surface ponded water C
C TRAI= Total cumulative rainfall (m) C
C C
C DEFINITION OF VARIABLES FOR SEDIMENT SOLUTION C
C C
C Ss= spacing of the filter media elements (cm) C
C Sc= filter main slope C
C n= Manning's n= 0.0072 for cilindrical media (s/cmAl/3) C
C q= overland flow (cm2/s) C
C df= depth of flow at D(t) (cm) C
C Vm= depth averaged velocity at D(t)(cm/s) C
C Rs= hydraulic radius of the filter (cm) C
C dp= particle size, diameter (cm) C
C gamma, gammas= water and sediment weight density (g/cm3) C
C gs2=gsd: sediment load entering downstream section (g/s/cm) C
C Rss= hydraulic radius of the filter at B(t) (cm) C
C dfs= depth of flow at B(t) (cm) C
C Vms= depth averaged velocity at B(t) (cm/s) C
C Se= equilibrium slope at B(t) C
C f= fraccion trapped in the depodition wedge C
C ico= flag to select feedback to overland flow solution of new slopes C
C and roughness (0=no, 1=yes) C
C coarse= % of particles from incoming sediment with diameter > 0.0037 C
C cm (coarse fraction that will be routed through wedge). C
C C
C NOTE: units in sediment transport calculations are in CGS system C
C (cm,g,s), including Manning's n C
C c
c Change Log: See CHANGES file in source code directory c
C c
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION(AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/GA1/PS,PSOLD,PST,F,RO,TP,TPP,TI,FPI,STO,CU,CP,AGA,BGA,SM
COMMON/GA2/LO,NPOND
COMMON/GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO
COMMON/GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3)
COMMON/GRASSD3/SUSMASS,WEDGEMASS,NFUP
COMMON/OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD
COMMON/FLOWPAR/XO,QO
DIMENSION A(MAXEQN,MAXBND),B(MAXEQN),BO(MAXEQN)
DIMENSION X(MAXEQN),XO(MAXEQN),XM(MAXEQN),QO(MAXEQN),QM(MAXEQN)
DIMENSION PGPAR(4)
DIMENSION BCROFF(200,2),RAIN (200,2),NODEX(4)
CHARACTER*75 LISFIL(13)
CPrint banner, get I/O filenames and open them 
CALL FINPUT(LISFIL,INARGS,ISCR)
CInitialize matrices 
CALL INI(A,B,X,XM,XO,Q0,QM,SSE,NODEX)
CRead inputs for sediment problem
CALL GRASSIN(ICOARSE,COARSE,LISFIL,INARGS)
CGet inputs and parameters for hydrology problem
CALL INPUTS(N,NBAND,NRAIN,RAIN,NBCROFF,BCROFF,TE,QMAX,VL,FWIDTH,
2 SWIDTH,SLENGTH,PGPAR,NCHK,LISFIL,INARGS,ISCR,IWQ)
CGet the Gauss quadrature parameters
CALL QUAD
CAssemble the system matrix A 
CALL FORMA(A,NBAND,PGPAR)
CPerform LU decomposition over A 
CALL FACTOR(A,N,NBAND)
CNumerical time dependent solution
MAXIT=100
TIME=O.DO
RO=0.DO
PS=O.DO
STO= 0.DO
F=0.000001DO
XTOLD=0.DO
YTOLD=0.DO
TOTF=0.dO
NPOND=0
PZERO=1.0d8
NSTART=0
NEND=0
NWRITE=NDT/100
VLCM=VL*100.DO
QTEMP=0.dO
NFUP=0
MMX=0
! added GSO for grassed>step3>SedLoadTRT
SInitializing GSO to 0.0
GSO=0.dO
YT=0.dO
XT=0.dO
SiTRTcount is used if tarse is called.
iTRTcount=1
DO 5 1=1,4
QSED(I)=0.DO
5 CONTINUE
DO 40 LCOUNT=1,NDT
TIME=DT*LCOUNT
C Select the rainfall intensity and interpolate BC (transform into depth (m)) 
C at the first node of system (incoming hydrograph) for each time step.
R=0.DO
DO 10 I=1,NRAIN1
IF(TIME.GT.RAIN(I,1).AND.TIME.LE.RAIN(I+1,1)) L=l
10 CONTINUE
BCRO=0.DO
BCROQ=0.DO
152
DO 15 I=1,NBCROFF1
IF(TIME.GT.BCROFF(l,1).AND.TIME.LE.BCROFF(l+1,1)) THEN
BCROQ=(TIMEBCROFF(l,1))/(BCROFF(I+1,1)BCROFF(I,1))*
(BCROFF(I+1,2)BCROFF(1,2))+BCROFF(1,2)
BCRO=((BCROQ/FWIDTH)/QK(1))**(3.D0/5.DO)
ENDIF
15 CONTINUE
C Get effective rainfall and control execution of overland flow
C for an infiltrating surface by calling GreenAmpt model. The 
C assumption is that when a certain node (nchk) is flooded, i.e. 
C x(nchk)>0, all the surface will be flooded, and thus the max. 
C infiltration capacity for the rest of the event is selected 
Cas given by the GreenAmpt model. NCHK is selected by the user.
IF(X(NCHK).GT.PZERO)NPOND=1
IF(BCRO.EQ.O.DO.AND.X(NCHK).EQ.O.DO.AND.NSTART.EQ.1)NEND=1
Cconsider infiltration for infiltrating plane (mod for thetai>porosity 05/2003)
IF(AGA.GT.0.DO)THEN
Cchange to consider infiltration only when rainfall occurs 
C IF(AGA.GT.0.DO.AND.R.GT.0.0000E+00)THEN
Cend of change 
CALL GASUB(TIME,DT,L,R,RAIN,NEND,TRAI)
ELSE
R=RAIN(L,2)
TRAI=TRAI+DT*(R+ROLD)*0.5DO
ROLD=R
ENDIF
IF(R.LE.0.DO.AND.BCRO.EQ.0.DO.AND.X(NCHK).EQ.0.DO)NSTART=0
IF(R.GT.0.DO.OR.BCRO.GT.0.DO)NSTART=1
CForm of r.h.s vector for that time step 
CALL FORMB(B0,XO,Q0,N,BCRO,PGPAR)
CStart Picard iteration
M=0
MFLAG=0
IF(NSTART.EQ.0)MFLAG=1
DO 20 WHILE (M.LT.MAXITER.AND.MFLAG.EQ.0)
M= M+1
CUpdate {b} = {bm}  
CALL UPDATE(N,BO,B)
CALL MODIFY(QM,B,BCRO,PGPAR)
CFeed the vector to the solver
CALL SOLVE(A,B,X,N,NBAND)
CCheck for convergence
CALL CONVER(N,X,XM,MFLAG)
CUpdate Xm = X m+1  
CALL UPDATE(N,X,XM)
C Find flow component at iteration step
CALL FLOW(N,X,QM)
20 CONTINUE
CUpdate h and q for next time level 
CALL UPDATE(N,X,XO)
CALL FLOW(N,X,Q0)
153
CDo the following only 100 times, each time using the 
Caverage flow of the last NWRITE values in between 
Ca) Call sediment transport subroutine if there is inflow
C (change units from q(m2/s)>qsed(cm2/s))
Cb) Write outputs to files  
QTEMP=QTEMP+QO(N)
DO 25 J=1,3
ND=NODEX(J)
QSED(J)=QSED(J)+QO(ND)
25 CONTINUE
DO 30 1=1,100
IF(LCOUNT.EQ.I*NWRITE) THEN
QTEMP=QTEMP/NWRITE
DO 27 J=1,3
QSED(J)=QSED(J)/NWRITE*10000.DO
IF(QSED(J).LT.0.DO)QSED(J)=DABS(QSED(J))
27 CONTINUE
QSED(4)=QTEMP*10000.DO
QIN=QK(1 )*BCRO**(5.D0/3.DO)*10000.DO
QOUT=QO(N)
IF(BCRO.NE.0.DO) THEN
CALL GRASSED(TIME,N,QIN,QOUT,NODEX,
ICOARSE,COARSE,FWIDTH,ISCR,GSO)
ENDIF
TOLD=TIME
CALL KWWRITE(N,LCOUNT,M,QTEMP,X,BCROQ,FWIDTH)
QTEMP=0.DO
DO 28 J=1,4
QSED(J)=0.DO
28 CONTINUE
ENDIF
30 CONTINUE
IF (IWQ.EQ.1)then
FPI=1*(RRAIN(L,2))
rainWQ=RAIN(L,2)
if (QO(1).GT.0) then
call WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,FPI,RAINWQ)
MMX=1
else
if (MMX.EQ.1)
Scall WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,FPI,RAINWQ)
end if
END IF
NNWRITE=NDT/5
DO 50 lp=1,5
IF(LCOUNT.EQ.lp*NNWRITE) THEN
iprogress=20*lp
print *,"Progress: progressess,''
END IF
50 CONTINUE
40 CONTINUE
CWrite a summary of results at the end of the run 
CALL OUTMASS(VL, FWIDTH,SWI DTH,SLENGTH,TRAI,LISFI L,ISCR,IWQ)
CLOSE(1)
CLOSE(2)
CLOSE(3)
CLOSE(7)
CLOSE(8)
CLOSE(9)
154
CLOSE(1 0)
CLOSE(11)
CLOSE(12)
CLOSE(13)
CLOSE(14)
CLOSE(15)
CLOSE(16)
CLOSE(17)
CLOSE(18)
STOP
END
Subroutine FEMADR(iTRTcount,LCOUNT,TIME,lisfil,NBAND,N, FPI,rainWQ)
!From wqsub.f call FEMADR(iTRTcount,LCOUNT,TIME,LISFIL,NBAND,N,FPI)
c FEMADR.f
c
c FUNCTIONS:
c FEMADR Entry point of console application.
c
c************************************************************************
c
c PROGRAM: FEMADR
c
c PURPOSE: Entry point forthe console application.
c
c************************************* *******************
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
C WRITTEN BY: Rafael Munoz Carpena/ Graduate Student/ BAE/ NCSU C
C WRITTEN FOR: ENVR281/Dr. Miller/ UNCChapel Hill/Spring 1991 C
C C
C This program solves the Linear AdvectiveDispersiveReactive C
C transport equation (ADR) forthe ID case and no=1: C
C dC/dt = Dx d2C/dx Vx dC/dx k1 C C
C It uses a finite element approximation for the spacial derivatives C
C and the variable timeweighting method for the temporal derivative C
C approximation. C
C In this program the core of the time step solution is taken care C
C of following this steps: C
C 1 Form the system matrix [A] of constant coefficients C
C 2 Perfom LUD decomposition over this matrix [A] C
C 3 Form the system matrix [BM] of constant coefficients C
C 4 Form r.h.s of equation (vector {b}=[BM]{XO} for each time step C
C 5 solve for [A],{b} to get a {x} for that time step C
C 6 Repeat 4 & 5 until completion of desired number of time steps C
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
C DEFINITION OF GLOBAL VARIABLES  C
C NMAX= MAXIMUM NUMBER OF EQUATIONS AND VARIABLES THAT CAN BE SOLVED C
C NELEM= ACTUAL NUMBER OF ELEMENTS IN THE DOMAIN C
C N=ACTUAL NUMBER OF NODES IN THE DOMAIN C
C NL= ORDER OF THE INTEGRATION RULE OVER EACH ELEMENT C
C NPOL=NUMBER OF NODAL POINTS OVER EACH ELEMENT (POLYNOMIAL DEG +1) C
C C
C ******** NOTE: DEGREE OF FCT<= 2NL 1 ********** C
C A(I,J)= SYSTEM MATRIX, SQUARE OF DIMENSIONS NxN, ie. [A] C
C B(I)= RIGHT HAND SIDE VECTOR OF DIMENSIONS IxN ie {b} C
C X(I)= SOLUTION VECTOR, DIMENSION IxN, AT TIME STEP L+I C
C VX = VELOCITY C
C DIS = HYDRODYNAMIC DISPERSION COEFFICIENT C
C DISL= LONGITUDINAL DISPERSIVITY C
C DISM= MOLECURAR DIFUSION CONSTANT C
C THETAW= TIMEWEIGHT FACTOR C
C CKI = REACTION COEFFICIENT C
C DT = INCREMENT OF TIME C
C NDT = NUMBER OF TIME STEPS C
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
PARAMETER (MAXEQN=1001 ,MAXBND=40)
155
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/WQ1/VKD,CCP,IWQPRO
COMMON/RSE3/Atrt,Atrt2,Atr3,BMtrt,BMtrt2,BMtrt3,Btrt,Btrt2,Btrt3
CHARACTER*75 LISFIL(1 3)
DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND) ,Btrt(MAXEQN)
DIMENSION Atrt2(MAXEQN,MAXBND),BMtrt2(MAXEQN,MAXBND),Btrt2(MAXEQN)
DIMENSION Atrt3(MAXEQN,MAXBND),BMtrt3(MAXEQN,MAXBND),Btrt3(MAXEQN)
DIMENSION Xtrt(MAXEQN) ,XOtrt(MAXEQN)
DIMENSION Xvfs(MAXEQN)
DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN)
DIMENSION STAB5(MAXEQN), STAB6(MAXEQN)
DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN)
ISPLIT=2
!ISPLIT Used to update DT/2 in formbm,.f and elem.f during TRT
C Numerical time dependent solution
DT2=0.dO
C THE TRANSPORTREACTIONTRANSPORT MODULE IS HERE:
C 1/2 STEP TRANSPORT FULL STEP REACTION 1/2 STEP TRANSPORT FOR
C EACH TIME STEP.
!C Initialize matrices
CALL INltrt(Atrt,BMtrt,Btrt,Xtrt,XOtrt,LCOUNT)
!C Assamble the system matrix A
CALL FORMAtrt(Atrt,N,NBAND,ISPLIT,rainWQ)
!C Apply boundary conditions over A
CALL BCAtrt(Atrt,N,NBAND)
!C perform LU decomposition over A
CALL FACTOR(Atrt,N,NBAND)
!C Assemble the R.H.S. matrix BM
CALL FORMBMtrt(BMtrt,N,NBAND,ISPLIT,rainWQ)
C STARTING 1/2 TIME STEP OF TRANSPORT
C Form r.h.s vector
CALL FORMVBtrt(BMtrt,XOtrt,N,NBAND,Btrt,LCOUNT,DT2)
C Feed the vector to the solver
CALL SOLVE(Atrt,Btrt,Xtrt,N,NBAND)
CinP=Xtrt(1)
c STARTING REACTION
!C Concentration after 1/2 dt of transport is passed to one dt of Reaction
! CHECK if tarse is used (IWQPRO=3 fortarse). if not, RSE is nor used
! but a simple sink/souce term can be used by FEMADRtrt
if (IWQPRO.eq.3) then
CALL REACTION(Xtrt,N ,LCOUNT,iTRTcount,LIS FIL, FPI)
!iTRTcount=iTRTcount+1
end if
Xtrt(1 )=CinP
C Update the value Xold=Xnew / Updating concentration after reaction
CALL UPDATE(N,Xtrt,XOtrt)
C STARTING SECOND 1/2 TIME STEP OF TRANSPORT
C Form r.h.s vector
CALL FORMVBtrt(BMtrt,XOtrt,N,NBAND,Btrt,LCOUNT,DT2)
C Feed the vector to the solver
CALL SOLVE(Atrt,Btrt,Xtrt,N,NBAND)
!C Write the solution for that time step
CALL CORRECT(Xtrt,N)
C Update the value Xold=Xnew
CALL UPDATE(N,Xtrt,XOtrt)
call CHKtrt(N,XOtrt,ConclNF1,Conclnf2)
call CHKtrt(N,Xtrt,ConclNF1,Conclnf2)
Xtrt(1 )=CinP
CALL ADRWRITE(Xtrt,N,LCOUNT,TIME,FPI,rainWQ,ConclNF1 ,Conclnf2)
ConclN F1 =.dO
ConclNF2=0.d0
END
SUBROUTINE ADRWRITE(Xtrt,N,LCOUNT,TIME,FPI,RAINWQ,ConclNF1,
1 Conclnf2)
PARAMETER (MAXEQN=1001 ,MAXBND=40)
156
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO
COMMON/FLOWPAR/XO,QO
DIMENSION Xtrt(MAXEQN)
DIMENSION XO(MAXEQN),QO(MAXEQN)
NMDT= NDT/100
!Write node, time, inflow, Inflow Conc, inflow load, outflow
outflow conc, outflow load, infiltration rate, pollutant infiltration load
WRITE(18,100)N,TIM E,QO(1),Xtrt(1),Xtrt(1)*QO(1 ),QO(N),Xtrt(N),
Xtrt(N)*QO(N),FPI,(ConclNF1*FPI*VLCM/100+
ConclNF2*FPI*VLCM/100)
100 FORMAT(14,2X,F8.2,2x,F14.10,2x,F14.10,2x,F14.10,2x,F14.10,
S 2x,F14.14.10,F14.10,2x,F14.10,2x,F14.10,2x,F14.10,
2x,F14.14.10,F14.10,2x,F14.10,2x,F14.10,2x,F14.10)
RETURN
END
SUBROUTINE BCAtrt(Atrt,N,NBAND)
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c The boundary conditions forthis program are (problem set 2, part 1) c
c C(x=O,t>O) = 1 c
c dC/dx (x=xL)= 0 c
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
DIMENSION Atrt(MAXEQN,MAXBND)
NDIAG = NBAND/2 +1
!C Plug in first kind of BC (Dirichlet)
DO 10 I=1,NBAND
Atrt(1,l)=0.DO
10 CONTINUE
Atrt(1,NDIAG)=1.DO
RETURN
END
Subroutine CallRSE(dt_vfsm,NDT1,LLL,Xj,iii,jj,LISFIL,FPI)
!From ReactionTRT call callRSE((dtRSE1),NDT,LL,X(J),ii,j,LISFIL,FPI)
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
C This program reads the *.iwq input file during the first iteaction, C
C and stores the input files to be passed to RSE. C
C Once RSE ends, the new concentration values are passed to the C
C corresponding matrices C
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/RSE/bt,C 1 ,flag,XMLinput,XMLoutput,XMLreac_set,ntot,nvarX,
S dtRSE,numChem,nmob,nstab
COMMON/RSE2/STAB2,STAB3,STAB4,STAB5,STAB6,ISPLIT
COMMON/FLOWPAR/XO,QO
COMMON/RSE3/Atrt,Atrt2,Atr3,BMtrt,BMtrt2,BMtrt3,Btrt,Btrt2,Btrt3
COMMON/SEDS/TSED,FSED,CSED,SEDVFS
CHARACTER*75 LISFIL(13)
DIMENSION A(MAXEQN,MAXBND),BM(MAXEQN,MAXBND) ,B(MAXEQN)
DIMENSION X(MAXEQN) ,XO(MAXEQN),C1 (50),Q0(MAXEQN)
DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND) ,Btrt(MAXEQN)
DIMENSION Atrt2(MAXEQN,MAXBND),BMtrt2(MAXEQN,MAXBND),Btrt2(MAXEQN)
DIMENSION Atrt3(MAXEQN,MAXBND),BMtrt3(MAXEQN,MAXBND),Btrt3(MAXEQN)
DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN)
DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN)
DIMENSION STAB5(MAXEQN), STAB6(MAXEQN)
CHARACTER (len=120) ::XMLinput
CHARACTER (len=120) ::XMLoutput
CHARACTER (len=120) :: XMLreac_set
CHARACTER (len=120) :: fname
integer(kind=4) :: ntot, NDT1,iii
integer*1, Dimension (50) :: XMLinputC, XMLoutputC, XMLreac_setC
integer(kind=4) ::iTRTcount
Initialize for the first iteration
if (iii.EQ.1) then
Do i = 1, 50
C1(i) = 0.0
Enddo
!Reads data from .iwq file
call ReadlWQ2(LISFIL)
! Transform fortran strings to C nullterminated strings
!to be used by RSE dll
Call FORT_CSTRING(XMLinput, XMLinputC)
Call FORT_CSTRING(XMLoutput, XMLoutputC)
Call FORT_CSTRING(XMLreac_set,XMLreac_setC)
STime step used by the controlling program
if (dtRSE>0) then
dt vfsm=dtRSE
else
dt vfsm=dt vfsm
end if
end if
end if
Snvar+27+: 1) Total Seds, 2)Fine Seds, 3) Coarse Seds, 4) Seds on VFS, 5)lnfiltration, 6) runoff depth
C1(1)=Xj
if (nstab.eq.1) C1(nmob+1)=STAB2(jj)
if (nstab.eq.2) then
Cl(nmob+1)=STAB2(jj)
C1 (nmob+2)=STAB3(jj)
end if
if (nstab.eq.3) then
Cl(nmob+1)=STAB2(jj)
C1 (nmob+2)=STAB3(jj)
C1 (nmob+3)=STAB4(jj)
end if
if (nstab.eq.4) then
Cl(nmob+1)=STAB2(jj)
C1 (nmob+2)=STAB3(jj)
C1 (nmob+3)=STAB4(jj)
C1 (nmob+4)=STAB5(jj)
end if
if (nstab.eq.5) then
Cl(nmob+1)=STAB2(jj)
C1 (nmob+2)=STAB3(jj)
C1 (nmob+3)=STAB4(jj)
C1 (nmob+4)=STAB5(jj)
C1 (nmob+5)=STAB6(jj)
end if
Cl(nvarX+27+1)=TSED(jj)
Cl(nvarX+27+2)=FSED(jj)
Cl(nvarX+27+3)=CSED(jj)
Cl(nvarX+27+4)=SEDVFS(jj)
Cl(nvarX+27+5)=FPI
C1 (nvarX+27+6)=XO(jj)
!Call RSE (number of iter, vector W/data of parameters, dt, XML files(2), reaction set, Total number of indexes (based on XML
output)
158
call MyReactionModTest(LLL,C1 ,dt_vfsm,XMLinputC,XMLoutputC,
XMLreac_setC,ntot,iii)
xj=C1(1)
if (nstab.eq.1) STAB2(jj)=C1(nmob+1)
if (nstab.eq.2) then
STAB2(jj)=C1 (nmob+1)
STAB3(jj)=C1 (nmob+2)
end if
if (nstab.eq.3) then
STAB2(jj)=C1 (nmob+1)
STAB3(jj)=C1 (nmob+2)
STAB4(jj)=C1 (nmob+3)
end if
if (nstab.eq.4) then
STAB2(jj)=C1 (nmob+1)
STAB3(jj)=C1 (nmob+2)
STAB4(jj)=C1 (nmob+3)
STAB5(jj)=C1 (nmob+4)
end if
if (nstab.eq.5) then
STAB2(jj)=C1 (nmob+1)
STAB3(jj)=C1 (nmob+2)
STAB4(jj)=C1 (nmob+3)
STAB5(jj)=C1 (nmob+4)
STAB6(jj)=C1 (nmob+5)
end if
iii=iii+1
END
SUBROUTINE CHKtrt(N,XOtrt,ConclNF1,ConclNF2)
! CHECK THE WATER DEPTH IN THE VFS. IF THERE IS NO WATER
! THEN THE CALCULATED CONCENTRATION IN SURFACE WATER IS MOVED TO THE POREWATER
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/FLOWPAR/XO,QO
DIMENSION XO(MAXEQN),QO(MAXEQN),XOtrt(MAXEQN)
ConclNF1 =0.dO
ConclNF2=0.d0
j=0
Do 10 i=1,N
ConclNF1=ConclNF1+XOtrt(i)
10 CONTINUE
ConclNF1=ConclNF1/(N2)
DO 20 I=1,N
if (XO(I).GT.0.DO) XOtrt(I)=XOtrt(I)
if (XO(I).LE.0.DO) then
Conclnf2=Conclnf2+XOtrt(i)
X0trt(I)=0.d0
j=j+1
end if
20 CONTINUE
If (j.gt.0) then
ConclNF2=Conclnf2/j
Else
ConclNF2=0.dO
End If
RETURN
END
SUBROUTINE CORRECT(Xtrt,N)
159
!C WRITE THE RESULT VECTOR X IN FORMAT TO THE DEFAULT DEVICE
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
DIMENSION Xtrt(MAXEQN)
NVAL=N
DO 10 L=1,NVAL
if (Xtrt(L).It.0)then
Xtrt(L)=0
end if
10 continue
RETURN
END
Function DIS(VX1)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PARADR/CONC1,DISL,DISM,CK1
! Calculates the hydrodynamic dispersion coefficient
DIS = VX1*DISL+DISM
return
end
SUBROUTINE ELEMtrt(EK,ISPLIT1,NUMELEM,rainWQ)
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC
!C SUBROUTINE ELEM EVALUATE THE COMPONENTS
!C
!C e x2 e e e e e e e e
!C k=Ow[ Dx N(x) 'N(x) '+Vx N(x)N(x)'+kl N(x)N(x) +N(x)N(x)/dt]dx
!C ij x1 i j i j j i i j
!C
!C FOR THE ELEMENT STIFFNESS MATRIX k.
!C THE TRANSFORMATION FROM c TO X IS GIVEN BY THE RELATION
!C X = x1 + 1/2(x2xl)(1 + c)
!C THUS
!C e e
!C dN dN dc
!C i i
!C
!C 
!C dx dc dx
!C
!C AND
!C
!C dx x2xl dxl
!C 
!C dc 2 2
!C
!C N NUMBER OF NODAL POINTS IN THE ELEMENT
!C THETAWTIME WEIGHTING FACTOR
!C e
!C EK(I,J)k, ENTRY IN ELEMENT STIFFNESS MATRIX
!C ij
!C NL ORDER OF THE INTEGRATION RULE
!C X1(L) cl, THE LOCATION OF THE LTH GAUSS ABSCISSA
!C W(L) wl, THE LTH GAUSS WEIGHT
!C dx x2 xl
!C DXI/2 =  =  = No. NODES IN ELEMENT TIMES DX/2
!C dc 2
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/CINTtrt/Xltrt(4,rt(4,4),Wtrt(4,4)
COMMON/PARADR/CONC1,DISL,DISM,CK1
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
160
COMMON/OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD
COMMON/RSE2/STAB2,1SPLIT
COMMON/WQ2/IWQPRO,TIME
COMMON/FLOWPAR/XO,Q0
DIMENSION EK(4,4),PSI(4),DPSI(4)
DIMENSION XO(MAXEQN),Q0(MAXEQN)
!C Find the integral domain
DX1=DX*(NPOL1)
!C Inizialize element arrays
DO 10 =1,NPOL
DO 10 J=1,NPOL
EK(I,J) = 0.DO
10 CONTINUE
!C Begin integration point loop
!NL is adapted for reading a value up to 4
IF (NL.LE.4) then
NL2=NL
NODE=(NPOL1 )*NUMELEMNPOL+1
NODETEMP=NODE
DO 20 L=1,NL
NODE=NODETEMP
CALL SHAPEtrt (Xltrt(L,NL),NPOL,PSI,DPSI)
DO 20 I=1,NPOL
NODE=NODE+1
if (QO(NODE).le.0) then
VX=0.dO
CK1 p=0.dO
else
VX=QO(NODE)/XO(NODE)
CK1 p=rainWQ/XO(NODE)+CK1
end if
DO 20 J=1,NPOL
EK(I,J) = EK(I,J)+((DIS(VX)*DPS)*D)*DPSI(J)*2.D0/DX1
+VX*PSl(l)*DPSI(J)+CK1p*PSI(I)*PSI(J)*DX1/2.D0)*THETAW
+PSI(I)*PSI(J)*DX1/2.D0/(DT/ISPLIT1))*Wtrt(L,NL)
20 CONTINUE
ELSE
NL2=NL
NL=NL1
NODE=(NPOL1 )*NUMELEMNPOL+1
NODETEMP=NODE
DO 30 L=1,NL
NODE=NODETEMP
CALL SHAPEtrt (Xltrt(L,NL),NPOL,PSI,DPSI)
DO 30 I=1,NPOL
NODE=NODE+1
if (QO(NODE)<=0) then
VX=0.dO
CK1 p=0.dO
else
VX=QO(NODE)/XO(NODE)
CK1 p substitutes CK1 in EK calculations
CK1 p=rainWQ/XO(NODE)+CK1
end if
DO 30 J=1,NPOL
EK(I,J) = EK(I,J)+((DIS(VX)*DPS)*D)*DPSI(J)*2.D0/DX1
I +VX*PSl(l)*DPSI(J)+CK1p*PSI(I)*PSI(J)*DX1/2.D0)*THETAW
+PSI(I)*PSI(J)*DX1/2.D0/(DT/ISPLIT1))*Wtrt(L,NL)
30 CONTINUE
end IF
if (NL2.GE.5) NL=NL2
RETURN
END
SUBROUTINE FORMAtrt(Atrt,N,NBAND,ISPLIT,rainWQ)
! from femadrTRT CALL FORMAtrt(Atrt,N,NBAND,ISPLIT)
!C C C This subroutine assembles the system matrix [A] as a banded matrix C
!C tridiagonal. C C This procedure involves the calculation of element matrices EK and C
!C their accumulation in the banded system matrix [A]. C C C
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
DIMENSION Atrt(MAXEQN,MAXBND),EK(4,4)
DO 10 NEL=1,NELEM
!C Form the element matrices EK  
pass element number (NEL) to ELEM
CALL ELEMtrt(EK,ISPLIT,NEL,rainWQ)
!C Assemble the matrix 
CALL ASSM(Atrt,EK,NBAND,NEL)
10 CONTINUE
RETURN
END
SUBROUTINE FORMBMtrt(BMtrt,N,NBAND,ISPLIT,rainWQ)
!From femadr CALL FORMBMtrt(BMtrt,N,NBAND,ISPLIT)
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c In this subroutine the assembling of the right hand side part of the c
c equation (matrix BMtrt). I c
c This equation could be expressed as R.H.S= [BMtrt]{C} = {b} c
c I c
c Where {x} = is the concentration at the last time step c
c [BMtrt] = is a matrix of constant coefficients c
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/PARADR/CONC1,DISL,DISM,CK1
COMMON/CINTtrt/Xltrt(4,4),Wtrt(4,4)
COMMON/RSE2/STAB2,1SPLIT
COMMON/FLOWPAR/XO,QO
DIMENSION BMtrt(MAXEQN,MAXBND), EF(4,4) ,PSI(4),DPSI(4)
DIMENSION XO(MAXEQN),QO(MAXEQN)
!C Find the integral domain  
DX1=DX*(NPOL1)
if (NL.gt.4) then
NL2=NL
NL=NL1
end if
!C Begin vector formation element by element  
DO 50 NEL=1,NELEM
!C Inizialize element vector
DO 20 I=1,NPOL
DO 20 J=1,NPOL
EF(I,J)=0.DO
20 CONTINUE
C Check NL from vfsmod. if NL>4, decrease 1 to be used by femadr
!C Begin integration point
NODE=(NPOL1)*NELNPOL+1
NODETEMP=NODE
DO 30 L=1,NL
CALL SHAPEtrt (Xltrt(L,NL),NPOL,PSI,DPSI)
NODE=NODETEMP
DO 30 I=1,NPOL
NODE=NODE+1
if (XO(NODE)<=0) then
VX=0
162
CK1 p=0
DO 32 J=1,NPOL
EF(I,J)=EF(I,J)+0
32 CONTINUE
else
VX=QO(NODE)/XO(NODE)
CK1 p=rainWQ/XO(NODE)+CK1
DO 34 J=1,NPOL
EF(I,J)=EF(I,J)+(PSI(I)*PSI(J)*DX1/2.D0/(DT/ISPLIT)
(DIS(VX)*DPSI(I)*DPSI(J)*2.DO/DX1 +VX*PSI(I)*DPSI(J)
+CK1 p*PSI(I)*PSI(J)*DX1/2.DO)*(1 THETAW))*Wtrt(L,N L)
34 Continue
end if
30 CONTINUE
!C Plug the element vector into the [BMtrt] matrix
CALL ASSM(BMtrt,EF,NBAND,NEL)
50 CONTINUE
!!C Plug in first kind of BC (Dirichlet)
NDIAG = NBAND/2 +1
DO 60 I=1,NBAND
BMtrt(1 ,)=0.DO
60 CONTINUE
BMtrt(1,NDIAG)=1.DO
!C Second kind of BC (Neumann)
!C NOTE: In this case since de value is 0 the
!C eq. for the last node remains the same
if (NL2.gt.4) then
NL=NL2
end if
RETURN
END
SUBROUTINE FORMVBtrt(BMtrt,XOtrt,N,NBAND,Btrt,LCOUNT,DT2)
!from femadrTRT8t f call FORMVBtrt(BMtrt,XOtrt,N,NBAND,Btrt,LCOUNT)
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
!C AUTHOR: Casson stallings, NCSU, Forestry Department, Spring 1991
!C
!C This Subroutine constructs the r.h.s. vector {b} at every time
!C step as the result of the banded matrix multiplication:
!C 1
!C {b} = [BM] .{C}
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
!C
!C DEFINITION OF GLOBAL VARIABLES
!C N = NUMBER OF ACTIVE ROWS
!C NBAND =BANDWIDT
!C Btrt(N) = RESULTANT VECTOR
!C IDIAG = THE ROW EQUIVILANT T TO THE FULL MAT DIAG.
!C STEP =ACONVIENCE
!C SUM = HOLDS ROWSUMS
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC~
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
DIMENSION BMtrt(MAXEQN,MAXBND) ,XOtrt(MAXEQN),Btrt(MAXEQN)
COMMON/FLOWPAR/XO,QO
COMMON/PARADR/CONC1,DISL,DISM,CK1
DIMENSION XO(MAXEQN),QO(MAXEQN)
IDIAG = (NBAND+1)/2
STEP = IDIAG1
!C Multiply the top most rows  
DO IR=1,ISTEP
ISKEW= IRIDIAG
SUM = 0.ODO
DO IC=(IDIAG+1IR),NBAND
163
SUM = SUM + BMtrt(IR,IC) XOtrt(IC+ISKEW)
END DO !! IC !!
Btrt(IR) = SUM
END DO !! IR !!
!c Multiply the middle rows of the banded matrix
DO IR=(ISTEP+1), (NISTEP)
ISKEW= IRIDIAG
SUM = 0.ODO
DO IC=1,NBAND
SUM = SUM + BMtrt(IR,IC) XOtrt(IC+ISKEW)
END DO !! IC !!
Btrt(IR) = SUM
END DO !! IR !!
!C Multiply the last rows of the banded matrix  
DO IR= (NISTEP+1), N
ISKEW= IR IDIAG
SUM = 0.ODO
DO IC=1, (IDIAG+(NIR))
SUM = SUM + BMtrt(IR,IC) XOtrt(IC+ISKEW)
END DO !! IC !!
Btrt(IR) = SUM
END DO !! IR !!
!C Take care of BCI  
! BC as a constant for C=1 @ t>0
Btrt(1)= 0.5
if (QO(1).GT.0) Btrt(1)=CONC1
If (QO(1).LE.0) Btrt(1)=0.DO
!BC as a function Ca+Cb*eAalpha*t @ t>0,
!! DT2=DT2+(DT/2)
!! Btrt(1)= 80+30*exp(1*LCOUNT*0.005)
!C Take care of BC2  
!C NOTE: In this case since de value is O the 
!C eq. for the last node remains the same
RETURN
END
subroutine FORT_CSTRING(string, array)
c*************************************************************************
c fstrings.for  routines for converting between FORTRAN and C character
c strings.
c
c Mark Showalter, PDS Rings Node, September 2002
c*************************************************************************
c
c*************************************************************************
c$ Component_name:
c FORT_CSTRING (fstrings.for)
c$ Abstract:
c Converts a FORTRAN character string to a nullterminated byte array,
c for passage to a C function.
c$ Keywords:
c UTILITY, FORTRAN_C
c FORTRAN, INTERNAL, SUBROUTINE
c$ Declarations:
c subroutine FORT_CSTRING(string, array, nbytes)
c character*(*) string
c integer*1 array(*)
c integer*4 nbytes
c$ Inputs:
c string character string to convert.
c nbytes dimensioned length of byte array.
c$ Outputs:
c array(1 ...) string of bytes with terminal null.
164
c$ Returns:
c none
c$ Detailed_description:
c This subroutine converts a FORTRAN character string to a nullterminated
c byte array, for passage to a C function. Blank characters at the end of
c the character string are not considered significant. The string is
c truncated if necessary to fit into the array.
c$ External references:
c none
c$ Examples:
c none
c$ Error_handling:
c none
c$ Limitations:
c The dimensioned length of the byte array must be at least one greater
c than the effective length of the character string.
c$ Author and institution:
c Mark R. Showalter
c PDS Rings Node, NASA/Ames Research Center
c$ Version and date:
c 1.0: January 1994
c 1.1: September 2002
c$ Change_history:
c 1.1: Modified for compatibility with Absoft FORTRAN for Macintosh OS X.
c*****************************************************************************
character*(*) string
integer*1 array(*)
integer*4 nbytes
integer last, i
c Search for the last character actually used.
do 100 last = len(string), 1, 1
if(string(last:last) .ne. ') goto 101
100 continue
101 continue
c Truncate string if necessary
if (last .gt. nbytes1) last = nbytes1
c Copy bytes from character string
do 200 i = 1, last
array(i) = ichar( string(i:i))
200 continue
c Append null terminator
array(last+1) = 0
return
end
SUBROUTINE GRASSED(TIME,N,QIN,QOUT,NODEX,ICOARSE,COARSE,
0 FWIDTH,ISCR,GSO)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C C
C This subroutine solves the sediment transport problem on a grass filter C
C It utilizes the method proposed by: C
C C
C 1. Tollner et al. (1976). "Suspended sediment filtration capacity of C
C simulated vegetation". Trans. ASAE. 19(4):698682. C
C 2. Tollner et al. (1977). "Sediment deposition patterns in simulated C
C grass filters". Trans. ASAE. 20(5):940944. C
C 3. Barfield et. al (1979)"Filtration of sediment by simulated vegetation C
C I. Trans. ASAE, 22(3):540548. C
C 4. Hayes et. al (1979)"Filtration of sediment by simulated vegetation II" C
165
C Trans. ASAE, 22(5):10631067 C
C 5. Hayes et. al (1984)"Performance of grass filters under laboratory and C
C field Conditions".Trans. ASAE, 27(5):13211331, to account for C
C triangular upslope deposition and particle and size distribution C
C 6. Wilson et al (1981)"A Hydrology and sedimentology model: Part I. C
C Modeling techniques. U.of Kentucky. Lexington. This is a major C
C rewrite of the procedures involved. C
C 7. Haan et al (1994)"Design Hydrology and Sedimentology for Small C
C Catchments". PrenticeHall. Chapter 9C contains updated (and clearer) C
C procedures for sediment trapping and wedge formation C
C C
C This is just the sediment transport unit calling the subroutines: C
C OCF, EINSTEIN, STEP C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
IMPLICIT DOUBLE PRECISION(AH,OZ)
COMMON/GRASSD/PART(3),SC,SS,VN 1,VN2,VN,GSI,H,VLCM,POR,CI, ICO
COMMON/GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3)
COMMON/GRASSD3/SUSMASS,WEDGEMASS,NFUP
COMMON/OLD/SEOLD,GSIOLD,FOLD,D,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD
DIMENSION XPOINTS(3),NODEX(4)
C Select flow and sediment load at filter entry (incl. GSIMASS 05/06/03)
FWID=FWIDTH*100.DO
J=1
GSI=QIN*CI
GSIMASS=GSIMASS+GSI*(TIMETOLD)
cCheck and fix errors in incoming hydro/sedimentograph (values <0)
IF(QIN.LE.0.DO.OR.QSED(2).LE.0.DO) THEN
GS2=0.DO
GOTO 120
ENDIF
C (16/12/00) New way of handling a sediment filled strip. After this
c happens, all the sediment inflow is routed to the outflow end (no
c deposition) and without stopping the simulation. This way the
c simulation summary (*.osm) now shows realistic trapping efficiencies.
c Check if strip is filledup (NFUP=1)
IF(NFUP.EQ.1) THEN
YT=H
X1 =YT/SC
XT=VLCM
VLT=0.DO
SE=0.DO
GSSI=GSI
FI=O.DO
GS2=GSI
GSO=GSI
FRAC=0.DO
DTG=TIMETOLD
GSOMASS=GSOMASS+GSO*DTG
TOTRAP=0.DO
DEP=H
IF(ISCR.EQ.0) THEN
WRITE(13,180)TIME,YT,X1,XT,VLT,SE,GSI,GSSI,GS2,GSO,
J GSIMASS,WEDGEMASS,SUSMASS,GSOMASS,FI,FRAC,DEP,CDEP,
3 TOTRAP
ELSE
WRITE(13,180)TIME,YT,X1,XT,VLT,SE,GSI*FWID,GSSI*FWID,
GS2*FWID,GSO*FWID,GSIMASS*FWID,WEDGEMASS*FWID,
SSUSMASS*FWID,GSOMASS*FWID,FI,FRAC,DEP,CDEP,TOTRAP
ENDIF
RETURN
ENDIF
CSTEP 1: Solves hydraulic properties at points (1), (2), (3) of 
C the filter to be used later on
166
DO 10 NPLACE=1,3
CALL OCF(NPLACE)
10 CONTINUE
CSTEP 2: Solve Einstein's equation to find transport capacity (gs2)
C at the end of B(t)   
CALL EINSTEIN(GS2,NTRCAP,COARSE)
IF(ICOARSE.EQ.0)NTRCAP=1
CSTEP 3: Calculate shape of sediment wedge, sediment outflow, and 
C trapping efficiency for the filter and finishes up
CALL STEP3(GS2,TIME,NTRCAP,COARSE,QOUT,FWIDTH,ISCR,YT,XT,GSO,FI,FRAC)
CSTEP 4: Position points (1), (2), (3) at system nodes so that flow 
C rates can be read at those points at next time step 
CALL POINTS(N,XPOINTS,NODEX,VBT)
cPass values of Sediment Conc to TSED, FSED and CSED
CALL SedLOADTRT(COARSE,YT,XT,GS2,GSO, FWID,NODEX,XPOINTS,N,FI, FRAC)
CWrite outputs of sediment transport calculations 
120 WRITE(14,200)TIME,QIN,(QSED(J),RS(J),VM(J),DF(J),J=1,3),QSED(4)
180 FORMAT(f7.0,4F10.3,F10.6,13E10.3)
200 FORMAT(F7.0,14E10.3)
201 FORMAT(A32,F8.4,a4)
RETURN
END
SUBROUTINE INltrt(Atrt,BMtrt,Btrt,Xtrt,XOtrt,iter)
!from femadrTRT CALL INltrt(Atrt,BMtrt,Btrt,Xtrt,XOtrt,iter)
!C C C SET ALL MATRICES=O TO START PROGRAM C C C
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND),Btrt(MAXEQN)
DIMENSION Xtrt(MAXEQN),XOtrt(MAXEQN)
DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN),
2 STAB5(MAXEQN), STAB6(MAXEQN)
DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN)
temp_dt=0 !For RSE if needed
DO 10 I=1,MAXEQN
if (iter.LE.1) then
Btrt(l)= 0.DO
Xtrt(l)= 0.DO
XOtrt(l)=0.DO
STAB2(1)=0. DO
STAB3(I)=0. DO
STAB4(1)=0. DO
STAB5(1)=0. DO
STAB6(I)=0. DO
TSED(I)=0.DO
FSED(I)=0.DO
CSED(I)=0.DO
SEDVFS(I)=0.DO
end if
DO 10 J=1,MAXBND
Atrt(l,J)= 0.DO
BMtrt(l,J)=0.DO
10 CONTINUE
RETURN
END
SUBROUTINE INPUTS(N,NBAND,NRAIN,RAIN,NBCROFF,BCROFF,TE,QMAX,VL
FWIDTH,SWIDTH,SLENGTH,PGPAR,NCHK,LISFIL,INARGS,ISCR,IWQ)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C C
C Read data from input file *.iwq in free format calculate the C
C following parameters: C
C C
C 1 N, NBAND,NELEM C
C 2 Maximum flow rate and depth at steadystate condition (QMAX,HMAX) C
C 3 Celerity of the wave (C) C
C 4 Courant time step (DTC) C
C 5 Froude number (FR) C
C 6 Kinematic flow number (FK) C
C 7 Henderson's time to equilibrium (TE) C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
CHARACTER*30 PLABEL
CHARACTER*75 LISFIL(13)
CHARACTER*1 CWQ
COMMON/GA1/PS,PSOLD,PST,F,RO,TP,TPP,TI,FPI,STO,CU,CP,AGA,BGA,SM
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO
COMMON/WQ1/VKD,CCP,IWQPRO
COMMON/WQ2/IWQPRO,TIME
COMMON/OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD
COMMON/PARADR/CONC1,DISL,DISM,CK1
DIMENSION BCROFF(200,2),RAIN(200,2)
DIMENSION NODEP(MAXEQN),RNA(MAXEQN),SOA(MAXEQN),SX(MAXEQN)
DIMENSION PGPAR(4)
CRead in main parameters of the program
IF(INARGS.EQ.1) THEN
WRITE(*,'("... Reading inputs from: ",A45)')LISFIL(1)
ENDIF
READ(1,'(A30)')PLABEL
READ(1,*)FWIDTH
READ(1,*)VL,N,THETAW,CR,MAXITER,NPOL,IELOUT,KPG
IOUT=0
C[EVR1998]Check if N is compatible with type of shape function 
L=N1
M=NPOL1
IF (MOD (L,M).NE.0) N = N+MMOD(L,M)
SEPN = VL/(N1)
c Read surface properties of the filter  
READ(1,*)NPROP
DO 5 IPROP=1,NPROP
READ(1,*)SX(IPROP),RNA(IPROP),SOA(IPROP)
5 CONTINUE
c[06/2008]Read WQ flag (0= no; 1= yes)  
READ(1,*,END=8)CWQ
IWQ=INDEX(CWQ,'1')
IF(IWQ.NE.1) IWQ=0
C[EVR1998]Assign nodes to the Xvalues where filter changes 
8 XSEG=0.dO
J=1
DO 80 1= 1, N
DO WHILE (XSEG.GT.SX(J).AND.I.NE.N)
J= J+1
168
NODEP(J1)=I
END DO
XSEG = XSEG + SEPN
80 CONTINUE
NODEP(NPROP)=N
C Calculate alpha for Manning's equation 
SMALLQK=1000.DO
BIGQK=0.DO
SOAVG=0.DO
RNAVG=0.DO
DO 15 1=1,N
DO 10 IPROP=1,NPROP
IF(I.LE.NODEP(IPROP))THEN
RN=RNA(IPROP)
SO=SOA(IPROP)
GOTO 12
ENDIF
10 CONTINUE
12 SOAVG=SOAVG+SO
RNAVG=RNAVG+RN
QK(I) = SO**0.5D0/RN
BIGQK=DMAX1 (BIGQK,QK(I))
SMALLQK=DMIN1 (SMALLQK,QK(I))
IF (QK(l).eq.BIGQK)then
nbig=i
ELSEIF(QK(l).eq.SMALLQK)then
nsmall=1
ENDIF
15 CONTINUE
cFilter main slope and roughness for sediment calculations 
SC=SOAVG/N
VN1=RNAVG/N
CRead rainfall distribution  
IF(INARGS.EQ.1) THEN
WRITE(*,'(" ... Reading inputs from: ",A45)')LISFIL(2)
ENDIF
READ(2,*)NRAIN, RPEAK
TOTRAIN=0.dO
DO 20 I=1,NRAIN
READ(2,*)(RAIN(I,J),J=1,2)
c** fix jep, 10/16/1999
IF (I.GT.1) TOTRAIN=TOTRAIN+
0 RAIN(I1,2)*(RAIN(I,1 )RAIN(I1,1))
20 CONTINUE
DR1=RAIN(NRAIN,1)
CCalculate GreenAmpt parameters 
IF(INARGS.EQ.1) THEN
WRITE(*,'(" ... Reading inputs from: ",A45)')LISFIL(4)
ENDIF
READ(7,*)VKS, Sav, OS, 01, SM,SCHK
DM=OSOI
IF(DM.LE.0.dO)DM=0.0000001 dO
IF(VKS.LT.0.dO) VKS=0.dO
SavM=Sav*DM
AGA= VKS
BGA= VKS*SAVM
Cget downslope node for flood checking 
NCHK=IDNINT(SCHK*N)
169
IF(NCHK.LT.1)NCHK=1
CRead runoff inflow at upper side of strip (BC) in (m3/s) 
IF(INARGS.EQ.1) THEN
WRITE(*,'(" ... Reading inputs from: ",A45)')LISFIL(3)
ENDIF
READ(3,*)SWIDTH,SLENGTH
READ(3,*)NBCROFF,BCROPEAK
DO 30 I=1,NBCROFF
READ(3,*)(BCROFF(I,J),J=1,2)
30 CONTINUE
DR2=BCROFF(NBCROFF,1)
DR=DMAX1(DR1,DR2)
CFind the bandwidth for the matrix, #element, #nodes
NBAND=2*NPOL1
DX=VL/(N1)
NELEM=(N1)/(NPOL1)
CCalculate convergence and wave form parameters
C***** English Units
c G=32.185DO
c CMN=1.486DO
C***** Metric Units, PEAK & RPEAK (m/s), BCROPEAK (m3/s), QMAX(m2/s)
G=9.81 DO
CMN=1.DO
VMN=5.D0/3.DO
PEAK=RPEAK+BCROPEAK/(VL*FWIDTH)
QMAX= VL*PEAK
HMAX= (QMAX/BIGQK)**(1 .D/VMN)
VMAX=QMAX/HMAX
FR=VMAX/(G*HMAX)**0.5DO
FK=(VL*SO*G)/VMAX**2.DO
C= VMN*BIGQK*HMAX**(VMN1.DO)
DTC= DX/C
DT=DTC*CR
TE= HMAX/PEAK
NDT=IDINT(DR/DT)
CRR=(VMN*qmax*dt/dx)/((QMAX/SMALLQK)**(1.D0/VM N))
CCalculate the PG Parameters (in this case for n=50)
IF(KPG.EQ.1)THEN
PGPAR(1 )=0.0215873DO 0.345217DO*CR + 1.33259DO*CR**2.DO 
S 1.62016DO*CR**3.DO + 0.670333DO*CR**4.DO
PGPAR(2)= 0.0592655D0 0.107237D0*CR + 0.235216DO*CR**2.DO 
0.426017DO*CR**3.DO + 0.222228DO*CR**4.DO
PGPAR(3)=0.0280422DO + 0.175632DO*CR 0.592941 DO*CR**2.DO 
S 0.149698DO*CR**3.DO 0.0704731 DO*CR**4.DO
PGPAR(4)= 0.0456247D0 +0.00112745DO*CR +0.420433DO*CR**2.DO 
0.0935913DO*CR**3.DO 0.0764558DO*CR**4.DO
ENDIF
CSet the order of the integration rule
IF(KPG.EQ.0.OR.(PGPAR(4).EQ.0.DO.AND.PGPAR(3).EQ.0.DO))THEN
NL=NPOL+1
ELSE
NL=5
ENDIF
C[06/2008]Read water quality parameters, ensure backwards compatibility 
IF(IWQ.EQ.1) THEN
IF (INARGS.EQ.1) THEN
WRITE(*,'(" ... Reading inputs from: ",A45)')LISFIL(12)
170
ENDIF
OPEN(17,FILE=LISFIL(12),ERR=1500,STATUS='OLD')
OPEN(18,FILE=LISFIL(13),STATUS='UNKNOWN')
WRITE(18,220)LIS FIL(13)
write(15,225) 12,'iwq',lisfil(12)
write(15,225) 13,'owq',lisfil(13)
READ(17,*)IWQPRO
IF(IWQPRO.EQ.1) THEN
READ(17,*)IKD
BACKSPACE(1 7)
IF(IKD.EQ.1) THEN
READ(17,*)IKD,VKOC,OCP
READ(17,*)CCP
VKD=VKOC*OCP*.01 DO
ELSE
READ(17,*)IKD,VKD
READ(17,*)CCP
ENDIF
ELSE
C
c  placeholder for other wq problems, i.e. TaRSE, 07/28/08 rmc
IF(IWQPRO.EQ.2.OR.IWQPRO.EQ.3) THEN !this initiates reactive term
OPEN(31 ,FI LE='femadr.o ut',STATUS='UNKNOWN')
C Get parameters for running FEMADR or RSE
CALL INPUTStrt(N,NBAND,IWQPRO)
C Get the Gauss quadrature parameters
CALL QUADtrt
CALL trtON(N,NBAND,IWQPRO) !Reads variables (.iwq file)
close(17) !.iwq file will be opened again if RSE is used
ENDIF
ENDIF
ELSE
write(15,*)
write(15,*)
ENDIF
COutput all the parameters
WRITE(11,*)'Storm parameters'
WRITE(11,*)'
WRITE(11,140)PLABEL
IF(INARGS.EQ.1) THEN
WRITE(*,130)PLABEL
ENDIF
WRITE(11,180)
WRITE(11,150)
WRITE(11,160)
WRITE(11,180)
DO 35 I=1,NRAIN1
WRITE(11,170)I,RAIN(I,1),RAIN(I+1,1),RAIN(1,2)
35 CONTINUE
WRITE(11,180)
WRITE(11,350)'Total rainfall (mm)=',TOTRAIN*1000.dO
WRITE(11,400)'Peak rainfall intensity(m/s)=',RPEAK
WRITE(11,400)'Peak inflow rate BC (m3/s)=',BCROPEAK
WRITE(11,*)' (The inflow hydrograph can be found in the',
'OUTPUTS)'
WRITE(11,*)
WRITE(11,*)'Filter parameters'
WRITE(11,*)
WRITE(11,200)'Length of the strip (m)=',VL
WRITE(11,200)'Width of the strip (m)=',FWIDTH
WRITE(11,200)'Surface characteristics='
WRITE(11,525)
WRITE(11,575)
WRITE(11,525)
DO 40 IPROP=1,NPROP
IF(IPROP.EQ.1) THEN
EX1=0.dO
ELSE
EX1=(NODEP(IPROP1)1)*DX
ENDIF
EX2=(NODEP(IPROP)1)*DX
WRITE(11,550)EX1 ,EX2,RNA(IPROP),SOA(IPROP)
40 CONTINUE
WRITE(11,525)
WRITE(11,*)
COutput nodal information if desired (ielout=1)
IF(IELOUT.EQ.1)THEN
WRITE(11,*)' Elemental information follows (IELOUT=1):'
WRITE(11,185)
WRITE(11,186)
WRITE(11,185)
DO 45 NEL=1,NELEM
K=(NPOL1)*NELNPOL+1
DO 45 I=1,NPOL
K=K+1
WRITE(11,600)NEL,K,l,QK(K),(k1 )*dx
45 CONTINUE
WRITE(11,185)
WRITE(11,*)
ENDIF
WRITE(11,*)'Soil parameters'
WRITE(11,*)'
WRITE(11,400)'Saturated hydraulic cond.(Ks)=',VKS
WRITE(11,200)'Avg. suction at wet front(Sav)=',Sav
WRITE(11,200)'Sat. soilwater content(Os)=',Os
WRITE( 11,200)'1nitial soilwater content(Oi)=',Oi
WRITE(11,200)'lnitial soilwater deficit (M)=',DM
WRITE(11,400)'GreenAmpt parameters (A,B)=',AGA,BGA
WRITE(11,*)'Node number for flood checking= ',NCHK
WRITE(11,*)
WRITE(11 ,*)'Simulation parameters'
WRITE(11,*)'
WRITE(11,400)'Length of simulation (s)=',DR
WRITE(11,*)' Order of the basis functions= ',NPOL1
C WRITE(11,*)' Output option (0=q@t;1= h@x)= ',IOUT
WRITE(11,700)'PetrovGalerkin parameters=',(PGPAR(l),l= 1,4)
WRITE(11,200)'Time weighting parameter=',THETAW
WRITE(11,200)'Space step, dx(m) =',DX
WRITE(11,200)'Time step, dt (s) =',DT
WRITE(11,*)'Number of nodes in system =',N
WRITE(11,*)'Number of elements in system =',NELEM
WRITE(11,*)'Number of time steps =',NDT
WRITE(11,*)'Maximum number of iterations =',MAXITER
WRITE(11,200)'Maximum flow rate and depth=',QMAX,HMAX
WRITE(11,200)'Celerity of the wave=',C
WRITE(11,200)'Courant time step=',DTC
WRITE(11,200)'Froude number=',FR
WRITE(11,200)'Kinematic wave number=', FK
WRITE(11,200)'Courant number=',CR
IF(ICO.EQ.0)THEN
WRITE(11,201)'Surface changes feedback=',' NO'
ELSE
WRITE(11,201)'Surface changes feedback=',' YES'
ENDIF
WRITE(11,*)
cOutput all input values for sediment transport
WRITE(13,*)'Filter parameters for sediment transport'
WRITE(13,*)'
WRITE(13,800)' Filter main slope (Sc)=',SC
WRITE(13,800)' Filter media spacing (Ss)=',SS,'cm'
WRITE(13,800)' Modified Manning coefficient (n)=',VN,'s.cm".33'
WRITE(13,800)' Manning coeff. for bare soil (n2)=',VN2,'s.mA.33'
WRITE(13,800)' Filter media height (H)=',H,'cm'
WRITE(13,*)
WRITE(13,1050)
172
IF(ISCR.EQ.0) THEN
WRITE(13,1060)
ELSE
WRITE(13,1061)
ENDIF
WRITE(13,1070)
CIssue a warning if any of the criteria is not met
IF(FK.LT.1 0.DO) THEN
WRITE(*,*)'WARNING: Kinematic number smaller than 10'
ELSE IF (FR.GT.1.5DO) THEN
WRITE(*,*)'WARNING: Froude number greater than 2'
ELSE IF (CR.GT.1.DO) THEN
WRITE(*,*)'WARNING: Courant number greater than 1'
ENDIF
WRITE(11,*)
CPrint header for output values 
IF(IOUT.EQ.0.DO) THEN
WRITE(11,190)
WRITE(11,192)
WRITE(11,198)
WRITE(11,500)0.d0,0.dO,BCROFF(1,2),0.d0,0.d0,0.d0,0
ELSE
WRITE(11,194)
WRITE(11,196)
WRITE(11,198)
ENDIF
cOutput all input values for Water Quality (if IWQ=1)
IF(IWQ.EQ.1) THEN
IF(IWQPRO.EQ.1) THEN
WRITE(18,*)
WRITE(18,*)'Parameters for Water Quality'
WRITE(18,*)'
WRITE(18,201)' Type of problem=',
Pesticide trapping (BAYER)'
WRITE(18,800)'Particion coefficient (Kd)=',VKD,'L/Kg'
WRITE(18,800)' % Clay in sediment (%CL)=',CCP,'%'
ELSE
IF (IWQPRO.EQ.2) then
WRITE(18,201)'Type of problem= FEM fully coupled'
WRITE(18,201)'
WRITE(18,201)'Pollutant Parameters
WRITE(18,800)'Concentration in runoff from Source Area: ',
CONC1,' g/m3'
WRITE(18,800)'Longitudinal Dispersivity:', DISL,' m'
WRITE(18,800)'Molecular difussion: ',DISM,' mA2/s'
WRITE(18,800)'Decay coefficient:',CK1,' s^1'
WRITE(18,201)'
WRITE(18,*)'NODE, TIME (s), Input Load(g/s),
Output Load (g/s)'
end if
IF (IWQPRO.EQ.3) then
WRITE(18,201 )'Type of problem= RSE'
WRITE(18,201)'
WRITE(18,201)'Pollutant Parameters
WRITE(18,800)'Concentration in runoff from Source Area:',
CONC1,' g/m^3'
WRITE(18,800)'Longitudinal Dispersivity:', DISL,' m'
WRITE(18,800)'Molecular difussion: ',DISM,' mA2/s'
WRITE(18,800)'Decay coefficient:',CK1,' s^1'
WRITE(18,201)'
WRITE(18,*)'NODE, TIME (s), Input Load (g/s),
Output Load (g/s)'
end if
ENDIF
173
! This was deleted to keep IWQ as 1 or 0
IWQ=IWQPRO
ENDIF
130 FORMAT(lx,'Storm on: ',a30,14x,'...RUNNING...')
140 FORMAT(20x,'Storm data: ',A30)
150 FORMAT(20x,'lPeriod',4x,'Time interval',4x,'l Rainfall I')
160 FORMAT(20x,'',6x,' ',9x,'(s)',9x,'I',3x,'(m/s)',3x,'I')
170 FORMAT(20x,'l',15,' ',F8.1,' to',F8.1,' ',E10.4,' I')
180 FORMAT(20x,'+',6(''),'+',21 (''),'+',11 (''),'+')
185 FORMAT(20x,3('+',5('')),'+',9(''),'+',9(''),+')
186 FORMAT(20x,'I Eleml nodellocall alpha I x(m) I')
190 FORMAT(3x,'TIME',5x,'OUTFLOW,4x,'CUM.FLOW,5x,'ie =rf,
2 5x,'INFLOW,4x,'CUM.INFLOW',2x,'ITER')
192 FORMAT(3x,'(s)',6x,'(m3/s)',7x,'(m3)',8x,'(m/s)',6x,'(m3/s)',
[ 7x,'(m3)')
194 FORMAT('ITER',6x,'TIME',7x,'lNFLOW',6x,'ie =rf,
S5x,'DEPTH (X=L/2)')
196 FORMAT(12x,'(s)',1 0x,'(m)',9x,'(m/s)',9x,'(m)')
198 FORMAT(75(''))
200 FORMAT(A31,2F1 2.6)
201 FORMAT(A35,A28)
205 FORMAT(A50)
220 FORMAT('File: ',A40,8x,'VFSMOD v5.0.0 3/2010')
225 format(3x,'File #=',i3,' code:',a3,'=',a)
350 FORMAT(A31,2F1 2.2)
400 FORMAT(A31,2E 12.4)
500 FORMAT(E9.4,5E12.4,16)
525 FORMAT(20x,'+',21(''),'+',9(''),'+',9(''),'+')
550 FORMAT(20x,'',F8.4,' to',F8.4,' ',2(F8.4,' '),E10.4,' ')
575 FORMAT(20x,'',4x,'x(m) interval',4x,'',4x,'n',4x,'',
1 4x,'So',3x,'')
600 FORMAT(20x,'',3(15,''),2(F9.4,'I'))
700 FORMAT(A31,4F9.5)
800 FORMAT(A35,F12.6,A11)
1050 FORMAT(' Time Y(t) Xl(t) X2(t) L(t)',
Se gsi gsl gs2 gso Cum.gsi',
'Wedge_mass Lower_mass Cum.gso f frac DEP',
CDEP Tt')
1060 FORMAT(' (s) (cm) (cm) (cm) (cm)',
& (g/cm.s)(g/cm.s) (g/cm.s) (g/cm.s) (g/cm)',
S(g/cm) (g/cm) (g/cm) (cm)')
1061 FORMAT(' (s) (cm) (cm) (cm) (cm)',
& (g/s) (g/s) (g/s) (g/s) (g)'
S (g) (g) (g) (cm)')
1070 FOR MAT( '  
1070 FORMAT(' 
RETURN
1500 WRITE(*,1600)'ERROR: Input file missing (check project)'
1600 FORMAT(/,A50,/)
STOP
END
SUBROUTINE INPUTStrt(N,NBAND,IWQPRO)
!C C C READ DATA FROM FILE IN.DAT IN FREE FORMAT AND CALCULATE N,NBAND C C C
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
CHARACTER (len=120) :: XMLinputl,XMLinput
CHARACTER (len=120) :: XMLoutput
CHARACTER (len=120) :: XMLreac_set
CHARACTER (len=120) :: PollutantName
174
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/PARADR/CONC1,DISL,DISM,CK1
IF (IWQPRO.EQ.2) READ(17,*) CONC1,DISL,DISM,CK1
IF (IWQPRO.EQ.3) then
read(17,*) XMLinput, XMLoutput, XMLreac_set
read(17,*) nmob,PollutantName,CONC1,DISL,DISM,CK1
ELSE
ENDIF
NBAND=2*NPOL1
NELEM=N/(NPOL1)
NORDER=2*(NPOL1)+1
If (NL.GT.4) then
NL2=NL
NL=NL1
end if
IF(NORDER.GT.2*NL1) THEN
PRINT*,'ERROR IN INTEGRATION RULE (FCT.ORDER<=2NL1)'
STOP
ENDIF
IF (NL.GT.4)THEN
PRINT*,'NL OUT OF RANGE, NL<=4'
STOP
ENDIF
if (NL2.GT.4) then
NL=NL2
end if
RETURN
END
SUBROUTINE MyReactio nModTest(b,C,dt,XMLinputC2,XM LoutputC2,XM Lreac_setC2, numvar,init)
!C This subroutine calls and runs RSE, returning to the hydrodynamic controlling program C
!C the values of the next concentrations) vector C
!C A forth order RK method is set by default C
use IFPORT
implicit none
Integer(kind=4) :: i, numvar, nstep, b, bt
Real(kind=8), Dimension(50) :: C,C1
Integer(kind=4) :: nvals
Real(kind=8), Dimension(50) :: vars
Integer(kind=4) :: order,init Either 2 or 4
Real(kind=8) :: dt
CHARACTER (len=120) :: in_fname
CHARACTER (len=120) :: out_fname
CHARACTER (len=120) :: reac_set
integer*1, Dimension (50) :: XMLinputC2, XMLoutputC2, XMLreac_setC2
!RK order. Preset to 4
order = 4
Call runRSE(numvar,C,b,order,dt,XM LinputC2,XMLoutputC2,XMLreac_setC2,init)
C1=C !returns values for next iteration
end
SUBROUTINE OUTMASS(VL,FWIDTH,SWIDTH,SLENGTH,TRAI,LISFI L,ISCR,
I IWQ)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C C
C This subroutine processes the output hydrograph and find components C
C of the water balance and hydrograph. The results go in "filename.osm" C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
IMPLICIT DOUBLE PRECISION(AH,OZ)
175
COMMON/GA1/PS,PSOLD,PST,F,RO,TP,TPP,TI,FPI,STO,CU,CP,AGA,BGA,SM
COMMON/GRASSD/PART(3),SC,SS,VN1 ,VN2,VN,GSI ,H,VLCM,POR,CI,ICO
COMMON/GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3)
COMMON/GRASSD3/SUSMASS,WEDGEMASS,NFUP
COMMON/OLD/SEOLD,GSIOLD,FOLD,DTOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD
COMMON/WQ1 /VKD,CCP,IWQPRO
CHARACTER*74 DUMMY
CHARACTER*75 LISFIL(13)
C Summarize results from filename.ohy file 
CLOSE(11)
CLOSE(13)
OPEN(11,FILE=LISFI L(6),STATUS='OLD')
OPEN(13,FILE=LISFI L(8),STATUS='OLD')
WRITE(10,*)'INPUTS'
WRITE(10,*)'
SUMO=0.DO
SUM1=0.DO
SUM2=0.DO
TIMEO=0.DO
READ(11,*)
READ(11,*)
5 READ(11,'(A)')DUMMY
IDX=INDEX(DUMMY,'ITER')
IF(IDX.NE.0) GOTO 6
WRITE(10,*)DUMMY
GOTO 5
6 READ(11,'(A)')DUMMY
READ(11,'(A)')DUMMY
BIG1=0.DO
NZERO=1
INI=0
RAIN EO=0.DO
OUTFO=0.DO
UPINO=0.DO
DO 10 1=1,101
READ(11 ,*,END=30)TIME1,OUTF1 ,CUMFLOW,RAIN_E1 ,UPIN1,CUMIF,NITER
TIMEINCR=TIME1TIMEO
AREAO=TIMEINCR*(UPIN1 +UPINO)/2.DO
SUMO=SUMO + AREA
AREA =TIMEINCR*(OUTF1 +OUTFO)/2.DO
SUM1=SUM1 AREA1
AREA2=TIMEINCR*(RAIN_E1+RAIN_EO)/2.DO
SUM2=SUM2 + AREA
UPINO=UPIN1
OUTFO=OUTF1
RAIN EO=RAIN El
TIMEO=TIME1
C1= OUTF1
BIG1=DMAX1(BIG1,C1)
IF(C1.EQ.BIG1)THEN
TBIG=TIME1
QBIG=C1
ENDIF
IF(NZERO.EQ.1.AND.C1.GT.0.DO.AND.INI.EQ.0) THEN
TINI=TIME1
NZERO=0
INI=1
ELSEIF(NZERO.EQ.0.AND.C1.EQ.0.DO) THEN
NZERO=1
TEND=TIME1
ENDIF
IF(C1 .GT.0.DO)TEND=TIME1
10 CONTINUE
READ(13,*)
READ(13,*)
12 READ(13,'(A)')DUMMY
IDX=INDEX(DUMMY,'gsl')
IF(IDX.NE.0) GOTO 16
WRITE(10,*)DUMMY
176
GOTO 12
16 CONTINUE
WRITE(10,*)'OUTPUTS'
WRITE(10,*)'
30 WRITE(10,*)'Water balance'
WRITE(10,*)'
CCalculate total rainfall for event in m3 
TOTRAIN=TRAI*VL*FWIDTH
WRITE(10,600)TOTRAIN
Vout=SUM1
Vie=SUM2*VL*FWIDTH
Vin=SUMO
WRITE(10,300)Vin
WRITE(10,150)Vout
CWater and sediment balance for the event
WAT IN=Vin+TOTRAIN
VF=WAT IN Vout
if(AGA.LE.0.DO) VF=0.dO
WAT OUT= Vout+VF
WAT BAL=WAT INWAT OUT
WAT ERR=WAT BAL/WAT IN*100
WRITE(10,400)VF
WRITE(10,*)' '
WRITE(10,*)'Hydrology'
WRITE(10,*)'
WRITE(10,700)TINI
WRITE(10,800)TBIG, QBIG
WRITE(10,900)TEND
WRITE(10,*)' '
WRITE(10,*)'Sediment'
WRITE(10,*)'
TTE=0.DO
IF(GSIMASS.GT.0.DO) TTE=(GSIMASSGSOMASS)/GSIMASS
FWID=FWIDTH*100.DO
WRITE(10,1100)GSIMASS,GSIMASS*FWID
WRITE(10,1200)GSOMASS,GSOMASS*FWID
WRITE(10,1010)TTE*100
cSediment wedge final shape 
WRITE(10,*)'
WRITE(10,1250)
VLT=VLCMXTOLD
X1 =YTOLD/SC
WRITE(10,1300)YTOLD
WRITE(10,1400)XTOLD
WRITE(10,1500)VLT
WRITE(10,1600)X1
WRITE(10,1700)DEP
cMass balance  
GAMMASB=(1 .DOPOR)*PART(3)
IF(NFUP.EQ.0.AND.YTOLD.LT.H) THEN
cTriangular wedge
BMASS=(DEP*VLT+(XTOLD+X1)*YTOLD*0.5DO)*GAMMASB
ELSEIF(NFUP.EQ.0.ANDDYTOLD.EQ.H) THEN
cTrapezoidal wedge
X3=YTOLD/Se
X2=XTOLDX3
TRBOT=X1+X2+X3
TRTOP=X2
BMASS=.5DO*(TRTOP+TRBOT)*YTOLD*gammasb
cif strip is filled calculate as rectangle (H*VLCM)
ELSE
BMASS=(H*VLCM+(H/SC)*H*0.5DO)*GAMMASB
ENDIF
WRITE(10,1800)(BMASS(GSIMASSGSOMASS))/(GSIMASSGSOMASS)*100. DO
WRITE(10,1825)WAT_ERR
IF(NFUP.EQ.1) THEN
WRITE(10,1850)
ELSEIF(YTOLD.EQ.H) THEN
WRITE(10,1875)
ENDIF
c(02/1999)Filter performance summary output file 
WRITE(15,*)' '
WRITE(15,*)' Summary of Buffer Performance Indicators:'
WRITE(15,*)' '
WRITE(15,1900)SWIDTH*SLENGTH
WRITE(15,2000)SLENGTH
WRITE(15,2100)SWIDTH
WRITE(15,2200)VL
WRITE(15,2225)FWIDTH
WRITE(15,2250)VN1
WRITE(15,*)' '
WRITE(15,2300)VL/SLENGTH*1 00.dO
WRITE(15,2400)TOTRAIN/(FWI DTH*VL)*1000.dO
WRITE(15,2450)TOTRAIN
WRITE(15,2500)Vin/(SWIDTH*SLENGTH)*1000.dO
WRITE(15,2550)Vin
WRITE(15,2600)Vout/(SWIDTH*SLENGTH+FWIDTH*VL)*1 000.dO
WRITE(15,2650)Vout
WRITE(15,2675)VF
c rmc 04/20/03 Fix for Vin (Q)=0
if(Vin.le.0) then
WRITE(15,2685)0.dO
else
WRITE(15,2685)Vout/Vin
endif
c rmc 04/20/03 end of fix
WRITE(15,*)' '
SMIN=GSIMASS*FWID/1000.dO
WRITE(15,2700)SMIN
c rmc 04/20/03 Fix for Vin (Q)=0
if(Vin.le.0) then
WRITE(15,2800)0.dO
else
WRITE(15,2800)GSIMASS*FWID/(Vin*1000.dO)
endif
c rmc 04/20/03 end of fix
SMOUT=GSOMASS*FWID/1000.dO
WRITE(15,2900)SMOUT
c rmc 04/20/03 Fix for Vout=0
if(Vout.le.0) then
WRITE(15,3000)0.dO
else
WRITE(15,3000)GSOMASS*FWID/(Vout*1000.d0)
endif
c rmc 04/20/03 end of fix
WRITE(15,3050)(GSIMASSGSOMASS)*FWID/1000.dO
c rmc 04/20/03 Fix for Vln=0
if(Vout.le.0) then
WRITE(15,3075)0.dO
else
WRITE(15,3075)SMOUT/SMIN
endif
c rmc 04/20/03 end of fix
WRITE(15,*)' '
WRITE(15,3100)VLT/1 00.dO
WRITE(15,3200)XTOLD/1 00.dO
IF(NFUP.EQ.1) THEN
WRITE(15,1850)
ELSEIF(YTOLD.EQ.H) THEN
178
WRITE(15,1875)
ENDIF
c(08/2008)Water quality summary output file 
! IWQPRO used instead of IWQ
!IWQPRO 1=Sabbag 2=FEMADR 3=tarse
IF(IWQ.GT.0) THEN
IF(IWQPRO.EQ.1) THEN
IF (SMIN.EQ.0.DO) THEN
FPH=Vin*1000.D0/(VKD*0.001 DO)
ELSE
FPH=Vin*1000.D0/(VKD*SMIN)
ENDIF
PDQ=VF/WAT_IN*100.DO
PDSED=TTE*100.DO
DELTAP=24.79DO+.54DO*PDQ+.52*PDSED2.42DO*DLOG(FPH+1.DO).89DO*CCP
IF (DELTAP.GT.100.DO.OR.PDQ.GE.100.) DELTAP=100.DO
IF (PDQ.EQ.0.AND.PDSED.EQ.0.) DELTAP=0.DO
IF (DELTAP.LT.0.) DELTAP=0.DO
WRITE(18,*)
WRITE(18,*)'Outputs for pesticide trapping (Sabbagh et al. 2009)'
WRITE(18,*)'
WRITE(18,4000)VIN
WRITE(18,4100)SMIN
WRITE(18,4200)FPH
WRITE(18,4300)PDQ
WRITE(18,4400)PDSED
WRITE(18,4450)100. DO*(1Vout/Vin)
WRITE(18,*)
WRITE(18,4500)DELTAP
END if
cOutput message at end of program  
IF(ISCR.EQ.0) THEN
WRITE(*,*)
WRITE(*,*)'...FINISHED...','VFSMOD v5.0.0 03/2010'
WRITE(*,*)
ENDIF
150 FORMAT('Volume from outflow= ', E14.4,' m3')
200 FORMAT('Volume from i_e = ', E14.4,' m3',F14.2,'%')
300 FORMAT('Volume from upfield=', E14.4,' m3')
400 FORMAT('Volume infiltrated =', E14.4,' m3')
500 FORMAT(F8.2,3E12.4,16)
600 FORMAT('Volume from rainfall= ', E14.4,' m3')
700 FORMAT('Time to beginning =', E14.4,' s')
800 FORMAT('Time and q at peak = ', E14.4,' s',E14.4,' m3/s')
900 FORMAT('Time to end runoff = ', E14.4,' s')
1010 FORMAT('Trapping efficiency = ', F5.1,'%')
1100 FORMAT('Sediment inflow =', E14.4,'g/cm',E14.4,'g')
1200 FORMAT('Sediment outflow = ', E14.4,' g/cm',E14.4,' g')
1250 FORMAT('Sediment deposition :')
1300 FORMAT(8x,' Sediment wedge depth, Y(t) =',F7.2,'cm')
1400 FORMAT(8x,' Sediment wedge length, X2(t) =',F7.2,'cm')
1500 FORMAT(8x,' Effective filter length,L(t) =',F7.2,'cm')
1600 FORMAT(8x,' Sediment tail at field, X1(t) =',F7.2,'cm')
1700 FORMAT(8x,' Sediment depth in low section =',F7.2,'cm')
1800 FORMAT(8x,' Rough sediment balance error =',F7.2,'%')
1825 FORMAT(8x,' Rough water balance error =',F7.2,'%')
1850 format(/,66('*),/,* WARNING: Strip filled up!',37x,'*',
2 /,66('*'))
1875 format(/,67('*),/,* WARNING: Top of vegetation reached',
[ trapezoidal wedge started *',/,67('*'))
1900 FORMAT(1x,F8.2,' mA2 = Source Area (input)')
2000 FORMAT(1x,F8.2,' m = Source Flow Length (input)')
2100 FORMAT(1x,F8.2,' m = Source Area Width (input)')
2200 FORMAT(1x,F8.2,' m = Filter Strip Length (input)')
179
2225 FORMAT(1x,F8.2,' m = Filter Strip Width (input)')
2250 FORMAT(1x,F8.3,' = Mean Filter Mannings Roughness (input)')
2300 FORMAT(1x,F8.2,'% =',
a 'Ratio of Filter Length to Source Flow Length')
2400 FORMAT(1x,F8.3,' mm = Total Rainfall')
2450 FORMAT(1x,F8.3,' m3 = Total Rainfall on Filter')
2500 FORMAT(1x,F8.3,' mm = Total Runoff from Source (mm depth over',
[ Source Area)')
2550 FORMAT(1x,F8.3,' m3 = Total Runoff from Source')
2600 FORMAT(1x,F8.3,' mm = Total Runoff out from Filter (mm depth',
S' over Source+Filter)')
2650 FORMAT(1x,F8.3,' m3 = Total Runoff out from Filter')
2675 FORMAT(1x,F8.3,' m3 = Total Infiltration in Filter')
2685 FORMAT(lx,F8.3,' = Runoff Delivery Ratio')
2700 FORMAT(F10.3,' kg = Mass Sediment Input to Filter')
2800 FORMAT(F1 0.3,' g/L= Concentration Sediment in Runoff from',
2 'source Area')
2900 FORMAT(F10.3,' kg = Mass Sediment Output from Filter')
3000 FORMAT(F1 0.3,' g/L= Concentration Sediment in Runoff exiting',
S the Filter')
3050 FORMAT(F10.3,' kg = Mass Sediment retained in Filter')
3075 FORMAT(2x,F8.3,' = Sediment Delivery Ratio')
3100 FORMAT(1x,F8.2,' m = Effective Filter Length')
3200 FORMAT(1x,F8.2,' m = Wedge Distance')
4000 FORMAT(F10.3,' m3 = Runoff inflow')
4100 FORMAT(F1 0.3,' Kg = Sediment inflow')
4200 FORMAT(F10.3,' = Phase distribution, Fph')
4300 FORMAT(F10.3,' % = Infiltration (dQ)')
4400 FORMAT(F10.3,' % = Sediment reduction (dE)')
4450 FORMAT(F1 0.3,' % = Runoff inflow reduction')
4500 FORMAT(F10.3,' % = Pesticide reduction')
RETURN
END
SUBROUTINE QUADtrt
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
!C THE SUBROUTINE QUAD DEFINES THE VALUES OF THE PARAMETERS
!C REQUIRED FOR THE NUMERICAL INTEGRATION OF ELEMENT MATRICES
!C AND VECTORS. THESE DATA ARE PROBLEM INDEPENT AND ARE GIVEN
!C OVER THE INTERVAL [1,1].
!C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
IMPLICIT DOUBLE PRECISION (AH,OZ)
Dimension Xltrt(i,i),Wtrt(i,i)
COMMON/CINTtrt/Xltrt(4,4),Wtrt(4,4)
!C Gaussian Quadrature of order 1
Xltrt(1,1) = .DO
Wtrt(1,1) =2.DO
!C Gaussian Quadrature of order 2
Xltrt(1,2) = 1 .DO/DSQRT(3.DO)
Xltrt(2,2) = Xltrt(1,2)
Wtrt(1,2) = 1.DO
Wtrt(2,2) = Wtrt(1,2)
!C Gaussian Quadrature of order 3
Xltrt(1,3) = DSQRT(3.DO/5.DO)
Xltrt(2,3) = O.DO
Xltrt(3,3) = Xltrt(1,3)
Wtrt(1,3) = 5.DO/9.DO
Wtrt(2,3) = 8.DO/9.DO
Wtrt(3,3) = Wtrt(1,3)
!C Gaussian Quadrature of order 4
Xltrt(1,4)= 0.8611363116D0
Xltrt(2,4) = 0.3399810436DO
Xltrt(3,4) = Xltrt(2,4)
Xltrt(4,4) = Xltrt(1,4)
180
Wtrt(1,4) = 0.3478548451 DO
Wtrt(2,4) = 0.6521451549DO
Wtrt(3,4) = Wtrt(2,4)
Wtrt(4,4) = Wtrt(1,4)
RETURN
END
SUBROUTINE REACTION(Xtrt,N,LCOUNT,iTRTcount,LISFIL,FPI)
!From femadrTRT CALL REACTION(Xtrt,N,LCOUNT,iTRTcount,LISFIL)
! LCOUNT is the current time step number of the simulation
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH, OZ)
COMMON/RSE/bt,C1,flag,XMLinput,XMLoutput,XMLreac_set,ntot,nvarX,
dtRSE,numChem,nmob,nstab
COMMON/RSE2/STAB2,STAB3,STAB4,STAB5,STAB6,ISPLIT
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/SEDS/TSED,FSED,CSED,SEDVFS
CHARACTER*75 LISFIL(13)
DIMENSION Xtrt(MAXEQN)
DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN)
DIMENSION STAB5(MAXEQN), STAB6(MAXEQN)
DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN)
integer(kind=4) :: WQflagX,numChem,iTRTcount !
!C cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
!C RSE is called here as a postprocesing step of transport C
!C cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
numChem=1 number of chemical mobile compounds
M = N 1
if (numChem.eq.1) then
Do 40 J=2,M,1
call callRSE(DT,NDT,LCOUNT,Xtrt(J),iTRTcount,j,LISFIL,FPI)
Xtrt(j)=Xtrt(j)
STAB2(j)=STAB2(j)
N=M+1
40 continue
else
!add code here for handle 2 o more mobile pollutants calling RSE many times
end if
RETURN
end
Subroutine ReadlWQ2(LISFIL)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
C This subroutine read a .IWQ file to extract the data needed to run RSE. C
C The data read are: C
C A flag (to be used in vfsmod when RSE is used for simulation of pollutants C
C 2 XML files (input [eq's included here, and output [to check indexed]) C
C the reaction set used declaredd in the XML input file C
C number, name and data forthe mobile variables (used in the reactions) C
C number, name and data for the stabile variables (used in the reactions) C
C number, name and data forthe parameters (used in the reactions) C
C Flag for reading 4 intrinsic parameters (depth, x_vel, time_step, area) C
C that can be used in the equations (XML input files) C
C Once data are read, values are passed to the hydrodynamic driving program C
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/RSE/bt,C1,flag,XMLinput,XMLoutput,XMLreac_set,ntot,nvarX,
S dtRSE,numChem,nmob,nstab
COMMON/RSE2/STAB2,STAB3,STAB4,STAB5,STAB6,ISPLIT
COMMON/RSE3/Atrt,Atrt2,Atr3,BMtrt,BMtrt2,BMtrt3,Btrt,Btrt2,Btrt3
CHARACTER*75 LISFIL(13)
DIMENSION A(MAXEQN,MAXBND),BM(MAXEQN,MAXBND) ,B(MAXEQN)
DIMENSION X(MAXEQN) ,XO(MAXEQN),C2(50),C1 (50),
N DISLtrt(5),DISMtrt(3)
DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN)
DIMENSION STAB5(MAXEQN), STAB6(MAXEQN)
DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND),Btrt(MAXEQN)
DIMENSION Atrt2(MAXEQN,MAXBND),BMtrt2(MAXEQN,MAXBND),Btrt2(MAXEQN)
DIMENSION Atrt3(MAXEQN,MAXBND),BMtrt3(MAXEQN,MAXBND),Btrt3(MAXEQN)
Character(len=120), Dimension(50) :: varname
CHARACTER (len=120) :: XMLinputl,XMLinput
CHARACTER (len=120) ::XMLoutput
CHARACTER (len=120) :: XMLreac_set
integer(kind=4) :: WQflag,nmob,nstab,npar,tot,m,nvarX
Character (len=120) :: filename
CHARACTER*1 mm
OPEN(17,FILE=LISFIL(12))
!Opens and read input file .iwq for RSE
open (unit=33, file=filename)
read(17,*) WQflag !WQflag
SRead XML input file, XML outout file to check indexes, react set to be used in XML input file
read(17,*) XMLinput, XMLoutput, XMLreac_set
SRead mobile variables
read(17,*) nmob,(varname(i),C2(i),DISLtrt(i),DISMtrt(i),i=1,nmob)
If (nmob.eq.1) then
CONC1=C2(1)
DISL=DISLtrt(1)
DISM=DISMtrt(1)
ELSE
!NEED TO ADD AN OPTION FOR MORE MOBILE TRANSPORT PARAMETERS for more than
! one mobile component
endif
! Read stabile variables
read(17,*) nstab, (varname(j),C2(j),j=(nmob+1),(nmob+nstab))
nvarX=nmob+nstab
j=nmob+nstab
n=nmob+nstab
IF (nstab.eq.1) then
DO 10 I=1,MAXEQN
STAB2(1)=C2(2)
10 CONTINUE
end IF
IF (nstab.eq.2) then
DO 20 I=1,MAXEQN
STAB2(1)=C2(2)
STAB3(1)=C2(3)
20 CONTINUE
END IF
IF (nstab.eq.3) then
DO 30 I=1,MAXEQN
STAB2(1)=C2(2)
STAB3(1)=C2(3)
STAB4(1)=C2(4)
30 CONTINUE
END IF
IF (nstab.eq.4) then
DO 40 I=1,MAXEQN
STAB2(1)=C2(2)
STAB3(1)=C2(3)
STAB4(1)=C2(4)
STAB5(1)=C2(5)
40 CONTINUE
END IF
IF (nstab.eq.5) then
182
DO 50 I=1,MAXEQN
STAB2(1)=C2(2)
STAB3(1)=C2(3)
STAB4(1)=C2(4)
STAB5(1)=C2(5)
STAB6(1)=C2(6)
50 CONTINUE
END IF
SRead parameter to be used (usually declared to be used in the set of equatiuons)
k=j+27+6+1
j=k
!(19 intrinsic + 8 dispersiondifussion parameters = 27; +6 for:
TSED,FSED,CSED,SEDVFS,INFRATE,HRO)
read(17,*) npar, (varname(k),C2(k),k=j,(j+npar1)) !
SRead intrincsic values of depth, x_vel_ol, time_step, area if m="1"
READ(17,*)mm
m=INDEX(mm,'1')
IF(m.EQ.1) then
read(17,*) varname(n+2),C2(n+2),varname(n+16),C2(n+16),
varname(n+20),C2(n+20),varname(n+1 ),C2(n+1)
dtRSE=C2(n+20)
end if
tot=j+npar1
C1=C2 !Return vector to the hydrodynamic driving program
!ntoto Returns the total number of indexes (Estimated. To confirm order, check XML output)
ntot=tot
close(17)
end
Subroutine runRSE(M,WW,VV,rk_orderl ,time_step ,input_filenamelC,output_filenamelC,reaction_setiC,initl)
use IFPORT
implicit none
print *, 'Test 1: ', M
Real(kind=8), Dimension(50) :: WW
integer(kind=4) :: M,VV
Integer(kind=4) :: a, b, initl
Integer(kind=4) :: nvals,varnum
Integer(kind=4) :: rk_orderrk_orderl Either 2 or 4
Real(kind=8) :: time_step, time_step1, temp_dt
Real(kind=8), Dimension(M) ::vars
CHARACTER (len=120) :: input_filename,input_filenamel
CHARACTER (len=120) :: output_filename, output_filenamel
CHARACTER (len=120) :: reaction_set, reaction_set1
integer*l, Dimension (50):: input_filenamelC, output_filenamelC, reaction_setlC
integer*1, Dimension (50):: input_filenamelA, output_filenamelA, reaction_setlA
Interface to Subroutine Initialize (input_xml, output_xml, rsname)
!DEC$ Attributes C, DLLIMPORT, alias: Initialize" :: Initialize
integer*1, Dimension (50):: input_xml, output_xml, rsname
!new input files as arrays of chars instead of strings
!DEC$ Attributes REFERENCE :: input_xml
!DEC$ Attributes REFERENCE :: output_xml
!DEC$ Attributes REFERENCE :: rsname
END
Interface to Subroutine PreSolve ( num_var, vars)
!DEC$ Attributes C, DLLIMPORT, alias: "_PreSolve":: PreSolve
Integer(kind=4) :: num_var
Real(kind=8), Dimension(num_var) :: vars
End
Interface to Subroutine PostSolve ( num_var, vars)
!DEC$ Attributes C, DLLIMPORT, alias: "_PostSolve":: PostSolve
Integer(kind=4) :: num_var
Real(kind=8), Dimension(num_var) :: vars
End
Interface to Subroutine RKSolve (time_step, order, num_var, vars)
183
!DEC$ Attributes C, DLLIMPORT, alias: "_RKSolve":: RKSolve
Integer(kind=4) :: num_var
Integer(kind=4) :: order
Real(kind=8) :: time_step
Real(kind=8), Dimension(num_var) :: vars
End
Interface to Subroutine SetGlobalValues ( num_var, vars)
!DEC$ Attributes C, DLLIMPORT, alias: "_SetGlobalValues":: SetGlobalValues
Integer(kind=4) :: num_var
Real(kind=8), Dimension(num_var) :: vars
End
nvals = M
rk order = rk order
time_step = time_stepl
Name of the input xml file (here, wq_input_file.xml)
input_filenamelA = input_filenamel C
Name of the component output file, only used to double check the inputs
output_filenamelA = output_filename1C
Name of the reaction set to use set to the same as in the input xml file
reaction setlA = reaction setlC
MUST initialize the passed in values to 0.0!!!
New values oc conc's are stored here @ vars
Do a = 1, nvals
vars(a) = 0.0
Enddo
SPass the values form previous itetration (W) to vars
Do a = 1, nvals
vars(a) = WW(a)
Enddo
do a=1, VV
temp_dt=temp_dt+time_stepl
!enddo
!Initialize intime step = 1, skip for the rest of the simulation.
if (initl.eq.1) CALL Initialize( input_filenamelA, output_filenamelA, reaction_setlA )
CALL PreSolve(nvals, vars)
CALL RKSolve(time_step, rk_order, nvals, vars)
CALL PostSolve(nvals, vars)
Doa = 1, nvals
WW(a) = vars(a)
!return new data to WWto be passed to the calling hydrodynamic program
Enddo
return
end
Subroutine SedLoadTRT(COARSE,YT,XT,GS2,GSO,FWID,NODEX,XPOINTS,N,
F FI,FRAC)
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
C This subroutine calculates the sediments in runoff and deposited on VFS C
C in every node. Where: C
C TSED: Concentration of total sediments in runoff, g/m3 C
C CSED: Concentration of coarse sediments in runoff, g/m3 C
C FSED: Concentration of fine sediments in runoff, g/m3 C
C SEDVFS: Concentration of sediments deposited on VFS, g/m3 C
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
COMMON/PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
COMMON/GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO
COMMON/GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3)
COMMON/GRASSD3/SUSMASS,WEDGEMASS,NFUP
COMMON/OLD/SEOLD,GSIOLD,FOLD,D,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD
COMMON/FLOWPAR/XO,QO
COMMON/SEDS/TSED,FSED,CSED,SEDVFS
DIMENSION QO(MAXEQN),XO(MAXEQN)
184
DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN)
DIMENSION XPOINTS(3),NODEX(4)
!Calculation for Sed Conc in runoff on triagular wedgeZone
IF (NODEX(4).eq.1) then
!Sed's runoff concentration in wedge slope (X2 zone)
IF (NODEX(2).gt.1) then
SLOPEW=(GS2GSI)/(NODEX(2)1)
DO 10i=1, nodex(2)
TSED(i)=(SLOPEW*(i1)+GSI)*FWID/Q0(i)
CSED(i)=(1FI)*TSED(i)
FSED(i)=TSED(i)CSED(i)
10 CONTINUE
ELSE
This options means no wedge section developed
TSED(1)=(GSI)*FWID/Q0(i)
CSED(1)=COARSE*TSED(1)
FSED(1)=(1 COARSE)*TSED(1)
END IF
Calculation for Sed Conc in runoff suspended load zone
IF (GS2.GT.0) then
SLOPELT=(GSOGS2)/(NNODEX(2))
IF (SLOPELT.gt.0) then
! when slopelt>0 GS2 & GSO are different, the calculate
! sediment concentration in runoff by linear decrement
DO 30 i=NODEX(2), N
if (i.eq.1) then
TSED(1 )=GS2*FWID/QO(i)
CSED(i)=(1FI)*TSED(i)
FSED(i)=TSED(i)CSED(i)
else
TSED(i)=(SLOPELT*(iNODEX(2))+GS2)* FWID/QO(i)
CSED(i)=(1FI)*TSED(i)
FSED(i)=TSED(i)CSED(i)
end if
30 CONTINUE
end if
IF (SLOPELT.eq.0) then
! when slopelt=0 GS2=GSO, then concentration is constant
DO 35 i=NODEX(2), N
TSED(1 )=GS2*FWID/QO(i)
CSED(i)=(1FI)*TSED(i)
FSED(i)=TSED(i)CSED(i)
35 CONTINUE
end if
end if
END IF
!Trapezoidal wedge developed
!No change in conc. forZone(A) of wedge
IF ((NODEX(4).gt.1).and.(NODEX(4).It.N)) then
DO 40 i=1,NODEX(4)
TSED(i)=GSI*FWID/QO(i)
FSED(i)=(1COARSE)*TSED(i)
CSED(i)=COARSE*TSED(i)
40 CONTINUE
!Sed's runoff Conc in zone (B) of wedge
SLOPEW=(GS2GSI)/(NODEX(2)NODEX(4))
DO 50 i=NODEX(4), nodex(2)
TSED(i)=(S LOPEW*(iNODEX(4))+GSI)*FWI D/QO(i)
CSED(i)=(1FI)*TSED(i)
FSED(i)=TSED(i)CSED(i)
50 CONTINUE
!Sed's runoff concentration in Suspended Load Zone
DO 60 i=NODEX(2), N
TSED(i)=(S LOPELT*(iNODEX(2))+GS2)*FWID/Q0(i)
CSED(i)=(1FI)*TSED(i)
FSED(i)=TSED(i)CSED(i)
185
60 CONTINUE
end if
END IF
! When the filter is full, GSO=GSI
IF (NODEX(4).eq.N) then
DO 70 i=1, N
TSED(i)=GSI*FWID/QO(i)
FSED(i)=(1 COARSE)*TSED(i)
CSED(i)=COARSE*TSED(i)
70 CONTINUE
END IF
 Desposited sediment concentration on VFS  
! sediment concentration in Suspended Sediment Zone
VOLSEDLT=FWID*VLT*DEP
VOLSEDLT2=VOLSEDLT*POR
ZMASSLT=VOLSEDLT2*PART(3)
DO 80 i=NODEX(2), N
SEDVFS(i)=ZMASSLT/VOLSEDLT*1 E6
! 1 E6 transform g/cm3 to g/m3
80 CONTINUE
SIF no wedge zone, then all is taken as suspended sediment zone
if (YT.eq.0) then
VOLSEDLT=FWID*VLCM*DEP
VOLSEDLT2=VOLSEDLT*POR
ZMASSLT=VOLSEDLT2*PART(3)
DO 90 i=1, N
SEDVFS(i)=ZMASSLT/VOLSEDLT*1 E6
S1 E6 transform g/cm3 to g/m3
90 CONTINUE
end if
! Time step in cm
DXcm=VX*100
!Sed's runoff concentration in wedge slope (X2 zone)
IF (YT.gt.0) then
IF (NODEX(4).eq.1) then
IF (NODEX(2).gt.1) then
SLOPEW=YT/XPOINTS(2)
DO 100 i=1, nodex(2)
YTi=S LOP EW*(i*DXcm)+YT
VOLSE DLT=FWID*DXcm*YTi
VOLSEDLT2=VOLSEDLT*POR
ZMASSLT=VOLSEDLT2*PART(3)
SEDVFS(i)=ZMASSLT/VOLSEDLT*1 E6
100 CONTINUE
ELSE
!This options means no wedge section developed
!Nodex(1)(2) and (4) are the same (node 1)
VO LSE DLT=FWI D* DXcm*YT
VOLSEDLT2=VOLSEDLT*POR
ZMASSLT=VOLSEDLT2*PART(3)
SEDVFS(1)=ZMASSLT/VOLSEDLT*1 E6
END IF
END IF
END IF
! This option accounts for a trapezoidal wedge
!Sediemnt concentration constant in wedge (Section A)
IF ((NODEX(4).gt.1).and.(NODEX(4).It.N)) then
DO 110 i=1,NODEX(4)
VOLSEDLT= FWID*DXcm*YT
VOLSEDLT2=VOLSEDLT*POR
186
ZMASS LT=VOLS EDLT2*PART(3)
SEDVFS(i)=ZMASSLT/VOLSEDLT*1 E6
110 CONTINUE
! Sed's runoff Conc in zone (B) of wedge
SLOPEW=YT/(NODEX(2)*DXcmNODEX(4)*DXcm)
IF (NODEX(2)NODEX(4).gt.O) then
DO 120 i=NODEX(4), nodex(2)
YTi=S LOP EW*(i*DXcm)+YT
VOLSEDLT=FWID*DXcm*YTi
VOLSEDLT2=VOLSEDLT*POR
ZMASSLT=VOLSEDLT2*PART(3)
SEDVFS(i)=ZMASSLT/VOLSEDLT*1 E6
120 CONTINUE
end if
END IF
! When the filter is full, DEP=YT
IF (NODEX(4).eq.N) then
VOLSEDLT=FWID*VLT*YT
VOLSEDLT2=VOLSEDLT*POR
ZMASSLT=VOLSEDLT2*PART(3)
DO 130 i=NODEX(2), N
SEDVFS(i)=ZMASSLT/VOLSEDLT*1 E6
! 1 E6 transform g/cm3 to g/m3
130 CONTINUE
END IF
return
end
SUBROUTINE SHAPEtrt(XI,N,PSI,DPSI)
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
!C SUBROUTINE SHAPE CALCULATES THE VALUES OF THE SHAPE
!C FUNCTION PSI AND THEIR DERIVATIVES DPSI WITH RESPECT TO
!C THE MASTER ELEMENT COORDINATES AT A SPECIFIED VALUE OF XI.
!C
!C ANY TYPICAL ELEMENT = [X1,Xk+1] CONSISTING OF k+1 NODES
!C X1,..., Xk+1 IS ALWAYS NORMALIZED INTO THE MASTER
!C ELEMENT = [1,1] BY THE TRANSFORMATION OVER A TYPICAL
!C ELEMENT [X1,Xk+1] THERE EXIST k+1 ELEMENT SHAPE FUNCTIONS
!C PSI, EACH IS A POLYNOMIAL OF DEGREE k.
!C
!C XI: THE MASTER COORDINATE OF THE POINT AT WHICH
!C VALUES OF PSI AND D PSI ARE DESIRED
!C N : NUMBER OF NODES IN THE ELEMENT
!C (AND HENCE NUMBER OF SHAPE FUNCTIONS)
!C PSI(I): THE ITH SHAPE FUNCTION AT XI
!C DPSI(I) : THE DERIVATIVE OF THE ITH SHAPE FUNCTION AT XI
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
IMPLICIT DOUBLE PRECISION (AH,OZ)
DIMENSION PSI(4),DPSI(4)
IF (N.LT.2.OR.N.GT.4) GO TO 99
GO TO (99,10,20,30) N
!C Linear Basis functions 
10 PSI(1)= .5DO*(1.DOXI)
PSI(2) = .5DO*(1.DO+XI)
DPSI(1)= .5DO
DPSI(2)= .5DO
RETURN
!C Quadratic basis functions 
20 PSI(1) = X*(X I1 .DO)*0.5DO
PSI(2) = 1.DOXI**2.DO
PSI(3) = XI*(XI+1.DO)*0.5DO
DPSI(1)= XI0.5DO
DPSI(2)= 2.D0*XI
DPSI(3)= XI+0.5DO
RETURN
!C Cubic shape function
30 PSI(1) = 9.DO/16.DO*(1.D0/9.DOXI**2.DO)*(XI1.DO)
PSI(2) = 27.DO/16.DO*(1.DOXI**2.DO)*(1.D0/3.DOXI)
PSI(3) = 27.DO/16.DO*(1.DOXI**2.DO)*(1.D0/3.DO+XI)
PSI(4) = 9.DO/16.DO*(1.D0/9.DOXI**2.DO)*(1.DO+XI)
DPSI(1)= 9.DO/16.DO*(3.DO*XI**22.DO*XI1.D0/9.DO)
DPSI(2)= 27.D0/1 6.DO*(3.DO*XI**22.D0/3.DO*XI1.DO)
DPSI(3)= 27.DO/16.DO*(3.DO*XI**22.D0/3.DO*XI+1 .DO)
DPSI(4)= 9.DO/16.DO*(3.DO*XI**22.DO*XI+1.D0/9.DO)
RETURN
99 WRITE(6,*) 'ERROR IN CALLING TO SHAPE (NPOL OUT OF RANGE)=',N
STOP
END
SUBROUTINE SOLVE(A,B,X,N,NBAND)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C C
C SOLVE THE TRANSFORMED MATRIX A USING A BACKWARD AND FORWARD SUBTITUTION C
C SUCH: [A] {x}= {b} C
C Since [A]= [L].[U] then [L][U]{x} = [L]([U]{x})= [L]{y}= {b} C
C solving [L]{y}=b (forward subtitution) C
C [U]{x}=y (backward substitution) C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH, OZ)
DIMENSION A(MAXEQN,MAXBND), B(MAXEQN), X(MAXEQN)
NDIAG = (NBAND/2)+1
NMAX= NBANDNDIAG
M = N 1
DO 10 = 1,M
NA = NMAX
IF(NA .GT. N I) NA = N I
DO 10J= 1,NA
B(I+J) = B(I+J)+A(I+J,NDIAGJ)*B(I)
10 CONTINUE
X(N) = B(N)/A(N,NDIAG)
DO 20 J = M,1,1
NA = NMAX
IF(NA .GT. N J) NA= N J
DO 30 K = 1,NA
B(J) = B(J)X(J+K)*A(J,NDIAG+K)
30 CONTINUE
X(J) = B(J)/A(J,NDIAG)
20 CONTINUE
RETURN
END
SUBROUTINE WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,FPI,rainWQ)
188
!from vfsmod call WQSUB(TIM E,NBAND,N,LISFI L,iTRTcount,Lco unt,rainWQ)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C C
C Water quality component skeleton C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
PARAMETER (MAXEQN=1001 ,MAXBND=40)
IMPLICIT DOUBLE PRECISION (AH,OZ)
CHARACTER*75 LISFIL(1 3)
COMMON/WQ1/VKD,CCP,IWQPRO
call pestices, femadrortarse based on IWQPRO (2 or3)
if (IWQPRO.GT.1) call FEMADR(iTRTcount,LCOUNT,TIME,LISFIL,
O NBAND,N,FPI,rainWQ)
RETURN
END
189
LIST OF REFERENCES
AbuZreig, M., 2001. Factors affecting sediment trapping in vegetated filter strips:
simulation study using VFSMOD. Hydrological Processes 15, 14771488.
AbuZreig, M., R. P. Rudra, H. R. Whiteley, M. N. LalondeN. K. Kaushik, 2003.
Phosphorus removal in vegetated filter strips. Journal of Environmental Quality
32, 613619.
Ahuja, L. R., 1982. Release of a Soluble Chemical from Soil to Runoff. Transactions of
the Asae 25, 948&.
Barry, D. A., K. Bajracharya, M. Crapper, H. PrommerC. J. Cunningham, 2000.
Comparison of splitoperator methods for solving coupled chemical non
equilibrium reaction/groundwater transport models. Mathematics and Computers
in Simulation 53, 113127.
Barry, D. A., K. BajracharyaC. T. Miller, 1996a. Alternative splitoperator approach for
solving chemical reaction groundwater transport models. Advances in Water
Resources 19, 261275.
Barry, D. A., C. T. Miller, P. J. CulliganK. Bajracharya, 1997. Analysis of split operator
methods for nonlinear and multispecies groundwater chemical transport models.
Mathematics and Computers in Simulation 43, 331341.
Barry, D. A., C. T. MillerP. J. CulliganHensley, 1996b. Temporal discretisation errors in
noniterative splitoperator approaches to solving chemical reaction groundwater
transport models. Journal of Contaminant Hydrology 22, 117.
Chu, S. T., 1978. Infiltration during an Unsteady Rain. Water Resources Research 14,
461466.
EPA, 2010. Watershed Central Inventory. Models, from
http://www.epa.gov/watershedcentral/inventory.html#Models.
Gao, B., M. T. Walter, T. S. Steenhuis, W. L. HogarthJ. Y. Parlange, 2004. Rainfall
induced chemical transport from soil to runoff: theory and experiments. Journal of
Hydrology 295, 291304.
James, A. I., 2008a. ReactMod (RSE) implementation (unpublished), Soil andWater
Engineering Technology, Inc.
James, A. I., 2008b. Transport and Reaction Simulation Engine (TARSE): Model
Structure and Implementation. Gainesville, Fl, Soil andWater Engineering
Technology, Inc.: 54 p.
190
James, A. I., 2008c. Water Quality for the South Florida Water Management District
Regional Simulation Mode(RSMWQ). Model User Documentation, Soil and
Water Engineering Technology, Inc. : 39 p.
James, A. I., J. W. JawitzR. MuiozCarpena, 2009. Development and Implementation
of a Transport Method for the Transport and Reaction Simulation Engine
(TaRSE) based on the GodunovMixed Finite Element Method, U.S. Geological
Survey Scientific Investigations: Report 20095034: 40 p.
Jawitz, J. W., R. MuiozCarpena, S. J. Muller, K. A. GraceA. I. Jamesa, 2008.
Development, Testing, and Sensitivity and Uncertainty Analyses of a Transport
and Reaction Simulation Engine (TaRSE) for Spatially Distributed Modeling of
Phosphorus in the Peat Marsh Wetlands of Southern Florida. Scientific
Investigations Report 20085029, U.S. Geological Survey.
Kadlec, R. H.S. Wallace, 2008. Treatment Wetlands, CRC Press.
Kaluarachchi, J. J.J. Morshed, 1995. CriticalAssessment of the OperatorSplitting
Technique in Solving the AdvectionDispersion Reaction Equation .1. FirstOrder
Reaction. Advances in Water Resources 18, 89100.
Kuo, Y.M., 2007. Vegetative Filter Strips to control surface runoff phosphorus from
mining sand tailings in the upper Peace river basin of Central Florida. Agricultural
and Biological Engineering. Gainesville, University of Florida. Ph. D. Dissertation:
241.
Kuo, Y. M., W. G. Harris, R. MuiozCarpena, R. D. RhueY. C. Li, 2009. Apatite Control
of Phosphorus Release to Runoff from Soils of Phosphate Mine Reclamation
Areas. Water Air and Soil Pollution 202, 189198.
Kuo, Y. M.R. MuiozCarpena, 2009. Simplified modeling of phosphorus removal by
vegetative filter strips to control runoff pollution from phosphate mining areas.
Journal of Hydrology 378, 343354.
Liu, X. M., X. Y. MangM. H. Zhang, 2008. Major factors influencing the efficacy of
vegetated buffers on sediment trapping: A review and analysis. Journal of
Environmental Quality 37, 16671674.
Miller, C. T., 1991. Coursework material for ENV 281 Modeling groundwater systems,
University of North Carolina at Chapel Hill.
Morshed, J.J. J. Kaluarachchi, 1995. CriticalAssessment of the OperatorSplitting
Technique in Solving the AdvectionDispersion Reaction Equation .2. Monod
Kinetics and Coupled Transport. Advances in Water Resources 18, 101110.
MurozCaperna, R., 1993. Modeling hydrology and sediment transport on vegetative
filter strips. Raleigh, North Calorina State University. Ph. D: 242.
MurozCarpena, R., C. T. MillerJ. E. Parsons, 1993a. A Quadratic PetrovGalerkin
Solution for Kinematic Wave OverlandFlow. Water Resources Research 29,
26152627.
MurozCarpena, R.J. E. Parsons, 2004. A design procedure for vegetative filter strips
using VFSMODW. Transactions of the Asae 47, 19331941.
MurozCarpena, R.J. E. Parsons, 2005. VFSMODW. Model documentation and user's
manual. University of Florida.
MurozCarpena, R.J. E. Parsons, 2010. VFSMODW. Model documentation and user's
manual. Version 5.x. University of Florida.
MurozCarpena, R., J. E. ParsonsJ. W. Gilliam, 1999. Modeling hydrology and
sediment transport in vegetative filter strips. Journal of Hydrology 214, 111129.
MurozCarpena, R., J. E. ParsonsJ. W. Guilliam, 1993b. Numerical approach to the
overland flow process in vegetative filter strips. Transactions of ASAE 36(3), 761
770.
Neitsch, S. L., J. G. Arnold, J. R. Kiniry, J. R. WilliamsK. W. King, 2002. Soil and Water
Assessment Tool Theoretical Documentation. USARS.
Packman, A. I., N. H. BrooksJ. J. Morgan, 2000. A physicochemical model for colloid
exchange between a stream and a sand streambed with bed forms. Water
Resources Research 36, 23512361.
Rudra, R. P., N. Gupta, S. SebtiB. Gharabaghi, 2002. Incorporation of a phosphorus
component to the upland hydrology module of the VFSMOD model. ASAE
Meeting Paper No. 022078.
Sabbagh, G. J., G. A. Fox, A. Kamanzi, B. RoepkeJ. Z. Tang, 2009. Effectiveness of
Vegetative Filter Strips in Reducing Pesticide Loading: Quantifying Pesticide
Trapping Efficiency. Journal of Environmental Quality 38, 762771.
Sabbagh, G. J., G. A. Fox, R. MunozCarpenaM. F. Lenz, 2010. Revised Framework for
Pesticide Aquatic Environmental Exposure Assessment that Accounts for
Vegetative Filter Strips. Environmental Science & Technology 44, 38393845.
Schaffranek, R. W., 2004. Simulation of surfacewater integrated flow and transport in
two dimensions: SWIFT2D user's manual, U.S. Geological Survey. U.S.
Geological Survey Techniques and Methods, 6 B1: 115 p.
192
Simpson, M. J.K. A. Landman, 2007. Analysis of split operator methods applied to
reactive transport with Monod kinetics. Advances in Water Resources 30, 2026
2033.
Simpson, M. J.K. A. Landman, 2008. Theoretical analysis and physical interpretation of
temporal truncation errors in operator split algorithms. Mathematics and
Computers in Simulation 77, 921.
Skaggs, R. W.R. Khaheel (1982). Chapter 4: Infiltration. Hydrology modeling of small
watersheds. C. T. Haan, H. P. JohnsonD. L. Brakensie. St. Joseph, Mi, American
Society of Agricultural Engineers. Nomograph No. 5: 121168.
Slawski, T., 2010. Managing the water's edge Making Natural Connection. S. W. R. P.
Commission. Waukesha, WI: 23.
Steenhuis, T. S., J. Boll, G. Shalit, J. S. Selkerl. A. Merwin, 1994. A Simple Equation for
Predicting Preferential Flow Solute Concentrations. Journal of Environmental
Quality 23, 10581064.
van Genuchten, M. T. A., W. J, 1982. Anlytical solutions of the onedimensional
convectivedispersive solute transport equation. Technical Bulletin 1661.
Wallach, R., 1991. Runoff Contamination by Soil Chemicals Time Scale Approach.
Water Resources Research 27, 215223.
Wallach, R., W. A. JuryW. F. Spencer, 1989. The Concept of Convective MassTransfer
for Prediction of SurfaceRunoff Pollution by Soil Surface Applied Chemicals.
Transactions of the Asae 32, 906912.
Wallach, R.M. T. Vangenuchten, 1990. A Physically Based Model for Predicting Solute
Transfer from Soil Solution to RainfallInduced Runoff Water. Water Resources
Research 26, 21192126.
Walton, R. S., R. E. Volker, K. L. BristowK. R. J. Smettem, 2000. Solute transport by
surface runoff from lowangle slopes: theory and application. Hydrological
Processes 14, 11391158.
Yu, C., R. MuiozCarpenaB. Gao, 2010. Surface Transport of Colloidal Particles
through Dense Vegetation. Experimental Results. Unpublished. Agricultural and
Biological Engineering Department. University of Florida.
Zhang, Q., C. G. OkorenK. R. Mankin, 2001. Modeling Fecal Pathogen Transport in
Vegetative Filter Strips. ASAE Meeting Paper No. 012194.
Zhang, X. C., D. NortonM. A. Nearing, 1997. Chemical transfer from soil solution to
surface runoff. Water Resources Research 33, 809815.
193
Zheng, C.G. D. Bennett, 2002. Applied Contaminant Transport Modeling, Wiley
Interscience.
194
BIOGRAPHICAL SKETCH
Born in Mexico in 1975, Oscar Perez Ovilla received a bachelor's degree in
chemical engineering from the Instituto Tecnol6gico de Tuxtla Gutierrez (Institute of
Technology of Tuxtla Gutierrez), Mexico in 1999, and a master's degree in
environmental hydraulics engineering from the Universidad Aut6noma de Chiapas
(Autonomous University of Chiapas), Mexico in 2003. He worked as an environmental
consultant in Mexico from 2001 to 2003 and in the Environmental Protection Direction of
Chiapas, Mexico from 2003 to 2005. He enjoys having time with his family and playing
soccer. He received his Ph.D. in agricultural and biological engineering from the
University of Florida in August 2010.
195
PAGE 1
1 MODELING RUNOFF POLLUTANT DYNAMICS THROUGH VEGETATIVE FILTER STRIPS: A FLEXIBLE NUMERICAL APPROACH By OSCAR PEREZ OVILLA 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 2010
PAGE 2
2 2010 Oscar Prez Ovilla
PAGE 3
3 A la memoria de mi abuelito Alfredo Ovilla Gutirrez a quien recuerdo con mucho amor y respeto. (To the memory of my grandfather Alfredo Ovilla Gutierrez+, who I remember with much love and respect) A mi esposa, Paola, por ser mi amor platnico y el ala que necesitaba para levantar el vuelo de mi vidaTuyo soy. (To my wife, Paola, to be my love and th e wing I needed to ta ke the flight of my life I am only yours.) A mis hijos, Paulette y ngel, porque con su amor llenan de luz mi vida. (To my kids, Paulette and Angel, because with their love t hey fill my life). A mis p adre s Oscar y Maria Alba, y hermanos Luis y Carlos porque siem pre nunca han dejado de creer en m (To my parents and brothers, because they have never stopped to believ ing me ) A todos aquellos que no han llegado a cumplir sus sueos nimo, si se puede! (To all of you, who have not seen your dreams become true Bel ieve, you can do it!.)
PAGE 4
4 ACKNOWLEDGMENTS To my advisor, Dr. Rafael Muoz Carpena, who has not only been the academic teacher I needed to learn from, but who has also showed me his most human side to help me grow as a professional and a human being. Thank y ou for your trust in me. To Dr. Michael Annable, who helped me in my first steps at the University of Florida. To my professors Dr. Greg Kiker, Dr. Yuncong Li, Dr. Andrew James and Dr. Kirk Hatfield, who helped me so much with their knowledge and wise adv ice during my studies at the University of Florida. A special thanks to Dr. Bin Gao, who helped and guided me during the experimental testing of my work. Thanks to Mr. Paul Lane, who has unconditionally helped me with my fieldwork. Thank to the personnel o f the Bureau of Mine Reclamation at Bartow, FL and the Florida Department of Environmental Protection for supporting this work. To my friends at the ABE Department: David, Zuzanna, Stuart, Gareth and William, who were with me unconditionally giving the support and friendship I needed during hard times. Thanks for walking together.
PAGE 5
5 TABLE OF CONTENTS page ACKNOWLEDGMENTS ...................................................................................................... 4 LIST OF TABLES ................................................................................................................ 8 LIST OF FIGURES ............................................................................................................ 10 LIST OF ABBREVIATIONS .............................................................................................. 12 LIST OF SY MBOLS .......................................................................................................... 13 ABSTRACT ........................................................................................................................ 15 CHAPTER 1 INTRODUCTION ........................................................................................................ 18 2 FLEXIBLE MODELING OF POLLUTANT TRANSPORT TRHOUGH DENSE VEGETATION FOR STEADY SURFACE RUNOFF CONDITIONS ......................... 21 2.1. Introduction ........................................................................................................ 21 2.2. Model Development ........................................................................................... 25 2.2.1 The Finite Elements Transport Module .................................................. 25 2.2.2 The Reactive Module .............................................................................. 33 2.2.3 Linkage between Transport and Reaction Components Split Operator .................................................................................................. 37 2.3. Model Testing ..................................................................................................... 39 2.3.1 TR FEM Transport Model Testing .......................................................... 41 2.3.2 Coupled TR RSE and TRT Split Operator Methods Testing ................ 44 2.4. Results ............................................................................................................... 45 2.4.1 Non Reactive Scenarios ......................................................................... 45 2.4.2 Reactive Scenarios ................................................................................. 48 2.5. Discussion of Results ........................................................................................ 52 2.5.1 Non Reactive Solute Scenarios ............................................................. 52 2.5.2 Reactive Solute Scenarios ..................................................................... 53 2.6. Conclusions ........................................................................................................ 54 3 LABORATORY SCA LE TESTING OF A FLEXIBLE MODEL FOR SIMULATING POLLUTANT TRANSPORT IN DYNAMIC RUNOFF THROUGH VEGETATIVE FILTER STRIPS .......................................................................................................... 56 3.1 Introduction ........................................................................................................ 56 3.2 Model Development ........................................................................................... 58 3.2.1 Hydrology and Sediment Transport Model (VFSMOD W) .................... 58 3.2.2 Effect of Pollutant Dilution by Rain ......................................................... 62
PAGE 6
6 3.2.3 Chemical Transport Module (TRT) ........................................................ 64 3.2.4 Model Linkage ......................................................................................... 65 3.3 Model Testing ..................................................................................................... 67 3.3.1 Experimental Setup ................................................................................ 68 3.3.2 Co nceptual Model ................................................................................... 70 3.3.3 Input Parameters for the Water Quality Module .................................... 74 3.3.4 Model Testing Procedure ....................................................................... 75 3.4 Results ............................................................................................................... 76 3.4.1 Experimental Results .............................................................................. 76 3.4.2 Water Balances using VFSMOD W ....................................................... 78 3.4.3 Bromide Simulations using VFSMOD W with the TRT Module ............ 79 3.4.4 Sensitivity Analysis of Transport Component ........................................ 82 3.5 Conclusions ........................................................................................................ 84 4 FIELD SCALE TESTING OF A FLEXIBLE MODEL FOR SIMULATING MINING TAILINGS PHOSPHORUS TRANSPORT IN RUNOFF USING VFSMODW ......... 86 4.1 Introduction ........................................................................................................ 86 4.2 Experiment D escription ..................................................................................... 87 4.3 Experimental Results ......................................................................................... 90 4.4 Model Inputs and Sensitivity Analysis ............................................................... 93 4.4.1 Hydrological and Water Quality Data ..................................................... 93 4.4.2 Chemical Conceptual Model .................................................................. 95 4.5 Model Testing ..................................................................................................... 97 4.5.1 Effect of Apatite Dissolution in Runoff .................................................... 98 4.5.2 Sensitivity Analysis of Phosphorus Release From Apatite ................. 100 4.6 Discussion of Results ...................................................................................... 102 4.7 Co nclusions ...................................................................................................... 104 5 CONCLUSIONS ........................................................................................................ 106 5.1 General Conclusions ....................................................................................... 106 5.2 Limi tations ........................................................................................................ 107 5.3 Future Research .............................................................................................. 108 APPENDIX A INPUT FILES FOR ANALYTICAL AND EXPERIMENTAL TESTING .................... 109 Tables A 1 to A 12 .................................................................................................... 110 Analytical Solutions ................................................................................................... 114 Input Pollutant Concentration as a Pulse and Continuous Without Reactive Term. ..................................................................................................... 114 Input Pollutant as a Function of Time Without Reactive Term. ...................... 115 Input Pollutant Concentration as a Pulse and Continuous with Reactive Term. ..................................................................................................... 116 Input Pollutant as a Function of Time with Reactive Term. ............................ 117
PAGE 7
7 RSE Reactive Module Testing ................................................................................. 118 Water Quality Input File Structure for VFSMOD ...................................................... 121 Water Quality Project for Bromide Simulation in VFSMOD .................................... 124 Project File (sampleBrOK0.prj) ........................................................................ 124 IKW Input File (sampleBrOK0.ikw) .................................................................. 124 ISO Input File (sampleBrOK0.iso) ................................................................... 124 IGR Input File (sampleBrOK0.igr) ................................................................... 124 ISD Input File (sampleBrOK0.isd) ................................................................... 125 IRN Input File (sampleBrOK0.irn) ................................................................... 125 IRO Input File (sampleBrOK0.iro) ................................................................... 125 IWQ Input File (sampleBrOK0.iwq) ................................................................. 126 Water Quality Project for Phosphorus Simulation in VFSMOD .............................. 127 Project File (Bartow070706R2.prj) .................................................................. 127 IKW Input File (Bartow070706R2.ikw) ............................................................ 127 ISO Input File (Bartow070706R2.iso) ............................................................. 127 IGR Input File (Bartow070706R2.igr) .............................................................. 127 ISD Input File (Bartow070706R2.isd) ............................................................. 127 IRN Input File (Bartow070706R2.irn) .............................................................. 128 IWQ Input File (Bartow070706R2.iwq) ........................................................... 128 IRO Input File (Bartow070706R2.iro) .............................................................. 129 XML Input File used to Test RSE (Analytical Testing: Scenario I). ........................ 130 XML Input File used to Test TRT and TR RSE for Linear Decay Kinetics. ............ 132 YuGao.xml Water Quality Input File. ........................................................................ 134 Bartow.xml Water Quality Input File......................................................................... 136 B FIELD SCALE EXPERIMENTAL DATA .................................................................. 139 C PROGRAM SOURCE CODE ................................................................................... 148 LIST OF REFERENCES ................................................................................................. 190 BIOGRAPHICAL SKETCH .............................................................................................. 195
PAGE 8
8 LIST OF TABLES Table page 2 1 Scenarios used to test the programs TR FEM, TR RSE and TRT ...................... 40 2 2 Comparison of models TRT, TR FEM and TR RSE for non reactive scenarios ................................................................................................................ 46 2 3 Comparison of models TRT, TR FEM and TR RSE for reactive scenarios ......... 49 2 4 Mass balances for scenarios II and IV. ................................................................. 52 3 1 Description of the input and output file extensions used in VFSMOD W ............. 61 3 2 List of parameters used in the physically based and empirical conceptual models for bromide transport ................................................................................. 75 3 3 Water Balance laboratory experimental results. ................................................... 77 3 4 Bromide mass balance of experimental results. ................................................... 78 3 5 Water Balance of experimental results. ................................................................. 79 3 6 Mass balance of bromide in surface runoff ........................................................... 82 4 1 Water Bal ance and phosphorus balances for event 070706R2. ........................ 100 A1 Parameters for femadr.in input file ...................................................................... 110 A2 XML input file equation structure for describing a simple uptake/release model. ................................................................................................................... 110 A3 XML input file structure for running RSE ............................................................. 111 A4 Example of the *.iwq file structure for running RSE in TR FEM. ........................ 111 A5 Description of the *.iwq input file used to test the TR RSE and TRT ................. 111 A6 Description of the *.iwq file ................................................................................... 111 A7 Description of the *.iwq file when the TRT module is used ................................ 112 A8 Description of the water quality input file sampleBr.iwq ...................................... 112 A9 Hydrological input factors used by VFMSOD W ................................................ 112 A10 Hydrological parameters used in VFDSMOD W for A070706R2 event. ............ 113
PAGE 9
9 A11 Apatite dissolution parameters used in VFDSMOD W for A070706R2 event. .. 113 A12 Description of the water quality input file Bartow070706R2.iwq ......................... 113 B1 Summary o f rain and runoff data for the r iver experimental site (A) during 2007. ..................................................................................................................... 140 B2 Summary o f rain and runoff data for the r iver experimental site (A) during 2008. ..................................................................................................................... 141 B3 Summary of rain and runoff data for the Hill experimental site (B) during 2007. ..................................................................................................................... 142 B4 Summary of rain and runoff data for the Hill experimental site (B) during 2008. ..................................................................................................................... 144 B5 Summary of loads of s ediment and phosphorus for the r iver site ..................... 145 B6 Summary of loads of sediment and phosph orus for the hill site ........................ 146 B7 Summary of rainfall runoff events. ....................................................................... 147
PAGE 10
10 LIST OF FIGURES Figure page 2 1 Simple 2D conceptual movement of mobile and stabile components ................ 35 2 2 Conceptual model for complexity levels 1, 2 and 3 ............................................... 36 2 3 Basic conceptual model for uptake/release dynamics of phosphorus. ................ 36 2 4 Schematic representation of the scenarios used to test TR FEM, TR RSE and TRT programs. ................................................................................................ 41 2 5 Comparison for ADR solution for continuous input of conservative pollutant ...... 47 2 6 Comparison for A DR for a pl ug of a conservative pollutant .................................. 47 2 7 Comparison for ADR solution for a variable time dependant input of conservative pollutant ............................................................................................ 48 2 8 Comparison for ADR solution for continuous input of pollutant with reactive term ......................................................................................................................... 50 2 9 Comparison for ADR for a plug of a pollutant with reactive term ......................... 50 2 10 Comparison for ADR solution for a variable time dependant input of pollutant with reactive term ................................................................................................... 51 2 11 C omparison between the modules TRT and TR RSE for Monod kinetics. .......... 51 3 1 Processes and domain dis cretization for the Finite Element overland flow submodel of VFSMO D W ..................................................................................... 59 3 2 Schematic representation of the modules in VFSMOD W ................................... 60 3 3 Schematic representation of linkage between VFSMOD W and the water quality module. ....................................................................................................... 67 3 4 Schematic representation of the laboratory experiment ....................................... 69 3 5 Conceptual s chematic representation of physical and chemical transport processes in runoff Bromide experiment. .............................................................. 72 3 6 Exper imental surface outflow runoff bromide concentration ................................. 78 3 7 Cumulative outflow run off volume of experimental data ....................................... 80 3 8 Concentration during the simulation of bromide in runoff ..................................... 81
PAGE 11
11 3 9 Sensitivity a nalysis of outflow runoff bromide concentration ................................ 83 3 10 Sensitivity response of outfl ow runoff bromide concentration .............................. 84 4 1 Areal views of the experimental sites located in Bartow, Florida. ........................ 88 4 2 Schematic dimensions and instrumentation of the experimental sites. ............... 89 4 3 Observed and predicted output and input hydrograph for event A070706R2. .... 94 4 4 Conceptual model for the simulation of soluble phosphorus in VFS for phosphate mining areas. ........................................................................................ 96 4 5 Simulated results for the transport of dissolved phosphorus concentration considering the effect of apatite dissolution. ......................................................... 99 4 6 Simulated results for the transport of dissolved phosphorus load considering the effect of apatite dissolution. ............................................................................. 99 4 7 Percentile change of KCFA due to variations of Ka, SSACFA, b and ............... 101 4 8 Percentile change of KCFA due to variations of n and pH. ................................... 102 A1 Comparison of a adsorption desor ption process using three different methods. ............................................................................................................... 119 A2 Comparison of different RK4 methods. ............................................................... 120
PAGE 12
12 LIST OF ABBREVIATION S ADR AdvectionDispersionReaction Equation CFA Carbonate Flour Apatite FEM Finite Element Method RSM Regional Simulation Model SFWMD South Florida W ater Management District TaRSE Transport and Reaction Simulation Engine TR FEM Fully coupled Transport Reaction model using Finite Elements Method. VFS Vegetative Filter Strips VFSMOD W Vegetative Filter Strip Hydrology and Sediment Transport Modeling Syste m ODE Ordinary Differential Equation PDE Partial Differential Equation KCFA Dissolution rate of apatite from soil SSACFA Specific Surface Area of Carbonate Flour Apatite
PAGE 13
13 LIST OF SYMBOLS Sink/source term for the Advection DispersionReaction Equation C Pollutant Conc entration, mg/l Cp Concentration of pollutant in surface runoff, mg/l Sp Concentration of pollutant in porewater, mg/l CP SW Surface water concentration of soluble reactive phosphorus, mg/l CP PW Soil porewater concentration of soluble reactive phosphorus, m g/l SP Soil absorbed phosphorus So Phosphorus concentration in organic soil CP S Phosphorus as plankton biomass Cmp Phosphorus as macrophyte biomass CW Bromide concentration in runoff, mg/l Ce Bromide concentration in porewater, mg/l de Exchange layer depth, m DL Hydrodynamic dispersivity, m2/s. Dm Molecular dispersion, m2/s L Longitudinal dispersion, m v Flow velocity, m/s t Time, s to Initial time, s x Distance on plane x following the flow direction, m. k1 First order reaction coefficient, s 1 ku kst Uptake coefficient, s1 kr krs Release coefficient, s1 zd Water depth, m
PAGE 14
14 p Precipitation, m/s f I nfiltration rate, m/s q Flow discharge, m2/s Q Flow, m3/s ka Apatite rate constant, moles m2 s1 b Soil bulk density, g cm3 Porosity, cm3 cm3
PAGE 15
15 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 MODELING RUNOFF POLLUTANT DYNAMICS THROUGH VEGETATIVE FILTER STRIPS: A FLEXIBLE NUMERICAL APPROACH By Oscar Prez Ovilla August 2010 Chair: Rafael Muoz Carpena Major: Agricultural and Biological Engineering Methods to estimate surface runoff pollutant removal using vegetative filter strips usually consider a limited number of factors (i e. filter length, slope ) and are in general based on empirical relationships. When an empirical approach is used, the application of the model is limited to those conditions of the data used for the regression equations The objective of this work is to provide a flexible numerical mechanistic tool to simulate dynamics of a wide range of surface runoff pollutants through dense vegetation and their physical, chemical and biological interactions based on equations defined by the user. This is the first time this approach has been used in vegetative filter strips The ultimate goal of the models flexibility is to help researchers and decision makers estimate optimal filter characteristics (length, slope, vegetation) to achieve targ eted runoff pollutant removal efficiency, while still considering the complex driving processes. A flexible water quality model based on the Transport and Reaction Simulation Engine program (James, 2008b; Jawitz et al ., 2008; James et al., 2009) is coupled to a transport module based on the traditional finite element method to solve the advection
PAGE 16
16 dispersionreaction equation using the alternating split operator technique. This coupled model is linked to the VFSMOD W program (Muoz Caperna, 1993; Muoz Carpena et al., 1993a; Muoz Carpena et al., 1993b; Muoz Carpena et al., 1999; Muoz Carpena and Parsons, 2004; 2010) to me chanistically simulate m obile and stabile pollutants through vegetative filter strips based on user defined conceptual model where the pollutants and elements within the filter are expressed in terms of differential equations The numerical transport model was evaluated using analytical solutions and laboratory and field scale experiments. For the analytical testing, the water quality submodel performed well (Nash Sutcliffe model efficiency coefficient > 0.99). The laboratory scale testing involved the sim ulation of bromide transport based on the exchange layer concept and the raindropinduced chemical release theory (Gao et al., 2 004) The model was able to explain the removal of bromide in runoff, but the incorporation of more processes is needed to give a more physically based explanation to the simulated results. Field scale experimental testing involved the simulation of dissolved phosphorus in surface runoff, coming from phosphate mining tailing areas, through vegetative filter strips. T he model helped to explain the dynamics of runoff dissolved phosphorus concentration through vegetative filter strips due to the dissolution of apatite (Kuo, 2007; Kuo and Muoz Carpena, 2009) .The difference between the field data and the simulated data total mass of dissolved phosphor us concentration was less than 1 %. The incorpor ation of physically based theories to the flexible water quality module provides a useful tool to explain and predict the removal of runoff pollutants in
PAGE 17
17 vegetative filter strips. Laboratory and field scale testing showed that the model can be applied to d ifferent conditions and scenarios. One of the major advantages when using this tool is that the pollutant transport and removal thought vegetative filter strips is related to physically based process occurring within the filter. This mechanistic approach i ncreases the range of use of the model when compared to the simplistic and limited empirical approach. The use of more than one theory might be needed sometimes to simulate some pollutants. However, it is important to point out that the different theories to be used might not have additive properties which could lead to the under or over estimation of the outflow concentration. The creation of a conceptual model that links how the pollutant interacts with the surrounding elements in the filter strip (i.e. grass, soil, sediments ) is the key factor to consider in the flexible model. A poor conceptual model can lead to misunderstanding of the simulated results. The potential uses and application of the model for di fferent scenarios and pollutant model s can hel p researchers, consultants, agencies or individual to predict the amount of runoff pollutants that can be removed when vegetative filter strips are used. The strength of the model relies on the mechanistic approach used for simulating the removal of pollut ants and the flexibility of the model allow s the user to apply current and future theories when analyzing the dynamics of pollutant s in vegetative filter strips.
PAGE 18
18 CHAPTER 1 INTRODUCTION Todays natural resources are under threat. These threats are immediate as in the case of accidents (i.e. pollutant spills), and chronic as in the case of stormwater (which contains a wide range of pollutants, fro m eroded soil to fertilizer nutrients) complex organic chemical and pathogens, or diffuse pollution from automobiles and other sources across the landscape (Slawski, 2010) For many of these scenarios, the final fate of pollutants is the water bodies, where the pollutants could not only af fect water quality but al so ecosystem and human health. Chemicals can be transformed either in the source, during transport, or after the transport at the receiving site; however nature has no permanent pollutants sinks. In this context, the so called best management practices (B MPs) could be defined as means of promoting the capacity of pollutant sinks in terrestrial systems and of reducing the transfers of sinks to sources. Vegetative Filter Strips (VFS), which can be defined as (Dillaha et al., 1989) areas of vegetation designed to remove sediment and other pollutants from surface water runoff by filtration, deposition, infiltration, adsorption, absorption, decomposition, and volatilization, are a succesful natural, low cost technology that has been used to reduce the load of sediments, nutrients, pesticides and even pathogens from nonpoint sources before it reaches a water body (rivers, ponds, etc) (Dooskey, 2001). They have been used especially in agricultural watersheds but also in construction, urban and forest environment s. Research about VFS during the last 20 years has focused on empirically assessing effici encies for different pollutants and, in a few cases on finding what mechanisms are involved in the removal process The vegetative buffer length has been
PAGE 19
19 commonly associated to its intended function. In this context, water bodies linked to wildlife habitats may need a buffer protection length of a couple of hundred of meters (Slawski, 2010) While tens of meters are typically sufficient to filter sediments, t he effectiveness of VFS to reduce runoff pollutants (i.e. pesticide s, nanoparticles, etc) relies not only in the length of the VFS, but also in various factors such as the type of soil, type of vegetation, slope, type of pollutant, sediment particle characteristics, amount of pollutant to retain in the VFS, among others. However, statistical analyses that attempt to relate physiographic characteristics of the VFS (i.e., slope and VFS length) to sediment and/or contaminant removal are the most common (Sabbagh et al., 2010) Muoz Carpena et. al. (1993b; 1999; 2005) developed a physically basedmechanistic computer program based on the overland flow solution by Petrov Galerkin Finite Elements Method called VFSMOD W (Muoz Carpena et al., 1993a) which simulates hydrology and sediment transport through vegetative filter st rips on a storm by storm basis. In 2009, VFSMOD W incorporated a water quality module to estimate the removal efficiency of pesticides based on an empirical equation developed by Sabbagh et al. (2009) Recently, the US Environmental Protection Agency recognized to VFSMOD W as one of the recommended models that can be used to help to gather d ata and conduct data analyses to optimize VFS characteristics as a surface runoff pesticide control practice, and support quantification of pollutant loads and reductions (EPA, 2010). Recently, Sabbagh et al. (2010) proposed a revision of current pesticide EPA Tier II assessment during the registration process by introducing VFSMOD W as a component in the existing EPA modeling framework (PRZM/EXAMS)
PAGE 20
20 Evaluating the removal of pollutants by considering the relevant mechanisms involved during their transport in runoff through VFS under dynamic conditions is desirable since this approach is general and applicable to different pollutants and s cenarios. Th is document is divided into three papers that stand alone. Each paper focuses on a specific objective: 1 Development of a flexible numerical modeling component for surface runoff through dense vegetation and analytically testing for steady surfa ce flow conditions. 2 Coupling of flexible surface runoff pollutant transport through dense vegetation component with a dynamic vegetative filter strip overland flow and sediment transport model (VFSMOD W) and testing with laboratory experimental data. 3 Field testing the dynamic model with experimental data from phosphorus mining tailing grass buffer plots.
PAGE 21
21 CHAPTER 2 FLEXIBLE MODELING OF POLLUTANT T RANSPORT T RHOUGH DENSE VEGETATION FOR STEADY SURFACE RUNOFF CONDITIONS 2.1 Introduction The conservation of mass for a chemical that is transported either in surface or subsurface water can be driven by the 1D AdvectionDispersion Reaction Equation (ADR ): = v + DL 2 C x2 (t ) (2 1) Where C is the concentration of pollutant in water ( M T3), t is time ( T ), v is (pore/surface) water flow velocity ( L T1), x is distance (L), DL is the hydrody namic dispersion coefficient (L2 T1), DL = Dm + Lv with Dm the molecular diffusion coefficient ( L2T1), and L the longitudinal dispersivity (L) The term represents advective transport, represents dispersive transport, and ( ) is the change in concentration due to reactions or as results of a source/sink element. Substituting the elements of the hydrodynamic dispersion coefficient in (2 1), = + ( + ) ( ) (2 2) Analytical and numerical solutions have been proposed to solve the ADR Although the ADR is formally classified as a parabolic partial differential equation, if the advective term v dominates the diffusion/dispersion term DL ( v>> DL), it can become strongly hyperbolic There are several analytical solutions to equation 21 (van Genuchten, 1982) that are rath er limited in application because they are restricted to steady state flow problems with regular boundaries (i.e. sq uare domains) and constant coefficients (i.e. velocity, hydrodynamic dispersion) However, exact solutions are
PAGE 22
22 important for validating and testing numerical models, and are used for this purpose in the testing sections 2.3 and 2.4 Among numerical solutions, the finite difference method (FDM) and finite element method (FEM) are two of the most widely used schemes, but they are others methods that can be used (i.e random walk, method of characteristics) F inite element method offers greater flexibility in special discretization than does the finites difference methods. For example, when using fini te elements the domain can be di scretized in irr egular triangular elements for a better fitting of irregular boundaries in the domain. With the use of higher order approximation, the FEM is generally more accurate than the standard FDM. M odification can be made to the FDM to reach the greater accuracy, but the simplicity related to these methods is lost (Zheng and Bennett, 2002) Split operator (SO) approaches are popular for developing numerical algorithms to solve nonlinear multicomponent coupled reactive transport partial differential equations (PDEs) such as the ADRe Equation and for handling the different t ime scales of transport and reaction in the ADR (Morshed and Kaluarachchi, 1995; Barry et al., 1996a; Barry et al., 1996b; Barry et al., 1997; Barry et al., 2000; Simpson and Landman, 2008) These algorithms are constructed by separating each time integration step (of length t) into two substeps. First, the t ransport terms in the PDEs are integrated over t to yield an intermediate solution. Second, the transport and reaction processes are approximately coupled by integrating the reaction terms over t using the intermediate result as the initial condition From a practical perspective t he most common question is which splitting method generates a better approximation: Transport first, then Reaction (TR) or Reaction first
PAGE 23
23 the n Transport (RT) or a combination of both such as Transport Reaction Transport (TRT ) or ReactionTransport Reaction (RTR) ? Simpson and Landman (2008 ) analyzed the temporal truncation error associated with TR, RT and RTR They concluded that the temporal truncation error is equal but opposite for TR and RT, which means that one overestimates and the other underestimates the solution. However, these authors found that the error can be removed with standard alternating SO schemes like TRT and RTR methods Since the error produced is the same, both can be used to solve the ADR Another question that arises regards the choice of the numerical method used for solving the ADR Zheng and Bennett (2002) state that the finite element method is subject to the same numerical problems as the finite difference method, but with the use of higher order approximations, the finite element method is more accurate than the finite difference method. It is also possible to a use higher order approximation in the finite d ifference method. However, the simplicity of the method is lost. When the SO method is performed, the transport is solved with a finite difference/element meth od, and the reactive equation can be solved using an explicit method such as RungeKutta. However if the system of equations exhibits a stiff behavior (i.e. rapid decay transient terms), an implicit method is recommended (James, 2008b) Jawitz et al. (2008) and James (2008b; James et al., 2009) developed a novel program call ed Transport and Reaction Simulation Engine (TaRSE) for sol ving the 2 D imensional ADR The program solves the three parts advective, dispersive, and reactive of the equation independently, solving paired reaction and advection substeps symmetrically about the solution for the dispersive step. Although the program is stable for high Peclet numbers, it is the flexibility of the interface used for solving the
PAGE 24
24 react ive part that makes this approach attractive and innovative for the simulation of transport and reaction of pollutants through VFS In general, a user defi ned XML input file contains the mobile solutes (compounds to be transported and reacted), stabile compounds (material that is not mobile, and is thus not transported but can react) and the different interactions among them. With this approach, the user not only has the control over the parameters, the types of reactions and the interaction among them, but can also define different levels of complexity based on research/management considerations and simplifications However, for surface flow condition, a hyd rodynamic model is required to supply TaRSE with the flow velocity and water depth data at each time step. TaRSE was originally designed to run with the Regional Simulation Model (RSM) of the South Florida Water Management District (SFWMD) to evaluate the effects of different management scenarios in South Florida. The movement of phosphorus in the Florida Stormwater Treatment Area 1 West was the field test scenario used to demonstrate the high level of complexity that can be built using TaRSE (Jawitz et al., 2008) However, d ue to the ability of TARSE to simulate a large flexible number of pollutants, current efforts are being focused to adapt TaRSE to other hydrodynamic programs such as SWIFT2D (Schaffranek, 2004) and in this current work with VFSMOD (Muoz Carpena et al., 1999) A new generic flexible module to account for the transport and reaction of pollutants in surface runoff based on the solution of the 1 D ADR using a TRT SO method is presented here. This module combines a new standard Bubnov Galerkin cubic/quadratic Finite Elements Method for solving the advective and dispersive
PAGE 25
25 transport part of the 1D ADR with a flexible module that accounts for the reactive part of the ADR for single or multiple species. The reactive flexible module called Reaction Simulation E ngine, R SE, is a windows library based on TaRSE where the transport component has been removed. The resulting new module is called TRT, based on the Transport ReactionTransport sequence for numerically solving the ADR during each time step. The module is further tested under steady state conditions using conservative, first order decay and Monod kinetics solutes. 2.2 Model D evelopment 2.2.1 The Finite Elements Transport Module In order to solve the ADR we employ a standard Bubnov Galekin cubic/quadratic F inite Element Method for solving the spatial derivatives and a time weighting (Crank Nicholson) method for the temporal derivative (Miller, 1991) The general form of the ADR for surface runoff is = ( ) C + C t + ( ) (2 3 ) where: C is the dissolved pollutant concentration; D is th e hydrodynamic dispersion; is the average flow velocity, the subscript rxn denotes fluidphase reactions (i.e. first order decay reaction); and ( ) is a term to represent sources and sinks of the pollutant Equation (2 3) can be represented in one dimension, over the plane X, as follows: = x D C x v C x + C t + ( ) (2 4 ) When the sink/source term is not taken account, and we consider a first order rate of degradation, equation (24) is transformed to
PAGE 26
26 = x D C x v C x k C (2 5 ) which can also be presented i n operator notation L ( C ) = x D C x v C x k C (2 6 ) Considering that when the method of weighted residuals is used, one equation exists for each node. The resultant system is then W L ( C ) dx = 0 for i = 1 n (2 7 ) which can also be written as W L ( C ) dx = 0 (2 8 ) From Equation (2 8), the trial function can be defined as C ( x ) = N ( x ) C (2 9 ) When using the Galerkin finite element method, equation (2 8 ) can be expressed as follows: N L ( C ) dx = 0 (2 10 ) By substituting the differential operator we have N x D C x v C x k C C t dx = 0 (2 11 ) By se paration of terms in Equation (211), we have N x D C x dx N v C x dx N k C dx N C t dx = 0 (2 12 ) When the trial function is substituted in equation (212 ) we have
PAGE 27
27 N x D x N C dx N v x N C dx N k NC dx N t NC dx = 0 (2 13 ) Equation (2 13) may be written as N x D dN dx C dx N v dN dx C dx N k NC dx N t NC dx = 0 (2 14 ) Since the trial function i s described with respect to spat ial coordinates only, and the basis functions are not a function of time, equation (2 14 ) becomes N x D dN dx C dx N v dN dx C dx N k NC dx N NC t dx = 0 (2 15 ) When the dispersive term is expanded we have:
PAGE 28
28 N D x dN dx C dx + N D d N d x C dx N v dNdx C dx N k NC dx N NC t dx = 0 (2 16 ) An approximation to Equation (216) can be obtained f or the case when the spatial derivative of the hydrodynamic dispersion coefficient is small compared to the spat ial derivative of concentration, as follows N D d N d x C dx N v dN dx C dx N k NC dx N k N C t dx = 0 (2 17 ) If the basis functions are chosen to be C0 continuous, the order of the derivative in the dispersive term the first term needs to be decreased from two to one. This may be accomplished using Greens theorem N D d N dx C dx = DN d N dx C D d N dx d N dx C dx (2 18 ) By combinations and reduction of similar terms of eq uations (217) and (218) we have:
PAGE 29
29 D d N dx d N dx C dx + N v d N dx C dx + N k N C dx + N N Ct dx = DN d N dx C (2 19 ) where the r ight hand side of equation (2 19) represents a diffusive boundary flux. Since the diffusive boundary flux term is evaluated only on the boundary, and since this value is known for the case of natural or Newman boundary condition, equation (219 ) can be written in terms of the known value instead of the trial function D d N dx d N dx C dx + N v d N dx C dx + N k N C dx + N N Ct dx = D N C x (2 20 ) For the Dirichlet or necessary boundary conditions, the derivative is no longer known, but all references to the boundary node can be replaced with the known value eliminating the equation from the system requiring solution. In order to allow for parameter variation, it is convenient to integrate the left hand side of equation (2 20) over the elements instead of the domain, which gives
PAGE 30
30 D d N dx d N dx C dx + N v d N dx C dx + N k N C dx + N N Ct dx = D N C x (2 21 ) w here ne is the total number of elements, and nm is the number of nodes in the element m. By applying finite difference approximation to solve the de rivative in time in Eq uation (2 21) : D d N dx d N dx C dx + N v d N dx C d x + N k N C dx + N N C C t dx = DN C x (2 22 ) which can also be expressed as
PAGE 31
31 D d N dx d N dx C dx + N v d N dx C dx + N k N C dx + N N C t dx = N N C t dx + DN C x (2 23 ) where time step l is the known time level and l+1 is the time traveled sought. By writing Equation (223) in matrix notation we have: ( [ { } ] + { } + { } + { } ) = ( { }) + { } (2 24 ) Where [AD] is the hydrody namic dispersion coefficient matrix, [Av] is the velocity coefficient matrix, [Ak] is the reaction coefficient matrix, [At] is the temporal coefficient matrix all corresponding to the appropriate integral terms in equation (2 24 ) and all are defined over an element; and {bD} is a dispersive boundary flux vector. At the end, the application of the finite element method results in a system o f linear equations which need to be solved This number of equations is a function of the number of nodes and the nodal degrees of freedom. In this program, called TR FEM (fully coupled Transport Reaction model using Finite Elements Method), the solution can be simplified in the next steps : 1 Form the system matrix [A] of constant coefficients 2 Perform LU decomposition over this matrix [A] 3 Form the system matrix [BM] of constant coefficients
PAGE 32
32 4 Form the right hand side of equation (vector {b}=[BM]{X} for each time step 5 Solve for [A],{b} to get {X}, the vector with the concentrations. 6 Repeat 4 & 5 until completion of desired number of time steps Where [A] is a square, NxN s ystem m atrix, { b} is the 1xN r ight han d side vector, and{ X } is the 1xN s olution vector at time step t+1. The TR FEM program assumes steady state flow conditions. This means that the flow velocity, flow depth and the hydrodynamic dispersion coefficient are considered as constant during the entire simulation. The program was tested for analytical solutions to four different scenarios : 1 ) a constant pollutant flow (a constant pollutant concentration is released at the first node of the domain during the entire simulation), 2) a pollutant plug flow (a pollutant of constant concentration is released in the first node for a specific time, wh ich is less than the total time of the simulation), 3) a time depend e nt flow (the pollutant is released in the first node of the domain during the entire simulation where the concentration released is based on a time depend e nt function and 4) a nonadvect ive example using Monod kinetics based on the work of (Simpson and Landman, 2007) TR FEM can be run for transport only or for transport and reaction, depending on the value of the first order decay coefficient k1 (Equation 2 5). When compared to analytical solutions, the fully coupled TR FEM yields a better approximation to the analytical solution when comp ared to ordinary split operator methods and a similar accuracy level with the alternat ing TRT SO method (section 2.4.1 and 2 .4.2). W hen no analytical solution is avai la b le, such as with the Monod Kinetics (Simpson and Landman, 2007) the TR FEM scheme is used as an analytical solution in order to compare it with the TR and TRT split operator methods.
PAGE 33
33 In general, th e input data parameters needed to run TR FEM correspond to those for the numerical discretization ( spatial domain and time step), flo w velocity, hydrodynamic dispersivity, and coefficient of reaction if applicable. Details on the program input file and examples are given in Table A 1 in Appendix A 2 2 2 The Reactive M odule James et al. (2009) presented a 2 Dimensional spatially distributed numerical component for simulating water quality within the South Florida Water Management District Regional Simulation Model (RSM). RSM simulates surface water and groundwater hydrodynamics on an unstructured triangula r mesh using the Hydrologic Simulation Engine (HSE), which implements a finitevolume method to calculate water heads and flows. The component developed by James et al. (2009) called Transport and Reaction Simulation Engine (TaRSE), was linked to RSM to simulate transport and reaction of pollutants in a constructed wetland in South Florida. TaRSE num erically approximates the solution to the 2D advectiondispersion reaction equation. It treats the three processes of the 2 D ADR (advection, dispersion and reaction) independently. The reactive step solves a coupled system of ordinary differential equations (ODE) describing the interaction between the simulated reactive components (i.e. solute soil, porewater soil, etc) The solution to the system of ODE is based on the fourthorder RungeKutta method (RK4) which provides a O( t5) local error and a O( t4) global error during the simulation. RSE does not solve the hydrodynamic equations; and relies on a separate hydrodynamic model to obtain the flow between spatial elements (James et al., 2009)
PAGE 34
3 4 Jawitz et al. (2008) presented and tested the transport of phosphorus in wetlands based on the interactions between stores and components using TaRSE. A component is defined in Ta RSE as a variable that is of interest of the user (i.e. phosphorus, nitrogen, oxygen, etc) or it can also be a parameter that is sometimes useful to describe a specific reaction (i.e. dispersion coefficients, sorption and desorption coefficients etc ). Variables can be classified into two types: mobile variables, which are transported by water or some other mechanism (i.e. dissolved pollutants in surface water) and stabile variables, which are stationary in the domain (sorbed pollutant to soil) Stores hold the various components, and these components (ie. dissolve phosphorus) are tra nsported between stores by flow A given store can hold both mobile and stabile variables, as well as parameters and variables Variables cannot be moved from element to element An example of stores can be the surface water which can hold different pollutants, and soil which holds porewater and the soil matrix with different chemical elements in it (Figure 21 ) The model allows adding stores and elements in order to increa se the level of analysis and complexity of the system. Originally, TaRSE was tested using three user defined l evels of complexity to simulate the transport of phosphorus in wetlands (Figure 2 2). The first level of complexity included the adsorptiondesorp tion process of phosphorus from the water column to the porewater and the incorporation of phosphorus from the soil matrix to the porewater. The second level of complexity added plankton to the water column, which interacted with the soluble P and the soil The third level included plankton and macrophytes which consume soluble P from the water column and the porewater.
PAGE 35
35 Figure 2 1. Simple 2 D conceptual movement of mobile and stabile componen ts between two triangular elements (cell s) in TaRSE. Mobile components soluble P and oxygen are transported with the flow from one element to the other. Stabile componen ts porewater P and s orbed P can interact (react) with mobi le components but cannot be transported between elements. P stands for pollutant. TaRSE u ses the XML format to define the relationships between the different components in equations. Each equation consists of a left hand side (lhs) that contains the name of the variable to which the equation is applied, and a right hand (rhs) side that contains the equation in a string. Each equation is an ordinary differential equation with respect to time that describes how the particular left hand side variable evolves with time. The string that defines the right hand side of the equation is parsed by TARSE to create a function that is evaluated by the fourth order Runge Kutta method to solve the differential equation. As an example, Figure 23 shows the interactions between two variables named water_column_p representing phosphorus in the water column (Cw) a nd settled_p representing settled phosphorus (Cs), and two reaction coefficients ku and kr based on a simple uptake/release model.
PAGE 36
36 Figure 22. Conceptual model for complexity level s 1 (a), 2 (b) and 3 (c) showing different phosphorus interactions among surface water, porewater, plankton and macrophytes. CP SW is surface w ater SRP, CP PW is soil p orewater SRP, SP is soil adsorbed p hosphorus, SO organic s oil, CPl S is plankton b iomass and Cmp is m acrophyt e b iomass. SRP is soluble reactive p hosphorus Source: Adapted from Jawitz et al. (2008) Figure 23. Basic conceptual model for uptake/release dynamics of phosphorus between the soluble phosphorus in water column and settled phosphorus on soil Source: Adapted from James (2008b)
PAGE 37
37 The phosphorus i nteractions depicted in Figure 23 can be written by equations (2 25) and (226 ) as follows: = + C (2 25 ) = (2 26 ) This system of equations would be written in the TaRSE XML input file as shown in Table A 2 in Appendix A Since VFSMOD is based on a 1 D effective (2 D averaged) finite element m ethod for simulation of surface runoff in filter strips, a modified version of TaRSE suitable for 1 Dimensional domain was needed James (2008ab) prepared a modified version of TaRSE for coupling it to other programs. This adapted version, called Reaction Simulation Engine (RSE), handles the reactive component suitable for an y type of dimensional problem, while relies on transport component provided by another program. RSE is called as a library for a program that handles the hydrodynamic (flow velocity, water depth, etc) and transport processes The Reaction Simulation Engine keeps all the features of TaRSE for handling an unlimited number of compounds and their interactions. Table A 3 (Appendix A) contains the details on the input sections needed to run the XML input file in RSE. 2 2 3 Linkage between Transport and Reaction Components Split O perator Based on the work developed by Kaluarac hchi and Morshed, 1995; Morshed and Kaluarachchi, 1995; Simpson and Landman, 2007 the traditional split operators TR and RT have greater errors when used to approximate the ADR compared to the alternating T RT and RTR split operators. In a problem with a single species Monod decay, Simpson and Landman (2007) have shown that the RT overestimates the solution and
PAGE 38
38 TR underestimates in the same proportion, meanwhile TRT and RTR showed no visual difference with the solution presented. Simpson and Landman (2008) stated that implementing alternating split operator methods can be problematic since the O( t) t emporal t runcation e rror (TTE) is only removed after taking an even number of time steps. This can be explained as follows: s ince the TTE associated with TR splitting is equal and opposite to the TTE associated with RT splitting, then for sufficiently small t, the O( t ) TTE incurred in one time step will be removed by reversing the sequential order of splitting in the following step. This will lead to the O( t ) TTE being remov ed after every second (even) time step. Two methods are proposed in order to deal with the TTE : 1 Within each time step, a TRT alternating algorithm solves first the transp ort for t/2 then the reaction for t and another transport for t/2. 2 Within each time step, an RTR alternating algorithm solves first the reaction for t/2 then transport for t and another reaction for t/2. The fully coupled TR FEM and RSE were linked f irst as a TR split operator where TR FEM solves the transport and RSE the reactive process of ADR This module is called TR RSE. For the alternating split operator method, the TRT sequence was used because RSE is a program that is computationally more exp ensive than the fully coupled TR FEM so the sequence RTR is more expensive. Different c ombinations of temporal and spat ial steps were analyzed in order to evaluate how they affect the time needed to complete the simulation. T he alternating RTR split operator method was not tested in this work because of the high computational cost
PAGE 39
39 T he following combinations were chosen to be tested with and without a reactive term : TR FEM: The solution to the ADR is based on the fully coupled (Transport Reaction) finite elements method. TR RSE: A TR split operator method used to solve the ADR Transport is solved using the finite elements method component of TR FEM and the reaction(s) is solved with RSE. TRT: An alternating split operator method TRT is used to solve the ADR during each time step. Transport is solved using the finite elements method, and the reaction(s) is solved with RSE. Details of program implementation of these alternatives are given in Appen dix A (Tables A 4 and A 4). 2 3 Model Testing The programs TR FEM TR RSE and TRT were tested with four different scenarios using conservative and reactive conditions for a total of seven scenarios : 3 conservative and 4 reactive (see in Table 2 1 ). The f our s cenarios used are: Scenario I : A continuous and constant inflow of pollutant Scenario II : A plug of pollutant released during 1 minute. Scenario III : A continuous and variable input of pollutant as a function of time (pollutant concentration changes with time). Scenario IV : Dispersion of a pollutant in a noflow solution domain and reaction based on Monod kinetics Scenarios I, II and III were tested with two conditions: a) the pollutant is a conservative tracer and b) the pollutant is transported and rea cted based on first order decay kinetics. A sche matic representation of sce narios I II and I II is shown in Figure 24, were runoff is running over an impermeable surface of 20 m length An arbitrary pollutant is injected at x=0 m and t=0 min, following th e differe nt scenarios depicted in Table 2 1.
PAGE 40
40 Table 2 1. Scenarios used to test the programs TR FEM, TR RSE and TRT Scenario L (m) Xo (m) + V (m/s) DL ( L, Dm) (m2/s) (m,m2/s) dx (m) dt (s) Lateral inflow Co (g/m3) t end (s) Reaction C i initial condition (t=0) (g/m 3 ) I Constant lateral inflow of pollutant in runoff 20 10 0.166 0.0167 (0.099,0.01) 0.1 1.66x104 8.33x104 4.16x104 100; t>0 150 k1 = 0*; k1=0.1** 0, x II. Lateral plug of pollutant in runoff 20 10 0.166 0.0167 (0.099,0.01) 0.1 1.66x104 8.33x104 4.16x104 100; 0
PAGE 41
41 Figure 24. Schematic representation of the scenarios used to test TR FEM, TR RSE and TRT programs. For scenarios I, II and III, stability and accuracy of the simulations were controlled by choosing a fixed value of the Peclet number of 1 and three different values of the Courant number less than or equal to 1 (0.25, 0.5 and 1) T he fourth scenario is based on the work developed by Simpson & Landman (2007) where a pollutant is initially distributed over the do main at t=0 as stated in Table 2 1. For this scenario, the pollutant is degraded over the domain, without transport, based on Monod kinetics. Since no analytical solution exists for Monod kinetics, the results from Simpson & Landman (2007) were compared with those obtained with the models developed herein for evaluation purposes. 2 3 1 TR FEM Transport Model Testing Scenarios I, II and III were tested using t he analytical solutions reported by van Genuchten (1982) For scenarios I and II the governing equation for a conservative solute is given by: = (2 27 ) w ith the next initial and boundary conditions C(x,0)=Ci=0
PAGE 42
42 C(0,t)= C o 0t o C x ( t ) = 0 When a continuous input of pollutant is tested, to is assumed to be the total time of simulation. When scenario III is tested, equation (227) has the next initial and boundary conditions for a conservative solute: C(x,0)=Ci=0 C(0,t)=Ca + Cb et with Ca=80, Cb=30 and =1 C x ( t ) = 0 The full analytical solution for conservative solute transport for each one of the first three scenarios is presented in Appendix A. For the case of transport of a solute with a first order reactive term the governing equation given by van Genuchten (1982) is: C t = D C x v C x C + (2 28 ) with =0.1 and =0 With the same initial and boundary conditions used for the conservative solute. The analytical solution for each one of the three reactive first order decay scenarios is presented in detail in Appendix A. The L2 error norm was calculated for the first three scenarios using the simulated data and the analytical solution.
PAGE 43
43 The parameters used to test the fully coupled transport reaction finite elements method were: total length (domain): 20 m, flow velocity: 0.1667 m/s hydrodynamic dispersion coefficient DL: 0.0167 m2/s (combining the longitudinal dispersivity L=0.099 m and the molecular the diffusion coefficient Dm= 1.66x104 m2/s (for the given velocity) and, spatial step dx: 0.1 m. The program was evaluated using three different time steps: 0.6 0.3 and 0.15 seconds For the first scenario, a pollutant of concentration Co=100 g/m3 is released during the entire time of the simulation at t=0 min and x=0 m. Time of simulation was set to 150 seconds The concentration was reported at the middle of the domain. For the second scenario, a plug of pollutant with concentration Co=100 g/ m3 is released for one minute at x=0 m and t=0 min. Time of simulation was set to 180 seconds The concentration was reported at the middle of the domain. For the third scenario, a pollutant is released continuously at x=0 m and time=0 min. The concentration changes in time based on the expression Co=80+30*exp( t) [g/m3]. Time of simulation was set to 3.0 mi n. The concentration was reported at the middle of the domain. The fourth scenario was not used to evaluate the transport module because the pollutant was not transported in the domain; it only was diffused from the soil to the water column However, this scenario was used to test the split operator methods TR RSE and TRT. The Nash Sutcliffe coefficient was used to estimate the difference between the simulated results by using TR RSE and TRT and those values reported by Simpson and Landman (2007)
PAGE 44
44 2 3 2 Coupled TR RSE and TRT Split Operator Methods Testing The split operator TR RSE and TRT programs were tested following the same scenarios depicted in this section but including a reactive term based on a first order decay kinetics with a value of 0.1 min1 for the decay coefficient. The advective and dispersive part of the ADR (Eq. 2 2) is solved using the TR FEM program. After th e pollutant has been transported, the reactive (decay) term is solved using RSE. The differential equation to be used for the reactive term can be written as follows: = (2 29 ) w here C is the pollutant concentration in the water column (runoff) and k1 is the first order decay coefficient. Equation (2 2 3 ) can be written in the XML input file as follows: water_column_p k1*water_colu mn_p An additional input file (*.iwq) with the parameters to be used is needed. This file is detailed in Table A 5 where only one mobile variable called water_column_p, no stabile element and one parameter (k1) are used in the simulation. This information has to be included in the corresponding XML input file (see Appendix A ). In order to test TR RSE and TRT with the forth scenario (Monod kinetics), the procedure depicted in Simpson and Landman (2007) was used. In this example, an initial amount of some pollutant is distributed in the domain, at t=0, based on the following expression:
PAGE 45
45 ( 0 ) = ( ) (2 30 ) The transport o f the pollutant is considered to be only dispersive (no flow) and the reaction follows Monod kinetics = + (2 31 ) All results were evaluated using d x = 0.01 and dt = 0.05 The decay parameters are = 1 and K = 0.1. Th e diffusion coefficient was D = 1. Results of the simulation were compared visually with those reported by Simpson and Landman (2007) where uni ts are n ot reported, but considered to be consistent. 2 4 Results 2 4 1 Non Reactive Scenarios Scenarios I, II and III were used to test the transport of a pollutant using the full y coupled TR Finite Elements Method without the sink/source element ( ) Since the transp ort modules of TR RSE and TRT split operator methods are based on TR FEM, results can be shown t ogether in Table 22 and Figures 25, 26 and 27 All the scenarios are compared visually and numerically with the analytical solutions (van Genuchten, 1982)
PAGE 46
46 Table 2 2 Comparison of models TRT, TR FEM and TR RSE based on L2 error norm for non reactive scenarios using different values of dt and courant number. Peclet number was set to 1 for all scenarios. Global results shows efficiency reached for the entire domain at the end of simulation Local domain shows efficiency reached for the most critical part of the fitting curves, which is for the interval 66 90 seconds for scenario I; from 7 1 to 108 seconds for scenario II and from 71 to 96 seconds for scenario III. Scenario Method Courant Number, CN Time step, dt (s) Global L 2 error norm Local L 2 error norm I Continuous (Non Reactive) TR RSE 1 0.6 7.45 2.59 0.5 0.3 5.15 1.80 0.25 0.15 3.60 1.26 TR FEM 1 0.6 7.45 2.59 0.5 0.3 5.15 1.80 0.25 0.15 3.60 1.26 TRT 1 0.6 3.64 1.29 0.5 0.3 2.55 0.90 0.25 0.15 1.79 0.63 II. Plug (Non Reactive) TR RSE 1 0.6 10.53 1.49 0.5 0.3 7.28 1.10 0.25 0.15 5.09 0.80 TR FEM 1 0.6 10.53 1.49 0.5 0.3 7.28 1.10 0.25 0.15 5.09 0.80 TRT 1 0.6 5.15 0.80 0.5 0.3 3.60 0.57 0.25 0.15 2.53 0.41 III. Variable injection (NonReactive) TR RSE 1 0.6 8.19 1.33 0.5 0.3 5.66 0.96 0.25 0.15 3.96 0.69 TR FEM 1 0.6 8.19 1.33 0.5 0.3 5.66 0.96 0.25 0.15 3.96 0.69 TRT 1 0.6 4.00 0.70 0.5 0.3 2.80 0.49 0.25 0.15 1.97 0.35
PAGE 47
47 Figure 25. Comparison for ADR solution at x=10 m (half of the domain) for continuous input of conservative pollutant (Scenario I, Table 11) Figure 26 Comparison for ADR solution at x=10 m (half of the domain) for a plug of a conservative pollutant (Scenario II, Table 11). time, s 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 Concentration, C/Co 0.0 0.2 0.4 0.6 0.8 1.0 Analytical TRT TRFEM TRRSE 72 74 76 78 80 82 84 0.90 0.92 0.94 0.96 0.98 1.00 Time, s 0 20 40 60 80 100 120 140 160 180 Concentration, C/Co 0.0 0.2 0.4 0.6 0.8 1.0 Analytical TRT TR FEM TR RSE 75 80 85 90 95 100 105 0.90 0.92 0.94 0.96 0.98 1.00
PAGE 48
48 Figure 27 Comparison for ADR solution at x=10 m (half of the domain) for a variable time dependant input of conservative pollutant (Scenario III Table 11 ) 2 4 2 Reactive Scenarios Once RSE was evaluated with two different scenarios (see RSE Reactive M odule T esting S ection in Appendix A for more details ), the coupled programs TR FEM, TR RSE and TRT were evaluated for a first order decay and Monod kinetics reactions Results of the simulations are shown in Table 23 and Figures 28, 29, 210 and 2 11 Time, s 0 20 40 60 80 100 120 140 160 180 Concentration, C/Co 0.0 0.2 0.4 0.6 0.8 1.0 Analytical TRT TR FEM TR RSE Time, s 68 70 72 74 76 78 80 82 84 0.90 0.92 0.94 0.96 0.98 1.00
PAGE 49
49 Table 2 3 Comparison of models TRT, TR FEM and TR RSE based on L2 error norm for reactive scenarios using different values of dt and courant number. Peclet number was set to 1 for all scenarios. Global results shows efficiency reached for the entire domain at the end of simulation. Local domain shows efficiency reached for the most critical part of the fitting curves, which is for the interval 66 90 seconds for s cenario I; from 71 to 10 8 min for scenar io II and, from 76 to 96 min for scenario III. Scenario Method Courant Number, CN Time step, dt (s) Global L 2 error norm Local L 2 error norm I Continuous (Reactive) TR RSE 1 0.6 6.91 2.48 0.5 0.3 4.78 1.72 0.25 0.15 3.33 1.20 TR FEM 1 0.6 6.75 2.30 0.5 0.3 4.67 1.60 0.25 0.15 3.26 1.12 TRT 1 0.6 3.29 1.15 0.5 0.3 2.30 0.79 0.25 0.15 1.61 0.54 II. Plug (Reactive) TR RSE 1 0.6 9.55 1.44 0.5 0.3 6.61 1.05 0.25 0.15 4.62 0.75 TR FEM 1 0.6 9.54 1.34 0.5 0.3 6.60 0.99 0.25 0.15 4.62 0.72 TRT 1 0.6 4.67 0.72 0.5 0.3 3.27 0.51 0.25 0.15 2.30 0.36 III. Function (Reactive) TR RSE 1 0.6 7.59 1.36 0.5 0.3 5.25 0.98 0.25 0.15 3.66 0.69 TR FEM 1 0.6 7.42 1.17 0.5 0.3 5.13 0.85 0.25 0.15 3.59 0.61 TRT 1 0.6 3.62 0.61 0.5 0.3 2.53 0.42 0.25 0.15 1.77 0.29 IV Monod kinetics TRT 0.05 0.9993 0.9893 TR RSE 0.05 0.9862 0.7036 Nash Sutcliffe coefficient.
PAGE 50
50 Figure 28 Comparison for ADR solution at x=10 m (half of the domain) for continuous input of pollutant with reactive term ( Scenario I, Table 2 1) Figure 29 Comparison for ADR solution at x=10 m (half of the domain) for a plug of a pollutant with reactive term ( Scenario II, Table 21) time, s 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 Concentration, C/Co 0.0 0.2 0.4 0.6 0.8 1.0 Analytical TRT TRFEM TRRSE 72 74 76 78 80 82 84 0.80 0.82 0.84 0.86 0.88 0.90 time, s 0 20 40 60 80 100 120 140 160 180 Concentration, C/Co 0.0 0.2 0.4 0.6 0.8 1.0 Analytical TRT TR FEM TR RSE
PAGE 51
51 Figure 210 Comparison for ADR solution at x=10 m (half of the domain) for a variable time dependant input of pollutant with reactive term ( Scenario III, Table 2 1) a b Figure 211 Pollutant Mass distribution at t=0 (a) and (b) c omparison between the modules TRT (split operator) and TR RSE with the results obtained by Simpson and Landman (2007) for Monod kinetics (Scenario IV, Table 2 1). Mass balance results for a conservative pollutant under scenario II and for a reactive pollutant under scenarios I I and IV can be found in Table 24, where the total input mass is compared to the different solution presented in this chapter. Time, s 0 20 40 60 80 100 120 140 160 180 Concentration, C/Co 0.0 0.2 0.4 0.6 0.8 1.0 Analytical TRT TR FEM TE RSE 66 68 70 72 74 76 78 80 82 84 0.80 0.82 0.84 0.86 0.88 0.90 X 20 22 24 26 28 30 u 0.0 0.2 0.4 0.6 0.8 1.0 1.2 Mass distribution on the domain at t=0 x 20 22 24 26 28 30 u 0.000 0.001 0.002 0.003 0.004 0.005 Simpson & Landman (2007) Analytical Solution Simpson & Landman (2007) TR solution TRT TRRSE
PAGE 52
52 Table 4 4 Mas s balances for scenarios II and IV. Scenario Input Analytical TRT TR FEM TR RSE Conservative pollutant Scenario II (Plug), g 1000 1000 1000.00 3 999.996 999.996 Reactive pollutant Scenario II (Plug), g 1000 904.918 904.955 904.927 904.504 Scenario IV (Monod)*, g 1.7724 0.1053 0.01050 0.0097 Analytical solution refers to the results of Simpson and Landman (2007) at t=1. 2 5 Discussion of Results 2 5 1 Non Reactive Solute Scenarios The programs TR FEM and TR RSE delivered the same results for scenarios I to III for conservative solute conditions This was expected since both programs use the same transport module of TR FEM For the case TRT, two steps of transport are solved for each time step. This improves the results when compar ed to TR FEM and TR RSE because these two programs call the transport module just once every time step for all the nonreactive scenarios. From Table 22 we can observe that the L2 error norm for scenarios I and II for all the CN and dt combination is almost double the corresponding L2 error norm for TRT. When results of scenarios I to III are plotted (Figures 24 2 5 and 26), there is virtually no visual difference between the three methods. From Table 22 we can observe that the numerical simulation approximates the analytical solution better when the temporal step and courant number are reduced. However, this requires more computational effort. For all cases, simulation times were not greater than two minutes. No split operator operation was performed since the reactive term is not used. The mass balance for scenario II showed that the difference between the three numerical methods is not significant to approximate total mass of the plug.
PAGE 53
53 2 5 2 Reactive Solute Scenarios The programs TR FEM, TR RSE and TRT we re tested using the four scenarios depicted in Table 2 1. Results in Table 13 show that for the same temporal step, TRT approximates the analytical solution better than TR FEM or TR RSE (lower L2 error norm ). TR FEM and even TR RSE can r each a similar level of accuracy than TRT when dt is reduced, but at computational cost For all scenarios, TR RSE had the lowest Nash Sutcliffe model efficiency coefficient even when compared to TR FEM in the same temporal step due to the TTE Scenario I had the best global approximation for TRT, TR FEM and TR RSE. When compared visually, the difference am ong them is minimal ( Figure 28 ). The major difference among them can be observed between time 60 and 78 seconds where a fast change in the s lope occurs This is also supported with the results shown in Table 23 Scenario II better illustrates the difference between the model s for ap proximating the analytical solution. Again, the wors t approximation is given when a fast change in the slope occ urs, which corresponds to the peak in this scenario. A zoomed section of it (Figure 29 ) shows that TRT and TR FEM have close levels of approximation to the analytical solution, but TR RSE slightly underestimates them. The higher value of the L2 error norm (9.55 for TR RSE) was obtained in scenario II. Scenario III may be the one that mi mics what could happen under un steady state conditions because input concentration is changing with time. Here, TRT continues to be the best SO option followed by TR FEM for all the time steps tes ted (see Table 23 and Figure 210). The split TR RSE split operator method had the worst pe rformance of all. During the inflection points of the graph in Figure 2 10 TR RSE was the method that most underestimated the solution when compare d to the analytical, T RT and TR FEM
PAGE 54
54 solutions. This agrees with the results shown in Table 2 3 since TR RSE had the highest L2 error norm Simulation results of the fourth scenario (Monod kinetics) are important because this allows for testing the TRT OS method with conditions other than the simple first order decay kinetics. This scenario also helped to prove that the TRT SO method implemented here is capable of reproducing the results of other works, such as those presented by Simpson and Landman (2007) Simul at ion results shown in Figure 211 overlap the results reported by Simpson and Landman (2007) for the same scenario, showing t hat the TR RSE SO method underestimated the solution to Monod kinetics when compared to the TRT method. No formal error analysis was made since no analytical solution was found to have a set of values of reference for Monod kinetics ; however, when the solution reported by Simpson and Landman (2007) is used as analytical solution, then the global NashSutcliffe coefficient is not very different for both TRT and TR RSE models (0.99 and 0.98 in scenario IV, Table 2 1 ). Nevertheless, when the NashSutcliffe coefficient is calculated locally at the peak, then there is a significa nt difference between the TRT and TR RSE methods (0.98 and 0.70 for TRT and TR RSE respectfully. The same pattern is observed when the mass bal ance is performed for scenario IV, where TRT approximated better the solution presented by Simpson and Landman (2007) compared to the TR RSE method. 2 6 Conclusions A flexible alternating split operator method was evaluated under simple first order decay and Monod kinetics to solve the 1D ADR The flexibility of this program enables the user to enter the equations the program needs to run (in order to numerically sol ve the reactive term of the ADR for si ngle or multiple species) via a flexible user defined
PAGE 55
55 XML input file. This approach has been applied before by James (2009) in wetlands using a 2D imens ional finite elements method. TRT has been built in 1Dimension to be coupled to VFSMOD (Muoz Carpena et al., 1999) which is a 1 D imens ional finite elements method, to solve the transport and reaction of pollutants in surface runoff through vegetative filter strips. Testing of the TRT alternating SO method with analytical solutions is important to validate the program for future applications. TRT proved to better approximate ADR when compared to TR FEM and TR RSE methods for the same time step, For all the scenarios tested either conservative or reactive, the TRT method reported the lower L2 error norm Simulation results also corroborate the results reported by Simpson and Landman (2007) about temporal truncation error removal for altern ating SO methods when the temporal step dt is sufficiently small. Underestimation of the analytical solution was more noticeable when a standard TR method was used due to the splitting operation. The TRT alternating showed an important improvement in the e fficiency of the solution for complex kinetics, as shown in the Monod example, compared to the tradition TR SO approach (NashSutcliffe coefficien ts of 0.98 and 0.70, respectively ) The TRT SO program will provide VFSMOD with the flexibility it needs to si mulate the dynamics of pollutants in runoff through VFS, since relationships between pollutant water, soil and vegetation could conceptually be considered and simulated.
PAGE 56
56 CHAPTER 3 LABORATORY SCALE TESTING OF A FLEXIBLE MODEL FOR SIMULATING POLLUTANT TRANSPORT IN DYNAMIC RUNOFF THROUGH VEGETATIVE FILTER STRIPS 3 .1 Introduction The complexity to solve nonsteady state conditions of runoff in VFS has motivated the use of empirical approach es to calculate the pollutant removal efficiency, which generally is based in a few parameters such as filter length and slope. The Soil and Water Assessment Tool ( SWAT) filter strip trapping efficiency for sediment, nutrients and pesticides is only a function o f the width of the filter st rips (Neitsch et al., 2002) Liu et al., (2008) for instance, performed an statistical analysis of various data bases on vegetated buffers and sediment trapping efficacy fitting the data with logarithmic regression models with respect to filter length and slope. The respective r2 were low, 0.34 and 0.2 3 Mu oz Carpena et al (1993a; 1999) developed a field scale, mechanistic computer model called VFSMOD W to simulate hydrology and sediment transport through vegetative filter strips on a storm by storm basis. VFSM OD contains specific submodels to calculate overland flow, infiltration and filtration of suspended sediments. Rudra et al., (2002) implemented an empirical phosphorus component to be used with VFSMOD W to estimate the phosphorus yield However, the removal efficiency of phosphorous is based on two simple concepts: the sediment removal efficiency and an empirical relationship called phosphorous enrichment ratio, which is based on the median particle size of sediment entering to the VFS. AbuZreig (2001) also investigat ed principal factors that affect trapping performance of VFS using VFSMOD W In 2009, VFSMOD 
PAGE 57
57 W incorporated a water quality module to simulate the removal of pesticides in VFS based on the empirica l model developed by Sabbagh (2009) Due to the strong physical and numerical background of VFSMOD for simulating transport of water and sediments in VFS, and the effectiveness of the new empirical pesticide module, the US E nvironmental Protection Agency has included VF SMOD W as a recommended model to support the quantification of pesticide reduction in buffer strips as part of a program to maintain watershed health and for the development of control practices (EPA, 2010) A flexible module to calculate the transport of pollutant s in surface water under steady state conditions was developed and analytical ly tested in Chapter 2. T his module needs that an external program that supplies dynamic hydrological data such as runoff water depth, flow velocity rainfall and infiltration at each node of the domain during the simulation The coupling of the new transport component with VFSMOD W offers t he user the possibility to define the processes, equations, parameters, etc that drive the dynamic behavior and potential reduction of a pollutant in runoff through a VFS This means that the user can explore a wide variety of conceptual approaches for co ntaminant transport, from simple empirical to physically based In this work we present the coupling the dynamic hydrological and pollutant transport components ( VFSMOD W and TRT ). The resulting new version of VFSMOD W is tested with experimental laborator y data of Yu (2010) Simulation of the experimental data is based on the conceptual model based on the rainfall induced chemical transport theory (Gao et al., 2004)
PAGE 58
58 3 .2 Model Development In this section, VFSMOD W and TRT program are presented, followed by the modifications made to VFSMOD W for the coupling, including the new input file structure for running the generic flexible water quality module. 3 2 1 Hydrology and Sediment Transport Model (VFSMOD W) The strength of VFSMOD relies in its numerical calculation of water and sediment balances through a field scale, mechanistic, storm based procedure designed to route the incoming h ydrograph and sedimentograph from an adjacent field through a vegetative filter strip (VFS) and to calculate the outflow, infiltration and sediment trapping efficiencies The model couples a hydrology submodel to describe overland flow with a sediment filtration submodel based on t he one developed at the University of Kentucky (Muoz Carpena et al., 1999) Figure 3 1 shows the processes of runoff routing, sediment deposition and infiltration in VFS in the way VFSMOD W handles them numerically The program relies in four numerical modules: Overland flow, Infiltration, Sedimentation and Water Quality Commun ication among these modules is depicted in Figure 3 2 The surface hydrology submodel used by VFSMOD W (Muoz Caperna, 1993; Muoz Carpena et al., 1993a; Muoz Carpena et al., 1999) uses a nonstandard Petrov Galerkin quadratic finite element (FE) overland flow submodel (Muoz Carpena et al., 1993a) based on the kinematic wave approximation (Lighthill and Whitham, 1955) of the Saint Venant overland flow equations + = (3 1)
PAGE 59
59 = = / (3 2 ) where x is flow direction axis (m), t is time scale (s), h(x,t) is vertical flow depth (m), p(t) is rainfall intensity (m/s), f(t) is infiltration rate (m/s) S0 is bed slope (m/m) at each node of the system, and m are uniform flow coefficients for coupling Eq. (3 2 ) (Mannings), and n is Mannings roughness coefficient VFSMOD can handle natural, unsteady rainfall conditions in the same rainstorm event. The init ial and boundary conditions used are: h=0; 0 t=0 h=ho; x=0; t>0 p=p(t) ; 0 t>0 f=f(t) ; 0 t>0 where h0 can be 0, a constant or a time dependent function (field incoming hydrograph). Figure 31. Processes and d omain discretization for the Finite Element overland flow submodel of VFSMOD W (Muoz Carpena et al ., 1999)
PAGE 60
60 Figure 32. Schematic representation of the connection of overland flow, infiltration, particle filtration and pollutant transport modules in VFSMOD W. Arrows and text in grey indicate that the pollutant transport module can be turned on wh en running VFSMOD W if needed The use of a Petrov Galerkin upwinding formulation to solve equations (3 1 ) and (3 2 ) reduces kinematic shock induced the amplitude and frequency of oscillations with respect to the standard Bubnov Galerkin method (Muoz Carpena et al., 1993b) thus improving the model stabilit y The estimation of the infiltrated water is based on a n extended version of the GreenAmpt equation for unsteady rainfall (Chu, 1978; Skaggs and Khaheel, 1982; Muoz Carpena et al., 1999) The time step for the simulation is selected by the kinematic wave model to satisfy converg ence and computational criteria of the FEM based on model inputs (Muoz Carpena et al., 1993a) The model inputs are specified on a storm basis Model outputs include detailed hydrographs and pollutograp hs, mass b alance tables for water and sediment s and summaries of variables and parameters used in the simulation.
PAGE 61
61 In order to describe the numerical and physical characteristics of the VFS, incoming hydrograph sedimentograph, pollutograph and rain, VFSMOD W needs u p to 7 files ( if the water quality module is used ), but can work only 6 input files. At the end of the simulation, up to six output files (five if not running the water quality module) with detailed data and summari zed tables are produced. Table 31 shows a description of the input and output files used and generated by VFSMOD W. No details on the sediment transport module of VFSMOD W are presented because testing here only includes a soluble tracer (bromide case). For more details about the sediment transp ort module see Muoz Carpena et al. (1999) and Mu oz Carpena and Parsons (2010) Table 3 1. Description of the input and output file extensions used in VFSMOD W Input files Output files Extension Description Extension Description i gr Buffer properties for the sediment filtration submodel og1 Detailed time series describing the sediment transport and deposition within the buffer. i kw Parameters for the overland flow solution og2 detailed information on the singular points (Muoz Carpena and Parsons, 2005) i rn Storm hyetograph o hy Detailed outputs on the inflow and outflow hydrographs. i ro Storm hydrograph from the source area. o sm Detailed summaries of the water and sediment balance, final geometry of the filter i sd Sediment properties for the sediment filtration submodel o sp Overall summary of filter performance with comparisons between the source area and filter i so Soil properties for the infiltration submodel o wq Details describing the water quality transport and removal efficiency i wq Pollutant properties for the Water Quality submodel
PAGE 62
62 3 2 2 Effect of Pollutant Dilution by R ain In this section a water balance is proposed to include the dilution of a runoff pollutant that is transported thought VFS due to the effect of rainfall. This consideration is being developed to be included in the TRT module befor e coupling it to VFSMOD W The one dimensional water balance in surfa ce runoff is given equation (3 1 ), which is given in the kinematic wave equation: + = where x is flow direction axis (m), t is time scale (s), h(x, t ) is vertical flow depth (m), p(t) is rainfall intensity (m/s), f (t) is infiltration rate (m/s ) and q(x,t) is discharge (m2/s). The concentration of a solute chemical, based on the overland flow mass balance, is given by: + = + (3 3 ) where C is the chemical solute concentration (g/m3) and k is the first order decay coefficient (s1). and D is the hydrodynamic dispersion (m2/s). Developing the partial differential equations on (2 3 ): + + + = + (3 4 ) Rear ranging common terms in Eq. (3 4 ) + + + = + (3 5 ) Substituting the term x q t h based on equation (31) on (35 )
PAGE 63
63 + + ( ) = + (3 6 ) + = + (3 7 ) Since by continuity equation q=v h, dividing (3 7 ) by h and rearranging terms : = + + (3 8 ) Currently, the program TRT has the capability to run a fully coupled finite element method for solving the ADR with a first order decay coefficient (k1). A global constant K=p/h+k1 can be introduced in equation (38 ) to simplify it and to have the same for m than the one used in TRT However, if a nonreactive compound is used such as a tracer then k=0, reducing equation (38 ) to: = + (3 9 ) The term p/h in equations (38) and (39 ) accounts for the effect of dilution by rain in overland flow. It is important to point out that the effect of infiltration is included in the water de pth in Equations (3 8) and (39 ), although the infiltration ratio does not appear on those equations. The TRT program (see Chapter 2 for more det ails) was modified to add the reactive term K=p/h+k1 to account for dilution by rain and a first order decay rate. The advantage of this is that k can be zero, representing a nonreactive compound but keeping the effect of dilution by rain. For the case wh ere no rainfall is present, the p/h is zero and the pollutant might be only affected by the first order decay constant when no infiltration occurs, otherwise infiltration need to be included For computational efficiency, this term (K) was added to the bas e finite element transport component,
PAGE 64
64 outside the flexible reactive component (RSE), since dilution by rain will always be present when rainfall occurs. 3 2 3 Chemical Transport Module (TRT ) As described in previous chapter, t he TRT program solves the AdvectionDispersion Reaction Equation ( ADR ) using a split operator scheme. The transport part of the ADR (Eq. 31) is solved using a standard Bubnov Galekin cubic/quadratic Finite Element Method for solving the spatial derivatives and a timeweighting ( Crank Nichol son finite difference) method for the temporal derivative. The user defined reactive component solves a system of ordinary differential equations using the fourth order Runge Kutta method. Each equation represents the change of some specific pollutant in time. Pollutants can be considered as mobile or stabile, depending if the move with runoff (i.e. soluble compounds) or stay in the same place during the simulation (i.e. pollutant s oil porewater concentration, absorbed pollutant to soil and vegetation, etc ). Mobile and stabile elements are related using ordinary differential equations to obtain a mass balance for each time step. The program performs a Transport ReactionTransport spl it operator scheme at each time step. This means that the pollutant is transported using half of the time step, then is reacted for the full time step, and then transported for the remaining time step. Results presented in previous chapter during analytica l testing of the TRT module showed the accuracy of this is slightly better when compared to the fully coupled finite element method (TR_FEM) for simple first order decay reaction and Monod kinetics (see section 2.4.1 and 2.4.2 ). The TRT program (standalon e version for steady state conditions) needs three input sets to run: one that includes that transport and numerical parameters to be used by the transport module and two for describing the user defined properties and
PAGE 65
65 parameters of the mobile and stabile compounds and the equations to be used written in XML format. The i nput parameters and structure for running TRT module can be seen in Tables A 1, A 2 and A 5. The main limi ting factor when running the stand alone TRT program is that it runs with constant runoff depth and velocity through the domain and does not considers the effect of dilution by rain. Dynamic conditions are very important when dealing with field scale or experimental data because they usually change with time, as infiltration does during a rainfall event 3 2 4 Model Linkage When TRT is used, the pollutant concentration is calculated at each time step, and then passed to the reactive module to complete the change of concentration in time. The time and spatial steps and the flow velocity are input to the model as constant during the simulation. VFSMOD W can produce the hydrologic and numerical data that TRT needs at each time step though the domain (filter length) for dynam ic flow conditions The procedure to link these two programs includes: 1) to transfer the spatial and temporal steps and other numerical parameters from VFS MOD W to TRT 2 ) to modify the ADR used in TRT to include the effect of dilution and code it in the transport module of TRT 3) to call TRT once the hydrodynamic flow parameters are calculated in VFSMOD W. The TRT module (see section 2 .2.3) was designed to be coupled to VFSMOD W to simulate the dynamics of pollutants in runoff through VFS Since both pr ograms share the finite element method, t he transport module of TRT and VFSMOD W have various subroutines in common especially those related to solving the matrices
PAGE 66
66 generated by the finite element method. This allowed for efficient coding with standard st ructure for both components. The TRT split operator program uses the next numerical parameters: Spatial ly discretiz ed length in the X direction DT, time step DT, Number of time steps for the simulation NDT time weighting method for the temporal derivative (0.5 for Crank Nicholson) THETAW, order of the integration rule NL over each element and the number of nodal points over each element NPOL. These parameters are transferred d irectly from VFSMOD W to TRT during the simulation. The hydrologica l parameters used by the TRT program are: the length L of the domain in the X direction, the longitudinal dispersivity DISL ( L in Eq. 22) the molecular diffusion coefficient DISM and the first order decay r eaction coefficient K1. For this set of parameter, only the l ength L has its equivalent with the buffer length VL in VFSMOD. The rest of the parameters are new for VFSMOD W so they need to be input as new parameters. None of the chemical parameters is declared or used in VFSMOD W. So all the water quality parameters used in the TRT program have to be input as new parameters in VFSMOD W. However, the structure of the input files need to be adapted to have fully compatibility with the current file organization in VFSMOD W. The modifications to the structure of the *.iw q water quality input file is detailed in Appendix A. Based on these modification, there possible options are handled in VFSMOD W to simulate the transport of pollutants: 1) Transport of pesticides based on un empirical equation developed by Sabbagh et al. (2009) 2) solely transport of a solute in runoff through VFS considering th e effects of dilution by rain and infiltration
PAGE 67
67 and, 3) The multi component flexible approached based on the TRT module. A schematic representation of VFSMOD W with the new water quali ty module is shown in Figure 3 .3 Figure 33 Schematic representation of linkage between VFSMOD W and the water quality module. 3 .3 Model Testing In order to test the new flexible water quality module of VFSMOD W, data from Yu et al. (2010) experiment is used. The laboratory experiment was conducted to investigate the processes involved in the transport of nanoparticles in surface runoff. A laboratory scale experiment was designed to study runoff with f ive basic considerations: 1) a sand bed box with no vegetation on top receives artificial rainfall and lateral runoff, Start VFSMOD Read input data Calculate Flow each time step. Sediment is calculated 100 times during the simulation. Run Water Qu ality? No Next time step Option 1 Option 2 Option 3 Run Pesticides based on Sabbagh et al. (2009) empirical equation Run TR FEM module for solute transport Run flexible multi reactive module TRT Chose Option Pass Hydrodynamic runoff and sediment data Yes End of simulation? No End VFSMOD Write Reports Yes
PAGE 68
68 2) a plug of pollutant is injected with the lateral runoff, 3) i nfiltrated water is col lected from a drainage system, 4) run off is collect ed at the end of the box and 5) s ample s of runoff and infiltrated water are collected and analyzed. The absence of vegetation and homogenous soil allows for a controlled experiment with a reduced number of variables A description of the experiment and the conceptual model used to explain the data is depicted in the next sections. 3 3 1 Experimental Setup Yu et al. (2010) designed a n experiment to investigate the surface transport of nanoparticles (kaolinite) in runoff compared to that of a conservative tracer The experiment was conducted in the Water Resources Laboratory of the Agricultural and Biolo gical Engineering Department at the University of Florida. A schematic representation of the experiment is shown in Figure 3 4 In Yus experiment a metal box (1.53 m long, 0.402 m wide and 0.10 m deep) is built and divided in four equidistant compartments of 0.38 m separated by metal divider of height of 0.05 m are used to make the compartments. Each compartment was fully filled with 12 kg of sand with a media size of 0.55 mm. Bulk density of sand reported by Yu (2010) was 1.538 g/ c m3 and the estimated sat urated hydraulic conductivity was 1.06x105 m/s. A vertical drainage system collection system was added to the soil box by making a 1 inch screwed sink hole in the bottom of each compartment for a total of four. The drainage is centered to the downslope end of each c ompartment. A 500 mesh screen was used in each sink hole to cover them so only water can be filtrated. A funnel with a 1.27 cm diameter hose was connected through each drainage sinkholehole in order to collect the infiltrated water into 22.7 liter cylindrical bucket buckets. A runoff collector was installed at the end of the box and connected similarly to the drainage
PAGE 69
69 system to a 22.7 liter cylindrical bucket. Water depth in each bucket was measured using a dielectric capacitance probe (ECH2O 20 cm probe, Decagon, Pullman, WA) every thirty seconds and then correlated to volume. Data was stored in a automatic data l ogger (CR40, Campbell Sci, Pullmand, WA) Figure 34 Schematic representation of the laboratory experiment used by Yu et al. (2010) Rain was produced using a rainfall simulator with a stainless steel Tee Jet 1/2 HH SS 50 WSQ nozzle (Spraying Systems Co.,Wheaton,IL) located approximately 3 m above the box Experiments were conducted under the pressure of 1.24 bar ( 18 psi ) which generated rainfall intensity of 64 mm/hour with uniformity greater than 90% over the box The rainfall intensity was monitor ed and measured by 6 standard garden rain gauges and one ele ctronic tipping bucket rain gauge (Texas Electronics Inc.,Dallas, Texas) connected to the data l ogger Runoff bromide distributor Overland flow L=1.52 m Height (0.05m) L4=1.52 m Soil (sand) Drainage Infiltrated water via drainage system qi, Ci, viqo, Co, voBrInflow Outflow Probe Computerized water depth recorder 18 psi 3.05 m Rainfall Simulator Fraction s ampler
PAGE 70
70 The pollutant inflow rate was set to 0.3 l/min with a peristaltic pump ( Master Flex L/ S digital standard drive pump, ColeParmer Instrument Company Vernon Hills, Illinois) Precision pump t ubing transports the inflow to a spreader for uniform water and solute distribution over upslope end of the box (Figure 34 ) In order to reach steady state conditions for the experiment, the sand was saturated by the simulated rain for two hours prior to the experiment in order to assure saturation conditions and no bromide presence in the media. After saturation was reached, a 103 mg/l pulse of bromid e is release for 30 minutes. When the pulse of bromide is over, clean water is continuously injected at 0.3 l/min until the end of the simulation in order to do not affect the water balance. Artificial rainfall is constant during the entire experiment as w ell. The output runoff and infiltrated pollutant is measured for 50 more minutes to complete a total time of 80 minutes starting at the time the pollutant is released in runoff. Water samples were taken during the 80 minutes of the experiment and then analyzed using an ion chromatograph (Dionex ICS90) to determine bromide concentrations in water samples 3 3 2 Conceptual Model One of the most critical processes for simulating pollutant transport in runoff is the movement of pollutant s from soil to runoff. Extens ive research has been conducted over the past thirty years in an attempt to explain the mechanisms involved in this process. The most widely applied theories are the film theory (Wallach et al., 1989; Wallach and Vangenuchten, 1990; Wallach, 1991) the chemical mixing depth concept and its variations (Ahuja, 1982; Steenhuis et al., 1994; Zhang et al., 1997) and the raindrop solute transfer theory (Gao et al., 2004) In the film theory, the pollutant is transported by molecular diffusion to a thin layer or film of water that lies between soil and runoff
PAGE 71
71 The chemical mixing concept theorizes that the pollutant is mixed instantaneously in a zone below the soil, which includes water from rain, runoff and infiltrated water. This mixing zone can be considered to be either uniform and complete, uniform but incomplete, or nonuniform and incomplete (Zhang et al., 1997) Wallach and van G enuchten (1990) indicated based on their results that direct mixing between runoff water and the soil solution is responsible for chemical transfer only during the early stages of the runoff process, but later the convective mass transfer becomes the main transport mechanism. Walton et al. (2000) proposed that the release of a pollutant from soil to runoff should consider the soil moisture condition previous to the rainfall, as opp osed to under saturated conditions, as assumed in most of the experiments designed to study this transfer. Walton et al. (2000) introduced the concept of the blindpore factor to account for pollutant that remains in the soil surface once the initial rainfall has infiltrated part of the pollutant from the surface soil, and tested this theory using field site experimental data but concluded that some processes occurring at early times were not adequately described by his model. Finally, Gao et al. (2004) introduces th e concept of soil exchange layer, where the pollutant is release from porewater soil stored in an exchange layer near the surface, when raindrops hit the ground. In Gaos study, a combined raindropcontrolled solute transfer and diffusion process was used to explain experimental data under no flow conditions Gao et al (2004) concluded that other phenomena, such as the pumping mechanism or a different interaction between raindropinduced solute transfer and diffusion, were required to properly simulate solute transfer from soil to runoff. The pumping mechanism depicted by Gao is similar to interflow depicted by Ahuja (1982) At a larger scale, this pumping mechanisms h as
PAGE 72
72 also been studied by Packman et al. (2000) to describe the advective flow of pollutants induced in a sand bed by stream flow over bedforms Figure 35 shows the schematic representation of the bromide exchange between runoff and porewater using the exchange layer proposed by Gao under dynamic flow conditions. Figure 35 Conceptual schematic representation of physical and chemical transport processes in runoff Bromide in Yus (2009, unpublished) experiment. In Figure 35 Cw and Ce represents the concentration of bromide in surface runoff and porewater respectively, i represents the infiltration rate, and er is the rate of soil water that is ejected into the runoff. The bal ance of Bromide in surface runoff used in Yu et al. (2010) experiment can be described using the next ordinary differential equation base d on Figure 35 = ( ) (3 10 ) w here h represents the runoff depth. From the perspective of change in concentration in porewater, w e have = + ( ) (3 11 )
PAGE 73
73 Equation (3 11 ) can be simplified as follow = + ( ) (3 1 2 ) Where de represents the effective layer depth. A factor is introduced by Gao et al. (2004) that accounts for incomplete mixing of the pollutant in runoff with rain before infiltration. In this study accounts for the incomplete mixing of pollutant in so il. This is because the depth of flow in this experiment is much smaller than that used under the ponding conditions of Gao et al. (2004) The mixing factor can have a valid range 0 1. The system of ordinary differential equations that controls the movement of a non reactive pollutant such as bromide is given by equations (3 10) and (312 ). When the mixing factor is introduced, the system of equations is defined by: = ( ) (3 13 ) = + ( ) (3 14 ) Since Yu et al. (2010) laboratory scale experiment included rain, the rain drop controlled solute transfer theory proposed by Gao (2004) was chosen to predict Yus experimental data together with a simple uptake/release model as the one depicted in Figure 23 which is driven by the sy stem of equations (225) and (226), where the constants Ku and Kr represent the exchange rate of Bromide between the surface water column (runoff) and the bromide in porewater These empirical constants are an empirical simplification of the different physical mechanisms proposed when Bromide is exchanged between surface water and porewater, such as diffusion, pumping (Packman et al., 2000) raindrop effect (Gao et al., 2004) etc. The variables Cw and Cs
PAGE 74
74 (Equations 225 and 226) represents the concentration of bromide in surface runoff and porewater respectively Figure 23. Basic conceptual model for uptake/release dynamics of phosphorus between the soluble phosphorus in water column and settled phosphorus on soil Source: Adapted from James (2008b) as shown in Chapter 1 3 3 3 Input Parameters for the Water Quality Module Based on the system of equations formed by equations (213) and (2 14) two input sets need to be created (contained in the program *.iwq and the XML water quality input file s) W e first have to define the elements that are represented in the system of equations. From the l eft hand side of equations (313) and (314 ) we observe one mobile component Cw (bromide in runoff) and one stabile component Ce (bromide in porewater). From the right hand side of these equations, besides Cw and Ce, there are five parameters: er, i h de and The water quality input file (sampleBr.iwq ) containing all the se elements and its corresponding values are presented in Table A 8 in Appendix A. The system of reaction equations and the definition of the variables and parameter to CwCsSurface Water Soilkrku
PAGE 75
75 be used during the simulation are contained in the user defined XML input file (YuGao.xml see Table A 8 Appendix A). A detailed description of each of the VFSMOD W input files used for runnin this simulation is also presented in Appendix A. For the empirical approach using ku and kr, the XML input file i s shown in Table A 2 in Appendix A. Table 3 2 shows a summary with the most important parameters used for testing the empirical and mechanistic approaches Table 3 2 List of parameters used in the physically based and empirical conceptual models for bromide transport Parameter Description, units Value used in simulations Recommended value e r Raindrop induced water transfer rate, m/s 2.5 x10 7 1 .5x10 6 8.4 x10 6 d e Exchange layer depth, m 0. 05 0 0.1 Concentration mixing factor, dimensionless 0. 147 5 0 1 K u Pollutant release rate, s 1 0.0093 K r Pollutant uptake rate, s 1 0.2 Gao et al. (2004) 3 3 4 Model Testing Procedure Three steps were followed in order to test the flexible water quality module of VFSMOD W using the experimental data of Yu et al. (2010 ). First, measured data of rain, inflow, tracer plug duration, concentration, etcetera of the experiment were properly parametrized to be included in the input files of VFSMOD W. Second, since rainfall and runoff inflow did not change in time, an inverse calibration procedure was used to define the values of the infiltration parameters ( average suction at the wet ting front and saturat ed hydraulic conductivity ) to fit the measured runoff output flow. Water balances of rain, inflow, infiltration and outflow were performed and compared to those obtained during the experiment. Finally, once the water balance was satisfactory, the
PAGE 76
76 water qua lity module was used to include the release of bromide from soil to runoff based on the system of equations (2 25) and (226 ) for solely transport of bromide, the simple uptake/release empirical approach, and (3 13) and (314) for the mechanistic Gaos exc hange layer theory For the case of the rainfall induced chemical transport (exchange layer) theory the model was first tested using t he recommended values of Table 32. However, it was not possible to reproduce th e experimental data and v arious combinat ions of the conceptual model parameters were used in order to reproduce the experimental data (Figure 3 6). The best fitting was obtained when th e parameters reported in Table 32 were used (Figure 38) Fo r the case of the empirical uptake/release concept ual model, different values of ku and kr were tested in order to obtain the best combination that reduced the error (Figure 38) Since these parameters are purely empirical, the val ues reported in Table 3 2 are valid only valid for those conditions of the experiment. 3 4 Results 3 .4.1 Experimental Results Experimental water bal ances are summarized in Table 33 Values of inflow runoff and rain rate are considered constant during the entire time of the expe riment and simulation since they are fully controlled duri ng the experiment (see section 3.3.1). In this table, a mass balance deficit close to 5 % is shown which is deemed acceptable. The deficit could be related to the soil porewater content at the end of the 80 minutes since only the total water collected i n the drainage/runoff collection system (see Figure 3 3 ) is reported for mass balance The surface area of the sand box (1.52m x 0.402m) is used to transform units from m3/s to mm/h
PAGE 77
77 Table 3 3 Water Balance of Yu et al. (2010) laboratory experimental results. Parameter/variable mm/hr L/min Inflows Runoff inflow 29.03 0.3000 Rainfall 64.17 0.6532 Outflows Drainage 37.86 0.3856 Runoff 49.93 0.5085 Subtotal inflows 93.20 0.9532 Subtotal outflow 8 7.79 0.8941 Mass Balance Error (%) 6.3 0.15 The bromide concentration in time for each one of the four compartments of the infiltration system and outflow r unoff is presented in Figures (36) and (37) and the mass balance based on these breakthrough curves is shown in Table 33 Time scale is reported from 0 to 80 minutes. Infiltrated (drainage) bromide has different breakthrough curves for eac h compartment. This was not only because the concen tration in time was different along the length of the sand box in surface runoff but because the average infiltration drainage rate in each of the four compartment s was different ( 0.1071, 0.1193, 0.0754 and 0.0938 L/min ). As stated before, starting time (t=0) corresponds to the time when bromide is injected to inflow runoff, and the final time of 80 minutes corresponds to t he ending time of data measurement Thus the p revious 120 minutes of rainfall to take the experiment to steady state conditions is not reported. Bromide concentration at inflow is set to constant with a value of 103 g/m3 for the 30 minutes of duration of the pulse. A deficit of bromide (12%) is observed for the experimental data (Tabl e 3 4 ). This deficit can be related to the dissolved phosphorus held in pore water at the end of the simulation. From Table 34 we can observe that 35.8% of the incoming mass of bromide
PAGE 78
78 leaves the sand bed as outflow runoff, and 53% of bromide mass leaves the system through the drainage system. Figure 36. Experimental surface outflow runoff bromide concentration as reported by Yu et al. (2010) Table 3 4 Bromide mass balance of Yu et al. (2010) experimental results. Parameter/var iable Br Mass, g Inflows Runoff inflow 0.927 Outflows Drainage 1 0.208 Drainage 2 0.171 Drainage 3 0.074 Drainage 4 0.039 Runoff outflow 0.332 Subtotal inflows 0.927 Subtotal outflow 0.824 Mass balance error 0.103 ( 12%) 3 .4.2 Water Balances using VFSMOD W VFSMOD W was run without the water quality module and with no sediments from the upland inflow in order to simulate the runoff outflow and infiltration reported in the time, min 0 20 40 60 80 Concentration, g/m3 0 5 10 15 20 Outflow Brconcentration
PAGE 79
79 experiment. Since infiltration rate was not homogenous in each c ompartment of the sand box, the inverse calibration module of VFSMOD W was used to estimate the optimized calibration values of the vertical saturated hydraulic conductivity VKS, the GreenAmpts average suction at wetting front SAV manning coefficient and mean slope of the sand box The hydrological input parameters used for the water balance simulation are summarized in Table A 9 With the help of the inverse calibration module of VFSMOD W, the difference between the amounts of water at the input (rain, inflow) and output (outflow, infiltration) during the simulation was less than 0.15%. A comparison between the simulated water balances and the experimental data is presented in Table 35. It should be noticed the fact that simulated infiltrated (drainage) water is greater than the experimental data. This may be due to the experimental def icit already observed in Table 35. Table 3 5. Water Balance of Yu et al. (2010) experimental results. Parameter/variable Experimental data, L/min Simulated data, L/min INFLOWS Runoff inflow 0.3000 0.3000 Rainfall 0.6532 0.6532 OUTFLOWS Drainage 0.3856 0.4432 Runoff 0.5085 0.5085 Subtotal inflows 0.9532 0.9532 Subtotal outflow 0.8941 0.9517 Mass balance error 6.3% 0.15% 3 4 3 Bromide Simulations using VFSMOD W with the TRT Module Once the VFSMOD W hydrology component was successfully tested, the water quality module TRT was used to simulate the bromide experimental results obtained by
PAGE 80
80 Yu et al. (2010) For the e mpirical approach, equations 225 and 226 with C=103mg/l, ku=0.22s1 and kr=0.0087s1 are used. The corresponding input file is similar to that depicted in Table A 7. For the exchange layer theory, the system of equations defined by Equations (3 13) and (314) is used as depicted in Table A 8, and the XML input file is available in Appendi x A. Figure 37 Cumulative outflow runoff volume of experimental data. The estimated average outflow rate is 0.5085 L/min. As stated in section 3.3.4, three scenarios were tested for the transport of bromide in surface runoff: 1) Only transport, 2) Upt ake/release empirical approach and 3) M echanistic exchange layer theory (Gao et al., 2004) Simulation results of each scenario and experimental data are shown in Figure 3 8 The dot dash line shows the simulation based on solely transport simulation. The dashed line is the better simulation obtained for the exchange layer theory by using t he recommended values of Table 32 and extending the value of the rain drop induced water transfer slightly out of the lowest recommend value. It is important to point out th at recommended values in Table 32 are based on static (no dynamic) flow conditions and a greater water depth (Gao et al.,
PAGE 81
81 2004) Finally, for the empirical conceptual model (continuous line) various combinations of the uptake and release rate constants ku and kr were used to fit the experimental data by trial and error. The best results were obtained when ku=0.22 s1 and kr=0.0087s1. In Figure 38 we can also observe that the experiment is driven by two phenomena: A transport of bromide dominated by the hydrodynamic dispersion during the first 30 minutes of the simulation followed by a long tail related to the release of bromide from porewater du e to the raindrop effect on the exchange layer and other processes. Mass balances for Figure 3 8 are summarized in Table 36 Figure 38. Concentration during the simul ation of bromide in runoff at the end of the sand box (x=1.52 m). Bromide was release as a plug during 0
PAGE 82
82 coefficient of 0.94 and 0.95 respectively). The scenario that considers the sole effect of transport of bromide underestimates the experimental mass in 9%. However, these global results o f mass balance can mask the fact that the transport only approach overestimate the load and concentration of bromide during the first 1800 seconds of the simulation, which compensated the absence of a tail. In contrast, empirical and mechanistic approaches can reproduce very accurately the first 1800 seconds, and simulate a general trend of the tail. Table 3 6 Mass balance of bromide in surface runoff for experimental and simulated results. Experimental (g) Simulated (g) Transport only Empirical approach Mechanistic approach Runoff inflow 0.927 0.927 0.927 0.927 Runoff outflow 0.332 0.3013 0.319 0.318 Predicted error (%) 9.24 3.94 4.24 The big disadvantage when using the empirical approach is that the constants lack of applicability beyond the conditions of this experiment. In contrast, a mechanistic approach is applicable to various conditions and scenarios due to its physically based development. 3 4 4 Sensitivity Analysis of Transport Component During the simulation of the mechanistic ap proach, the values of DL (longitudinal dispersivity), er (rate of soil water release due to rainfall effect), de (depth of exchange layer), and (effective mixing effect in runoff) were adjusted to fit experimental data (Figure 28). A simple sensi tivity analysis was performed by varying these parameters by 25% and 50% with respect to the effective base values that best fitted the experimental results as shown in Figure 3 9
PAGE 83
83 a b c d Fi gure 39. Sensitivity analysis of outflow runoff bromide concentration for the variables DL (a), er (b), de (c) and (d), by varying 25% and 50% the calibrated values for exchange layer approach. The Nash Sutcliffe coefficient was not use during the sensitivity analysis because a n overestimationunderestimati on compensation occurs between the first 30 minutes of the simulation when advection dominates the transport of bromide, and the next 50 minutes where the release of bromide from the sand bed occurs (see Figure 39 b, c and d). A better appreciation of the influence of the variation of the parameters over the outflow concentration during the simulation is represented in Figure 3 9. The sensitivity to the parameters DL er, de and for the exchange layer physically based approach with respect to the total mass (area under the curve) and the concentr ation peak, is shown in Figure 310 time, s 0 800 1600 2400 3200 4000 4800 [Br], mg/l 0 5 10 15 20 25 Experimental Data DL BASE (0.03m) DL +25% (0.0375m) DL +50% (0.045m) DL 25% (0.0225m) DL 50% (0.015m) time, s 0 800 1600 2400 3200 4000 4800 [Br], mg/l 0 5 10 15 20 25 Experimental Data Base (e r =2.5x10 7 m/s) e r +25% (3.125x10 7 m/s) e r +50% (3.75x10 7 m/s) e r 25% (1.875x10 7 m/s) e r 50% (1.25x10 7 m/s) time, s 0 800 1600 2400 3200 4000 4800 [Br], mg/l 0 5 10 15 20 25 Experimental data Base (de= 0.05m) de +25% (0.0625m) de +50% (0.075m) de 25% (0.0375m) de 50% (0.025m) time, s 0 800 1600 2400 3200 4000 4800 [Br], mg/l 0 5 10 15 20 25 Experimental data Base ( =0.1475) +25% (0.1844) +50% (0.2213) 25% (0.1106) 50% (0.0737)
PAGE 84
84 Exchange layer theory parameters er, de and showed to have small sensitivity to the total mass of bromide (from 4% to 4% in Figure 3 10a) but is more sensitive for peak of concentration of bromi de (from 12% to 10% in Figure 3 10b). a b Figure 310. Sensitivity response of outflow runoff bromide concentration for the variables DL, er, de and with respect to the total mass (a) and concentration peak (b) by varying 25% and 50% the calibrated values for exchange layer approach. 3 5 Conclusions Experimental water balances were well simulated when using VFSMOD W, confirming to be a very reliable model to simulate the outflow runoff in vegetative filter strips ( water mass balance error <0.15%) The inverse calibration module of VFMSOD W was helpful to calibrate the model before the simulation of a pulse of bromide in runoff. T hree approaches were used to simulate the experimental results of bromide transport in runoff in a sand bed: one based on the transport of bromide in runoff without other considerations, another based on the physically based rainfall induced chemical transport (exchange layer) theory and the last one using a simplistic empirical approach. For the exchange layer theory, a NashSutcliffe coefficient of 0.95 was obtained when the recommended values of the parameters where modified. This might indicate that the % Variation of parameter 50 25 0 25 50 % variation of total Br mass 12 10 8 6 4 2 0 2 4 6 8 10 12 er de % Parameter variation 50 25 0 25 50 % Variation to peak [Br] 12 10 8 6 4 2 0 2 4 6 8 10 12 er de
PAGE 85
85 based rainfall induced chemical transport th eory is not enough to explain the experimental results for bromide under dynamic runoff conditions and that other processes such as the diffusion of bromide from porewater to runoff, pumping effect, etc need to be considered to parameterize the conceptual model It is important to point out that the exchange layer theory was experimentally developed for no flow conditions (Gao et al ., 2004) For the second approach, an empirical uptake/release process approximates the experimental data with a NashSutcliffe coefficient of 0.94. However, ther e is no certainty that the empirical values of the uptake and release constants could work for other conditions different to those used in the experiment. The new flexible module TRT coupled to VFSMOD W opens a new window of possibilities to study the transport and reaction o f pollutants in surface runoff though vegetative filter strips. This model can be used either to test current theories for specific pollutants or for explore diff erent physically based processes that could be involved in the transport of runoff pollutants. By using physically based processes instead of empirical relationships, the model can be used for various laboratory and field conditions.
PAGE 86
86 CHAPTER 4 FIELD SCALE TESTING OF A F LEXIBLE MODEL FOR SI MULATING MINING TAILING S PHOSPHORUS TRANSPORT IN RUNOFF USING VFSM OD W 4 .1 Introduction Research about vegetative filter strips during the last 20 years has focused on measuring removal efficiencies for different pollutants and establishing mostly empirical relationships to predict the efficiency of a filter based on one or two parameters such as filter length or slope (Neitsch et al., 2002; Liu et al., 2008) Those relationships are usually easy to use, but their accuracy is limited to the set of field or laboratory conditions that were used to obtain the regression equations. Their application to other conditions of soil, type of vegetation, slope, etc is also limited and the efficiency coefficients are generally low. In order to deal with this problem, Muoz Carpena and Parsons (1999; 2004) designed a field scale, mechanistic, storm based model called VFSMOD W to handle incoming hydrographs and sedimentographs fr om an adjacent field through VFS VFSMO D W has been effectively tested with different scenarios (Muoz Carpena et al., 1999; AbuZreig, 2001; Zhang et al., 2001; AbuZreig et al., 2003; Kuo and Muoz Carpena, 2 009) In 2009, an empirical equation (Sabbagh et al., 2009) was coupled to VFSMOD W to es timate the removal of pesticides in VFS. In previous chapters, a flexible water quality m odule was added to VFSMOD W to simulat e a wide number of pollutants based on a user defined system of equations that desc ribe the dynamics of pollutant s in surface runoff. This nov el approach was tested with a set o f experimental data provided by Yu et al. (2010) to simulate the transport of bromide in runoff under laboratory scale experimental conditions. The tool has th e potential to simulate field scale scenarios
PAGE 87
87 The testing of the flexible water quality module of VFSMOD W under field scale conditions is presented here. The main objective is to predict the transport of dissolved phosphorus (DP) in runoff from phosphate mining tailing areas typical of central Florida (Polk County) when using vegetative filter strips Phosphorus dynamics in VFS will follow the processes described by Ku o (2007) who found that pH dependent apatite dissolution from tailing materials can contribute to the loads of dissolved phosphorus. The concentration of particulate phosphorus is not included in this work because of two considerations : 1) I t is linearly related only to the fraction of sediments in the outflow (Kuo, 2007; Kuo et al., 2009) and 2) The rainfall event to be simulated contains one of the lowest concentrations of dissolved phosphorus during field experiment, whic h reduced the sources of particulate phosphorus to be added to the runoff. If successfully tested, th e new water quality module of VFSMOD W will give the researchers, decision making personnel or governmental agencies, a reliable and tested tool to estimate the optimal length of VFS needed to remove a specific pollutant in runoff for different situations and scenarios. 4 .2 Experiment D escription Two experimental sites were constructed in 2005 by Kuo (2007) to study the efficiency of VF S for removing phosphorus contained in runoff from disturbed areas due to phosphate mining activities in the Peace River Watershed. The experiment is located in Bartow, Florida at 27o 48' 45.76"N and 81o 47' 41.81"W Each experimental site had a set of four source areas and filter strips f or a total of 8 paired source areavfs plots Source areas were maintained by cleaning periodically the soil without disturbing the topography The filter strips were frequently mowed in order to have optimal conditions for sediment trapping and water infi ltration.
PAGE 88
88 In order to study different conditions of slope, VFS lengt h, hydraulic conductivity and Source Areas VFS ratios (2.5 :1 and 1.25:1) O ne experimental site was installed on a flat terrain located close to the Peace River and the other one was loc ated on a small hill. They are referenced as River (or A) and Hill (or B) site s in this document (see Figure 41). The distance between both plots is approximately 0.85 miles The dim ensions and instrumentation of the experimental plots are shown in Figure 42 Each plot either source area or filter strip, is separated by plastic plates inserted vertically to avoid lateral runoff losses or interference between plots a b Figure 41. Areal views of the experimen tal sites located in Bartow, Florid a. Figure a corresponds to the Hi ll experimental site, Figure b shows the River experimental site. Source: Microsoft Bing maps (as accessed on June, 2010).
PAGE 89
89 a b Figure 42. Sche matic dimensions and instrumentation of the experimental sites ( Figure a), wh e re l etter A referes to the River site and B to the Hill site. Figure b shows a picture of the River site plot. Source: Kuo (2007) Flow direction
PAGE 90
90 When an excess rainfall event occurs, runoff is produ ced from the source areas into the VFS. Runoff is collected in both, at the end of source areas and VFS and directed to s ix inch (15.24 cm) HS flumes were flow rate is automatically measured using capacitance probe s (ECH 2 O, model EC 20, Decagon Devices, WA) inserted vertically in to the throat of each flum e. At this point water samples are taken using the ISCO 6712 automatic water sampler (ISCO, Inc.) which collects up to 500 ml of sample based on changes in accumulated runoff volume. Another capacitance probe was used to measure soil moisture in periods of 30 minutes. To measure rainfall intensity, a rain gauge (Texas Electronics, Inc TR 525M tipping bucket rain gauge) was installed in both experimental sites The rainf all data was re corded every minute. All the reading from probes were sent to the CR10X data l ogger through a relay multiplexer (AM416, Campbell Scientific, UT). There was a data logger for each site. Additional details on the procedure and instrumentation of data collec tion and analysis of water flow, sediment and phosphorous concentrations can be found in Kuo (2007) Kuo and Muoz Carpena (2009) and Kuo et al. (2009) 4 .3 Experimental Results Experimental results for years 2005 to 2006 can be found in Kuo (2007) Tables B1 to B 6 in the Appendix B summarizes the data collected in 2007 and 2008 for rain, runoff, i30, Total Load of Sediments, Total Phosphorus (TP) and Dissolved Phosphorus (DP) for both field sites River (A) and Hill (B) following the same structure as presented by Kuo (2007) Rainfall excess is in gene rally produced at the experimental sites when reasonably large rainfall events occurs with intensities above i30= 10 14 mm/h for Sites B and A respectively. D ata of precipitation was well recorded in the River Site, except during
PAGE 91
91 August 2007 and half of Se ptember 2007 because malfunctioning of the CR10 data logger, which was substituted for a new one. A large number or rainfall events were recorded at the Site A in 2007 (t hirty three in total) unfortunately only 19 of them gave an I30 > 14 mm/hr to obtain runoff (55 %). Five events out of nineteen occurred du ring the maintenance period and five more during the months of August and September, when the data l ogger failed ( Table B 1 ). No significant rainfall event was recorded for January, November and December 2007. During the period January April in 2008, we recorded five events with an i30 > 14 mm/hr Three of them with an 14> i30>16 mm/hr produced enough runoff, but the water samplers did not worked properly and no water sample was collected for chemical analysis. T wo more events (i30>25 mm/hr) collected enough water sample in the 500ml water bottles for P and sediment chemical analysis. Due to the physical conditions of the Hill site (greater slope, area mainly) more maintenance work was needed because th e flumes were frequently clogged with sediment. On the other hand, it was observed that grass grew faster in site A compared to s ite B Due to the frequent maintenance of site B, rainfall was missed. In order to estimate the i30 it was necessary the adop ti on of rainfall data from sources other than the local rain gauge. When this particular situation happened data was provided by the Bureau of Mining Reclamation at Bartow. One thing that is important to point out is the fact that the reports provided by the Bureau estimated the rainfall in inches, with a minimum of 0.01 inch (0.254 mm) every 5 minutes This data (0.254 mm) is greater than the m inimum value that the rain gage at the site can record (0.1 mm).
PAGE 92
92 The rainfall intensity ( i30 ) at Site B was evaluat ed based on both: field data when available and from the reports of the Mine Reclamation Bureau. For this site, we estimated that a total of 54 events may be happened in 2007; however 38 of them reported and i30 < 10 mm/hr, which represents 68% of the total In summary, from the 54 possible rainfall events, just 16 produce d enough rainfall excess Since many of these events occurred during the maintenance period of the site, only six events had all the conditions n eeded for water sample collection. From these 6 events, the automated water sample system worked and sample water for chemical analysis for five events, missing only one. For year 2008, up to 17 rainfall events occurred in this site, but only 4 were ahd an i30 > 10 mm/hr. in fact the equipment collected enough water samples in two different events: February 23 and April 06. Tables B 5 and B 6 in the Appendix B summarize the results for the water samples collected in sites A and B. Data is presented as load of sediments (Sed), total phosphorus (TP) and dissolved phosphorus (DP) in grams. Source areas 1 and 4 ( See Figure 32a ) are always reported with zeros because there are no water samples located on those plots. S ix automatic water samplers are installed i n each field site, distributed as seen on Figure 32 Table B 7 shows a summary of balances of water, sediments, TP and DP during the period of analysis January 2007 April 2008. Values of variables related to rain (rainfall duration, total rainfall and i30) may be underestimated because they are obtained from different sources ( site and those provided by the Bureau ) and which can alter the water balances for a storm by storm basis analysis. Despite those considerations, Table
PAGE 93
93 B7 shows that more water and pollutants (sediments, total phosphorus and dissolved phosphorus) are obtained in the s ite B (Hill). A rainfall event occurring on July 07th, 2006 on the River Site A, plot 2, was selected to simulated the transport of dissolved phosphorus from phosphate m ining areas in vegetative filter strips (Kuo, 200 7) Data from the experimental river site A is preferred over those of site B (Hill) for testing purposes because the sediment load coming from the source area is lower. Since Kuo (2007; Kuo et al., 2009) reported that phosphorus can be released to runoff from soil (or sediments) based on apatite dissolution, then the presence of sediments could increase the sources of phosphorus in runoff whi ch would add complexity to the system 4 4 Model Inputs and Sensitivity Analysis 4 .4.1 Hydrological and Water Quality Data Experimental results reported by Kuo (2007) will be used to calibrate the hydrology part of VFSMOD W before running the flexible water quality module for the simulation of dissolved phosphorus in runoff from soil based on the rainfall event of July 07th, 2006 on the River Site A, plot 2, named A070706R2. The set of hydrological parameters used in VFSMOD W is listed in Table A 10. Values of initial water content ( i), filter width (FWIDTH), filter length (VL) and Manning coefficient in the VFS (RNA) were estimated using the inverse calibration module of VFSMOD W. Hydrographs for A070706R2 event are shown in F igure 4 3. An output measured hydrograph (solid dots) as reported by Kuo (2007) is compared to a sim ulated outflow hydrograph (bold solid line) from VFSMOD W. The simulated outflow hydrograph reproduce the shape of the input hydrograph but looses the first section of the observed outflow hydrograph, wh ich starts around 900 seconds and also missed the tail The Nash 
PAGE 94
94 Sutcliffe coefficient was 0.71 and the simulated outflow was able to capture the two peaks of this rainfall event. Figure 43. Observed and predicted output and input hydrograph for event A070706R2. Concentration of dissolved phosphorus is reported by Kuo and Muoz Carpena (2 009) as pollutographs (load of pollutants with time) at the entrance and exit of the VFS. Kuo (2007) reported up to 66% removal of dissolved phos phorus mass due to the used of VFS for the experimental sites A and B. In 2009, Kuo et al. (2009) presented a simplified model where the inflow and outflow dissolved phosphorus concentration can be considered approximately equal. These two findings, reduction of 66% and similar concent ration in inflow and outflow, are used as reference when calculating the mass balances of DP in runoff. Based on the incoming hydrograph and pollutograph reported by Kuo (2007) an estimated input concentration of 0. 38 mg/l of dissolved phosphorus is calculated. Figure 4 5 shows the experimental and simulated values of concentration of dissolved phosphorus at the exit of the VFS.
PAGE 95
95 4 4 2 Chemical Conceptual Model Kuo et al. (2009) investigated the factors that control the release of phosphorus to runoff in phosphate mining areas. They found that soils contain high concentrations of apatite as a source of phosphorus in mining areas, and that the phosphorus is released from apatite by the effect of dissolution. Dissolution is controlled by various factors such as the specific surface area of a particle SSACFA, the pH in surface runoff, the dissolution rate constant ka, and the bulk density b and porosity of the soil. The dissolution rate o f apatite from soil KCFA, in mg L1 s1, is given by: = 31 [ ] (4 1) The SSA of the apatite (CFA) per gram soil (m2g1) can be calculates as follows: = ( ) ( ) 0 158 ( ) (4 2) w here Particle Size (i) represents the fraction of particles in a particular size rage ( i ), P concentration (i) is the phosphorus concentration within a given particle size range (i) in mg/kg; ( ) is the specific surface area for a given particle size range (i) in m2/g; the P fraction per unit weight of apatite is 0.158 from the formula Ca9.62Na0.273Mg0.106(PO4)4.976(CO3)1.024F2.41, which corresponds to Carbonate Fluor Apatite or CFA. Values of SSACFA for the experimental site were in the ranges 0.00868 0.1119 m2 g1 for the River Site A, and 0.01256 0.01446 for the H ill Site B m2 g1(Kuo, 2007; Kuo et al., 2009) Kuo (2007) reported that dissolution of apatite can only occur when the concentration of dissolve phosphorus in runoff is lower than the equilibrium phosphorus concentration (EPC0), which was determined to be at 15 mg/l. He also reported that
PAGE 96
96 when runoff phosphorus concentration is higher than EPC0, phosphorus is absorbed to soil or sediments. Experimental data reports by Kuo (2007) for years 2006 and 2007, and the extended period 2008 2009, did not show concentrations of dissolved phosphorus greater than 1 mg/l for experimental River Site A, or 5 mg/l for Hill Site B. In order to account for the factors involved in the transport and reaction of apatite in VFS, a conceptual model needs to be designed. Figure 44 shows the elements to include for understanding the transport of phosphates in VFS, where Cw and Cpw represents the concentration of phosphorus in surface runoff and porewater respectively, i represents the infiltration rate, and KCFA is the rate of phosphorus dissolved from apatite. The variables q C and v correspond to the flow, concentration of phosphorus and flow velocity at different positions in the filter strip. Figu re 44 Conceptual model for the simu l ation of soluble phosphorus in VFS for phosphate mining areas. VFSMOD W accounts for the effect of pollutant runoff dilution by rain thought its transport component as described in previous chapters. The release of apatite from soil and the loss can be represented by the follow ing equation based on Figure 4 4
PAGE 97
97 = (4 3) When pH is used to approximate [H+] equation 4 3 is transformed to = 31 ( 10 ) (4 4 ) There is no need of a system for coupled of ODE to describe the dynamics of phosphate in runoff since the concentration of dissolved phosphorus in runoff is always lower than the EPC0 (no absorption of DP to soil) and that the return of dissolved phosphorus contained in porewater soil to runoff is a process not considered or experimentally reported to occur Table A 11 contains the parameters used for simulating the A070706R2 event. 4 .5 Model Testing The transport of dissolved phosphorus in VFS will be simulated based on two scenarios: 1 Transport of phosphorus considering the effect of dilution from rain but without dissolution from apatite. 2 Same as 1, but including the effect of apatit e dissolution from soil. Based on a simplified model of the transport of dissolved phosphorus in VFS, Kuo and Mu oz Carpena (2009) found that the concentration of dissolved phosphorus ca n be considered equal in the inflow and outflow and that for this experimental site, up to 66% of DP removal is expected (Kuo, 2007) Moreover, they (Kuo and Muoz Carpena, 2009) conclude that the field scale experimental results in outflow cannot be explained by only considering the transport of phosphorus in runoff, the effect of dilution by rain and the infiltration. At the end, one of the most important conclusion of their work was
PAGE 98
98 that the outflow concentration of dis solved phosphorus can be explained when the phosphorus coming from apatite dissolution is incorporated in the analysis. Simulated results for both scenarios are c ompared to experimental results for concentration an d loads (Figure 45 and 46). A basic sens itivity analysis is performed in order to investigate how each effect of each factor of Equation 41 affects the dissolution rate of apatite in runoff KCFA. For simulating the first scenario, the values for the longitudinal dispersivity and the diffusion c oefficient fo r phosphorus in water were 0.1 m and 8.4 X10 10m2/s (Kadlec and Wallace, 2008) respectively. In order to perform the simulation using the flexible water quality module of VFSMOD W, two input files need to be included: The A070706R2.iwq (Table A 1 2 ) and the Bartow.XML input files (s ee Appendix A ). The structure of these input files follow the format presented in the section Water Quality Input File Structure for VFSMOD, in Appendix A. The values of the parameters used in Equation (44) are found in Table A 11 in Appendix A. 4 5 1 Effect of Apatite Disso lution in Runoff Simulation results for scenarios 1 and 2 confirm the findings of Kuo and Muoz Carpena (2009) : The sole transport and dilution of dissolved phosphorus in runoff cannot reproduce the outflow concentration, but the incorporation of the phosphorus coming from soil via apa tite dissolution allows a removal of 63% t he dissolved phosphorus coming in runoff (see Table 4 1 ), as reported by Kuo (2007)
PAGE 99
99 Figure 4 5 Simulated results for the transport of dissolved phosphorus concentration considering the effect of apatite dissolution. Figure 46 Simulated results for the transport of dissolved phosph orus load considering the effect of apatite dissolution.
PAGE 100
100 The only adjustment made in Equation (4 1) with respect to the original values reported by Kuo (2007) was the reaction order n, from 0.67 to 0.823 The rest of the parameters remained unchanged. In the next section, a basic sensitivity analysis is performed to identify the most critical parameters for the dissolution of CFA from soil to runoff Table 4 1. Water Balance and phosphorus balances for event 070706R2. Experimental data Simulated data Mass balance error (%) INFLO WS Runoff volume*, m 3 0.1297 0.1297 DP mass, g 0.0504 0.0504 OUTFLOWS Runoff volume*, m 3 0.376 0.476 21 DP mass including dissolution of CFA g 0.01840 0.01831 0.5 DP mass (transport only), g 0. 0 1840 0.0046 75 DP removal Efficiency Transport only 63% 75% +12% Considering CFA dissolution 63% 63% 4 5 2 Sensitivity Analysis of Phosphorus Release From Apatite A sensitivity analysis of the different parameters involved in the estimation of KCFA is presented here. This analysis has the purpose of identifying those parameters that affect the amount of phosphorus released from apatite to runoff based on equation 31. Values reported in Table A 11 are varied by 50, 25, +25 and 50 percent. Due to the wide range of variation between the par ameters Ka, SSACFA, b and with respect to n and pH, results are shown in two Figure s (4 7 and 48 )
PAGE 101
101 Figure 47 Percentile change of KCFA due to variations of Ka, SSACFA, b and Variation in parameters Ka, SSACFA, b and affect KCFA in the same proportion, from 50 to +50%. This is because the linearity o f these parameters in Equation 41. On the other hand, inversely affects the value of KCFA compared to Ka, SSACFA, b and Again, from Equation 4 1 we can observe that is the only parameter that divides this equation. The major variations of KCFA occurred for a change of +25% and +50%in the parameters n and pH. An exponenti al trend is observed in Figure 48 whi ch is concordant with equation 41 because n and pH are included as p ower functions. When pH is increased for the sensitivity analysis (Figure 4 8 ), those values resulting from increasing pH in +25% and +50% are beyond the range of validity (pH>7) for the rate constant Ka (Kuo, 2007) However, the purpose of this section was to show how sensitive KCFA is with respect t o the change of its parameters. %Change in parameter 50 25 0 25 50 % change with respect to KCFA 125 100 75 50 25 0 25 50 75 100 125 Ka SSACFA b
PAGE 102
102 Figure 48 Percentile change of KCFA due to variations of n and pH. 4 .6 Discussion of Results The selection of the rainfall event A070706R2 was appropriate in order to simplify the conceptual model to be used for the simulation of dissolved phosphorus in runoff coming from phosphate mining areas when VFS are used. By choosing this event, the influe nce of phosphorus dissolution from apatite contained in sediments was lowered, and the analysis was focused only on the effect of dissolution of apatite from soil within the vegetative filter strip. Results showed that experimental bromide load and concent ration cannot be explained by the solely transport of dissolved phosphor us through the VFS (See Figure 4 5 and 46). The infiltration and dilution from rain are the two major factors affecting the concentration in this scenario. When dissolution of CFA is taken in consideration, the model can approximated the reported values con DP concentration, except for one point (Figure 45) and can %Change in parameter 50 25 025 50 % change with respect to KCFA 2000 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 n pH
PAGE 103
103 predict the total mass of dissolved phosphorus at the end of the VFS (Figure 46 and Table 4 1) as reported by Kuo (2007) based on the loads of dissolved ph osphorus From Figure 46 we can observe that the missed concentration point by the simulation corresponds to the tail, and that this has very little effect in terms of DP load. By making a mass balance between the amounts of DP that exits the VFS with an d without the apatite dissolution (Table 41), we can say that for this case the VFS could remove up to 75% of the incoming runoff DP, but the effect of apatite dissolution adds DP to runoff so the final efficiency is 63%. Dissolution of apatite helps to explain the little change in runoff water between the inflow and outflow during the simulation at some points (Figure 45)., however, is likely that lower concentrations were not observed due to the inability of the equipment to collect water samples under flow conditions. Without considering the dissolution of CFA, is not possible to explain the DP removal efficiencies reported by Kuo (2007) Additionally, the concentration of dissolved phosphorus decreases due to the effect to dilution by rain to an average concentration lower than 0.1 5 mg/ l (Figure 48) Water also impacted in the outflow load for mass balances. In Figure 43 we observed that the simulated hydrograph over estimated the first pick, but misses the tail. This overestimation allows balancing the mass phosphorus in the outflow, without considering the long tail. The overestimation of the first runoff pick compensates the lack of a tail in the simulated data. One of the most influential factors that contributed to adjust the averaged output concentration and DP outflow load was th e reaction order, n, in equation 41 as seen
PAGE 104
104 during the sensitivity analysis performed in section 4.5.2. This analysis helped in understand ing the reason why a slight change in parameter n greatly affects the outflow runoff concentration of dissolved phosphorus. Since n and pH are used as the powered part of equation 4 1, a slight increment in these parameters could exponentially modify the amount of phosphorus r eleased from apatite (Figure 48 ). For the re st of the parameters (Ka, SSACFA, b and ), the model is also sensitive, but not as sensiti ve as with n and pH (Figure 4 7 ). Finally, i t is interesting to point out that the reported experimental concentration of dissolved phosphorus in runoff could be related only to the time where there was enough water in the flume to allow the automatic sample get a water sample. A variation in concentration for low flow might not be observed due to the latter, as predicted using the model (see Figure 45). The experience of field work during the extended period (20082009) showed that for small rainfall events (I30 close to 14 mm/hr) the amount of water samples automatically collected for chemical analysis was minimum and generally sampled at the flow peaks. The fewer samples collected, the less variation in outflow DP concentration can be reported. 4 .7 Conclusions The flexible water quality model of VFSMOD W allowed exploring the interactions between the release of phosphorus from apatite dissolution and the loads and concentration of DP in runoff during a rainfall event. The relationship reported by Kuo (2007) for apatite dissolution (Equation 41) can help to explain a 66% reduction of DP in this experiment, as reported by Kuo The sole transpor t and rainfall dilution of DP was not enough to explain outflow DP loads and concentrations.
PAGE 105
105 The incorporation of Equation 4 1 which is not a linear equation but an exponential one, in the analysis of how the dissolved phosphorus is transported in runoff was a good opportunity to test th e flexible transport and reactive module of VFSMOD for other conditions different to those linear and M o n od kinetic s used during the analytical testing of the module. Parameters have to be wisely selected to represent the dissolution of apat ite in runoff because Equation 41 is highly sensit ive to parameters variation, especially for increases on n and pH. The pH is another factor to consider since the validity of parameter ka depends on the value of pH (Kuo, 2007) The model not only can handle different formulas to describe the dynamics of pollutant s in runoff in VFS but the more important and exciting part is the fact that those formulas can finally be related to physically based phenomena developed for each particular pollutant. The potential of this tool can help to explore new theories for remov ing pollutants in VFS, or simply test the existing theories to help the researchers a nd decision making personnel evaluate the efficiency of VFS.
PAGE 106
106 CHAPTER 5 CONCLUSIONS 5.1 General Conclusions A novel flexible numerical model to simulate the transport of runoff pollutants through vegetative filter strips was successfully tested with different analytical solutions and coupled to the program VFSMOD W to simulate the transport of runoff pollutants under dynamic flo w conditions In this flexible approach, the user is able to define the processes and relationships involved in the transport of pollutants in surface runoff by the use of a conceptual model Analytical testing included the evaluation of several numerical techniques to determine the best method for coupling with VFSMOD W as a flexible water quality module. T he alternating TRT split operator method was selected to be coupled to VFSMOD W because it produced the lowest error (L2 error norm) for the different s cenarios tested during the evaluation process. The new flexible module of VFSMOD W was used to analyze the transport of bromide in runoff over a san d bed under controlled laboratory conditions Three different user defined conceptual models were evaluated in order to predict the outflow concentration of bromide. The two conceptual models that better approximated the experimental results were based on an empirical uptake/release approach and a physically based approach based on the exchange layer theory (Gao et al., 2004) Despite the fact t hat these two approaches had high values NashSutcliffe coefficient (>0.94), the mechanistic approach can be applied to other set of experimental data while the parameters of the empirical approach is limited to those conditions of the experiment.
PAGE 107
107 The fle xible multi reactive transport component of VFMOD W was also tested with data from a field scale experiment where runoff phosphorus is produced from phosphat e mining tailing areas and is removed by using VFS (Kuo, 2007; Kuo et al., 2009) Kuo (2007) reported a 66% removal efficiency for dissolved phosphorus in his experiment. A conceptual model that considers th e dissolution of apatite (Kuo et al., 2009) was developed and tested with the experimental data to explore the processes involved in the transport of dissolved phosphorus in surface runoff. Again, the use of a user defined conceptual model paramet e rized with physically based processes allo wed us to explore and explain the processes involved in the removal of dissolved phosphorus in runoff. The flexible water quality module of VFSMOD W opens a new window of possibilities to study the transport and reaction of pollutants under dynamic conditions in surface runoff. The program is open to the incorporation of future theories for a wide variety of pollutant s (i.e. chemical, biological, nanoparticles) and field conditions but the user must develop the conceptual model that is driving the dynamics of pollutant within the filter strip. The implementation of a mechanistic approach for estimating the removal of runoff pollutants through vegetative filter strips could also help researchers, consultants, agencies and other people to find the optimal cha racteristics of the VFS (i.e. length) without the use of the limited empirical approach, which is constrained to the field conditions for whi ch the empirical equations were developed 5.2 Limitations The current version of the flexible module is limited t o one mobile component (i.e. solute) that can be interacting with various stabile components (i.e. vegetation, sediments, soil, porewater, etc), which limits the level of complexity that can be handled.
PAGE 108
108 The building of the conceptual model for each species of pollutant to evaluate is the most challenging part of the flexible approach, and requires a knowledgeable user in the processes that drive the pollutant transport T he implementation of the XML input file can be challenging for first time users. The XML file contains the equations produced with the help of the conceptual model using the nomenclature for MXL documents. 5.3 Future Research Short term future research topics can be summarized in the next list. Testing pollutant interactions between sediments and runoff based on the experimental set of data collected for the field scale experimental site in Bartow, Florida. Increase the number of mobile components to simulate multiplespecies transport in runoff through VFS. Model testing with more complex pollutants (i.e. nanoparticles, pathogens) C ollaborate with other researchers to explore new theories, such as the t h eories evaluated in this work : the exchange layer theory (Gao et al., 2004) or the dissolution of apatite (Kuo, 2007; Kuo et al., 2009) Perform a g lobal sensitivity and uncertainty analysis of the conceptual models
PAGE 109
109 APPENDIX A. INPUT FILES FOR ANAL Y TICAL AND EXPERI MENTAL TEST ING This appendix contains the following information: Twelve tables referenced in chapters 1, 2 and 3 for the structure of the input files needed to run the stand alone transport component the coupled program TRT VFSMOD for simulating the transport of bromide and phosphorus in runoff through VFS. Information about the parameters used for the simulation with VFSMOD is also available here. Full detailed analytical solutions (van Genuchten, 1982) for scenarios I III used in chapter 1for conservative a reactive solute. Full description of the water quality input file used in VFSMOD for using empirical simulation of pesticides (Sabbagh et al., 2009) transport of a conservative solute and the use of the flexible multi rea ctive module based on RSE. Input files used in VFSMOD W to simulated the transport of bromide used in chapter 2 and the transport of phosphorus from chapter 3. XML input files used to test the flexible component in the RSE, TRT modules XML input files used to simulate the transport of bromide used in chapter 2 and the transport of phosphorus from chapter 3. This input files are recalled from the VFSMOD W projects
PAGE 110
110 Tables A 1 to A 12 Table A 1. Parameters for femadr.in input file Parameter Description L Total length of the domain in the X direction (parallel to flow), [Length] DX Spatial discretized length in the X direction, [Length] VX Flow velocity in X direction, [Length/Time] DISL Longitudinal dispersivity, [Length] DISM Molecular diffusion coefficient, [Length 2 /Time] THETAW Time weighting method for the temporal derivative (0.5 for Crank Nicholson) [Dimensionless] K 1 First order decay r eaction coefficient, [1/Time]. DT Time step, [Time]. NDT Number of time steps for the simulation NL O rder of the integration rule over each element NPOL Number of nodal points over each element Table A 2. XML input file equation structure for describing a simple uptake/release model A dapted from James (2008b) water_column_p k_u*water_column_p + k_r*settled_p/depth settled_p depth*k_u*water_column_p k_r*settled_p Note: k_u is k_st and k_r is k_rs for the system of queations (18) and (1 9)
PAGE 111
111 Table A 3. XML input file structure for running RSE XML tags Description Reaction Set Name of the reaction set to be used during the simulation. The reaction set contains information about stores, variables, parameters and equations. Coverage Coverage of the parameters. In TaRSE, parameters can be used by a single cell or for all the 2D mesh. In RSE, only the coverage over the entire domain is avai laboratory le. Stores The different stores to be used are defi ned here. Components This tag contains all the variables (mobile or stabile) and parameters needed during the simulation, including 22 variables. Values for each variable and parameter have to be declared, but they wont be read from here as input data f or RSE. A text file (.iwq) contains the variables to be used along with their corresponding values. Equations Equations to be used in the simulation are declared here. See Table A 1 for details. Table A 4. Example of the *.iwq file structure for running RSE in TR FEM. 2 'wq_input_base.xml' 'component_output_base.xml' 'rs1' 1 water_column_p 100 1 settled_p 0 2 k_u 0.1 k_r 0 .05 0 depth 2.2 x_vel_ol 0 time_step 3600 area 0 Table A 5. Description of the *.iwq input file used to test the TR RSE and TRT split operator programs. 2 'wq_input_base.xml' 'component_output_base.xml' 'rs1' 1 water_column_p 100 0 settled_p 0 1 k1 0.1 0 depth 2.2 x_vel_ol 0 time_step 3600 area 0 Table A 6 De scription of the *.iwq file when the fully coupled finite element method is used to simulate the transport and reaction of a pollutant in surface runoff. 2 25 0.5 .01 0.0
PAGE 112
112 Table A 7 Description of the *.iwq file when the TRT_RSE module is used to simulate the transport and reaction of a pollutant in surface runoff. 3 'sample.xml' 'sample_index_out.xml' 'rs1' 1 water_column_p 100 0.1 2.08 E9 0 1 porewater_p 0 2 k_st 0.1 k_rs 0.016 0 Table A 8 Description of the water quality input file sampleB r.iwq 3 'YuGao.xml' 'component_output_YuGao.xml' 'rs1' 1 water_column_p 103 0.03 2.08E 9 0 1 porewater_p 0 5 er .3E 6 h 0.000257 inf 0.000011681 de 0.3 alpha 0.9 0 Table A 9. Hydrological input factors used by VFMSOD W to simulate the mass water balance of outflow runoff and infiltrated water. Hydrological input (units) Value Description F WIDTH (m) 0.402 Effective fl ow width of the strip VL (m) 1.52 Length in the direction of the flow RNA (sm 1/3 ) 0.01 01676 Filter Manning s roughness n for each segment SOA (m/m) 0.0204230 Filter slope for each segment VKS* (ms 1) 1.18646 X10 5 Soil vertical saturated hydraulic conductivity in the VFS SAV (m) 0.116654 Green Ampt s average suction at wetting front OS (m 3 m 3 ) 0.453 Saturated soil water content, s SHCK () 0 Rela tive distance from the upper fi lter edge where check for po nding conditions is made (i.e., 1 = end, 0.5 = midpoint, 0 = beginning) Optimized values.
PAGE 113
113 Table A 10. Hydrological parameters used in VFDSMOD W for A070706R2 event Parameter (units) Value Description F WIDTH (m) 1.5 Effective fl ow width of the strip VL (m) 4. 39 Length in the direction of the flow RNA(sm 1/3 ) 0. 0 4 8 Filter Manning s roughness n for each segment SOA (m/m) 0.018 Filter slope for each segment VKS* (ms 1 ) 0.0000 4074 Soil vertical saturated hydraulic conductivity in the VFS SAV (m) 0.1 Green Ampt s average suction at wetting front OS (m 3 m 3 ) 0.45 Saturated soil water content, s OI (m 3 m 3 ) 0. 4164 Initial soil water content SM (m) 0 Maximum surface storage SHCK ( ) 0 Rela tive distance from the upper fi lter edge where check for po nding conditions is made (i.e., 1 = end, 0.5 = midpoint, 0 = beginning) Table A 11. Apatite dis s olution parameters used in VFDSMOD W for A070706R2 event. Parameter (units) Value Description Ka (moles m 2 s 1 ) 6.91 X10 8 Dissolution rate constant n (dimensionless) 0. 823 Reaction Order SSA CFA (m 2 g 1 ) 0.1066 Specific surface area of CFA pH (dimensionless) 6.1 Potential of Hydrogen b (g cm 3 ) 1.38 Soil bulk density (cm 3 cm 3 ) 0.47 Porosity Table A 12 Description of the water quality input file Bartow070706R2.iwq 3 'Bartow.xml' 'component_output_Bartow.xml' 'rs1' 1 water_column_p 0.38 0.045 8.4E 10 0 porewater_p 0 6 Ka 6.91E 8 n 0.823 SSA 0.0106 6 pH 6.1 db 1.38 POR 0.47 0
PAGE 114
114 Analytical Solutions Input Pollutant Concentration as a Pulse and Continuous Without Reactive Term. Governing equation: = Initial and boundary conditions C(x,0)=Ci=0 C(0,t)= C o 0to C x ( t ) = 0 Analytical solution: For 0to ( ) = + ( ) ( ) ( ) where ( ) = 1 2 2 ( ) / 1 2 + 2 ( ) / NOTE: For continuous input of pollutant, make to equal to time of simulation.
PAGE 115
115 Input Pollutant as a Function of Time Without Reactive Term. Governing equation: = Ini tial and boundary conditions C(x,0)=Ci=0 C(0,t)=Ca + Cb et with Ca=80, Cb=30 and =1 C x ( t ) = 0 Analytical solution: ( ) = + ( ) ( ) + ( ) where ( ) = 1 2 2 ( ) / + 1 2 + 2 ( ) / ( ) = 1 2 ( ) 2 2 ( ) / + 1 2 ( + ) 2 + 2 ( ) / And with = 1 4
PAGE 116
116 Input Pollutant Concentration as a Pulse and Continuous with Reactive Term Governing equation: = + with =0.1 and =0 C x ( t ) = 0 Analytical solution: For 0to ( ) = + ( ) + ( ) ( ) where ( ) = exp ( ) 1 1 2 2 ( ) / 1 2 + 2 ( ) / ( ) = 1 2 ( ) 2 2 ( ) / + 1 2 ( + ) 2 + 2 ( ) / and = 1 + 4 NOTE: For continuous input of pollutant, make to equal to time of simulation.
PAGE 117
117 Input Pollutant as a Function of Time with Reactive Term Governing equation: = + with =0.1 and =0 Initial and boundary conditions C(x,0)=Ci=0 C(0,t)=Ca + Cb et with Ca=80, Cb=30 and =1 C x ( t ) = 0 Analytical solution: ( ) = + ( ) + ( ) + ( ) where ( ) = exp ( ) 1 1 2 2 ( ) / 1 2 + 2 ( ) / ( ) = 1 2 ( ) 2 2 ( ) / + 1 2 ( + ) 2 + 2 ( ) / ( ) = 1 2 ( ) 2 2 ( ) / + 1 2 ( + ) 2 + 2 ( ) / And with = 1 + 4 = 1 + 4 ( )
PAGE 118
118 RSE Reactive Module T esting The RSE testing included the example provided by James (2008b) for a hypothetical simple uptake release process and, the solution of a system o f ODE with an analytical solution. James (2008b) shows the flexibility of TaRSE with an uptakerelease model flowing the example shown in Figure 1 3, but with the next system of equations: = + k z (A1 ) = (A2 ) where CP represents the phosphorus in the water column ( water_column_p), SP (settled_p), two reaction coefficients kst and krs, and zd is the water depth. Implementation of the XML input interface is given in Table A 2 : The values used to start the simulation were: CP: 10 mg/l, S P : 5mg/m2, kst: 0.0001 s1, krs:0.000043s1, depth: 2.2 m and, time step: 3600 s. The total time of the simulation was 36000 s. Since no analytical solution was found to test t his system of equations (eq. A 1 and A 2 ), the solution was compared with the results obtained using Matlab (ODE4) and a fourth order RungeKutta method implemented in a spreadsheet. A simultaneous system of equations that solves the second order ODE = 0 (A3 ) is used to test RSE. This equation can be solved with the analytical solution y=sinh(x). The two first order ODE that help us to solve Eq (A 3 ) are:
PAGE 119
119 = (A4 ) = (A5 ) With the initial conditions y(0)=0, z(0)= = 0 The time of the simulation was set to 10 (dimensionless) with dx=1. The Reaction Simulation Engine was first tested as a standalone program before being coupled to the transport module of TR FEM. In the first scenario, a system of two ODE which describe the uptakereleas e of a pollutant from the water column to the soil is solved using RSE. In a second scenario, RSE solves a simple system of two ODE (which solves a second order ODE). Details of each scenario can be seen previous section. Results of the simulations are shown in Figures A 1 and A 2 Figure A 1 Comparison of a adsorption desorpt ion process in a arbitrary node/cell using three different methods: RSE, Mat laboratory (ODE4) and RK4 in MS excel. The m aximum differen ce among them was of the order of 7.6E 8 mg/l for wcP and 1.8E 7 mg/l for S P. Simulation was run up to t=36000 seconds. time, sec 0 10000 20000 30000 40000 Concentration wcP, g/m^3 2 4 6 8 10 12 14 16 18 20Concentration sP, g/m^2 2 4 6 8 10 12 14 16 18 20 wcP RSE sP RSE wcP Matlab sP Matlab wcP RK4 in spread sheet sP RK4 in spread sheet
PAGE 120
120 Figure A 2 Comparison of different RK4 methods (MS Excel, RSE, Mat laboratory [ ODE4 ] ) to solve the system of ODE equations dz/dx=y; dy/dx=z with the initial conditions y( 0)=0 and z (0)=1. The analytical solution y=sinh(x) come s from solving the partial differential equation y=0 with initial condition y(0)=0; = 1 = ( 0 ) at x=0. The Nash Sutcliffe efficient coefficient was 0.9984 for the three methods when compared to the analytical solution. X 0 2 4 6 8 10 12 Y 0 2000 4000 6000 8000 10000 12000 Analytical RK4 in MS Excel RSE Matlab (ODE4)
PAGE 121
121 Water Quality Input File Structure for VFSMOD The water quality input file (*.iwq) of VFSMOD has been modified to accept three options: 1) Pesticides based on the empirical equation provided by Sabbagh et al. (2009) which is already included in the current version of the program, 2) The tr ansport of a soluble pollutant with a first order decay kinetics using a the fully coupled finite element method TR FEM and, 3) The transport and reaction of pollutants using the flexible module TRT The input file structure for options 2 and 3 is detailed next. Since the first option is already included in VFSMOD W and is beyond the scope of this work, it is not depicted. For further information consult the help menu of the program. Water q uality input file s tructure using the fully coupled finite element method TR FEM This option allows the user to estimate the transport and reaction of a pollut ant in runoff based on Eq. (28 ). This equation includes the effect of pollutant dilution by rain and is solved using a fully coupled finite element method. The TR FEM module is nothing else than the transport module of TR RSE. In this module, the reactivity of the pollutant is limited to a first order decay kinetics ( k1C). Estimation of the pollutant porewater concentration when using this option or other interact ion in runoff is not possible. When TR RSE is used, the decay can be set to coefficient k1 is set to zero so only the pollutant is though the domain without any reaction. The *.iwq input file is written in plain text format and contains two lines. In the first line, number 2 indicates that Option 2, fully coupled finite element method, is selected. In the second line te program reads the next four parameters: Soluble pollutant concentration (g/cm3), longitudinal dispersion coefficient DISL (m), molecular diffusion coefficient DISM (m2/s) and the first order decay coefficient k1 (s1). See Table A 6 for details.
PAGE 122
122 Water q uality input file s tructure using the split operator module TRT. This option allows the user to estimate the transport and reaction of a pollutant in runoff using the flexible module TRT which has been described in this work. The *.iwq input file contains the next elements: In line 1, the number 3 indicates that Option 3, the TRT flexible module is selected, Line 2 has three elements: 1) The name of the XML input file where the mobile, stabiles, parameters, variables and equations are defined, 2) the name of the XML file where the order of the indexes is printed for thos parameter s defined in the XML input file (currently this file is not needed but produced as a way to corroborate data), and 3) The name of the reaction set of equations to be used be the reactive module of TRT by reading the XML input file. The first number of lin e 3 defines the number of mobile components (i.e. soluble phosphorus) followed by its name, concentration, longitudinal dispersivity, molecular diffusion coefficient and a first order decay coefficient. Line four defines the number of stabile components ( i.e. soluble phosphorus concentration in porewater), followed by its name and initial concentration in the domain. Line five defines the parameters and variables used in the reactions set of equations of the XML input file. The first number indicates the n umber of parameters/variables, followed by pair indicating the name and value. The last line is a flag (set to zero) to indicate that the runoff depth, velocity, and time step are taken from VFSMOD. Detailed information about the XML input file can be foun d in James (2008b, c, a) The key part of the XML input file is the set of equations to be used for the reactive part of the TRT module. The name of the mobile and stabile compounds and the variables and parameters used in the equations are defined in the *.iwq file. The program crashes if a variable used in the XML input files has not been defined in the *.iwq file. Table A 7 shows an example of the *iwq input file with one mobile component, one stabile component and two variables.
PAGE 123
123 Some parts of the information in the XML input file may never be used by RSE, but the structure of the file needs to keep all the information in ord er to ensure compatibility with the way TaRSE reads it. If some information is omitted, a crash is expected to happen. In order to deal with this problem, a second file (*.iwq) is needed when RSE is linked to TR FEM to input the values of the variables and parameters to be used. Table A4 shows an example of the input file needed to describe the system of equations shown in Table A 2. The description of the *.iwq input file is as follows: the first line is a flag for VFSMOD (Table A4). The second line has the name of the xml input file (with the structured described in Table A 3), the name of the xml output file generated by RSE to double check the order of the variables and parameters used (this file is not needed to run the program, but is useful for chec king internal values of the program during the testing stages), and the name of the reaction set section declared in the xml input file (See Table A 3). In line 3, the first number indicates the number of mobile variables to be used, followed by the name(s ) and its value(s). Line 4 is the same as line 3, but for stabile components. Line 5 contains the number of parameters to be used, which match with the parameter(s) declared in the reaction(s) (see Table A 2) and the respective value(s). Line 6 is a flag t o read the four intrinsic parameters declared in line 7. If the flag is 0, line 7 is not read. If the flag is 1, then it proceeds to read line 7.
PAGE 124
124 Water Quality Project for Bromide Simulation in VFSMOD Project File (sampleBrOK0.prj) ikw= inputs \ sampleBrOK0.ikw iso=inputs \ sampleBrOK0.iso igr=inputs \ sampleBrOK0.igr isd=inputs \ sampleBrOK0.isd irn=inputs \ sampleBrOK0.irn iro=inputs \ sampleBrOK0.iro iwq=inputs \ sampleBrOK0.iwq og1=output \ sampleBrOK0.og1 og2=output \ sampleBrOK0.og2 ohy=output \ sampleBrOK0.ohy osm=output \ sampleBrOK0.osm osp=output \ sampleBrOK0.osp owq=output \ sampleBrOK0.owq IKW Input File (sampleBrOK0.ikw) Unit9, g8, u18391 0.402 1.52 57 .5 .8 350 3 1 1 2 1.2 .0101676 .020423 1.52 .0101676 .020423 1 ISO Input File (sampleBrOK0.iso) .0000118646 .116654 .453 .43 0 0 Ks(m/s) Sav(m) Theta s Thetai Sm(m) Schk(ponding ck) IGR Input File (sampleBrOK0.igr) 2.2 .011 .001 .011 0 SS(cm) Vn(s/cm^1/3) H(cm) Vn2(s/m^1/3) ICO(0 or 1)
PAGE 125
125 ISD Input File (sampleBrOK0.isd) 1 .01 .000001 .434 Npart, Coarse, Ci(g/cm3), Por .0023 2.6 Dp(cm), SG(g/cm3) IR N Input File (sampleBrOK0.irn) 22 0.000017817 Nrain, rpeak (m/s) 0 .000017817 299.9 .000017817 599.8 .000017817 900 .000017817 1200 .000017817 1500 .000017817 1800 .000017817 2100 .000017817 2400 .000017817 2700 .000017817 3001 .000017817 4500 .000017817 6000 .000017817 6800 .000017817 7500 .000017817 8200 .000017817 9000 .000017817 10500 .000017817 11300 .000017817 13000 .000017817 13002 0 13603 0 IRO Input File (sampleBrOK0.iro) .402 1 Swidth(m), Slength(m) 7 0.00005 nbcroff, bcropeak(m3/s) 0 .000005 3600 .000005 7200 .000005 10800 .000005 13000 .000005 13002 0 13603 0
PAGE 126
126 IWQ Input File (sampleBrOK0.iwq) 3 'YuGao.xml' 'component_output_YuGao.xml' 'rs1' 1 water_column_p 103 0.045 2.08E 9 0 1 porewater_p 0 5 er .25E 6 h 0.000277 inf 0.0000118646 de 0.05 alpha .1475 0 depth 2.2 x_vel_ol 0 time_step 3600 area 0
PAGE 127
127 Water Quality Project for Phosphorus Simulat ion in VFSMOD Project File ( Bartow070706R2.prj) ikw=inputs \ Bartow070706R2.ikw iso=inputs \ Bartow070706R2.iso igr=inputs \ Bartow070706R2.igr isd=inputs \ Bartow070706R2.isd irn=inputs \ Bartow070706R2.irn iro=inputs \ Bartow070706R2.iro iwq=inputs \ Bartow070706R2.iwq og1=output \ Bartow070706R2.og1 og2=output \ Bartow070706R2.og2 ohy=output \ Bartow070706R2.ohy osm=output \ Bartow070706R2.osm osp=output \ Bartow070706R2.osp owq=output \ Bartow070706R2.owq IKW Input File (Bartow070706R2.ikw) Unit9, g8, u183 91 1.5 4.39 57 .5 .8 350 3 1 1 1 4.39 .048898 .018 1 ISO Input File (Bartow070706R2.iso) 0.00004074258667 0.10000000 0.450000 0.416463 0.000000 0.000000 Ks(m/s) Sav(m) Theta s Thet a i Sm(m) Schk(ponding ck) IGR Input File (Bartow070706R2.igr) 5.14 0.013 15.00 0.021 0 SS(cm) Vn(s/cm^1/3) H(cm) Vn2(s/m^1/3) ICO(0 or 1) ISD Input File (Bartow070706R2.isd) 7 0.01 0.001 0.450 NPART, COARSE, CI(g/cm3), POR 0.0022 2.59 DP(cm), SG(g/cm3)
PAGE 128
128 IRN Input File (Bartow070706R2.irn) 6 2.7400e 05 0.0000e+00 0.0000e+00 1.2000e+02 9.7900e 07 2.4000e+02 9.7900e 07 3.6000e+02 0.0000e+00 4.8000e+02 1.9600e 06 6.0000e+02 2.9400e 06 7.2000e+02 5.8800e 06 8.4000e+02 2.0600e 05 9.6000e+02 2.5500e 05 1.0800e+03 2.7400e 05 1.2000e+03 2.3500e 05 1.3200e+03 2.2500e 05 1.4400e+03 2.3500e 05 1.5600e+03 2.0600e 05 1.6800e+03 1.5700e 05 1.8000e+03 1.3700e 05 1.9200e+03 1.3700e 05 2.0400e+03 8.8200e 06 2.1 600e+03 2.9400e 06 2.2800e+03 2.9400e 06 2.4000e+03 1.9600e 06 2.5200e+03 9.7900e 07 2.6400e+03 9.7900e 07 2.7600e+03 9.7900e 07 2.8800e+03 0.0000e+00 2.8220e+03 0.0000e+00 IWQ Input File (Bartow070706R2.iwq) 3 'Bartow.xml' 'component_output_Bartow.xml' 'rs1' 1 water_column_p 0.38 0.1 8.4E 10 0.0 0 porewater_p 0 7 Ka 6.91E 8 n 0.823 SSA 0.01066 pH 6.1 db 1.38 POR 0.47 CHK 1 0
PAGE 129
129 IRO Input File (Bartow070706R2.iro) 3.3 14.4 Swidth(m), Slength(m) 33 0.000277155 nbcroff, bcropeak(m3/s ) 960 0 1020 .0000233 1080 .0002231 1140 .00027716 1200 .00019946 1260 .00014808 1320 .00015425 1380 .00021714 1440 .00021262 1500 .00018775 1560 .00019885 1620 .00010019 1680 .0000352 1740 .0000277 1800 .0000233 1860 .0000217 1920 .0000137 1980 .0000124 2040 .0000108 2100 .0000106 2160 .0000101 2220 .00000941 2280 .00000877 2340 .00000827 2400 .00000752 2460 .00000703 2520 .00000655 2580 .000003 18 2640 .00000139 2700 .000000929 2760 .000000692 2820 .000000349 2880 0
PAGE 130
130 XML Input File used to Test RSE ( Analytical Testing: S cenario I). < wq version = 0.1 > < reaction_sets > < reaction_set name= rs1 full_name= Reaction Set Number 1" > < coverage> < cell > all < segment > all < stores > < store full_name = Surface Water distribution = heterogeneous location = element section = gw actuator = rsm_wm" > < name > surface_water < components > < variables > < variable type= mobile > < name full_name= Water Column P > water_column_p < initial_distribution type= constant > 10.0 < variable type= mobile section = ol > < name full_name= Ground Water P > gw_p < initial_distribution type= constant > 10.0 < variable type= stabile" > < name full_name= Settled P > settled_p < initial_distribution type= constant > 8.3 < parameters > < parameter units = meter" > < name > longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > transverse_dispe rsivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > surface_porosity < initial_distribution type= constant > 1.0 < parameter units = meter" > < name > subsurface_longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_transverse_dispersivity
PAGE 131
131 XML Input File used to Test RSE (scenario I)continued < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > subsurface_porosity < initial_distribution type= constant > 1.0 < parameter units = none > < name > k_st < initial_distribution type= constant > 0.0 < parameter units = none > < name > k_rs < initial_distribution t ype= constant > 0.0 < sw_gw_exchanges > < exchange > < surfacewater > water_column_p < groundwater > gw_p < equations > < equation > < lhs > water_column_p < rhs > k_st*water_column_p + k_rs*settled_p/depth < equation > < lhs > settled_p < rhs > depth*k_st*water_column_p k_rs*settled_p
PAGE 132
132 XML Input File u sed to Test TRT and TR RSE for Linear Decay K inetics < wq version = 0.1 > < reaction_sets > < reaction_set name= rs1 full_name= Reaction Set Number 1" > < coverage> < cell > all < segment > all < stores > < store full_name = Surface Water distribution = heterogeneous location = element section = gw actuator = rsm_wm" > < name > surface_water < components > < variables > < variable type= mobile > < name full_name= Water Column P > water_column_p < initial_distribution type= constant > 10.0 < parameters > < parameter units = meter" > < name > longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > transverse_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > surface_porosity < initial_distribution type= constant > 1.0 < parameter units = meter" > < name > subsurface_longitudinal_dispersivity < initial_distribution type= constant > 10.0 < param eter units = meter" > < name > subsurface_transverse_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > subsurface_porosity
PAGE 133
133 XML Input File Used to T est TR T and TR RSE for Linear Decay K inetics..continued < initial_distribution type= constant > 1.0 < parameter units = none > < name > k_st < initial_distribution type= constant > 0.0 < parameter units = none > < name > k_rs < initial_distribution type= constant > 0.0 < equations > < equation > < lhs > water_column_p < rhs > k_st*water_column_p
PAGE 134
134 YuGao.xml Water Quality Input File. < wq version = 0.1 > < reaction_sets > < reaction_set name= rs1 full_name= Reaction Set Number 1" > < coverage> < cell > all < segment > all < stores > < store full_name = Surface Water distribution = heterogeneous location = element section = gw actuator = rsm_wm" > < name > surface_water < components > < variables > < variable type= mobile > < name full_name= Water Column P > water_column_p < initial_distribution type= constant > 10.0 < variable type= stabile" > < name full_name= Porewater P > porewater_p < initial_distribution type= constant > 8.3 < parameters > < parameter units = meter" > < name > longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > transverse_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > surface_porosity < initial_distribution type= constant > 1.0 < parameter units = meter" > < name > subsurface_longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_transverse_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_molecular_diffusion
PAGE 135
135 YuGao.xml Water Quality Input F ilecontinued < initial_distribution type= constant > 0.00001 < parameter units = none > < name > subsurface_porosity < initial_distribution type= constant > 1.0 < parameter units = none > < name > er < initial_distribution type= constant > 0.0 < parameter units = none > < name > inf < / name> < initial_distribution type= constant > 0.0 < parameter units = none > < name > h < initial_distribution type= constant > 0.0 < parameter units = none > < name > de < initial_distribution type= constant > 0.0 < parameter units = none > < name > alpha < initial_distribution type= constant > 0.0 ) < equations > < equation > < lhs > water_column_p < rhs > er*(porewater_palpha*water_column_p)/h < equation > < lhs > porewater_p < rhs > (inf+er)*(alpha*water_column_pporewater_p)/de
PAGE 136
136 Bartow .xml Water Quality Input F ile. < wq version = 0.1 > < reaction_sets > < reaction_set name= rs1 full_name= Reaction Set Number 1" > < coverage> < cell > all < segment > all < stores > < store full_name = Surface Water distribution = heterogeneous location = element section = gw actuator = rsm_wm" > < name > surface_water < components > < variables > < variable type= mobile > < name full_name= Water Column P > water_column_p < initial_distribution type= constant > 10.0 < parameters > < parameter units = meter" > < name > longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > transverse_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > surface_porosity < initial_distribution type= constant > 1.0 < parameter units = meter" > < name > subsurface_longitudinal_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_transverse_dispersivity < initial_distribution type= constant > 10.0 < parameter units = meter" > < name > subsurface_molecular_diffusion < initial_distribution type= constant > 0.00001 < parameter units = none > < name > subsurface_porosity
PAGE 137
137 Bartow.xml water quality input file continued < initial_distribution type= constant > 1.0 < parameter units = none > < name > TSED < initial_distribution type= constant > 1.0 < parameter units = none > < name > FSED < initial_distribution type= constant > 1.0 < parameter units = none > < name > CSED < initial_distribution type= constant > 1.0 < parameter units = none > < name > SEDVFS < initial_distribution type= constant > 1.0 < parameter units = none > < name > FPI < initial_distribution type= constant > 1.0 < parameter units = none > < name > HRO < initial_distribution type= constant > 1.0 < parameter units = none > < name> Ka < initial_distribution type = constant > 0.0 < parameter units = none > < name > n < initial_distribution type= constant > 0.0 < parameter units = none > < name > SSA < initial_distribution type= constant > 0.0 < parameter units = none > < name > pH < initial_distribution type= constant > 0.0 < parameter units = none > < name > db
PAGE 138
138 Bartow.xml water quality input file continued < initial_distribution type= constant > 0.0 < parameter units = none > < name > POR < initial_distribution type= constant > 0.0 < equations > < equation > < lhs > water_column_p < rhs > 31*Ka*(10^( pH))^n*SSA*db/POR
PAGE 139
139 APPENDIX B. FIELD SCALE EXPERIMENTAL DATA A summary of the experimental data is presented in this appendix. Results are presented as Tables for the hydrological and water quality sets of data. It is important to point out that only years 2007 and 2008 are presented. For more details on data f rom 2005 to 2006, please review Kuo (2007) Hydrological data are presented first, followed by data of loads of sediments, phosphates and particulate phosphorus.
PAGE 140
140 Table B 1. Sum mary of r ain and runoff data for the river experimental s ite (A) during 2007. Event Rain Total Time i 30 A Source 1 A Source 2 A Source 3 A Source 4 A VFS 1 A VFS 2 A VFS 3 A VFS 4 Date m m min mm /h Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i 01/28/ 07 1.8 29 3.6 0.000 0.000 0.064 0.000 0.000 0.048 0.000 0.000 0.062 0.000 0.000 0.051 0.000 0.000 0.082 0.000 0.000 0.172 0.000 0.000 0.347 0.000 0.000 0.159 02/02/ 07* 34 70 52.2 0.326 1.088 0.041 0.422 1.2843 0.035 0.506 1.157 0.041 0.190 0.570 0.030 0.008 0.130 0.063 0.044 0.064 0.108 0.109 0.420 0.041 0.075 0.152 0.115 02/13/ 07 6.3 37 11.8 0.000 0.000 0.038 0.000 0.000 0.036 0.000 0.000 0.039 0.000 0.000 0.031 0.000 0.000 0.055 0.000 0.000 0.092 0.000 0.000 0.197 0.000 0.000 0.109 04/10/ 07 15.6 82 21.2 0.014 0.097 0.047 0.016 0.098 0.039 0.412 0.282 0.046 0.009 0.057 0.037 0.000 0.000 0.032 0.000 0.000 0.128 0.000 0.000 0.162 0.000 0.000 0.079 04/15/ 07* 18.3 33 36.6 0.147 0.810 0.037 0.181 0.813 0.031 0.219 0.859 0.036 0.114 0.407 0.026 0.000 0.000 X 0.008 0.017 0.114 0.005 0.026 0.037 0.052 0.226 0.066 05/04/ 07 14 69 23 0.005 0.009 0.018 0.004 0.015 0.016 0.010 0.057 0.017 X X 0.011 X X 0.012 0.000 0.000 0.047 0.000 0.000 0.124 0.000 0.000 0.013 05/06/ 07* 20.1 20 40.2 0.058 0.264 0.044 0.105 0.417 0.037 0.176 0.700 0.041 0.056 0.237 0.032 X X 0.023 0.011 0.018 0.112 X X 0.119 0.009 0.010 0.067 05/16/ 07 7.4 51 10.6 X X X X X X X X X X X X X X X X X X X X X X X X 06/30/ 07 14.5 67 18.4 X X X X X X X X X X X X X X X X X X X X X X X X 07/01/ 07 13.4 33 26.6 X X X X X X X X X X X X X X X X X X X X X X X X 07/02/ 07 16.5 49 31.8 X X X X X X X X X X X X X X X X X X X X X X X X 07/06/ 07 9 59 17.4 X X X X X X X X X X X X X X X X X X X X X X X X 07/10/ 07 6.6 51 9.2 X X X X X X X X X X X X X X X X X X X X X X X X 07/13/ 07 17.9 39 32.2 X X X X X X X X X X X X X X X X X X X X X X X X 07/31/ 07 4 40 5.6 0.000 0.000 0.038 0.000 0.000 0.036 0.000 0.000 0.039 0.000 0.000 0.031 0.000 0.000 0.055 0.000 0.000 0.092 0.000 0.000 0.197 0.000 0.000 0.109 08/ 02/ 07 4.1 27 8.2 0.000 0.000 0.038 0.000 0.000 0.036 0.000 0.000 0.039 0.000 0.000 0.031 0.000 0.000 0.055 0.000 0.000 0.092 0.000 0.000 0.197 0.000 0.000 0.109 08/06/ 07 3.1 33 3.1 0.000 0.000 0.038 0.000 0.000 0.036 0.000 0.000 0.039 0.000 0.000 0.031 0.000 0.000 0.055 0.000 0.000 0.092 0.000 0.000 0.197 0.000 0.000 0.109 08/11/ 07* 12.3 20 24.6 X X 0.024 0.014 0.071 0.014 0.015 0.072 0.023 0.005 0.012 0.018 0.051 0.174 0.050 0.014 0.034 0.014 0.022 0.081 0.024 0.125 0.391 0.017 08/31/ 07 36.4 60 56 0.151 0.233 0.036 0.096 0.401 0.023 0.098 0.431 0.032 0.018 0.104 0.027 0.139 0.228 0.064 0.051 0.094 0.023 0.002 0.152 0.035 0.124 0.219 0.079 09/01/ 07 14.7 31 29.2 0.065 0.123 0.094 0.008 0.016 0.086 0.035 0.088 0.087 0.000 0.000 0.066 0.000 0.000 0.076 0.017 0.029 0.118 0.000 0.000 0.084 0.003 0.006 0.182 09/04/ 07 2.5 44 4.8 0.000 0.000 0.051 0.000 0.000 0.039 0.000 0.000 0.047 0.000 0.000 0.038 0.000 0.000 0.029 0.000 0.000 0.067 0.000 0.000 0.006 0.000 0.000 0.119 09/07/ 07* 8.3 23 16.6 0.014 0.021 0.039 0.000 0.000 0.027 0.000 0.000 0.036 0.000 0.000 0.028 0.000 0.000 0.011 0.013 0.027 0.033 0.000 0.000 0.010 0.005 0.006 0.084 09/08/ 07 2.3 32 4.6 0.000 0.000 0.061 0.000 0.000 0.045 0.000 0.000 0.049 0.000 0.000 0.047 0.000 0.000 0.055 0.000 0.000 0.092 0.000 0.000 0.035 0.000 0.000 0.136 09/12/ 07* 41.5 122 38.8 0.094 0.138 0.044 0.073 0.313 0.030 0.058 0.316 0.038 0.017 0.092 0.030 0.000 0.000 0.025 0.095 0.068 0.047 0.000 0.000 0.015 0.003 0.009 0.101 10/05/ 07* 40 309 43.4 0.021 0.018 0.043 0.049 0.122 0.031 0.007 0.036 0.041 0.000 0.000 0.037 0.000 0.000 0.046 0.026 0.029 0.067 0.000 0.000 0.043 0.060 0.051 0.137 10/06/ 07 1.1 83 0.7 0.000 0.000 0.054 0.000 0.000 0.045 0.000 0.000 0.051 0.000 0.000 0.042 0.000 0.000 0.059 0.000 0.000 0.099 0.000 0.000 0.039 0.000 0.000 0.146 10/07/ 07 14.2 107 16.2 0.008 0.008 0.055 0.011 0.010 0.039 0.015 0.010 0.048 0.000 0.000 0.038 0.000 0.000 0.050 0.008 0.009 0.086 0.000 0.000 0.053 0.066 0.048 0.139 10/23/ 07* 11.6 27 23.2 0.012 0.010 0.029 0.014 0.021 0.030 0.007 0.489 0.033 0.000 0.000 0.029 0.000 0.000 0.004 0.009 0.014 0.038 0.000 0.000 0.030 0.047 0.050 0.072 12/14/ 07 7.3 64 13.8 0.000 0.000 0.021 0.000 0.000 0.014 0.000 0.000 0.020 0.000 0.000 0.017 0.000 0.000 X 0.000 0.000 0.002 0.000 0.000 X 0.000 0.000 0.022 12/16/ 07 0.7 29 1.4 0.000 0.000 0.067 0.000 0.000 0.052 0.000 0.000 0.039 0.000 0.000 0.062 0.000 0.000 0.007 0.000 0.000 0.079 0.000 0.000 0.032 0.000 0.000 0.086 12/21/ 07 2.4 66 2.4 0.000 0.000 0.041 0.000 0.000 0.029 0.000 0.000 0.031 0.000 0.000 0.035 0.000 0.000 X 0.000 0.000 0.061 0.000 0.000 0.002 0.000 0.000 0.079 12/30/ 07 5.7 43 9 0.000 0.000 0.053 0.000 0.000 0.037 0.000 0.000 0.030 0.000 0.000 0.040 0.000 0.000 0.010 0.000 0.000 0.117 0.000 0.000 0.023 0.000 0.000 0.114 *: Samples collect ed automatically for chemical analysis X: Under maintenance or equipment failure
PAGE 141
14 1 Table B 2. Summary of rain and runoff dat a for the r iver experimental site (A) during 2008. Event Rai n Tota l Tim e I30 A Source 1 A Source 2 A Source 3 A Source 4 A VFS1 A VFS2 A VFS3 A VFS4 Date mm min mm/ h Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i 01/01/ 08 1.1 106 1 0.00 0 0.00 0 0.039 0.000 0.000 0.037 0.000 0.000 0.039 0.000 0.000 0.030 0.000 0.000 0.054 0.000 0.000 0.092 0.000 0.000 0.197 0.000 0.000 0.108 01/22/ 08 0.8 67 1 0.000 0.000 0.026 0.000 0.000 0.024 0.000 0.000 0.027 0.000 0.000 0.020 0.000 0.000 0.032 0.000 0.000 0.051 0.000 0.000 0.320 0.000 0.000 0.051 01/25/08 23.2 631 5 0.000 0.000 0.055 0.000 0.000 0.043 0.000 0.000 0.055 0.000 0.000 0.045 0.000 0.000 0.068 0.000 0.000 0.148 0.000 0.000 0.234 0.000 0.000 0.143 01/28/ 08 9.5 190 6 0.000 0.000 0.052 0.000 0.000 0.043 0.000 0.000 0.052 0.000 0.000 0.041 0.000 0.000 0.074 0.000 0.000 0.143 0.000 0.000 0.228 0.000 0.000 0.140 02/08/ 08 3.7 44 7.2 0.000 0.000 0.032 0.000 0.000 0.022 0.000 0.000 0.028 0.000 0.000 0.026 0.000 0.000 X 0.000 0.000 0.003 0.000 0.000 0.068 0.000 0.000 0.052 02/12/ 08 6.9 56 11.8 0.000 0.000 0.036 0.000 0.000 0.027 0.000 0.000 0.034 0.000 0.000 0.034 0.000 0.000 0.001 0.000 0.000 0.016 0.000 0.000 0.087 0.000 0.000 0.061 02/21/ 08 4.1 37 8.2 0.000 0.000 0.052 0.000 0.000 0.035 0.000 0.000 0.032 0.000 0.000 0.032 0.000 0.000 X 0.000 0.000 0.070 0.000 0.000 0.126 0.000 0.000 0.089 02/23/08* 20.3 152 25.4 0.012 0.010 0.042 0.022 0.126 0.044 0.083 0.113 0.035 0.007 0.009 0.034 0.000 0.000 X 0.022 0.031 0.039 0.000 0.000 0.097 0.000 0.000 0.077 03/07/ 08 3.9 80 3.6 0.000 0.000 0.085 0.000 0.000 0.066 0.000 0.000 0.061 0.000 0.000 0.068 0.000 0.000 X 0.000 0.000 0.114 0.000 0.000 0.156 0.000 0.000 0.145 03/08/ 08 1.5 60 1.2 0.000 0.000 0.075 0.000 0.000 0.058 0.000 0.000 0.058 0.000 0.000 0.061 0.000 0.000 0.001 0.000 0.000 0.096 0.000 0.000 0.145 0.000 0.000 0.131 03/11/ 08 1.8 35 3.6 0.000 0.000 0.049 0.000 0.000 0.033 0.000 0.000 0.038 0.000 0.000 0.038 0.000 0.000 0.001 0.000 0.000 0.064 0.000 0.000 0.113 0.000 0.000 0.096 03/12/ 08 7.3 32 14.6 0.007 0.027 0.057 0.061 0.079 0.037 0.003 0.011 0.038 0.000 0.000 0.043 0.000 0.000 0.001 0.016 0.033 0.076 0.000 0.000 0.118 0.004 0.011 0.108 03/14/ 08 18.8 258 15.6 0.000 0.000 0.049 0.000 0.000 0.035 0.000 0.000 0.044 0.000 0.000 0.039 0.000 0.000 X 0.000 0.000 0.073 0.000 0.000 0.117 0.000 0.000 0.099 03/20/ 08 5 62 5.4 0.000 0.000 0.052 0.000 0.000 0.040 0.000 0.000 0.042 0.000 0.000 0.040 0.000 0.000 X 0.000 0.000 0.084 0.000 0.000 0.113 0.000 0.000 0.109 03/22/ 08 6.9 296 2.6 0.000 0.000 0.046 0.000 0.000 0.033 0.000 0.000 0.039 0.000 0.000 0.037 0.000 0.000 X 0.000 0.000 0.078 0.000 0.000 0.107 0.000 0.000 0.096 04/02/ 08 8.4 341 2.8 0.000 0.000 0.047 0.000 0.000 0.034 0.000 0.000 0.041 0.000 0.000 0.038 0.000 0.000 X 0.000 0.000 0.054 0.000 0.000 0.105 0.000 0.000 0.087 04/07/ 08 0.9 61 1.2 0.000 0.000 0.047 0.000 0.000 0.034 0.000 0.000 0.041 0.000 0.000 0.038 0.000 0.000 X 0.000 0.000 0.054 0.000 0.000 0.105 0.000 0.000 0.087 *: Samples collect ed automatically for chemical analysis X: Under maintenance or equipment failure
PAGE 142
142 Table B 3 Summary of rain and runoff data for the h ill experimental site (B) during 2007. Event Rain Total Time I30 B Source 1 B Source 2 B Source 3 B Source 4 B VFS 1 B VFS 2 B VFS 3 B VFS 4 Date mm min mm/h Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i 01/28/ 07 5.2 45 7.6 0.000 0.000 0.381 0.000 0.000 0.272 0.000 0.000 0.186 0.000 0.000 0.182 0.000 0.000 0.074 0.000 0.000 0.220 0.000 0.000 0.233 0.000 0.000 0.091 02/02/ 07 36.322 221 15.748+ 4.314 6.921 0.373 X X 0.253 1.572 3.930 0.174 0.385 1.281 0.162 2.238 3.991 X 0.986 3.148 0.215 0.007 0.031 0.225 0.022 0.026 0.097 02/ 27/ 07 0.8 38 1.6 0.000 0.000 0.370 0.000 0.000 0.241 0.000 0.000 0.172 0.000 0.000 0.162 0.000 0.000 0.090 0.000 0.000 0.201 0.000 0.000 0.218 0.000 0.000 0.085 03/03/ 07 1.1 72 1.6 0.000 0.000 0.369 0.000 0.000 0.240 0.000 0.000 0.169 0.000 0.000 0.170 0.000 0.000 0.071 0.000 0.000 0.194 0.000 0.000 0.215 0.000 0.000 0.081 03/16/ 07 1.9 38 3 0.000 0.000 0.353 0.000 0.000 0.229 0.000 0.000 0.158 0.000 0.000 0.138 0.000 0.000 0.080 0.000 0.000 0.010 0.000 0.000 0.178 0.000 0.000 0.018 04/05/ 07 1.1 58 1 0.000 0.000 0.337 0.000 0.000 0.223 0.000 0.000 0.151 0.000 0.000 0.156 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 04/09/ 07 2.6 70 4.8 0.000 0.000 0.328 0.000 0.000 0.220 0.000 0.000 0.149 0.000 0.000 0.139 0.000 0.000 0.088 0.000 0.000 0.014 0.000 0.000 0.071 0.000 0.000 X 04/10/ 07 6 148 5 0.000 0.000 0.339 0.000 0.000 0.223 0.000 0.000 0.151 0.000 0.000 0.147 0.000 0.000 X 0.000 0.000 0.008 0.000 0.000 X 0.000 0.000 0.014 04/11/ 07 6.9 48 6 0.000 0.000 0.400 0.000 0.000 0.285 0.000 0.000 0.202 0.000 0.000 0.220 0.000 0.000 X 0.000 0.000 0.122 0.000 0.000 X 0.000 0.000 0.053 04/15/ 07* 5.1 56 9.2 1.348 0.175 0.375 1.537 0.139 0.248 1.092 0.092 0.178 0.739 0.070 0.174 0.784 0.043 X 0.666 0.069 0.097 0.002 0.000 0.069 0.048 0.008 0.046 05/ 04/ 07 18.9 121 27.8 X X X X X X X X X X X X X X X X X X X X X X X X 05/06/ 07 27.8 45 25.6 X X X X X X X X X X X X X X X X X X X X X X X X 05/07/ 07 16.2 92 19.2 X X X X X X X X X X X X X X X X X X X X X X X X 05/13/ 07 8.7 131 11.8 X X X X X X X X X X X X X X X X X X X X X X X X 05/14/ 07 1.4 44 2.4 X X X X X X X X X X X X X X X X X X X X X X X X 05/16/ 07 6.7 71 7.4 X X X X X X X X X X X X X X X X X X X X X X X X 05/17/ 07 1.4 25 2.8 X X X X X X X X X X X X X X X X X X X X X X X X 05/25/ 07 1.27 26 2.54+ X X X X X X X X X X X X X X X X X X X X X X X X 06/01/ 07 11.176 111 9.144+ X X X X X X X X X X X X X X X X X X X X X X X X 06/02/ 07 5.08 121 4.064+ X X X X X X X X X X X X X X X X X X X X X X X X 060/6/ 07 3.81 96 7.62+ X X X X X X X X X X X X X X X X X X X X X X X X 06/07/ 07 1.27 26 2.54+ X X X X X X X X X X X X X X X X X X X X X X X X 0 6/ 13/ 07 1.27 41 2.032+ X X X X X X X X X X X X X X X X X X X X X X X X 06/22/ 07 8.636 46 16.764+ X X X X X X X X X X X X X X X X X X X X X X X X 06/30/ 07 12.192 101 13.208+ X X X X X X X X X X X X X X X X X X X X X X X X 07/01/ 07 16.002 106 15.748+ X X X X X X X X X X X X X X X X X X X X X X X X 07/02/ 07 12.7 46 24.892+ X X X X X X X X X X X X X X X X X X X X X X X X 07/06/ 07 4.318 26 8.636+ X X X X X X X X X X X X X X X X X X X X X X X X 07/09/ 07 1.27 31 2.54+ X X X X X X X X X X X X X X X X X X X X X X X X 07/10/ 07 9.144 46 17.272+ X X X X X X X X X X X X X X X X X X X X X X X X 07/13/ 07 11.43 71 20.828+ X X X X X X X X X X X X X X X X X X X X X X X X 07/14/ 07 2.032 41 3.556+ X X X X X X X X X X X X X X X X X X X X X X X X 07/15/ 07 5.334 56 7.62+ X X X X X X X X X X X X X X X X X X X X X X X X 07/19/ 07 2.286 31 4.572+ X X X X X X X X X X X X X X X X X X X X X X X X 07/21/ 07 18.288 436 5.08+ X X X X X X X X X X X X X X X X X X X X X X X X 07/22/ 07 5.334 76 4.572+ 0.000 0.000 X 0.000 0.000 0.083 0.000 0.000 0.084 0.000 0.000 0.044 0.000 0.000 0.187 0.000 0.000 0.139 0.000 0.000 0.295 0.000 0.000 0.098 07/ 25/ 07 4.572 31 9.144+ 0.000 0.000 X 0.000 0.000 0.086 0.000 0.000 0.087 0.000 0.000 0.054 0.000 0.000 0.227 0.000 0.000 0.124 0.000 0.000 0.105 0.000 0.000 0.094 07/ 31/ 07 7.112 191 5.08+ 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 08/01/ 07 4.3 28 8.6 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X 0.000 0.000 X
PAGE 143
143 Table B 3continued 08/24/ 07* 25.57 140 17.18+ 0.509 1.692 0.236 X X 0.041 0.166 0.474 0.068 0.175 0.469 0.047 0.008 0.026 0.09 0.125 0.052 0.15 0.000 0.000 0.011 0.013 0.084 M 08/31/ 07* 37.3 70 56.8+ 6.561 10.749 0.036 3.550 13.011 0.026 5.206 13.019 0.032 1.951 7.150 0.027 0.262 0.641 M 0.330 0.822 0.023 0.010 0.013 M 0.001 0.011 0.079 09/01/ 07* 18.94 80 34.96+ 0.405 1.387 0.349 0.192 0.594 0.155 0.124 0.515 0.2 0.056 0.207 0.155 0.000 0.000 0.06 0.000 0.000 0.15 0.003 0.003 0.073 0.000 0.000 0.062 09/12/ 07* 22.26 107 18.84+ 0.920 9.117 X X X 0.08 0.115 0.244 0.169 0.030 0.015 0.1 0.000 0.000 0.029 0.000 0.000 0.109 0.000 0.000 0.066 0.000 0.000 0.062 10/ 02/ 07 1.016 41 2.032+ 0.000 0.000 0.256 0.000 0.000 0.09 0.000 0.000 0.195 0.000 0.000 0.137 0.000 0.000 0.075 0.000 0.000 0.077 0.000 0.000 0.02 0.000 0.000 0.299 10/03/ 07 1.016 56 1.524+ 0.000 0.000 0.174 0.000 0.000 0.085 0.000 0.000 0.189 0.000 0.000 0.127 0.000 0.000 0.072 0.000 0.000 0.072 0.000 0.000 0.022 0.000 0.000 0.124 10/05/ 07* 25.908 321 25.4+ 3.437 4.669 0.383 22.649 13.579 0.081 11.940 12.886 0.18 4.480 7.015 0.126 1.457 3.131 0.065 X X 0.069 X X 0.225 X X 0.346 10/06/ 07 0.508 31 1.016+ 0.000 0.000 0.374 0.000 0.000 0.119 0.000 0.000 0.212 0.000 0.000 0.165 0.000 0.000 0.100 0.000 0.000 0.096 0.000 0.000 0.012 0.000 0.000 0.476 10/19/ 07 4.572 31 9.144+ 0.000 0.000 0.277 0.000 0.000 0.076 0.000 0.000 0.167 0.000 0.000 0.097 0.000 0.000 0.070 0.000 0.000 0.032 0.000 0.000 X 0.000 0.000 0.414 10/ 20/ 07 2.032 41 3.556+ 0.000 0.000 X 0.000 0.000 0.087 0.000 0.000 0.179 0.000 0.000 0.113 0.000 0.000 0.078 0.000 0.000 0.052 0.000 0.000 X 0.000 0.000 0.43 10/ 23/ 07 14.478 61 26.924+ 0.094 0.431 0.39 0.020 0.026 0.086 0.000 0.000 0.169 0.086 0.144 0.105 0.000 0.000 0.074 0.000 0.000 0.042 0.000 0.000 X 0.000 0.000 0.43 10/ 28/ 07 1.524 31 3.048+ 0.000 0.000 0.378 0.000 0.000 0.092 0.000 0.000 0.183 0.000 0.000 0.123 0.000 0.000 0.094 0.000 0.000 0.083 0.000 0.000 0.004 0.000 0.000 0.422 10/30/ 07 1.27 36 2.54+ 0.000 0.000 0.383 0.000 0.000 0.103 0.000 0.000 0.204 0.000 0.000 0.151 0.000 0.000 0.112 0.000 0.000 0.102 0.000 0.000 0.08 0.000 0.000 0.428 12/14/ 07 6.3 62 5.8 0.000 0.000 0.373 0.000 0.000 0.038 0.000 0.000 0.07 0.000 0.000 X 0.000 0.000 0.025 0.000 0.000 0.008 0.000 0.000 X 0.000 0.000 0.43 12/16/ 07 2 36 4 0.000 0.000 0.342 0.000 0.000 0.063 0.000 0.000 0.131 0.000 0.000 X 0.000 0.000 0.063 0.000 0.000 0.078 0.000 0.000 0.031 0.000 0.000 0.438 12/ 21/ 07 2.5 56 2.8 0.000 0.000 0.375 0.000 0.000 0.057 0.000 0.000 0.116 0.000 0.000 X 0.000 0.000 0.068 0.000 0.000 0.066 0.000 0.000 0.298 0.000 0.000 0.426 *: Samples collect ed automatically for chemical analysis X: Under maintenance or equipment failure
PAGE 144
144 Table B 4 Summary o f rain and runoff data for the h ill e xperimental site (B) during 2008. Event Rai n Total Time I30 B Source 1 B Source 2 B Source 3 B Source 4 B VFS 1 B VFS 2 B VFS 3 B VFS 4 Date mm min mm/ h Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i Q, m3 Qp, L/s i 01/22/ 08 0.9 69 1.4 0.000 0.000 0.350 0.000 0.000 0.167 0.000 0.000 0.113 0.000 0.000 0.111 0.000 0.000 X 0.000 0.000 0.122 0.000 0.000 0.184 0.000 0.000 0.047 01/27/ 08 0.4 29 0.8 0.000 0.000 X 0.000 0.000 0.273 0.000 0.000 0.186 0.000 0.000 0.180 0.000 0.000 X 0.000 0.000 0.220 0.000 0.000 0.231 0.000 0.000 0.090 01/28/ 08 11 262 8.2 0.000 0.000 X 0.000 0.000 0.304 0.000 0.000 0.211 0.000 0.000 0.209 0.000 0.000 X 0.000 0.000 0.243 0.000 0.000 0.247 0.000 0.000 0.103 02/08/ 08 0.9 110 0.8 0.000 0.000 0.357 0.000 0.000 0.083 0.000 0.000 0.177 0.000 0.000 X 0.000 0.000 0.057 0.000 0.000 0.057 0.000 0.000 0.276 0.000 0.000 0.413 02/12/ 08 7.1 47 13 0.000 0.000 X 0.000 0.000 0.079 0.000 0.000 0.165 0.000 0.000 X 0.000 0.000 0.047 0.000 0.000 0.058 0.000 0.000 0.019 0.000 0.000 0.426 02/23/ 08* 15.6 293 22.8 0.268 0.982 0.317 0.034 0.075 0.083 0.113 0.504 0.166 0.073 0.216 X 0.002 0.005 0.050 0.000 0.000 0.094 0.000 0.000 0.332 0.000 0.000 0.430 03/06/ 08 20.9 317 15.2 0.013 0.017 0.032 0.007 0.028 0.059 0.000 0.000 0.142 0.013 0.030 X 0.002 0.004 0.047 0.004 0.016 0.112 0.000 0.000 0.114 0.000 0.000 0.125 03/07/ 08 1 29 2 0.000 0.000 0.196 0.000 0.000 0.122 0.000 0.000 0.198 0.000 0.000 X 0.000 0.000 0.094 0.000 0.000 0.212 0.000 0.000 0.256 0.000 0.000 0.212 03/08/ 08 4.5 147 3.2 0.000 0.000 0.073 0.000 0.000 0.157 0.000 0.000 0.260 0.000 0.000 0.001 0.000 0.000 0.163 0.000 0.000 0.138 0.000 0.000 0.172 0.000 0.000 0.170 03/11/ 08 3.8 58 6 0.000 0.000 0.136 0.000 0.000 0.119 0.000 0.000 0.205 0.000 0.000 X 0.000 0.000 0.125 0.000 0.000 0.125 0.000 0.000 0.020 0.000 0.000 0.148 03/12/ 08 3.5 337 1.8 0.000 0.000 0.107 0.000 0.000 0.131 0.000 0.000 0.230 0.000 0.000 X 0.000 0.000 0.144 0.000 0.000 0.139 0.000 0.000 0.133 0.000 0.000 0.171 03/20/ 08 0.8 150 0.8 0.000 0.000 0.144 0.000 0.000 0.108 0.000 0.000 0.194 0.000 0.000 0.061 0.000 0.000 0.100 0.000 0.000 0.129 0.000 0.000 0.004 0.000 0.000 0.172 03/23/ 08 8.4 674 1.4 0.000 0.000 0.156 0.000 0.000 0.142 0.000 0.000 0.233 0.000 0.000 0.092 0.000 0.000 0.138 0.000 0.000 0.149 0.000 0.000 0.041 0.000 0.000 0.201 04/02/ 08 34.8 852 8.2 0.000 0.000 0.007 0.000 0.000 0.140 0.000 0.000 0.234 0.000 0.000 0.085 0.000 0.000 0.153 0.000 0.000 0.149 0.000 0.000 X 0.000 0.000 0.200 04/03/ 08 0.8 47 1.8 0.000 0.000 0.203 0.000 0.000 0.139 0.000 0.000 0.232 0.000 0.000 0.086 0.000 0.000 0.153 0.000 0.000 0.149 0.000 0.000 X 0.000 0.000 0.199 04/07/ 08 0.9 61 1 0.000 0.000 0.151 0.000 0.000 0.163 0.000 0.000 0.188 0.000 0.000 0.126 0.000 0.000 0.203 0.000 0.000 0.165 0.000 0.000 X 0.000 0.000 0.206 *: Samples collect ed automatically for chemical analysis X: Under maintenance or equipment failure
PAGE 145
145 Table B 5. Summary of loads of sediment and phosphorus for the r iver experimental site (A) during 2007 and 2008 Site A A Source 1 A Source 2 A Source 3 A Source 4 A VFS 1 A VFS 2 A VFS 3 A VFS 4 (River) LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g Date Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP 02/02/07 X X X 21.392 0.144 16.862 1.124 0.209 X X X + + + + + + + + + + + + 04/15/07 X X X 30.335 2.790 0.101 + + + X X X + + + + + + + + + 1.085 0.057 0.030 05/06/07 X X X 0.459 0.425 + + + X X X + + + + + + + + + + + + 08/11/07 X X X 0.029 0.014 0.093 0.019 X X X + + + + + + 1.408 0.112 0.086 + + + 09/07/07 X X X + + + + + + X X X + + + 0.017 0.007 + + + + + + 09/12/07 X X X 0.083 0.021 1.833 0.184 0.029 X X X + + + + + + + + + + + + 10/05/07 X X X 1.005 0.131 0.013 + + + X X X + + + + + + + + + + + + 10/23/07 X X X 0.013 0.004 0.113 0.010 X X X + + + + + + + + + + + + 02/23/08 X X X 0.015 0.011 12.536 0.101 0.039 X X X + + + + + + + + + + + + Sed: Sediments TP: Total Phosphorus DP: Dissolved Phosphorus + : No water sample collected : Not enough water in collection bottles for chemical analysis X : No automatic sample collector in this site
PAGE 146
146 Table B 6. Summary of loads of s ediment and phosphorus for the hill experimental site (B) during 2007 and 2008. Site B Source Area 1 Source Area 2 Source Area 3 Source Area 4 VFS 1 VFS 2 VFS 3 VFS 4 (Hill) LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g LOAD, g Date Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP Sed TP DP 04/15/07 X X X 1692.7 147.2 1.9 X X X + + + + + + + + + 7.45 0.86 0.10 08/24/07 X X X + + + + + + X X X + + + + + + + + + + + + 08/31/07 X X X + + + 167.7 7. 6 0.15 X X X 11.47 0.89 0.19 + + + 5.69 0.82 0.13 + + + 09/01/07 X X X 87.5 + + + X X X + + + + + + + + + + + + 09/12/07 X X X + + + + + + X X X + + + + + + + + + + + + 10/05/07 X X X 5858.0 296.7 1 2.4 + + + X X X + + + + + + + + + + + + 02/23/08 X X X 11.02 0.12 0.02 + + + X X X + + + + + + + + + + + + Sed: Sediments TP: Total Phosphorus DP: Dissolved Phosphorus + : No water sample collected : Not enough water in collection bottles for chemical analysis X : No automatic sample collector in this site
PAGE 147
147 Table B 7. Summary of rainfall runoff events recorded at sites River (A) and Hill ( B) for the period January 2007 to April 2008. Total events with rain Only events that produced runoff Site n Rainfall duration, min Total rain, mm i30+ N Rainfall duration, min Total rainfall, mm i30+ Plot* N V (m3/ha) Qp (L/s) qi, % Sediment (kg/ha) TP (kg/ha) DP (kg/ha) River (A) 51 20631 (9.1,2.9)# 0.7 62.8 (5.4,2.1)# 0.7 62.8 (5.4,2.1)# 15 20309 (6.1,2.3)# 7.3 41.5 (0.7,0.9)# 14.656.0 ( 0.6,0.6)# Sourc e Area A 15 0 106.6 0 1.3 0.010.09 6.38 0.59 0.09 A6 13 0 72.5 0 0.4 0.010.16 0.74 0.06 0.05 A4 0 92.2 0 1.1 0.010.18 0.80 0.04 0.02 Hill (B ) 79 25852 (12,3.2)# 0.8 56.8 (5.51,2.1)# 0.8 56.8 (5.51,2.1)@ 10@ 56321 ( 1.7,0.5)# 5.1 37.3 (0.03,0.07)# 9.2 56.8 (3.5,1.7)@ Source Area B 10 0 1715 0 13 0.020.38 443.80 22.48 0.94 B 13 8 0 506 0 4 0.1 0.3 2.59 0.20 0.04 B7 0 439 0 3.1 0.010.40 3.32 0.38 0.04 n: Number of events. N: Number of events with runoff only A6: Include VFS plots 1 and 3 (5.8m long) from River site. A4: include plots VFS 2 and VFS 4 (4.1 m long) in the River site; B13: include plots VFS1 and VFS3 (13.4 m long) in the Hill site; B7: includes plots VFS 2 and VFS 2 (6.8 m long) in Hill site. +i30: maximum 30 minute rainfall intensity #: Values in parenthesis are (kurtosis, skewness). @: adapted from various sources
PAGE 148
148 APPENDIX C PROGRAM SOURCE CODE This appendix contains the VFSMOD W fortran source code files that were modified for coupling RSE to VFSMOD W. Only those files that were modified are presented here, in addition to the corresponding fortran files of RSE. The full code for VFSMOD W can be downloaded from: http://abe.ufl.edu/carpena/vfsmod/index.shtml (accessed on July, 2010).
PAGE 149
149 PROGRAM VFSMOD CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C WRITTEN FOR: Ph.D.dissertation and later modified for distribution C C RE WRITTEN : combined version, July 1993 C C Last Updated: October 31, 2009 v4.0.0 C C Written by: Rafael Munoz Carpena John E. Parsons C C ABEUniversity of Florida BAE, NC State Unive rsity C C Gainesville, FL 32611 Raleigh, NC 27695 7625 (USA) C C e mail: carpena@ufl.edu john_parsons@ncsu.edu C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C PROGRAM CALCULATE OVERLAND FLOW AND SEDIMENT FILTRATION THROUGH A C C VEGETATIVE FILTER STRIP OF AN INFLOW HYDROGRAPH FROM AN ADJACENT C C FIELD DURING A STORM EVENT. THE PROGRAM HANDLES THE CASE OF C C VARYING ROUGHNESS COEFFICIENT (Manning's n) AND SLOPE AT THE NODES, C C AND TIME DEPENDENT INFILT RATION FOR THE DOMAIN. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C This program solves the kinetic wave aproximation of the Saint C C Vennant's (1881) equations for overland flow (KW) for the 1D case C C as presented by Lighthill and Whitham (1955) such as: C C C C dh dq C C + = ie(t) (Continuity equation) C C dt dx C C C C So = Sf (Momentum equation) C C C C Then the momentum equation is used as a link between the two C C variables since then we have (Manning's): C C 1/2 5/3 C C q = q(h) = (So /n) h C C C C Where h is depth of overland flow [L], q is the flow per unit width C C of the plane [L^2/T], So is the slope of the plane, Sf is the C C hydraulic or friccion slope, and n is Manning's roughness cofficient C C [L^1/6]. The initial and boundaty conditions can be sum marized as: C C C C h=0 ; 0 <=x<= L ; t <=0 C C h=ho; x = 0 ; t > 0 C C C C where ho can be 0, a constant or a time dependent funtion. C C C C The num erical method is based on a N+2 upwinding Petrov Galerkin C C finite element method approximation for the spacial derivatives C C and a time weighting finite difference approximation for the time C C derivatives. C C C C The nonlinearity of the equation {q=q(h)} is taken care of using C C the Picard iterative scheme inside every time step lagging 2/3 of C C the power of h in q ,[5/3 = 2/3(m)+1 (m+1)] for the iteration level C C m, such as: C C m+1 m C C [A] {h} = {b(h)} C C C C In this program the core of the time step solution is taken care C C of following this steps: C C C C 1 Form the system matrix [A] of constant coefficients C C 2 Perfom LUD decomposition over this matrix [A] C C 3 Form the system matrix [BM] of constant coefficients C C 4 Form r.h.s of equation (vector {b}=[BM]{xo} for each time step) C C 5 solve for [A],{b} to get a {x} for that time step C C 6 Repeat 4 & 5 until convergence of that time step C C 7 Repeat 3 & 6 until completion of desired number of time steps C C C C The ie(t) term of the continuity equation is calculated for each C
PAGE 150
150 C time step by the extention of the Green Ampt method as proposed by C C Mein& Larson, (1967) and Chu (1975), C C C C The overland flow solution is linked to a submodel to calculate C C sediment transport on a grass filter. The information from the C C submodel is used to assemble the vector {b} during the procedure C C described above. C C The sediment filtration is based on the method proposed by: C C C C 1. Tollner et al. (1976). "Suspended sediment filtration capacity of C C simulated vegetation". Trans. ASAE. 19(4):698682. C C 2. Tollner et al. (1977). "Sediment deposition patterns in simulated C C grass filters". Trans. ASAE. 20(5):940 944. C C 3. Barfield et. al (1979)"Filtration of sediment by simulated vegetation C C I. Trans. ASAE, 22(3):540 548. C C 4. Hayes et. al (1979)"Filtration of sediment by simulated vegetationII" C C Trans. ASAE, 22(5):1063 1067 C C 5. Hayes et. al (1984) "Performance of grass filters under laboratory and C C field Conditions".Trans. ASAE, 27(5):1321 1331, to account for C C triangular upslope deposition and particle and size distribution C C 6. Wilson et al (1981)"A Hydrology and sedimentology model: Part I. C C Modeling techniques. U.of Kentucky. Lexington. This is a major C C rewrite of the prodedures involved. C C 7. Haan et al (1994)"Design Hydrology and Sedimentology for Small C C Catchments". Prentice Hall. Chapter 9C contains updated and clearly C C presented procedures for sediment trapping and wedge formation C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C SUBROUTINES BY ORDER OF APPAREANCE C C C C INI, INPUTS,QUAD, FORMA, SHAPEF, ASSM, BCA, FORMB, MODIFY, FACTOR, C C SOLVE, FLOW, UPDATE, CONVER, KWWRITE, GASUB, OUTMASS, GRASSED, C C GRASSIN, OCF, EINST EIN, STEP3, POINTS C C C C DEFINITION OF GLOBAL VARIABLES FOR OVERLAND FLOW SOLUTION C C C C A(I,J)= SYSTEM MATRIX, SQUARE OF DIMENSIONS NxN, ie. [A] C C B(I)= RIGHT HAND SIDE VECTOR OF DIMENSIONS 1xN ie {b} C C DPSI(L) = DERIVATIVE OF BASIS FUNCTIONS C C DR= DURATION OF THE RAINFALL (s) C C DT = INCREMENT OF TIME (s) C C DX= SPACE STEP (m) C C MAXITER= MAXIMUM NUMBER OF ITERATIONS ALOWED C C MFLAG= CONVERGENCE FLAG (0, NO CONVERGENCE; 1, CONVERGENCE) C C N=ACTUAL NUMBER OF NODES IN THE DOMAIN C C NDT = NUMBER OF TIME STEPS C C NELEM= ACTUAL NUMBER OF ELEMENTS IN THE DOMAIN C C NL= ORDER OF THE INTEGRATION RULE OVER EACH ELEMENT C C NMAX= MAXIMU M NUMBER OF EQUATIONS AND VARIABLES THAT CAN BE SOLVED C C NPOL=NUMBER OF NODAL POINTS OVER EACH ELEMENT (POLYNOMIAL DEG +1) C C OUT= 0, print values at the downstream end of the plane (hydrograph) C C 1, Print values for all nodes at each time step C C QK(MAXEQN)= NODAL ALPHA IN MANNING'S UNIFORM FLOW EQUATION C C R= Lateral inflow (m/s) C C RN = MANNING'S ROUGHNESS COEFFICIENT C C SO = SLOPE OF THE ELEMENT C C SR= DURATION OF THE SIMULATION (s) C C THETAW= TIME WEIGHT FACTOR C C VL= LENGTH OF THE PLANE (m) C C W(L) = GAUSS QUADRATURE WEIGHTS C C X(I)= SOLUTION VECTOR, DIMENSION 1xN, AT TIME STEP L+1 C C XI(L)= GAUSS QUADRATURE POINT C C XM(I)= SOLUTION VECTOR, DIMENSION 1xN, AT ITERATION M, t STEP L+1 C C X0(I)= SOLUTION VECTOR, DIMENSION 1xN, AT TIME STEP L C C C C C C DEFINITION OF GLOBAL VARIABLES FOR INFILTRATION SOLUTION C C C C AGA = Green Ampt's "A", saturated hydraulic conductivity, Ks (m/s) C
PAGE 151
151 C BCROFF(200,2)= Boundary condition at the upstream node (inflow from C C adjacent field. C C BGA = Green Ampt's "B" = Ks*Sav*M (m2/s) C C CP= Chu's surface condition indicator for ponding at initial time C C CU= Chu's surface condition indicator for no ponding at initi al time C C F= Cumulative infiltration (m) C C FPI= Instantaneous infiltration rate (m/s) C C L= rainfall period C C LO = index to show if time step is in the same rainfall period (LO=L) C C NPOND= shows ponded (=1) nonponded (=0) surface conditions C C NEND= Indicates that the end of runoff is reached C C PS= Cumulativ e recipitation in m. C C PSOLD= Cumulative recipitation in m for last rainfall period. C C PST= Total cumulative recipitation in m. C C PSI(L) = BASIS FUNCTIONS (QUADRATIC LAGRANGIAN POLYNOMIALS) C C RAIN(200,2)= Times (s) and rainfall rates (m/s) over the VFS. C C RO= Cumulative runoff rate at the node (without considering BCRO) C C SM= Maximum surface storage (m) C C STO= Cumulative surface storage (m) C C TP, TPP= Chu's (1978) tp and tp' coefficients C C TI= time to infiltrate surface ponded water C C TRAI= Total cumulative rainfal (m) C C C C DEFINITION OF VARIABLES FOR SEDIMENT SOLUTION C C C C Ss= spacing of the filter media elments (cm) C C Sc= filter main slope C C n= Manning's n= 0.0072 for cilindrical media (s/cm^1/3) C C q= overland flow (cm2/s) C C df= depth of flow at D(t) (cm) C C Vm= depth averaged velocity at D(t)(cm/s) C C Rs= hydraulic radius of the filter (cm) C C dp= particle size, diameter (cm) C C gamma, gammas= water and sediment weight density (g/cm3) C C gs2=gsd: sediment load entering downstream section (g/s/cm) C C Rss= hydraulic radius of the filter at B(t) (cm) C C dfs= depth of flow at B(t) (cm) C C Vms= depth averaged velocity at B(t) (cm/s) C C Se= equilibrium slope at B(t) C C f= fraccion trapped in the depodition wedge C C ico= flag to select feedback to overland flow solution of new slopes C C and roughness (0=no, 1=yes) C C coarse= % of particles from incoming sediment with diameter > 0.0037 C C cm (co arse fraction that will be routed through wedge). C C C C NOTE: units in sediment transport calculations are in CGS system C C (cm,g,s), including Manning's n C C c c Change Log: See CHANGES file in source code directory c C c CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /GA1/PS,PSOLD,PST,F,RO,TP,TPP,TI,FPI,STO,CU,CP,AGA,BGA,SM COMMON /GA2/LO,NPOND COMMON /GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO COMMON /GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3) COMMON /GRASSD3/SUSMASS,WEDGEMASS,NFUP COMMON /OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD COMMON /FLOWPAR/X0,Q0 DIMENSION A(MAXEQN,MAXBND),B(MAXEQN),B0(MAXEQN) DIMENSION X(MAXEQN),X0(MAXEQN),XM(MAXEQN),Q0(MAXEQN),QM(MAXEQN) DIMENSION PGPAR(4) DIMENSION BCROFF(200,2),RAIN(200,2),NODEX(4) CHARACTER *75 LISFIL(13) C Print banner, get I/O filenames and open them 
PAGE 152
152 CALL FINPUT(LISFIL,INARGS,ISCR) C Initialize matrices CALL INI(A,B,X,XM,X0,Q0,QM,SSE,NODEX) C Read inputs for sediment problem CALL GRASSIN(ICOARSE,COARSE,LISFIL,INARGS) C Get inputs and parameters for hydrology problem CALL INPUTS(N,NBAND,NRAIN,RAIN,NBCROFF,BCROFF,TE,QMAX,VL,FWIDTH, & SWIDTH,SLENGTH,PGPAR,NCHK,LISFIL,INARGS,ISCR,IWQ) C Get the Gauss quadrature parameters CALL QUAD C Assemble the system matrix A CALL FORMA(A,NBAND,PGPAR) C Perform LU decomposition over A CALL FACTOR(A,N,NBAND) C Numerical time dependent solution MAXIT=100 TIME=0.D0 RO=0.D0 PS=0.D0 STO= 0.D0 F=0.000001D0 XTOLD=0.D0 YTOLD=0.D0 TOTF=0.d0 NPOND=0 PZERO=1.0d 8 NSTART=0 NEND=0 NWRITE=NDT/100 VLCM=VL*100.D0 QTEMP=0.d0 NFUP=0 MMX=0 added GSO for grassed> step3>SedLoadTRT Initializing GS0 to 0.0 GSO=0.d0 YT=0.d0 XT=0.d0 iTRTcount is used if tarse is called. iTRTcount=1 DO 5 I=1,4 QSED(I)=0.D0 5 CONTINUE DO 40 LCOUNT=1,NDT TIME=DT*LCOUNT C Select the rainfall intensity and interpolate BC (transform into depth (m)) C at the first node of system (incoming hydrograph) for each time step. R=0.D0 DO 10 I=1,NRAIN 1 IF (TIME.GT.RAIN(I,1).AND.TIME.LE.RAIN(I+1,1)) L=I 10 CONTINUE BCRO=0.D0 BCROQ=0.D0
PAGE 153
153 DO 15 I=1,NBCROFF 1 IF (TIME.GT.BCROFF(I,1).AND.TIME.LE.BCROFF(I+1,1)) THEN BCROQ=(TIME BCROFF(I,1))/(BCROFF(I+1,1) BCROFF(I,1))* & (BCROFF(I+1,2) BCROFF(I,2))+BCROFF(I,2) BCRO=((BCROQ/FWIDTH)/QK(1))**(3.D0/5.D0) ENDIF 15 CONTINUE C Get effective rainfall and con trol execution of overland flow C for an infiltrating surface by calling GreenAmpt model. The C assumption is that when a certain node (nchk) is flooded, i.e. C x(nchk)>0, all the surface will be flooded, and thus the ma x. C infiltration capacity for the rest of the event is selected C as given by the GreenAmpt model. NCHK is selected by the user. IF (X(NCHK).GT.PZERO)NPOND=1 IF (BCRO.EQ.0.D0.AND.X(NCHK).EQ.0.D0.AND.NSTART.EQ.1)NEND=1 C consider infiltration for infiltrating plane (mod for thetai>porosity 05/2003) IF (AGA.GT.0.D0) THEN C change to consider infiltration only when rainfall occurs C IF(AGA.GT.0.D0.AND.R.GT.0.0000E+00)THEN C end of change CALL GASUB(TIME,DT,L,R,RAIN,NEND,TRAI) ELSE R=RAIN(L,2) TRAI=TRAI+DT*(R+ROLD)*0.5D0 ROLD=R ENDIF IF (R.LE.0.D0.AND.BCRO.EQ.0.D0.AND.X(NCHK).EQ.0.D0)NSTART=0 IF (R.GT.0.D0.OR.BCRO.GT.0.D0)NSTART=1 C Form of r.h.s vector for that time step CALL FORMB(B0,X0,Q0,N,BCRO,PGPAR) C Start Picard iteration M=0 MFLAG=0 IF (NSTART.EQ.0)MFLAG=1 DO 20 WHILE (M.LT.MAXITER.AND.MFLAG.EQ.0) M= M+1 C Update {b} = {bm} CALL UPDATE(N,B0,B) CALL MODIFY(QM,B,BCRO,PGPAR) C Feed the vector to the solver CALL SOLVE(A,B,X,N,NBAND) C Check for convergence CALL CONVER(N,X,XM,MFLAG) C Update Xm = X m+1 CALL UPDATE(N,X,XM) C Find flow component at iteration step CALL FLOW(N,X,QM) 20 CONTINUE C Update h and q for next time level CALL UPDATE(N,X,X0) CALL FLOW(N,X,Q0)
PAGE 154
154 C Do the following only 100 times, each time using the C average flow of the last NWRITE values in between C a) Call sediment transport subroutine if there is inflow C (change units from q(m2/s) >qsed(cm2/s)) C b) Write outputs to files QTEMP=QTEMP+Q0(N) DO 25 J=1,3 ND=NODEX(J) QSED(J)=QSED(J)+Q0(ND) 25 CONTINUE DO 30 I=1,100 IF (LCOUNT.EQ.I*NWRITE) THEN QTEMP=QTEMP/NWRITE DO 27 J=1,3 QSED(J)=QSED(J)/NWRITE*10000.D0 IF (QSED(J).LT.0.D0)QSED(J)= DABS(QSED(J)) 27 CONTINUE QSED(4)=QTEMP*1000 0.D0 QIN=QK(1)*BCRO**(5.D0/3.D0)*10000.D0 QOUT=Q0(N) IF (BCRO.NE.0.D0) THEN CALL GRASSED(TIME,N,QIN,QOUT,NODEX, & ICOARSE,COARSE,FWIDTH,ISCR,GSO) ENDIF TOLD=TIME CALL KWWRITE(N,LCOUNT,M,QTEMP,X,BCROQ,FWIDTH) QTEMP=0.D0 DO 28 J=1,4 QSED(J)=0.D0 28 CONTINUE ENDIF 30 CONTINUE IF (IW Q.EQ.1) then FPI= 1*(R RAIN(L,2)) rainWQ=RAIN(L,2) if (Q0(1).GT.0) then call WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,FPI,RAINWQ) MMX=1 else if (MMX.EQ.1) & call WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,FPI,RAINWQ) end if END IF NNWRITE=NDT/5 DO 50 Ip=1,5 IF (LCOUNT.EQ.Ip*NNWRITE) THEN iprogress=20*Ip print *, "Progress: ,iprogress, '%' END IF 50 CONTINUE 40 CONTINUE C Write a summary of results at the end of the run CALL OUTMASS(VL,FWIDTH,SWIDTH,SLENGTH,TRAI,LISFIL,ISCR,IWQ) CLOSE (1) CLOSE (2) CLOSE (3) CLOSE (7) CLOSE (8) CLOSE (9)
PAGE 155
155 CLOSE (10) CLOSE (11) CLOSE (12) CLOSE (13) CLOSE (14) CLOSE (15) CLOSE (16) CLOSE (17) CLOSE (18) STOP END Subroutine FEMADR(iTRTcount,LCOUNT,TIME,lisfil,NBAND,N,FPI,rainWQ) !From wqsub.f call FEMADR(iTRTcount,LCOUNT,TIME,LISFIL,NBAND,N,FPI) c FEMADR.f c c FUNCTIONS: c FEMADR Entry point of console application. c c************************************************************************** c c PROGRAM: FEMADR c c PURPOSE: Entry point for the console application. c c************************************************************************** ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc C WRITTEN BY: Rafael Munoz Carpena/ Graduate Student/ BAE/ NCSU C C WRITTEN FOR: ENVR281/Dr. Miller/ UNC Chapel Hill/Spring 1991 C C C C This program solves the Linear AdvectiveDispersiveReactive C C transport equation (ADR) for the I D case and no=1: C C dC/dt = Dx d2C/dx Vx dC/dx k1 C C C It uses a finite element approximation for the spacial derivatives C C and the variable timeweighting method for the temporal derivative C C approximation. C C In this program the cor e of the time step solution is taken care C C of following this steps: C C 1 Form the system matrix [A] of constant coefficients C C 2 Perfom LUD decomposition over this matrix [A] C C 3 Form the system matrix [BM] of constant coefficients C C 4 Form r.h.s of equation (vector {b}=[BM]{XO} for each time step C C 5 solve for [A],{b} to get a {x} for that time step C C 6 Repeat 4 & 5 until completion of desired number of time steps C ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc C DEFINITION OF GLOBAL VARIABLES C C NMAX= MAXIMUM NUMBER OF EQUATIONS AND VARIABLES THAT CAN BE SOLVED C C NELEM= ACTUAL NUMBER OF ELEMENTS IN THE DOMAIN C C N=ACTUAL NUMBER OF NODES IN THE DOMAIN C C NL= ORDER OF THE INTEGRATION RULE OVER EACH ELEMENT C C NPOL=NUMBER OF NODAL POINTS OVER EACH ELEMENT (POLYNOMIAL DEG +1) C C C C ******** NOTE: DEGREE OF FCT<= 2NL 1 ************ C C A(I,J)= SYSTEM MATRIX, SQUARE OF DIMENSIONS NxN, ie. [A] C C B(I)= RIGHT HAND SIDE VECTOR OF DIMENSIONS lxN ie {b} C C X(I)= SOLUTION VECTOR, DIMENSION lxN, AT TIME STEP L+l C C VX = VELOCITY C C DIS = HYDRODYNAMIC DISPERSION COEFFICIENT C C DISL= LONGITUDINAL DISPERSIVITY C C DISM= MOLECURAR DIFUSION CONSTANT C C THETAW= TIME WEIGHT FACTOR C C CKl = REACTION COEFFICIENT C C DT = INCREMENT OF TIME C C NDT = NUMBER OF TIME STEPS C ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc PARAMETER (MAXEQN=1001,MAXBND=40)
PAGE 156
156 IMPLI CIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /WQ1/VKD,CCP,IWQPRO COMMON /RSE3/Atrt,Atrt2,Atr3,BMtrt,BMtrt2,BMtrt3,Btrt,Btrt2,Btrt3 CHARACTER *75 LISFIL(13) DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND) ,Btrt(MAXEQN) DIMENSION Atrt2(MAXEQN,MAXBND),BMtrt2(MAXEQN,MAXBND),Btrt2(MAXEQN) DIMENSION Atrt3(MAXEQN,MAXBND),BMtrt3(MAXEQN,MAXBND),Btrt3(MAXEQN) DIMENSION Xtrt(MAXEQN) ,X0trt(MAXEQN) DIMENSION Xvfs(MAXEQN) DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN) DIMENSION STAB5(MAXEQN), STAB6(MAXEQN) DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN) ISPLIT=2 !ISPLIT Used to update DT/2 in formbm,.f and elem.f during TRT C Numerical time dependent solution DT2=0.d0 C THE TRANSPORT REACTION TRANSPORT MODULE IS HERE: C 1/2 STEP TRANSPORT FULL STEP REACTION 1/2 STEP TRANSPOR FOR C EACH TIME STEP. !C Initialize matri ces CALL INItrt(Atrt,BMtrt,Btrt,Xtrt,X0trt,LCOUNT) !C Assamble the system matrix A CALL FORMAtrt(Atrt,N,NBAND,ISPLIT,rainWQ) !C Apply boundary conditions over A CALL BCAtrt(Atrt,N,NBAND) !C perform LU decomposition over A CAL L FACTOR(Atrt,N,NBAND) !C Assemble the R.H.S. matrix BM CALL FORMBMtrt(BMtrt,N,NBAND,ISPLIT,rainWQ) C STARTING 1/2 TIME STEP OF TRANSPORT C Form r.h.s vector CALL FORMVBtrt(BMtrt,X0trt,N,NBAND,Btrt,LCOUNT,DT2) C Feed the vector to the solver CALL SOLVE(Atrt,Btrt,Xtrt,N,NBAND) CinP=Xtrt(1) c STARTING REACTION !C Concentration after 1/2 dt of transport is passed to one dt of Reaction CHECK if tarse is used (IWQPRO=3 for tarse). if not, RSE is nor used but a simple sink/souce term can be used by FEMADRtrt if (IWQPRO.eq.3) then CALL REACTION(Xtrt,N,LCOUNT,iTRTcount,LISFIL,FPI) !iTRTcount=iTRTcount+1 end if Xtrt(1)=CinP C Update the value Xold=Xnew / Updating concentration after reaction CALL UPDATE(N,Xtrt,X0trt) C STARTING SECOND 1/2 TIME STEP OF TRANSPORT C Form r.h.s vector CALL FORMVBtrt(BMtrt,X0trt,N,NBAND,Btrt,LCOUNT,DT2) C Feed the vector to the solver CALL SOLVE(Atrt,Btrt,Xtrt,N,NBAND) !C Write the solution for that time step CALL CORRECT(Xtrt,N) C Update the value Xold=Xnew CALL UPDATE(N,Xtrt,X0trt) call CHKtrt(N,X0trt,ConcINF1,ConcInf2) call CHKtrt(N,Xtrt,ConcINF1,ConcInf2) Xtrt(1)=CinP CALL ADRWRITE(Xtrt,N,LCOUNT,TIME,FPI,rainWQ,ConcINF1,ConcInf2) ConcINF1=0.d0 ConcINF2=0.d0 END SUBROUTINE ADRWRITE(Xtrt,N,LCOUNT,TIME,FPI,RAINWQ,ConcINF1, & ConcInf2) PARAMETER (MAXEQN=1001,MAXBND=40)
PAGE 157
157 IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO COMMON /FLOWPAR/X0,Q0 DIMENSION Xtrt(MAXEQN) DIMENSION X0(MAXEQN),Q0(MAXEQN) NMDT=NDT/100 Write node, time, inflow, Inflow Conc, inflow load, outflow outflow conc, outflow load, infiltration rate, pollutant infiltration load WRITE (18,100)N,TIME,Q0(1),Xtrt(1),Xtrt(1)*Q0(1),Q0(N),Xtrt(N), & Xtrt(N)*Q0(N),FPI,(ConcINF1*FPI*VLCM/100+ & ConcINF2*FPI*VLCM/100) 100 FORMAT (I4,2X,F8.2,2x,F14.10,2x,F14.10,2x,F14.10,2x,F14.10, & 2x,F14.10,2x,F14.10,2x,F14.10,2x,F14.10,2x,F14.10, & 2x,F14.10,2x,F14.10,2x,F14.10,2x,F14.10,2x,F14.10) RETURN END SUBROUTINE BCAtrt(Atrt,N,NBAND) ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c The boundary conditions for this program are (problem set 2, part 1) c c C(x=O,t>O) = 1 c c dC/dx (x=xL)= 0 c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) DIMENSION Atrt(MAXEQN,MAXBND) NDIAG = NBAND/2 + 1 !C Plug in first kind of BC (Dirichlet) DO 10 I=1,NBAND Atrt(1,I)=0.D0 10 CONTINUE Atrt(1,NDIAG)=1.D0 RETURN END Subroutine CallRSE(dt_vfsm,NDT1,LLL,Xj,iii,jj,LISFIL,FPI) !From ReactionTRT call callRSE((dtRSE1),NDT,LL,X(J),ii,j,LISFIL,FPI) ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc C This program reads the *.iwq input file during the first iteaction, C C and stores the input files to be passed to RSE. C C Once RSE ends, the new concentration values are passed to the C C corresponding matrices C ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /RSE/bt,C1,flag,XMLinput,XMLoutput,XMLreac_set,ntot,nvarX, & dtRSE,numChem,nmob,nstab COMMON /RSE2/STAB2,STAB3,STAB4,STAB5,STAB6,ISPLIT COMMON /FLOWPAR/X0,Q0 COMMON /RSE3/Atrt,Atrt2,Atr3,BMtrt,BMtrt2,BMtrt3,Btrt,Btrt2,Btrt3 COMMON /SEDS/TSED,FSED,CSED,SEDVFS CHA RACTER *75 LISFIL(13) DIMENSION A(MAXEQN,MAXBND),BM(MAXEQN,MAXBND) ,B(MAXEQN) DIMENSION X(MAXEQN) ,X0(MAXEQN),C1(50),Q0(MAXEQN) DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND) ,Btrt(MAXEQN)
PAGE 158
158 DIMENSION Atrt2(MAXEQN,MAXBND),BMtrt2(MAXEQN,MAXBND),Btrt2(MAXEQN) DIMENSION Atrt3(MAXEQN,MAXBND),BMtrt3(MAXEQN,MAXBND),Btrt3(MAXEQN) DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN) DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQ N) DIMENSION STAB5(MAXEQN), STAB6(MAXEQN) CHARACTER (len=120) :: XMLinput CHARACTER (len=120) :: XMLoutput CHARACTER (len=120) :: XMLreac_set CHARACTER (len=120) :: fname integer (kind=4) :: ntot, NDT1,iii integer*1 Dimension (50) :: XMLinputC, XMLoutputC, XMLreac_setC integer (kind=4) ::iTRTcount Initialize for the first iteration if (iii.EQ.1) then Do i = 1, 50 C1(i) = 0.0 Enddo !Reads data from .iwq file call ReadIWQ2(LISFIL) Transform fortran strings to C null terminated strings to be used by RSE dll Call FORT_CSTRING(XMLinput, XMLinputC) Call FORT_CSTRING(XMLoutput, XMLoutputC) Call FORT_CSTRING(XMLreac_set,XMLreac_setC) Time step used by the controlling program if (dtRSE>0) then dt_vfsm=dtRSE else dt_vfsm=dt_vfsm end if end if end if nvar+27+: 1) Total Seds, 2)Fine Seds, 3) Coarse Seds, 4) Seds on VFS, 5)Infiltration, 6) runoff depth C1(1)=Xj if (nstab.eq.1) C1(nmob+1)=STAB2(jj) if (nstab.eq.2) then C1(nmob+1)=STAB2(jj) C1(nmob+2)=STAB3(jj) end if if (nstab.eq.3) then C1(nmob+1)=STAB2(jj) C1(nmob+2)=STAB3(jj) C1( nmob+3)=STAB4(jj) end if if (nstab.eq.4) then C1(nmob+1)=STAB2(jj) C1(nmob+2)=STAB3(jj) C1(nmob+3)=STAB4(jj) C1(nmob+4)= STAB5(jj) end if if (nstab.eq.5) then C1(nmob+1)=STAB2(jj) C1(nmob+2)=STAB3(jj) C1(nmob+3)=STAB4(jj) C1(nmob+4)=STAB5(jj) C1(nmob+5)=STAB6(jj) end if C1(nvarX+27+1)=TSED(jj) C1(nvarX+27+2)=FSED(jj) C1(nvarX+27+3)=CSED(jj) C1(nvarX+27+4)=SEDVF S(jj) C1(nvarX+27+5)=FPI C1(nvarX+27+6)=X0(jj) !Call RSE (number of iter, vector W/data of parameters, dt, XML files(2), reaction set, Total number of indexes (based on XML output)
PAGE 159
159 call MyReactionModTest(LLL,C1,dt_vfsm,XMLinputC,XMLoutputC, & XMLreac_setC,ntot,iii) xj=C1(1) if (nstab.eq.1) STAB2(jj)=C1(nmob+1) if (nstab.eq.2) then STAB2(jj)=C1(nmob+1) STAB3(jj)=C1(nmob+2) end if if (nstab.eq.3) then STAB2(jj)=C1(nmob+1) STAB3(jj)=C1(nmob+2) STAB4(jj)=C1(nmob+3) end if if (nstab.eq.4) then STAB2(jj)=C1(nmob+1) STAB3(jj)=C1(nmob+2) STAB4(jj)=C1(nmob+3) STAB5(jj)=C1(nmob+4) end if if (nstab.eq.5) then STAB2(jj)=C1(nmob+1) STAB3(jj)=C1(nmob+2) STAB4(jj)=C1(nmob+3) STAB5(jj)=C1(nmob+4) STAB6(jj)=C1(nmob+5) end if iii=iii+1 END SUBROUTINE CHKtrt(N,X0trt,ConcINF1,ConcINF2) CHECK THE WATER DEPTH IN THE VFS. IF THERE IS NO WATER THEN THE CALCULATED CONCETRATION IN SURFACE WATER IS MOVED TO THE POREWATER PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /FLOWPAR/X0,Q0 DIMENSION X0(MAXEQN),Q0(MAXEQN),X0trt(MAXEQN) ConcINF1=0.d0 ConcINF2=0.d0 j=0 Do 10 i=1,N ConcINF1=ConcINF1+X0trt(i) 10 CONTINUE ConcINF1=ConcINF1/(N 2) DO 20 I=1,N if (X0(I).GT.0.D0) X0trt(I)=X0trt(I) if (X0(I).LE.0.D0) then ConcInf2=ConcInf2+X0trt(i) X0trt(I)=0.d0 j=j+1 end if 20 CONTINUE If (j.gt.0) then ConcINF2=ConcInf2/j Else ConcINF2=0.d0 End If RETURN END SUBROUTINE CORRECT(Xtrt,N)
PAGE 160
160 !C WRITE THE RESULT VECTOR X IN FORMAT TO THE DEFAULT DEVICE PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) DIMENSION Xtrt(MAXEQN) NVAL=N DO 10 L=1,NVAL if (Xtrt(L).lt.0)then Xtrt(L)=0 end if 10 continue RETURN END Function DIS(VX1) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PARADR/CONC1,DISL,DISM,CK1 Calculates the hydrodynamic dispersion coefficient DIS = VX1*DISL+DISM return end SUBROUTINE ELEMtrt(EK,ISPLIT1,NUMELEM,rainWQ) !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C !C SUBROUTINE ELEM EVALUATE THE COMPONENTS !C !C e x2 e e e e e e e e !C k=Ow[ Dx N(x) 'N(x) '+Vx N(x)N(x)'+kl N(x)N(x) +N(x)N(x)/dt]dx !C ij x1 i j i j j i i j !C !C FOR THE ELEMENT STIFFNESS MATRIX k. !C THE TRANSFORMATION FROM c TO X IS GIVEN BY THE RELATION !C X = x1 + 1/2(x2 xI) (1 + c) !C THUS !C e e !C dN dN dc !C i i !C = !C dx dc dx !C !C AND !C !C dx x2 x1 dx1 !C = = !C dc 2 2 !C !C N NUMBER OF NODAL POINTS IN THE ELEMENT !C THETAW TIME WEIGHTING FACTOR !C e !C EK(I,J) k ENTRY IN ELEMENT STIFFNESS MATRIX !C ij !C NL ORDER OF THE INTEGRATION RULE !C X1(L) cl, THE LOCATION OF THE L TH GAUSS ABSCISSA !C W(L) wl, THE L TH GAUSS WEIGHT !C dx x2 x1 !C DXl/2 = = = No. NODES IN ELEMENT TIMES DX/2 !C dc 2 PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /CINTtrt/XItrt(4,4),Wtrt(4,4) COMMON /PARADR/CONC1,DISL,DISM,CK1 COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL
PAGE 161
161 COMMON/OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD COMMON/RSE2/STAB2,ISPLIT COMMON/WQ2/IWQPRO,TIME COMMON /FLOWPAR/X0,Q0 DIMENSION EK(4,4),PSI(4),DPSI(4) DIMENSION X0(MAXEQN),Q0(MAXEQN) !C Find the integral domain DX1=DX*(NPOL 1) !C Inizialize element arrays DO 10 I=1,NPOL DO 10 J=1,NPOL EK(I,J) = 0.D0 10 CONTINUE !C Begin integration point loop !NL is adapted for reading a value up to 4 IF (NL.LE.4) then NL2=NL NODE=(NPOL 1)*NUMELEM NPOL+1 NODETEMP=NODE DO 20 L=1,NL NODE=NODETEMP CALL SHAPEtrt (XItrt(L,NL),NPOL,PSI,DPSI) DO 20 I=1,NPOL NODE=NODE+1 if (Q0(NODE).le.0) then VX=0.d0 CK1p=0.d0 else VX=Q0(NODE)/X0(NODE) CK1p=rainWQ/X0(NODE)+CK1 end if DO 20 J=1,NPOL EK(I,J) = EK(I,J)+((DIS(VX)*DPSI(I)*DPSI(J)*2.D0/DX1 & +VX*PSI(I)*DPSI(J)+CK1p*PSI(I)*PSI (J)*DX1/2.D0)*THETAW & +PSI(I)*PSI(J)*DX1/2.D0/(DT/ISPLIT1))*Wtrt(L,NL) 20 CONTINUE ELSE NL2=NL NL=NL 1 NODE=(NPOL 1)*NUMELEM NPOL+1 NODETEMP=NODE DO 30 L=1,NL NODE=NODETEMP CALL SHAPEtrt (XItrt(L,NL),NPOL,PSI,DPSI) DO 30 I=1,NPOL NODE=NODE+1 if (Q0(NODE)<=0) then VX=0.d0 CK1p=0.d0 else VX=Q0(NODE)/X0(NODE) CK1p substitutes CK1 in EK calculations CK1p=rainWQ/X0(NODE)+CK1 end if DO 30 J=1,NPOL EK(I,J) = EK(I,J)+((DIS(VX)*DPSI(I)*DPSI(J)*2.D0/DX1 & +VX*PSI(I)*DPSI(J)+CK1p*PSI(I)*PSI(J)*DX1/2.D0)*THETAW & +PSI(I)*PSI(J)*DX1/2.D0/(DT/ISPLIT1))*Wtrt(L,NL) 30 CONTINUE end IF if (NL2.GE.5) NL=NL2 RETURN END SUBROUTINE FORMAtrt(Atrt,N,NBAND,ISPLIT,rainWQ) from femadrTRT CALL FORMAtrt(Atrt,N,NBAND,ISPLIT) !C C C This subroutine assembles the system matrix [A] as a banded matrix C
PAGE 162
162 !C tridiagonal. C C This procedure involves the calculation of element matrices EK and C !C their accumulation in the banded system matrix [A]. C C C PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL DIMENSION Atrt(MAXEQN,MAXBND),EK(4,4) DO 10 NEL=1,NELEM !C Form the element matrices EK ! pass element number (NEL) to ELEM CALL ELEMtrt(EK,ISPLIT,NEL,rainWQ) !C Assemble the matrix CALL ASSM(Atrt,EK,NBAND,NEL) 10 CONTINUE RETURN END SUBROUTINE FORMBMtrt(BMtrt,N,NBAND,ISPLIT,rainWQ) !From femadr CALL FORMBMtrt(BMtrt,N,NBAND,ISPLIT) ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c In this subroutine the assembling of the right hand side part of the c c equation (matrix BMtrt). l c c This equation could be expressed as R.H.S= [BMtrt]{C} = {b} c c l c c Where {x} = is the concentration at the last time step c c [BMtrt] = is a matrix of constant coefficients c ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /PARADR/CONC1,DISL,DISM,CK1 COMMON /CINTtrt/XItrt(4,4),Wtrt(4,4) COMMON/RSE2/STAB2,ISPLIT COMMON /FLOWPAR/X0,Q0 DIMENSION BMtrt(MAXEQN,MAXBND), EF(4,4) ,PSI(4),DPSI(4) DIMENSION X0(MAXEQN),Q0(MAXEQN) !C Find the integral domain DX1=DX*(NPOL 1) if (NL.gt.4) then NL2=NL NL=NL1 end if !C Begin vector formation element by element DO 50 NEL=1,NELEM !C Inizialize element vector DO 20 I=1,NPOL DO 20 J=1,NPOL EF(I,J)=0.D0 20 CONTINUE C Check NL from vfsmod. if NL>4, decrease 1 to be used by femadr !C Begin integration point NODE=(NPOL 1)*NEL NPOL+1 NODETEMP=NODE DO 30 L= 1,NL CALL SHAPEtrt (XItrt(L,NL),NPOL,PSI,DPSI) NODE=NODETEMP DO 30 I=1,NPOL NODE=NODE+1 if (X0(NODE)<=0) then VX=0
PAGE 163
163 CK1p=0 DO 32 J=1,NPOL EF(I,J)=EF(I,J)+0 32 CONTINUE else VX=Q0(NODE)/X0(NODE) CK1p=rainWQ/X0(NODE)+CK1 DO 34 J=1,NPOL EF(I,J)=EF(I,J)+(PSI(I)*PSI(J)*DX1/2.D0/(DT/ISPLIT) & (DIS(VX)*DPSI(I)*DPSI(J)*2.D0/DX1+VX*PSI(I)*DPSI(J) & +CK1p*PSI(I)*PSI(J)*DX1/2.D0)*(1 THETAW))*Wtrt(L,NL) 34 Continue end if 30 CONTINUE !C Plug the element vector into the [BMtrt] matrix CALL ASSM(BMtrt,EF,NBAND,NEL) 50 CONTINUE !!C Plug in first kind of BC (Dirichlet) NDIAG = NBAND/2 + 1 DO 60 I=1,NBAND BMtrt(1,I)=0.D0 60 CO NTINUE BMtrt(1,NDIAG)=1.D0 !C Second kind of BC (Neumann) !C NOTE: In this case since de value is 0 the !C eq. for the last node remains the same if (NL2.gt.4) then NL=NL2 end if RETURN END SUBROUTINE FORMVBtrt(BMtrt,X0trt,N,NBAND,Btrt,LCOUNT,DT2) !from femadrTRT8t f call FORMVBtrt(BMtrt,X0trt,N,NBAND,Btrt,LCOUNT) !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC !C AUTHOR: Casson stallings, NCSU, Forestry Department, Spring 1991 !C !C This Subroutine constructs the r.h.s. vector {b} at every time !C step as the result of the banded matrix multiplication: !C 1 !C {b} = [BM] .{C} !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC !C !C DEFINITION OF GLOBAL VARIABLES !C N = NUMBER OF ACTIVE ROWS !C NBAND = BAND WIDT !C Btrt(N) = RESULTANT VECTOR !C IDIAG = THE ROW EQUIVILANT T TO TH E FULL MAT DIAG. !C ISTEP = A CONVIENCE !C SUM = HOLDS ROW SUMS !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC~ PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) DIMENSION BMtrt(MAXEQN,MAXBND) ,X0trt(MAXEQN),Btrt(MAXEQN) COMMON /FLOWPAR/X0,Q0 COMMON /PARADR/CONC1,DISL,DISM,CK1 DIMENSION X0(MAXEQN),Q0(MAXEQN) IDIAG = (NBAND+1)/2 ISTEP = IDIAG 1 !C Multiply the top most rows DO IR=1,ISTEP ISKEW = IR IDIAG SUM = 0.0D0 DO IC=(IDIAG+1 IR),NBAND
PAGE 164
164 SUM = SUM + BMtrt(IR,IC) X0trt(IC+ISKEW) END DO !! IC !! Btrt(IR) = SUM END DO !! IR !! !c Multiply the middle rows of the banded matrix DO IR=(ISTEP+1), (N ISTEP) ISKEW = IR IDIAG SUM = 0.0D0 DO IC=1, NBAND SUM = SUM + BMtrt(IR,IC) X0trt(IC+ISKEW) END DO !! IC !! Btrt(IR) = SUM END DO !! IR !! !C Multiply the last rows of the banded matrix DO IR= (N ISTEP+1), N ISKEW = IR IDIAG SUM = 0.0D0 DO IC=1, (IDIAG+(N IR)) SUM = SUM + BMtrt(IR,IC) X0trt(IC+ISKEW) END DO !! IC !! Btrt(IR) = SUM END DO !! IR !! !C Take care of BCl ! BC as a constant for C=1 @ t>0 Btrt(1)= 0.5 if (Q0(1).GT.0) Btrt(1)=CONC1 If (Q0(1).LE.0) Btrt(1)=0.D0 !BC as a funcion Ca+Cb*e^ alpha*t @ t>0, !! DT2=DT2+(DT/2) !! Btrt(1)= 80+30*exp( 1*LCOUNT*0.005) !C Take care of BC2 !C NOTE: In this case since de value is O the !C eq. for the last node remains the same RETURN END subroutine FORT_CSTRING(string, array) c******************************************************************************* c fstrings.for routines for converting between FORTRAN and C character c strings. c c Mark Showalter, PDS Rings Node, September 2002 c******************************************************************************* c c******************************************************************************* c$ Component_name: c FORT_CSTRING (fstrings.for) c$ Abstract: c Converts a FORTRAN character string to a null terminated byte array, c for passage to a C function. c$ Keywords: c UTILITY, FORTRAN_C c FORTRAN, INTE RNAL, SUBROUTINE c$ Declarations: c subroutine FORT_CSTRING(string, array, nbytes) c character*(*) string c integer*1 array(*) c integer*4 nbytes c$ Inputs: c string character string to convert. c nbytes dimensioned length of byte array. c$ Outputs: c ar ray(1...) string of bytes with terminal null.
PAGE 165
165 c$ Returns: c none c$ Detailed_description: c This subroutine converts a FORTRAN character string to a null terminated c byte array, for passage to a C function. Blank characters at the end of c the character string are not considered significant. The string is c truncated if necessary to fit into the array. c$ External_references: c none c$ Examples: c none c$ Error_handling: c none c$ Limitations: c The dimensioned length of the byte array must be at least one greater c than the effective length of the character string. c$ Author_and_institution: c Mark R. Showalter c PDS Rings Node, NASA/Ames Research Center c$ Version_and_date: c 1.0: January 1994 c 1.1: September 2002 c$ Change_history: c 1.1: Modified fo r compatibility with Absoft FORTRAN for Macintosh OS X. c******************************************************************************* character *(*) string integer*1 array(*) integer*4 nbytes integer last, i c Search for the last character actually used. do 100 last = len (string), 1, 1 if (string(last:last) .ne. ') goto 101 100 continue 101 continue c Truncate string if necessary if (last .gt. nbytes 1) last = nbytes 1 c Copy bytes from character string do 200 i = 1, last array(i) = ichar ( string(i:i) ) 200 continue c Append null terminator array(last+1) = 0 return end SUBROUTINE GRASSED(TIME,N,QIN,QOUT,NODEX,ICOARSE,COARSE, & FWIDTH,ISCR,GSO) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C This subroutine solves the sediment transport problem on a grass filter C C It utilize s the method proposed by: C C C C 1. Tollner et al. (1976). "Suspended sediment filtration capacity of C C simulated vegetation". Tra ns. ASAE. 19(4):698 682. C C 2. Tollner et al. (1977). "Sediment deposition patterns in simulated C C grass filters". Trans. ASAE. 20(5):940944. C C 3. Barfield et. al (1979)"Filtration of sediment by simulated vegetation C C I. Trans. ASAE, 22(3):540 548. C C 4. Hayes et. al (1979)"Filtration of sediment by simulated vegetation II" C
PAGE 166
166 C Trans. ASAE, 22(5):1063 1067 C C 5. Hayes et. al (1984)"Performance of grass filters under laboratory and C C field Conditions".Trans. ASAE, 27(5):1321 1331, to account for C C triangular upslope deposition and particle and size distribution C C 6. Wilson et al (1981)"A Hydrology and sedimentology model: Part I. C C Modeling techniques. U.of Kentucky. Lexington. This is a major C C rewrite of the prodedures involved. C C 7. Haan et al (1994)"Design Hydrology and Sedimentology for Small C C Catchments". Prentice Hall. Chapter 9C contains updated (and clearer) C C procedures for sediment trapping and wedge formation C C C C This is just the sediment transport unit calling the subroutines: C C OCF, EINSTEIN, STEP3 C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IMPLICIT DOUBLE PRECISION (A H,OZ) COMMON /GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO COMMON /GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3) COMMON /GRASSD3/SUSMASS,WEDGEMASS,NFUP COMMON /OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD DIMENSION XPOINTS(3),NODEX(4) C Select flow and sediment load at filter entry (incl. GSIM ASS 05/06/03) FWID=FWIDTH*100.D0 J=1 GSI=QIN*CI GSIMASS=GSIMASS+GSI*(TIMETOLD) cCheck and fix errors in incoming hydro/sedimentograph (values <0) IF (QIN.LE.0.D0.OR.QSED(2).LE.0.D0) THEN GS2=0.D0 GOTO 120 ENDIF C (16/12/00) New way of handling a sediment filled strip. After this chappens, all the sediment inflow is routed to the outflow end (no cdeposition) and without stopping the simulation. This way the csimulation summary (*.osm) now shows rea listic trapping efficiencies. cCheck if strip is filled up (NFUP=1) IF (NFUP.EQ.1) THEN YT=H X1=YT/SC XT=VLCM VLT=0.D0 SE=0.D0 GSSI=GSI FI=0.D0 GS2=GSI GSO=GSI FRAC=0.D0 DTG=TIME TOLD GSOMASS=GSOMASS+GSO*DTG TOTRAP=0.D0 DEP=H IF (ISCR.EQ.0) THEN WRITE (13,180)TIME,YT,X1,XT,VLT,SE,GSI,GSSI,GS2,GSO, & GSIMASS,WEDGEMASS,SUSMASS,GSOMASS,FI,FRAC,DEP,CDEP, & TOTRAP ELSE WRITE (13,180)TIME,YT,X1,XT,VLT,SE,GSI*FWID,GSSI*FWID, & GS2*FWID,GSO*FWID,GSIMASS*FWID,WEDGEMASS*FWID, & SUSMASS*FWID,GSOMASS*FWID,FI,FRAC,DEP,CDEP,TOTRAP ENDIF RETURN ENDIF C STEP 1: Solves hydraulic properties at points (1), (2), (3) of C the filter to be used later on 
PAGE 167
167 DO 10 NPLACE=1,3 CALL OCF(NPLACE) 10 CONTINUE C STEP 2: Solve Einstein's equation to find transport capacity (gs2) C at the end of B(t) CALL EINSTEIN(GS2,NTRCAP,COARSE) IF (ICOARSE.EQ.0)NTRCAP=1 C STEP 3: Calculate shape of sediment wedge, sediment outflow, and C trapping efficiency for the filter and finishes up CALL STEP3(GS2,TIME,NTRCAP,COARSE,QOUT,FWIDTH,ISCR,YT,XT,GSO,F I,FRAC) C STEP 4: Position points (1), (2), (3) at system nodes so that flow C rates can be read at those points at next time step CALL POINTS(N,XPOINTS,NODEX,VBT) cPass values of Sediment Conc to TSED, FSED and CSED CALL SedLOADTRT(COARSE,YT,XT,GS2,GSO,FWID,NODEX,XPOINTS,N,FI,FRAC) C Write outputs of sediment transport calculations 120 WRITE (14,200)TIME,QIN,(QSED(J),RS(J),VM(J),DF(J),J=1,3),QSED(4) 180 FORMAT (f7.0,4F10.3,F10.6,13E10.3) 200 FORMAT (F7.0,14E10.3) 201 FORMAT (A32,F8.4,a4) RETURN END SUBROUTINE INItrt(Atrt,BMtrt,Btrt,Xtrt,X0trt,iter) !from femadrTRT CALL INItrt(Atrt,BMtrt,Btrt,Xtrt,X0trt,iter) !C C C SET ALL MATRICES=O TO START PROGRAM C C C PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND),Btrt(MAXEQN) DIMENSION Xtrt(MAXEQN),X0trt(MAXEQN) DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN), & STAB5(MAXEQN), STAB6(MAXEQN) DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN) temp_dt=0 !For RSE if needed DO 10 I=1,MAXEQN if (iter.LE.1) then Btrt(I)= 0.D0 Xtrt(I)= 0.D0 X0trt(I)=0.D0 STAB2(I)=0.D0 STAB3(I)=0.D0 STAB4(I)=0.D0 STAB5(I)=0.D0 STAB6(I)=0.D0 TSED(I)=0.D0 FSED(I)=0.D0 CSED(I)=0.D0 SEDVFS(I)=0.D0 end if DO 10 J=1,MAXBND Atrt(I,J)= 0.D0 BMtrt(I,J)=0.D0 10 CONTINUE RETURN END SUBROUTINE INPUTS(N,NBAND,NRAIN,RAIN,NBCROFF,BCROFF,TE,QMAX,VL & FWIDTH,SWIDTH,SLENGTH,PGPAR,NCHK,LISFIL,INARGS,ISCR,IWQ)
PAGE 168
168 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C Read data from input file *.iwq in free format calculate the C C following parameters: C C C C 1 N, NBAND,NELEM C C 2 Maximum flow rate and depth at steady state condition (QMAX,HMAX) C C 3 Celerity of the wave (C) C C 4 Courant time step (DTC) C C 5 Froude number (FR) C C 6 Kinematic flow number (FK) C C 7 Henderson's t ime to equilibrium (TE) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) CHARACTER*30 PLABEL CHARACTER*75 LISFIL(13) CHARACTER*1 CWQ COMMON /GA1/PS,PSOLD,PST,F,RO,TP,TPP,TI,FPI,STO,CU,CP,AGA,BGA,SM COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO COMMON /WQ1/VKD,CCP,IWQPRO COMMON/WQ2/IWQPRO,TIME COMMON/OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD COMMON /PARADR/CONC1,DISL,DISM,CK1 DIMENSION BCROFF(200,2),RAIN(200,2) DI MENSION NODEP(MAXEQN),RNA(MAXEQN),SOA(MAXEQN),SX(MAXEQN) DIMENSION PGPAR(4) C Read in main parameters of the program IF (INARGS.EQ.1) THEN WRITE (*, '(" ... Reading inputs from: ",A45)' )LISFIL(1) ENDIF READ (1, '(A30)' )PLABEL READ (1,*)FWIDTH READ (1,*)VL,N,THETAW,CR,MAXITER,NPOL,IELOUT,KPG IOUT=0 C [EVR 1998] Check if N is compatible with type of shape funcion L=N 1 M=NPOL 1 IF ( MOD (L,M).NE.0) N = N+M MOD (L,M) SEPN = VL/(N 1) cRead surface properties of the filter READ (1,*)NPROP DO 5 IPROP=1,NPROP READ (1,*)SX(IPROP),RNA(IPROP),SOA(IPROP) 5 CONTINUE c[06/2008] Read WQ flag (0= no; 1= yes) READ (1,*, END=8)CWQ IWQ= INDEX (CWQ, '1' ) IF (IWQ.NE.1) IWQ=0 C [EVR 1998] Assign nodes to the X values where filter changes 8 XSEG=0.d0 J = 1 DO 80 I= 1, N DO WHILE (XSEG.GT.SX(J).AND.I.NE.N) J= J+1
PAGE 169
169 NODEP(J 1)=I END DO XSEG = XSEG + SEPN 80 CONTINUE NODEP(NPROP)=N C Calculate alpha for Manning's equation SMALLQK=1000.D0 BIGQK=0.D0 SOAVG=0.D0 RNAVG=0.D0 DO 15 I=1,N DO 10 IPROP=1,NPROP IF (I.LE.NODEP(IPROP)) THEN RN=RNA(IPROP) SO=SOA(IPROP) GOTO 12 ENDIF 10 CONTINUE 12 SOAVG=SOAVG+SO RNAVG=RNAVG+RN QK(I) = SO**0.5D0/RN BIGQK= DMAX1 (BIGQK,QK(I)) SMALLQK= DMIN1 (SMALLQK,QK(I)) IF (QK(I).eq.BIGQK) then nbig=i ELSEIF (QK(I).eq.SMALLQK) then nsmall=1 ENDIF 15 CONTINUE cFilter main slope and roughness for sediment calculations SC=SOAVG/N VN1=RNAVG/N C Read rainfall distribution IF (INARGS.EQ.1) THEN WRITE (*, '(" ... Reading inputs from: ",A45)' )LISFIL(2) ENDIF READ (2,*)NRAIN, RPEAK TOTRAIN=0.d0 DO 20 I=1,NRAIN READ (2,*)(RAIN(I,J),J=1,2) c** fix jep, 10/16/1999 IF (I.GT.1) TOTRAIN=TOTRAIN+ 1 RAIN(I 1,2)*(RAIN(I,1) RAIN(I 1,1)) 20 CONTINUE DR1=RAIN(NRAIN,1) C Calculate GreenAmpt parameters IF (INARGS.EQ.1) THEN WRITE (*, '(" ... Reading inputs from: ",A45)' )LISFIL(4) ENDIF READ (7,*)VKS, Sav, OS, OI, SM,SCHK DM=OS OI IF (DM.LE.0.d0)DM=0.0000001d0 IF (VKS.LT.0.d0) VKS=0.d0 SavM=Sav*DM AGA= VKS BGA= VKS*SAVM C get downslope node for flood checkingNCHK= IDNINT (SCHK*N)
PAGE 170
170 IF (NCHK.LT.1)NCHK=1 C Read runoff inflow at upper side of str ip (BC) in (m3/s) IF (INARGS.EQ.1) THEN WRITE (*, '(" ... Reading inputs from: ",A45)' )LISFIL(3) ENDIF READ (3,*)SWIDTH,SLENGTH READ (3,*)NBCROFF,BCROPEAK DO 30 I=1,NBCROFF READ (3,*)(BCROFF(I,J),J=1,2) 30 CONTINUE DR2=BCROFF(NBCROFF,1) DR= DMAX1 (DR1,DR2) C Find the bandwidth for the matrix, #element, #nodes NBAND=2*NPOL 1 DX=VL/(N 1) NELEM=(N 1)/(NPOL 1) C Calculate convergence and wave form parameters C***** English Units c G=32.185D0 c CMN=1.486D0 C***** Metric Units, PEAK & RPEAK (m/s), BCROPEAK (m3/s), QMAX(m2/s) G=9.81D0 CMN=1.D0 VMN=5.D0/3.D0 PEAK=RPEAK+BCROPEAK/(VL*FWIDTH) QMAX= VL*PEAK HMAX= (QMAX/BIGQK)**(1.D0/VMN) VMAX=QMAX/HMAX FR=VMAX/(G*HMAX)**0.5D0 FK=(VL*SO*G)/VMAX**2.D0 C= VMN*BIGQK*HMAX**(VMN 1.D0) DTC= DX/C DT=DTC*CR TE= HMAX/PEAK NDT= IDINT (DR/DT) CRR=(VMN*qmax*dt/dx)/((QMAX/SMALLQK)**(1.D0/VMN)) C Calculate the PG Parameters (in this case for n=50) IF (KPG.EQ.1) THEN PGPAR(1)=0.0215873D0 0.345217D0*CR + 1.33259D0*CR**2.D0 & 1.62016D0*CR**3.D0 + 0.670333D0*CR**4.D0 PGPAR(2)= 0.0592655D0 0.107237D0*CR + 0.235216D0*CR**2.D0 & 0.426017D0*CR**3.D0 + 0.222228D0*CR**4.D0 PGPAR(3)=0.0280422D0 + 0.175632D0*CR 0.592941D0*CR**2.D0 & 0.149698D0*CR**3.D0 0.0704731D0*CR**4.D0 PGPAR(4)= 0.0456247D0 +0.00112745D0*CR +0.420433D0*CR**2.D0 & 0.0935913D0*CR**3.D0 0.0764558D0*CR**4.D0 ENDIF C Set the order of the integration rule IF (KPG.EQ.0.OR.(PGPAR(4).EQ.0.D0.AND.PGPAR(3).EQ.0.D0)) THEN NL=NPOL+1 ELSE NL=5 ENDIF C [06/2008] Read water quality parameters, ensure backwards compatibility IF (IWQ.EQ.1) THEN IF (INARGS.EQ.1) THEN WRITE (*, '(" ... Reading inputs from: ",A45)' )LISFIL(12)
PAGE 171
171 ENDIF OPEN (17,FILE=LISFIL(12),ERR=1500,STATUS= 'OLD' ) OPEN (18,FILE=LISFIL(13),STATUS= 'UNKNOWN' ) WRITE (18,220)LISFIL(13) write (15,225) 12, 'iwq' ,lisfil(12) write (15,225) 13, 'owq' ,lisfil(13) READ (17,*)IWQPRO IF (IWQPRO.EQ.1) THEN READ (17,*)IKD BACKSPACE (17) IF (IKD.EQ.1) THEN READ (17,*)IKD,VKOC,OCP READ (17,*)CCP VKD=VKOC*OCP*.01D0 ELSE READ (17,*)IKD,VKD READ (17,*)CCP ENDIF ELSE C c placeholder for other wq problems, i.e. TaRSE, 07/28/08 rmc IF (IWQPRO.EQ.2.OR.IWQPRO.EQ.3) THEN !this initiates reactive term OPEN(31,FILE='femadr.out',STATUS='UNKNOWN') C Get parameters for running FEMADR or RSE CALL INPUTStrt(N,NBAND,IWQPRO) C Get the Gauss quadrature parameters CALL QUADtrt CALL trtON(N,NBAND,IWQPRO) !Reads variables (.iwq file) close(17) !.iwq file will be opened again if RSE is used ENDIF ENDIF ELSE write (15,*) write (15,*) ENDIF C Output all the parameters WRITE (11,*) 'Storm parameters' WRITE (11,*) ' WRITE (11,140)PLABEL IF (INARGS.EQ.1) THEN WRITE (*,130)PLABEL ENDIF WRITE (11,180) WRITE (11,150) WRITE (11,160) WRITE (11,180) DO 35 I=1,NRAIN 1 WRITE (11,170)I,RAIN(I,1),RAIN(I+1,1),RAIN(I,2) 35 CONTINUE WRITE (11,180) WRITE (11,350) 'Total rainfall (mm)=' ,TOTRAIN*1000.d0 WRITE (11,400) 'Peak rainfall intensity(m/s)=' ,RPEAK WRITE (11,400) 'Peak inflow rate BC (m3/s)=' ,BCROPEAK WRITE (11,*) (The inflow hydrograph can be found in the' & OUTPUTS)' WRITE (11,*) WRITE (11,*) 'Filter parameters' WRITE (11,*) ' WRITE (11,200) 'Length of the strip (m)=' ,VL WRITE (11,200) 'Width of the strip (m)=' ,FWIDTH WRITE (11,200) 'Surface characteristics=' WRITE (11,525) WRITE (11,575) WRITE (11,525) DO 40 IPROP=1,NPROP IF (IPROP.EQ.1) THEN
PAGE 172
172 EX1=0.d0 ELSE EX1=(NODEP(IPROP1) 1)*DX ENDIF EX2=(NODEP(IPROP) 1)*DX WRITE (11,550)EX1,EX2,RNA(IPROP),SOA(IPROP) 40 CONTINUE WRITE (11,525) WRITE (11,*) C Output nodal information if desired (ielout=1) IF (IELOUT.EQ.1) THEN WRITE (11,*) Elemental information follows (IELOUT=1):' WRITE (11,185) WRITE (11,186) WRITE (11,185) DO 45 NEL=1,NELEM K=(NPOL 1)*NEL NPOL+1 DO 45 I=1,NPOL K=K+1 WRITE (11,600)NEL,K,I,QK(K),(k 1)*dx 45 CONTINUE WRITE (11,185) WRITE (11,*) ENDIF WRITE (11,*) 'Soil parameters' WRITE (11,*) ' WRITE (11,400) 'Saturated hydraulic cond.(Ks)=' ,VKS WRITE (11,200) 'Avg. suction at wet front(Sav)=' ,Sav WRITE (11,200) 'Sat. soil water content(Os)=' ,Os WRITE (11,200) 'Initial soil water content(Oi)=' ,Oi WRITE (11,200) 'Initial s oil water deficit (M)=' ,DM WRITE (11,400) 'GreenAmpt parameters (A,B)=' ,AGA,BGA WRITE (11,*) 'Node number for flood checking= ,NCHK WRITE (11,*) WRITE (11,*) 'Simulation parameters' WRITE (11,*) ' WRITE (11,400) 'Length of simulation (s)=' ,DR WRITE (11,*) Order of the basis functions= ,NPOL 1 C WRITE(11,*)' Output option (0=q@t;1= h@x)= ',IOUT WRITE (11,700) 'Petrov Galerkin parameters=' ,(PGPAR(I),I= 1,4) WRITE (11,200) 'Time weighting parameter=' ,THETAW WRITE (11,200) 'Space step, dx(m) =' ,DX WRITE (11,200) 'Time step, dt (s) =' ,DT WRITE (11,*) 'Number of nodes in system =' ,N WRITE (11,*) 'Number of elements in system =' ,NELEM WRITE (11,*) 'Number of time steps =' ,NDT WRITE (11,*) 'Maximum number of iterations =' ,MAXITER WRITE (11,200) 'Maximum flow rate and depth=' ,QMAX,HMAX WRITE (11,200) 'Celerity of the wave=' ,C WRITE (11,200) 'Courant time step=' ,DTC WRITE (11,200) 'Froude number=' ,FR WRITE (11,200) 'Kinematic wave number=' ,FK WRITE (11,200) 'Courant number=' ,CR IF (ICO.EQ.0) THEN WRITE (11,201) 'Surface changes feedback=' NO' ELSE WRITE (11,201) 'Surface changes feedback=' YES' ENDIF WRITE (11,*) cOutput all input values for sediment transport WRITE (13,*) 'Filter parameters for sediment transport' WRITE (13,*) ' WRITE (13,800) Filter main slope (Sc)=' ,SC WRITE (13,800) Filter media spacing (Ss)=' ,S S, 'cm' WRITE (13,800) Modified Manning coefficient (n)=' ,VN, 's.cm^ .33' WRITE (13,800) Manning coeff. for bare soil (n2)=' ,VN2, 's.m^ .33' WRITE (13,800) Filter media height (H)=' ,H,'cm' WRITE (13,*) WRITE (13,1050)
PAGE 173
173 IF (ISCR.EQ.0) THEN WRITE (13,1060) ELSE WRITE (13,1061) ENDIF WRITE (13,1070) C Issue a warning if any of the criteria is not met IF (FK.LT.10.D0) THEN WRITE (*,*) 'WARNING: Kinematic number smaller than 10' ELSE IF (FR.GT.1.5D0) THEN WRITE (*,*) 'WARNING: Froude number greater than 2' ELSE IF (CR.GT.1.D0) THEN WRITE (*,*) 'WARNING: Courant number greater than 1' ENDIF WRITE (11,*) C Print header for output values IF (IOUT.EQ.0.D0) THEN WRITE (11,190) WRITE (11,192) WRITE (11,198) WRITE (11,500)0.d0,0.d0,BCROFF(1,2),0.d0,0.d0,0.d0,0 ELSE WRITE (11,194) WRITE (11,196) WRITE (11,198) ENDIF cOutput all input values for Water Quality (if IWQ=1) IF (IWQ.EQ.1) THEN IF (IWQPRO.EQ.1) THEN WRITE (18,*) WRITE (18,*) 'Parameters for Water Quality' WRITE (18,*) ' WRITE (18,201) Type of problem=' & Pesticide trapping (BAYER)' WRITE (18,800) 'Particion coefficient (Kd)=' ,VKD, 'L/Kg' WRITE (18,800) % Clay in sediment (%CL)=' ,CCP, '%' ELSE IF (IWQPRO.EQ.2) then WRITE (18,201) 'Type of problem= FEM fully coupled' WRITE (18,201) WRITE (18,201) Pollutant Parameters ' WRITE (18,800) 'Concentration in runoff from Source Area: & CONC1, g/m^3' WRITE (18,800) 'Longitudinal Dispersivity: DISL, m' WRITE (18,800) 'Molecular difussion: ,DISM,' m^2/s' WRITE (18,800) 'Decay coefficient:' ,CK1, s^ 1' WRITE (18,201) WRITE (18,*) 'NODE, TIME (s), Input Load(g/s), & Output Load (g/s)' end if IF (IWQPRO.EQ.3) then WRITE (18,201) 'Type of problem= RSE' WRITE (18,201) WRITE (18,201) Pollutant Parameters ' WRITE (18,800) 'Concentration in runoff from Source Area: & CONC1, g/m^3' WRITE (18,800) 'Longitudinal Dispersivity: DISL, m' WRITE (18,800) 'Molecular difussion: ,DISM,' m^2/s' WRITE(18,800)'Decay coefficient:',CK1,' s^ 1' WRITE (18,201) WRITE (18,*) 'NODE, TIME (s), Input Load (g/s), & Output Load (g/s)' end if ENDIF
PAGE 174
174 This was deleted to keep IWQ as 1 or 0 IWQ=IWQPRO ENDIF 130 FORMAT (1x, 'Storm on: ,a30,14x, '...RUNNING...' ) 140 FORMAT (20x, 'Storm data: ,A30) 150 FORMAT (20x, 'Period' ,4x, 'Time interval' ,4x, ' Rainfall ' ) 160 FORMAT (20x, '',6x, '',9x,'(s)' ,9x,'',3x, '(m/s)' ,3x,'') 170 FORMAT (20x, '',I5,' ',F8.1, to',F8.1, ' ,E10.4, ' ) 180 FORMAT (20x, '+',6( ), '+',21( ), '+',11( ), '+' ) 185 FORMAT (20x,3( '+',5( )), '+',9( ), '+',9( ), '+') 186 FORMAT (20x, ' Elem nodelocal alpha  x(m) ' ) 190 FORMAT (3x, 'TIME',5x, 'OUTFLOW' ,4x, 'CUM.FLOW' ,5x, 'ie =r f' & 5x, 'INFLOW' ,4x, 'CUM.INFLOW' ,2x, 'ITER') 192 FORMAT (3x, '(s)' ,6x, '(m3/s)' ,7x,'(m3)' ,8x, '(m/s)' ,6x, '(m3/s)' & 7x, '(m3)' ) 194 FORMAT ( 'ITER',6x, 'TIME',7x, 'INFLOW' ,6x, 'ie =r f' & 5x, 'DEPTH (X=L/2)' ) 196 FORMAT (12x, '(s)' ,10x, '(m)' ,9x,'(m/s)' ,9x, '(m)' ) 198 FORMAT (75(' )) 200 FORMAT (A31,2F12.6) 201 FORMAT (A35,A28) 205 FORMAT (A50) 220 FORMAT ( 'File: ,A40,8x,'VFSMOD v5.0.0 3/2010' ) 225 format (3x, 'File #=' ,i3,' code:' ,a3, '=',a) 350 FORMAT (A31,2F12.2) 400 FORMAT (A31,2E12.4) 500 FORMAT (E9.4,5E12.4,I6) 525 FORMAT (20x, '+',21( ), '+',9( ), '+',9( ), '+') 550 FORMAT (20x, '',F8.4, to',F8.4, ',2(F8.4, '),E10.4, ' ) 575 FORMAT (20x, '',4x, 'x(m) interval' ,4x, '',4x, 'n' ,4x,'', & 4x, 'So',3x,'') 600 FORMAT (20x, '',3(I5, ''),2(F9.4, '')) 700 FORMAT (A31,4F9.5) 800 FORMAT (A35,F12.6,A11) 1050 FORMAT ( Time Y(t) X1(t) X2(t) L(t)' & Se gsi gsI gs2 gso Cum.gsi & 'Wedge_mass Lower_mass Cum.gso f frac DEP' & CDEP Tt' ) 1060 FORMAT ( (s) (cm) (cm) (cm) (cm)' & (g/cm.s) (g/cm.s) (g/cm.s) (g/cm.s) (g/cm)' & (g/cm) (g/cm) (g/cm) (cm)' ) 1061 FORMAT ( (s) (cm) (cm) (cm) (cm)' & (g/s) (g/s) (g/s) (g/s) (g) & (g) (g) (g) (cm)' ) 1070 FORMAT ( ' & ' & ' & ' ) RETURN 1500 WRITE (*,1600) 'ERROR: Input file missing (check project)' 1600 FORMAT (/,A50,/) STOP END SUBROUTINE INPUTStrt(N,NBAND,IWQPRO) !C C C READ DATA FROM FILE IN.DAT IN FREE FORMAT AND CALCULATE N,NBAND C C C PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) CHARACTER (len=120) :: XMLinput1,XMLinput CHARACTER (len=120) :: XMLoutput CHARACTER (len=120) :: XMLreac_set CHARACTER (len=120) :: PollutantName
PAGE 175
175 COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /PARADR/CONC1,DISL,DISM,CK1 IF (IWQPRO.EQ.2) READ (17,*) CONC1,DISL,DISM,CK1 IF (IWQPRO.EQ.3) then read (17,*) XMLinput, XMLoutput, XMLreac_set read (17,*) nmob,PollutantName,CONC1,DISL,DISM,CK1 ELSE ENDIF NBAND=2*NPOL 1 NELEM=N/(NPOL 1) NORDER=2*(NPOL 1)+1 If (NL.GT.4) then NL2=NL NL=NL 1 end if IF (NORDER.G T.2*NL 1) THEN PRINT *, 'ERROR IN INTEGRATION RULE (FCT.ORDER<=2NL 1) STOP ENDIF IF (NL.GT.4) THEN PRINT *, 'NL OUT OF RANGE, NL<=4' STOP ENDIF if (NL2.GT.4) then NL=NL2 end if RETURN END SUBROUTINE MyReactionModTest(b,C,dt,XMLinputC2,XMLoutputC2,XMLreac_setC2,numvar,init) !C This subroutine calls and runs RSE, returning to the hydrodynamic controlling program C !C the values of the next concentration(s) vector C !C A forth order RK method is set by default C use IFPORT implicit none Integer (kind=4) :: i, numvar, nstep, b, bt Real (kind=8), Dimension (50) :: C,C1 Integer (kind=4) :: nvals Real (kind=8), Dimension (50) :: vars Integer (kind=4) :: order,init Either 2 or 4 Real (kind=8) :: dt CHARACTER (len=120) :: in_fname CHARACTER (len=120) :: out_fname CHARACTER (len=120) :: reac_set integer*1 Dimension (50) :: XMLinputC2, XMLoutputC2, XMLreac_setC2 !RK order. Pre set to 4 order = 4 Call runRSE(numvar,C,b,order,dt,XMLinputC2,XMLoutputC2,XMLreac_setC2,init) C1=C !returns values for next iteration end SUBROUTINE OUTMASS(VL,FWIDTH,SWIDTH,SLENGTH,TRAI,LISFIL,ISCR, & IWQ) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C This subroutine processes the output hydrograph and find components C C of the wat er balance and hydrograph. The results go in "filename.osm" C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IMPLICIT DOUBLE PRECISION (A H,OZ )
PAGE 176
176 COMMON /GA1/PS,PSOLD,PST,F,RO,TP,TPP,TI,FPI,STO,CU,CP,AGA,BGA,SM COMMON /GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO COMMON /GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3) COMMON /GRASSD3/SUSMASS,WEDGEMASS,NFUP COMMON /OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD COMMON /WQ1/VKD,CCP,IWQPRO CHARACTER*74 DUMMY CHARACTER*75 LISFIL(13) C Summarize results from filename.ohy file CLOSE (11) CLOSE (13) OPEN (11,FILE=LISFIL(6),STATUS= 'OLD' ) OPEN (13,FILE=LISFIL(8),STATUS= 'OLD' ) WRITE (10,*) 'INPUTS' WRITE (10,*) ' SUM0=0.D0 SUM1=0.D0 SUM2=0.D0 TIME0=0.D0 READ (11,*) READ (11,*) 5 READ (11, '(A)' )DUMMY IDX= INDEX (DUMMY, 'ITER') IF (IDX.NE.0) GOTO 6 WRITE (10,*)DUMMY GOTO 5 6 READ (11, '(A)' )DUMMY READ (11, '(A)' )DUMMY BIG1=0.D0 NZERO=1 INI=0 RAIN_E0=0.D0 OUTF0=0.D0 UPIN0=0.D0 DO 10 I=1,101 READ (11,*, END=30)TIME1,OUTF1,CUMFLOW,RAIN_E1,UPIN1,CUMIF,NITER TIMEINCR=TIME1 TIME0 AREA0=TIMEINCR*(UPIN1+UPIN0)/2.D0 SUM0=SUM0 + AREA0 AREA1=TIMEINCR*(OUTF1+OUTF0)/2.D0 SUM1=SUM1 + AREA1 AREA2=TIMEINCR*(RAIN_E1+RAIN_E0)/2.D0 SUM2=SUM2 + AREA2 UPIN0=UPIN1 OUTF0=OUTF1 RAIN_E0=RAIN_E1 TIME0=TIME1 C1= OUTF1 BIG1= DMAX1 (BIG1,C1) IF (C1.EQ.BIG1) THEN TBIG=TIME1 QBIG=C1 ENDIF IF (NZERO.EQ.1.AND.C1.GT.0.D0.AND.INI.EQ.0) THEN TINI=TIME1 NZERO=0 INI=1 ELSEIF (NZERO.EQ.0.AND.C1.EQ.0.D0) THEN NZERO=1 TEND=TIME1 ENDIF IF (C1.GT.0.D0)TEND=TIME1 10 CONTINUE READ (13,*) READ (13,*) 12 READ (13, '(A)' )DUMMY IDX= INDEX (DUMMY, 'gsI' ) IF (IDX.NE.0) GOTO 16 WRITE (10,*)DUMMY
PAGE 177
177 GOTO 12 16 CONTINUE WRITE (10,*) 'OUTPUTS' WRITE (10,*) ' 30 WRITE (10,*) 'Water balance' WRITE (10,*) ' C Calculate total rainfall for event in m3 TOTRAIN=TRAI*VL*FWIDTH WRITE (10,600)TOTRAIN Vout=SUM1 Vie=SUM2*VL*FWIDTH Vin=SUM0 WRITE (10,300)Vin WRITE (10,150)Vout C Water and sediment balance for the event WAT_IN=Vin+TOTRAIN VF=WAT_IN Vout if (AGA.LE.0.D0) V F=0.d0 WAT_OUT= Vout+VF WAT_BAL=WAT_IN WAT_OUT WAT_ERR=WAT_BAL/WAT_IN*100 WRITE (10,400)VF WRITE (10,*) WRITE (10,*) 'Hydrology' WRITE (10,*) ' WRITE (10,700)TINI WRITE (10,800)TBIG,QBIG WRITE (10,900)TEND WRITE (10,*) WRITE (10,*) 'Sediment' WRITE (10,*) ' TTE=0.D0 IF (GSIMASS.GT.0.D0) TTE=(GSIMASS GSOMASS)/GSIMASS FWID=FWIDTH*100.D0 WRITE (10,1100)GSIMASS,GSIMASS*FWID WRITE (10,1200)GSOMASS,GSOMASS*FWID WRITE (10,1010)TTE*100 cSediment wedge final shape WRITE (10,*) ' WRITE (10,1250) VLT=VLCM XTOLD X1=YTOLD/SC WRITE (10,1300)YTOLD WRITE (10,1400)XTOLD WRITE (10,1500)VLT WRITE (10,1600)X1 WRITE (10,1700)DEP cMass balance GAMMASB=(1.D0 POR)*PART(3) IF (NFUP.EQ.0.AND.YTOLD.LT.H) THEN cTriangular wedge BMASS=(DEP*VLT+(XTOLD+X1)*YTOLD*0.5D0)*GAMMASB ELSEIF (NFUP.EQ.0.AND.YTOLD.EQ.H) THEN cTrapezoidal wedge X3=YTOLD/Se X2=XTOLD X3 TRBOT=X1+X2+X3 TRTOP=X2 BMASS=.5D0*(TRTOP+TRBOT)*YTOLD*gammasb cif strip is filled calculate as rectangle (H*VLCM) ELSE BMASS=(H*VLCM+(H/SC)*H*0.5D0)*GAMMASB ENDIF
PAGE 178
178 WRITE (10,1800)(BMASS (GSIMASSGSOMASS))/(GSIMASSGSOMASS)*100.D0 WRITE (10,1825)WAT_ERR IF (NFUP.EQ.1) THEN WRITE (10,1850) ELSEIF (YTOLD.EQ.H) THEN WRITE (10,1875) ENDIF c(02/1999) Filter performance summary output file WRITE (15,*) WRITE (15,*) Summary of Buffer Performance Indicators:' WRITE (15,*) WRITE (15,1900)SWIDTH*SLENGTH WRITE (15,2000)SLENGTH WRITE (15,2100)SWIDTH WRITE (15,2200)VL WRITE (15,2225)FWIDTH WRITE (15,2250)VN1 WRITE (15,*) WRITE (15,2300)VL/SLENGTH*100.d0 WRITE (15,2400)TOTRAIN/(FWIDTH*VL)*1000.d0 WRITE (15,2450)TOTRAIN WRITE (15,2500)Vin/(SWIDTH*SLENGTH)*1000.d0 WRITE (15,2550)Vin WRITE (15,2600)Vout/(SWIDTH*SLENGTH+FWIDTH*VL)*1000.d0 WRITE (15,2650)Vout WRITE (15,2675)VF crmc 04/20/03 Fix for Vin (Q)=0 if (Vin.le.0) then WRITE (15,2685)0.d0 else WRITE (15,2685)Vout/Vin endif crmc 04/20/03 end of fix WRITE (15,*) SMIN=GSIMASS*FWID/1000.d0 WRITE (15,2700)SMIN crmc 04/20/03 Fix for Vin (Q)=0 if (Vin.le.0) then WRITE (15,2800)0.d0 else WRITE (15,2800)GSIMASS*FWID/(Vin*1000.d0) endif crmc 04/20/03 end of fix SMOUT=GSOMASS*FWID/1000.d0 WRITE (15,2900)SMOUT crmc 04/20/03 Fix for Vout=0 if (Vout.le.0) then WRITE (15,3000)0.d0 else WRITE (15,3000)GSOMASS*FWID/(Vout*1000.d0) endif crmc 04/20/03 end of fix WRITE (15,3050)(GSIMASS GSOMASS)*FWID/1000.d0 crmc 04/20/03 Fix for Vln=0 if (Vout.le.0) then WRITE (15,3075)0.d0 else WRITE (15,3075)SMOUT/SMIN endif crmc 04/20/03 end of fix WRITE (15,*) WRITE (15,3100)VLT/100.d0 WRITE (15,3200)XTOLD/100.d0 IF (NFUP.EQ.1) THEN WRITE (15,1850) ELSEIF (YTOLD.EQ.H) THEN
PAGE 179
179 WRITE (15,1875) ENDIF c(08/2008) Water quality summary output file ! IWQPRO used instead of IWQ !IWQPRO 1=Sabbag 2=FEMADR 3=tarse IF(IWQ.GT.0) THEN IF (IWQPRO.EQ.1) THEN IF (SMIN.EQ.0.D0) THEN FPH=Vin*1000.D0/(VKD*0.001D0) ELSE FPH=Vin*1000.D0/(VKD*SMIN) ENDIF PDQ=VF/WAT_IN*100.D0 PDSED=TTE*100.D0 DELTAP=24.79D0+.54D0*PDQ+.52*PDSED 2.42D0* DLOG (FPH+1.D0) .89D0*CCP IF (DELTAP.GT.100.D0.OR.PDQ.GE.100.) DELTAP=100.D0 IF (PDQ.EQ.0.AND.PDSED.EQ.0.) DELTAP=0.D0 IF (DELTAP.LT.0.) DELTAP=0.D0 WRITE (18,*) WRITE (18,*) 'Outputs for pesticide trapping (Sabbagh et al. 2009)' WRITE (18,*) ' WRITE (18,4000)VIN WRITE (18,4100)SMIN WRITE (18,4200)FPH WRITE (18,4300)PDQ WRITE (18,4400)PDSED WRITE (18,4450)100.D0*(1 Vout/Vin) WRITE (18,*) WRITE (18,4500)DELTAP END if cOutput message at end of program IF (ISCR.EQ.0) THEN WRITE (*,*) WRITE (*,*) '...FINISHED...' 'VFSMOD v5.0.0 03/2010' WRITE (*,*) ENDIF 150 FORMAT ( 'Volume from outflow = E14.4, m3' ) 200 FORMAT ( 'Volume from i_e = E14.4, m3' ,F14.2, '%' ) 300 FORMAT ( 'Volume from up field= E14.4, m3' ) 400 FORMAT ( 'Volume infiltrated = E14.4, m3' ) 500 FORMAT (F8.2,3E12.4,I6) 600 FORMAT ( 'Volume from rainfall= E14.4, m3' ) 700 FORMAT ( 'Time to beginning = E14.4, s') 800 FORMAT ( 'Time and q at peak = E14.4, s ,E14.4,' m3/s' ) 900 FORMAT ( 'Time to end runoff = E14.4, s') 1010 FORMAT ( 'Trapping efficiency = F5.1, %' ) 1100 FORMAT ( 'Sediment inflow = E14.4, g/cm' ,E14.4, g') 1200 FORMAT ( 'Sediment outflow = E14.4, g/cm' ,E14.4, g' ) 1250 FORMAT ( 'Sediment deposition :' ) 1300 FORMAT (8x, Sediment wedge depth, Y(t) =' ,F7.2,'cm' ) 1400 FORMAT (8x, Sediment wedge length, X2(t) =' ,F7.2,'cm' ) 1500 FORMAT (8x, Effective filter length,L(t) =' ,F7.2, 'cm' ) 1600 FORMAT (8x, Sediment tail at field, X1(t) =' ,F7.2, 'cm' ) 1700 FORMAT (8x, Sediment depth in low section =' ,F7.2, 'cm') 1800 FORMAT (8x, Rough sediment balance error =' ,F7.2, '%') 1825 FORMAT (8x, Rough water balance error =' ,F7.2, '%' ) 1850 format (/,66( '*' ),/,'* WARNING: Strip filled up!' ,37x, '*', & /,66( '*' )) 1875 format (/,67( '*' ),/,'* WARNING: Top of vegetation reached' & trapezoidal wedge started *' ,/,67( '*')) 1900 FORMAT (1x,F8.2, m^2 = Source Area (input)' ) 2000 FORMAT (1x,F8.2, m = Source Flow Length (input)' ) 2100 FORMAT (1x,F8.2, m = Source Area Width (input)' ) 2200 FORMAT (1x,F8.2, m = Filter Strip Length (input)' )
PAGE 180
180 2225 FO RMAT (1x,F8.2, m = Filter Strip Width (input)' ) 2250 FORMAT (1x,F8.3, = Mean Filter Mannings Roughness (input)' ) 2300 FORMAT (1x,F8.2, % = ', 1 'Ratio of Filter Length to Source Flow Length' ) 2400 FORMAT (1x,F8.3, mm = Total Rainfall' ) 2450 FORMAT (1x,F8.3, m3 = Total Rainfall on Filter' ) 2500 FORMAT (1x,F8.3, mm = Total Runoff from Source (mm depth over' & Source Area)' ) 2550 FORMAT (1x,F8.3, m3 = Total Runoff from Source' ) 2600 FORMAT (1x,F8.3, mm = Total Runo ff out from Filter (mm depth' & over Source+Filter)' ) 2650 FORMAT (1x,F8.3, m3 = Total Runoff out from Filter' ) 2675 FORMAT (1x,F8.3, m3 = Total Infiltration in Filter' ) 2685 FORMAT (1x,F8.3, = Runoff Delivery Ratio' ) 2700 FORMAT (F10.3, kg = Mass Sediment Input to Filter' ) 2800 FORMAT (F10.3, g/L= Concentration Sediment in Runoff from' & source Area' ) 2900 FORMAT (F10.3, kg = Mass Sediment Output from Filter' ) 3000 FORMAT (F10.3, g/L= Concentration Sediment in Runoff exiting' & the Filter' ) 3050 FORMAT (F10.3, kg = Mass Sediment retained in Filter' ) 3075 FORMAT (2x,F8.3, = Sediment Delivery Ratio' ) 3100 FORMAT (1x,F8.2, m = Effective Filter Length' ) 3200 FORMAT (1x,F8.2, m = Wedge Distance' ) 4000 FORMAT (F10.3, m3 = Runoff inflow' ) 4100 FORMAT (F10.3, Kg = Sediment inflow' ) 4200 FORMAT (F10.3, = Phase distribution, Fph' ) 4300 FORMAT (F10.3, % = Infiltration (dQ)' ) 4400 FORMAT (F10.3, % = Sediment reduction (dE)' ) 4450 FORMAT (F10.3, % = Runoff inflow reduct ion' ) 4500 FORMAT (F10.3, % = Pesticide reduction' ) RETURN END SUBROUTINE QUADtrt !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC !C THE SUBROUTINE QUAD DEFINES THE VALUES OF THE PARAMETERS !C REQUIRED FOR THE NUMERICAL INTEGRATION OF ELEMENT MATRICES !C AND VECTORS. THESE DATA ARE PROBLEM INDEPENT AND ARE GIVEN !C OVER THE INTERVAL [ 1,1]. !C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IMPLICIT DOUBLE PRECISION (A H,O Z) Dimension XItrt(i,i),Wtrt(i,i) COMMON /CINTtrt/XItrt(4,4),Wtrt(4,4) !C Gaussian Quadrature of order 1 XItrt(1,1) = 0.D0 Wtrt(1,1) = 2.D0 !C Gaussian Quadrature of order 2 XItrt(1,2) = 1.D0/ DSQRT (3.D0) XItrt(2,2) = XItrt(1,2) Wtrt(1,2) = 1.D0 Wtrt(2,2) = Wtrt(1,2) !C Gaussian Quadrature of order 3 XItrt(1,3) = DSQRT (3.D0/5.D0) XItrt(2,3) = 0.D0 XItrt(3,3) = XItrt(1,3) Wtrt(1,3) = 5.D0/9.D0 Wtrt(2,3) = 8.D0/9.D0 Wtrt(3,3) = Wtrt(1,3) !C Gaussian Quadrature of order 4 XItrt(1,4) = 0.8611363116D0 XItrt(2,4) = 0.3399810436D0 XItrt(3,4) = XItrt(2,4) XItrt(4,4) = XI trt(1,4)
PAGE 181
181 Wtrt(1,4) = 0.3478548451D0 Wtrt(2,4) = 0.6521451549D0 Wtrt(3,4) = Wtrt(2,4) Wtrt(4,4) = Wtrt(1,4) RETURN END SUBROUTINE REACTION(Xtrt,N,LCOUNT,iTRTcount,LISFIL,FPI) !From femadrTRT CALL REACTION(Xtrt,N,LCOUNT,iTRTcount,LISFIL) LCOUNT is the current time step number of the simulation PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H, O Z) COMMON /RSE/bt,C1,flag,XMLinput,XMLoutput,XMLreac_set,ntot,nvarX, & dtRSE,numChem,nmob,nstab COMMON /RSE2/STAB2,STAB3,STAB4,STAB5,STAB6,ISPLIT COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /SEDS/TSED,FSED,CSED,SEDVFS CHARACTER*75 LISFIL(13) DIMENSION Xtrt(MAXEQN) DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN) DIMENSION STAB5(MAXEQN), STAB6(MAXEQN) DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN) integer (kind=4) :: WQflagX,numChem,iTRTcount !C cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc !C RSE is called here as a post procesing step of transport C !C cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc numChem=1 number of chemical mobile compunds M = N 1 if (numChem.eq.1) then Do 40 J=2,M,1 call callRSE(DT,NDT,LCOUNT,Xtrt(J),iTRTc ount,j,LISFIL,FPI) Xtrt(j)=Xtrt(j) STAB2(j)=STAB2(j) N=M+1 40 continue else add code here for handle 2 o more mobile pollutants calling RSE many times end if RETURN end Subroutine ReadIWQ2(LISFIL) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc C This subroutine read a .IWQ file to extract the data needed to run RSE. C C The data read are: C C A flag (to be used in vfsmod when RSE is used for simulation of pollutants C C 2 XML files (input [eq's included here, and output [to check indexed]) C C the reaction set used (delclared in the XML input file C C number, name and data for the mobile variables (used in the reactions) C C number, name and data for the stabile variables (used in the reactions) C C number, name and data for the parameters (used in the reactions) C C Fla g for reading 4 intrinsic parameters (depth, x_vel, time_step, area) C C that can be used in the equations (XML input files) C C Once data are read, values are passed to the hydrodynamic driving program C cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /RSE/bt,C1,flag,XMLinput,XMLoutput,XMLreac_set,ntot,nvarX, & dtRSE,numChem,nmob,nstab
PAGE 182
182 COMMON /RSE2/STAB2,STAB3,STAB4,STAB5,STAB6,ISPLIT COMMON /RSE3/Atrt,Atrt2,Atr3,BMtrt,BMtrt2,BMtrt3,Btrt,Btrt2,Btrt3 CHARACTER *75 LISFIL(13) DIMENSION A(MAXEQN,MAXBND),BM(MAXEQN,MAXBND) ,B(MAXEQN) DIMENSION X(MAXEQN) ,X0(MAXEQN),C2(50),C1(50), & DISLtrt(5),DISMtrt(3) DIMENSION STAB2(MAXEQN),STAB3(MAXEQN),STAB4(MAXEQN) DIMENSION STAB5(MAXEQN), STAB6(MAXEQN) DIMENSION Atrt(MAXEQN,MAXBND),BMtrt(MAXEQN,MAXBND) ,Btrt(MAXEQN) DIMENSION Atrt2(MAXEQN,MAXBND),BMtrt2(MAXEQN,MAXBND),Btrt2(MAXEQN) DIMENSION Atrt3(MAXEQN,MAXBND),BMtrt3(MAXEQN,MAXBND),Btrt3(MAXEQN) Character (len=120), Dimension (50) :: varname CHARACTER (len=120) :: XMLinput1,XMLinput CHARACTER (len=120) :: XMLoutput CHARACTER (len=120) :: XMLreac_set integer (kind=4) :: WQflag,nmob,nstab,npar,tot,m,nvarX Character (len=120) :: filename CHARACTER *1 mm OPEN (17,FILE=LISFIL(12)) !Opens and read input file .iwq for RSE open (unit=33, file=filename) read (17,*) WQflag !WQflag Read XML input file, XML outout file to check indexes, react set to be used in XML in put file read (17,*) XMLinput, XMLoutput, XMLreac_set Read mobile variables read (17,*) nmob,(varname(i),C2(i),DISLtrt(i),DISMtrt(i),i=1,nmob) If (nmob.eq.1) then CONC1=C2(1) DISL=DISLtrt(1) DISM=DISMtrt(1) ELSE !NEED TO ADD AN OPTION FOR MORE MOBILE TRANSPORT PARAMETERS for more than one mobile component endif Read stabile variables read (17,*) nstab, (varname(j),C2(j),j=(nmob+1),(nmob+nstab)) nvarX=nmob+ nstab j=nmob+nstab n=nmob+nstab IF (nstab.eq.1) then DO 10 I=1,MAXEQN STAB2(I)=C2(2) 10 CONTINUE end IF IF (nstab.eq.2) then DO 20 I=1,MAXEQN STAB2(I)=C2(2) STAB3(I)=C2(3) 20 CONTINUE END IF IF (nstab.eq.3) then DO 30 I=1,MAXEQN STAB2(I)=C2(2) STAB3(I)=C2(3) STAB4(I)=C2(4) 30 CONTINUE END IF IF (nstab.eq.4) then DO 40 I=1,MAXEQN STAB2(I)=C2(2) STAB3(I)=C2(3) STAB4(I)=C2(4) STAB5(I)=C2(5) 40 CONTINUE END IF IF (nstab.eq.5) then
PAGE 183
183 DO 50 I=1,MAXEQN STAB2(I)=C2(2) STAB3(I)=C2(3) STAB4(I)=C2(4) STAB5(I)=C2(5) STAB6(I)=C2(6) 50 CONTINUE END IF Read parameter to be used (usually declared to be used in the set of equatiuons) k=j+27+6+1 j=k !(19 intrinsic + 8 dispersiondifussion parameters = 27; +6 for: TSED,FSED,CSED,SEDVFS,INFRATE,HRO) read (17,*) npar, (varname(k),C2(k),k=j,(j+npar1)) Read intrincsic values of depth, x_vel_ol, time_step, area if m="1" READ (17,*)mm m= INDEX (mm, '1' ) IF (m.EQ.1) then read (17,*) varname(n+2),C2(n+2),varname(n+16),C2(n+16), & varname(n+20),C2(n+20),varname(n+1),C2(n+1) dtRSE=C2(n+20) end if tot=j+npar 1 C1=C2 !Return vector to the hydrodynamic driving program !ntoto Returns the total number of indexes (Estimated. To confirm order, check XML output) ntot=tot close (17) end Subroutine runRSE(M,WW,VV,rk_order1,time_step1,input_filename1C,output_filename1C,reaction_set1C,init1) use IFPORT implicit none print *, 'Test 1: ', M Real (kind=8), Dimension (50) :: WW integer (kind=4) :: M,VV Integer (kind=4) :: a, b, init1 Integer (kind=4) :: nvals,varnum Integer (kind=4) :: rk_order,rk_order1 Either 2 or 4 Real (kind=8) :: time_step, time_step1, temp_dt Real (kind=8), Dimension (M) :: vars CHARACTER (len=120) :: input_filename,input_filename1 CHARACTER (len=120) :: output_filename, output_filename1 CHARACTER ( len=120) :: reaction_set, reaction_set1 integer*1 Dimension (50):: input_filename1C, output_filename1C, reaction_set1C integer*1 Dimension (50):: input_filename1A, output_filename1A, reaction_set1A Interface to Subroutine Initi alize ( input_xml, output_xml, rsname ) !DEC$ Attributes C, DLLIMPORT, alias: "_Initialize" :: Initialize integer*1 Dimension (50):: input_xml, output_xml, rsname !new input files as arrays of chars instead of strings !DEC$ Attributes REFERENCE :: input_xml !DEC$ Attributes REFERENCE :: output_xml !DEC$ Attributes REFERENCE :: rsname END Interface to Subroutine PreSolve ( num_var, vars ) !DEC$ Attributes C, DLLIMPORT, alias: "_PreSolve" :: PreSolve Integer (kind=4) :: num_var Real (kind=8), Dimension (num_var) :: vars End Interface to Subroutine PostSolve ( num_var, vars ) !DEC$ Attributes C, DLLIMPORT, alias: "_PostSolve" :: PostSolve Integer (kind=4) :: num_var Real (kind=8), Dimension (num_var) :: vars End Interface to Subroutine RKSolve ( time_step, order, num_var, vars )
PAGE 184
184 !DEC$ Attributes C, DLLIMPORT, alias: "_RKSolve" :: RKSolve Integer (kind=4) :: num_var Integer (kind=4) :: order Real (kind=8) :: time_step Real (kind=8), Dimension (num_var) :: vars End Interface to Subroutine SetGlobalValues ( num_var, vars ) !DEC$ Attributes C, DLLIMPORT, alias: "_SetGlobalValues" :: SetGlobalValues Integer (kind=4) :: num_var Real (kind=8), Dimension (num_var) :: vars End nvals = M rk_order = rk_order1 time_step = time_step1 Name of the input xml file (here, wq_input_file.xml) input_filename1A = input_filename1C Name of the component output file, only used to double check the inputs output_filename1A = output_filename1C Name of the reaction set to use set to the same as in the input xml file reaction_set1A = reaction_set1C MUST initialize the passed in values to 0.0!!! New values oc conc's are stored here @ vars Do a = 1, nvals vars(a) = 0.0 Enddo Pass the values form previos itetration (W) to vars Do a = 1, nvals vars(a) = WW(a) Enddo do a=1, VV temp_dt=temp_dt+time_step1 enddo Initialize in time step = 1, skip for the rest of the simulation. if (init1.eq.1) CALL Initialize( input_filename1A, output_filename1A, reaction_set1A ) CALL PreSolve(nvals, vars) CALL RKSolve(time_step, rk_order, nvals, vars) CALL PostSolve(nvals, vars) Do a = 1, nvals WW(a) = vars(a) !return ne w data to WW to be passed to the calling hydrodynamic program Enddo return end Subroutine SedLoadTRT(COARSE,YT,XT,GS2,GSO,FWID,NODEX,XPOINTS,N, & FI,FRAC) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc C This subroutine calculates the sediments in runoff and deposited on VFS C C in every node. Where: C C TSED: Con centration of total sediments in runoff, g/m3 C C CSED: Concentration of coarse sediments in runoff, g/m3 C C FSED: Concentration of fine sediments in runoff, g/m3 C C SEDVFS: Concentration of sediments deposited on VFS, g/m3 C cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) COMMON /PAR/QK(200),R,THETAW,DX,DT,NDT,NELEM,MAXITER,NPOL,IOUT,NL COMMON /GRASSD/PART(3),SC,SS,VN1,VN2,VN,GSI,H,VLCM,POR,CI,ICO COMMON /GRASSD2/GSIMASS,GSOMASS,TTE,DEP,QSED(4),RS(3),DF(3),VM(3) COMMON /GRASSD3/SUSMASS,WEDGEMASS,NFUP COMMON /OLD/SEOLD,GSIOLD,FOLD,TOLD,XTOLD,YTOLD,CDEP,SE,VBTOLD COMMON /FLOWPAR/X0,Q0 COMMON /SEDS/TSED,FSED,CSED,SEDVFS DIMENSION Q0(MAXEQN) ,X0(MAXEQN)
PAGE 185
185 DIMENSION TSED(MAXEQN),FSED(MAXEQN),CSED(MAXEQN),SEDVFS(MAXEQN) DIMENSION XPOINTS(3),NODEX(4) Calculation for Sed Conc in runoff on triagular wedgeZone IF (NODEX(4).eq.1) then Sed's runoff concentration in wedge slope (X2 zone) IF (NODEX(2).gt.1) then SLOPEW=(GS2 GSI)/(NODEX(2) 1) DO 10 i=1, nodex(2) TSED(i)=(SLOPEW*(i 1)+GSI)*FWID/Q0(i) CSED(i)=(1 FI)*TSED(i) FSED(i)=TSED(i) CSED(i) 10 CONTINUE ELSE This options means no wedge section developed TSED(1)=(GSI)*FWID/Q0(i) CSED(1)=COARSE*TSED(1) FSED(1)=(1 COARSE)*TSED(1) END IF Calculation for Sed Conc in runoff suspended load zone IF (GS2.GT.0) then SLOPELT=(GSO GS2)/(N NODEX(2)) IF (SLOPELT.gt.0) then when slopelt>0 GS2 & GSO are different, the calculate sediment concentration in runoff by linear decrement DO 30 i=NODEX(2), N if (i.eq.1) then TSED(1)=GS2*FWID/Q0(i) CSED(i)=(1 FI)*TSED(i) FSED(i)=TSED(i) CSED(i) else TSED(i)=(SLOPELT*(i NODEX(2))+GS2)*FWID/Q0(i) CSED(i)=(1 FI)*TSED(i) FSED(i)=TSED(i) CSED(i) end if 30 CONTINUE end if IF (SLOPELT.eq.0) then when slopelt=0 GS2=GSO, then concentration is constant DO 35 i=NODEX(2), N TSED(1)=GS2*FWID/Q0(i) CSED(i)=(1 FI )*TSED(i) FSED(i)=TSED(i) CSED(i) 35 CONTINUE end if end if END IF Trapezoidal wedge developed No change in conc. for Zone(A) of wedge IF ((NODEX(4).gt.1).and.(NODEX(4).lt.N)) then DO 40 i=1,NODEX(4) TSED(i)=GSI*FWID/Q0(i) FSED(i)=(1 COARSE)*TSED(i) CSED(i)=COARSE*TSED(i) 40 CONTINUE Sed's runoff Conc in zone (B) of wedge SLOPEW=(GS2 GSI)/(NODEX(2) NODEX(4)) DO 50 i=NODEX(4), nodex(2) TSED(i)=(SLOPEW*(i NODEX(4))+GSI)*FWID/Q0(i) CSED(i)=(1 FI)*TSED(i) FSED(i)=TSED(i) CSED(i) 50 CONTINUE Sed's runoff conc entration in Suspended Load Zone DO 60 i=NODEX(2), N TSED(i)=(SLOPELT*(i NODEX(2))+GS2)*FWID/Q0(i) CSED(i)=(1 FI)*TSED(i) FSED(i)=TSED(i) CSED(i)
PAGE 186
186 60 CONTINUE end if END IF When the filter is full, GSO=GSI IF (NODEX(4).eq.N) then DO 70 i=1, N TSED(i)=GSI*FWID/Q0(i) FSED(i)=(1 COARSE)*TSED(i) CSED(i)=COARSE*TSED(i) 70 CONTINUE END IF Desposited sediment concentration on VFS ! sediment concentration in Suspended Sediment Zone VOLSEDLT=FWID*VLT*DEP VOLSEDLT2=VOLSEDLT*POR ZMASSLT=VOLSEDLT2*PART(3) DO 80 i=NODEX(2), N SEDVFS(i)=ZMASSLT/VOLSEDLT*1E6 1E6 transform g/cm3 to g/m3 80 CONTINUE IF no wedge zone, then all is taken as suspended sediment zone if (YT.eq.0) then VOLSEDLT=FWID*VLCM*DEP VOLSEDLT2=VOLSEDLT*POR ZMASSLT=VOLSEDLT2*PART(3) DO 90 i=1, N SEDVFS(i)=ZMASSLT/VOLSEDLT*1E6 1E6 transform g/cm3 to g/m3 90 CONTINUE end if Time step in cm DXcm=VX*100 Sed's runoff concentration in wedge slope (X2 zone) IF (YT.gt.0) then IF (NODEX(4).eq.1) then IF (NODEX(2).gt.1) then SLOPEW= YT/XPOINTS(2) DO 100 i=1, nodex(2) YTi=SLOPEW*(i*DXcm)+YT VOLSEDLT=FWID*DXcm*YTi VOLSEDLT2=VOLSEDLT*POR ZMASSLT=VOLSEDLT2*PART(3) SEDVFS(i)=ZMASSLT/VOLSEDLT*1E6 100 CONTINUE ELSE This options means no wedge section developed Nodex(1)(2) and (4) are the same (node 1) VOLSEDLT=FWID*DXc m*YT VOLSEDLT2=VOLSEDLT*POR ZMASSLT=VOLSEDLT2*PART(3) SEDVFS(1)=ZMASSLT/VOLSEDLT*1E6 END IF END IF END IF This option accounts for a trapezoidal wedge !Sediemnt concentration constant in wedge (Section A) IF ((NODEX(4).gt.1).and.(NODEX(4).lt.N)) then DO 110 i=1,NODEX(4) VOLSEDLT=FWID*DXcm*YT VOLSEDLT2=VOLSEDLT*POR
PAGE 187
187 ZMASSLT=VOLSEDLT2*PART(3) SEDVFS(i)=ZMASSLT/VOLSEDLT*1E6 110 CONTINUE Sed's runoff Conc in zone (B) of wedge SLOPEW= YT/(NODEX(2)*DXcm NODEX(4)*DXcm) IF (NODEX(2)NODEX(4).gt.0) then DO 120 i=NODEX(4), nodex(2) YTi=SLOPEW*(i*DXcm)+YT VOLSEDLT =FWID*DXcm*YTi VOLSEDLT2=VOLSEDLT*POR ZMASSLT=VOLSEDLT2*PART(3) SEDVFS(i)=ZMASSLT/VOLSEDLT*1E6 120 CONTINUE end if END IF When the filter is full, DEP=YT IF (NODEX(4).eq.N) then VOLSEDLT=FWID*VLT*YT VOLSEDLT2=VOLSEDLT*POR ZMASSLT=VOLSEDLT2*PART(3) DO 130 i=NODEX(2), N SEDVFS(i)=ZMASSLT/VOLSEDLT*1E6 1E6 transform g/cm3 to g/m3 130 CONTINUE END IF return end SUBROUTINE SHAPEtrt(XI,N,PSI,DPSI) !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC !C SUBROUTINE SHAPE CALCULATES THE VALUES OF THE SHAPE !C FUNCTION PSI AND THEIR DERIVATIVES DPSI WITH RESPECT TO !C THE MASTER ELEMENT COORDINATES AT A SPECIFIED VALUE OF XI. !C !C ANY TYPICAL ELEMENT = [X1,Xk+1] CONSISTING OF k+1 NODES !C X1, ..., Xk+1 IS ALWAYS NORMALIZED INTO THE MASTER !C ELEMENT = [ 1,1] BY THE TRANSFORMATION OVER A TYPICAL !C ELEMENT [X1,Xk+1] THERE EXIST k+1 ELEMENT SHAPE FUNCTIONS !C PSI, EACH IS A POLYNOMIAL OF DEGREE k. !C !C XI: THE MASTER COORDINATE OF THE POINT AT WHICH !C VALUES OF PSI AND D PSI ARE DESIRED !C N : NUMBER OF NODES IN THE EL EMENT !C (AND HENCE NUMBER OF SHAPE FUNCTIONS) !C PSI(I) : THE ITH SHAPE FUNCTION AT XI !C DPSI(I) : THE DERIVATIVE OF THE I TH SHAPE FUNCTION AT XI !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IMPLICIT DOUBLE PRECISION (A H,O Z) DIMENSION PSI(4),DPSI(4) IF (N.LT.2.OR.N.GT.4) GO TO 99 GO TO (99,10,20,30) N !C Linear Basis functions 10 PSI(1) = .5D0*(1.D0 XI) PSI(2) = .5D0*(1.D0+XI) DPSI(1)= .5D0 DPSI(2)= .5D0 RETURN !C Quadratic basis functions 20 PSI(1) = XI*(XI 1.D0)*0.5D0 PSI(2) = 1.D0XI**2.D0 PSI(3) = XI*(XI+1.D0)*0.5D0 DPSI(1)= XI 0.5D0 DPSI(2)= 2.D0*XI DPSI(3)= XI+0.5D0
PAGE 188
188 RETURN !C Cubic shape function 30 PSI(1) = 9.D0/16.D0*(1.D0/9.D0XI**2.D0)*(XI 1.D0) PSI(2) = 27.D0/16.D0*(1.D0 XI**2.D0)*(1.D0/3.D0 XI) PSI(3) = 27.D0/16.D0*(1.D0 XI**2. D0)*(1.D0/3.D0+XI) PSI(4) = 9.D0/16.D0*(1.D0/9.D0XI**2.D0)*(1.D0+XI) DPSI(1)= 9.D0/16.D0*(3.D0*XI**22.D0*XI 1.D0/9.D0) DPSI(2)= 27.D0/16.D0*(3.D0*XI**22.D0/3.D0*XI 1.D0) DPSI(3)= 27.D0/16.D0*( 3.D0*XI**2 2.D0/3.D0*XI+1.D0) DPSI(4)= 9.D0/16.D0*( 3.D0*XI**2 2.D0*XI+1.D0/9.D0) RETURN 99 WRITE (6,*) 'ERROR IN CALLING TO SHAPE (NPOL OUT OF RANGE)=' ,N STOP END SUBROUTINE SOLVE(A,B,X,N,NBAND) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C SOLVE THE TRANSFORMED MATRIX A USING A BACKWARD AND FORWARD SUBTITUTION C C SUCH: [A] {x} = {b} C C Since [A]= [L].[U] then [L][U]{x} = [L]([U]{x})= [L]{y}= {b} C C solving [L]{y}=b (forward subtitution) C C [U]{x}=y (backward substitution) C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H, OZ) DIMENSION A(MAXEQN,MAXBND), B(MAXEQN), X(MAXEQN) NDIAG = (NBAND/2)+1 NMAX = NBAND NDIAG M = N 1 DO 10 I = 1,M NA = NMAX IF (NA .GT. N I) NA = N I DO 10 J = 1,NA B(I+J) = B(I+J)+A(I+J,NDIAG J)*B(I) 10 CONTINUE X(N) = B(N)/A(N,NDIAG) DO 20 J = M,1, 1 NA = NMAX IF (NA .GT. N J) NA= N J DO 30 K = 1,NA B(J) = B(J)X(J+K)*A(J,NDIAG+K) 30 CONTINUE X(J) = B(J)/A(J,NDIAG) 20 CONTINUE RETURN END SUBROUTINE WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,FPI,rainWQ)
PAGE 189
189 !from vfsmod call WQSUB(TIME,NBAND,N,LISFIL,iTRTcount,Lcount,rainWQ) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C Water quality component skeleton C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PARAMETER (MAXEQN=1001,MAXBND=40) IMPLICIT DOUBLE PRECISION (A H,O Z) CHARACTER *75 LISFIL(13) COMMON /WQ1/VKD,CCP,IWQPRO call pestices, femadr or tarse based on IWQPRO (2 or 3) if (IWQPRO.GT.1) call FEMADR(iTRTcount,LCOUNT,TIME,LISFIL, & NBAND,N,FPI,rainWQ) RETURN END
PAGE 190
190 LIST OF REFERENCES AbuZreig, M., 2001. Factors affecting sediment trapping in vegetated filter strips: simulation study using VFSMOD. Hydrological Processes 15, 1477 1488. AbuZreig, M., R. P. Rudra, H. R. Whiteley, M. N. LalondeN. K. Kaushik, 2003. Phosphorus removal in v egetated filter strips. Journal of Environmental Quality 32, 613619. Ahuja, L. R., 1982. Release of a Soluble Chemical from Soil to Runoff. Transactions of the Asae 25, 948&. Barry, D. A., K. Bajracharya, M. Crapper, H. PrommerC. J. Cunningham, 2000. C omparison of split operator methods for solving coupled chemical nonequilibrium reaction/groundwater transport models. Mathematics and Computers in Simulation 53, 113127. Barry, D. A., K. BajracharyaC. T. Miller, 1996a. Alternative split operator approach for solving chemical reaction groundwater transport models. Advances in Water Resources 19, 261 275. Barry, D. A., C. T. Miller, P. J. CulliganK. Bajracharya, 1997. Analysis of split operator methods for nonlinear and multispecies groundwater chemical transport models. Mathematics and Computers in Simulation 43, 331341. Barry, D. A., C. T. MillerP. J. CulliganHensley, 1996b. Temporal discretisation errors in noniterative split operator approaches to solving chemical reaction groundwater transport mod els. Journal of Contaminant Hydrology 22, 117. Chu, S. T., 1978. Infiltration during an Unsteady Rain. Water Resources Research 14, 461466. EPA, 2010. Watershed Central Inventory. Models, from http://www.epa.gov/watershedcentral/inventory.html#Models Gao, B., M. T. Walter, T. S. Steenhuis, W. L. HogarthJ. Y. Parlange, 2004. Rainfall induced chemical transport from soil to runoff: theory and experiments. Journal of Hydrology 295, 291304. James, A. I., 2008a. ReactMod (RSE) implementation (unpublished), Soil andWater Engineering Technology, Inc. James, A. I., 2008b. Transport and Reaction Simulation Engine (TARSE): Model Structure and Implementation. Gainesville, Fl, Soil andWater Engineering Technology, Inc. : 54 p.
PAGE 191
191 James, A. I., 2008c. Water Quality for the South Florida Water Management District Regional Simulation Mode(RSMWQ). Model User Documentation, Soil and Water Engineering Technology, Inc. : 39 p. James, A. I., J. W. JawitzR. Muoz Carpena, 2009. Development and Implementation of a Transport Method for the Transport and Reaction Simulation Engine (TaRSE) based on the Godunov Mixed Finite Element Method, U.S. G eological Survey Scientific Investigations: Report 20095034 : 40 p. Jawitz, J. W., R. Muoz Carpena, S. J. Muller, K. A. GraceA. I. Jamesa, 2008. Development, Testing, and Sensitivity and Uncertainty Analyses of a Transport and Reaction Simulation Engine (TaRSE) for Spatially Distributed Modeling of Phosphorus in the Peat Marsh Wetlands of Southern Florida. Scientific Investigations Report 2008 5029, U.S. Geological Survey. Kadlec, R. H.S. Wallace, 2008. Treatment Wetlands, CRC Press. Kaluarachchi, J. J. J. Morshed, 1995. Critical Assessment of the Operator Splitting Technique in Solving the Advection Dispersion Reaction Equation .1. First Order Reaction. Advances in Water Resources 18, 89100. Kuo, Y. M., 2007. Vegetative Filter Strips to control surface runoff phosphorus from mining sand tailings in the upper Peace river basin of Central Florida. Agricultural and Biological Engineering. Gainesville, University of Florida. Ph. D. Dissertation : 241. Kuo, Y. M., W. G. Harris, R. Muoz Carpena, R. D. RhueY. C. Li, 2009. Apatite Control of Phosphorus Release to Runoff from Soils of Phosphate Mine Reclamation Areas. Water Air and Soil Pollution 202, 189198. Kuo, Y. M.R. Muoz Carpena, 2009. Simplified modeling of phosphorus removal by vegetative filter strips to control runoff pollution from phosphate mining areas. Journal of Hydrology 378, 343354. Liu, X. M., X. Y. MangM. H. Zhang, 2008. Major factors influencing the efficacy of vegetated buffers on sediment trapping: A review and analysis. Journal of Environmental Quality 37, 16671674. Miller, C. T., 1991. Coursework material for ENV 281 Modeling groundwater systems, University of North Carolina at Chapel Hill. Morshed, J.J. J. Kaluarachchi, 1995. Critical Assessment of the Operator Splitting Techn ique in Solving the Advection Dispersion Reaction Equation .2. Monod Kinetics and Coupled Transport. Advances in Water Resources 18, 101110.
PAGE 192
192 Muoz Caperna, R., 1993. Modeling hydrology and sediment transport on vegetative filter strips. Raleigh, North Calorina State University. Ph. D : 242. Muoz Carpena, R., C. T. MillerJ. E. Parsons, 1993a. A Quadratic Petrov Galerkin Solution for Kinematic Wave OverlandFlow. Water Resources Research 29, 26152627. Muoz Carpena, R.J. E. Parsons, 2004. A design proced ure for vegetative filter strips using VFSMOD W. Transactions of the Asae 47, 19331941. Muoz Carpena, R.J. E. Parsons, 2005. VFSMOD W. Model documentation and users manual. University of Florida. Muoz Carpena, R.J. E. Parsons, 2010. VFSMOD W. Model documentation and users manual. Version 5.x. University of Florida. Muoz Carpena, R., J. E. ParsonsJ. W. Gilliam, 1999. Modeling hydrology and sediment transport in vegetative filter strips. Journal of Hydrology 214, 111129. Muoz Carpena, R., J. E. ParsonsJ. W. Guilliam, 1993b. Numerical approach to the overland flow process in vegetative filter strips. Transactions of ASAE 36(3), 761 770. Neitsch, S. L., J. G. Arnold, J. R. Kiniry, J. R. WilliamsK. W. King, 2002. Soil and Water Assessment Tool The oretical Documentation. US ARS. Packman, A. I., N. H. BrooksJ. J. Morgan, 2000. A physicochemical model for colloid exchange between a stream and a sand streambed with bed forms. Water Resources Research 36, 23512361. Rudra, R. P., N. Gupta, S. SebtiB. Gharabaghi, 2002. Incorporation of a phosphorus component to the upland hydrology module of the VFSMOD model. ASAE Meeting Paper No. 022078. Sabbagh, G. J., G. A. Fox, A. Kamanzi, B. RoepkeJ. Z. Tang, 2009. Effectiveness of Vegetative Filter Strips in Reducing Pesticide Loading: Quantifying Pesticide Trapping Efficiency. Journal of Environmental Quality 38, 762771. Sabbagh, G. J., G. A. Fox, R. Munoz CarpenaM. F. Lenz, 2010. Revised Framework for Pesticide Aquatic Environmental Exposure Assessment that A ccounts for Vegetative Filter Strips. Environmental Science & Technology 44, 38393845. Schaffranek, R. W., 2004. Simulation of surface water integrated flow and transport in two dimensions: SWIFT2D user's manual, U.S. Geological Survey. U.S. Geological S urvey Techniques and Methods, 6 B 1 : 115 p.
PAGE 193
193 Simpson, M. J.K. A. Landman, 2007. Analysis of split operator methods applied to reactive transport with Monod kinetics. Advances in Water Resources 30, 20262033. Simpson, M. J.K. A. Landman, 2008. Theoretical analysis and physical interpretation of temporal truncation errors in operator split algorithms. Mathematics and Computers in Simulation 77, 9 21. Skaggs, R. W.R. Khaheel (1982). Chapter 4: Infiltration. Hydrology modeling of small watersheds C. T. Haan, H. P. JohnsonD. L. Brakensie. St. Joseph, Mi, American Society of Agricultural Engineers. Nomograph No. 5: 121168. Slawski, T., 2010. Managing the waters edge Making Natural Connection. S. W. R. P. Commission. Waukesha, WI : 23. Steenhuis, T. S., J. Boll, G. Shalit, J. S. SelkerI. A. Merwin, 1994. A Simple Equation for Predicting Preferential Flow Solute Concentrations. Journal of Environmental Quality 23, 1058 1064. van Genuchten, M. T. A., W. J, 1982. Anlytical solutions of the onedimensional conv ective dispersive solute transport equation. Technical Bulletin 1661. Wallach, R., 1991. Runoff Contamination by Soil Chemicals Time Scale Approach. Water Resources Research 27, 215 223. Wallach, R., W. A. JuryW. F. Spencer, 1989. The Concept of Convec tive Mass Transfer for Prediction of Surface Runoff Pollution by Soil Surface Applied Chemicals. Transactions of the Asae 32, 906912. Wallach, R.M. T. Vangenuchten, 1990. A Physically Based Model for Predicting Solute Transfer from Soil Solution to Rainf all Induced Runoff Water. Water Resources Research 26, 21192126. Walton, R. S., R. E. Volker, K. L. BristowK. R. J. Smettem, 2000. Solute transport by surface runoff from low angle slopes: theory and application. Hydrological Processes 14, 1139 1158. Yu, C., R. Muoz CarpenaB. Gao, 2010. Surface Transport of Colloidal Particles through Dense Vegetation. Experimental Results. Unpublished. Agricultural and Biological Engineering Department. University of Florida. Zhang, Q., C. G. OkorenK. R. Mankin, 2001. Modeling Fecal Pathogen Transport in Vegetative Filter Strips. ASAE Meeting Paper No. 012194. Zhang, X. C., D. NortonM. A. Nearing, 1997. Chemical transfer from soil solution to surface runoff. Water Resources Research 33, 809815.
PAGE 194
194 Zheng, C.G. D. Benn ett, 2002. Applied Contaminant Transport Modeling, Wiley Interscience.
PAGE 195
195 BIOGRAPHICAL SKETCH Born in Mexico in 1975, Oscar Prez Ovilla r eceived a bachelors degree in chemical e ngineering from the Instituto Tecnolgico de Tuxtla Gutirrez (Institute of Technology of Tuxtla Gutirrez), Mexico in 1999 and a m aster s d egree in e nvironmental hydraulics engineering from the Universidad Autnoma de Chiapas (Autonomous University of Chiapas), Mexico in 2003. He worked as an environmental consult ant in Mexico from 2001 to 2003 and in the Envir onmental Protection Direction of Chiapas, Mexico from 2003 to 2005. He enjoys having time with his family and playing so ccer. He received his Ph.D. in agricultural and biological e ngineering from the Univ ersi ty of Florida in August 2010