COASTAL MARINA WATER QUALITY ASSESSMENT
USING TIDAL PRISM ANALYSIS
USER'S MANUAL
Prepared for:
U.S. Environmental Protection Agency
Region IV
Atlanta, Georgia
Prepared by:
Tetra Tech, Inc.
Fairfax, Virginia
EPA Contract #68-C9-0013
Work Assignment No. 1-62
February 28,1992
-------
^oh/B -°I-l /t
COASTAL MARINA WATER QUALITY ASSESSMENT
USING TIDAL PRISM ANALYSIS
USER'S MANUAL
Prepared for:
U.S. Environmental Protection Agency
Region IV
Atlanta, Georgia
Prepared by:
Tetra Tech, Inc.
Fairfax, Virginia
EPA Contract #6&-C9-0013
Work Assignment No. 1-62
February 28,1992
tnO
too
fcivarfta
-------
TABLE OF CONTENTS
Pape
SUMMARY ix
1. INTRODUCTION 1
2. GENERAL DESCRIPTION 1
3. DETAILED DESCRIPTION 2
3.1 Flushing Characteristics 2
3.2 Accidental Spill 3
3.3 Continuous Addition 4
3.3.1 Conservative Pollutant 4
3.3.2 Nonconservative Pollutant 4
3.4 Dissolved Oxygen 5
4. OPERATION 6
4.1 Program Access 7
4.2 Option 1 8
4.3 Option 2 8
4.4 Option 3 9
4.5 Option 4 9
4.6 TP A Sample Sessions 9
REFERENCES 15
APPENDIX A: TP A Model Listing
APPENDIX B: User's Guide for Microcomputer Version of NCDEM DO Model
iii
-------
iv
-------
LIST OF FIGURES
Page
FIGURE 1 TPA Main Menu 7
FIGURE 2 TPA Final Menu 8
FIGURE 3 Flushing Time Sample Session 10
FIGURE 4 Fecal Coliform Sample Session 11
FIGURE 5 Dissolved Oxygen Sample Session 12
LIST OF TABLES
Page
TABLE 1 Summary of Input Data Required to Calculate Flushing Characteristic . 12
TABLE 2 Input Data Requirements for Accidental Pollutant Spill Calculations . . 13
TABLE 3 Input Data Requirements for Conservative Pollutant Calculations .... 13
TABLE 4 Input Data Requirements for Nonconservative Pollutant Calculations . . 14
TABLE 5 Input Data Requirements for Dissolved Oxygen Calculations 15
TABLE 6 Typical Ranges of Reaction Rates Used in TPA 15
v
-------
vi
-------
ACKNOWLEDGMENTS
Funding for this study was provided through U.S. Environmental Protection Agency
(EPA) Region IV under the direction of Mr. Jim Greenfield, EPA Contract No. 68-C9-0013,
Work Assignment No. 1-62. Data sources were provided by Mr. Jay Sauber (North Carolina
Department of Environmental Health and Natural Resources) and Mr. Tom Cavinder (U.S.
EPA, Region IV). This report was prepared by Dr. Mohamed Z. Moustafa ofTetra Tech,
Inc., Fairfax, Virginia.
vii
-------
viii
-------
SUMMARY
Tetra Tech's Marine Water Quality Models report(1992) addressed the impacts of coastal
marinas on water quality. Specifically, this report dealt with the selection and use of the best
available computer models for analyzing the impact of a marina on water quality. Initially, all
water quality models applicable to marinas were surveyed and divided into three categories:
simple, mid-range, and complex. The impact assessment methods presented in Chapter 4 of the
Coastal Marina Assessment Handbook (USEPA, 1985) was selected as the method of choice in
the simple model category.
This document is the user's manual for a computer program based on the Tidal Prism
Analysis (TPA) procedures for evaluation of coastal marina impact on water quality, presented
in Chapter 4 of the Coastal Marina Assessment Handbook (USEPA, 1985). The purpose of this
user's manual is to describe the features and the operation of the Tidal Prism Analysis computer
program. This program is designed to perform simple water quality calculations including
flushing time, pollutant concentration due to accidental spill, steady-state concentration of
conservative and nonconservative pollutants, and dissolved oxygen levels. This manual includes
descriptions of each method, equations used, sample input and output, and a program listing.
Guidance is also provided for obtaining or estimating the input data and the decay rates.
Appendix A contains a microcomputer version of the NCDEM DO model and a user's
guide (NCDEM, 1990). This version of the model assumes that the marina to be evaluated can
be approximated by two segments. This program calculates the steady-state dissolved oxygen
concentration inside the marina and the inlet channel. Appendix A describes input requirements
to run the NCDEM DO model. In addition, it contains a listing of the program, as well as
several input and output examples.
ix
-------
Marina Water Quality Models, TP A User's Manual
1. INTRODUCTION
The impact assessment methods presented in Chapter 4 of the Coastal Marina Assessment
Handbook (USEPA, 1985) are appropriate screening tools. The methods presented in this
user's manual, particularly some of the mathematical equations, are simplifications of more
sophisticated techniques. Although simplified, however, these techniques as presented can
provide reasonable approximations for the purpose of screening potential impact problems when
site-specific data are not available.
The methods listed here include desktop screening methodologies that calculate seasonal
or annual mean pollutant concentrations based on steady-state conditions and simplified flushing
time estimates. These procedures are designed to examine and isolate water quality problems
for more detailed analyses. The Tidal Prism Analysis is also used to highlight important data
gaps in the early stage of a marina water quality assessment study.
The advantages of the Tidal Prism Analysis calculations are their comparatively low cost
and ease of application. The disadvantages lie in their steady-state or tidally averaged temporal
scale. When hydrodynamics and pollutant inputs vary rapidly, steady-state models are difficult
to calibrate; consequently, these models are less satisfactory when waste load, river inflow, or
tidal range vary appreciably with a period close to the flushing time of the water body.
2. GENERAL DESCRIPTION
The Tidal Prism Analysis, as presented, can provide reasonable approximations for
screening potential impact problems when site-specific data are not available. This method is
capable of addressing all marina water quality issues of concern (e.g., dissolved oxygen and
fecal coliform). The primary strengths and advantages of the EPA screening procedures are as
follows:
1. Excellent user documentation and guidance.
2. Relatively simple procedures with minimal data requirements that can be satisfied
from existing and/or historic data when site-specific data are lacking.
Some of the equations of the Tidal Prism Analysis involve a large number of terms, and
entering those parameters into a computer program is much more efficient and less likely to
result in error than using a desktop calculator. This user's manual describes the PC version of
the Tidal Prism Analysis methods.
Section 3 of this manual discusses the theoretical background for the Tidal Prism
Analysis. In addition, Section 3 discusses the equations used to estimate the flushing
characteristics of a coastal marina, pollutant concentrations for different time scales (accidental
spill versus continuous discharge of pollutant), pollutant concentrations for different pollutant
types (conservative versus nonconservative pollutants), and dissolved oxygen levels.
l
-------
Marina Water Quality Models, TP A User's Manual
Section 4 presents several Tidal Prism Analysis example applications and provides the
range and typical values of reaction rates used in this method. For each example, a table listing
all the required input data is provided.
3. DETAILED DESCRIPTION
In general, data are required initially to define the marina system being modeled.
Historical and other data sources should always be surveyed to obtain the required data for Tidal
Prism Analysis application. The data required at the screening stage include system geometry,
bathymetry, and tidal range. These input data are used to evaluate the flushing characteristics
and to estimate typical dissolved oxygen level and fecal coliform concentration at a coastal
marina site. Initial Tidal Prism Analysis calculations should be carried out to obtain an overall
view of water quality conditions and to identify any potential water quality problems.
A sensitivity analysis is also recommended when the simple model is used for a coastal
marina application using historic or estimated conditions. In this case, the ranking (most to least
effect on model results) can be used to determine which model coefficients should be measured
and which model parameters can be estimated. For example, if the model is sensitive to
sediment oxygen demand (SOD) rates, then SOD should be measured rather than estimated. On
the other hand, if other parameters such as boat discharges and boat activities have little
influence, then very little effort should be expended to estimate the exact values of such
parameters.
3.1 Flushing Characteristics
Flushing and circulation are important physical characteristics of a marina site that should
be considered in marina design. Methods such as the Tidal Prism Analysis can be used to
provide preliminary estimates of expected flushing capability. This method is intended for use
as a screening tool during the planning stages of a project. It should be recognized that more
rigorous tools are available to estimate pollutant concentration fields.
The method chosen to estimate expected flushing from a marina site depends on the
hydrographic characteristics of the site. The following parameters are required to estimate
flushing characteristics for a semi-enclosed marina:
• Average marina depth at low tide and high tide;
• Volume of nontidal freshwater inflow into the marina;
• Surface area of the marina; and
• Percentage of discharged water returning to the basin on the following tidal cycle.
Flushing time for a marina within a semi-enclosed area can be estimated using simplified
dilution calculations. For semi-enclosed marinas the flushing time can be approximated by the
following equation:
2
-------
Marina Water Quality Models, TP A User's Manual
Tf -
\Tcx
LOG(D)]
LOG
f (A x L)+(b x A x R)-(I x Tc
(A x H)
(1)
If nontidal freshwater inflow from runoff or stream discharge into the marina basin can
be ignored and the marina has relatively vertical sides, equation 1 becomes:
\TC x LOG(D)]
LOG
((A x L) +(b x A x R)
(Ax H)
and for marinas with nonvertical sides, equation 2 becomes:
T =
lF
\TC x LOG{D)}
( VL+*> * VP
LOG I—
(2)
(3)
B
where:
Tf
= Flushing time (hours)
Tc
= Tidal cycle (hours)
A
= Surface area of marina (m2)
D
= Desired dilution factor
R
= Range of tide (m)
b
= Return flow factor (dimensionless)
I
= Nontidal freshwater inflow (m3/hour)
L
= Average depth at low tide (m)
H
= Average depth at high tide (m)
vL
= Volume of marina at low tide (m3)
VH
= Volume of marina at high tide (m3)
Vp
= Volume of marina tidal prism (VH - VJ
3.2 Accidental Spill
To assess the water quality impacts of marina-derived pollutants on the environment using
the methods discussed in this manual, certain pollutant loading values must be available for use.
If actual values for various loadings are not available, estimations can be made using methods
described in the Coastal Marina Assessment Handbook (USEPA, 1985).
3
-------
Marina Water Quality Models, TP A User's Manual
For a slug addition of pollutant in a semi-enclosed marina basin, estimates of pollutant
concentrations can be made by using an expression such as the following (USEPA, 1985):
C. =
A x L +b x A x R
Ax H
N
M
F x V
Ml ¦* vL
+ CAxe
(4)
where:
Ct = Concentration of pollutant at time t (mg/L)
CA = Ambient concentration of pollutant prior to addition of discharge (mg/L)
M = Mass of pollutant discharged into basin (mg)
k = Decay rate for nonconservative pollutants (day1)
t = Time (days)
N = Number of tidal cycles (24t/Tc)
Fu = 1000 (converts units to mg/L)
All other parameters are as defined previously in Equations 1 through 3.
3.3 Continuous Addition
3.3.1 Conservative Pollutant
For a continuous discharge of pollutant into a marina basin, an estimate of long-term
concentrations (steady-state conditions) may be obtained by:
M x T x F..
C = —: £ 2 + CA (5)
(1 - b) x V A
where:
C = Concentration of conservative pollutant (mg/L)
Mr = Total mass flow rate of pollutant into basin, including input by freshwater
inflow (mg/day)
F,2 = 4.7 x 10'5 (converts units to mg/L)
All other parameters are as defined previously in Equations 1 through 4.
3.3.2 Nonconservative Pollutant
Equation 5 estimates steady-state concentrations for conservative pollutants. For cases
where nonconservative pollutant concentrations versus time are of interest, Equation 6 may be
used:
4
-------
Marina Water Quality Models, TP A User's Manual
24000 * VH
-kxT,
24
(6)
Equation 6 approximates the continuous dilution of a pollutant discharged into the marina
basin, resulting in a lower cumulative concentration over the flushing time than would be
estimated using Equation 5. Therefore, if Equation 5 produces results that are acceptable, such
as an indication that the pollutant concentration will be low, the more complex Equation 6 may
be avoided.
Equations 1 through 6 represent desktop screening methodologies for estimating pollutant
concentrations. The methodologies are intended to be used to identify trouble spots prior to
more sophisticated analyses. The Water Quality Assessment: A Screening Procedure for Toxic
and Conventional Pollutants (Mills et al., 1985) provides additional and more detailed
descriptions of screening methodologies. When required, more sophisticated analyses of
pollutant fate and transport can be performed through the use of estuarine water quality models,
as described in Marina Water Quality Models (Tetra Tech, 1992).
3.4 Dissolved Oxygen
Low dissolved oxygen levels are indicators of serious water quality impacts that may
result from poorly designed and maintained marinas (NCDEM, 1990). The assessment of DO
impacts is complicated because the kinetics of dissolved oxygen are very complex. Dissolved
oxygen concentrations can vary greatly over short periods of time (Thomann and Mueller,
The best way to assess marina impacts on water quality is to design a sampling strategy
and physically measure dissolved oxygen values. During the sampling, sediment oxygen demand
and other data can be collected, which may be used to estimate future dissolved oxygen levels
using the mathematical modeling procedures described in North Carolina Coastal Marinas Water
Quality Assessment (NCDEM, 1990) and the Technical Guidance Manual for Performing
Wasteload Allocations (USEPA, 1989). Prior to data collection, screening procedures such as
the equation below and those described in Thomann and Mueller (1987) and Mills et al. (1985)
may be used to identify trouble spots. Equations 7a and 7b may be used to successively estimate
dissolved oxygen concentrations at high tide and low tide in a semi-enclosed marina.
1987).
DO,
B x A x Tc
24 ™
L
1000 x VL
5
-------
Marina Water Quality Models, TPA User's Manual
DOh = (1000 x DOa x Vp
1000 * vL
1000 X vL
X —
x CR x (I - e 2A) - B x A x — +
B 24
x DOl + DOt x I x Tc) I (1000 x Vg )
Vp + 1000 xVpx 0DOs - DOa)
(7a)
where:
DOh = Approximate dissolved oxygen at high tide (mg/L)
DOa = Ambient dissolved oxygen of water flushing into marina (mg/L)
DOl = Approximate dissolved oxygen level in marina at low tide (mg/L)
DOi = Dissolved oxygen in nontidal freshwater inflow (mg/L)
K, = Oxidation coefficient (day1)
DOs = Saturated dissolved oxygen concentration (mg/L)
k, = Reaeration coefficient (day1)
B = Sediment oxygen demand (mg/m2/day)
CB = Biochemical oxygen demand (mg/L)
Equation 7a may be used to estimate dissolved oxygen levels for successive high tides
by using the new value of DOh in place of DOL. Initially, the value of DOL is set equal to DOA,
which is assumed constant over the period of analysis. Reaeration due to mixing,
photosynthesis, or other sources is not considered, nor is loss of DO due to nitrification.
The Tidal Prism Analysis program is designed to be a user-friendly tool for performing
simple water quality calculations. As such, the program is menu-driven, with the main features
of the program broken into distinct sections. The program can be used to perform screening
calculations and sensitivity analyses. This section describes the operation of the four components
of the Tidal Prism Analysis program and explains of each option.
The input data required to carry out the Tidal Prism Analysis calculations for a semi-
enclosed marina are listed in Tables 1 to 5 (at the end of this section) with Beacons Reach input
parameters shown in parentheses. In addition, this section includes three interactive sample
sessions using the Tidal Prism Analysis program. Data from the Beacons Reach marina are used
in these examples. In these examples, the user-supplied input data are bold and underlined. The
TPA output includes a listing of the input data entered into the program and the estimated
pollutant concentration under these conditions. A sample output is provided for each model
application.
4. OPERATION
6
-------
Marina Water Quality Models, TP A User's Manual
4.1 Program Access
The Tidal Prism Analysis program is designed to run on an IBM-PC microcomputer or
compatible with at least 70 K of random access memory (RAM). Use of a math coprocessor
is optional. This program is written in FORTRAN 77 and requires MS DOS 2.1 or higher.
Use of this program does not require a hard disk.
To run the program, the user enters the program name (i.e., TP A). Once the program
has begun, the user will be presented with a menu of the following choices (Figure 1).
Enter Procedure Number You Wish to Execute:
(1) Flushing Characteristics.
(2) Accidental Pollutant Spill.
(3) Conservative/Non-conservative Pollutant.
(4) Dissolved Oxygen Concentration.
(5) Exit the program.
Make a Selection and then Hit Return
Option = = >
Figure 1. TPA Main Menu
The desired option is selected by entering 1, 2, 3, 4, or 5. The first choice is used to
calculate flushing time for a coastal marina (i.e., Equation 3). The second option is used to
calculate conservative pollutant concentration due to accidental spill after several tidal cycles
(i.e., Equation 4). The third option is used to calculate the steady-state concentration for
conservative pollutant (i.e., Equation 5) or a nonconservative pollutant (i.e., Equation 6) for a
coastal marina. The fourth option is used to compute dissolved oxygen concentration at high
and low tide consecutively (i.e., Equation 7). The fifth and last option is used to terminate the
program and return the user to the operating system.
When the program is finished calculating pollutant concentration according to user-
specified procedures, the final menu appears on the user's terminal (Figure 2). This menu has
two options. The first option allows the user to go back to the main menu, and the second
option permits the user to terminate the current session. By selecting the first option from this
menu, the user can perform several calculations during the same session.
7
-------
Marina Water Quality Models, TP A User's Manual
Make a Selection and then Hit Return
(1) Go Back to Main Menu.
(2) Exit the program.
Figure 2. TPA Final Menu
Typical ranges of reaction rates used in the Tidal Prism Analysis program are listed in
Table 6. Additional information pertaining to reaction rates can be obtained from Bowie et al.
(1985). The remainder of this section briefly describes the features and operation of the four
TPA program options.
4.2 Option 1
This option allows the user to enter descriptive information on the system being modeled.
The program calculates the flushing time of a coastal marina according to Equation 3. This
option requires a total of six responses (Table 1). The first three responses are the average
marina depth at low tide and high tide (L and H) and the marina surface area (A). The next
response is the return flow factor (b) the percentage of tidal prism that was previously flushed
from the marina on the outgoing tide, which is expressed as a decimal fraction. The fifth
response is the desired dilution factor (D). This parameter should be selected according to the
amount of flushing desired; if a complete flushing is desired, a very low value can be selected.
The last input is the tidal period (Tc), which is 12.5 hours for semi-diurnal tide and 25 hours
for diurnal tide. Table 1 lists input data required to estimate the flushing time of a coastal
marina.
4.3 Option 2
This option permits the user to calculate the pollutant concentration in a coastal marina
due to an accidental spill. Pollutant concentration is estimated according to Equation 4. This
option requires a total of nine responses (Table 2). The first five responses were previously
discussed under the flushing characteristics option (option 1) and will not be repeated. The sixth
response is the desired time in days (i.e., concentration is estimated after X number of days).
The next response is mass of pollutant (M) discharged into the marina basin. The eighth
response is the ambient concentration of pollutant prior to the accidental spill (CJ. The last
response is the decay rate for the discharged pollutant (K). If the discharged pollutant is
5
-------
Marina Water Quality Models, TP A User's Manual
conservative, then this parameter is set to zero. Decay rates vary depending on the pollutant
type, and therefore users are encouraged to consult other references such as Rates, Constants
and Kinetics Formulations in Surface Water Quality Modeling (Bowie et al., 1985).
4.4 Option 3
This option calculates long-term pollutant concentration in a coastal marina and presents
the user with two choices. The first choice (3.1) is used to estimate conservative pollutant
concentration and the second choice (3.2) is used to calculate nonconservative pollutant
concentration. Equation 4 is used to calculate conservative pollutant concentration, while
Equation 5 is used to calculate nonconservative pollutant concentration. All responses are
discussed under previous options and will not be repeated. Option 3.1 requires a total of seven
responses (Table 3); Option 3.2 requires nine responses (Table 4). In Option 3.2 the user is
given the choice to estimate either fecal coliform or another nonconservative pollutant. The
typical range of the fecal coliform die-off coefficient is presented in Table 6. These values may
be used when site-specific data are not available.
4.5 Option 4
This option allows the user to calculate the dissolved oxygen concentration inside a
coastal marina. Equation 7 is used to calculate the dissolved oxygen concentration at high tide
and low tide. This option requires a total of 12 responses (Table 5). The first three responses
are the average dissolved oxygen level in the ambient water (DO*), the saturated dissolved
oxygen (DOs), and the dissolved oxygen concentration at low tide (DOl). When site-specific
data are not available, DOL may be set equal to DOA. DOs can be estimated using methods
discussed in Bowie et al. (1985) if the average temperature and salinity for ambient water are
available. Table 6 lists the typical range of the reaction rate used in this option to estimate
dissolved oxygen levels. More information pertaining to reaction rates can be found in Bowie
et al. (1985).
4.6 TPA Sample Sessions
This section provides three TPA sample sessions (Figures 3, 4, and 5). These examples
list the program inquiries under each option. In these figures, the user responses are underlined.
Figure 1 lists the required input data to calculate flushing time for a coastal marina. Input data
for the Beacons Reach Marina are used for these examples.
9
-------
Marina Water Quality Models, TP A User's Manual
AVERAGE DEPTH AT LOW TIDE L (m):
AVERAGE DEPTH AT HIGH TIDE H (m):
SURFACE AREA OF MARINA A (nr):
RETURN FLOW FACTOR B (dimensionless):
DESIRED DILUTION D (dimensionless):
Enter Tidal Information.
(1) Semi-diumal Tide (12.5 hours).
(2) Diurnal Tide (25.0 hours).
u
2A
9448
00
OJ.
Make a Selection and then Hit Return
I
Figure 3. Flushing Time Sample Session
Non-conservative Pollutant
AVERAGE DEPTH AT LOW TIDE L (m)
AVERAGE DEPTH AT HIGH TIDE H (m)
SURFACE AREA OF MARINA A (m2)
RETURN FLOW FACTOR B (dimensionless)
DESIRED DILUTION D (dimensionless)
FECAL COLIFORM DIE-OFF RATE Kx (day1)
Enter Tidal Information.
(1) Semi-diurnal Tide (12.5 hours).
(2) Diurnal Tide (25.0 hours).
: L8
: 2.4
: 9448
: OJ
: 0.1
: (K5
Make a Selection and then Hit Return
: I
AMBIENT FECAL COLIFORM CONCENTRATION Ca (mpn/100 mL)
MASS OF POLLUTANT DISCHARGED INTO BASIN (mpn/day)
DO YOU WANT TO CHANGE THE FLUSHING TIME ?
IS THIS FECAL COLIFORM ?
: (h
: 11000000000
N
Y
Figure 4. Fecal Coliform Sample Session
10
-------
Marina Water Quality Models, TPA User's Manual
AMBIENT DISSOLVED OXYGEN DOA (mg/L) : 6,3
SATURATED DISSOLVED OXYGEN CONCEN. DOS (mg/L) : 6J>
DISSOLVED OXYGEN IN MARINA AT LOW TIDE DOL (mg/L) : 6J
DISSOLVED OXYGEN IN NON-TIDAL
FRESHWATER MARINA INFLOW DOI (m3/hour) : OJ)
NON-TIDAL FRESHWATER INFLOW /hour : OJ
RE AERATION COEFFICIENT Ka (day1) : (U
OXIDATION COEFFICIENT K1 (day1) : OJ.
SEDIMENT OXYGEN DEMAND B (g 02/m:-day) : 2,68
BIOCHEMICAL OXYGEN DEMAND Cb (mg/L) : 7.23
AVERAGE DEPTH AT LOW TIDE L (m) : L8
AVERAGE DEPTH AT HIGH TIDE H (m) : 1A
SURFACE AREA OF MARJNA A (m2) : 9448
HOW MANY TIDAL CYCLES DO YOU NEED TO RUN THIS MODEL? 10
Enter Tidal Information.
(1) Semi-diurnal Tide (12.5 hours).
(2) Diurnal Tide (25.0 hours).
Make a Selection and then Hit Return : 1
Figure 5. Dissolved Oxygen Sample Session
TABLE 1. Summary of Input Data Required to Calculate Flushing Characteristics.
Variable
Beacons
Reach Marina
Description
L
(1.8)
Average depth at low tide (m)
H
(2.4)
Average depth at high tide (m)
A
(9448)
Surface area of marina (m2)
b
(0.0)
Return flow factor (dimensionless)
D
(0.1)
Desired dilution factor (dimensionless)
Tc
(12.5)
Tidal cycle (hours)
11
-------
Marina Water Quality Models, TP A User's Manual
TABLE 2. Input Data Requirements for Accidental Pollutant Spill Calculations.
Variable
Description
L
Average depth at low tide (m)
H
Average depth at high tide (m)
A
Surface area of marina (m2)
b
Return flow factor (dimensionless)
Tc
Tidal cycle (hours)
t
Time (days)
M
Mass of pollutant discharged into basin (mg)
cA
Ambient concentration of pollutant prior to addition of discharge (mg/L)
K
Decay rate for nonconservative pollutants (day1)
TABLE 3. Input Data Requirements for Conservative Pollutant Calculations.
Variable
Description
L
Average depth at low tide (m)
H
Average depth at high tide (m)
A
Surface area of marina (m2)
b
Return flow factor (dimensionless)
Mr
Total mass flow rate of pollutant into basin, including input by freshwater
inflow (mg/day)
Tc
Tidal cycle (hours)
cA
Ambient concentration of pollutant prior to addition of discharge (mg/L)
12
-------
Marina Water Quality Models, TP A User's Manual
TABLE 4. Input Data Requirement for Nonconservative Pollutant Calculations.
Variable
Beacons
Reach Marina
Description
L
(1.8)
Average depth at low tide (m)
H
(2.4)
Average depth at high tide (m)
A
(9448)
Surface area of marina (m2)
b
(0.0)
Return flow factor (dimensionless)
D
(0.1)
Desired dilution factor (dimensionless)
Kx
(1.2)
Fecal coliform dye off rate (0.3-1.2 day"1)
Tc
(12.5)
Tidal cycle (hours)
c.
(0.0)
Ambient fecal coliform concentration (mpn/lOOmL)
Mr
Mass of pollutant discharged into basin (mg)
13
-------
Marina Water Quality Models, TP A User's Manual
TABLE 5. Input Data Requirements for Dissolved Oxygen Calculations.
Variable
Beacons
Reach Marina
Description
DOa
(6.3)
Ambient dissolved oxygen of water flushing into marina
(mg/L)
DOs
(6.9)
Saturated dissolved oxygen concentration (mg/L)
DOl
(6.3)
Dissolved oxygen level in marina at low tide (mg/L)
DO,
(0.0)
Dissolved oxygen in nontidal freshwater inflow (mg/L)
K
(0.3)
Reaeration coefficient (day1)
K,
(0.1)
Oxidation coefficient (day1)
B
(2.68)
Sediment oxygen demand (mg/m2/day)
cB
(7.23)
Biochemical oxygen demand (mg/L)
L
(1.8)
Average depth at low tide (mL)
H
(2.4)
Average depth at high tide (m)
A
(9448)
Surface area of marina (m2)
Tc
(12.5)
Tidal cycle (hours)
TABLE 6. Typical Ranges of Reaction Rates Used in TPA.
K
Reaeration coefficient (day1)
0.25 - 3.0
K,
Oxidation coefficient (day1)
0.05 - 3.0
B
Sediment oxygen demand (mg/m2/day)
p
0
1
b
CB
Biochemical oxygen demand (mg/L)
0.1 - 0.3
Kx
Fecal coliform die-off rate (day1)
0.3 - 1.2
14
-------
Marina Water Quality Models, TP A User's Manual
REFERENCES
Bowie, G.L., et al. 1985. Rates, Constants, and Kinetics Formulations in Surface Water Quality
Modeling. 2nd. U.S. Environmental Protection Agency, Athens, GA. EPA/600/3-85/040.
Mills, W.B., D.B. Porcella, M.J. Ungs, S.A. Gherini, K.V. Summers M. Lingfung, G.L.
Rupp, G.L. Bowie, and D.A. Haith. 1985. Water Quality Assessment: A Screening Procedure
for Toxic and Conventional Pollutants, U.S. Environmental Protection Agency, Athens, GA,
EPA/600/6-85/002.
NCDEM. 1990. North Carolina Coastal Marinas: Water Quality Assessment. Report No. 90-01.
North Carolina Division of Environmental Management.
Tetra Tech. 1992. Marina Water Quality Models. U.S. Environmental Protection Agency,
Region IV, Atlanta, GA.
Thomann, R.V. and J. A. Mueller, 1987. Principles of Surface Water Quality Modeling and
Control. Harper & Row, New York.
USEPA. 1985. Coastal Marinas Assessment Handbook. U.S. Environmental Protection Agency,
Region IV, Atlanta, GA.
USEPA. 1989. Technical Guidance Manual for Performing Waste Load Allocations Book 111:
Estuaries, Part 1: Estuaries and Waste Load Allocation Models. U.S. Environmental Protection
Agency, Washington, DC.
15
-------
APPENDIX A: TPA MODEL LISTING
-------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Marina Water Quality Models, TP A User's Manual
C PROGRAM Tidal Prism Analysis
C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
c
IMPLICIT DOUBLE PRECISION (A-H.O-Z)
c... Define file name character strings.
character*40 filein, fileout
character^ ans
logical filexist
CALL SYSTEM <'CLS'>
write(*,
writeC*,
writeC*,
writeC*,
write(*,
URITEC*,
writeC*,
writeC*,
WRITEC*,
writeC*,
writeC*,
URITEC*,
*)
*)
•)
)
)
*)
*)
)
*)
)
)
)
Welcome to The Tidal Prism Analysis Program (TPA)
This program is based on the Tidal Prism '
Analysis Procedures presented in '
in Chapter 4 of the'
Coastal Marina Assessment Handbook (USEPA, 1985) '
Developed By '
Tetra Tech, Inc. '
Developed For '
EPA Region IV, Atlanta, GA '
c
c... Format statements.
110 formatCIX,' Enter OUTPUT file name ')
120 format(A)
c... Get the output file name.
25 write(*,*)
write(*,110)
wri te(*,*)
read(*f120,err=25) fileout
c
c... Check if fileout already exists.
inquire(file=fileout, exist=filexist)
if ( filexist ) then
write<*,*) 'File Already Exists.'
write(*,*) 'Choose Another Name.'
goto 25
endi f
c
c... Open output file.
open(6,file=fileout,status = 'NEW')
700 CONTINUE
5 CALL SYSTEM ('CLS')
WRITE(*,*)' Enter Procedure Number You Wish to Execute:'
URITE(*,*)
URITEC*,*)'(1)
WRITEC*,*)'(2)
URITEC*,*)'C3)
WRITEC*,*)'C4)
URITEC*,*)'(5)
URITEC*,*)
Flushing Characteristics.'
Accidental Pollutant Spill. '
Conservative/Non-conservative Pollutant.'
Dissolved Oxygen Concentration.'
Exi t program.'
A-1
-------
Marina Water Quality Models, TP A User's Manual
61
WRITE(*,201)
62
201
FORMAT(1X,'Make a Selection and then Hit Return',//)
63
URITE(*,*)'Option ==> '
64
WRITE(*,*)
65
66
READ (*,\ERR=5) I TYPE
67
IF (( 1 TYPE .LT. 1 ) .OR. ( ITYPE .GT. 5 )) GO TO 5
68
IF ( ITYPE .EQ. 1 ) THEN
69
CALL FLUSHING
70
GO TO 800
71
END IF
72
73
IF ( ITYPE .EQ. 2 ) THEN
74
CALL ACCIDENT
75
GO TO 800
76
END IF
77
78
IF ( ITYPE .EQ. 3 ) THEN
79
80
7
CALL SYSTEM ('CLS')
81
82
URITE(*,*)' Enter Procedure Number You Wish to Execute:1
83
WRITE(*,*)
84
WRITER,*)'(1) Conservative Pollutant (Option 3.1). '
85
UR1TE(*,*)'(2) Nonconservative Pollutant (Option 3.2).'
86
URITE(*,*)'(3) Exit program.'
87
WRITE(*,*)
88
URITE(*,201)
89
WRITE(*,*)'Option ==> '
90
URITE(*,*)
91
READ (*,*,ERR=7) IPOLTANT
92
93
IF (( IPOLTANT .LT. 1 ) .OR. ( IPOLTANT .GT. 3 )) GO TO
94
95
IF ( IPOLTANT .EQ. 1 ) THEN
96
CALL CONSERVAT
97
GO TO 800
98
END IF
99
100
IF ( IPOLTANT .EQ. 2 ) THEN
101
CALL NONCONSER
102
GO TO 800
103
END IF
104
105
IF ( IPOLTANT .EQ. 3 ) GO TO 900
106
107
END IF
108
109
IF ( ITYPE .EQ. 4 ) THEN
110
CALL OXYGEN
111
GO TO 800
112
END IF
113
114
IF ( ITYPE .EQ. 5 ) GO TO 900
115
116
800
CONTINUE
117
118
C800
CALL SYSTEM ('CLS')
119
120
URITE(*,*)
121
WRITE(*,*) ' Make a Selection and then Hit Return'
122
URITE(*,»)
A-2
-------
123
124
125
126
127
128
129
130
131
132
.133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
Marina Water Quality Models, TP A User's Manual
URITEC*,*)'11 > Go Sack to Main Menu.'
URITEC*,*)1C2) Exit the Program.'
URITEC*,*)
READ (*,*) I END
IF ( IEND .EQ. 2 ) THEN
CLOSE (6)
GO TO 900
END IF
IF ( IEND .EQ. 1 ) THEN
GO TO 700
ELSE
GO TO 800
END IF
900 STOP
END
SUBROUTINE FLUSHING
C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
c
IMPLICIT DOUBLE PRECISION (A-H,0-Z)
C This subroutine solves Equation it 3 in the User's manual.
REAL L, Ka, k1, Mr, Kx
character*1 ans
writeC*,*) ' the following parameters are needed to calculate'
write(*,*) ' marina flushing time'
URITEC6,101)
101 FORMATC//,'Flushing characteristics:',//)
URITE<*,*) 'AVERAGE DEPTH AT LOW TIDE L (m) : '
URITEC*,*)
READ (*,*) L
URITEC6,1) L
URITEC*,*) 'AVERAGE DEPTH AT HIGH TIDE H (m) : '
URITEC*,*)
READ C*,*) H
URITEC6.2) H
URITEC*,*) 'SURFACE AREA OF MARINA A (m2) : '
URITEC*,*)
READ C*,*) A
URITEC6.3) A
URITEC*,*) ' RETURN FLOW FACTOR B Cdimensionless) : '
URITEC*,*) ' range = 0.0 to 1.0 '
URITEC*,*)
READ C*,*> B
URITEC6.4) B
URITEC*,*) ' DESIRED DILUTION FACTOR D : '
URITEC*,*) ' range = 0.0 to 1.0 '
URITEC*,*)
READ C*,*) 0
URITEC6.5) D
A-3
-------
Marina Water Quality Models, TP A User's Manual
184 6 CALL SYSTEM C'CLS')
185
186 URITEC,*) ' Enter Tidal Information.'
187 URITEC,*) '(1) Semi-diurnal Tide (12.5 hours).'
188 URITEC*,*) '(2) Diurnal Tide (25.0 hours). '
189 URITEC,*)
190 URITEC,200)
191 200 FORMAT(1X,'Make a Selection and then Hit Return',//)
192
193 READ (*,*,ERR=6) ITC
194
195 IF ( ITC .EQ. 2 ) THEN
196 TC = 25.0
197 URITEC6.9)
198 GO TO 999
199 END IF
200 IF ( ITC .EQ. 1 ) THEN
201 TC = 12.5
202 URITE(6,10)
203 GO TO 999
204 ELSE
205 GO TO 6
206 END IF
207
208 999 CONTINUE
209 VL = L * A
210 VH = H * A
211 VP = VH - VL
212
213 C CALCULATE SOME CONSTANTS
214 TT = TC / 24.0
215
216 TOP_Tf = TC * ALOG10 (D)
217 BOT~Tf = ALOG10 ( (VL + ( B * VP )) / VH)
218
219 Tf = T0P_Tf / BOT Tf
220
221 URITEC*,7) TF
222 URITEC*,8) (TF/TC)
223
224 URITE(6,7) TF
225 URITE(6,8) (TF/TC)
226
227
228 1 FORMATC' AVERAGE DEPTH AT LOW TIDE Cm) L = ', F14.2)
229 2 FORMATC' AVERAGE DEPTH AT HIGH TIDE (m) H = ', F14.2)
230 3 FORMATC SURFACE AREA OF MARINA (m2) A = ', F14.2)
231 4 FORMATC RETURN FLOW FACTOR (dimensionless) B = ', F14.2)
232 5 FORMATC DESIRED DILUTION D = ', F14.2)
233 7 FORMATC FLUSHING TIME (in hours) TF = ',F14.2)
234 8 FORMATC FLUSHING TIME (in tidal cycles) TF = ' ,F14.2)
235 9 FORMATC Diurnal Tide TC = 25.0 hours ')
236 10 FORMATC Semi-diurnal Tide TC = 12.5 hours ')
237
238 RETURN
239 END
240
241
242 SUBROUTINE ACCIDENT
243
244 C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
245
A-4
-------
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
Marina Water Quality Models, TP A User's Manual
IMPLICIT DOUBLE PRECISION (A-H.O-Z)
C This subroutine solves Equation # 4 in the User's manual.
REAL L, Ka, k1, M, K
characters ans
writeC,*) ' the following parameters are needed to calculate'
write(*,*) ' pollutant concentration due to Accidental Spill '
URITE(6,101)
101 FORMAT (///Accidental Spill',//)
URITEC*
*)
'AVERAGE
DEPTH AT LOU TIDE L (m) : '
URITEC
*)
READ C
*)
L
URITE(6
1)
L
URITEC
*)
'AVERAGE
DEPTH AT HIGH TIDE H (m) : '
WRITE(*
*)
READ C
*)
H
WRITE(6
2)
H
URITEC
*)
'SURFACE
AREA OF MARINA A (m2) : '
URITEC
*)
READ C
*)
A
WRITE(6
3)
A
URITEC
*)
' RETURN
FLOW FACTOR B (dimensionless)
URITEC
*)
' range
0.0 to 1.0 '
WR ITE(*
*)
READ C
*)
B
URITE(6
4)
B
5 CALL SYSTEM ('CLS')
URITEC,*) ' Enter Tidal Information.'
URITEC,*) '(1) Semi-diurnal Tide (12.5 hours).'
URITEC,*) '(2) Diurnal Tide (25.0 hours). '
URITEC,*)
URITEC,200)
200 F0RMAT(1X,'Make a Selection and then Hit Return',//)
READ C,*,ERR=5) ITC
IF ( ITC .EQ. 2 ) THEM
TC = 25.0
URITE(6,8)
GO TO 50
END IF
IF ( ITC .EQ. 1 ) THEN
TC = 12.5
WRITE(6,9)
GO TO 50
ELSE
GO TO 5
END IF
50 CONTINUE
R = H - L
URITE(6,6) R
A-5
-------
Marina Water Quality Models, TP A User's Manual
307 URITE(*,*) 'ENTER TIME (days) AFTER OCCURRENCE OF SPILL
308 URI TEC, *)
309 READ (*,*) TIME
310 URITE(6,7) TIME
311
312 URITE(*,*J ' MASS OF POLLUTANT DISCHARGED INTO BASIN (mg)'
313 URITE(*,*)
314 READ (*,*) M
315 URITE(6,10)
316 URITE(6,11) M
317
318 URITE(*,*) ' Ambient Concentration of Pollutant Prior'
319 UR1TE(*,*) ' to Discharge (mg/L) '
320 URITEC*,*)
321 READ (*,*) CA
322 WRITEC6,12)
323 URITE(6,13) CA
324
325 WRITE<«(") ' DECAY RATE FOR POLLUTANT K (per day): '
326 WRITEC*,*) ' IF CONSERVATIVE POLLUTANT ENTER ZERO'
327 URITEC,*)
328 READ (*,*) K
329 UR1TE(6,14) IC
330
331 VL = L * A
332 FIRST_T = ( ( (VL) + (B*A*R) ) / (A*H))
333 N = ANINT (24.0*T1HE/TC)
334 FIRST T = ((FIRST T)**N)
335
336 T1 = -1.0 * K * TIME
337 SS = EXPC T1)
338
339 SECOND T = ( M / (1000.0 * VL) ) * SS
340 THIRD T = CA * SS
341
342 CT = ( FIRST_T * SECOND T ) + THIRD_T
343 URITE(6,15) "
344 URITE(6,16) CT
345 URITE(*,15)
346 URITE(*,16) CT
347
348 1 FORMATC AVERAGE DEPTH AT LOW TIDE (m) L = ', F14.2)
349 2 FORMATC AVERAGE DEPTH AT HIGH TIDE (m) H = ', F14.2)
350 3 FORMATC SURFACE AREA OF MARINA (m2) A = ', F14.2)
351 4 FORMATC RETURN FLOW FACTOR (dimensionless) B = ', F14.2)
352 6 FORMATC TIDAL RANGE (in) R = ', f14.2)
353 7 FORMATC TIME after occurrence of spill (days) t = ', F14.2)
354 8 FORMATC Diurnal Tide TC = 25.0 hours')
355 9 FORMATC Semi-diurnal Tide TC = 12.5 hours')
356 10 FORMATC MASS OF POLLUTANT DISCHARGED INTO')
357 11 FORMATC BASIN (mg) M = F14.2)
358 12 FORMATC Ambient Concentration of Pollutant Prior' )
359 13 FORMATC to Discharge (mg/L) CA = F14.2)
360 14 FORMATC DECAY RATE (per day) K = ', F14.2)
361 15 FORMAT(//,' CONCENTRATION OF POLLUTANT AT ')
362 16 FORMATC TIME t (mg/L) CT = ', F14.5)
363
364 RETURN
365 END
366
367
368 SUBROUTINE CONSERVAT
A-6
-------
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
Marina Water Quality Models, TPA User's Manual
C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
c
IMPLICIT DOUBLE PRECISION (A-H.O-Z)
C This subroutine solves Equation # 5 in the User's manual.
REAL L, Ka, k1, Mr, Kx
characters ans
WRITEC6,1015
101 FORMAT C//,'Conservative Pollutant',//)
URITEC*,*) 'AVERAGE DEPTH AT LOU TIDE L Cm) : '
READ C*,*) L
URITEC*,*)
WRITE(6,1) L
URITE(*,*) 'AVERAGE DEPTH AT HIGH TIDE H (m) : '
URITEC*,*)
READ C*,*) H
URITEC6.2) H
URITEC*,*) 'SURFACE AREA OF MARINA A Cm2): '
URITEC*,*)
READ C*,*) A
URITEC6.3) A
URITEC*,*) ' RETURN FLOU FACTOR (dimensionless) B : '
URITEC*,*)
READ C*,*) B
URITEC6.4) B
URITEC*,*) ' TOTAL MASS FLOU RATE OF POLLUTANT INTO BASIN'
URITEC*,*) 'INCLUDING INPUT BY FRESHUATER INFLOU (mg/day) '
URITEC*,*)
READ C*,*) Mr
URITEC6,6)
URITEC6.7)
URITEC6.8) Mr
5 CALL SYSTEM C'CLS')
URITEC*,*) ' Enter Tidal Information.'
URITEC*,*) 'CD Semi-diurnal Tide C12.5 hours).'
URITEC*,*) '(2) Diurnal Tide (25.0 hours). '
URITEC*,*)
URITEC*,200)
200 FORMAT(1X,'Make a Selection and then Hit Return',//)
READ (*,*,ERR=5) ITC
IF ( ITC .EQ. 2 ) THEN
TC = 25.0
URITEC6.9)
GO TO 999
END IF
IF ( ITC .EQ. 1 ) THEN
TC = 12.5
URITEC6,10)
GO TO 999
A-7
-------
Marina Water Quality Models, TP A User's Manual
430 ELSE
431 GO TO 5
432 END IF
433
434 999 CONTINUE
435
436 URITEC*,*) ' Ambient Concentration of Pollutant Prior'
437 URITEC*,*) ' to Discharge (mg/l) '
438 URITEC*,*)
439 READ (*,*) CA
440 URITE(6,11)
441 URITEC6,12) CA
442
443 VL = L * A
444 VH = H * A
445 VP = VH - VL
446
447 C CALCULATE SOME CONSTANTS
448 F12 = 4.7*<10.**C-5))
449 TOP_C = Mr * TC * F12
450 BOT C = < 1.0 - B ) * VP
451
452 C = C TOP C / BOT C ) + CA
453
454 URITEC6,13)
455 WRITEC6,14) C
456
457 URITEC*,13)
458 URITEC*,14) C
459
460 1 FORMATC AVERAGE DEPTH AT LOU TIDE Cm) L = ', F14.2)
461 2 FORMATC AVERAGE DEPTH AT HIGH TIDE (m) H = F14.2)
462 3 FORMATC SURFACE AREA OF MARINA (m2) A = ', F14.2)
463 4 FORMATC RETURN FLOW FACTOR (dimensionless) B = ', F14.2)
464 6 FORMATC TOTAL MASS FLOW RATE OF POLLUTANT INTO')
465 7 FORMATC BASIN,INCLUDING INPUT BY')
466 8 FORMATC FRESHWATER INFLOW Cmg/day) Mr = ', F14.2)
467 9 FORMATC Diurnal Tide TC = 25.0 hours')
468 10 FORMATC Semi-diurnal Tide TC = 12.5 hours')
469 11 FORMATC Ambient Concentration of Pollutant Prior' )
470 12 FORMATC to Discharge Cmg/L) CA = ', F14.2)
471 13 FORMATC//,' CONCENTRATION OF CONSERVATIVE ')
472 14 FORMATC POLLUTANT AT TIME t Cmg/L) C = ', F14.5)
473
474 return
475 end
476
477
478 SUBROUTINE NONCONSER
479
480 C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
481
482 c
483 IMPLICIT DOUBLE PRECISION (A-H.O-Z)
484
485 C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
486 C This program calculates the steady state Fecal Coliform ( or any
487 c non-conservative substance) concentration for a semi-enclosed marina.
488 c This subroutine solves Equation # 6 in the User's manual.
489
490 REAL L, Ka, k1, Mr, Kx
491 character*! ans
A-8
-------
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
Marina Water Quality Models, TP A User's Manual
WRITEC6,101)
101 FORMATC//,'Nonconservative Pollutant',//)
WR I TE C
*)
'AVERAGE DEPTH AT LOW TIDE L (m) : '
WRITEC
*)
READ C
*>
L
WRITE(6
1)
L
WRITEC*
*)
'AVERAGE DEPTH AT HIGH TIDE H Cm) : '
WRITEC
*)
READ (*
*)
H
WRITE(6
2)
H
WRITEC*
*)
'SURFACE AREA OF MARINA A (m2) : '
WRITEC*
*)
READ (*
*)
A
WRITE(6
3)
A
WRITE(*
*)
' RETURN FLOW FACTOR B (dimensionless) : '
WRITE(*
*)
READ (*
*)
B
WRITEC6
4)
B
WRITE(*
*)
' DESIRED DILUTION FACTOR D (dimensionless)
WRITEC
*)
READ (*
*)
D
WRITE(6
6)
D
WRITEC*
*)
' FECAL COL I FORM DIE-OFF RATE Kx Cper day)
WRITEC*
*)
READ C*
*)
Kx
WRITEC6
7)
Kx
VL
-
L * A
VH
=
H * A
VP
=
VH - VL
5 CALL SYSTEM ('CLS')
WRITEC,*) ' Enter Tidal Information.'
WRITEC,*) '(1) Semi-diurnal Tide (12.5 hours).'
WRITEC,*) '(2) Diurnal Tide (25.0 hours). '
WRITEC,*)
WRITE(*,200)
200 F0RMAT(1X,'Make a Selection and then Hit Return,',//)
READ (*,*,ERR=5) ITC
IF ( ITC .EQ. 2 ) THEN
TC = 25.0
WRITE(6,8)
GO TO 999
END IF
IF ( ITC .EQ. 1 ) THEN
TC = 12.5
WRITE(6,9)
GO TO 999
ELSE
GO TO 5
END IF
A-9
-------
Marina Water Quality Models, TP A User's Manual
553
999 CONTINUE
554
555
C
CALCULATE SOME CONSTANTS
556
TT = TC / 24.0
557
T1 = -1.0 * Kx * TT
558
SS = EXP(TI)
559
TOP_Tf = TC * ALOG10 (D)
560
BOT~Tf = ALOG10 ( (VL + ( B * VP )) / VH)
561
Tf ~= TOP_T f / BOT_T f
562
VRITE(6,10) TF
563
WRITE(6,11) (TF/TC)
564
NCYCLE = AN I NT(T f/TC)
565
566
C
START FECAL COL I FORM CALCULATIONS
567
568
URITEC*,*) 'AMBIENT FECAL COLIFORM CONCENTRATION Ca
569
URITEC*,*) ' MPN/100 mL '
570
URITEC*,*)
571
READ (*,*) Ca
572
WRITE(6,12)
573
WRITEC6,13) Ca
574
575
URITEC*,*) ' MASS OF POLLUTANT DISCHARGED INTO 8ASIN
576
URITEC*,*) ' FOR Fecal Coliform = mpn/day '
577
URITEC*,*) ' FOR Other Pollutants = mg/day '
578
URITEC*,*)
579
READ (*,*) Mr
580
URITEC6,14)
581
WRITEC6,15) Mr
582
583
AA1 = ( VL + ( B * VP ) ) / VH
584
AA = AA1**NCYCLE
585
BB = ( EXP(T1) ) * Ca
586
TERM1 = AA * BB * SS
587
588
CON1 = C TC * Mr) / ( 24000.0 * VH)
589
C0N2 = ( (1.-B) * VP * Ca ) / VH
590
TERM2 = CON1 + C0N2
591
592
SUM = 0.0
593
594
write(*,*) ' Flushing time = ', NCYCLE
595
write(*,*) ' Do you want to change the flushing time
596
WRITEC*,*)
597
read (*,'(a1)') ans
598
if ( ans .eq. 'y' .or. ans .eq. 'Y') then
599
write(*,*)' How many tidal cycles ? '
600
read (*,*) ncycle
601
endif
602
603
DO 100 NTC = 1 , NCYCLE
604
605
A1 = (( VL + ( B*VP) ) / VH ) * {EXP
-------
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
.666
667
668
669
670
671
672
673
674
675
Marina Water Quality Models, TP A User's Manual
write(*,*) ' Is this FECAL COLIFORM "
wri te(*,*)
read (*,'(a1)') ans
if ( ans .eq. 'y' .or. ans .eq. 'Y') then
C TO CONVERT UNIT TO # OF ORGANISM/100 mL DIVIDE BY 10
RESULTS = RESULTS / 10.0
WRITE(6,16) results
write(6,17) ncycle
URITE(*,16) results
write(*,17) ncycle
else
URITE(6,18) results
write(6,19) ncycle
WRITE(*,18) results
write(*,19) ncycle
endi f
1
FORMAT(
2
FORMAT(
3
FORMAT(
4
FORMAT(
6
FORMAT(
7
FORMAT(
8
FORMAT(
9
FORMAT(
10
FORMAT(
11
FORMAT(
12
FORMAT(
13
FORMAT(
14
FORMAT(
15
FORMAT(
16
format(
17
format(
18
format(
19
format(
RETURN
AVERAGE DEPTH AT LOU TIDE (m) L = ', F14.2)
AVERAGE DEPTH AT HIGH TIDE (m) H = ', F14.2)
SURFACE AREA OF MARINA (m2) A = ', F14.2)
RETURN FLOW FACTOR (dimensionless) B = F14.2)
DESIRED DILUTION FACTOR (dimensionless) D = ', F14.2)
DIE-OFF RATE (per day) Kx =
Diurnal Tide TC =
Semi-diurnal Tide TC =
FLUSHING TIME (in hours) TF =
FLUSHING TIME (in tidal cycles) TF =
Ambient Concentration of Pollutant' )
Prior to Discharge (mg/day) CA =
MASS OF POLLUTANT DISCHARGED ')
INTO BASIN (mpn/day) Mr =
FECAL COLIFORM CONCENTRATION/100 mL = '
AFTER i10, ' TIDAL CYCLE')
POLLUTANT CONCENTRATION (mg/L) = '
AFTER ', i10, ' TIDAL CYCLE')
F14.4)
25.0 hours ')
12.5 hours ')
F14.2)
F14.2)
F14.2)
E14.4)
f14.4)
f14.4)
END
SUBROUTINE OXYGEN
IMPLICIT DOUBLE PRECISION (A-H.O-Z)
C AUTHOR : M. ZAKI MOUSTAFA, Tetra Tech, Inc.
C This subroutine calculates Dissolved Oxygen concentrations successively at
c high and low tide for a semi-enclosed marina. This subroutine solve
c Equations 7 and 7a in the user's manual.
DIMENSION DOH(50), DOL(50)
REAL*8 L, Ka, kl
A-11
-------
Marina Water Quality Models, TP A User's Manual
676 REAL*8 OOA, DOS, DOL1, 001, Q, B,Cb,H,A
677 1, VL, VH, VP, TC,T1,T2,TT,SS, TERM1, TERM2,TERM3,TERM4,TERM5,TERM6
678 2, TERM7, TOP, BOTTOM
679
680 WRITEC6,101)
681 101 FORMATC//,'Dissolved Oxygen',//)
682
683 WRITEC*,*) 'AMBIENT DISSOLVED OXYGEN DOA (mg/L) :
684 WRITEC*,*)
685 READ (*,*) DOA
686 URITEC6,1) DOA
687
688 WRITEC*,*) 'SATURATED DISSOLVED OXYGEN CONCEN. DOS Cmg/L) :
689 WRITEC*,*)
690 READ C*,*) DOS
691 WRITEC6,2) DOS
692
693 WRITEC*,*) 'DISSOLVED OXYGEN IN MARINA AT LOW TIDE DOL Cmg/L) :
694 WRITEC*,*)
695 READ C*,*) DOL1
696 writeC6,3)
697 URITEC6.33) DOL1
698
699 WRITEC*,*) ' DISSOLVED OXYGEN IN NONTIDAL
700 WRITEC*,*) ' FRESHWATER MARINA INFLOW DOI (mg/L) :
701 WRITEC*,*)
702 READ (*,*) DOI
703 WRITEC6.4)
704 WRITEC6.5) DOI
705
706 WRITEC*,*) ' NONTIDAL FRESHWATER INFLOW Cm3/hour) :
707 WRITEC*,*)
708 READ C*,*) Q
709 UR1TE(6,6) Q
710
711 WRITEC*,*) 'REAERATION COEFFICIENT Ka :
712 WRITEC*,*) ' CTypical Ka = 0.7/day) '
713 writeC*,*)
714 READ C*,*) Ka
715 WRITEC6.7) Ka
716
717 WRITEC*,*) 'OXIDATION COEFFICIENT K1 Cper day) :
718 WRITEC*,*) ' CTypical K1 = 0.1/day) '
719 writeC*,*)
720 READ C*,*) K1
721 WRITEC6.8) K1
722
723 WRITEC*,*) 'SEDIMENT OXYGEN DEMAND B Cg 02/m2-day):
724 WRITEC*,*) ' Typical 8 = 1.5 g 02/m2-day '
725 writeC*,*)
726 READ C*,*) B
727 WRITE(6,9) B
728
729 WRITEC*,*) 'BIOCHEMICAL OXYGEN DEMAND Cb Cmg/L) :
730 WRITEC*,*) 'Typical Cb for Urban Runoff = 17 mg/L '
731 writeC*,*)
732 READ (*,*) Cb
733 WRITEC6,10) Cb
734
735 c declare L as a real variable
736
737 WRITEC*,*) 'AVERAGE DEPTH AT LOW TIDE L Cm) :
A-12
-------
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
Marina Water Quality Models, TP A User's Manual
URITEC*,*)
READ (*,*) L
URITEC6,11) I
URITEC*,*) 'AVERAGE DEPTH AT HIGH TIDE H (m) : '
URITEC*,*)
READ <*,*) H
URITEC6,12) H
URITE(*,*) 'SURFACE AREA OF MAR I MA A (m2) : '
URITEC*,*)
READ (*,*) A
UR ITE(6,13) A
WRITE(*,*)'HOW MANY TIDAL CYCLES DO YOU NEED'TO RUN THIS MOOEL?'
URITEC*,*)
READ C*,*> INUM
ICYCLE = 1
VL = L * A
VH = H * A
VP = VH - VL
50 CALL SYSTEM ('CLS')
URITEC*,*) ' Enter Tidal Information.'
WRI TEC*,*) '(1) Semi-diurnal Tide (12.5 hours).'
URITE(*,*) '(2) Diurnal Tide (25.0 hours). '
WRITE(*,*)
URITEC*,200)
200 FORMAT(1X,'Make a Selection and then Hit Return',//)
READ (*,*,ERR=50) ITC
IF ( ITC .EQ. 2 ) THEN
TC = 25.0
URITEC6,14)
GO TO 999
END IF
IF < ITC .EQ. 1 ) THEN
TC = 12.5
URITE(6,15)
GO TO 999
ELSE
GO TO 50
END IF
999 CONTINUE
C CALCULATE SOHE CONSTANTS
TT = TC / 24.0
T1 = -1.0 * Ka * TT
T2 = -1.0 * K1 * TT
TERM1 = 1000.. * DOA * VP
SS = EXPCT1)
TERM2 = 1000. * CDOS -DOA) * VP * C 1.0 - SS )
TERM3 = 1000. * VL * Cb * C 1.0 - EXP(T2) )
TERM4 = B * A * TT
TERM5 = 1000. * VL * DOL1
A-13
-------
Marina Water Quality Models, TPA User's Manual
799 TERM6 = 001 * 0 * TC
800 TERM7 = 1000. * VH
801 TOP = TERM1 + TERM2 - TERH3 - TERM4 + TERM5 + TERM6
802 BOTTOM= TERM7
803 DOH1 = TOP / BOTTOM
804 D0H(ICYCLE) = DOH1
805
806 TERML1 = 1000. * D0H1 * VL
807 TERML2 = 1000 * VL * Cb * (1.0 - EXP(T2) )
808 TERML3 = B * A * TT
809 TOPI = TERML1 - TERML2 - TERML3
810
811 BOTTOML = 1000. * VL
812
813 DOLl = TOPL / BOTTOML
814 DOL(ICYCLE) = 00L1
815
816 C start the successive calculation for DO 3 high tide and a low tide
817
818 WRITE(6,17)
819 WRITE(6,19)
820 WRITE(6,18)
821 WRITE(6,16) DOH(1), DOL(1)
822
823 URITE(\17)
824 UR1TE(*,19)
825 WRI TEC, 18)
826 WRITE(*,16) DOH(1), D0L(1)
827
828 DO 100 ICYCLE = 2 , INUH
829
830 TERM1 = 1000. * DOA * VP
831 TERM2 = 1000. * (DOS -00A) * VP * ( 1.0 - EXP(T1) )
832 TERM3 = 1000. * VL * Cb * ( 1.0 - EXP(T2) )
833 TERM4 = B * A * TT
834 TERM5 = 1000. * VL * DOH(ICYCLE-1)
835 TERM6 = DOI * 0 * TC
836 TERM7 = 1000. * VH
837 TOP = TERM1 + TERM2 - TERM3 - TERM4 + TERM5 + TERM6
838 BOTTOM= TERM7
839
840 DOH(ICYCLE) = TOP / BOTTOM
841
842 TERML1 = 1000. * DOH(ICYCLE) * VL
843 TERML2 = 1000 * VL * Cb * (1.0 - EXP(T2) )
844 TERML3 = B * A * TT
845 TOPL = TERML1 - TERHL2 - TERML3
846 BOTTOML = 1000. * VL
847 DOL(ICYCLE) = TOPL / BOTTOML
848
849 WRITE(6,16) DOH(ICYCLE), DOL(ICYCLE)
850 WRITE(*,16) DOH(ICYCLE), DOL(ICYCLE)
851
852 100 CONTINUE
853
854 1 FORMAT(' AMBIENT DISSOLVED OXYGEN (mg/L) =', F14.4)
855 2 FORMAT(' SATURATED DISSOLVED OXYGEN CONCENTRATION (mg/L)=\ F14.4)
856 3 FORMAT(' DISSOLVED OXYGEN CONCENTRATION AT LOU TIDE' )
857 33 formate (mg/L) =', F14.4)
858 4 FORMATC DISSOLVED OXYGEN IN NON-TIDAL FRESH WATER')
859 5 FORMATC INFLOU DOi (mg/L) =', F14.4)
860 6 FORMATC FRESHWATER INFLOW INTO MARINA (cub meter/hour) =', F14.4)
A-14
-------
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
Marina Water Quality Models, TP A User's Manual
7 FORMAT(' REAERATION COEFFICIENT (per day) Ka
8 FORMAT(' OXIDATION COEFFICIENT (per day) K1
9 FORMAT(' SEDIMENT OXYGEN DEMAND (g 02/m2-day) B
10 FORMAT(' BIOCHEMICAL OXYGEN DEMAND (mg/l) Cb
11 FORMAT(' AVERAGE DEPTH AT LOW TIDE (m) L
12 FORMAT(' AVERAGE DEPTH AT HIGH TIDE (m) H
13 FORMAT(' SURFACE AREA OF MARINA (m**2) A
14 FORMAT(' Diurnal Tide TC = 25.0
15 FORMATC Semi-diurnal Tide TC = 12.5
16 FORMAT(F10.2,10X,F10.2)
17 FORMAT(//,3X,' DOH DOL ',/)
19 FORMAT (>3x,' mg/L mg/L ',/)
18 FORMATC ')
RETURN
END
F14.4)
F14.4)
F14.4)
F14.4)
F14.2)
F14.2)
F14.2)
hours ')
hours ')
A-15
-------
APPENDIX B:
USER'S GUIDE FOR
MICROCOMPUTER VERSION OF
NCDEM DO MODEL
-------
Marina Water Qualiry Models, TP A User's Manual
INTRODUCTION
This user's guide describes the input required to run the NCDEM DO model (NCDEM,
1990). This version of the model assumes that the marina to be evaluated can be approximated
by two segments: an inlet channel and the marina basin.
Runoff is assumed to be equal to zero, and the volume of wastewater discharged to the
basin other than from boats is also assumed to be equal to zero. The net flow out of the basin
is therefore zero. The forcing function is the changing depth of the ambient water, primarily
due to tidal forces, which brings water into the marina during the rising tide and takes water out
of the marina during the falling tide.
The tidal variations are assumed to follow a sinusoidal distribution. For simplicity, a 12-
hour tidal cycle is used. Calculations are performed at hourly time increments. Each segment
is assumed to be completely mixed at the end of each time increment.
Changes in dissolved oxygen are possible from advection, reaeration, or bottom sediment
oxygen demand. Boat discharges are not included since they have been shown to have a minor
effect or no effect on DO concentrations.
Figure B1 is a schematic of the basin illustrating some of the associated terms used in
the model. The NCDEM DO model runs interactively on a DOS-compatible PC. To access the
program, enter the program name (NCDEM_DO) then be prepared to supply the model with the
information listed in Table B-l.
B-1
-------
Marina Water Quality Models, TP A User's Manual
Ambient
(A)
U
Inlet Marina Basin
Channel (M)
(G)
n
Top View
4-»
a
Of
0)
<3^
LX
Q; v
>
<
High
Mean Tide
Low
Side View
Figure Bl. Schematic of Model Terms.
B-2
-------
Marina Water Quality Models, TP A User's Manual
TABLE B-l. NCDEM DO Model Input Data Requirements.
Variable
Description
HM
Average marina depth (m)
HC
Average channel depth (m)
AC
Channel surface area
AM
Marina surface area
TA
Tidal amplitude (m) ; half the tidal
range
SOD
Sediment oxygen demand (gm/m2-day)
DOa
Ambient DO (mg/L)
DOs
Saturation DO (mg/L)
Kd
Decay coefficient (per day)
K
Reaeration rate (per day)
NBC
Channel boat activity (boat-hrs/day)
NBM
Marina boat activity (boat-hrs/day)
DOC
Channel dissolved oxygen
DOM
Marina dissolved oxygen
8-3
-------
Marina Water Quality Models, TPA User's Manual
NCDEM DO PROGRAM LISTING
1
2 PROGRAM NCDEM_DO
3
4 CHARACTER NAME*40, 0UTFILE*12
5 REAL*8 HC, AC, AM, TA, B, SCO, DOA, DOS, Kd, Kr, NBC, NBM
6 1, X, Y, DOC, DOM, DOCAVG,SC, SM, LC, LM, A, ADOT, VC
7 2, VCDOT, VM, VMDOT, OA, OB, ADC, ADM, RC, RM, BC, BM, NC
8 3, NM, DOMAVG
9
10 INTEGER*4 T, Z
11
12 data NBC, NMB /0,0/
13
14 cat I system ('els')
15
16 URITE(*,*> ' NCDEMJJO Model
17 write(*,*)
18 write(*,*) ' Two Segment Marina-Tidal Amplitude Method '
19 write(*,*)
20 write(*,*) ' FORTRAN 77 VERSION '
21 write(*,*)
22 write(*,*) ' Developed By '
23 write(*,*) ' Tetra Tech, Inc. '
24 write(*,*)
25 urite(*,*) ' Developed For '
26 write(*,*) ' EPA Region IV '
27 write(*,*)
28
29 WRITE (*, 6000)
30 6000 FORMAT(2X,' Enter The Name of The Output File --> ')
31C
32 READ (5, 5000) 0UTFILE
33 5000 FORMAT
-------
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Marina Water Quality Models, TP A User's Manual
AM = 0.0929 * AM
WR ITE(*,*) ' Input Tidal Amplitude (Feet) ' '
READ (*,*) TA
WRITEC6,14) TA
AO = 0.3048 * TA
WRITE(*,*) ' Return Flow Factor (Dimensionless) ? '
READ (*,*) B
WRITEC6,15) B
WRITE(*,*) ' Sediment Oxygen Demand (g/m**2/day) ? '
READ (*,*) SCO
URITE(6,16) SOO
WRITE(*,*) ' Ambient DO (mg/L) ? '
READ (*,*) DOA
WRITE(6,17) DOA
WRITEC*,*) ' Saturation DO (mg/L) ? '
READ (*,*) DOS
URITE(6,18) DOS
WRITEC,*) ' Decay Coefficient (1/day) ?'
READ (*,*) Kd
WRITE(6,19) Kd
WRITE(*,*) ' Reaeration Coefficient (1/day) ? '
READ (*,*) Kr
WRITE(6,20) Kr
WRITE(*,*) ' Channel Boat Activity (Boat-hours/day) ?'
READ (*,*) NBC
WRITE(6,21) NBC
WRITE(*,*) ' Marina Boat Activity (Boat-hours/day) ?'
READ (*,*) NBM
WRITE(6,22) NMB
WRITE(6,1)
1 FORMAT(//,5X,' T (HRS) , DOC (mg/L), DOM (mg/L) ')
WRITE(6,'(/)')
X = 0
Y = 0
Z = 0
DOC = 6
DOM = 6
DOCAVG = 6
SC = SOO*AC*41.67
SM = SOD*AM*41.67
T = 0
LC = 1.135 * (NBC+NBM) / ( A0*(AC+AM) * (1-B) )
LM = LC + 1.135*NBM/(A0*AM)
KD = KD / 24.0
KR = KR / 24.0
370 A = A0*SIN(.5236*T)
ADOT = 0.5236*A0*COS(.5236*T)
B-5
-------
Marina Water Quality Models, TP A User's Manual
122 VC = (HC+A)*AC*1000
123 VCDOT = ADOT*AC*1000
124 VH = (HM+A)*AH*1000
125 VMDOT =ADOT*AM*1000
126 QA = AOOT* < AC+AM)*1000
127 QB = ADOT*AM*1000
128
129 IF ( ADOT .LT. 0 ) GO TO 490
130 AOC = QA*((1 -B)*DOA+B*DOCAVG) -QB *DOC
131 ADM = QB*DOC
132 GO TO 510
133 490 ADC = QA*DOC-QB*DOM
134 • ADM = QB *DOM
135 510 RC = Kr * CDOS - DOC ) * VC
136 RM = Kr * (DOS - DOH ) * VM
137 BC = KD*LC*VC
138 BM = KD *LM *VM
139 NC = ADC + RC -SC -BC
140 NM = ADM + RM -SM -BM
141 DOC = ' Make a Selection and then Hit Return'
171 WRITE(*,*)
172 UR1TE(*,*)'(1) Go Back to Make Another Run.'
173 URITE(*,*)'(2) Exit the Program.'
174 WRITE(*,*)
175 READ <*,*) I END
176 IF ( I END .EQ. 2 ) THEN
177 CLOSE (6)
178 GO TO 900
179 END IF
180
181 IF C I END .EQ. 1 ) THEN
182 GO TO 7000
183 ELSE
B-6
-------
Marina Water Quality Models, TP A User's Manual
184
GO TO 800
185
END IF
186
187
188c
format statements
189
190
10
format
20x,a40,// )
191
11
format
' Average Channel Depth (Feet) = '
, f10.2)
192
12
format
' Average Marina Depth (Feet) = '
, f10.2)
193
13
format
' Marina Surface Area (Feet**2) = '
, f10.2)
194
14
format
' Input Tidal Amplitude (Feet) = '
, f10.2)
195
15
format
' Return Flow Factor (Dimensionless) = '
, f10.2)
196
16
format
' Sediment Oxygen Demand (g/m**2/day) = '
, f10.2)
197
17
format
' Ambient DO (mg/L) = '
, f10.2)
198
18
format
' Saturation DO (mg/L) = '
, f10.2)
199
19
format
' Decay Coefficient (1/day) = '
, f10.2)
200
20
format
' Reaeration Coefficient (1/day) = '
, f10.2)
201
21
format
' Channel Boat Activity (Boat-hours/day) = '
, f10.2)
202
22
format
' Marina Boat Activity (Boat-hours/day) = '
, f10.2)
203
23
format
' DOCAVG (mg/L) = f12.4)
204
24
format
' DOMAVG (mg/L) = f12.4)
205
25
format
' Channel Surface Area (Feet**2) = '
, f10.2)
206
207
900
STOP
208
END
209
210
211
B-7
------- |