U.S. Department of the Interior

U.S. Geological Survey

Scientific Investigations Report 2010–5250

Prepared in cooperation with Rockland County, New York, and

New York State Department of Environmental Conservation

Hydrogeology and Simulation of

Groundwater Flow in Fractured Rock in the 

Newark Basin, Rockland County, New York

H H’

Pascack Brook

Flow vector—Shows direction

and relative magnitude of

groundwater flow.

Capture zone—Shows

relative likelihood of recharge

discharging at pumped well.

EXPLANATION More likely

Less likely

View toward northeast 

N
Cover. Three-dimensional perspective view of capture zone for Spring Valley well field in Rockland County NY, viewed to northeast 

parallel to strike of bedding.
Hydrogeology and Simulation of Groundwater 

Flow in Fractured Rock in the Newark Basin, 

Rockland County, New York

By Richard M. Yager and Nicholas M. Ratcliffe

Prepared in cooperation with Rockland County, New York, and

New York State Department of Environmental Conservation

Scientific Investigations Report 2010–5250

U.S. Department of the Interior

U.S. Geological Survey
U.S. Department of the Interior

KEN SALAZAR, Secretary

U.S. Geological Survey

Marcia K. McNutt, Director

U.S. Geological Survey, Reston, Virginia: 2010

For product and ordering information:

World Wide Web: http://www.usgs.gov/pubprod

Telephone: 1-888-ASK-USGS

For more information on the USGS—the Federal source for science about the Earth,

its natural and living resources, natural hazards, and the environment:

World Wide Web: http://www.usgs.gov

Telephone: 1-888-ASK-USGS

Any use of trade, product, or firm names is for descriptive purposes only and does not imply 

endorsement by the U.S. Government.

Although this report is in the public domain, permission must be secured from the individual 

copyright owners to reproduce any copyrighted material contained within this report.

Suggested citation:

Yager, R.M., and Ratcliffe, N.M., 2010, Hydrogeology and simulation of groundwater flow in fractured 

rock in the Newark basin, Rockland County, New York: U.S. Geological Survey Scientific Investigations 

Report 2010–5250, 139 p. 
iii

Contents

Abstract...........................................................................................................................................................1

Introduction.....................................................................................................................................................2

Purpose and Scope ..............................................................................................................................2

Previous Investigations........................................................................................................................4

Hydrogeology..................................................................................................................................................4

Bedrock Geology...................................................................................................................................4

Stratigraphy ..................................................................................................................................6

Structure........................................................................................................................................7

Surficial Geology.................................................................................................................................12

Hydrology .............................................................................................................................................12

Occurrence of Groundwater....................................................................................................12

Groundwater Flow .....................................................................................................................12

Groundwater Discharge ...........................................................................................................16

Groundwater Withdrawals.......................................................................................................16

Transmissivity .............................................................................................................................20

Water-Bearing Zones................................................................................................................20

Groundwater Flow Models.........................................................................................................................25

Spring Valley Well Field .....................................................................................................................25

Model Design..............................................................................................................................25

Mesh and Layering...........................................................................................................25

Boundary Conditions........................................................................................................27

Hydraulic Properties ........................................................................................................27

Model Calibration ......................................................................................................................27

Newark Basin Aquifer........................................................................................................................29

Model Design..............................................................................................................................29

Mesh and Layering...........................................................................................................29

Boundary Conditions........................................................................................................33

Hydraulic Conductivity.....................................................................................................35

Model Calibration ......................................................................................................................38

Observations......................................................................................................................38

Model Fit.............................................................................................................................38

Parameters ........................................................................................................................38

Comparison of Transmissivity Estimates.......................................................................44

Model Applications......................................................................................................................................47

Groundwater Age................................................................................................................................47

Capture Zones of Well Fields ............................................................................................................50

Transient Simulation of Changes in Recharge and Groundwater Withdrawals ......................51

Seasonal Transient Simulation: 2000 through 2003 ..............................................................56

Historical Transient Simulation: 1960 through 2006..............................................................58

Limitations and Additional Data Requirements .............................................................................58

Summary and Conclusions.........................................................................................................................61

Acknowledgments.......................................................................................................................................64

References Cited..........................................................................................................................................64
iv

Appendix 1. Generalized bedrock geology of northern Newark basin ................................................68

Appendix 2. Modifications to SUTRA................................................................................................ Link

Appendix 3. Input data for the Time-Dependent Sources and Boundary Conditions Files

(.bcs)............................................................................................................................................. Link

Appendix 4. Selected SUTRA Subroutines ...................................................................................... Link

Figures

1. Map showing generalized bedrock stratigraphy and geographic features near 

Rockland County, NY, and extent of model domain.................................................................3

2. Graph showing population growth, 1940 through 2006, and annual groundwater 

use in Rockland County, NY, 1960 through 2006.......................................................................4

3. Map showing well fields in operation in Rockland County, NY, and average 

groundwater withdrawals, 1995 through 2005.........................................................................5

4. Generalized geologic sections showing sedimentary rock units and diabase 

intrusions in Newark basin, Rockland County, NY..................................................................8

5. Shaded relief and aeromagnetic map of Rockland County, NY, and adjacent 

parts New Jersey and New York .............................................................................................10

6. Structure map of Newark basin in Rockland County, NY, showing measurements 

of strike and dip, and form lines and major folds of bedding ..............................................11

7. Map showing bedrock zones in the Newark basin aquifer in Rockland County, 

NY, interpolated strike of bedding, and distribution of alluvium, outwash, and 

lacustrine sediments....................................................................................................................13

8. Generalized section showing bedrock zones, groundwater level and depths 

of production wells.....................................................................................................................14

9. Map showing average groundwater levels (potentiometric surface) measured 

from 2005 through 2007 in the Newark basin aquifer in Rockland County, NY.................15

10. Water-level hydrographs for two production wells in the Newark basin aquifer 

in Rockland County, NY..............................................................................................................17

11. Map showing watersheds, precipitation gages, and streamgage stations where 

base flow was estimated in and near Rockland County, NY...............................................18

12. Map showing transmissivity of Newark basin aquifer in Rockland County, NY,

showing values estimated at bedrock wells from aquifer test and specific 

capacity data...............................................................................................................................21

13. Map showing high and low transmissivity (T ) zones in the Newark basin aquifer 

in Rockland County, NY, delineated on the basis of kriged interpolation..........................22

14. Boxplots showing distribution of transmissivity in bedrock wells using zones 

based on (A) kriged interpolation and (B) interpretation of Heisig (2010) ...............................23

15. Geologic section showing distribution of water-bearing zones in the Passaic 

Formation at Fair Lawn, New Jersey.......................................................................................24

16. Perspective diagram of block of inclined sedimentary rock showing hydraulic 

conductivity directions at upper edge of block .....................................................................25

17. Grid showing water-level recovery following 5-day cessation of pumping from 

the Spring Valley well field, NY.................................................................................................26
v

18. Schematic design showing distribution of simulated water-level recovery in model 

B (A) plan view, and B) perspective three-dimensional view along section F-F’ ............28

19. Graphs showing observed and simulated water-level recovery in deep wells in 

model B at (A) well Ro1308 (PTPN-20D), (B) well Ro1298 (PTPN-8D), (C) well Ro1305

(PTPN-19D), (D) well Ro1318 (PTPN-24D), (E) well Ro1324 (SRI-2D), and (F) well 

Ro1326 (SRI-3D)............................................................................................................................30

20. Graph showing measured and simulated water-level recovery in shallow

wells in model B at (A) well Ro1310 (PTPN-20S), (B) well Ro1299 (PTPN-8S), 

(C) well Ro1307 (PTPN-19S), (D) well Ro1319 (PTPN-24S), (E) well Ro1325 (SRI-2S), 

and (F) well Ro1327 (SRI-3S)........................................................................................................31

21. Graph showing residual plots (observed minus simulated values) for simulated 

water-level recovery in model B: (A) relation between simulated and observed 

values, and (B) relation between simulated values and residuals.....................................32

22. Map showing finite-element mesh and bedrock zones used to assign thickness 

of active groundwater flow in Newark basin in Rockland County, NY..............................34

23. Block diagram cropped along section G-G’ showing thickness of units and 

hydraulic conductivity zones within model domain..............................................................35

24. Graphs showing relations defining factors used to compute recharge assigned 

to nodes in finite-element mesh (A) pervious area factor, and (B) thickness 

factor for unconsolidated deposits..........................................................................................36

25. Map showing distribution of simulated recharge specified in steady-state 

simulations of 2006 conditions in Newark basin in Rockland County, NY.........................37

26. Map showing potentiometric surface simulated for 2006 conditions in Newark

basin in Rockland County, NY, using model B and distribution of residuals.....................39

27. Block diagram cropped along section G-G’ showing spatial distribution of 

simulated hydraulic head with model B and locations of potential flowing 

and cascading wells ..................................................................................................................40

28. Graphs showing residual plots for simulated water levels in model B (A) relation 

between simulated and observed values, and (B) relation between simulated values 

and weighted residuals .............................................................................................................41

29. Bar chart comparing simulated base flows for selected streams in model B 

with base flows estimated from streamflow hydrographs 2004 to 2007, and low 

flows in July 2006........................................................................................................................42

30. Graphs showing simulated change in head produced by wells pumping from 

isotropic and anisotropic materials (A) fully penetrating well, and (B) partially 

penetrating well ..........................................................................................................................45

31. Schematic design and graph showing effect of angle between strike of bedding 

and hydraulic gradient (θ) and bedding declination (φ) on flow through a block of 

inclined anisotropic material (A) simulated head distribution with θ = 50° and 

φ = 10°, and (B) simulated flow through block ......................................................................46

32. Graph showing comparison of simulated ages of groundwater withdrawn from 

production wells with those estimated on the basis of tritium/helium age dating..........47

33. Map showing spatial distribution of groundwater age in Newark basin in 

Rockland County, NY, as simulated using (A) model A, and (B) model B..........................48

34. Map showing plan views of capture zones of well fields in Rockland County, NY, 

delineated after 10-year travel time with (A) model A, and (B) model B...........................52

35. Schematic design showing three-dimensional perspective views of capture 

zones for Spring Valley well field in Rockland County, NY, delineated using model 

B: (A) view to northeast parallel to strike of bedding, and (B) view to northwest 

perpendicular to strike of bedding...........................................................................................54
vi

Tables

1. Base flow and basin area for streamgage stations in and near, Rockland

County, NY....................................................................................................................................16

2. Well fields supplying water from the Newark basin aquifer in 2005, Rockland 

County, NY....................................................................................................................................19

3. Parameter values in alternative models of recovery test at Spring Valley well 

field in 1992, Rockland County, NY...........................................................................................29

4. Simulated water budget for Newark basin aquifer in model B ..........................................40

5. Parameter values in alternative models of regional groundwater flow specified 

or estimated through nonlinear regression............................................................................43

6. Values of unsaturated flow properties specified in unconfined transient 

simulations...................................................................................................................................56

36. Schematic design showing sensitivity of capture-zone delineation to changes 

in model B: (A) Kmax: Kmin anisotropy reduced to 70:1 (ratio parallel to bedding: 

perpendicular to bedding), (B) recharge rate reduced by 40 percent (1966 rate), 

and (C) withdrawal rates increased by 30 percent...............................................................55

37. Water-level hydrographs simulated using model B with monthly distribution of 

recharge and groundwater withdrawals, 2000 through 2003: (A) well Ro647, 

(B) well Ro1272, (C) well Ro106, (D) well Ro1234, (E) well Ro58, and (F) well Ro1278.............57

38. Graphs showing groundwater discharge to streams (base flow) simulated using 

model B with (A) monthly distribution of recharge and groundwater withdrawals, 

2000 through 2003, and (B) annual distribution of recharge and groundwater 

withdrawals, 1960 through 2006 ...............................................................................................59

39. Water-level hydrographs simulated using model B with annual distribution of 

recharge and groundwater withdrawals, 1960 through 2006: (A) well Ro647, 

(B) well Ro1272, (C) well Ro106, (D) well Ro1234, (E) well Ro58, and (F) well Ro1278.............60

Conversion Factors

Inch/Pound to SI

Multiply By To obtain

Length

inch (in.) 2.54 centimeter (cm)

inch (in.) 25.4 millimeter (mm)

foot (ft) 0.3048 meter (m)

mile (mi) 1.609 kilometer (km)

Area

square foot (ft2) 929.0 square centimeter (cm2)

square foot (ft2) 0.09290 square meter (m2)

square mile (mi2) 259.0 hectare (ha)

square mile (mi2) 2.590 square kilometer (km2) 
vii

Volume

gallon (gal) 3.785 liter (L) 

gallon (gal) 0.003785 cubic meter (m3) 

million gallons (Mgal) 3,785 cubic meter (m3)

cubic foot (ft3) 0.02832 cubic meter (m3) 

Flow rate

foot per day (ft/d) 0.3048 meter per day (m/d)

cubic foot per second (ft3/s) 0.02832 cubic meter per second (m3/s)

cubic foot per day (ft3/d) 0.02832 cubic meter per day (m3/d)

cubic foot per second per square mile 

[(ft3/s)/mi2] 0.01093 cubic meter per second per square kilometer [(m3/s)/km2]

gallon per minute (gal/min) 0.06309 liter per second (L/s)

million gallons per day (Mgal/d) 0.04381 cubic meter per second (m3/s)

inch per year (in/yr) 25.4 millimeter per year (mm/yr)

Specific capacity

gallon per minute per foot 

[(gal/min)/ft)] 0.2070 liter per second per meter [(L/s)/m]

Hydraulic conductivity

foot per day (ft/d) 0.3048 meter per day (m/d)

Hydraulic gradient

foot per mile (ft/mi) 0.1894 meter per kilometer (m/km)

Transmissivity*

foot squared per day (ft2/d) 0.09290 meter squared per day (m2/d) 

Temperature in degrees Celsius (°C) may be converted to degrees Fahrenheit (°F) as follows:

°F=(1.8×°C)+32

Temperature in degrees Fahrenheit (°F) may be converted to degrees Celsius (°C) as follows:

°C=(°F-32)/1.8

Vertical coordinate information is referenced to the North American Vertical Datum of 1988 

(NAVD 88).

Horizontal coordinate information is referenced to the North American Datum of 1983 (NAD 83).

Altitude, as used in this report, refers to distance above the vertical datum.

*Transmissivity: The standard unit for transmissivity is cubic foot per day per square foot times 

foot of aquifer thickness [(ft3/d)/ft2]ft. In this report, the mathematically reduced form, foot 

squared per day (ft2/d), is used for convenience.

Hydrogeology and Simulation of Groundwater Flow in 

Fractured Rock in the Newark Basin, Rockland County, 

New York

By Richard M. Yager and Nicolas M. Ratcliffe

Abstract

Groundwater in the Newark basin aquifer flows primarily through discrete water-bearing zones parallel to the strike 

and dip of bedding, whereas flow perpendicular to the strike 

is restricted, thereby imparting anisotropy to the groundwater 

flow field. The finite-element model SUTRA was used to 

represent bedrock structure in the aquifer by spatially varying 

the orientation of the hydraulic conductivity tensor to reflect 

variations in the strike and dip of the bedding. Directions of 

maximum and medium hydraulic conductivity were oriented 

parallel to the bedding, and the direction of minimum hydraulic conductivity was oriented perpendicular to the bedding. 

Groundwater flow models were prepared to simulate local 

flow in the vicinity of the Spring Valley well field and regional 

flow through the Newark basin aquifer.

The Newark basin contains sedimentary rocks deposited 

as alluvium during the Late Triassic and is one of a series 

of basins that developed when Mesozoic rifting of the super 

continent Pangea created the Atlantic Ocean. The westwarddipping basin is filled with interbedded facies of coarsegrained to fine-grained rocks that were intruded by diabase 

associated with Jurassic volcanism. The Newark basin aquifer 

is bounded to the north and east by the Palisades sill and to the 

west by the Ramapo Fault. Although the general dip of bedding is toward the fault, mapping of conglomerate beds indicates the rocks are folded into broad anticlines and synclines. 

An alternative, more uniform pattern of regional structure, 

based on interpolated strike and dip measurements from a 

number of sources, has also been proposed. Two groundwater 

flow models (A for the former type of bedrock structure and B 

for the latter type) were developed to represent these alternative depictions of bedrock structure.

Transient simulations were calibrated to reproduce 

measured water-level recoveries in a 9.3 mi2 area surrounding the Spring Valley well field during a 5-day aquifer test 

in 1992. The models represented a 330-ft thick rock mass 

divided vertically into 10 equally spaced layers and were 

calibrated through nonlinear regression. Results of model 

B best matched the observed water-level recoveries with an 

estimated hydraulic conductivity of 9.5 ft/day, specific storage 

of 7.6 x 10–6 ft–1, and Kmax: Kmin anisotropy ratio (hydraulic 

conductivity parallel to bedding: perpendicular to bedding) of 

72:1. Model error was 50 percent greater in model A because 

the assumed structure did not match the actual strike of bedding in this area. 

Steady-state simulations of regional flow through the 

85.4-mi2 modeled extent of the Newark basin aquifer represented both the alluvial aquifer beneath the Mawah River 

and the fractured bedrock. The rock mass was divided into 

two aquifer units: an upper 500-ft thick unit divided into 

10 equally spaced layers through which most groundwater 

is assumed to flow and a lower unit divided into 7 layers 

with increasing thickness. Models were calibrated through 

nonlinear regression to average water levels measured in 140 

wells from August 2005 through April 2007. Water levels 

simulated using the two models were similar and generally 

matched those observed, and the average recharge rate estimated using both models was 19 inches/year for the simulated 

period. Estimated transmissivity parallel to the strike of bedding (1,100 ft2

/d) was uniform in two transmissivity (T) zones 

in model A, but in model B the transmissivity of a high T

zone (1,600 ft2/d), delineated on the basis of aquifer test data, 

was slightly greater than in a low T zone (1,300 ft2/d). The 

Kmax: Kmin anisotropy was estimated to be 58:1 in model A and 

410:1 in model B, so the proportion of flow perpendicular to 

bedding is less in model B than in model A.

Distributions of groundwater age simulated with models 

A and B are similar and indicate that most shallow groundwater (225 ft below the bedrock surface) is 5 to 20 years old, 

with younger water (5 years or less) near upland recharge 

areas and older water (more than 100 years) in lowland 

discharge areas near the Hackensack River and Saddle River. 

The two simulated distributions differ in some areas where 

younger water is simulated with model A. Effective porosity 

(2 x 10–2) was estimated by comparing simulated groundwater 

ages with those calculated previously on the basis of tritium/

helium (3H/3He) dating. Well-field capture zones delineated 

for major well fields are generally elongated parallel to the 

assumed strike of bedding and are affected by the simulated 

potentiometric surface, the drainage network of stream channels, and capture zones of adjacent well fields. Sizes of capture 

zones range from 1.9 mi2 (1,200 acres) for well fields with 
2 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

the largest average withdrawal rates (1,300 gal/min) to less 

than 0.04 mi2 (25 acres) for well fields with the smallest rates 

(80 gal/min). Base flows in Pascack Brook and Nauraushaun 

Brook probably have been decreased by groundwater withdrawals because capture zones of several well fields overlap 

these watersheds.

The effects of annual and monthly changes in recharge 

and groundwater withdrawals on water levels and discharges 

to streams were assessed through transient flow simulations 

of two periods: a 47-year period from January 1960 through 

December 2006 and a 3-year period from January 2000 

through December 2003. The simulations included an orderof-magnitude range in specific storage (Ss

) and both saturated 

and variably saturated conditions. Monthly water levels 

simulated with the smallest Ss value (7.6 x 10–6 ft–1 from 

simulation of the Spring Valley water-level recovery test) 

fluctuated by about 15 ft in lowlands and 85 ft in uplands, 

and by about 3 ft and 20 ft using the largest Ss value, whereas 

measured water-levels fluctuated by 7 ft and 13 ft, respectively. The hydrographs of simulated annual groundwater 

levels indicate a trend of decreasing groundwater levels 

from 1960 through 2006 in upland areas where water levels 

decreased by 15 to 20 ft. Although the groundwater flow 

models described in this report are sufficiently accurate to 

estimate the water budget and delineate capture zones of 

pumped wells, smaller-scale higher-resolution models would 

be needed to more accurately simulate contaminant movement, interference between adjacent wells, and local effects 

of pumping on stream discharge.

Introduction

Groundwater provided an average 21 million gallons per 

day (Mgal/d) or about 60 percent of the public water supply 

for about 300,000 people in Rockland County, New York, 

from 1985 through 2005. Of this amount, nearly one-half 

(10 Mgal/d) was withdrawn from fractured sedimentary rocks 

of the Newark basin that underlie an 85.4 mi2 area in the 

southeastern part of the county that is bounded by the New 

Jersey State line and the Palisades sill (fig. 1). The population of Rockland County increased steadily from the 1950s 

through the 1970s because of its proximity to New York City 

(U.S. Census Bureau, 2007), and water use followed a similar 

trend (fig. 2) (Legette, Brashears and Graham, Inc, written 

commun., 2007). Groundwater withdrawals from the Newark 

basin provided nearly the entire water supply until the 1960s 

when the commercially owned water provider augmented 

the supply by including groundwater from unconsolidated 

aquifers adjacent to the Ramapo and Mahwah Rivers and 

surface water from the Lake DeForest Reservoir. Despite 

these additional sources, groundwater from the Newark basin 

remains a substantial component of the public water supply, 

and 32 well fields were in operation in 2005 (fig. 3). As early 

as 1979, there was concern that utilization of the Newark 

basin aquifer was near capacity and that withdrawals equaled 

60 percent of recharge (Legette, Brashears and Graham, Inc., 

1979). In more recent years (2000 to 2010), withdrawals from 

individual well fields were sometimes curtailed during periods 

of high demand in the summer when water levels were too low 

to sustain pumping. Contamination of groundwater has also 

necessitated closure or additional treatment at some well fields 

(Heisig, 2010).

Because of the importance of groundwater to the Rockland County water supply and concerns regarding the sustainability and quality of water in the Newark basin aquifer, 

the U.S. Geological Survey (USGS) began a 5-year study of 

this resource in 2003 in cooperation with Rockland County 

and New York State Department of Environmental Conservation. This comprehensive investigation, documented in a 

companion report (Heisig, 2010) included (1) measurement 

of groundwater levels, (2) borehole geophysical surveys in 

selected wells, (3) evaluation of streamflow, and (4) analysis 

of groundwater chemistry. An additional component of the 

study was the development of a groundwater flow model 

of the Newark basin aquifer, described herein, to facilitate 

estimation of recharge and delineation of capture zones that 

supply water to well fields. A further benefit of the development of a groundwater flow model was the assessment of the 

effects of more than 40 years of withdrawals on water levels in 

the Newark basin aquifer.

Purpose and Scope

This report describes the hydrogeology of the Newark 

basin aquifer in Rockland County, NY, and the development and application of groundwater flow models. The 

bedrock geology is discussed, including stratigraphy and 

structure, and glacial geology. Bedrock stratigraphy is 

illustrated through sections and maps, two of which depict 

alternate interpretations of the regional strike of bedding. 

The first is more detailed and reflects minor structures 

(folds) in the rock, while the second is more generalized 

and depicts a more uniform structure with less folding. 

A conceptual model of the groundwater flow system is 

discussed, including estimates of transmissivity for the 

fracture network that transmits water through the aquifer, 

and information regarding groundwater discharge and 

withdrawals is presented.

The report documents the design and calibration of threedimensional models used to simulate the pattern and rate of 

groundwater flow, and to estimate the hydraulic properties of 

the aquifer. Applications of model simulations used to estimate 

groundwater age and to delineate capture zones of well fields 

in operation in 2005 are described. Additional simulations 

that show changes in water levels in response to changes in 

recharge and withdrawals, including monthly changes from 

2000 through 2003 and annual changes from 1960 through 

2006, also are presented. Finally, the limitations of the models 

and the need for additional information are discussed.
Introduction 3

Figure 1. Generalized bedrock stratigraphy and geographic features near Rockland County, NY, and extent of model domain. 

Bedrock stratigraphy based on Ratcliffe (1988).

A

D'

D

A' B

B'

C

C'

Mahwah River

Ramapo River

Hackensack

 River

Palisades Sill

Tappan Zee

 bridge

Palisades

 Parkway

Tomkins Cove

Thiells

Nyack

West

Nyack

Congers

Mount

Ladentown Ivy

Union Hill

Viola

Spring

 Valley

New

 City

NEW JERSEY

NEW YORK

Hudson River

Mahwah River

Lake DeForest

Ramapo River

Hackensack

 River

ROCKLAND COUNTY

REGIONAL MODEL

 DOMAIN

RAMAPO MOUNTAINS

Palisades Sill

Tappan Zee

 bridge RAMAPO FAULT

5 KILOMETERS

0 5 MILES

0 Line of geologic section

Fault—Dashed where conjectural

EXPLANATION

A A'

Newark Supergroup

Undivided Ordovician and

 older rocks. Mainly gneiss and

 metasedimentary rock

Diabase and basalt

Palisades

 Parkway

Tomkins Cove

Thiells

Nyack

West

Nyack

Congers

Mount

Ladentown Ivy

Union Hill

Viola

Spring

 Valley

New

 City

New York State

Thruway

New York

City

Philadelphia

Fair Lawn

ROCKLAND

COUNTY

NJ

Modified from Rankin and others (1989) 0

0

100 KILOMETERS

100 MILES

PA

NY

NEWARK

BASIN

74°05' 74°00'

41°20'

41°15'

41°10'

41°05'

41°00'

74°10' 73°55'

Base from Rockland County Planning Department
4 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 2. Population growth, 1940 through 2006, and annual groundwater use in Rockland County, NY, 1960 

through 2006.

0

2

4

6

8

10

0

50,000

100,000

150,000

200,000

250,000

300,000

1940 1950 1960 1970 1980 1990 2000 2010

ANNUAL WITHDRAWALS, IN BILLION GALLONS

POPULATION

Population

Withdrawals for public

water supply:

Total groundwater

Newark basin aquifer

YEAR

Previous Investigations

A comprehensive summary of hydrologic and geologic 

studies that pertain to the Newark basin aquifer in Rockland 

County is presented in Heisig (2010). The geology of the 

sedimentary rocks, including stratigraphy and structure, is 

described by Kummel (1899), Savage (1967), and Ratcliffe 

(1988). The geology of intrusive igneous rock (diabase) 

within Rockland County is discussed by Lowe (1959) and 

Ratcliffe (1988). The structure of the Ramapo Fault and 

adjacent areas was investigated by Ratcliffe (1980, 1982) 

and Ratcliffe and Burton (1985). A hydrogeologic study by 

Perlmutter (1959) of the Newark basin aquifer in Rockland 

County described the bedrock and glacial geology, the waterbearing properties of the aquifer, and water use. Perlmutter 

(1959) also compiled water levels, yields, and water-quality 

data. Leggette, Brashears, and Graham, Inc. (1979) conducted 

a hydrogeologic assessment of the aquifer and estimated 

water availability by computing water budgets for the largest 

watersheds. Leggette, Brashears, and Graham, Inc. (1992) 

conducted a 5-day aquifer test at the Spring Valley well field 

using 4 production wells and 32 observation wells. Aeschbach-Hertig and others (1998) estimated the age of groundwater in the Newark basin aquifer in Rockland County using 

tritium-helium age dating.

Hydrogeology

The Newark basin aquifer in Rockland County lies 

within eroded Upper Triassic to Lower Jurassic rocks of the 

Newark Supergroup at the northern end of the Newark basin, 

which extends 150 mi from New York State southwest across 

New Jersey into Pennsylvania. The Newark basin is one of 

a series of such continental rift basins in eastern North and 

South America, and western Africa, and Europe that developed during the Mesozoic rifting of the super continent Pangea and creation of the Atlantic Ocean (Pittman and Talwani, 

1972; Olsen 1997). The cumulative width of the opposing rift 

basins on both sides of the present Atlantic Ocean is as much 

as 300 mi, making these basins first-order tectonic features of 

the Earth.

Bedrock Geology

The Newark basin in Rockland County is a fault-bounded 

half graben that consists of a 2.5 to 3 mi-thick sequence of 

westward dipping continental red beds and lake deposits, 

and intrusive sheets of diabase and basaltic lava flows, that 

collectively make up the Newark Supergroup. These rocks 

unconformably overlie much older metamorphic rocks of 
Hydrogeology 5

Figure 3. Well fields in operation in Rockland County, NY, and average groundwater withdrawals, 1995 through 2005.

New York State Thruway

Palisades

Parkway

Wesel

 Road 

 

 

 

 

 

 

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Well field with identifier and 

 mean yield from 1985 to 2005,

 in gallons per minute

EXPLANATION

Less than 50

Greater than 500

Perennial stream

50 to 250

250 to 500

5 KILOMETERS

0 5 MILES

0

Westgate

Elmwood

Germonds

Bardonia

Nanuet

Wyeth

Blauvelt

Pearl 

River

New City

Norge

Birchwood

Tallman

Rustic Cherry

Pinebrook

Grotke

Saddle

 River

Viola

Eckerson

Pascack

Lake

 Shore

NY Country

 Club

Pomona

Lake

Grandview

Catamount

Nottingham

Monsey Spring

 Valley

River

Willow

 Tree

 

New 

Hempstead Lake DeForest

REGIONAL MODEL

 DOMAIN

SPRING VALLEY

MODEL DOMAIN

Base from Rockland County Planning Department

Mahwah River
6 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

the Hudson Highlands and Manhattan Prong that extend 

under the basin from the west, north, and east. The floor of 

the basin extends beneath the Hudson River, as determined 

during drilling for the Tappan Zee bridge (Worzel and Drake, 

1957), and is locally exposed only at Tomkins Cove, NY 

(fig. 1). Several miles of basin sediments were removed by 

erosion after deposition, and the total sediment thickness is 

as much as 3.6 mi near the center of the basin in Pennsylvania. The Ramapo Fault bounds the Newark basin to the west 

in Rockland County and is inclined about 55 degrees to the 

southeast (Ratcliffe,1980 and 1982). Cumulative movement 

along the Ramapo Fault caused basin sediments and diabase to 

drop as much as 2.5 mi during the Mesozoic Era. Although the 

last movements are more recent than about 200 mega-annum 

(Ma), no evidence supports further reactivation of this thrust 

fault (Ratcliffe, 1980).

The resistance of rocks in Rockland County to erosion is 

variable and has resulted in the present land-surface topography. Highlands underlain by Proterozoic gneiss to the west of 

the Newark basin in Rockland County form a distinct eroded 

scarp that marks the location of the Ramapo Fault (fig. 1). A 

highland within the basin near Ladentown and Viola is underlain by gently folded layers of resistant lava flows and thick 

beds of coarse conglomerate. The topography in eastern and 

northern parts of the basin is dominated by a resistant northsouth trending ridge underlain by the diabase of the Palisades 

sill that curves and trends east-west and terminates at Mount 

Ivy. In the central part of the basin, from New City to West 

Nyack, the topography is lower and less affected by erosion 

and is dominated by north-south trending drumlins formed 

by molding of glacial drift during Pleistocene glaciation. 

Pleistocene and Holocene alluvial gravels and sands underlie 

swampy areas along the valley of the Mahwah River and near 

Thiells and Mount Ivy.

Stratigraphy

Sedimentary rocks of the Newark Supergroup in Rockland County range in age from Late Triassic Period to Early 

Jurassic Period. The age, grain size, texture, and bedding characteristics of rocks vary, depending upon the location and the 

former depositional environments within the subsiding basin 

(Smoot, 1991; Olsen and Rainforth, 2003). The Stockton Formation (fig. 4 and Appendix 1) consists of arkosic sandstones, 

pebbly sandstones, and feldspar containing conglomerate. 

These Triassic sediments were deposited in the basin by many 

small rivers and streams before the present drainage system 

was developed. Coarse- to fine-grained alluvial deposits and 

coarse-grained alluvial fans were deposited as interfingering 

facies and are interbedded with lacustrine deposits of the 

Lockatong Formation, which is well developed closer to the 

center of the basin in New Jersey but present only locally in 

Rockland County (Appendix 1).

The Passaic Formation directly overlies the Stockton 

Formation where the Lockatong Formation is absent and 

consists of interbedded coarse-grained to fine-grained arkosic 

sandstones, siltstones, and shales. The fine-grained rocks crop 

out in the eastern part of the basin, whereas the coarse-grained 

rocks are present at higher stratigraphic levels to the west. The 

lower part of the Passaic Formation consists of interbedded 

arkosic sandstone, mudstone, and silty shales. A distinctive 

polymictic quartz conglomerate in the lower Passaic Formation is cut by the Palisades sill and serves as a marker horizon 

north of the sill. Braided streams near the western margin of 

the basin in Rockland County deposited fine sands and clay 

into shallow ephemeral lakes in this area as part of a major 

south-draining river system, forming an “axial alluvial facies” 

in the upper and middle part of the Passaic Formation that has 

been identified by Smoot (2010). Parker and others (1988) 

and Parker (1993) determined that cross bedding in these 

alluvial deposits is highly variable, but the cross bedding in 

general indicates south to southeast transport and deposition. 

The orientation of individual foreset beds in these deposits 

is variable, and dip directions range from east-northeast to 

south-southwest. Strike measurements based on cross bedding 

observed in geophysical logs, therefore, may not reflect the 

generalized regional strike of bedding in the Passaic Formation. Rocks with these characteristics also are present in the 

middle and lower parts of the Passaic Formation in central and 

eastern Rockland County.

The middle and upper parts of the Passaic Formation 

consist of coarse-grained to medium-grained quartz-pebble 

sandstone and conglomerate with less mudstone and shale. 

Smoot (2010) interprets these deposits as alluvial braidedstream deposits within the axial alluvial facies. Six continuous 

conglomerate layers have been identified by Ratcliffe (1980) 

in the middle and upper Passaic Formation (Appendix 1). The 

conglomerate layers in the middle of the Passaic Formation 

contain pebbles and cobbles that are predominantly clasts of 

the Devonian Green Pond Conglomerate (Ratcliffe, 1980). 

The conglomerate layers at higher stratigraphic levels also 

contain boulders with cobbles of Mesoproterozoic gneiss and 

clasts of rhyodacite dikes from the Rosetown pluton and dike 

swarm (Ratcliffe, 1980) that crop out several miles north and 

west of the basin margin. In the northwestern part of the basin, 

coarse limestone and dolostone fanglomerates (coarse material 

in an alluvial fan) in the upper part of the Passaic Formation 

are abundant at land surface and in drill cores (Ratcliffe, 1980; 

1982; 1988). The conglomerates thicken westward towards 

the Ramapo Fault and replace the sandstone and sandstone 

alluvial facies (fig. 4) of the Passaic Formation.

The earliest lava flows in the Newark basin mark the 

approximate boundary between Triassic and Jurassic rocks. 

Where the lavas are thin or flowed over irregular topography 

this boundary is difficult to discern, however, so deposition of 

the Passaic Formation could have extended into the Jurassic 

Period in some areas near Ladentown (fig. 1 and Appendix 1) 

(Ratcliffe, 1980; 1988). An episode of magmatism produced 

voluminous intrusions of basalt and lava flows in the Newark basin during a brief period in the Lower Jurassic at about 

201Ma (Dunning and Hodych, 1990). The Feltville Formation, 

the only sedimentary rocks within the basin known to overlie 
Hydrogeology 7

the basalt, is present near Ladentown (Ratcliffe,1988) and overlies the Orange Mountain Basalt (Olsen and Rainforth, 2003). 

The Palisades sill intrudes the Stockton and Lockatong 

Formations from Nyack northward to Verdrietege Hook, 

where the sill is about 1,000 ft thick and generally concordant 

to sedimentary rock layers. On the basis of aeromagnetic 

mapping, the top and base of the sill are slightly discordant 

and may also consist of buried tongues of diabase that intrude 

into the Stockton Formation (fig.4). The Palisades sill thins 

and is strongly discordant from Verdrietege Hook westward 

through Hi Tor to Mount Ivy (Appendix 1). Sedimentary rock 

within about 30 ft of the Palisades sill was recrystallized by 

heat from the slow-cooling magma, producing a dense, finegrained dark rock called hornfels. The thickness of hornfels 

decreases westward as the depth of intrusion also decreases, 

and little or no hornfels is present between Mount Ivy and 

Ladentown. A diabase dike extends upward through about 

2.4 mi of sedimentary rocks and surfaces near Ladentown as a 

fissure flow complex (Ratcliffe, 1980 and 1988) that was first 

recognized by Kummel (1899). Recent geochemical studies 

(Puffer and others, 2009) indicate that lava flows at Ladentown and the diabase of the feeder dike (Ratcliffe, 1980, 1982 

and 1988) correlate with successive magma pulses of the Palisades sill injected over a 10,000- to 20,000-year period and 

were the source of widespread Orange Mountain Basalt flows 

of New Jersey and the Preakness Basalt (Olsen and Rainforth, 

2003). It is uncertain, however, whether lava flows at Ladentown correlate solely with the Orange Mountain Basalt or 

whether the upper flow is derived from the Preakness Basalt.

The New City dike (Frimpter, 1967) is a part of the 

Palisades sill that extends west to New City and correlates 

with a positive aeromagnetic anomaly (fig. 5) (Andreason, 

1962). Although shown as a continuous feature at land 

surface by Frimpter (1967) and Fisher and others (1971), 

there are few exposures of diabase along this trend. Where 

exposed, the diabase forms small north-east trending dikes 

at a high angle to the aeromagnetically defined intrusion 

(fig. 5), and it is likely that the New City dike is largely a 

subsurface feature.

The four detailed sections in figure 4 show the subsurface configuration of major lithofacies in upper Triassic to 

lower Jurassic sedimentary rocks of the Newark Supergroup 

(Trs, Trl and Trps) and lower Jurassic intrusive diabase (Jd) 

and basalt (Jb) in Rockland County. Sections A-A', B-B', and 

C-C' are drawn normal to the Ramapo Fault, and section D-D' 

is drawn north to south and intersects the other three. The 

subsurface interfingering of lithic units is conjectural at depth 

but agrees with surface observations along the lines of section. The sedimentary rocks dip to the west and unconformably overlie much older (Ordovician to Precambrian) metamorphic rocks of Manhattan Prong and Hudson Highlands. 

In general, the sedimentary rocks are coarsest near the base 

in the Stockton Formation (Trs) and in the western and upper 

parts of the Passaic Formation (Trplc). Medium-grained sandstone containing beds of quartz-pebble to -cobble conglomerate (Trpc) is predominant in the middle part of the Passaic 

Formation and is underlain by a fine-grained sequence of 

siltstone and shale that contains few conglomerate beds. The 

actual number of conglomerate beds is probably greater than 

illustrated in the sections owing to incomplete exposure at 

land surface. Dark gray lacustrine shales of the Lockatong 

Formation are limited in extent and are present immediately 

above and below the Palisades sill near Congers and northern 

Nyack (Appendix 1).

Subsurface intrusive diabase (Jd) of the Palisades sill and 

New City dike extend westward toward Ladentown where the 

fissure-feeder flow complex is present at land surface within 

a thin section of Jurassic sedimentary rocks. The intrusive 

rocks are present in a saucer-shaped form with two south- to 

southwest-dipping flanges and a broad sub-horizontal floor, 

as shown in section D-D'. The New City dike is exposed at 

the surface in several places as northeast-trending dikes that 

resemble “fins” emanating from a general northwest-trending 

feature; the dike is well-defined by a positive aeromagnetic 

anomaly (fig. 5). A steep negative gradient along the northeast border of the New City aeromagnetic anomaly and lesser 

gradient to the southwest indicate a southwest-dipping lower 

contact that mimics that of the Palisades sill to the north. The 

irregular pattern of the New City anomaly indicates the top 

of the dike is uneven and that protrusions extend closer to 

the surface in some places than in others. The top of the dike 

in section B-B' is shown to be generally within 500 to 600 ft 

of land surface and crops out at land surface near the Hudson River in the eastern part of the basin. The dike may be 

continuous at land surface, although this is not shown, and the 

depth of the dike below land surface is uncertain because maps 

of the outcrops are limited in extent. Previous maps (Fisher 

and others, 1971) show the New City dike as a continuous feature on the basis of mapping by Frimpter (1967). The apparent 

sub-horizontal attitude of the dike in section B-B' is the result 

of the orientation of the section line at a low angle to the trend 

of the dike.

Structure

The general dip of the bedding in the Newark Supergroup 

throughout the Newark basin is westward to northwestward to 

border faults, such as the Ramapo Fault. The rocks are folded 

regionally and locally into broad anticlines and synclines that 

vary in amplitude. The folding is attributed to differential 

motion between blocks along the irregular basin margins as a 

result of changes in the regional stress field following the end 

of rifting and the opening of the Atlantic Ocean (Schlische, 

2002). Some of these structures are illustrated on a structure 

map (fig. 6) that traces individual conglomerate beds and form 

lines that outline the more prominent folds. The folds are open, 

broad structures that have low plunges and slight variations 

in strikes as the folds diminish eastward. Abrupt changes in 

strikes occur north and south of the Palisades sill and adjacent 

to some mapped faults, as illustrated by form lines drawn parallel to the generalized regional strike of bedding in figure 6. 

Offsets in form lines from Verdrietege Hook west to Mount Ivy 
Figure 4. Generalized geologic sections showing sedimentary rock units and diabase intrusions in Newark basin, Rockland County, NY. Location figure 1. 

Trl A 

D-D' crossing B 

D-D' crossing H

C 

D-D' crossing 

Ramapo Fault Ramapo Fault unconformity unconformity 

–2,000 –4,000 –6,000 –2,000 –4,000 –6,000 –2,000 –4,000 –6,000 NAVD 88 NAVD 88 Jb Trpss O-Ymp Trplc

ALTITUDE, IN FEET ALTITUDE, IN FEET

NAVD 88

ALTITUDE, IN FEET

Trs

Trl

Trl

Trpc

Trps

Trplc

Trpc

Trps

Trpss

Trl

Trpss

Jd

Trs

O-Ymp

Trpc

Trps Trplc Trl

Yhg

Trplc

Trpc

Trps

Trps Trps

Trpc Jd

Trpc

Jd

Trps

Trl

Trl

Trs

Trpc

O-Ymp

O-Ym

Trs Jd

Trl

Trl Trps

Yhg

Jd

Jd

Trplc

Trpc

Trps Trps

Jd

Trs

Trpc Trpc Trpc

A

T

A

T

T A

0 10,000 FEET0 3,000 METERS
Figure 4. Generalized geologic sections showing sedimentary rock units and diabase intrusions in Newark basin, Rockland County, NY—Continushown in figure 1.

Jb—Basalt lava flows and intercalated sedimentary rocks-(lower Jurassic) Exposed at Ladentown fissure flow eruptive center

Trpss—Arkosic siltstone and shale

Yhg—Gneisses of the Hudson Highlands (Mesoproterozoic)

O-Ymp—Metamorphic rocks of the Manhattan prong (Ordovician to 

Jd—Diabase intrusions (Lower Jurassic)

Trplc—Limestone conglomerate

Trs—Stockton Formation-(Upper Triassic)—gray, red arkosic, th sandstone, light colored sandstone and polymict conglome Unconformity

Trl—Lockatong Formation-(Upper Triassic)—black and gray sha

Trpc—Quartz-cobble and −pebble conglomerate

Trps—Arkosic sandstone and minor pebbly arkose

OCw—Carbonate rocks of the Wappinger Group (Ordovician and 

 Shown only in section D-D'

Rocks of Newark Supergroup in Rockland County

Vertical datum is NAVD 88. No vertical exaggeration.

Passaic Formation (Upper Triassic)

Assumed depth of active flow Fault—arrows show dip slip component of motion, A/T shows mot away and towards observer

Major lithofacies patterns show interbedding of rock types

EXPLANATION

Lower extent of regional flow model

A

T

Qud—Unconsolidated deposits

Quaternary deposits

Trp

NJ NY C-C' crossing B-B' crossing A-A' crossing

–2,000 –4,000–6,000

D

Trplc

Trps

Trl

Trpss

Trs Yhg

Jd Trps

Trpss

Trplc Trp

Trps

Trps

Trps

Trpss

Trplc

Jd

NAVD 88

ALTITUDE, IN FEET

T A

0 10,000 FEET0 3,000 METERS
10 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 5. Shaded relief and aeromagnetic map of Rockland County, NY, and adjacent parts New Jersey and New York. (Steve 

Snyder, USGS, written commun., 2009, after Bond and Phillips, 1988)

41°00'

41°05'

41°10'

41°15'

41°20'

74 °10' 73 °55'

New City dike

New City

Ladentown

NEW YORK

NEW JERSEY

ROCKLAND COUNTY

BOUNDARY

Hudson River

74°15' 74°05' 74°00'

5 KILOMETERS

0 5 MILES

0

EXPLANATION

200

–700

–600

–500

–400

–300

–200

–100

50

0

Magnetic field strength,

 in nanoTeslas

200

50

0

-100

-150

-200

-250

-300

-350

-400

-450

-500

-550

-600

-650

-700

-750
Hydrogeology 11

Figure 6. Structure map of Newark basin in Rockland County, NY, showing measurements of strike and dip, and form 

lines and major folds of bedding.

20 15 20

15 20

25

12

5

8

3

9

4

5 5

10

7

18

35 8 7

10 7

3 8

8

10

5 8 30

15

11 12

15

8

5 11 1010

9 12

10

17

6

10

8

8

11 45,75 1412 8

12 17 63,47

11 12 10 5 7

10

10 5

6

7

5 7

12

7 6

8

13 11

14

11

11

12

14

14

55

8

7

11

17 5

10

14

11

8

6

15

8

8

16

7

6

9

8 5

15

5

9

6

5

7

7

7

7

4 67

62

10

10

10

8 14 10 7

9

7

7 5 7

9 15

12

16 4

16 13 5

5 7

13 3

9 11

2

2

6

13 14

9

5 3

7

3

4

10

6

7

8

8 8

8

6

10

9

10

10

12

8

4 5

5

5

8

8

8

16 8

7

6 10

6

0 5 MILES

0 5 KILOMETERS

ROCKLAND COUNTY

PALISADES SILL

RAMAPO FAULT

THIELLS FAULT

REGIONAL MODEL 

DOMAIN

Hudson River

Tomkins Cove

VERDRIETEGE

 HOOK

Thiells

Nyack

Mount

Ladentown Ivy

Union Hill

Viola

New York State Thruway

EXPLANATION

Fault—Dashed where conjectural

Strike and dip of bedding

Form line drawn parallel to bedding

Conglomerate bed

5

Diabase and basalt

Spring

 Valley

Congers

DIABASE

INTRUSIONS

74°00'

41°00'

SPRING VALLEY

MODEL DOMAIN

Base from Rockland County Planning Department

Palisades

 Parkway

74°05' 73°55'

41°10'

41°05'
12 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

indicate that this section of the Palisades sill intruded along a 

fault similar to another mapped fault near Viola (fig. 6). Form 

lines trend east-west north of the Palisades sill to the northern 

end of the basin and define a broad south-plunging syncline.

The Ramapo and Thiells Faults are major faults associated with dropping and tilting of basin sediments and are part 

of a wide zone of Mesozoic faulting referred to as the Ramapo 

Fault zone (Ratcliffe, 1980). These faults affected a broad area 

in the western part of the Newark basin and produced uplifted 

blocks that contributed to alluvial fans feeding the basin. 

Brecciation is extensive along these faults, along with a welldeveloped system of conjugate normal faults and subvertical 

extension fracture fillings of zeolites, quartz, and carbonate. 

The fractured zone is approximately 300 ft thick along the 

Ramapo Fault (Ratcliffe, 1980; 1982). 

Heisig (2010) interpolated strike and dip measurements 

from multiple published sources. New data were obtained 

from borehole optical and acoustic televiewer logs, and a bedding structure map was produced that depicts a more parallel 

orientation of bedding strike in the sedimentary bedrock than 

that of figure 6. Heisig (2010) also divided the sedimentary 

bedrock of the Newark basin in Rockland County into four 

zones on the basis of lithology, natural-gamma log activity, 

and relation to the Ramapo Fault and the Palisades sill (fig. 7). 

Zone A is adjacent to the Ramapo Fault and areas underlain 

by intrusive diabase and contains fanglomerates that have 

low natural-gamma activity. Zone B underlies the western 

part of the Newark basin in Rockland County and contains 

conglomerate and conglomerate sandstone that have low 

natural-gamma activity. Zone C underlies the central part of 

the basin and contains sandstone with interbeds of fine-grained 

rocks that increase in abundance and thickness eastward. 

Natural gamma activity in these rocks is generally low with 

higher peaks that correspond to the fine-grained beds. Zone D 

underlies the eastern part of the basin and contains siltstone, 

mudstone, and arkosic sandstone with high natural-gamma 

activity. Parts of this zone have been thermally altered by 

intrusion of diabase.

Surficial Geology

Unconsolidated deposits of glacial, lacustrine, and alluvial origin mantle the bedrock throughout most of the Newark 

basin in Rockland County. The thickness of the unconsolidated 

deposits generally ranges from 5 to 20 ft but is much thicker 

beneath some stream valleys (Heisig, 2010, fig. 7). The unconsolidated deposits are mainly till, which is unsorted material 

deposited directly by glacial ice. Although two types of till 

with differing clay contents have been mapped elsewhere in 

the Newark basin, no attempt to distinguish these tills has been 

made in Rockland County. Coarse-grained outwash and alluvium were deposited along the Mahwah River, Saddle River, 

Pascack Brook, and Minisceongo Creek (fig. 7). Fine-grained 

lacustrine sediments as much as 100 ft thick were deposited 

along the Hackensack River in the eastern part of Rockland 

County (fig. 7). 

Hydrology

Occurrence of Groundwater

Groundwater in Rockland County flows primarily 

through the sedimentary rocks of the Newark basin aquifer. 

Water enters the aquifer by infiltration through unconsolidated 

deposits (primarily till) that overlie the bedrock and discharges 

from the bedrock aquifer to stream channels and pumped 

wells. Water also leaks to and from the sewer and water distribution networks that service this highly developed area. Most 

of the groundwater in the Newark basin aquifer in Rockland 

County is assumed on the basis of the distribution of well 

yields to flow within the upper 500 ft of the fractured bedrock 

(Heisig, 2010). For the Newark basin rocks in New Jersey, 

Lewis-Brown and others (2005) assumed most groundwater 

flows within the upper 400 ft of bedrock. This assumption is 

based on well-completion records and the observed decline 

in the number of water-bearing zones with depth. Borehole 

geophysical logs by Morin and others (2000) indicate that flow 

is within the upper 260 ft of bedrock.

The Newark basin aquifer is generally confined where 

the water table lies within the unconsolidated deposits in 

lowland areas. The water table is below the bedrock surface 

in uplands and near pumped wells, however, so the aquifer is 

generally unconfined in these areas (fig. 8). Artesian (flowing) wells have been drilled at several well fields, commonly 

in low-lying stream valleys, where the aquifer is confined by 

low-permeability glacial and lacustrine sediments.

In much of the study area, groundwater in the unconsolidated deposits provides little water to wells or streams. 

The relatively low permeability of till and lacustrine sediments that cover most of the Newark basin aquifer restricts 

water movement, and these sediments constitute a confining layer above the bedrock aquifer in lowland areas. Thick 

lacustrine sediments beneath the Hackensack River valley 

limit recharge. Permeable outwash and alluvium enhance the 

exchange of water between the bedrock aquifer and the overlying streams in some valleys, but the outwash aquifer that 

underlies the Mahwah River along the western edge of the 

Newark basin aquifer is the only productive sand and gravel 

aquifer (figs. 3 and 7).

Groundwater Flow

Groundwater in the Newark basin aquifer in Rockland 

County generally flows from upland areas towards watersheds of the Mahwah River to the west, the Hackensack River 

to the east, and the Saddle River and Pascack Brook to the 

south (fig. 9). Groundwater withdrawals from well fields have 

altered this pattern locally, especially in the central part of 

the aquifer where withdrawals are concentrated. Water-level 

data collected since 1989 do not indicate widespread areas 

of water-level decline, however (Heisig, 2010). Water-level 

hydrographs for two production wells near the Spring Valley 

well field (fig. 3) in one of the most heavily pumped parts of 
Hydrogeology 13

Figure 7. Bedrock zones in the Newark basin aquifer in Rockland County, NY, delineated by Heisig (2010), 

interpolated strike of bedding, and distribution of alluvium, outwash, and lacustrine sediments. (Modified from 

Heisig, 2010)

Base from Rockland County Planning Department

Hudson River

REGIONAL MODEL

 DOMAIN

SPRING VALLEY

MODEL DOMAIN

RAMAPO FAULT

New York State

Thruway

Palisades

Parkway

 

 

 

 

 

 

 

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Spring

 Valley

E

E'

Bedrock zones: delineated by Heisig (2010)

A B C D

Unconsolidated Deposits:

Outwash and alluvium

Lacustrine

Perennial stream

Form Line: drawn parallel to bedding

EXPLANATION

Hudson River

Mahwah River

Minisceongo Creek

Saddle River

Pascack Brook

Hackensack

 River

5 KILOMETERS

0 5 MILES

0

Line of geologic section

E E'
Figure 8. Generalized section showing bedrock zones, groundwater level and depths of production wells. (Modified from Heisig, 2010) Location of se

A B C D 

VERTICAL EXAGGERATION 6.25 Groundwater Water table level following pumping Grandview Mahwah River Viola Spring Valley Pascack Norge Hackensack River EXPLANATION Well Approximate area affected by pumped well Sedimentary bedrock zone (dark shading denotes > 500 ft depth) ABCD Unconsolidated deposits Diabase (Palisades sill) Crystalline Rock (NY Highlands) Pumped well and well field name (in red) 1,000 800 600 400 2000 –200 –400 0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 40,000 45,000 50,000 

ELEVATION, IN FEET

DISTANCE, IN FEET

E 
Hydrogeology 15

Figure 9. Average groundwater levels (potentiometric surface) measured from 2005 through 2007 in the Newark basin aquifer 

in Rockland County, NY.

Base from Rockland County Planning Department

Palisades

Parkway

 

 

 

 

 

 

 

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Perennial stream

Ro647

Bedrock well

Average groundwater level, 2005 to 2007,

 in feet above datum 

650

325

0

EXPLANATION

REGIONAL MODEL

DOMAIN

New York State

Thruway

Mahwah River

Saddle River

Pascack Brook

Lake DeForest

Hackensack

 River

 

5 KILOMETERS

0 5 MILES

0
16 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Table 1. Base flow and basin area for streamgage stations in and near, Rockland County, NY.

[mi2, square miles; in/yr, inches per year]

Station name Station number Drainage area (mi2) Period Base flow (in/yr) Base flow as a percentage of streamflow

Sparkill Creek at Tappan 1376270 4.9 1961 13.6 64

Hackensack River at 

Brookside Park NY 1376600 13.2 1961 19.2 76

Nauraushaun Br. at 

Pearl River NY 1376850 6.1 1961 13.2 61

Pascack Brook at Park 

Ridge NJ 1377370 13.4 2005–2006 14.1 51

Mahwah River near Suffern NY 1387450 12.3 1959–1994 18.8 70

Pine Brook near Spring 

Valley NY 1390300 2.3 1961 17 78

Saddle River at Upper 

Saddle River NJ 1390450 10.9 2004–2007 13.8 56

the aquifer are shown in figure 10. The hydrographs indicate 

steady water levels at the Pascack well field (fig. 10A) where 

the average withdrawal rate has been constant and rising levels 

at the Eckerson well field (fig. 10B) where the withdrawal rate 

has declined.

Groundwater Discharge

Groundwater from the Newark basin aquifer discharges 

to stream channels throughout Rockland County and sustains 

streamflow during periods with little or no precipitation. Mean 

annual groundwater discharge (base flow) was estimated for 

seven watersheds (fig. 11) from measured daily streamflow 

using a hydrograph-separation method (Rutledge, 1998). Four 

of the records were for 1961, a year in which precipitation 

was nearly equal to the 60-year median value. The base-flow 

estimates are approximate because the periods of record are 

4 years or less, except for the 35-year period of record for the 

streamgage station on the Mahwah River near Suffern. Nearly 

one-half of the watershed for this streamgage station is underlain by igneous and metamorphic rocks, however, and the 2-mi 

reach of the Mahwah River upstream from the station overlies 

coarse-grained alluvial material. Discharges measured at this 

station, therefore, may not represent conditions elsewhere in 

the Newark basin aquifer. 

Estimated mean annual base flow ranges from 13.2 to 

19.2 in/yr on the basis of area for the seven watersheds and 

accounts for 50 to 80 percent of the total streamflow (table 1). 

These estimates correspond to flows ranging from 1.0 to 

1.4 ft3/s per mi2 for the three stations with more than one year 

of data. These values were exceeded during 60 percent of 

the period of record in the Saddle River and Pascack Brook 

watersheds and during 40 percent of the period of record in 

the Mahwah River watershed. These base-flow estimates for 

Rockland County are higher than those computed for the 

southern part of the Newark basin, where an average base 

flow of 9 in/yr (40 percent of streamflow) was computed for 

seven watersheds in southeastern Pennsylvania (Risser and 

others, 2005). Annual precipitation is larger and evapotranspiration is smaller in Rockland County than in southeastern 

Pennsylvania, however. These factors would cause increased 

infiltration to the water table (recharge) and, therefore, 

increased base flow. More accurate estimates of base flow 

require longer periods of record than those available for 

watersheds that drain different areas of the Newark basin. 

More precise hydrograph-separation methods using chemical 

tracers to partition base flow from stormflow could also be 

used to provide better estimates.

Groundwater Withdrawals

Groundwater withdrawals from the Newark basin aquifer 

in Rockland County peaked in 1975 at a rate of 18.6 Mgal/d. 

From 1985 through 2005 withdrawals averaged 10.7 Mgal/d 

(with about 90 percent of the water used for the public supply), an amount equivalent to 2.6 in/yr or about 5 percent 
Hydrogeology 17

YEAR

YEAR

A Well Ro552 (UW-65) Pascack well field

B Well Ro563 (UW-82) Eckerson well field

Withdrawal rate

Water level

Withdrawal rate

Water level

WITHDRAWAL RATE, IN GALLONS PER MINUTE WITHDRAWAL RATE, IN GALLONS PER MINUTE

WATER LEVEL, IN FEET ABOVE SEA LEVEL WATER LEVEL, IN FEET ABOVE SEA LEVEL

0 200

1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002

1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 0

100

200

300

400

500

200

300

350

400

450

500

250

300

350

400

450

500

250

100

200

300

400

500

Figure 10. Water-level hydrographs for two production wells in the Newark basin aquifer in 

Rockland County, NY. Well locations shown in figure 3.
18 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 11. Watersheds, precipitation gages, and streamgage stations where base flow was estimated in and near Rockland 

County, NY.

Base from Rockland County Planning Department

 R

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Palisades

Parkway

Streamgage station and upstream

 drainage area

Perennial stream

Precipitation gage

EXPLANATION

Mahwah River near

Suffern, NY

Hackensack River at

 Brookside Park, NY

Letchworth 

Theills 

Nauraushaun Brook at

 Nauraushaun, NY

Sparkill Creek at

 Tappan, NY

Saddle River at

 Upper Saddle River, NJ

Pascack Brook at

 Park Ridge, NJ

Pine Brook near

 Spring Valley, NY

REGIONAL MODEL

 DOMAIN

New York State

Thruway

5 KILOMETERS

0 5 MILES

0
Hydrogeology 19

Table 2. Well fields supplying water from the Newark basin aquifer in 2005, Rockland County, NY.

[-, no data]

Well field Numbera United Water New York well 

identifier

Average withdrawal rate from 1985 through 

2005, in gallons per minute

Bardonia 1 19 9

Birchwood 2 70 52

Blauvelt 3 15 81

Catamountb 4 42A, 54A 452

Cherry 5 68 172

Eckerson 6 71, 82 320

Elmwood 7 66 81

Germonds 8 21 8

Grandview 9 67, 78 188

Grotke 10 83 142

Lake Shore 11 73 234

Monsey 12 30, 31A 179

Nanuet 13 13, 14 175

New City 14 23 65

New Hempstead 15 18, 24 828

Norge 16 64 228

Nottingham 17 55 187

Golf coursec 18 - 200

Pascack 19 65 200

Pearl River 20 22 22

Pinebrook 21 69 289

Pomona 22 37, 38 523

River/Lakeb 23 27, 29A 1392

Rustic 24 72 283

Saddle_River 25 53 287

Spring Valley 26 1A, 3, 4, 6, 17 1,277

Tallman 27 26 175

Viola 28 28, 106 574

Wesel 29 32 75

Westgate 30 79 113

Willow Tree 31 56 422

Pharmaceutical Companyc 32 - 1177

Total 10,409

a

 Number used in figure 3.

b

 Alluvial aquifer.

c

 Private supply.
20 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

of the mean annual precipitation. For the period from 1985 

through 2005, average withdrawal rates for individual well 

fields producing from the Newark basin aquifer ranged from 

8 to 1,400 gal/min (table 2). Production wells completed in 

the bedrock aquifer typically are about 400 ft deep and cased 

to 70 ft below land surface; the yield of an individual well can 

be as much as 800 gal/min. Production wells completed in the 

sand and gravel aquifer adjacent to the Mahwah River are 65 

to 105 ft deep and yield up to 1,400 gal/min.

Most water withdrawn by pumping does not re-enter the 

aquifer because essentially all wastewater in areas of Rockland County overlying the Newark basin aquifer is discharged 

through sanitary sewers to either the Ramapo River or the 

Hudson River. However, about 16 percent of the pumped 

groundwater is lost through conveyance and returned to the 

bedrock aquifer (Heisig, 2010). Groundwater also discharges 

through leakage into sanitary sewers that carry wastewater to 

treatment plants on the Mahwah and Hudson Rivers. Leakage 

into sewers is evident in hydrographs of effluent flows from 

wastewater-treatment plants in 2005 that depict increased 

infiltration following rainfall (Heisig, 2010, fig. 63). The mean 

low flow (excluding storm flow) in the Rockland County 

sewer system was 35.8 Mgal/d in 2005, as estimated through 

hydrograph separation. Direct discharge to the sewer system 

is estimated to be 29.4 Mgal/d (equal to the total water use 

of 35 Mgal/d minus losses through conveyance). Groundwater discharged through leakage into sewers is, therefore, 

6.4 Mgal/d or 1.6 in/yr. Leakage to and from the sewer 

and water infrastructure, therefore, results in a net loss of 

0.8 Mgal/d of groundwater from the Newark basin aquifer.

Transmissivity

The transmissivity of the Newark basin aquifer was 

estimated from records of single-hole aquifer tests conducted 

at 55 wells. Changes in water levels through time (drawdown) 

were recorded for tests of 34 production wells, and specific 

capacity (the ratio of well yield to drawdown) was available 

for the other 21 wells tested. Drawdown data were analyzed 

with the commonly applied semi-logarithmic approximation to 

the Theis equation (Cooper-Jacob method), and transmissivity 

was computed from specific capacity using an equation given 

in Todd and Mays (2005). The transmissivity values span four 

orders of magnitude (fig. 12), ranging from 17 to 10,000 ft2/d 

with a median value of 620 ft2/d. Transmissivity values 

commonly varied within a factor of two at well fields where 

multiple wells were tested; however, transmissivity varied by 

factors ranging from four to six at the three well fields (Elmwood, Grandview, and Pinebrook) labeled on figure 12.

A kriged interpolation of the log-transformed values of 

transmissivity was computed using an assumed exponential 

variogram with a variance (sill) of 2.7 (ft2/d)2 and a range 

of 6,600 ft (fig. 13). The distribution of transmissivity (T ) 

indicates larger values in the central and western parts of the 

aquifer and smaller values in the eastern and northwestern 

parts. The larger values generally correlate with the presence 

of coarse-grained rocks that contain conglomerate, whereas 

the smaller values correlate with the presence of fine-grained 

rocks and diabase. High and low T zones were delineated 

on the basis of the kriged interpolation with median values 

of 800 and 260 ft2/d, respectively. Box plots showing the 

distribution of values within each krige-based zone indicate 

a significant difference in transmissivity between these zones 

because the middle quartile values of the high- and low- T

groups do not overlap (fig. 14A). 

The transmissivity values were compared using three 

of the four aquifer zones (zones B, C, and D) delineated by 

Heisig (2010) (fig. 7). Only two tests were conducted in zone 

A, so these results were not evaluated. Box plots indicate 

no significant difference in transmissivity between zones B 

and C (fig. 14B). Transmissivity values are slightly lower 

in zone D and an analysis of variance indicates a significant 

difference between zones B and D, but no difference between 

zones C and D. 

Water-Bearing Zones

Groundwater in the Newark basin aquifer flows primarily 

through discrete water-bearing zones because the rocks that 

constitute the aquifer have little interconnected primary porosity. These water-bearing zones include fractures that developed 

parallel and perpendicular (joints) to bedding and widened 

through chemical dissolution of minerals within the rocks. 

The water-bearing zones comprise fractures that developed in 

zones of weakness in the rock in response to various stresses, 

including extension associated with the opening of the Atlantic 

Ocean in the Mesozoic Period, intrusion of diabase in the 

Jurassic Period, and erosional uplift that continued through the 

Cretaceous Period to the present. 

Field studies in the Newark basin in New Jersey have 

been used to describe geologic controls (primarily the dipping 

bed structure) on the interconnection of fracture zones, which 

may include multiple discrete fractures. Twelve water-bearing 

units were delineated in a 15-mi2 area of the Passaic Formation near Fair Lawn in Bergen County, New Jersey, 15 mi 

south of Rockland County (fig. 1) on the basis of borehole 

geophysical logs and hydraulic packer tests (Lewis-Brown 

and others, 2005). The water-bearing units parallel the 8° dip 

of the bedding range from 20 to 90 ft thick, and are seprated 

by low-permeability confining units that range from 20 to 

250 ft thick (fig. 15). This distribution of water-bearing units 

provides hydraulic connection between pairs of wells at 

similar depths that are aligned along the strike of the bedding. Pairs of wells that are aligned perpendicular to the strike 

of bedding are connected only if the separation distance is 

less than 4,000 ft and if the wells intersect the same waterbearing unit. The confining units contain two orthogonal sets 

of fractures (joints) that cut across the bedding and provide 

limited hydraulic connection between adjacent water-bearing 

units (Michalski and Britton, 1997; Carleton and others, 

1999). This three-dimensional (3D) geometry imparts asymmetry or anisotropy to the groundwater flow field, so that 
Hydrogeology 21

Figure 12. Transmissivity of Newark basin aquifer in Rockland County, NY, showing values estimated at bedrock wells from 

aquifer test and specific capacity data.

Base from Rockland County Planning Department

Palisades

Parkway

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Estimated transmissivity in

 bedrock well—feet squared per day

EXPLANATION

Less than 100

Greater than 1000

Perennial stream

100 to 1000

5 KILOMETERS

0 5 MILES

0

Elmwood

Pinebrook

Grandview

REGIONAL MODEL

 DOMAIN

New York State

Thruway
22 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 13. High and low transmissivity (T ) zones in the Newark basin aquifer in Rockland County, NY, delineated on the basis 

of kriged interpolation.

Base from Rockland County Planning Department

Palisades

Parkway

High T zone

Low T zone

Low T zone

74°0' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

! !

!

!

! !

!

!

!

!

!

!! !

! ! ! ! !

! ! !

! !

! ! ! ! ! ! ! ! !

! ! ! !

! ! ! ! !

! !

!

! !

! ! !

!

!

!

! ! !

!

Transmissivity, in feet squared per day

EXPLANATION

10

Transmissivity zone

Bedrock well 

1,000

10,000

100

REGIONAL MODEL

 DOMAIN

New York State

Thruway

!

5 KILOMETERS

0 5 MILES

0
Hydrogeology 23

TRANSMISSIVITY, IN FEET SQUARED PER DAY TRANSMISSIVITY, IN FEET SQUARED PER DAY

10

100

1,000

10,000

All wells High T zone

Zone B Zone C Zone D

Low T zone

25 20

10

55 39

16

55

Percentile

Outlier less than

10th percentile or

greater than 

90th percentile

90

75

50

25

10

EXPLANATION

Number of observations

A Kriged-based zones

B Zones delineated by Heisig (2010)

10

100

1,000

10,000

Figure 14. Boxplots showing distribution of transmissivity (T) in bedrock wells using 

zones based on (A) kriged interpolation and (B) interpretation of Heisig (2010).
24 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

WB3

WB2 

WB4

WB5 

WB6 

WB7 

WB8 

WB9 

WB10 

WB11 

WB12 

Unconsolidated Overburden

C1 

C2 

C3 

C4 

C5 

C6 

C7 

C8 

C9 

C10 

C11 

C12 

100 

Production well 

ELEVATION, IN FEET ABOVE NAVD 88 

0

–100

–200

–300 

Observation well

–400 

0 2,000 4,000 6,000 8,000 10,000 

DISTANCE, IN FEET 

EXPLANATION

Hydrogeologic Units

WB2 Water-bearing unit and number

C2 Confining unit and number

Figure 15. Geologic section showing distribution of water-bearing zones in the Passaic Formation at Fair Lawn, New Jersey. 

(After Lewis-Brown and others, 2005)

water flows preferentially parallel to the strike of bedding, and 

flow perpendicular to the strike is restricted. Such asymmetric 

patterns have been observed elsewhere in the Newark basin, 

in the distribution of drawdown (Vecchioli and others, 1969) 

and in groundwater discharge to streams (Lewis, 1992). A 3D 

groundwater flow model that represented preferential flow 

within the water-bearing units connected by leakage through 

confining layers separating adjacent units reproduced the 

anisotropic behavior observed in the Fair Lawn site and was 

used to trace the migration of contaminants through the flow 

system (Lewis-Brown and others, 2005).

In Rockland County, water-bearing zones are assumed 

to generally parallel the regional 10° dip of the sedimentary 

bedrock toward the N40°E-striking Ramapo Fault. The depth 

of most active groundwater flow in the Newark basin aquifer is 

estimated to range from 200 to 400 ft on the basis of the distribution of well yields with depth (Heisig, 2010), although some 

flow probably occurs above and below those depths. Borehole 

geophysical surveys (including caliper, optical and flow-meter 

logs) conducted in 23 wells in Rockland County provided information on water-bearing zones in local areas (Heisig, 2010). 

The borehole logs indicate the rock is generally well-indurated 

and contains discrete, water-bearing fracture zones that range 

from less than 0.1 to 2 ft thick. Spacing of water-bearing zones 

within boreholes ranged from 10 to 100 ft, with an average 

spacing of 40 ft. The dip of the water-bearing fractures is variable. At the Spring Valley well field, for example, the dip angle 

of nine water-bearing fractures ranged from 11° to 23° within 

a 400-ft section of rock. The dip direction was more variable; 

seven of the nine fractures dipped to the west or northwest (azimuth 250° to 340°), but two fractures dipped to the east. This 

variability may reflect cross bedding within the bedrock sediments that resulted from the alluvial depositional environment.

Water-bearing zones identified at a local scale (hundreds 

of feet) are clearly connected at a regional scale (several 

miles) because the Newark basin aquifer in Rockland County 

has supplied thousands of gallons of water per minute to well 

fields for more than 40 years. Although it may be possible 

to delineate hydraulic connections between closely spaced 

boreholes, it is not possible to delineate connections between 

locations separated by thousands of feet or more. The 

approach of dividing the bedrock into water-bearing units 

and confining units, used by Lewis-Brown and others (2005) 

in the local scale Bergen County study, is not applicable in 

this study because of lack of detailed stratigraphic information and possible discontinuity of units at the regional scale. 

Also, the bedrock lithology in Rockland County is different 

and contains thickly bedded sandstones and conglomerates, 

rather than finer grained and more thinly bedded rocks as 

in Bergen County. An alternative approach for characterizing water-bearing units was employed in this study that is 

similar to that used by Yager and others (2008) in representing groundwater flow through folded fractured rock in the 

Shenandoah Valley, VA. This approach, which allowed for 

the comparison of model results for different depictions of 

the orientation of bedding, was chosen for the development 

of groundwater flow models for the Newark basin aquifer, 

described in the next section.
Groundwater Flow Models 25

Ramapo

Fault

Bedding

Plane

Kmed

K Kmax min

Conductivity tensor

Figure 16. Perspective diagram of block of inclined sedimentary 

rock showing hydraulic conductivity directions at upper edge 

of block. Kmax is the maximum hydraulic conductivity parallel to 

the strike direction, Kmed is the medium hydraulic conductivity 

parallel to the dip direction and Kmin is the minimum hydraulic 

conductivity perpendicular to bedding. Gray form lines are drawn 

parallel to bedding

Groundwater Flow Models

Groundwater flow through the Newark basin aquifer 

was simulated using SUTRA (Voss and Provost, 2002), a 

three-dimensional finite-element (FE) model. In SUTRA, 

the principal directions of the hydraulic conductivity tensor 

(herein referred to as conductivity tensor) can be specified 

independently of the model coordinate axes and the FE 

mesh and can vary throughout the model domain. Anisotropy in the flow system can be represented by orienting the 

conductivity tensor in each element, with the directions 

of maximum and medium hydraulic conductivity oriented 

parallel to the bedding and the minimum hydraulic conductivity oriented perpendicular to the bedding (fig. 16). As a 

result, SUTRA is particularly applicable to the simulation 

of flow in the Newark basin, where the bedding is inclined. 

In this study, two alternative models were developed for 

different representations of the directions of strike and dip, 

corresponding to the two depictions of the strike of bedding presented earlier (figs. 6 and 7). Two separate model 

domains were delineated to simulate the 1992 water-level 

recovery test conducted at the Spring Valley well field and 

regional flow through the Newark basin aquifer (fig. 3).

Spring Valley Well Field

An extensive water-level recovery test was conducted 

at the Spring Valley well field in January 1992 after pumping 

from four wells was temporarily halted for 5 days (Legette, 

Brashears and Graham, Inc., 1992). Water-level recovery was 

recorded in 32 observation wells, including nested wells of 

different depths at 14 locations. Prior to the cessation of pumping, the withdrawal rate was held constant at 1,470 gal/min 

for 5 days. Water-level recoveries after 5 days ranged from 

51 to 4.1 ft at wells Ro1308 and Ro1326, located 1,000 ft and 

4,600 ft from the center of the well field, respectively (fig. 17). 

About 0.7 in of rain fell on the second day of the test, but plots 

of water-level recovery do not indicate the effects of either 

recharge or barrier boundaries, so infiltration of water from 

rainfall or streamflow through the overburden to the bedrock 

aquifer is assumed to be negligible. The distribution of waterlevel recovery in wells farthest from the well field displayed 

an anisotropic pattern with the maximum recoveries aligned 

subparallel to the strike of the Ramapo Fault (N40°E). Conventional analytical techniques could not be used to determine 

the hydraulic properties of the aquifer from the water-level 

recovery data because withdrawals occurred at several wells 

rather than at a single well (New York State Department of 

Environmental Conservation, 1992).

A three-dimensional (3D) model of a 9.3-mi2 area around 

Spring Valley was constructed to simulate water-level recovery after withdrawals from the well field were suspended. A 

transient flow simulation using the principle of superposition 

was calibrated to measured water-level recoveries to obtain 

estimates of maximum and minimum hydraulic conductivity 

and specific storage. The transient flow simulation represented 

a 5.5-day period with time steps ranging from 1 to 1,000 min. A 

similar approach using superposition was applied to the simulation of the temporary cessation of withdrawals from a site in the 

Newark basin near Trenton, NJ (Tiedeman and others, 2010). 

Model Design

The model represents the aquifer in the upper part of 

the bedrock with a constant saturated thickness of 330 ft, the 

assumed depth of active flow near Spring Valley based on 

a borehole flowmeter survey in well Ro82 (fig. 17) (Heisig, 

2010). The top surface of the model represents the bedrock 

surface computed from altitudes of land surface using a 30-ft 

digital-elevation model (DEM) and overburden thickness as 

interpolated by Heisig (2010). Time-series plots of water-level 

recovery indicate that negligible downward leakage occurred 

from either low-permeability glacial sediments or Pascack 

Brook during the 5-day test, so these features are not represented in the model. 

Mesh and Layering

The model domain is discretized using an irregularly 

connected FE mesh that is extended vertically to the bottom 

of the model domain. Areally, the mesh appears as a set of 

quadrilateral elements with maximum lateral lengths of 330 ft; 

smaller elements (33 to 160 ft) were used to better represent 

the area within 1,400 ft of the well field (fig. 17). The 330-ft 

rock mass is divided vertically into 10 equally spaced layers 

of elements. The resulting mesh contains 74,500 elements and 

83,138 nodes.
26 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 17. Water-level recovery following 5-day cessation of pumping from the Spring Valley well field, NY.

74°04' 74°03' 74°01'

41°07'

41°06'

0 1 MILE

0 1 KILOMETER

0

10

20

30

40

50

60

70

Perennial stream

Pumped well

Piezometer nest and water-level recovery, in feet

Water-level recovery, in feet

EXPLANATION

SPRING VALLEY WELL FIELD

MODEL BOUNDARY

Pascack Brook

Ro1308, Ro1309

and Ro1310

Ro1307

Ro-82 Ro-1315

26

4.1

7.6

7.6

7.3

7.9 51 31

12 22

17

17

1.6

16

16

Ro1326

Strike direction of

Ramapo fault

Finite-element

mesh
Groundwater Flow Models 27

Boundary Conditions

The principle of superposition states that for linear 

systems, such as flow in a confined aquifer, solutions to 

individual parts of a problem can be added to solve composite 

problems (Reilly and others, 1984). In a simple application 

of this principle, the water-level drawdowns produced by 

pumping from two adjacent wells can be computed as the 

sum of the drawdown produced by each well. In the context 

of the Spring Valley simulation, the change in water level 

resulting from pumping at a constant rate followed by a 5-day 

shutdown is equivalent to the change in water level caused 

by a 5-day period of injection at the same constant rate. In 

this simulation, the four production wells in the Spring Valley 

well field are represented as injection wells, and water-level 

recovery is computed as the change in water level above an 

arbitrary datum after 5 days of injection. External model 

boundaries, specified as no-flow (impervious to flow), were 

specified about 1 mi from the well field and have little effect 

on the flow solution.

Hydraulic Properties

 Hydraulic conductivity (K) and specific storage (Ss) 

values were estimated for the bedrock aquifer through model 

calibration. The hydraulic conductivity values were computed 

for each element in the FE mesh using a conductivity tensor 

defined by three scalar values (herein referred to as conductivity) and two angles.1

 The scalar values Kmax, Kmed, and Kmin

correspond to the directions of maximum, medium, and minimum conductivity, respectively (fig. 16). Values of Kmax and 

Kmin were estimated through calibration, and the value of Kmed

was set equal to Kmax because the water-bearing zones were 

assumed to be isotropic. 

The orientations of conductivity tensors specified for 

each model element were variable and assumed to be aligned 

with the strike and dip of the bedding, as depicted by form 

lines in figure 6 and figure 7. The maximum conductivity 

(Kmax) is oriented along the direction of strike, the medium 

conductivity (Kmed) is oriented along the direction of dip, 

and the minimum conductivity (Kmin) is perpendicular to the 

bedding. Two angles are required to define the conductivity 

tensor: the first angle defines the strike of bedding as measured 

counterclockwise from east (from the +X coordinate direction), and the second angle is the inclination of bedding as 

measured from the horizontal plane in the dip direction (the 

direction perpendicular to strike). Two alternative models (A 

and B) were constructed to assess the different depictions of 

the strike of bedding. Model A represents form lines presented 

in figure 6, whereas model B represents the interpolated strike 

presented in figure 7. The declination of the bedding was set to 

a constant value of 10° in both models on the basis of the areal 

distribution of dip reported in Heisig (2010).

1

 Although in general, three angles are required, only two are required here 

because it is assumed that the Kmax direction is parallel to the horizontal plane, 

so the third angle is always zero (see Voss and Provost, 2002).

Model Calibration

The groundwater flow models were calibrated by adjusting values of maximum and minimum conductivity (Kmax and 

Kmin, respectively) and specific storage (Ss) to minimize the 

difference in water-level recovery simulated by the model and 

that observed in wells during the 1992 recovery test. Optimum 

parameter values were obtained through nonlinear regression 

using UCODE 2005 (Poeter and others, 2005), a computer 

program that uses weighted least squares to minimize model 

residuals (difference between observed and simulated data).

The nonlinear regression was used to compare simulated 

recoveries with water levels measured in 32 bedrock wells 

at 14 locations. Depths of shallow wells ranged from 75 to 

145 ft, and depths of deep wells ranged from 170 to 270 ft. 

The water-level measurements were interpolated from plots 

of water-level recoveries presented in Legette, Brashears and 

Graham, Inc. (1992). The measurement depth was assumed to 

be midway between the top and bottom of the screened interval, which ranged from 2 to 5 ft in length. All measurements 

were weighted equally in the regression, with the exception of 

those recorded for the set of nested wells closest to the well 

field (wells Ro1308, Ro1309, and Ro1310; fig. 17) that were 

omitted. Regressions that closely matched the measured recoveries at this location resulted in significant error at the remaining locations farther from the well field, possibly for reasons 

discussed farther on.

Water-level recoveries simulated with model B best 

matched the observed values, likely because the interpolated 

strike was based, in part, on borehole data obtained from the 

well field. The standard error of recovery is 1.7 ft or about 

6 percent of the 30-ft measured range (table 3). The simulated 

distribution of recovery extends about 1 mi north and south of 

the well field and is slightly elongated along Heisig’s (2010) 

assumed N25°E strike of bedding in this area (fig. 18A). This 

strike direction is more northerly than that of the Ramapo 

Fault (N40°E) and the strike directions depicted in figure 6. 

The three-dimensional (3D) perspective view of the simulated 

distribution of recovery clearly reflects the assumed 10° dip 

of bedding (fig. 18B). Time-series plots for deep and shallow 

wells (figs. 19 and 20) indicate that the simulated recovery 

matches the observed data reasonably well, with the exception of wells Ro1308 and Ro1310, as noted above. Simulated 

water-level recovery is overpredicted for shallow wells where 

little recovery was observed, however. Residual plots show 

that the overall model fit is good, with a slight bias in underprediction (positive residuals) for deep wells and overprediction (negative residuals) for shallow wells (fig. 21).

Three parameter values (Kmax, Kmin, and Ss) were optimized through nonlinear regression, all with coefficients of 

variation less than 1 percent, indicating that the regression 

is sensitive to the parameters and that the values are well 

estimated (table 3). Estimated values for Kmax, Ss, and the 

Kmax: Kmin anisotropy for model B are 9.5 ft/d, 7.6 x 10–6 ft–1, 

and 72:1, respectively. Values estimated for Kmax and Ss with 

model A are similar (table 3), but the value estimated for 
28 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

SPRING VALLEY WELL FIELD

 MODEL BOUNDARY

Pascack Brook

Ro1308 and 1310

Ro1318

and

1319

Ro1315

Pascack Brook

pumped well

F'

F'

F

F

Ro1305

and 1307

Ro1298 and 1299

Ro1326 and 1327

BLOCK CROPPED ALONG SECTION F-F’

Ro1324 and 1325

A Plan view

B Perspective view

Oblique view, not to scale

0 0.5 1 MILE

0 0.5 1 KILOMETER

Form line—drawn parallel

 to bedding

100

50

75

25

0

Perennial stream

Pumped well

Piezometer nest and

 well numbers

Simulated water-level recovery, in feet

EXPLANATION

Ro1318 and 1319

Figure 18. Distribution of simulated water-level recovery in model B (A) plan view, and (B) perspective 

three-dimensional view along section F-F'. Coordinate axes shown indicate rotation of perspective view.
Groundwater Flow Models 29

Kmax: Kmin anisotropy is much less, 17:1, than found for model 

B (72:1). The standard error is 50 percent greater for model 

A because the assumed distributions of strike of bedding do 

not match the actual strike as well as those from model B. 

The nonlinear regression compensated for this disparity in 

model A with a larger Kmin value in order to match observed 

water-level recoveries in areas updip and downdip of the 

pumped wells.

Simulations of the 1992 recovery test at the Spring Valley well field indicate a significant degree of anisotropy in 

the hydraulic conductivity with preferential flow parallel to 

the bedding and restricted flow perpendicular to the bedding. 

Because the bedding is inclined, the degree of anisotropy is 

not apparent in the plan view of the distribution of waterlevel recovery (fig. 18A) and is only accurately reflected by 

the 3D view (fig. 18B). The estimated Kmax: Kmin anisotropy 

from model B is 72:1, and the simulated strike of bedding in 

this area is consistent with the strike interpolated by Heisig 

(2010). The model B simulation provides an acceptable fit 

to the measured water-level recoveries but cannot reproduce 

the recovery data at all wells because the hydraulic properties 

and dip of bedding are assumed to be uniform throughout the 

model domain. The actual degree of Kmax: Kmin anisotropy is 

probably greater in some areas because the simulated results 

underpredict the water-level recoveries measured in some 

shallow wells east (updip) of the well field (Ro1315) and overpredict water-level recoveries in shallow wells west (downdip) 

of the well field (Ro1307). The effect of heterogeneity in the 

distribution of K and Ss is particularly apparent in the results 

for the deep and shallow nested wells closest to the well field 

(Ro1308 and Ro1310) where recovery is underpredicted and 

overpredicted, respectively. These results indicate that the 

hydraulic conductivity and (or) Kmax: Kmin anisotropy of waterbearing zones and (or) fractures that connect the deep well 

(Ro1308) to the production wells are greater than corresponding values in surrounding areas. 

Newark Basin Aquifer

Two alternative 3D models A and B were constructed to 

estimate the hydraulic-head distribution and rate of groundwater flow throughout the Newark basin aquifer in Rockland 

County. As was the case for the Spring Valley models, the 

alternative county-wide models used the representations of the 

bedding strike presented in figure 6 and figure 7. Steady-state 

simulations for the alternative models were calibrated to water 

levels measured in bedrock wells from 2005 through 2007 

when groundwater withdrawals were relatively constant and 

the aquifer system was assumed to be near equilibrium.

Model Design

The model domain covers an area of 85.4 mi2 and is 

bounded to the west by the Ramapo Fault, to the north and 

east by the Palisades sill, and to the south by drainage divides 

of the gaged streams that drain the area (fig. 11). The model 

represents the fractured-bedrock aquifer with a constant 

saturated thickness, and downward flow from the saturated 

overburden is represented as recharge to the underlying bedrock aquifer. Flow through the outwash aquifer that underlies 

the Mahwah River along the western boundary of the model 

domain also is represented.

Mesh and Layering

The model domain is discretized using a 3D FE mesh consisting of an irregularly connected mesh in the areal plane that is 

extended vertically to the bottom of the model domain. Areally, 

the mesh appears as a set of quadrilateral elements with maximum lateral lengths of 500 ft (fig. 22). Smaller elements with 

maximum lateral lengths of 40 ft were used to better represent 

junctions of the stream network that was used to constrain the 

mesh generation and the area near the Spring Valley well field.

Table 3. Parameter values in alternative models of recovery test at Spring Valley well field in 1992, Rockland County, NY.

[ft, feet; ft/d, feet per day; ft–1, inverse feet; ft2, square feet]

Model A Model B

Parameter Value Value Approximate individual confidence interval

Maximum hydraulic conductivitya, ft/d 10.2 9.5 8.8 to 10.2

Maximum:minimum anisotropyb 17 72:1 63:1 to 82:1

Specific storage, ft–1 7.3 x 10–6 7.6 x 10–6 7.4 x 10–6 to 7.8 x 10–6

Model fit

Sum of squared errors, ft2 252.8 88.2

Standard error, ft 2.9 1.7

a

 Parallel to strike.

b

 Ratio parallel to bedding: perpendicular to bedding.
30 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York RECOVERY, IN FEET RECOVERY, IN FEET RECOVERY, IN FEET

A Well Ro1308 (PTPN 20D)

0

5

10

15

20

25

10 100 1,000 10,000

B Well Ro1298 (PTPN 8D)

C Well Ro1305 (PTPN 19D)

Observed

Simulated

D Well Ro1318 (PTPN 24D)

E Well Ro1324 (SRI 2D)

TIME, IN MINUTES TIME, IN MINUTES

F Well Ro1326 (SRI 3D)

0

10

20

30

40

50

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

Figure 19. Observed and simulated water-level recovery in deep wells in model B at (A) well Ro1308 (PTPN-20D), (B) well 

Ro1298 (PTPN-8D), (C) well Ro1305 (PTPN-19D), (D) well Ro1318 (PTPN-24D), (E) well Ro1324 (SRI-2D), and (F) well Ro1326 

(SRI-3D). (Well locations shown in figure 18.)
Groundwater Flow Models 31

A Well Ro1310 (PTPN 20S) B Well Ro1299 (PTPN 8S)

C Well Ro1307 (PTPN 19S) D Well Ro1319 (PTPN 24S)

E Well Ro1325 (SRI 2S) F Well Ro1327 (SRI 3S)

RECOVERY, IN FEET RECOVERY, IN FEET RECOVERY, IN FEET

0

5

10

15

20

25

10 100 1,000 10,000

Observed

Simulated

TIME, IN MINUTES TIME, IN MINUTES

0

10

20

30

40

50

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

0

5

10

15

20

25

10 100 1,000 10,000

Figure 20. Measured and simulated water-level recovery in shallow wells in model B at (A) well Ro1310 (PTPN-20S), (B) 

well Ro1299 (PTPN-8S), (C) well Ro1307 (PTPN-19S), (D) well Ro1319 (PTPN-24S), (E) well Ro1325 (SRI-2S), and (F) well Ro1327 

(SRI-3S). (County and local well numbers are noted and well locations shown in figure 18.)
32 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

DEEP WELLS

A Simulated and observed values

B Simulated values and residuals (wells Ro1308 and Ro1310 omitted)

SHALLOW WELLS

OBSERVED WATER-LEVEL RECOVERY, IN FEET RESIDUAL, IN FEET

SIMULATED WATER-LEVEL RECOVERY, IN FEET SIMULATED WATER-LEVEL RECOVERY, IN FEET 

well Ro1308

well Ro1310

50

40

30

20

10

0

0 10 20 30 40 50

50

40

30

20

10

0

0 10 20 30 40 50

5

3

4

1

2

0

–3

–2

–1

–4

–50 5 10 15 20 25 30

5

3

4

1

2

0

–3

–2

–1

–4

–50 5 10 15 20 25 30

Figure 21. Residual plots (observed minus simulated values) for simulated water-level recovery in model B: (A) relation between 

simulated and observed values, and (B) relation between simulated values and residuals. (Note that data for wells Ro1308 and 

Ro1310 are omitted in B.)
Groundwater Flow Models 33

The top surface of the model was initially set equal to the 

bedrock surface as computed from altitudes of land surface 

using a 30-ft DEM minus the overburden thickness interpolated by Heisig (2010). As a result, the model-computed 

transmissivity was too large in upland areas where the water 

table is below the bedrock surface. In subsequent simulations, the top model boundary was replaced by water levels 

(hydraulic heads) computed by the calibrated models A and B; 

then the parameter values were reoptimized. In areas where 

the outwash aquifer is present, the top surface corresponds to 

the 2006 water table mapped by Heisig (2010). The bottom 

surface of the model roughly parallels the base of the Newark 

basin sedimentary rocks (fig. 4); the model domain represents 

a wedge of rock that thickens from about 1,000 ft at the eastern edge to nearly 5,000 ft at the western edge (fig. 23). The 

bedrock is divided into two units. The upper unit in the flow 

model corresponds to an assumed 500-ft thick zone of active 

flow that is divided into 10 equally spaced layers of elements. 

The outwash aquifer is represented by either the top one or top 

two layers of the upper unit, depending on the combined thickness of the alluvium and outwash. The lower unit in the model 

represents underlying rock deeper than 500 ft and is represented by a lower unit that is divided into 7 layers of elements 

using a factor of 1.5 to increase the layer thickness with depth. 

The resulting mesh contains 17 layers with 436,118 elements 

and 470,106 nodes.

Boundary Conditions

All the lateral and bottom boundaries of the model 

domain are assumed to be no-flow (impervious to flow) with 

the exception of the southern boundary which is specified 

pressure (referred to as specified head for the uniform density 

simulations described herein). The southern boundary represents underflow to and from New Jersey and was assigned 

hydraulic-head altitudes based on the 2005–2007 potentiometric surface mapped by Heisig (2010). Open waters (lakes and 

marshes) are also represented by specified head boundaries.

Stream channels are represented by head-dependent 

flow boundaries that use a modification of the specified-head 

boundary provided in SUTRA, as described in Appendix 2 

(provided by A.M. Provost, U.S. Geological Survey, written 

commun., 2009). Head-dependent flow boundaries require 

definition of a conductance term C:

l

KLW C = , (1)

where K is hydraulic conductivity [L/T],

L is length of stream reach [L],

W is width of stream reach [L], and

l is thickness of the unconsolidated deposits underlying

 the stream [L], assumed to be equivalent to the over-

 burden thickness.

Stream widths range from 5 to 30 ft, and thicknesses range 

from 3 to 100 ft. Different C values are used in the model to 

reflect the three types of unconsolidated deposits that underlie 

streambeds: (1) alluvium or outwash, (2) till, and (3) lacustrine (fig. 7; areas in the figure not underlain by alluvium, 

outwash, or lacustrine sediments are assumed to be underlain 

by till). The modification to SUTRA allows the specified-head 

boundary to function in a manner similar to a drain boundary 

in MODFLOW (Harbaugh and others, 2000) by preventing 

inflow from the boundary. Outflow from a drain boundary can 

occur only when the head at the node is larger than the specified head and is proportional to the conductance term C; when 

the head at the node is lower than the specified head, the drain 

boundary has no effect. While groundwater withdrawals probably induce infiltration of streamwater to the bedrock aquifer 

in some areas, this process was not represented in the models 

because the quantity and spatial distribution of these flows has 

not been mapped.

The top model boundary represents recharge from the 

unconsolidated deposits and is specified as a fluid source 

applied to nodes on the boundary, except those nodes that represent stream and open-water boundaries, and areas underlain 

by lacustrine sediments (fig. 7). The recharge rate at each node 

(Rch) was computed from a calibrated maximum recharge rate 

(Rchmax) adjusted by three factors using the equation

Rch = Rchmax x Precip x Perv x Thick, (2)

where Precip is a precipitation factor,

Perv is a pervious area factor, and 

Thick is a factor related to overburden thickness.

The Precip factor accounted for the spatial distribution of 

precipitation, which is based on measured precipitation at 

nine gages (Heisig, 2010, fig. 3). Mean annual precipitation 

was normalized by dividing the precipitation at each node 

location by the weighted mean for the entire model domain 

(50.8 in/yr). The Perv factor reduced recharge in areas with 

impervious cover (for example, pavement), which is based on 

maps of existing buildings and roadways in 2000 (Rockland 

County Department of Planning, written commun., 2007) and 

an assumed relation between recharge and the percentage of 

pervious area surrounding each nodal location (fig. 24A). The 

Thick factor reduced recharge in areas covered by till according to the equation (fig. 24B)

κb Thick − = 10 , (3)

where b is the thickness of till [L] below a threshold depth 

(10 ft) and 

κ is a decay factor [L–1] estimated through model

 calibration.

The Thick factor was assigned a value of 1.0 for nodes representing areas underlain by alluvium and outwash.

Simulated recharge rates to the bedrock aquifer in the 

southern part of the model domain are lower than those 

computed for the northern part where annual precipitation 

is higher and the till is thinner (fig. 25). Less recharge to the 

bedrock aquifer also is computed for stream valleys where the 

till is thicker than surrounding areas. Recharge rates estimated through model calibration include conveyance losses 
34 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 22. Finite-element mesh and bedrock zones used to assign thickness of active groundwater flow in Newark basin in 

Rockland County, NY.

Base from Rockland County Planning Department

Palisades

Parkway

 

 

 

 

 

 

 

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Open water 

Finite-element mesh

REGIONAL MODEL

 DOMAIN

G

G'

New York State

Thruway

Line of section

G G'

Bedrock zones: delineated by Heisig (2010)

A B C D

Perennial stream

EXPLANATION

5 KILOMETERS

0 5 MILES

0

 
Groundwater Flow Models 35

N

Outwash aquifer

Low T zone

HighT zone

Newark basin

aquifer:

Upper unit

Lower unit

G

G'

50

5

0.5

0.05

0.005

Maximum hydraulic conductivity 

 (Kmax), in feet per day

Oblique view, not to scale

EXPLANATION

Figure 23. Block diagram cropped along section G-G' showing thickness of units and hydraulic conductivity 

zones within model domain. Location of section shown in figure 22.

through the delivery of public water, which are not represented 

explicitly in model simulations. The effect of impervious areas 

mapped in 2000 reduces recharge to the Newark basin aquifer 

by about 5 percent.

Groundwater withdrawals from 48 wells are represented 

by fluid sinks assigned to nodal locations that are nearest to 

each well using average withdrawal rates from 1985 through 

2005. At each node location, the withdrawal is distributed 

over a vertically stacked set of nodes that corresponds to the 

open interval of the well. Two well fields containing closely 

grouped wells (Grandview and Pomona; fig. 3) are represented 

as combined withdrawal from a single well that is represented 

by a column of nodes in the FE mesh.

Hydraulic Conductivity

Hydraulic conductivity values are computed for elements 

in the FE mesh using a conductivity tensor and a function that 

decreased hydraulic conductivity with increasing depth below 

the bedrock surface. The conductivity tensors are aligned with 

the strike and dip of the bedding, as in the Spring Valley model 

described earlier, and tensor orientations are assumed to remain 

constant with depth. Maximum conductivity (Kmax) is oriented 

along the direction of strike, the medium conductivity (Kmed) is 

oriented along the direction of dip, and the minimum conductivity (Kmin) is perpendicular to the bedding. Values of Kmax and 

Kmin were estimated through calibration, and the value of Kmed

was set equal to Kmax because the water-bearing zones were 

assumed to be isotropic. The same two structural models used 

for the Spring Valley well field are represented. The dip of bedding in model A is assumed to be uniform with a declination of 

10° towards the Ramapo Fault, and the dip of bedding in model 

B is based on the delineation by Heisig (2010).

A power function similar to that applied in the groundwater flow model of the Shenandoah Valley by Yager and others 

(2008) is used to relate the decrease in hydraulic conductivity K

below a threshold depth D below the bedrock surface:

d Kdepth K10 −λ = , (4)

where Kdepth is the hydraulic conductivity [L/T] at depth d [L] 

below a threshold depth D and 

λ is a decay factor [L–1].

Threshold depths D were assigned for each bedrock zone 

(fig. 7) on the basis of depths of active flow estimated by 

Heisig (2010) from borehole geophysical surveys. The depth 

decay factor λ was not a sensitive model parameter and was 

assigned a value of 3 x 10–4 ft–1 on the basis of values estimated by Yager and others (2008) for the Shenandoah Valley. 

The minimum value of Kdepth was limited to 10–3 ft/d.

Hydraulic conductivity values were estimated through 

model calibration for the high and low T zones presented 
36 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

0.2

0.4

0.6

0.8

1.0

0

0 20 40 60 80

80

60

40

20

0

0 0.2 0.4 0.6 0.8 1.0

100

100

THICKNESS FACTOR, DIMENSIONLESS

PERVIOUS AREA, PERCENT

A Pervious area

B Thickness factor

PERVIOUS AREA FACTOR, DIMENSIONLESS THICKNESS OF UNCONSOLIDATED DEPOSITS, IN FEET 

Figure 24. Relations defining factors used to compute recharge 

assigned to nodes in finite-element mesh (A) pervious area factor (Perv), 

and (B) thickness factor for unconsolidated deposits (Thick).
Groundwater Flow Models 37

Figure 25. Distribution of simulated recharge specified in steady-state simulations of 2006 conditions in Newark basin in 

Rockland, NY.

Base from Rockland County Planning Department

Palisades

Parkway

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Simulated recharge rate, in inches per year

EXPLANATION

30

Less than 0.3

3

New York State

Thruway

5 KILOMETERS

0 5 MILES

0

REGIONAL MODEL

 DOMAIN
38 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

earlier (fig. 13). Two alternative hydraulic conductivity 

patterns also were considered in model calibration—a 

continuous distribution of T based on kriging (fig. 13) and 

zones that correspond to the bedrock zones mapped on the 

basis of natural-gamma activity surveys conducted by Heisig 

(2010) (fig. 7). These alternative distributions either resulted 

in poorer model fits or had little effect on model results, as 

described below.

Model Calibration

Both groundwater flow models A and B were calibrated 

by adjusting hydraulic conductivity and recharge values to 

minimize the difference between simulated groundwater levels 

and those observed in wells. Optimum parameter values were 

obtained through nonlinear regression using UCODE 2005 

(Poeter and others, 2005), as described previously for the 

Spring Valley model.

Observations

The nonlinear regression was used to compare simulated water levels with the average of water levels measured 

in 140 bedrock wells from August 2005 through April 2007. 

The open interval of many of these wells is not known, but 

drilled wells in the Newark basin aquifer are typically cased 

to bedrock. The assumed measurement depth was computed 

as midway between the bottom of the well and the estimated 

bedrock surface or the measured water level, whichever 

was lower. The median well depth is 155 ft, and the median 

measurement depth is 82 ft. Weights assigned to the waterlevel measurements were chosen to reflect measurement 

error and were based on the number of measurements made. 

Wells for which two to four measurements were made were 

assigned weights equivalent to a 6.5-ft standard deviation in 

measurement error. Wells that were measured only once were 

assigned weights equivalent to a 10-ft standard deviation in 

error, slightly less than the 11.5-ft mean range in water-level 

fluctuation observed during the measurement period.

Although mean annual base flow has been estimated at 

seven streamgage stations, as discussed previously, only one 

station (Mahwah River near Suffern, fig. 11) has period of record 

longer than 3 years, so base-flow data were not used in model 

calibration. The volume of groundwater withdrawals applies a 

sufficiently large stress on the bedrock aquifer to allow the estimation of recharge without including the base-flow data. Simulated base flows were compared with the only available data 

measured during the simulated period, low flows in July 2006.

Model Fit

The potentiometric surfaces simulated with both models 

A and B (fig. 26) are similar and provide a reasonable match 

to that observed, but simulated heads are underpredicted in 

the uplands north and west of Spring Valley. A perspective 3D 

view illustrates that heads are propagated downdip through the 

aquifer, creating areas with upward and downward gradients 

northwest of uplands and lowlands, respectively (fig. 27). 

Artesian flow has been observed and upward flow measured in 

wells located in areas of upward gradient. Cascading flow has 

been observed and downward flow measured in wells located 

in areas of downward gradient. In general, vertical gradients 

(upward or downward) can be expected throughout the aquifer 

as a result of the topography and the inclined bedding, as 

indicated in figure 27. In this setting, individual water-bearing 

zones function as separate confined aquifers.

Residual (observed minus simulated value) plots for 

heads indicate that both models A and B simulate the groundwater flow system reasonably well (fig. 28). The standard 

error in head in model A is 12.6 ft, while the standard error in 

model B is 12.2 ft, indicating a slightly better model fit. These 

standard errors are less than 3 percent of the 535-ft measured 

range of head and are comparable to the mean 11.5-ft fluctuation in measured water levels. There is a slight bias towards 

overprediction (fig. 28) with a mean residual of -2.5 ft. Heads 

are overpredicted (negative residuals) in the Saddle River 

watershed and west of Lake DeForest and are underpredicted 

(positive residuals) in the uplands west of Spring Valley 

(fig. 26). In general, the simulated hydraulic gradient is flatter than that measured. The wide scatter in the residuals for 

measured heads greater than 480 ft indicates that water levels 

in these upland areas are controlled by local conditions not 

represented in the model (fig 28).

Simulated stream base flows from models A and B are 

similar and closely match the low flows observed in July 

2006, with the exception of the Hackensack and Saddle 

Rivers (fig. 11) where simulated flows are higher (fig. 29). 

Groundwater discharge to the Hackensack River is estimated 

to account for nearly 30 percent of discharge from the aquifer 

(table 4), so additional information concerning the volume of 

base flow is important for improving the model fit. Decreasing simulated flows to the Saddle River would likely increase 

model error because simulated heads in this watershed are 

overpredicted, as noted above. Simulated flows are less than 

estimated base flows in the Mahwah River and Pascack Brook, 

indicating possible additional sources of water in these watersheds. Groundwater withdrawals account for about 19 percent 

of discharge from the aquifer.

Parameters

A total of 14 parameter values were specified in the models, five of which were optimized through nonlinear regression (table 5). Coefficients of variation (cv) for the hydraulic 

conductivity parameters are less than 2 percent. The cv for 

the Rchmax recharge parameter is larger (15 percent), and the κ

recharge parameter is more than 100 percent. These cv values 

indicate that the regression is sensitive to most of the parameters and that the values are reasonably well estimated, with 

the exception of κ. Values for the hydraulic conductivity (K) 

of unconsolidated deposits underlying streams were estimated 

through regressions that improved overall measures of model 

fit, but values did not converge because the sensitivity of the 
Groundwater Flow Models 39

Figure 26. Potentiometric surface simulated for 2006 conditions in Newark basin in Rockland County, NY, using model B and 

distribution of residuals (observed minus simulated values).

Base from Rockland County Planning Department

 

 

 

 

 

 

 

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Perennial stream

Simulated potentiometric, 

 surface in feet above NAVD88

Residual, in feet

–5 to 5

6 to 25

26 to 50

Greater than 50

–25 to –6

–50 to –26

Less than –50

EXPLANATION

Spring

 Valley

Lake

DeForest

New York State

Thruway

REGIONAL MODEL

 DOMAIN

Palisades

Parkway

650

130

260

390

420

0

5 KILOMETERS

0 5 MILES

0

 
40 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Oblique view, not to scale

Upward gradient

 and artesian flow

Downward gradient

and cascading flow

Spring Valley

G

G'

N

650

420

390

260

130

0

Water level, in feet

EXPLANATION

Figure 27. Block diagram cropped along section G-G' showing spatial distribution of simulated hydraulic 

head with model B and locations of potential flowing and cascading wells.

Table 4. Simulated water budget for Newark basin aquifer in model B.

[ft3/s, cubic feet per second]

Source Inflow volume 

(ft3/s)

Percent Discharge Outflow volume 

(ft3/s)

Percent

Recharge from precipitation 

and conveyance lossesa 118.2 98.9 Streams

Hackensack River 35.1 29.4

Underflow from New Jersey 1.3 1.1 Mahwah River 13.4 11.3

Nauraushaun Brook 4.2 3.5

Pascack Brook 8.6 7.2

Saddle River 10.7 8.9

Sparkill Creek 1.8 1.5

Open water and small drainages 15.0 12.5

Water withdrawals 23.0 19.2

Underflow to New Jersey 7.8 6.5

Total 119.5 100 119.5 100

a

 Estimated to be 16 percent of water withdrawals.
Groundwater Flow Models 41

A Simulated and observed values

B Simulated values and weighted residuals 

SIMULATED WATER LEVEL, IN FEET ABOVE SEA LEVEL 

0

0 100 200 300 400 500 600

SIMULATED WATER LEVEL, IN FEET ABOVE SEA LEVEL 

0 100 200 300 400 500 600 −40

−30

−20

−10

0

10

20

30

40

MEASURED WATER LEVEL, IN FEET ABOVE SEA LEVEL WEIGHTED RESIDUAL, IN FEET

100

200

300

400

500

600

Figure 28. Residual plots for simulated water levels in 

model B (A) relation between simulated and observed 

values, and (B) and relation between simulated values and 

weighted residuals.
42 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York BASE FLOW, IN CUBIC FEET PER SECOND

Nauraushaun Brook 

Pascack Brook

Saddle River

Hackensack River 

Mahwah River 

Pine Brook

Simulated base flow

Estimated base flow

July 2006 low flow

10

5

0

15

20

25

Figure 29. Bar chart comparing simulated base flows for selected streams in 

model B with base flows estimated from streamflow hydrographs 2004 to 2007, and 

low flows in July 2006. Locations of streamgage stations shown in figure 12.

regression to these parameters was too low. The estimated 

K values for till and lacustrine sediments are greater than 

expected (10 and 2 ft/d, respectively, table 5), but lower K

values resulted in overprediction of groundwater levels and 

increased model error. One possible explanation for the large 

values is that the drainage network represented in the model 

does not include groundwater discharge (by infiltration) to 

sewers that is estimated to be 7.6 Mgal/d, or about 10 percent 

of the simulated water budget. The large overburden K values 

of the unconsolidated deposits in the models increase the 

simulated discharge and lower the simulated water levels but 

do not represent the spatial distribution of the sewer network.

The average recharge rates estimated with both models A 

and B are 20 and 19 in/yr, respectively (table 5), corresponding to maximum recharge rates of 28 and 24 in/yr, respectively. The average recharge rates are comparable to rates 

computed by Heisig (2010) for 2006 from base-flow data for 

the Saddle River and Pascack Brook (19 and 18 in/yr) and 

from annual water-level fluctuation in well Ro647 (21 in/yr, 

well location shown in figure 9). These recharge rates are 

lower than the rate estimated by Heisig (2010) for the Mahwah River watershed (27 in/yr), however, consistent with the 

fact that part of the base flow in the river is derived from the 

highlands west of the model domain. The uncertainty in the 

recharge estimate is ±6 in/yr, which is based on the approximate 95-percent confidence interval. The precipitation in 2006 

was 18 percent greater than average precipitation from 1960 

through 2006, so the mean long-term recharge rate is probably 

less than 19 in/yr.

Optimized Kmax values in model A result in equal transmissivity values parallel to the strike of bedding in both the 

high and low T zones (1,100 ft2/d). These Kmax values are both 

within the approximate 95-percent individual confidence 

intervals associated with model B. Optimized Kmax values 

for the two T zones in model B are nearly identical, but the 

corresponding transmissivity values (assuming T = Kb) are 

slightly higher in the high T zone (1,600 ft2/d) than in the low 

T zone (1,300 ft2/d) where the depth of active flow is thinner. 

The Kmax: Kmin anisotropy was estimated to be 58:1 in model A 

and 410:1 in model B. As a result, the proportion of the total 

flow that is perpendicular to bedding is less in model B than in 

model A.

Additional nonlinear regressions were conducted using 

model B to assess the effects of alternative distributions of T

and specified Kmax: Kmin anisotropy ratios. The first regression 

employed a continuous transmissivity distribution based on 

kriged log T values from aquifer test data. The estimated Kmax

values using nonlinear regression techniques were 60 percent 

greater than those estimated with model B but preserved the 

nearly three-fold difference between the high and low T zones 

observed in aquifer tests. The average recharge rate estimated 

using regression is 36 in/yr, and the model error is 27 percent 

greater than the model B error, indicating a poor model fit. 

The second regression estimated T for the four bedrock zones 

(fig. 7) delineated by Heisig (2010) and produced parameter 

estimates that were nearly identical to those produced by 

model B. Together, these results indicate that a nearly uniform 
Groundwater Flow Models 43

Table 5. Parameter values in alternative models of regional groundwater flow specified or estimated 

through nonlinear regression.

[Optimized values are shaded. ft/d, feet per day; ft, feet; in/yr, inches per year; T, transmissivity; ft–1, inverse feet]

MODEL

Parameter

A B

Approximate individual 

confidence interval Value Value

Maximum hydraulic conductivity, ft/d:

High T zone 2.8 4 2.7–6.0

Low T zone 3.6 4.2 2.9–6.2

Anisotropy ratios:

Maximum:mediuma 1 1

Maximum:minimumb 58 410 180–940

Power function:

Decay factor, ft–1 3 x 10 3 x 10

Depth threshold, ft

Zone A 250 250

Zone B 400 400

Zone C 300 300

Zone D 250 250

Recharge:

Maximum rate, in/yr 28 24 17–31

Thickness factor, ft–1 2.4 x 10–2 2.7 x 10–3 -d

Average rate, in/yr 20c 19c 13–25

Streambed hydraulic conductivity, ft/d:

Alluvial sediments 300 300

Till 10 10

Lacustrine sediments 2 2

Standard error, ft 12.6 12.2

a

 Strike-parallel to dip-parallel conductivity.

b

 Strike-parallel to cross-bedding conductivity.

c

 Computed from simulated water budget.

d

 Not meaningful, coefficient of variation = 100 percent.
44 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

distribution of transmissivity yields the best fit to the waterlevel data obtained from 2005 to 2007. In the third regression, 

the anisotropy ratio was fixed at the value obtained from the 

simulation of Spring Valley water-level recovery test (70:1). 

In comparison to those used with model B, the Kmax values 

estimated in this regression are 34 percent lower, the average 

recharge rate is similar (18 in/yr), and model error is 13 percent 

greater. In the fourth regression, the bedrock aquifer was 

specified as isotropic (anisotropy ratio 1:1). This regression 

produced the best model fit with a 15 percent reduction in error, 

with Kmax values 70 percent less than in model B and a comparable average recharge rate (19 in/yr). Results from the Spring 

Valley water-level recovery test and borehole geophysical logs 

indicate that the bedrock aquifer is not isotropic, however. All 

of the water-level data used in model calibration were measured in wells that are open boreholes. Each measurement is a 

composite of hydraulic heads in fracture zones intersected by 

each well (weighted by the transmissivity of each zone) and 

likely does not reflect the effects of the dipping bedrock structure, as represented by the models. The model calibration could 

be improved if a better observation set based on water levels 

measured in piezometers open to isolated water-bearing zones 

were available.

Comparison of Transmissivity Estimates

Comparison of Kmax values estimated through model calibration with transmissivity values estimated from aquifer tests 

in the field is not straightforward. Model-derived K values are 

converted to transmissivity (T) using knowledge of the saturated thickness b (T = Kb). Saturated thickness is commonly 

assigned to the length of open boreholes in the analysis of 

aquifer tests and to the depth of active flow in the analysis of 

model results. For anisotropic aquifers, comparison of modelderived T values with those obtained using analytical methods 

(such as the Cooper-Jacob semi-logarithmic method) poses an 

additional complication because, for the latter, it is assumed 

that either isotropic material or a few limited configurations 

of horizontally bedded anisotropic material are present. In 

contrast, the transmissivity of inclined fractured bedrock in the 

Newark basin aquifer was represented in model simulations 

with a 3D hydraulic conductivity tensor.

For the case of flow to a fully penetrating pumped well 

(borehole length equivalent to the saturated aquifer thickness), 

T values estimated through simulation and by analytical methods for isotropic material are similar. The model-derived and 

analytically-derived T values for the Spring Valley water-level 

recovery test are 3,100 and 2,900 ft2/d, respectively, assuming a saturated thickness of 330 ft. The two values are similar 

because a fully penetrating well in fractured rock with a shallow dip induces two-dimensional radial flow that is parallel to 

bedding and well approximated by isotropic flow (fig. 30A). 

Results derived from simulations of a 1,770 x 1,770 x 330 ft3

block of anisotropic material with hydraulic properties 

equivalent to those estimated for the Newark basin aquifer 

(Kmax = 4.5 ft/d, Kmax: Kmin = 410:1) illustrate that differences in predicted flows to production wells in isotropic and 

anisotropic materials become significant, however, when the 

dip of bedding is steep (30°, fig. 30A) or if the well is partially 

penetrating (fig. 30B). In both these cases, more of the water 

pumped from the well flows through water-bearing zones that 

do not intersect the open interval. As a result, the component 

of flow perpendicular to bedding increases, and the effect of 

anisotropy becomes important. 

Estimated T values derived from regional simulations 

can be very different for isotropic and anisotropic aquifers. 

The estimated T values represent the bulk transmissivity of 

a volume of rock that encompasses both highly transmissive water-bearing zones and the network of less transmissive fractures that connect them (Shapiro and others, 2007). 

The bulk transmissivity is the coefficient of proportionality 

between the hydraulic gradient and the volumetric flow rate 

through a volume of the rock. In the case of an inclined 

anisotropic aquifer, the bulk transmissivity is less than the 

transmissivity parallel to bedding (corresponding to Kmax) 

because regional flow paths are both parallel and perpendicular to bedding. Bulk T values for isotropic and anisotropic 

aquifers can be compared by computing the volumetric flow 

rate through each system under a specified hydraulic gradient. This computation was performed for the Newark basin 

aquifer by replacing the top model boundaries (recharge 

and drains) with specified heads computed using model B 

(fig. 26) and then calculating groundwater discharge to the 

top model boundary through steady-state simulation. This 

process was repeated for an isotropic aquifer by specifying 

the anisotropy ratio as 1:1. 

The Kmax value of the isotropic aquifer was then adjusted 

to produce a volumetric flow rate equivalent to that through 

the anisotropic aquifer. The equivalent bulk K value of the 

isotropic aquifer was about 16 percent of Kmax in the anisotropic aquifer, corresponding to a bulk T value of 290 ft2

/d. This 

value is less than 75 percent of the values computed from 

analysis of aquifer tests, assuming isotropic conditions (300 

to 1,000 ft2/d; fig. 14) and indicates that regional flow through 

the Newark basin aquifer is controlled by networks of waterbearing zones that are overall less transmissive than those 

surrounding the pumped well fields.

In general, the bulk T value of an inclined anisotropic 

aquifer depends on (1) the angle between the direction of 

the hydraulic gradient and the strike of bedding (θ) and (2) 

the declination of bedding (φ). This relation is demonstrated 

by simulation results, which are based on the same block of 

anisotropic material described above. In these simulations, 

inflow and outflow head boundaries were specified at the top 

edges of the block to produce a uniform hydraulic gradient 

(fig. 31A). The orientation of the strike of bedding (direction of Kmax) was varied between 0° and 90°, relative to the 

direction of the hydraulic gradient, and the flow through the 

block was simulated. Two bedding declination angles were 

considered, 10° and 30°. Simulation results are presented as 

percentages of flow through an equivalent block of isotropic 

material (fig. 31B). Flow through the block of anisotropic 

material inclined at 10° decreased from 28 to 5 percent as 
Groundwater Flow Models 45

290

300

310

320

330

10 100 1,000 10,000 100,000

10 100 1,000 10,000 100,000

WATER LEVEL, IN FEET HEAD, IN FEET

TIME, IN SECONDS

Isotropic model

Anisotropic models—bedding declination

10°

30°

Isotropic model

Anisotropic models—bedding declination

10°

A Fully penetrating well

B Partially penetrating well

230

250

270

290

310

3300

TIME, IN SECONDS

Figure 30. Simulated change in head produced by wells pumping 

from isotropic and anisotropic materials (A) fully penetrating well, 

and (B) partially penetrating well.
46 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

A Simulated head distribution

INFLOW HEAD

 BOUNDARY 

OUTFLOW HEAD

 BOUNDARY 

STRIKE OF BEDDING 

HYDRAULIC GRADIENT 

20

10

0

0 10 20 30 40 50 60 70 80 90

30

50

40

60

70

B Simulated flow through block

ANGLE BETWEEN STRIKE OF BEDDING AND HYDRAULIC GRADIENT,

 IN DEGREES

SIMULATED FLOW THROUGH ISOTROPIC BLOCK,

IN PERCENT

Bedding declination, φ

10°

30°

θ

EXPLANATION

Simulated head,

 in feet:

328

325

326

327

Figure 31. Effect of angle (θ) between strike of bedding and hydraulic gradient and bedding declination 

(φ) on flow through a block of inclined anisotropic material (A) simulated head distribution with θ = 50° 

and φ = 10°, and (B) simulated flow through block.
Model Applications 47

0

0

5

10

15

20

25

5 10 15 20 25

Model B

Model A

SIMULATED AGE, IN YEARS

TRITIUM/HELIUM AGE, IN YEARS

Figure 32. Comparison of simulated ages of groundwater 

withdrawn from production wells with those estimated on the basis 

of tritium/helium age dating.

the angle θ between the strike of bedding and the hydraulic 

gradient increased from 0° and 90°. The simulated decrease 

in flow is larger (60 to 2 percent) for the steeper declination 

angle (φ = 30°). The flow rate is larger for the steeper angle 

because water penetrated deeper into the block and effectively 

increased the thickness of active flow. These results can be 

interpreted as the decrease in equivalent bulk T, which is 

proportional to the simulated flow, corresponding to different 

angles of θ and φ.

Model Applications

Conservative solute-transport simulations were conducted 

with alternative models A and B to estimate the groundwater 

age distribution in the flow system of groundwater of various ages and to delineate capture zones of production wells. 

Longitudinal and transverse dispersivities in the transport 

simulations were specified as 1,000 ft and 100 ft, respectively, 

to facilitate convergence of the numerical solution and reduce 

numerical oscillations.

Groundwater Age

Groundwater age was computed through steady-state 

simulations in which the solute concentration was interpreted 

as age. The initial solute concentrations (age) in groundwater and recharge were specified as zero, and a zero-order 

(linear increase in time) production of solute of unit strength 

(1 concentration unit/year) was used to represent aging. 

The simulated ages are inversely proportional to the value 

of effective porosity specified in the models. An effective 

porosity value of 2 x 10–2 was estimated by comparing the 

simulated age of groundwater withdrawn from 12 well fields 

to ages of water from the well fields calculated on the basis 

of tritium/helium (3H/3He) age dating (Aeschbach-Hertig and 

others, 1998). Groundwater ages simulated with models A 

and B compare favorably with the 3H/3He ages (fig. 32). The 

estimate of effective porosity compares favorably with the 

range of values (1.7 x 10–2 to 2.2 x 10–2) estimated by Heisig 

(2010) on the basis of water-table fluctuations measured in 

well Ro647 in the Newark basin aquifer. This value is useful 

when considering movement of environmental tracers on a 
48 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 33. Spatial distribution of groundwater age in Newark basin in Rockland County, NY, as simulated using (A) model A, 

and (B) model B.

Hudson River

Perennial stream

Simulated groundwater 

 age, in years

Greater than 100

10

Less than 1

EXPLANATION

Less than 50

Greater than 500

50 to 250

251 to 500

Production well and yield,

 in gallons per minute

Westgate Ro1277

Ro1289

Lake DeForrest

Pearl

River

Rustic

New York State

Thruway

REGIONAL MODEL

DOMAIN

Saddle River

Hackensack

 River

5 KILOMETERS

0 5 MILES

0

 

Form line—drawn parallel to bedding

A 74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Palisades

Parkway

Base from Rockland County Planning Department
Model Applications 49

Figure 33. Spatial distribution of groundwater age in Newark basin in Rockland County, NY, as simulated using (A) model A, 

and (B) model B—Continued.

Palisades

Parkway

74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Hudson River

Perennial stream

Simulated groundwater 

 age, in years

Greater than 100

10

Less than 1

EXPLANATION

Less than 50

Greater than 500

50 to 250

251 to 500

Production well and yield,

 in gallons per minute

Westgate

Pearl 

River

Lake DeForrest

Rustic

Ro1277

Ro1289

New York State

Thruway

Saddle River

Hackensack

 River

REGIONAL MODEL

 DOMAIN

5 KILOMETERS

0 5 MILES

0

Form line—drawn parallel to bedding

B

Base from Rockland County Planning Department
50 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

regional scale (miles) but is not necessarily applicable to the 

prediction of contaminant migration at the local scale (hundreds of feet).

The distributions of simulated groundwater age in models 

A and B are similar and indicate that most groundwater at a 

depth of 225 ft below the bedrock surface (one-half the assumed 

thickness of the zone of active flow) is 5 to 20 years old 

(fig. 33). Simulated ages are youngest (5 years or less) near 

recharge areas in uplands and oldest (more than 100 years) 

in lowlands near the Hackensack River and Saddle River. 

The youngest ages (2 to 3 years) simulated with model A are 

located in some upland areas and east of the Palisades Parkway near the northern model boundary (fig. 33A). In these 

areas, the assumed strike of bedding in model A provides 

shorter paths for groundwater discharge to tributary streams 

than those in model B. 

The median age of water from the 45 well fields simulated using both models is about 12 years, although water 

older than 100 years was simulated by both models for the 

Pearl River well and for the Westgate well in model B (fig. 

33B). Aeschbach-Hertig and others (1998) note that water 

from the Westgate well is probably a mixture that contains 

water older than 50 years, so it cannot be accurately dated 

from the available data. Groundwater ages simulated with 

the two models generally differ by less than 2 years at most 

wells but differ by more than 10 years at 8 of the 45 wells. 

The standard error in age in model A is 6.6 years, while the 

standard error in model B is 5.7 years, indicating a slightly 

better model fit. Both models predicted groundwater ages 

that were more than twice as old as that estimated for water 

in observation well Ro1277 (19 years) and less than one-half 

as old as estimated for water in observation well Ro1289 (23 

years). Groundwater ages of water from observation wells 

could reflect local conditions, however, and may differ from 

those of water from pumped wells that sample a larger volume of groundwater flow.

Capture Zones of Well Fields

The 3D capture zones of 30 well fields that tap the Newark basin aquifer with an average withdrawal rate more than 

70 gal/min were delineated through reverse-flow, transient 

transport simulations using both models A and B. In the 

reverse-flow simulations, flow was routed through a steadystate simulation in a reverse direction from inflow points at 

production wells and along streams to discharge points at 

land surface. The transient transport represented a 10-year 

period with time steps ranging from 1 to 365 days. Reverseflow simulations track migration of a tracer solute injected at 

the production wells backwards to discharge points at land 

surface; the tracking is achieved by multiplying all specified 

heads and all sources by negative one (–1). This means that 

production wells become injection wells in the reverse-flow 

simulation, and recharge rates are specified as negative values. The average withdrawal rates from 1985 through 2005 

used in model calibration were specified for each well field. 

Drain boundaries were modified in reverse-flow simulations 

to only allow inflow of water from streams. One exception 

was the Mahwah River that was treated as a head-dependent 

boundary to represent the potential exchange of water 

(inflow and outflow) between the river and the underlying 

outwash aquifer. 

This procedure is similar to backward tracking using 

particles (for example, Zheng and Bennett, 2002) and was 

used to delineate capture zones to well fields in the Shenandoah Valley, VA (Yager and others, 2008). Simulation of 

dispersion using reverse-flow simulations results in larger 

delineated areas than those using particle tracking methods, 

and the dispersion coefficient represents heterogeneity of 

hydraulic conductivity in the aquifer that creates uncertainty 

in the position of the capture zone. Qualitatively, the simulated distribution of concentration of tracer solute presented 

herein can be interpreted as areas within which water 

recharging the bedrock aquifer has a 50-percent probability of reaching the well. Water recharging at locations with 

higher concentrations of tracer solute is more likely to reach 

the well at the field site than water recharging at locations of 

lower concentrations.

Plan views of the capture zones delineated using models 

A and B (fig. 33B) are shown in figure 34. The plan views 

were delineated by truncating each 3D capture zone at a 

depth of 225 ft below the bedrock surface (one-half the 

assumed thickness of the zone of active flow) and projecting the remaining volume to the piezometric (water-level) 

surface; the plans are analogous to contributing recharge 

areas typically delineated by other studies. The resulting 

plan views are conservative because they depict an area 

downdip of the wells that is larger than actually intercepted 

at land surface. Although the capture zones depict recharge 

areas within a 10-year travel time of the wells, the zones 

were relatively stable at this point in the simulation and were 

expanding only slightly. Some delineated capture zones are 

contiguous in the central part of the model area, so adjacent 

capture zones are distinguished with different colors. 

Capture zones for bedrock wells range from 1.9 mi2 for 

the Spring Valley well field and 1.0 mi2 for the pharmaceutical company well field, which have the largest withdrawal 

rates (1,300 and 1,200 gal/min, respectively), to less than 

0.04 mi2 (25 acres) for well fields with the smallest withdrawal rates (80 gal/min). The combined area of capture 

zones for all the well fields represented is 13.6 mi2 or 16 

percent of the model domain. The delineated capture zones 

for two well fields that produce water from the outwash 

aquifer underlying the Mahwah River (Catamount and River) 

are approximate. Although the reverse-flow simulations did 

account for possible induced infiltration from the river, the 

outwash aquifer was not the primary focus of the modeling 

effort, and the model mesh was not designed to provide a 

high degree of resolution in these areas.

The shapes of the delineated capture zones are generally 

elongated parallel to the assumed strike of bedding (shown 
Model Applications 51

by form lines on fig. 34) but are affected by the assumed 

anisotropy ratio (Kmax: Kmin), the simulated potentiometric 

surfaces, and the drainage network of stream channels, as 

well as by capture zones of adjacent well fields. Differences 

in the assumed strike of bedding are reflected by the different 

shapes of capture zones delineated by models A and B, but 

the areas of the capture zones are similar. Capture zones generally extend beneath adjacent streams and collect recharge 

from both sides of the streams. Portions of the capture zones 

of several well fields lie within the watersheds of Pascack 

Brook and Nauraushaun Brook (fig. 34A and B). The watersheds of these two brooks account for the largest portions of 

watershed area overlapped by capture zones, indicating that 

the reduction of base flow by groundwater withdrawals is 

greatest for these streams.

Areas affected by groundwater withdrawals were 

delineated by Heisig (2010) by mapping the range and orientation of hydraulic connections emanating from selected 

well fields, as measured from water-level changes induced 

by pumping. The areas affected by groundwater withdrawals (fig. 34B) are generally consistent with the delineated 

capture zones but are larger for some well fields because 

areas that are affected by pumping do not necessarily contribute water to the pumped well. In addition, the average 

withdrawal rates from 1985 through 2005 used to delineate 

the capture zones are typically lower than the increased 

rates of pumpage during the summer seasons when the 

hydraulic connections were measured. This is especially 

true for the Viola well field where an additional well 

increased withdrawal rates by about 80 percent from 2001 

through 2005. Finally, the capture zones were delineated 

by a porous-media model, whereas water in the fracturedbedrock aquifer flows through discrete fractures. Actual 

hydraulic connections along preferential paths within the 

fracture network could, therefore, extend further than the 

distances predicted by the model simulations.

The 3D perspective views of the capture zone of the 

Spring Valley well field delineated by model B are shown in 

figure 35. The colors of the capture zone indicate the relative likelihood that water in the capture zone will flow to the 

well. Simulated flow vectors drawn on the plots are projected onto vertical planes and show the direction and relative magnitude of groundwater flow near the well field. The 

capture zone extends to the simulated base of active flow in 

the bedrock aquifer (500 ft below the bedrock surface) and 

conforms to the dip of the bedding. Flow vectors indicate 

that water flows downdip to the wells from the southeast and 

updip to the wells from the northwest (fig. 35A). Flow from 

the northeast and southwest parallels the assumed strike of 

bedding and is generally horizontal (fig. 35B).

Uncertainty in the delineation of capture zones was 

assessed by changing specified aquifer properties and 

boundary conditions in three reverse-flow simulations 

conducted using model B. In the first simulation, the 

Kmax: Kmin anisotropy ratio was fixed at the lower value 

(70:1) obtained from the simulation of the Spring Valley 

recovery test. The capture zones delineated with this 

simulation (fig. 36A) are similar to those shown previously 

(fig. 34B) but are less elongated parallel to bedding and 

more affected by the potentiometric surface. In the second simulation the recharge rate was specified as 11 in/yr 

estimated for 1966, the lowest rate estimated for the period 

1960 through 2006 and about 60 percent of the calibrated 

rate estimated for 2006. These delineated capture zones 

(fig. 36B) are only slightly larger than those originally 

delineated with model B (fig. 34B), but the combined 

area of capture zones for all the well fields was 18.3 mi2, 

or 35 percent larger than originally estimated by model 

B. Finally, a third simulation was conducted in which the 

largest annual withdrawal rates from 1975 were specified 

(30 percent larger than the average rate from 1985 through 

2005). Some of the delineated capture zones in this simulation are larger than those delineated with model B (such as 

the Rustic well field), and the combined capture-zone area 

was 19 mi2 or 40 percent larger. In summary, none of the 

changes considered had a marked effect on the delineated 

area that contributes recharge to wells.

Transient Simulation of Changes in Recharge 

and Groundwater Withdrawals

Transient simulations were conducted using model B 

to assess the effect of changes in recharge and groundwater 

withdrawals on water levels and discharges to streams. Two 

simulation periods were considered: a 47-year period that represented annual changes from January 1960 through December 2006 and a 3-year period that represented monthly changes 

from January 2000 through December 2002. A steady-state 

simulation that used recharge and withdrawal rates estimated 

for 1960 provided the initial head distribution for the 47-year 

simulation, which in turn provided the initial head distribution in January 2000 for the 3-year simulation. Values of 

aquifer properties that were specified in the transient simulations included those estimated through calibration with model 

B (table 5) and the effective porosity value (0.02) estimated 

using simulations of groundwater age. The sensitivity of the 

simulated water levels and discharges was assessed by considering an order-of-magnitude range of values of specific storage 

Ss with the lowest value 7.6 x 10–6 ft–1 equal to that estimated 

through transient simulation of the Spring Valley recovery test.

The Newark basin aquifer was initially assumed to 

remain confined during the transient simulations, so changes 

in the volume of water stored in the aquifer and the water 

levels were determined by the value of specific storage. 

About one-half the area of the aquifer is unconfined, however, as evidenced by measured water levels that are below 

the bedrock surface. In these unconfined areas, the volume of 

stored water is determined by the value of specific yield (Sy), 

which is assumed to be equivalent to the estimated effective 

porosity (0.02). In unconfined aquifers the volume of water 

released from unsaturated storage per unit area under a unit 
52 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Figure 34. Plan views of capture zones of well fields in Rockland County, NY, delineated after 10-year travel time with (A) 

model A, and (B) model B.

Base from Rockland County Planning Department

Mahwah River

Well field withdrawal rate,

 in gallons per minute

Watershed boundary 

Less than 250

Sparkill Creek

250 to 499

500 to 749

750 to 1,000

Greater than 1,000

Saddle River Form line—Drawn parallel to bedding

Nauraushaun Brook

Pascack Brook Capture zone—Yielding water to well field,

 different colors distinguish adjacent areas

A 74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

EXPLANATION

Nauraushaun

Brook

watershed 

Pascack

Brook

watershed

5 KILOMETERS

0 5 MILES

0
Model Applications 53

Figure 34. Plan views of capture zones of well fields in Rockland County, NY, delineated after 10-year travel time with (A) 

model A, and (B) model B—Continued.

B 74°05' 74°00' 73°55'

41°10'

41°05'

41°00'

Base from Rockland County Planning Department

Ro647

Ro1272

Ro1278

Ro1234

Viola River

Catamount

Ro106

Ro58

H

H

H'

H'

I'

I

Nauraushaun

Brook

watershed 

Pascack

Brook

watershed

5 KILOMETERS

0 5 MILES

0

Mahwah River

Well field withdrawal rate,

 in gallons per minute

Watershed boundary 

Less than 250

Sparkill Creek

250 to 499

500 to 749

750 to 1000

Greater than 1,000

Saddle River Form line—drawn parallel to bedding

Nauraushaun Brook

Pascack Brook

Capture zone—Yielding water to well field,

 different colors distinguish adjacent areas

Ro58

Observation well and label

Hydraulic connection between pumped well

 and other wells—after Heisig (2010)

EXPLANATION

Line of geologic section
54 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

H

I

H'

I'

Pumped well

Flow vector—Shows direction and relative 

 magnitude of groundwater flow

Capture zone—Shows relative likelihood of 

 recharge discharging at pumped well

EXPLANATION

More likely

Less likely

A View toward northeast 

B View toward northwest 

Vertical exaggeration x 2

Oblique view, not to scale

Pascack Brook

Pascack Brook

N

N

Figure 35. Three-dimensional perspective views of capture zones for Spring Valley well field in Rockland County, NY, delineated using 

model B: (A) view to northeast parallel to strike of bedding, and (B) view to northwest perpendicular to strike of bedding. Vertical slices 

along sections H-H' and I-I'. Locations of sections shown in figure 34B. Rounded tips of vectors denote direction and relative magnitude 

of groundwater flow.
Model Applications 55

A Kmax:Kmin anisotropy 70:1

C 1975 groundwater withdrawals

B Recharge reduced 40 percent

Rustic

Less than 250

250 to 499

500 to 749

750 to 1,000

Greater than 1,000

EXPLANATION

Form line—Drawn parallel 

 to bedding

Capture zone—Yielding water 

 to well field, different colors

 distinguish adjacent areas

Well field—groundwater withdrawal 

 rate, in gallons per minute

Figure 36. Sensitivity of capture-zone delineation to changes in model B: 

(A) Kmax: Kmin anisotropy reduced to 70:1 (ratio parallel to bedding: perpendicular to 

bedding), (B) recharge rate reduced by 40 percent (1966 rate), and (C) withdrawal rates 

increased by 30 percent (1975 rates).
56 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

decline in hydraulic head equals Sy. An equivalent volume of 

water would be released from a saturated storage in a confined 

aquifer if

Ss b = Sy, (5)

where b is the saturated thickness of the aquifer.

A specific storage value of 4.0 x 10–5 ft–1 = 0.02/500 ft was, 

therefore, used to represent unsaturated storage in the confined 

transient simulations. This value is about five times the value 

estimated from the Spring Valley recovery test simulation.

Alternatively, unconfined transient simulations that 

incorporate both storage values also were used to represent 

variable saturation throughout the aquifer. These simulations were more difficult to conduct because representation 

of variably saturated conditions adds nonlinearity to the 

solution of groundwater flow because (1) in the saturated 

zone, transmissivity is a function of hydraulic head and (2) 

in the unsaturated zone, hydraulic conductivity is a function of saturation, which is, in turn, a function of pressure 

(tension). Relations (characteristic curves) are specified 

for the unsaturated zone that relate hydraulic conductivity 

to saturation, and saturation to pressure (Voss and Provost, 

2002). Unconfined transient simulations were conducted for 

both the 47-year and 3-year periods to indicate qualitatively 

the effect of variable saturation on simulated water levels 

and discharges. The simplified (linear) characteristic curves 

of properties specified for the Newark basin aquifer were 

based on laboratory values reported for glass beads (Tindall 

and Kunkel, 1999) (table 6) and caused rapid changes in 

storage in areas that were variably saturated. The top 50-ft 

model layer was replaced by five 10-ft layers in the simulations for an unconfined aquifer to better represent changes in 

saturation within the variably saturated zone in response to 

changes in recharge and groundwater withdrawals.

Seasonal Transient Simulation: 2000 through 2003

The 3-year transient simulation was divided into 36 

monthly periods to reflect seasonal changes in groundwater 

withdrawals and recharge. Monthly withdrawals were based 

on reported rates for 44 well fields that provide water for public and industrial supplies. Monthly recharge was estimated 

by apportioning annual recharge using a monthly distribution 

computed by Heisig (2010, fig. 56) on the basis of groundwater levels measured from 1998 through 2007 in a monitoring 

well completed in an outwash aquifer in Morris County, New 

Jersey, 20 mi southwest of Rockland County. Simulated water 

levels were compared with those measured in two observation 

wells in the Newark basin aquifer in Rockland County (wells 

Ro1272 and 1278, fig. 34B). Simulated hydrographs also were 

prepared at four other well locations for which data were not 

available for the period simulated to assess the potential range 

of water-level fluctuations in these areas (fig. 37).

The simulated hydrographs are arranged in figure 37 by 

altitude, with the two wells located in lowlands (Ro58 and 

Ro1278) at the bottom and the two wells located in uplands 

(Ro647 and Ro1272) at the top. All six hydrographs are 

shown with the same scale to facilitate comparison; monthly 

recharge is included on all plots and referenced on the right 

axis. Results of four simulations are shown; three simulations 

represented different values of Ss: (1) 7.6 x 10–6 ft–1 from the 

simulation of the Spring Valley recovery test, (2) 4.0 x 10–5 ft–1 

calculated with eq. 5, and (3) 7.6 x 10–5 ft–1, one order of magnitude greater than the smallest value considered. The fourth 

simulation used the smallest value of Ss but also represented 

variably saturated flow so that changes in storage in unsaturated areas were computed using Sy

 (0.02).

The simulated hydrographs reflect monthly changes in 

recharge, which ranged from 0.6 to 2.9 inches per month during the simulated period. Simulated water levels were highest 

during spring and lowest during the summer, and water levels 

were higher in 2002 as a result of relatively high recharge 

during the spring. Upland wells display the most water-level 

fluctuation (fig. 37A and B), and lowland wells display the 

least (fig. 37E and F). The simulated ranges in water levels are 

sensitive to the value of specific storage. The ranges of simulated water levels computed with the smallest Ss

 value vary 

from 10 to 20 ft in lowlands and from 80 to 90 ft in uplands. 

Water-level fluctuations computed with the largest Ss value 

were about 3 ft and 20 ft, respectively. For comparison, waterlevel fluctuations measured in the lowland and upland wells 

were 7 ft and 13 ft, respectively. Representation of variably 

saturated flow with the smallest Ss value resulted in less waterlevel fluctuation, from 10 to 16 ft in lowlands and from 40 to 

47 ft in uplands. The Ss value probably varies by location in 

the Newark basin aquifer but is larger than the value estimated 

from the Spring Valley water-level recovery test because the 

simulation of the variably saturated aquifer with the smallest Ss

 value predicted higher water-level fluctuations than 

were measured. Additional simulations of a variably saturated 

Table 6. Values of unsaturated flow properties specified in 

unconfined transient simulations.

Property Value

Residual saturation, percent 0.085

Air entry pressure, feet –2

Residual saturation pressure, feet –330

Relative permeability, percent 0.1
Model Applications 57

Recharge

(1) 7.6 x 10–6

 ft

–1

(2) 4.0 x 10–5

 ft

–1

(3) 7.6 x 10–5

 ft

–1

(4) 7.6 x 10–6

 ft

–1

 , unconfined flow

HYDRAULIC HEAD, IN FEET ABOVE SEA LEVEL

RECHARGE, IN INCHES PER MONTH

Water-level hydrograph, in feet above datum

EXPLANATION

Measured

Simulation and value of specific storage (Ss) 

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

420

440

460

480

500

520

A Ro647

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

C Ro106

350

370

390

410

430

450

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

D Ro1234

300

320

340

360

380

400

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

460

480

500

520

540

560

B Ro1272

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

50

70

90

110

130

150

2000 2001

YEAR

2002 2003

E Ro58

YEAR

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

50

70

90

110

130

150

2000 2001 2002 2003

F Ro1278

Figure 37. Water-level hydrographs simulated using model B with monthly distribution of recharge and groundwater withdrawals, 

2000 through 2003: (A) well Ro647, (B) well Ro1272, (C) well Ro106, (D) well Ro1234, (E) well Ro58, and (F) well Ro1278. Well locations in 

figure 34B.
58 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

aquifer could be conducted with other Ss values, but those 

simulations were not conducted because of limited data.

Simulated discharges to streams (base flow) are also 

sensitive to the assumed Ss value and largely reflect changes 

in monthly recharge (fig. 38A). Simulated monthly base flows 

range from 44 to 160 ft3/s with the smallest Ss value and from 

67 to 104 ft3/s with the largest Ss value. Groundwater withdrawals ranged from 16 to 30 ft3

/s during the simulated period; 

withdrawals are inversely correlated to recharge because 

withdrawal rates are greater in the summer when recharge is 

lower and lower in the spring when there is more recharge. 

Simulated mean annual base flow is about 90 ft3/s for all 

simulations, which is about four times the mean groundwaterwithdrawal rate.

Historical Transient Simulation: 1960 through 2006

The 47-year transient simulation was divided into annual 

periods to reflect historical changes in groundwater withdrawals and recharge. Annual withdrawals were based on reported 

rates for 59 well fields that provided water for public and 

industrial supplies. Annual recharge was estimated by scaling 

the 2005–2007 recharge rate estimated through model calibration (19 in/yr) by a factor that accounted for differences in 

annual precipitation measured from 1960 through 2006 at a 

gages in Letchworth, NY, and Theills, NY (fig. 11). Simulated 

water-level hydrographs were prepared for the same six locations presented for the 3-year transient simulations and are 

displayed in a similar manner (fig. 39). Four simulations were 

conducted using the same Ss values as presented earlier and 

considered both saturated and variably saturated flow.

Simulated water levels display the same sensitivity to 

the assumed Ss value in the 47-year simulations as in the 

3-year simulations, but the differences among the simulations are less apparent because changes in annual recharge 

rates (11.3 to 24.8 in/yr) are less than the five-fold changes in 

monthly rates from 2000 through 2003. There is little trend in 

simulated water levels in the lowlands, except at Ro58 where 

water levels increased following the decrease in groundwater 

withdrawals in 1970 (fig. 39E). A trend of declining water 

levels is apparent in other areas (fig. 39A-D) where simulated 

water levels decreased by 15 to 20 ft during the 43-year period 

from 1960 through 2002. Water levels increased sharply after 

2002, however, in response to increased recharge after 2002. 

Simulated mean annual base flow ranged from about 60 to 

120 ft3/s during the simulated period (fig. 38B), with a mean 

value of 80 ft3/s that is about four times the mean groundwater-withdrawal rate. The variability of simulated base flow was 

greater for simulations with smaller Ss values. 

Limitations and Additional Data Requirements

The groundwater flow models described in this report 

were designed to simulate regional flow and utilize a 

near uniform distribution of transmissivity that represents 

interconnections along flow paths that are 1 mile or more in 

length. This representation is sufficiently accurate to estimate 

the water budget for the Newark basin aquifer and to delineate 

the extents of capture zones associated with well fields. The 

actual distribution of transmissivity in the aquifer is heterogeneous (fig. 12), however, and reflects differences in the 

numbers and connectivity of fractures within local areas. This 

heterogeneity likely affects the pattern of flow in the vicinity 

of pumped wells. As a result, smaller-scale higher-resolution 

flow models would be required to more accurately represent 

contaminant movement, interference from adjacent wells, and 

local effects of pumping on streamflow.

The connection between the Newark basin aquifer and 

streams is represented by drains in the flow models described 

herein, so that only groundwater discharge is simulated. As a 

result, the models do not represent induced infiltration of water 

from streams to pumped wells and, thereby, overestimate the 

extents of capture zones of well fields located along perennial streams, such as the Spring Valley well field. These drain 

boundaries could be replaced by more general head-dependent 

boundaries that simulate induced infiltration, but additional 

data would be needed to estimate streamflow losses in the 

vicinity of pumped wells and calibrate the conductance terms 

(C) that determine rates of infiltration.

Additional data that extend the period of record for 

water-level and streamflow hydrographs would be valuable 

in improving the calibration of the groundwater flow models. 

Hydrographs constructed from long-term water levels and 

streamflow data could be analyzed to improve estimates of 

average recharge and to quantify annual and seasonal variability. In addition, concentrations of chemical tracers in 

streamflow could be measured during and between storms 

to better quantify the contribution of groundwater to stream 

discharge using a mass balance method (Stewart and others, 

2007). Additional water-level hydrographs would also provide 

more information concerning saturated and unsaturated storage in the aquifer and could be used to better estimate the 

value of Ss. Historical records of groundwater levels during the 

period 1960 through 2006 would provide valuable information 

concerning long-term trends and could be used to calibrate the 

transient simulations. Additional streamflow data for several 

streams that drain the modeled area would allow estimation 

of base flows, which would provide information regarding 

the hydraulic connections between streams and the bedrock 

aquifer. The present models are not intended to accurately 

predict the transient behavior of the bedrock aquifer but rather 

to indicate the potential range of water levels that could result 

from changes in stress.

Uncertainty exists concerning the pattern of bedrock 

structure in the Newark basin aquifer and its relation to the 

fracture network. Two depictions of form lines that indicate 

the strike of bedding in the aquifer have been proposed—in 

model A, based on the geologic map presented in this report 

(fig. 6), the bedding strike reflects broad folds in the bedrock, 

whereas model B, based on the structure map of Heisig (2010) 

(fig. 7), depicts a more parallel orientation of bedding strike. 
Model Applications 59

Groundwater withdrawals

(1) 7.6 x 10–6

 ft–1

(2) 4.0 x 10–5

 ft–1

(3) 7.6 x 10–5

 ft–1

(4) 7.6 x 10–6

 ft–1, unconfined flow

EXPLANATION

Simulation and value of specific storage (Ss) 

GROUNDWATER DISCHARGE,

IN CUBIC FEET PER SECOND

GROUNDWATER WITHDRAWALS,

IN CUBIC FEET PER SECOND

A 2000 to 2003 B 1960 to 2006

10

15

20

25

30

35

40

40

60

80

100

120

140

160

40

60

80

100

120

140

160

2000 2001 2002 2003

0

5

10

15

20

25

30

1960 1970 1980 1990 2000 2010

YEAR YEAR

Figure 38. Groundwater discharge to streams (base flow) simulated using model B with (A) monthly distribution of recharge and 

groundwater withdrawals, 2000 through 2003, and (B) annual distribution of recharge and groundwater withdrawals, 1960 through 2006.
60 Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Recharge

(1) 7.6 x 10–6

 ft–1

(2) 4.0 x 10–5

 ft–1

(3) 7.6 x 10–5

 ft–1

(4) 7.6 x 10–6

 ft–1 , unconfined flow

HYDRAULIC HEAD, IN FEET ABOVE SEA LEVEL

RECHARGE, IN INCHES PER YEAR

Simulated water-level hydrograph, in feet above datum

EXPLANATION

Simulation and value of specific storage (Ss) 

420

440

460

480

500

520

A Ro647

10

15

20

25

10

15

20

25

10

15

20

25

C Ro106

350

370

390

410

430

450

10

15

20

25

10

15

20

25

10

15

20

25

D Ro1234

300

320

340

360

380

400

460

480

500

520

540

560

B Ro1272

50

70

90

110

130

150

1960 1970

YEAR

1980 1990 2000 2010

E Ro58

1960 1970 1980 1990 2000 2010

YEAR

50

70

90

110

130

150

F Ro1278

Figure 39. Water-level hydrographs simulated using model B with annual distribution of recharge and groundwater withdrawals, 

1960 through 2006: (A) well Ro647, (B) well Ro1272, (C) well Ro106, (D) well Ro1234, (E) well Ro58, and (F) well Ro1278. (Well locations 

shown in figure 34B).
Summary and Conclusions 61

Model B provides a better match to water levels measured 

following the water-level recovery test at the Spring Valley 

well field and throughout the Newark basin aquifer from 2005 

through 2007, as well as a better match to groundwater ages 

previously estimated with tritium/helium dating. Model A 

predicts shorter groundwater flow paths and younger ages than 

model B in some areas, so additional age data could provide 

the information required to determine which structure model 

better matches aquifer conditions. The combined area affected 

by groundwater withdrawals is the same in both models, 

although the shapes of capture zones associated with individual well fields differ slightly. A conservative approach would 

consider the combined area delineated by both models as the 

likely area contributing recharge to wells.

Additional geologic mapping of bedrock stratigraphy 

and fracture orientation could be conducted in areas where the 

structure models differ to assess the accuracy of each model. 

Information concerning the direction of groundwater flow 

from the observed movement of chemical tracers could also 

be used to accept or reject predictions of either model. Finally, 

test holes could be cored and completed with piezometers 

installed at different depths to collect more detailed information within the aquifer concerning the pressure distribution 

and differences in groundwater chemistry. Sets of three wells 

would be required to determine the strike and dip of waterbearing fracture zones at each location. This information could 

yield a more refined understanding of the relation between the 

fracture network and bedrock lithology.

Summary and Conclusions

A hydrogeologic study was undertaken by the U.S. 

Geological Survey, in cooperation with Rockland County and 

New York State Department of Environmental Conservation, 

to assess groundwater resources of the Newark basin aquifer, which currently (2009) provides 30 percent of the water 

supply for Rockland County, NY. Groundwater flows through 

fractures in sedimentary rocks within the Newark basin, which 

extends 150 mi southwest from New York into New Jersey 

and Pennsylvania. The sedimentary rocks are part of the 

Newark Supergroup and were deposited as alluvium during 

the Late Triassic age into a westward dipping basin that is 

one of a series of such continental rift basins in eastern North 

and South America, western Africa and Europe. These basins 

developed during the Mesozoic rifting of the super continent 

Pangea that created the Atlantic Ocean.

Sedimentary rocks of the Newark basin generally consist 

of interbedded facies of coarse-grained to fine-grained arkosic 

sandstones, siltstones, and shales. Rocks of the older Stockton 

Formation are exposed in the eastern part of the basin and 

are overlain by younger rocks of the Passaic Formation in 

the western part of the basin. Lacustrine shales of the Lockatong Formation separate in the Passaic Formation from the 

Stockton Formation in some areas. Cross bedding in alluvial 

deposits in the Passaic Formation is highly variable and dip 

directions range from east-northeast to south-southwest. 

Coarse-grained limestone and dolostone fanglomerates are 

present in the upper part of the Passaic Formation in the northwestern part of the basin.

The sedimentary rocks were intruded by diabase associated with Jurassic volcanism and are bounded to the north and 

east by the Palisades sill, which parallels the Hudson River. 

Diabase and lava flows are present near Ladenton, NY, and 

were part of a fissure flow complex that was the source of 

widespread Orange Mountain Basalt flows in New Jersey and 

the Preakness Basalt. The largely buried New City dike has 

been mapped by aeromagnetic surveys and extends from the 

Palisades sill northwest toward Ladenton. 

The general dip of bedding in the Newark basin is 

westward toward the Ramapo Fault, but mapped structures, 

observed variations in the strike and dip of bedding and tracing of stratigraphic maker beds by Ratcliffe (1988) indicate

that rocks are folded into broad anticlines and synclines, 

possibly as a result of differential motion between bedrock 

blocks along the irregular basin margin. Form lines drawn 

parallel to bedding indicate the folds are open broad structures with low plunges and slight variations in strikes. The 

folds diminish eastward. An alternative, more uniform structure with beds generally striking parallel to the northeastward 

strike of the Ramapo Fault, is depicted by Heisig (2010), who 

interpolated bedding strike and dip measurements from a 

number of sources that included field mapping and borehole 

geophysical surveys. The latter, more uniform model does 

not reflect all the folds mapped by Ratcliffe (1988) in areas 

near the Ramapo Fault at the north end of the Newark basin at 

Tompkins Cove and in northern New Jersey, as shown on the 

geologic map (Appendix 1).

The Newark basin aquifer is generally overlain by till 

sediments and is confined in lowland areas but is unconfined 

in upland areas and near pumped wells. Most groundwater 

is assumed on the basis of the distribution of well yields to 

flow within the upper 500 ft of the fractured bedrock. Base 

flow in streams is sustained by groundwater discharge from 

the bedrock aquifer. Coarse-grained alluvium and outwash 

is present in some stream valleys and enhance the exchange 

of water between the aquifer and streams. Outwash beneath 

the Mahwah River forms a productive aquifer that supplies 

groundwater to production wells. 

Groundwater in Rockland County generally flows from 

upland areas towards major drainages of the Mahwah River, 

Hackensack River, Saddle River, and Pascack Brook, although 

pumping has altered this pattern in the central part of the 

aquifer where groundwater withdrawals are concentrated. 

Available data do not indicate widespread areas of long-term 

water-level decline, however. Estimated groundwater discharges to streams range from 13.2 to 19.2 in/yr. Groundwater 

withdrawals from the Newark basin aquifer have declined 

from a high of 16.3 Mgal/d (4 in/yr) in 1975 to recent (2006) 

withdrawals that averaged 10.7 Mgal/d or 2.6 in/yr. Although 

essentially all wastewater is discharged through sanitary sewers in areas of Rockland County overlying the Newark basin 
62 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

aquifer, about 16 percent of the water pumped is lost through 

conveyance and returned to the aquifer. Groundwater discharged through leakage into sanitary sewers is estimated to 

total 7.6 Mgal/d or 1.9 in/yr.

The transmissivity (T) of the Newark basin aquifer as 

estimated from aquifer tests ranges from 17 to 10,000 ft2/d 

with a median value of 620 ft2/d. High and low T zones in 

the aquifer (median values of 800 and 260 ft2/d, respectively) 

were delineated from a kriged interpolation of log T. Box plots 

of the log T distribution and analysis of variance indicate a 

significant difference in transmissivity between the high and 

low T zones, and two of the three bedrock zones (zones B and 

D) delineated by Heisig (2010).

Groundwater in the Newark basin aquifer flows primarily through discrete water-bearing zones that parallel the 

strike and dip of bedding. This distribution of water-bearing 

zones provides hydraulic connection between pairs of wells at 

similar depths that are aligned along the strike of the bedding, 

whereas pairs of wells that are aligned perpendicular to the 

strike of bedding are connected only if the wells intersect the 

same water-bearing zone. This geometry imparts anisotropy to 

the groundwater flow field because water flows preferentially 

parallel to the strike of bedding, while flow perpendicular to 

the strike is restricted. Borehole geophysical surveys indicate 

that the water-bearing zones are from 0.1 to 2 ft thick and 

spaced from 10 to 100 ft apart, with an average spacing of 

40 ft. The water-bearing zones are assumed to generally parallel the average 10° regional dip of bedrock sediments toward 

the Ramapo Fault, which strikes N40°E, but locally the strike 

and dip of fracture zones are variable and reflect bedding 

structure, as depicted in figures 6 and 7.

Separate groundwater flow models were prepared to 

simulate the 1992 water-level recovery test conducted at the 

Spring Valley well field and regional flow through the Newark 

basin aquifer. The finite-element program SUTRA was used to 

represent two alternate depictions of bedrock structure in each 

model by spatially varying the orientation of the hydraulic 

conductivity tensor to reflect variations in the strike and dip of 

the bedding. Directions of maximum and medium hydraulic 

conductivity were oriented parallel to the bedding, and the 

minimum hydraulic conductivity was oriented perpendicular 

to the bedding. Model A represented the bedrock structure presented in this report, while model B represented the structure 

of Heisig (2010).

Transient simulations using the principle of superposition 

reproduced water-level recovery in a 9.3-mi2 area surrounding the Spring Valley well field. Four production wells were 

represented as injection wells, and recovery was computed 

as the change in water level above an arbitrary datum after 

5 days of injection. Models A and B were calibrated through 

nonlinear regression using UCODE 2005 to optimize values of 

maximum and minimum hydraulic conductivity (Kmax and Kmin, 

respectively) and specific storage using the measured waterlevel recoveries in 32 wells at 14 locations during the Spring 

Valley 1992 recovery test. Results from model B best matched 

the measured values, largely because the assumed strike of 

bedding was based, in part, on data from the water-level 

recovery test. Residual plots indicate good model fit, with a 

standard error of 1.7 ft, about 6 percent of the 30-ft measured 

range. A slight bias was noted in underprediction of waterlevel recovery at deep wells and overprediction of recovery at 

shallow wells. Model error was greatest for a pair of deep and 

shallow wells closest to the Spring Valley well field, where 

recovery is underpredicted and overpredicted, respectively, 

indicating that the transmissivity and (or) Kmax: Kmin anisotropy of water-bearing zones that connect the deeper well to 

the pumped wells are greater than corresponding values in 

surrounding areas. The estimated transmissivity obtained by 

nonlinear regression (3,100 ft2/d) was slightly larger than the 

value of 2,900 ft2/d obtained by analyzing the recovery data, 

whereas estimated values for specific storage and the Kmax: Kmin

anisotropy were 7.6 x 10–6 ft–1 and 72:1, respectively. The 

standard error is 50 percent greater for model A than for model 

B because the assumed distribution of strike did not match the 

actual strike of bedding in this area.

Regional flow through an 85.4-mi2 area of the Newark 

basin aquifer bounded by the Ramapo Fault, the Palisades 

sill, and New Jersey was simulated to represent steady-state 

conditions from 2005 through 2007. Models A and B were 

calibrated through nonlinear regression using UCODE 2005 

to optimize hydraulic conductivity and recharge values using 

average water levels measured in 140 wells from August 2005 

through April 2007. Potentiometric surfaces simulated with 

models A and B were similar and closely matched measured 

surfaces, but simulated heads were underpredicted in upland 

areas. Standard errors for models A and B were 12.6 ft and 

12.2 ft, respectively, less than 3 percent of the 535-ft measured range and comparable to the mean 11.5-ft fluctuation in 

measured water levels. Simulated flows from models A and B 

were similar and closely matched low flows observed in July 

2006, with the exception of the Hackensack and Saddle Rivers 

where simulated flows were much higher than those estimated 

using hydrograph separation methods.

Values of both recharge and hydraulic conductivity were 

reasonably well estimated, but computed coefficients of variation indicate that the hydraulic-conductivity values were better 

estimated. The average recharge rates estimated with models 

A and B were 20 and 19 in/yr, respectively, which are comparable to rates estimated by Heisig (2010, 18 to 21 in/yr). Mean 

long-term recharge is probably less than 19 in/yr, however, 

because precipitation for the period of calibration (2006) was 

18 percent greater than the average precipitation from 1960 

through 2006. Estimated transmissivities parallel to the strike 

of bedding in the high and low T zones in model A were equal 

(1,100 ft2/d), but in model B the transmissivity of the high T

zone (1,600 ft2/d) was slightly greater than that of the low T

zone (1,300 ft2/d). The Kmax: Kmin anisotropy (ratio parallel to 

bedding: perpendicular to bedding) was estimated to be 58:1 in 

model A and 410:1 in model B. As a result, the proportion of 

the total flow that is perpendicular to bedding is less in model 

B than in model A. Four additional nonlinear regressions 

conducted using model B to assess the effects of alternative 
Summary and Conclusions 63

patterns of T zones and specified Kmax: Kmin anisotropy ratios 

resulted in either little change in model error and estimated 

parameter values or much greater model error. One exception 

was the nonlinear regression in which the bedrock aquifer was 

specified as isotropic (anisotropy ratio 1:1), which resulted 

in less model error and lower hydraulic-conductivity values. 

This model is not considered realistic, however, because both 

the Spring Valley recovery test and borehole geophysical logs 

indicate that the bedrock aquifer is not isotropic.

Transmissivities estimated for the Spring Valley waterlevel recovery test using analytical methods and model 

simulation are similar (2,900 and 3,100 ft2/d, respectively) 

because a fully penetrating well in fractured rock with a shallow bedding dip induces two-dimensional radial flow parallel 

to bedding. The effect of anisotropy is more important for a 

partially penetrating well or at steeper bedding dips where 

the component of flow perpendicular to bedding is larger. In 

these cases, different transmissivity values would be estimated using an analytical method that assumes isotropic flow 

than by a simulation that represents flow using a fully 3D 

conductivity tensor.

Regional simulations of flow through isotropic aquifers 

and inclined anisotropic aquifers yield different estimates of 

transmissivity. The bulk transmissivity of an aquifer is the 

coefficient of proportionality between the hydraulic gradient 

and the volumetric flow rate through the system. In the case 

of an inclined anisotropic aquifer, the bulk T is less than the 

transmissivity parallel to bedding because regional flow follows paths that are both parallel and perpendicular to bedding. 

Bulk T values for the Newark basin aquifer were computed for 

both isotropic and anisotropic conditions using steady-state 

simulations that estimated groundwater discharge with the top 

model boundaries (recharge and drains) replaced by specified 

heads estimated using model B. The equivalent bulk T of an 

isotropic aquifer required to produce a volumetric flow rate 

equivalent to that through an anisotropic aquifer was 290 ft2/d, 

about 16 percent of the estimated transmissivity parallel to 

strike of bedding in model B. This value is less than 75 percent 

of the values computed from analysis of aquifer tests (300 to 

1,000 ft2/d) and indicates that regional flow through the Newark basin aquifer is generally controlled by networks of waterbearing zones that are less transmissive than those surrounding 

the pumped well fields.

Distributions of groundwater age from models A and 

B were computed through steady-state simulations in which 

solute concentration was interpreted as age. Longitudinal and 

transverse dispersivities in transport simulations were specified 

as 1,000 ft and 100 ft, respectively, to facilitate convergence 

of the solution and reduce numerical oscillations. An effective 

porosity value (2x10–2) was estimated by comparing the simulated ages with the calculated ages of groundwater withdrawn 

from 12 well fields on the basis of tritium/helium (3H/3He) dating. The effective porosity compares favorably with the range 

of values (1.7x10 –2 to 2.2x10 –2) estimated on the basis of measured water-level fluctuations. Distributions of groundwater 

age simulated by models A and B are similar and indicate that 

most shallow groundwater (225 ft below the bedrock surface) 

is 5 to 20 years old with younger water (5 years or less) near 

upland recharge areas and older water (more than 100 years) 

in lowlands near the Hackensack River and Saddle River. The 

simulated distributions differ in some upland areas, east of the 

Palisades Parkway near the northern model boundary, where 

younger water is simulated by model A.

Three-dimensional capture zones for 30 well fields with 

average withdrawal rates of more than 70 gal/min were delineated using both models A and B through 10-year reverse-flow, 

transient simulations. Reverse-flow simulations track migration 

of a tracer solute injected at the production wells backwards 

to discharge points at land surface, and tracer-concentration 

distributions can be interpreted as relative certainties that water 

recharging parts of the capture zone will reach each well. The 

two-dimensional projections of the delineated capture zones at 

land surface (obtained by taking a horizontal slice through each 

3D capture zone at a depth of 225 ft below the bedrock surface), in general, are elongated parallel to the assumed strike of 

bedding but were affected by the simulated potentiometric surface, the Kmax: Kmin anisotropy, the drainage network of stream 

channels, and capture zones of adjacent well fields. The sizes 

of delineated capture zones range from 1.9 mi2 for the Spring 

Valley well field (1,300 gal/min withdrawal rate) to less than 

0.04 mi2 (25 acres) for well fields with the smallest withdrawal 

rates (80 gal/min). The capture zones of several well fields 

overlap the watersheds of Pascack Brook and Nauraushaun 

Brook and indicate that the reduction of base flow caused 

by groundwater withdrawals is greatest for these streams. 

Uncertainty in the delineation of capture zones was assessed 

by changing specified aquifer properties and boundary conditions in reverse-flow simulations using model B, but none of 

the changes considered had a marked effect on the delineated 

areas. The combined recharge area of all well fields is 13.6 mi2

or 16 percent of the model domain.

Transient simulations were conducted using model B to 

assess the effect of changes in recharge and groundwater withdrawals on water levels and discharges to streams. Four simulations were conducted for each of two periods—a 47-year 

period representing annual changes from January 1960 

through December 2006, and a 3-year period representing 

monthly changes from January 2000 through December 2002. 

Three of the simulations represented confined (saturated) 

aquifer conditions with an order-of-magnitude range of values 

of specific storage (Ss), with the lowest value (7.6 x 10–6 ft–1) 

equal to that estimated from the Spring Valley water-level 

recovery test. The fourth simulation represented unconfined 

(variably saturated) conditions with the minimum Ss value and 

specific yield (Sy) equivalent to the estimated effective porosity (0.02). Annual and monthly withdrawals were based on 

reported rates for well fields that provide water for public and 

industrial supplies. Annual recharge was estimated by scaling 

the estimated 2005 to 2007 recharge rate (19 in/yr) by a factor 

that accounted for differences in precipitation measured from 

1960 through 2006 at a gages in Letchworth and Theills, NY. 

Monthly recharge was estimated by the apportioning annual 
64 Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

recharge using the distribution of recharge computed from 

measured water-level fluctuations in a monitoring well in New 

Jersey, 20 mi southwest of Rockland County.

Simulated monthly hydrographs reflect changes in 

recharge, which is highest during spring and lowest during summer, and water levels rose in 2002 when recharge 

was high. Monthly water levels simulated with the smallest 

Ss value fluctuated by about 15 ft in lowlands and 85 ft in 

uplands, and by about 3 ft and 20 ft with the largest Ss value. 

Corresponding values of measured water levels in two wells 

were 7 ft and 13 ft in the lowlands and uplands, respectively. 

The simulated annual hydrographs indicate a trend of declining water levels from 1960 through 2002 in upland areas 

where water levels decreased by 15 to 20 ft. Results indicate 

that the Ss value varies by location and is likely larger than the 

value estimated from the Spring Valley water-level recovery 

test. Simulated groundwater discharges to streams (base flow) 

are sensitive to the assumed Ss value and also reflect changes 

in recharge. Mean monthly base flows simulated with the 

smallest Ss value range from 44 to 160 ft3/s, and from 67 to 

104 ft3/s with the largest Ss value. Simulated mean annual base 

flow ranged from 60 to 120 ft3/s, with a mean value (80 ft3/s) 

about four times the mean groundwater-withdrawal rate.

Groundwater flow models of the Newark basin aquifer 

described in this report simulate regional flow along paths 

that are longer than 1 mile and are sufficiently accurate to 

estimate the water budget and delineate capture zones of 

pumped wells. Capture zones of wells that induce water from 

streams are overestimated, however, because the connection 

between the aquifer and streams is represented by drains. 

The models utilize a near uniform, homogeneous distribution of transmissivity, which is actually heterogeneous, so 

smaller-scale higher-resolution flow models would be needed 

to more accurately simulate contaminant movement, interference between adjacent wells, and local effects of pumping on 

stream discharge. Longer duration water-level and streamflow 

hydrographs would provide improved estimates of average 

recharge and better quantify annual and seasonal variability. 

These additional records also would provide information 

for further model calibration and could be used to improve 

estimates of aquifer storage properties and the hydraulic connection between the aquifer and streams, and to document 

long-term trends in water levels.

Uncertainty exists concerning the pattern of bedrock 

structure in the Newark basin aquifer and its relation to the 

fracture network; two structure maps depicting the strike of 

bedding are presented. Simulation results from the groundwater flow models based on both maps are similar, but the model 

based on structure presented in Heisig (2010) provides a better 

fit to estimated groundwater ages and better matches average 

water levels measured from 2005 through 2007 and during the 

Spring Valley water-level recovery test. Additional groundwater-age data could be used to determine which structure map 

better represents aquifer conditions because the simulated distributions of groundwater age differ slightly. The accuracy of 

each structure map could be assessed by conducting additional 

geologic mapping and by using chemical tracers to determine 

the direction of groundwater flow in areas where the models 

differ. The relation between the fracture network and bedrock 

lithology could be refined by coring test holes at several locations to enable the collection of pressure and water-quality 

data at different depths within the aquifer.

Acknowledgments

The authors thank Paul Heisig of the USGS (Troy, NY) 

who aided in the design of the groundwater flow models and 

collected nearly all of the data used in this report to design 

and calibrate the models, Alden Provost (USGS, Reston, VA) 

who wrote Appendices 2, 3 and 4 describing his modifications to SUTRA, and Richard Winston (USGS, Reston, VA) 

who wrote procedures for SutraGUI that generated the strike 

directions used to define conductivity tensors specified in the 

groundwater flow models. The authors also thank David Daniels and Stephen Snyder of the USGS (Reston, VA) for preparing the aeromagnetic map of Rockland County for this report.

References Cited

Aeschbach-Hertig, W., Schlosser, P., Stute, M., Simpson, H. J., 

Ludin, A., and Clark, J. F., 1998, A 3H/3He study of ground 

water flow in a fractured bedrock aquifer: Ground Water, 

v. 36, no. 4, p. 661–670.

Andreason, G.E., 1962, Aeromagnetic map of the Thiells 

Quadrangle Rockland and Orange Counties, New York: 

U.S. Geological Survey Geophysical Investigations map 

GP-342, scale 1:31,680.

Bond, K. R., and Phillips, J.D., 1988, Aeromagnetic imagery 

with geologic correlations for some Early Mesozoic basins 

of the Eastern United States, in Froelich, A.J., and Roninson, G.R., Jr, eds., Studies of the Early Mesozoic basins of 

the Eastern United States: U.S. Geological Survey Bulletin 

1776, p. 253–264.

Carleton, G.B., Welty, Claire, and Buxton, H.T., 1999, 

Design and analysis of tracer tests to determine effective 

porosity and dispersivity in fractured sedimentary rocks, 

Newark basin, New Jersey: U.S. Geological Survey WaterResources Investigations Report 98–4126A, 80 p.

Dunning, G.R., and Hodych, J.P., 1990, U/Pb, zircon and 

baddelyite ages for the Palisades and Gettysburg sills of 

the northeastern United States: Implications for the age of 

the Triassic/Jurassic boundary: Geology, v. 18, p.795–798.

Fisher, D.W., Isachsen, Y.W., and Rickard, L.V., 1971, 

Geologic map of the State of New York: New York State 

Museum and Science Service Map and Chart Series, no.15, 

5 sheets, 1:250,000.
References Cited 65

Frimpter, M.H., 1967, Geology of the Thiells Quadrangle, 

New York with emphasis on igneous and metamorphic 

rocks: Boston, Boston University Graduate School, unpublished PhD thesis, 142 p., 1:24,000.

Harbaugh, A.W., Banta, E.R., Hill, M.C., and McDonald, 

M.G., 2000, MODFLOW-2000, the U.S. Geological Survey 

modular ground-water model—User guide to modularization concepts and the ground-water flow process: U.S. 

Geological Survey Open-File Report 00–92, 121 p.

Heisig, P.M., 2010, Water resources of Rockland County, New 

York, 2005–07, with emphasis on the Newark basin bedrock 

aquifer: U.S. Geological Survey Scientific Investigations 

Report 2010–5245, 130 p.

Kummel, H. B., 1899, the Newark or New Red Sandstone 

Rocks of Rockland County, NY: New York State Geologist, 

18th Ann. Report, p. 9–50.

Leggette, Brashears, and Graham, Inc., 1979, Hydrogeologic 

assessment of Rockland County, New York: Westport, CT, 

Leggette, Brashears, and Graham, Inc., 72 p., 5 pl.

Leggette, Brashears, and Graham, Inc., 1992, Spring Valley 

well field drilling and pump test program, Town of Ramapo, 

Rockland County, New York: Westport, CT, Leggette, 

Brashears, and Graham, Inc., 51 p.

Lewis, J.C., 1992, Effect of anisotropy on ground-water 

discharge to streams in fractured Mesozoic basin rocks: 

American Water Resources Association Monograph Series 

17, p. 94–105.

Lewis-Brown, J.C., Rice, D.E., Rosman, R., and Smith, N.P., 

2005, Hydrogeologic framework, ground-water quality, and 

simulation of ground-water flow at the Fair Lawn well field 

Superfund site, Bergen County, New Jersey: U.S. Geological Survey Scientific Investigations Report 2004–5280, 

109 p.

Lowe, K. E., 1959, Structure of the Palisades intrusion and 

Haverstraw and West Nyack, N. Y.: New York Academy of 

Science Annals, v. 80, p.1127–1139.

Michalski, A., and Britton, R., 1997, The role of bedding fractures in the hydrogeology of sedimentary rock—evidence 

from the Newark Basin, New Jersey: Ground Water, v. 35, 

no. 2, p. 318–327.

Morin, R.H., Senior, L.A., Decker, E.R., 2000, Fractured-aquifer hydrogeology from geophysical logs: Brunswick Group 

and Lockatong Formation, Pennsylvania: Ground Water, 

v. 38, no. 2, p. 182–192.

New York State Department of Environmental Conservation, 

1992, Analysis of a pump test in a heterogeneous anisotropic bedrock aquifer: Albany, NY, State of New York 

Department of Conservation, 23 p.

Olsen, P.E. 1997, Stratigraphic record of the early Mesozoic 

breakup of Pangea in the Laurasia-Gondwanda rift system: 

Earth and Planetary Science Review, v. 25, p. 337–401.

Olsen, P.E., and Rainforth, E.C., 2003, The “Age of the 

Dinosaurs” in the Newark Basin, with special reference 

to the lower Hudson Valley: 2001 New York Geological Association Guidebook: Albany NY, New York State 

Museum, p. 59–176.

Parker, R.A., Houghton, H.F., and McDowell, R.C.,1988, 

Stratigraphic framework and distribution of early Mesozoic 

rocks of the northern Newark Basin, New Jersey and New 

York, in Froelich, A.J., and Robinson, G.R., eds., Studies 

of the Early Mesozoic Basins of the Eastern United States: 

U.S. Geological Survey Bulletin 1776, p. 31–39.

Parker, R.A., 1993, Stratigraphic relations of the sedimentary 

rocks below the Orange Mountain Basalt, northern Newark 

basin, New Jersey and New York: U.S. Geological Survey 

Miscellaneous Field Investigations, MF–2208, 1 sheet, scale 

1:100,000.

Perlmutter, N.M., 1959, Geology and groundwater resources 

of Rockland County, New York: State of New York Department of Conservation, Water Power and Control Commission, Bulletin GW42, 133 p., 4 pl.

Pittman, W.E., and Talwani, M., 1972, Sea-floor spreading in 

the North Atlantic: Geological Society of America Bulletin, 

v. 83, p. 619–646.

Poeter, E.P., Hill, M.C., Banta, E.R., Mehl, S., and Christensen, S., 2005, UCODE_2005 and six other computer 

codes for universal sensitivity analysis, calibration and 

ucertainty evaluation: U.S. Geological Survey Techniques 

and Methods 6-A11, 283 p.

Puffer, J.H., Block, K.A., and Steiner, J.C., 2009, Transmission of flood basalts through shallow crustal sill and the 

correlation of sill layers with extrusive flows: The Palisades 

Intrusive System and the basalts of the Newark basin, New 

Jersey, U.S.A. : Journal of Geology, v.117, p. 139–155.

Rankin, D.W., Drake, A.A., Jr., and Ratcliffe, N.M., 1989, Geologic map of the U.S. Appalachians showing the Laurentian 

margin and Taconic orogen, in Hatcher, R.D., Jr., Thomas, 

W.A., and Viele, G.W., eds., The Appalachian-Ouachita orogen 

in the United States, v. F–2 of The Geology of North America: 

Boulder, CO., Geological Society of America, plate 2.

Ratcliffe, N. M., 1980, Brittle (Ramapo fault) and phyllonitic 

ductile shear zones in the basement rocks of the Ramapo 

seismic zones New York and New Jersey, and their relationship to current seismicity, in Manspeizer, Warren, ed., 

Field studies of New Jersey geology and guide to field trips: 

Proceedings of the 52nd annual meeting of the New York 

Geological Association, p. 278–311.
66 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Ratcliffe, N.M., 1982, Results of core drilling of the Ramapo 

fault at Sky Meadow Road, Rockland County, New York, 

and assessment of evidence for reactivation to produce 

seismicity: U.S. Geological Survey Miscellaneous Investigations Series Map I-1401.

Ratcliffe, N. M., 1988, Reinterpretation of the relationship of 

the western extension of the Palisades Sill to the flows at 

Ladentown, New York, based on new core data, in Froelich, 

A.J., and Robinson, G.R., eds., Studies of the early Mesozoic basins of the eastern United States: U.S. Geological 

Survey Bulletin 1776, p. 113–135.

Ratcliffe, N. M., and Burton, W.C., 1985, Fault reactivation 

models for origin of the Newark basin and studies related 

to eastern U.S. seismicity, in Robinson, G.R., and Froelich, 

A.J., eds., Proceedings of the second U.S. Geological Survey workshop on the early Mesozoic basins of the eastern 

United States, p. 36–45.

Reilly, T.E., Franke, O.L., and Bennett, G.D., 1984, The 

principle of superposition and its application in groundwater hydraulics: U.S. Geological Survey Open-File Report 

84–459, 36 p.

Risser, D.W., Conger, R.W., Ulrich, J.E., and Asmussen, M.P., 

2005, Estimates of ground-water recharge based on streamflow-hydrograph methods: Pennsylvania: U.S. Geological 

Survey Open-File Report 2005–1333, 30 p.

Rutledge, A.T., 1998, Computer programs for describing 

the recession of ground-water discharge from streamflow 

data—update: U.S. Geological Survey Water-Resources 

Investigations Report 98–4148, 43 p.

Savage, E. L., 1967, The Triassic sediments of Rockland 

County, New York: New Brunswick, NJ, Rutgers University, unpublished Ph.D. dissertation, 189 p.

Schlische, R.W., 2002, Progress in understanding the structural geology, basin evolution, and tectonic history of the 

eastern North American Rift system, in LeTourneau, P.M., 

and Olsen,P.E., eds., The Great Rift valleys of Pangea in 

eastern North America, v. 1: Tectonics, structure, and volcanism of supercontinent breakup: Columbia University 

Press, p. 21–58.

Shapiro, A.M., Hsieh, P.A., Burton, W.C., and Walsh, G.J., 

2007, Integrated multi-scale characterization of groundwater flow and chemical transport in fractured crystalline 

rock at the Mirror Lake Site, New Hampshire, in Hyndman, 

D.W., Day-Lewis, F.D., and Singha, K. eds., Subsurface 

Hydrology: Data integration for Properties and Processes: 

American Geophysical Union Geophysical Monograph 

Series, v. 171, p. 201–225.

Smoot, J.F., 1991, Sedimentary facies and depositional environments of early Mesozoic Newark Supergroup basins, 

eastern North America: Paleogeography, Paleoclimatology, 

Paleoecology, v. 84, p. 369–423.

Smoot, J.F., 2010, Description and distribution of Triassic depositional facies in the Newark Basin, Chapter A, in Herman, 

G.C., and Serfes, M.E., eds., Contributions to the geology 

and hydrogeology of the Newark Basin, New Jersey: New 

Jersey Department of Environmental Protection, Geological 

Survey Bulletin 77, p. 1–110.

Stewart, M., Cimino, J., and Ross, M., 2007, Calibration of 

base flow separation methods with streamflow conductivity: 

Ground Water, v. 45, no. 1, p. 17–27.

Tiedeman, C.R., Lacombe, P.J., and Goode, D.J., 2010, Multiple well-shutdown tests and site-scale flow simulation in 

fractured rocks: Ground Water, v. 48, no. 3, p. 401–415.

Tindall, J.A., and Kunkel, J.R., 1999, Unsaturated zone 

hydrology: Upper Saddle River, N.J, Prentice Hall, Inc., 

624 p.

Todd, D.K., and Mays, L.W., 2005, Groundwater Hydrology: 

Hoboken, NJ, John Wiley & Sons, 636 p.

U.S. Census Bureau, State and County Quick Facts, Rockland 

County, NY, Population estimates for New York counties 

(excel spreadsheet), accessed October 2007 at 

http://quickfacts.census.gov/qfd/states/36/36087lk.html.

Vecchioli, John, Carswell, L.D., and Kasabach, H.F., 1969, 

Occurrence and movement of groundwater in the Brunswick shale at a site near Trenton, New Jersey: U.S. 

Geological Survey Professional Paper 650-B, p. 154–157.

Voss, C.I., and Provost, A.M., 2002, SUTRA—A model for 

saturated-unsaturated variable-density ground-water flow 

with solute or energy transport: U.S. Geological Survey 

Water-Resources Investigations Report 02–4231, 250 p.

Worzel, L.J., and Drake, C.L., 1957, Structure section across 

the Hudson River at Nyack, NY from seismic observations, 

in Lowe, K.E., ed., Modern aspects of the geology of New 

York City and environs: Annals of New York Academy of 

Sciences, v. 80, art. 4, p. 1092–1105.

Yager, R.M., Southworth, S., and Voss, C.I., 2008, Simulation 

of ground-water flow in the Shenandoah Valley, Virginia 

and West Virginia, using variable-direction anisotropy 

in hydraulic conductivity to represent bedrock structure: 

U.S. Geological Survey Scientific Investigations Report 

2008–5002, 54 p.

Zheng, Chunmiao, and Bennett, G.D., 2002, Applied contaminant transport modeling: New York, John Wiley & Sons, 

621 p.
Appendixes 1, 2, 3, and 4
68 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Appendix 1.

New York State

Thruway

Palisades

 Parkway

Tomkins Cove

Tappan Zee bridge 

New City

Congers

Theills

Viola

Base from U.S. Geological Survey, 1988, 1:24,000, 

Universal Transverse Mercator projection, Zone 18 

North American Datum 1983 

Geology by N.M. Ratcliffe, 1988 

A

D’

D

B A’

B’ C

C’

New York State

Thruway

Palisades

 Parkway

West

Nyack

74°15’

41°15’

41°

74°

Appendix 1. Generalized bedrock geology of northern Newark basin modified from Ratcliffe (1988) showing geologic 

sections, stratigraphic units and lithofacies discussed in the text.
Appendix 1. 69

Appendix 1.

Line of geologic section as shown in figure 4

Appendix 1. Generalized bedrock geology of northern Newark basin modified from Ratcliffe (1988) showing geologic sections, 

stratigraphic units and lithofacies discussed in the text.—Continued
70 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Appendix 2. Modifications to SUTRA

Boundary condition output files

Time-dependent boundary conditions

Drain-boundary nodes

Piecewise-linear unsaturated-flow functions

Head-based simulations with unsaturated flow

Optional output of simulated values to “.lst” file

More efficient processing of schedules

Miscellaneous
Appendix 3. 71

Appendix 3. Input data for the Time-Dependent Sources and Boundary 

Conditions Files (.bcs)
72 Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York

Appendix 4. Selected SUTRA Subroutines

Subroutine BCSTEP

Subroutine BOUND

Subroutine BOUND1

Subroutine FOPEN

Subroutine NAFU

Subroutine OUTBCOF

Subroutine OUTBCOP

Subroutine OUTBCOS

Subroutine OUTBCOU

Subroutine PUSWF

Subroutine SOURCE

Subroutine SOURCE1

Subroutine UNSAT
Appendix 1: Modifications to SUTRA

This appendix describes the changes made to the SUTRA code to (1) write boundary condition 

information to a new set of output files, (2) enable specification of time-dependent boundary conditions 

through one or more input files, (3) enable simulation of drain-boundary nodes at which water can exit 

the model but cannot enter the model and (for reverse-flow simulations) “antidrain”-boundary nodes at 

which water can enter the model but cannot exit the model, (4) introduce piecewise-linear unsaturatedflow functions, (5) enable simulation of unsaturated flow when SUTRA input variables have been scaled 

so that SUTRA effectively solves for head instead of pressure, and (6) effect several relatively minor 

modifications. These features are not available in the standard version of SUTRA (Voss and Provost, 

2002, version 2.1 of 2008), but most of these features will be documented in the forthcoming VERSION 

2.2 of SUTRA, with the exception of those pertaining to representation of drains and unsaturated flow. 

To enable all of the new features described here, the user needs to specifiy “VERSION 2.2” in input 

parameter SIMULA in dataset 1 of the “.inp” (main input) file.

The modifications are categorized below according to the new features with which they are associated. 

However, note that some portions of the source code reflect changes associated with multiple new 

features. For the sake of brevity and clarity, not all Fortran comment lines and inline comments are 

included in the source code listings.

Boundary condition output files 

Specifications and simulated values at boundary condition nodes can optionally be written to a set of 

four new output files. Information on fluid source/sink nodes, solute or energy source/sink nodes, 

specified-pressure nodes, and specified-concentration or temperatures nodes is written to files that, by 

convention, are given the file extensions “.bcof”, “.bcos”, “.bcop”, and “.bcou”, respectively.

If used, filenames for these output files must be added to the “SUTRA.FIL” file. The file types for the 

“.bcof”, “.bcos”, “.bcop”, and “.bcou” files are “BCOF”, “BCOS”, “BCOP”, and “BCOU”, respectively.

A new dataset, 8E, has been added to the “.inp” (main input) file. It consists of a single line on which five 

input parameters are listed in the following order: NBCFPR, NBCSPR, NBCPPR, NBCUPR, and CINACT. The 

first four parameters determine how often output is written to the “.bcof”, “.bcos”, “.bcop”, and “.bcou” 

files, respectively. For example, if NBCFPR=5, then information on fluid sources/sinks is written to the 

“.bcof” file on every fifth time step. CINACT determines whether output is written for boundary 

condition nodes that have been rendered inactive: yes if CINACT=”Y”, and no if CINACT=”N”.

Writing of boundary condition information to the “.bcof”, “.bcos”, “.bcop”, and “.bcou” files is handled 

by new subroutines OUTBCOF, OUTBCOS, OUTBCOP, and OUTBCOU, respectively. These subroutines are 

listed in Appendix 3. The logic for calling these subroutines has been added to subroutine SUTRA, 

immediately after the call subroutine OUTELE:

73
 PRNBCF = ((PRNALL.OR.((IT.NE.0).AND.(MOD(IT,NBCFPR).EQ.0)) 

 1 .OR.((IT.EQ.1).AND.(NBCFPR.GT.0))).AND.(K10.NE.-1)) 

 PRNBCS = ((PRNALL.OR.((IT.NE.0).AND.(MOD(IT,NBCSPR).EQ.0)) 

 1 .OR.((IT.EQ.1).AND.(NBCSPR.GT.0))).AND.(K11.NE.-1)) 

 PRNBCP = ((PRNALL.OR.((IT.NE.0).AND.(MOD(IT,NBCPPR).EQ.0)) 

 1 .OR.((IT.EQ.1).AND.(NBCPPR.GT.0))).AND.(K12.NE.-1)) 

 PRNBCU = ((PRNALL.OR.((IT.NE.0).AND.(MOD(IT,NBCUPR).EQ.0)) 

 1 .OR.((IT.EQ.1).AND.(NBCUPR.GT.0))).AND.(K13.NE.-1)) 

 IF (PRNBCF) 

 1 CALL OUTBCOF(QIN,IQSOP,UVEC,UIN,QINITR,IBCSOP,TITLE1,TITLE2) 

 IF (PRNBCS) 

 1 CALL OUTBCOS(QUIN,IQSOU,IBCSOU,TITLE1,TITLE2) 

 IF (PRNBCP) 

 1 CALL OUTBCOP(PVEC,UVEC,PBC,UBC,QPLITR,GNUP1,IPBC,IBCPBC, 

 2 TITLE1,TITLE2,PITER) 

 IF (PRNBCU) 

 1 CALL OUTBCOU(UVEC,UBC,GNUU1,IUBC,IBCUBC,TITLE1,TITLE2) 

Variables PRNBCF, PRNBCS, PRNBCP, and PRNBCU are declared as LOGICAL in subroutine SUTRA.

Variables ONCEK10, ONCEK11, ONCEK12, and ONCEK13 are declared as LOGICAL and are passed 

through COMMON block PLT2 to the main program and subroutines OUTBCOF, OUTBCOS, OUTBCOP, 

OUTBCOU, and SUTRA. They are initialized to ".FALSE." in the main program and subsequently record 

whether subroutines OUTBCOF, OUTBCOS, OUTBCOP, and OUTBCOU, respectively, have been called at 

least once. This information is used to determine when to print headers to the corresponding output 

files, “.bcof”, “.bcos”, “.bcop”, and “.bcou”, respectively.

Print cycle variables NBCFPR, NBCSPR, NBCPPR, and NBCUPR have been added to COMMON block 

CONTRL and are thereby passed to all program units that contain that COMMON block.

Integer variables K10, K11, K12, and K13 hold FORTRAN unit numbers for the “.bcof”, “.bcos”, “.bcop”, 

and “.bcou” files, respectively. They have been added to COMMON block FUNITS and are thereby 

passed to all program units that contain that COMMON block. To accommodate the additional output 

files, plus the new “.bcs” file type, the dimensions of arrays FNAME and IUNIT have been extended from 

(0:8) to (0:13).

The following code has been added to subroutine INDAT1, immediately following the code that 

processes dataset 8D, to read and process the new dataset 8E:

C.....INPUT DATASET 8E: OUTPUT CONTROLS AND OPTIONS FOR BCOF, BCOP, 

C BCOS, AND BCOU FILES 

 IF ((VERNIN.EQ.'2.0').OR.(VERNIN.EQ.'2.1')) THEN 

 NBCFPR = HUGE(1) 

 NBCSPR = HUGE(1) 

 NBCPPR = HUGE(1) 

 NBCUPR = HUGE(1) 

C........CINACT IS IRRELEVANT IN THIS CASE 

 GOTO 1100 

 END IF 

 ERRCOD = 'REA-INP-8E' 

 CALL READIF(K1, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) NBCFPR, NBCSPR, NBCPPR, NBCUPR, 

 1 CINACT 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IF (CINACT.EQ.'Y') THEN 

74
 KINACT = +1 

 ELSE IF (CINACT.EQ.'N') THEN 

 KINACT = 0 

 ELSE 

 ERRCOD = 'INP-8E-1' 

 CHERR(1) = 'CINACT' 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 IF (ME.EQ.-1) THEN 

 WRITE(K3,1050) NBCFPR, NBCSPR, NBCPPR, NBCUPR 

 1050 FORMAT(//13X,'.BCOF, .BCOS, .BCOP, AND .BCOU FILES' 

 1 /13X,'------------------------------------' 

 2 //13X,I8,3X,'PRINTED OUTPUT CYCLE FOR FLUID SOURCES/SINK ', 

 3 'NODES TO .BCOF FILE (IN TIME STEPS)' 

 4 /13X,I8,3X,'PRINTED OUTPUT CYCLE FOR SOLUTE ', 

 5 'SOURCES/SINK NODES TO .BCOS FILE (IN TIME STEPS)' 

 6 /13X,I8,3X,'PRINTED OUTPUT CYCLE FOR SPECIFIED PRESSURE ', 

 7 'NODES TO .BCOP FILE (IN TIME STEPS)' 

 8 /13X,I8,3X,'PRINTED OUTPUT CYCLE FOR SPECIFIED ', 

 9 'CONCENTRATION NODES TO .BCOU FILE (IN TIME STEPS)') 

 ELSE 

 WRITE(K3,1051) NBCFPR, NBCSPR, NBCPPR, NBCUPR 

 1051 FORMAT(//13X,'.BCOF, .BCOS, .BCOP, AND .BCOU FILES' 

 1 /13X,'------------------------------------' 

 2 //13X,I8,3X,'PRINTED OUTPUT CYCLE FOR FLUID SOURCES/SINK ', 

 3 'NODES TO .BCOF FILE (IN TIME STEPS)' 

 4 /13X,I8,3X,'PRINTED OUTPUT CYCLE FOR ENERGY ', 

 5 'SOURCES/SINK NODES TO .BCOS FILE (IN TIME STEPS)' 

 6 /13X,I8,3X,'PRINTED OUTPUT CYCLE FOR SPECIFIED PRESSURE ', 

 7 'NODES TO .BCOP FILE (IN TIME STEPS)' 

 8 /13X,I8,3X,'PRINTED OUTPUT CYCLE FOR SPECIFIED ', 

 9 'TEMPERATURE NODES TO .BCOU FILE (IN TIME STEPS)') 

 END IF 

 IF(KINACT.EQ.+1) WRITE(K3,1052) 

 IF(KINACT.EQ.0) WRITE(K3,1053) 

 1052 FORMAT(/13X,'- PRINT INACTIVE BOUNDARY CONDITIONS') 

 1053 FORMAT(/13X,'- CANCEL PRINT OF INACTIVE BOUNDARY CONDITIONS') 

To provide the line label referred to in the statement "GOTO 1100" above, "1100" was appended to the 

beginning of the first line of the section of INDAT1 that reads dataset 9:

 1100 ERRCOD = 'REA-INP-9' 

In subroutine INDAT1, 200 was subtracted from certain line labels to accommodate the new code listed 

above. Specifically, line labels 1182, 1187, 1188, 1189, 1190, 1191, 1193, 1194, 1195, 1196, 1197, and 

1199 became 982, 987, 988, 989, 990, 991, 993, 994, 995, 996, 997, and 999, respectively.

Input variable CINACT is declared as a character variable of length 1 in subroutine INDAT1. COMMON 

block KPRBCS passes KINACT to the main program and subroutines INDAT1, OUTBCOF, OUTBCOP, 

OUTBCOS, OUTBCOU, OUTLST2, and OUTLST3.

Subroutine FOPEN has been modified in a number of places and is listed in Appendix 3. The 

modifications account for reading and storage of data, error checking, and opening of files associated 

with the new “.bco*” output files and “.bcs” input files.

75
Subroutine NAFU, which finds the next available Fortran unit, has been modified in a number of places 

and is listed in Appendix 3. The modifications have to do with the new “.bco*” output files and “.bcs” 

input files.

Subroutine UNSAT, which calculates unsaturated flow functions, has been modified in a number of 

places and is listed in Appendix 3. The modifications have to do with the new “.bco*” output files and 

piecewise-linear unsaturated flow functions.

The section of the main program that outputs file unit assignments has been modified in a number of 

places and is listed below. It includes modifications associated with the new “.bcs” input files.

C.....OUTPUT FILE UNIT ASSIGNMENTS 

 WRITE(K3,200) IUNIT(1),FNINP,IUNIT(2),FNICS 

 200 FORMAT(/////11X,'F I L E U N I T A S S I G N M E N T S'// 

 1 13X,'INPUT UNITS:'/ 

 2 13X,' INP FILE (MAIN INPUT) ',I7,4X, 

 3 'ASSIGNED TO ',A80/ 

 4 13X,' ICS FILE (INITIAL CONDITIONS) ',I7,4X, 

 5 'ASSIGNED TO ',A80) 

 IF(IUNIT(9).NE.-1) THEN 

 DO 202 NFB=1,NFBCS 

 WRITE(K3,201) IUNIB(NFB),FNAMB(NFB) 

 201 FORMAT(13X,' BCS FILE (TIME-VAR. BND. COND.)',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 202 CONTINUE 

 END IF 

 WRITE(K3,203) IUNIT(0),FNAME(0),IUNIT(3),FNAME(3) 

 203 FORMAT(/ 

 6 13X,'OUTPUT UNITS:'/ 

 7 13X,' SMY FILE (RUN SUMMARY) ',I7,4X, 

 8 'ASSIGNED TO ',A80/ 

 9 13X,' LST FILE (GENERAL OUTPUT) ',I7,4X, 

 T 'ASSIGNED TO ',A80) 

 IF(IUNIT(4).NE.-1) WRITE(K3,204) IUNIT(4),FNAME(4) 

 204 FORMAT(13X,' RST FILE (RESTART DATA) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF(IUNIT(5).NE.-1) WRITE(K3,205) IUNIT(5),FNAME(5) 

 205 FORMAT(13X,' NOD FILE (NODEWISE OUTPUT) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF(IUNIT(6).NE.-1) WRITE(K3,206) IUNIT(6),FNAME(6) 

 206 FORMAT(13X,' ELE FILE (VELOCITY OUTPUT) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF(IUNIT(7).NE.-1) WRITE(K3,207) IUNIT(7), 

 1 TRIM(FNAME(7)) // " (BASE FILENAME)" 

 207 FORMAT(13X,' OBS FILE (OBSERVATION OUTPUT) (',I7,')',3X, 

 1 'ASSIGNED TO ',A) 

 IF(IUNIT(8).NE.-1) WRITE(K3,208) IUNIT(8), 

 1 TRIM(FNAME(8)) // " (BASE FILENAME)" 

 208 FORMAT(13X,' OBC FILE (OBSERVATION OUTPUT) (',I7,')',3X, 

 1 'ASSIGNED TO ',A) 

 IF(IUNIT(10).NE.-1) WRITE(K3,209) IUNIT(10),FNAME(10) 

 209 FORMAT(13X,' BCOF FILE (BND. COND. OUTPUT) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF(IUNIT(11).NE.-1) WRITE(K3,210) IUNIT(11),FNAME(11) 

 210 FORMAT(13X,' BCOS FILE (BND. COND. OUTPUT) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF(IUNIT(12).NE.-1) WRITE(K3,211) IUNIT(12),FNAME(12) 

 211 FORMAT(13X,' BCOP FILE (BND. COND. OUTPUT) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF(IUNIT(13).NE.-1) WRITE(K3,212) IUNIT(13),FNAME(13) 

76
 212 FORMAT(13X,' BCOU FILE (BND. COND. OUTPUT) ',I7,4X, 

 1 'ASSIGNED TO ',A80) 

 IF ((IUNIT(7).NE.-1).OR.(IUNIT(8).NE.-1)) WRITE(K3,213) 

 213 FORMAT(/14X,'NAMES FOR OBS AND OBC FILES WILL BE GENERATED', 

 1 ' AUTOMATICALLY FROM THE BASE NAMES LISTED ABOVE AND SCHEDULE', 

 2 ' NAMES'/14X,'LISTED LATER IN THIS FILE. UNIT NUMBERS', 

 3 ' ASSIGNED TO THESE FILES WILL BE THE FIRST AVAILABLE', 

 4 ' NUMBERS GREATER THAN'/14X,'OR EQUAL TO THE VALUES LISTED', 

 5 ' ABOVE IN PARENTHESES.') 

What was formerly line label 210 is now 214 to accommodate the new format statements above.

The error-handling subroutine SUTERR has been updated to account for the new “.bco*” files. The 

following four lines have been added to explanation of error condition “FIL-5”:

 EX(11)=' BCOF (".bcof" output file)' ! bcofiles 

 EX(12)=' BCOP (".bcop" output file)' ! bcofiles 

 EX(13)=' BCOS (".bcos" output file)' ! bcofiles 

 EX(14)=' BCOU (".bcou" output file)' ! bcofiles 

For error conditions “FIL-6” and “FIL-7”, lines 5 – 7 of the explanation have been replaced with

 EX(5)="The following file types are optional:" 

 EX(6)=' SMY (".smy" output file; defaults to "SUTRA.SMY")' 

 EX(7)=' RST (".rst" output file)' 

and lines 11 and 12 have been replaced with

 EX(11)=' OBC (".obc" output file)' 

 EX(12)=' BCOF (".bcof" output file)' 

 EX(13)=' BCOP (".bcop" output file)' 

 EX(14)=' BCOS (".bcos" output file)' 

 EX(15)=' BCOU (".bcou" output file)' 

 EX(16)="No file type may be assigned more than once." 

For error conditions beginning with “INP-8A”, line 5 of the explanation has been changed to

 EX(5)="10 'N' 'N' 'N' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y'" 

which also reflects changes made in connection with optional output of pressures, saturations, and 

concentrations or temperatures to the “.lst” file. A new error condition, “INP-8E-1”, has been added 

after condition “INP-8D-5”:

 ELSE IF (ERRCOD.EQ.'INP-8E-1') THEN 

 DS(1)=CHERR(1)(1:6) // " is not 'Y' or 'N'." 

 EX(1)="In dataset 8E of the main input file, " // CHERR(1)(1:6) 

 EX(2)="must be set to either 'Y' or 'N'." 

 EX(3)=" " 

 EX(4)="Example of a valid dataset 8E:" 

 EX(5)="1 1 1 1 'Y'" 

The algorithm that computes the number of digits of matching between computed and specified values 

is approximate and does not give exact results in some cases.

77
Time-dependent boundary conditions

In the standard version of SUTRA (Voss and Provost, 2002, version of 2008), time-dependent boundary 

conditions are to be programmed by the user in subroutine BCTIME. In the present version of SUTRA, 

they can be specified via one or more files that are, by convention, given the file extension “.bcs.” The 

input format for “.bcs” files is described in Appendix 2. 

A new module, BCSDEF, defines arrays IUNIB and FNAMB, which are associated with “.bcs” files: 

 MODULE BCSDEF 

 IMPLICIT NONE 

C 

C.....DECLARE ARRAYS 

 INTEGER, ALLOCATABLE :: IUNIB(:) 

 CHARACTER*80, ALLOCATABLE :: FNAMB(:) 

C 

 END MODULE BCSDEF 

Module BCSDEF is used in the main program and subroutines BCSTEP, FOPEN, NAFU, and READIF. Arrays 

IUNIB and FNAMB store unit numbers and filenames, respectively, for the “.bcs” files. Both arrays are 

allocated in subroutine FOPEN. 

A new integer variable, NFBCS, stores the total number of ".bcs" files. It is passed to the main program 

and subroutines BCSTEP, FOPEN, NAFU, and READIF through a new COMMON block, FUNIB.

The new subroutine BCSTEP handles reading and processing of time-dependent boundary conditions 

specified in ".bcs" files. It is listed in Appendix 3. BCSTEP is called from subroutine SUTRA using the 

following code, which appears immediately after the call to subroutine BCTIME:

 IF ((ITER.EQ.1).AND.(K9.NE.-1).AND.(ISSTRA.NE.1)) 

 1 CALL BCSTEP(IPBC,PBC,IUBC,UBC,QIN,UIN,QUIN,IQSOP,IQSOU, 

 2 IPBCT1,IUBCT1,IQSOPT1,IQSOUT1,X,Y,Z,GNUP1,GNUU1, 

 3 IBCPBC,IBCUBC,IBCSOP,IBCSOU) 

Subroutine BOUND, which reads and organizes input data from datasets 19 and 20 (specified pressures 

and specified concentrations or temperatures), has been modified in a number of places and is listed in 

Appendix 3. The modifications have to do with time-dependent boundary ".bcs" conditions and drain 

nodes.

The new subroutine BOUND1 reads and organizes time-dependent specified pressures and specified 

concentrations or temperatures from datasets 4 and 5 of the ".bcs" files. It is listed in Appendix 3. 

Subroutine SOURCE, which reads and organizes input data from datasets 17 and 18 (sources/sinks of 

fluid mass, and sources/sinks of solute mass or thermal energy) has been modified in a number of places 

and is listed in Appendix 3. The modifications have to do with time-dependent boundary ".bcs" 

conditions.

The new subroutine SOURCE1 reads and organizes time-dependent sources/sinks of fluid mass, and 

sources/sinks of solute mass or thermal energy from datasets 2 and 3 of the ".bcs" files. It is listed in 

Appendix 3. 

78
Subroutine FOPEN, which opens input and output files, has been modified in a number of places and is 

listed in Appendix 3. The modifications account for reading and storage of data, error checking, and 

opening of files associated with the new “.bcs” input files and “.bco*” output files.

Subroutine NAFU, which finds the next available Fortran unit, has been modified in a number of places 

and is listed in Appendix 3. The modifications have to do with the new “.bcs” input files and “.bco*” 

output files.

Integer variable K9 records the FORTRAN unit numbers for the “.bcs” file currently being read. It has 

been added to COMMON block FUNITS and is thereby passed to all program units that contain that 

COMMON block.

Arrays FNAIN, KLIST, and NKS store the names and unit numbers of inserted files and the number of

inserted files of each type currently open, respectively. The lead dimension of these arrays has been 

increased from 2 to 3 to accommodate the new “.bcs” file type. NKS(3) is initialized to zero in the main 

program before any files are opened.

Subroutine READIF, which handles reading of input data, has been modified in a number of places to 

account for the new ".bcs" files. The section of code that handles the case when the end of an inserted 

file has been reached (INERR(1).LT.0) has been updated to

C........SET FLAG IK TO INDICATE WHETHER THE READ WAS ATTEMPTED FROM 

C AN INP DATASET (IK=1), AN ICS DATASET (IK=2), OR A BCS 

C DATASET (IK=3) 

 IF (KU.EQ.K1) THEN 

 IK = 1 

 IIK = 1 

 ELSE IF (KU.EQ.K2) THEN 

 IK = 2 

 IIK = 2 

 ELSE 

 IK = 3 

 IIK = 9 

 END IF 

C........IF READING FROM AN INSERTED FILE, CLOSE THAT FILE, UPDATE 

C UNIT NUMBERS, FILENAME, AND COUNTER TO INDICATE THE 

C NEXT-LEVEL-UP FILE, AND CONTINUE READING 

 IF (NKS(IK).GT.0) THEN 

 CLOSE(KU) 

 IF (KU.EQ.K1) THEN 

 K1 = KLIST(IK, NKS(IK)) 

 ELSE IF (KU.EQ.K2) THEN 

 K2 = KLIST(IK, NKS(IK)) 

 ELSE 

 K9 = KLIST(IK, NKS(IK)) 

 END IF 

 KU = KLIST(IK, NKS(IK)) 

 FNAME(IIK) = FNAIN(IK, NKS(IK)) 

 NKS(IK) = NKS(IK) - 1 

 GOTO 100 

 ELSE 

C...........REACHED END OF ZERO-LEVEL FILE, SO RETURN 

 GOTO 999 

 END IF 

79
The section of READIF that sets flag IK to indicate the type of file that was read has been updated to

 IF (KU.EQ.K1) THEN 

 IK = 1 

 IIK = 1 

 ERRF = 'INP' 

 ELSE IF (KU.EQ.K2) THEN 

 IK = 2 

 IIK = 2 

 ERRF = 'ICS' 

 ELSE 

 IK = 3 

 IIK = 9 

 ERRF = 'BCS' 

 END IF 

Do loop 565 has been added to READIF to check whether the inserted filename duplicates the name of a 

".bcs" file:

 DO 565 NFFB=1,NFBCS 

 IF (FINS.EQ.FNAMB(NFFB)) THEN 

 ERRCOD = 'FIL-4' 

 INERR(1) = KINS 

 CHERR(1) = FNAME(IIK) 

 CHERR(2) = FINS 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 565 CONTINUE 

All seven lines in READIF in which CHERR(1) was set to FNAME(IK) have been updated to

 CHERR(1) = FNAME(IIK) 

In DO loop 550, the upper limit on the loop index, I, has been increased from 2 to 3 to account for the 

fact that there are now 3 file types that can include @INSERT statements. In DO loop 560, the upper 

limit on the loop index, NFF, has been increased from 8 to 13 to account for the increase in the number 

of file types, including ".bco*" files. And the section of READIF that updates unit number and filenames 

to indicate the newly inserted file before reading continues has been modified to

 IF (KU.EQ.K1) THEN 

 K1 = KINS 

 ELSE IF (KU.EQ.K2) THEN 

 K2 = KINS 

 ELSE 

 K9 = KINS 

 END IF 

 KLIST(IK, NKS(IK)) = KU 

 FNAIN(IK, NKS(IK)) = FNAME(IIK) 

 KU = KINS 

 FNAME(IIK) = FINS

To facilitate activation and deactivation of specified-pressure and specified-concentration or 

temperature boundary conditions, arrays GNUP1 and GNUU1 have been introduced. These arrays are 

declared as DOUBLE PRECISION in module ALLARR, allocated with dimension NBCN in the main program, 

and deallocated in subroutine TERSEQ if ALLO1 is set to “.TRUE.”. 

80
Array GNUP1 has been added to the argument lists of subroutines BC, BCSTEP, BOUND, BUDGET, 

INDAT2, OUTBCOP, OUTRST, SUTRA, and TERSEQ and has been declared with dimension NBCN in all of 

these subroutines except TERSEQ. In all calculations that formerly involved GNUP, GNUP has been 

replaced with GNUP1(IP), where IP is the number of the node at which the calculation is being 

performed. To facilitate simulation restarts, array GNUP1 is written to the “.rst” file by subroutine 

OUTRST and read from the “.rst” file by subroutine INDAT2. GNUP1 follows array PBC in the “.rst” file 

and is written and read in the same way as PBC. Array GNUP1 is also used in connection with drain 

nodes.

Array GNUU1 has been added to the argument lists of subroutines BC, BCSTEP, BUDGET, OUTBCOU, 

SUTRA, and TERSEQ and has been declared with dimension NBCN in all of these subroutines except 

TERSEQ. In all calculations that formerly involved GNUU, GNUU has been replaced with GNUU1(IUP), 

where IUP is the number of the node at which the calculation is being performed.

INTEGER(1) arrays IBCPBC, IBCUBC, IBCSOP, and IBCSOU have been introduced to record how each 

boundary condition node has been assigned its latest values. These arrays are defined in module 

ALLARR, allocated in the main program with dimensions NBCN, NBCN, NSOP, and NSOU, respectively, 

and deallocated in subroutine TERSEQ if ALLO1 is set to “.TRUE.”. They are all passed through the 

argument lists of and declared in subroutines BCSTEP and SUTRA. In addition, IBCPBC is passed to and 

declared in subroutine OUTBCOP, IBCPBC is passed to and declared in subroutine OUTBCOP, IBCUBC is 

passed to and declared in subroutine OUTBCOU, IBCSOP is passed to and declared in subroutines 

BUDGET and OUTBCOF, and IBCSOU is passed to and declared in subroutines BUDGET and OUTBCOS. 

In subroutine BUDGET, IBCSOP and IBCSOU are used in the modified sections of code within DO loops 

500 and 3500, respectively: 

 DO 500 IQP=1,NSOPI 

 I=IQSOP(IQP) 

 IF (IBCSOP(IQP).EQ.-1) THEN 

 INEGCT = INEGCT + 1 

 IF (INEGCT.EQ.1) WRITE(K3,350) 

 350 FORMAT(///22X,'TIME-DEPENDENT FLUID SOURCES OR SINKS SET IN ', 

 1 'SUBROUTINE BCTIME'//22X,' NODE',5X,'INFLOW(+)/OUTFLOW(-)' 

 2 /37X,' (MASS/SECOND)'//) 

 WRITE(K3,450) -I,QIN(-I) 

 450 FORMAT(18X,I9,10X,1PE15.7) 

 END IF 

 500 CONTINUE 

 DO 3500 IQU=1,NSOUI 

 I=IQSOU(IQU) 

 IF (IBCSOU(IQU).EQ.-1) THEN 

 INEGCT = INEGCT + 1 

 IF (INEGCT.EQ.1) THEN 

 IF (ME.EQ.-1) THEN 

 WRITE(K3,3455) 

 3455 FORMAT(///22X,'TIME-DEPENDENT SOLUTE SOURCES OR SINKS ', 

 1 'SET IN SUBROUTINE BCTIME'//22X,' NODE',10X, 

 2 'GAIN(+)/LOSS(-)'/30X,' (SOLUTE MASS/SECOND)'//) 

 ELSE 

 WRITE(K3,3456) 

 3456 FORMAT(///22X,'TIME-DEPENDENT ENERGY SOURCES OR SINKS ', 

 1 'SET IN SUBROUTINE BCTIME'//22X,' NODE',10X, 

 2 'GAIN(+)/LOSS(-)'/30X,' (ENERGY/SECOND)'//) 

81
 END IF 

 END IF 

 WRITE(K3,3490) -I,QUIN(-I) 

 3490 FORMAT(22X,I9,10X,1PE15.7) 

 END IF 

 3500 CONTINUE 

The section of the main program that outputs file unit assignments has been modified in a number of 

places and is listed in the earlier section that discusses modifications associated with the new “.bco*” 

output files.

The section of the main program that computes and outputs array memory requirements has been 

modified in a number of places and is listed below: 

C.....COMPUTE AND OUTPUT DIMENSIONS OF SIMULATION 

 IF (K9.NE.-1) THEN 

 NRBCS = 3*NN + 4*NBCN 

 NI1BCS = 2*NBCN + NSOP + NSOU 

 ELSE 

 NRBCS = 7 

 NI1BCS = 4 

 END IF 

 RMVDIM = 27*NN + 11*NE + 10*NEX + 3*NBCN + N48*(2*NE + NEX) 

 1 + NNNX + 2*NELT*NCBI + NWF + 6*NOBSN + 3*NSCH + NRBCS 

 IMVDIM = NIN + NSOP + NSOU + 2*NBCN + NN + NE 

 1 + NDIMJA + NDIMIA + NWI + NOBSN + 3*NSCH 

 I1VDIM = NI1BCS 

 CMVDIM = 73*NOBS + 89*NSCH 

 PMVDIM = 2*NSCH 

 TOTMB = (DBLE(RMVDIM)*8D0 + DBLE(IMVDIM)*4D0 + DBLE(I1VDIM) 

 1 + DBLE(CMVDIM))/1D6 

 WRITE(K3,3000) RMVDIM, IMVDIM, I1VDIM, CMVDIM, PMVDIM, TOTMB 

 3000 FORMAT(////11X,'S I M U L A T I O N D I M E N S I O N S'// 

 1 13X,'REAL ARRAYS WERE ALLOCATED ',I12/ 

 2 13X,'INTEGER ARRAYS WERE ALLOCATED ',I12/ 

 3 13X,'INTEGER(1) ARRAYS WERE ALLOCATED ',I12/ 

 4 13X,'CHARACTER ARRAYS WERE ALLOCATED ',I12, 

 5 ' (SUM OF ARRAY_DIMENSION*CHARACTER_LENGTH)'/ 

 6 13X,'ARRAYS OF POINTERS WERE ALLOCATED ',I12// 

 7 13X,F10.3,' Mbytes MEMORY USED FOR MAIN ARRAYS'/ 

 8 13X,'- assuming 1 byte/character'/ 

 9 13X,'- pointer storage not included') 

A character variable of length 80, called FNBCS, has been introduced into the main program. It is set to 

FNAME(9) after the call to subroutine FOPEN but is not used subsequently. Omitting it likely will have no 

effect on the results computed by SUTRA.

A number of new error conditions have been added to the error-handling subroutine, SUTERR, in 

connection with “.bcs” files. They appear immediately after error condition “INP-20-1”:

 ELSE IF (ERRCOD.EQ.'BCS-1,2-1') THEN 

 DS(1)="The actual number of time-" 

 DS(2)="varying fluid source nodes, " // CINERR(1) // "," 

 DS(3)="does not equal the input value, " // CINERR(2) // "," 

 DS(4)="for time step " // CINERR(3) // "." 

 EX(1)="In dataset 1 of the BCS file, the variable NSOP1" 

 EX(2)="must specify the exact number of time-dependent fluid" 

 EX(3)="source nodes listed in dataset 2." 

82
 ELSE IF (ERRCOD.EQ.'BCS-1,3-1') THEN 

 DS(1)="The actual number of time-" 

 DS(2)="varying " // CHERR(1)(1:6) // " source nodes, " 

 1 // CINERR(1) // "," 

 DS(3)="does not equal the input value, " // CINERR(2) // "," 

 DS(4)="for time step " // CINERR(3) // "." 

 EX(1)="In dataset 1 of the BCS file, the variable NSOU1" 

 EX(2)="must specify the exact number of time-dependent " 

 1 // CHERR(1)(1:6) // " source" 

 EX(3)="nodes listed in dataset 3." 

 ELSE IF (ERRCOD.EQ.'BCS-1,4-1') THEN 

 DS(1)="The actual number of" 

 DS(2)="TIME-DEPENDENT pressure nodes, " // CINERR(1) // "," 

 DS(3)="does not equal the input value, " // CINERR(2) // "," 

 DS(4)="for time step " // CINERR(3) // "." 

 EX(1)="In dataset 1 of the BCS file, the variable NPBC1" 

 EX(2)="must specify the exact number of time-dependent" 

 EX(3)="pressure nodes listed in dataset 4." 

 ELSE IF (ERRCOD.EQ.'BCS-1,5-1') THEN 

 DS(1)="The actual number of" 

 DS(2)="TIME-DEPENDENT " // CHERR(1)(1:13) // " nodes, " 

 1 // CINERR(1) // "," 

 DS(3)="does not equal the input value, " // CINERR(2) // "," 

 DS(4)="for time step " // CINERR(3) // "." 

 EX(1)="In dataset 1 of the BCS file, the variable NUBC1" 

 EX(2)="must specify the exact number of time-dependent " 

 1 // CHERR(1)(1:13) 

 EX(3)="nodes listed in dataset 5." 

 ELSE IF (ERRCOD.EQ.'BCS-2-1') THEN 

 DS(1)="Invalid node number referenced in dataset 2: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(3) // "." 

 EX(1)="Dataset 2 of the BCS file contains a reference" 

 EX(2)="to a non-existent node number. All node numbers must" 

 EX(3)="be less than or equal to the total number of nodes," 

 EX(4)="NN = " // CINERR(2) 

 EX(5)="(excluding the negative sign that precedes node" 

 EX(6)="numbers for inactive boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-2-2') THEN 

 DS(1)="Invalid node number referenced in dataset 2: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(2) // "." 

 EX(1)="Dataset 2 of the BCS file contains a reference" 

 EX(2)="to an unrecognized boundary-condition node number." 

 EX(3)="Any node number used in dataset 2 of the BCS file must" 

 EX(4)="also appear in dataset 17 of the main input file" 

 EX(5)="(excluding the negative signs that precede node" 

 EX(6)="numbers for inactive and BCTIME boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-3-1') THEN 

 DS(1)="Invalid node number referenced in dataset 3: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(3) // "." 

 EX(1)="Dataset 3 of the BCS file contains a reference" 

 EX(2)="to a non-existent node number. All node numbers must" 

 EX(3)="be less than or equal to the total number of nodes," 

 EX(4)="NN = " // CINERR(2) 

 EX(5)="(excluding the negative sign that precedes node" 

 EX(6)="numbers for inactive boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-3-2') THEN 

 DS(1)="Invalid node number referenced in dataset 3: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(2) // "." 

 EX(1)="Dataset 3 of the BCS file contains a reference" 

83
 EX(2)="to an unrecognized boundary-condition node number." 

 EX(3)="Any node number used in dataset 3 of the BCS file must" 

 EX(4)="also appear in dataset 18 of the main input file" 

 EX(5)="(excluding the negative signs that precede node" 

 EX(6)="numbers for inactive and BCTIME boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-4-1') THEN 

 DS(1)="Invalid node number referenced in dataset 4: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(3) // "." 

 EX(1)="Dataset 4 of the BCS file contains a reference" 

 EX(2)="to a non-existent node number. All node numbers must" 

 EX(3)="be less than or equal to the total number of nodes," 

 EX(4)="NN = " // CINERR(2) 

 EX(5)="(excluding the negative sign that precedes node" 

 EX(6)="numbers for inactive boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-4-2') THEN 

 DS(1)="Invalid node number referenced in dataset 4: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(2) // "." 

 EX(1)="Dataset 4 of the BCS file contains a reference" 

 EX(2)="to an unrecognized boundary-condition node number." 

 EX(3)="Any node number used in dataset 4 of the BCS file must" 

 EX(4)="also appear in dataset 19 of the main input file" 

 EX(5)="(excluding the negative signs that precede node" 

 EX(6)="numbers for inactive and BCTIME boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-5-1') THEN 

 DS(1)="Invalid node number referenced in dataset 5: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(3) // "." 

 EX(1)="Dataset 5 of the BCS file contains a reference" 

 EX(2)="to a non-existent node number. All node numbers must" 

 EX(3)="be less than or equal to the total number of nodes," 

 EX(4)="NN = " // CINERR(2) 

 EX(5)="(excluding the negative sign that precedes node" 

 EX(6)="numbers for inactive boundary conditions)." 

 ELSE IF (ERRCOD.EQ.'BCS-5-2') THEN 

 DS(1)="Invalid node number referenced in dataset 5: " 

 1 // CINERR(1) 

 DS(2)="on time step " // CINERR(2) // "." 

 EX(1)="Dataset 5 of the BCS file contains a reference" 

 EX(2)="to an unrecognized boundary-condition node number." 

 EX(3)="Any node number used in dataset 5 of the BCS file must" 

 EX(4)="also appear in dataset 20 of the main input file" 

 EX(5)="(excluding the negative signs that precede node" 

 EX(6)="numbers for inactive and BCTIME boundary conditions)." 

The condition that checks for the type of error just before the error message is written has been 

expanded to

 IF ((CODE(1).EQ.'INP').OR.(CODE(1).EQ.'ICS').OR. 

 1 (CODE(1).EQ.'BCS')) THEN 

and the section of code that sets the filename for FORTRAN read errors has been changed to

 IF (CODE(2).EQ.'INP') THEN 

 CDUM80 = FNAME(1) 

 ELSE IF (CODE(2).EQ.'ICS') THEN 

 CDUM80 = FNAME(2) 

 ELSE 

 CDUM80 = FNAME(9) 

 END IF 

84
Drain-boundary nodes

At a drain node, the flow qdrn [M/T] in or out of the model is ν(pbc - p) if p>pbc and zero if p≤pbc, where p 

[M/(LT2

)] is the last computed value of pressure at the node, pbc [M/(LT2)] is a specified external 

pressure, and ν [LT] is the conductance of the hydraulic connection between pressures p and pbc. Thus, 

when the pressure at the boundary node, p, exceeds the external pressure, pbc, a negative flow (out of 

the model) results. When p is less than or equal to pbc, there is no flow in or out of the model at that 

node.

Drain-boundary conditions are implemented as a variation on specified-pressure boundary conditions. 

Input of drain-boundary conditions is through SUTRA dataset 19. The input format for this dataset has 

been modified by adding two parameters.

When a line of dataset 19 is read (for example, corresponding to specified-pressure node number IPU), 

any information following the original three input parameters (IPBC, PBC, and UBC) is stored in entry IPU 

of a character array called CMNT19. CMNT19(IPU) is then parsed to extract the values of two new 

parameters, SPTYPE (character string) and GNUG (double precision array). SPTYPE=’SPECP’ indicates that 

the node is an ordinary specified-pressure node; SPTYPE=’DRAIN’ indicates that the node is a drain. 

Logical array ISDRAIN is defined to permanently store type information for each node in dataset 19: if 

node IPU is a drain, then ISDRAIN(IPU)=.TRUE.; otherwise, ISDRAIN(IPU)=.FALSE.. GNUG(IPU) holds the 

value of the conductance ν for node IPU.

The parsing of CMNT19 to extract SPTYPE and GNUG assumes that the information following IPBC, PBC, 

and UBC consists of two character fields (both read into character string CDUM), followed by an integer 

value (read into integer IDUM), followed by the values of SPTYPE and GNUG. This corresponds to the 

form of dataset 19 produced by a version of SutraGUI (Winston and Voss, 2004) that has been modified 

to include a comment field with specified-pressure boundary conditions. The user-specified entry in the 

comment field in SutraGUI is assumed to be of the form ‘"SPECP " + gnug’ for an ordinary specifiedpressure node and ‘"DRAIN " + gnug’ for a drain, where gnug is the numerical value of GNUG for the 

node. 

For reverse-flow simulations, drain nodes are made to behave opposite to the way they normally 

behave: groundwater can recharge but not discharge at such an “anitidrain” node.

A new module, DRNDEF, defines arrays ISDRAIN and CMNT19, which are associated with drains:

 MODULE DRNDEF 

 IMPLICIT NONE 

C 

C.....DECLARE ARRAYS 

 LOGICAL, ALLOCATABLE :: ISDRAIN(:) 

 CHARACTER*100, ALLOCATABLE :: CMNT19(:) 

85
C 

 END MODULE DRNDEF 

Module DRNDEF is used in the main program, SUTRA_MAIN, and in subroutines BC, BUDGET, SUTRA, 

and BCTIME. Array ISDRAIN records whether a given specified-pressure node is to be treated as a drain 

node. Array CMNT19 stores drain information read from dataset 19 of the “.inp” input file. Both arrays 

are allocated with dimension NBCN in SUTRA_MAIN, right before subroutine INDAT1 is called.

Array GNUP1 has been introduced in connection with “.bcs” boundary conditions and is used to store 

conductances associated with specified-pressure nodes, including those designated as drain nodes. To 

prevent recharge at drain nodes, calculations involving array GNUP1 have been modified and are listed 

below. In subroutine BC:

 100 IF ((.NOT.ISDRAIN(IP)).OR.(PITER(I).GT.PBC(IP))) THEN 

 GPINL=-GNUP1(IP) 

 GPINR=GNUP1(IP)*PBC(IP) 

 ELSE 

 GPINL=0D0 

 GPINR=0D0 

 END IF 

In subroutine BUDGET:

 IF ((.NOT.ISDRAIN(IP)).OR.(PITER(I).GT.PBC(IP))) THEN 

 TERM = GNUP1(IP)*(PBC(IP)-PVEC(I)) 

 ELSE 

 TERM=0D0 

 END IF 

within DO loop 200, and

 IF (.NOT.ISDRAIN(IP)) THEN 

 TERM = GNUP1(IP)*(PBC(IP)-PVEC(I)) 

 ELSE 

 IF (PITER(I).GT.PBC(IP)) THEN 

 TERM = GNUP1(IP)*(PBC(IP)-PVEC(I)) 

 ELSE 

 TERM = 0D0 

 END IF 

 END IF 

within DO loop 700. The write statement within DO loop 700 has been replaced with

 WRITE(K3,677) I, TERM, CMNT19(IP) 

 677 FORMAT(18X,I9,10X,1PD15.7,5X,A100) 

which immediately follows the block IF statement. In subroutine SUTRA, the two lines that update 

elements of array QPLITR have each been replaced with

 IF ((.NOT.ISDRAIN(IP)).OR.(PITER(I).GT.PBC(IP))) THEN 

 QPLITR(IP) = GNUP1(IP)*(PBC(IP)-PITER(I)) 

 ELSE 

 QPLITR(IP)=0D0 

 END IF 

86
For reverse-flow simulations (antidrains), the “.GT.” operator is changed to “.LT.” in each of the four 

block IF statements immediately above.

Array PITER holds the latest iterate of the pressure (head) solution. It is has been added to the argument 

lists and dimension statements of subroutines BC and BUDGET to facilitate drain calculations.

Piecewise-linear unsaturated-flow functions

The unsaturated-flow functions are programmed such that saturation is a piecewise-linear function of 

pressure and relative permeability is a linear function of saturation. Two zones with distinct 

unsaturated-flow parameters are defined.

In zone 1, the following four parameters are specified by the user: the residual saturation, SWRES1; the 

air entry pressure, PENT1; the pressure at which the residual saturation is reached, PSWRES1; and the 

relative permeability at the residual saturation, RKRES1. For pressures greater than or equal to PENT, 

saturation equals 1. For pressures less than or equal to PSWRES1, saturation equals the residual 

saturation. For intermediate pressures, saturation varies linearly between these two bounding values. 

Relative permeability varies linearly between a value of RKRES1 at a saturation of SWRES1 and a value of 

1 at a saturation of 1. Unsaturated-flow behavior in zone 2 is governed by analogous parameters 

SWRES2, PENT2, PSWRES2, and RKRES2.

Unsaturated-flow input parameters are specified by the user in a separate file called “plunsat.dat”, 

which must reside in the directory in which the SUTRA simulation is being run. Input consists of two 

lines. On the first line, SWRES1, PENT1, PSWRES1, and RKRES1 are listed, in that order. On the second 

line, SWRES2, PENT2, PSWRES2, and RKRES2 are listed, in that order. The following code has been added 

to the main program, immediately after the element incidence list is read by subroutine CONNEC, to 

read input data from file “plunsat.dat”:

 IF (IUNSAT.NE.0) THEN 

 OPEN(UNIT=98, FILE="plunsat.dat", STATUS="OLD") 

 READ (98,*) SWRES1, PENT1, PSWRES1, RKRES1 

 READ (98,*) SWRES2, PENT2, PSWRES2, RKRES2 

 CLOSE(98) 

 END IF

The eight input parameters are declared as REAL and are passed to the main program and subroutine 

UNSAT through two common blocks:

 COMMON /UNSAT1/ SWRES1, PENT1, PSWRES1, RKRES1 

 COMMON /UNSAT2/ SWRES2, PENT2, PSWRES2, RKRES2 

Subroutine UNSAT, which calculates unsaturated flow functions, has been modified in a number of 

places and is listed in Appendix 3. The modifications have to do with piecewise-linear unsaturated flow 

functions and the new “.bco*” output files.

87
Head-based simulations with unsaturated flow

For simulations of fully saturated, constant-density flow, SUTRA can be made to effectively solve for 

hydraulic heads instead of pressures by scaling the input variables appropriately. To allow head-based 

simulations with unsaturated flow, SUTRA has been modified to make the conversions from head to 

pressure that are required prior to calling subroutine UNSAT. This capability is supported only in 3D

simulations.

To perform 3D, unsaturated, head-based basis function calculations, subroutine BASIS3 must take into 

account altitude. Accordingly, a new quantity, ZG, has been introduced. ZG is initialized to zero 

immediately before DO loop 1000, then assembled within the loop using the statement

 ZG=ZG+Z(I)*F(IL) 

ZG is subsequently used in the conversion from head to pressure that precedes the updated calculation 

of unsaturated flow parameters in BASIS3:

1500 IF (SNGL(RHOW0).EQ.1.) THEN 

 PEQ = 9.81D3*(PITERG - ZG) 

 IF (PEQ.LT.0D0) THEN 

 CALL UNSAT(SWG,DSWDPG,RELKG,PEQ,LREG(L)) 

 GOTO 1700 

 END IF 

 ELSE 

 IF (PITERG.LT.0D0) THEN 

 CALL UNSAT(SWG,DSWDPG,RELKG,PITERG,LREG(L)) 

 GOTO 1700 

 END IF 

 END IF 

Similar modifications were made to calculations of unsaturated flow parameters throughout the SUTRA 

source code. In subroutine BUDGET:

 IF (SNGL(RHOW0).EQ.1.) THEN 

 PEQ = 9.81D3*(PVEC(I) - Z(I)) 

 IF (PEQ.LT.0D0) THEN 

 CALL UNSAT(SW(I),DSWDP(I),RELK,PEQ,NREG(I)) 

 DSWDP(I) = 9.81D3*DSWDP(I) 

 GOTO 30 

 END IF 

 ELSE 

 IF (PVEC(I).LT.0D0) THEN 

 CALL UNSAT(SW(I),DSWDP(I),RELK,PVEC(I),NREG(I)) 

 GOTO 30 

 END IF 

 END IF 

In subroutine INDAT2:

 DO 900 I=1,NN 

 IF (SNGL(RHOW0).EQ.1.) THEN 

 PEQ = 9.81D3*(PVEC(I) - Z(I)) 

 IF (PEQ.LT.0D0) THEN 

 CALL UNSAT(SW(I),DSWDP(I),RELK,PEQ,NREG(I)) 

 END IF 

88
 ELSE 

 IF (PVEC(I).LT.0D0) 

 1 CALL UNSAT(SW(I),DSWDP(I),RELK,PVEC(I),NREG(I)) 

 END IF 

 900 CONTINUE 

In subroutine NODAL:

 100 IF (SNGL(RHOW0).EQ.1.) THEN 

 PEQ = 9.81D3*(PITER(I) - Z(I)) 

 IF (PEQ.LT.0D0) THEN 

 CALL UNSAT(SW(I),DSWDP(I),RELK,PEQ,NREG(I)) 

 DSWDP(I) = 9.81D3*DSWDP(I) 

 GOTO 120 

 END IF 

 ELSE 

 IF (PITER(I).LT.0D0) THEN 

 CALL UNSAT(SW(I),DSWDP(I),RELK,PITER(I),NREG(I)) 

 GOTO 120 

 END IF 

 END IF 

The updates described above require adding the array of node altitudes, Z, to the argument lists and 

dimension statements of subroutines BUDGET, INDAT2, and NODAL. For reverse-flow simulations

(antidrains), the four block IF statements listed immediately above are modified by substituting either 

PITERG for PITERG, -PVEC for PVEC, or -PITER for PITER in both parts of the block IF statement. In the 

second part of each block IF statement, this is accomplished by setting an intermediate variable, PEQ, to 

-PITERG, -PVEC, or -PITER and passing PEQ to subroutine UNSAT in place of PITERG, PVEC, or PITER. 

Accounting for altitude in unsaturated flow parameter calculations also entails passing observation point 

altitudes to function PUSWF, which interpolates values of pressure, concentration or temperature, and 

saturation in time. In all calls to PUSWF, observation point altitude, OBSPTS(JJ)%Z (where JJ is the 

observation point number), is inserted in the argument list immediately before variable SFRAC. The 

corresponding variable within PUSWF is ZG. In module EXPINT, the explicit interface for PUSWF has been 

updated by inserting variable ZG into the argument list immediately before variable SFRAC. Function 

PUSWF has been modified in a number of places and is listed in Appendix 3. 

The following warning message has been added to subroutine INDAT1:

 IF ((SNGL(RHOW0).EQ.1.).AND.(IUNSAT.NE.0).AND. 

 1 (KTYPE(1).EQ.2)) THEN 

 PRINT *, "====================================================" 

 PRINT *, "This version of SUTRA has been programmed to support" 

 PRINT *, "head-based, unsaturated flow simulations only in 3D," 

 PRINT *, "not in 2D." 

 PRINT *, "====================================================" 

 STOP 

 END IF 

89
Optional output of simulated values to “.lst” file

Input variables CPANDS and CCORT, both character variables of length 1, have been added to “.inp” 

dataset 8A to control whether simulated pressures and saturations, and concentrations or 

temperatures, are written to the “lst” output file. CPANDS is listed immediately after CINCID, and CCORT 

is listed immediately after CVEL in dataset 8A.

These two new variables are declared and read in subroutine INDAT1. The section of code that performs 

the read has been expanded to

 IF ((VERNIN.EQ.'2.0').OR.(VERNIN.EQ.'2.1')) THEN 

 READ(INTFIL,*,IOSTAT=INERR(1)) NPRINT,CNODAL,CELMNT,CINCID, 

 1 CVEL,CBUDG,CSCRN,CPAUSE 

 CPANDS = 'Y' 

 CCORT = 'Y' 

 ELSE 

 READ(INTFIL,*,IOSTAT=INERR(1)) NPRINT,CNODAL,CELMNT,CINCID, 

 1 CPANDS,CVEL,CCORT,CBUDG,CSCRN,CPAUSE 

 END IF 

After dataset 8A is read, print flags KPANDS and KCORT are set as follows:

 IF (CPANDS.EQ.'Y') THEN 

 KPANDS = +1 

 ELSE IF (CPANDS.EQ.'N') THEN 

 KPANDS = 0 

 ELSE 

 ERRCOD = 'INP-8A-8' 

 CHERR(1) = 'CPANDS' 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 IF (CCORT.EQ.'Y') THEN 

 KCORT = +1 

 ELSE IF (CCORT.EQ.'N') THEN 

 KCORT = 0 

 ELSE 

 ERRCOD = 'INP-8A-9' 

 CHERR(1) = 'CCORT ' 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

KPANDS and KCORT have been added to COMMON block KPRINT and are thereby passed to all program 

units that contain that COMMON block.

The section of subroutine INDAT1 that writes print flag information for pressures, saturations, velocities, 

and concentrations or temperatures to the “.lst” file has been modified and expanded to

 IF(KPANDS.EQ.+1) WRITE(K3,81) 

 IF(KPANDS.EQ.0) WRITE(K3,82) 

 81 FORMAT(/13X,'- PRINT PRESSURES AND SATURATIONS AT NODES ', 

 1 'ON EACH TIME STEP WITH OUTPUT') 

 82 FORMAT(/13X,'- CANCEL PRINT OF PRESSURES AND SATURATIONS') 

90
 IF(KVEL.EQ.+1) WRITE(K3,84) 

 IF(KVEL.EQ.0) WRITE(K3,85) 

 84 FORMAT(13X,'- CALCULATE AND PRINT VELOCITIES AT ELEMENT ', 

 1 'CENTROIDS ON EACH TIME STEP WITH OUTPUT') 

 85 FORMAT(13X,'- CANCEL PRINT OF VELOCITIES') 

 IF(KCORT.EQ.+1) THEN 

 IF (ME.EQ.-1) THEN 

 WRITE(K3,86) 

 ELSE 

 WRITE(K3,87) 

 END IF 

 ELSE 

 IF (ME.EQ.-1) THEN 

 WRITE(K3,88) 

 ELSE 

 WRITE(K3,89) 

 END IF 

 END IF 

 86 FORMAT(13X,'- PRINT CONCENTRATIONS AT NODES ', 

 1 'ON EACH TIME STEP WITH OUTPUT') 

 87 FORMAT(13X,'- PRINT TEMPERATURES AT NODES ', 

 1 'ON EACH TIME STEP WITH OUTPUT') 

 88 FORMAT(13X,'- CANCEL PRINT OF CONCENTRATIONS') 

 89 FORMAT(13X,'- CANCEL PRINT OF TEMPERATURES') 

 IF(KBUDG.EQ.+1) WRITE(K3,90) STYPE(IME) 

 IF(KBUDG.EQ.0) WRITE(K3,91) 

 90 FORMAT(/13X,'- CALCULATE AND PRINT FLUID AND ',A6,' BUDGETS ', 

 1 'ON EACH TIME STEP WITH OUTPUT') 

 91 FORMAT(/13X,'- CANCEL PRINT OF BUDGETS') 

In subroutines OUTLST2 and OUTLST3, the sections of code that write pressures, saturations, and 

concentrations or temperatures to the “.lst” file have each been embedded in an IF statement such that 

writing occurs only if the corresponding print flag is set to 1.

In the error handling subroutine, SUTERR, the condition that checks for error conditions beginning with 

“INP-8A” has been expanded to

 ELSE IF ((ERRCOD.EQ.'INP-8A-1').OR.(ERRCOD.EQ.'INP-8A-2') 

 1 .OR.(ERRCOD.EQ.'INP-8A-3').OR.(ERRCOD.EQ.'INP-8A-4') 

 2 .OR.(ERRCOD.EQ.'INP-8A-5').OR.(ERRCOD.EQ.'INP-8A-6') 

 3 .OR.(ERRCOD.EQ.'INP-8A-7').OR.(ERRCOD.EQ.'INP-8A-8') 

 4 .OR.(ERRCOD.EQ.'INP-8A-9')) THEN 

For these error conditions, line 5 of the explanation has been changed to

 EX(5)="10 'N' 'N' 'N' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y' 'Y'" 

which also reflects changes made in connection with the new “.bco*” output files. Error messages for 

conditons “INP-8A-8” and “INP-8A-9” have not been added to subroutine SUTERR.

More efficient processing of schedules 

The efficiency with which schedules are created has been improved by keeping track of the largest time 

and the last entry in each schedule. In module SCHDEF, two components have been added:

 DOUBLE PRECISION :: TLGST 

91
 TYPE (LLD), POINTER :: SLAST 

In subroutine LLDINS, which is used to construct schedules in the form of linked lists, two corresponding 

arguments, DLGST1 and DLAST, have been added to the argument list, and DLAST has been declared as a 

pointer of type LLD. In module EXPINT, the explicit interface for LLDINS has accordingly been updated to

 INTERFACE 

 SUBROUTINE LLDINS(LSTLEN, DLIST, DNUM1, DNUM2, DLGST1, DLAST) 

 USE LLDEF 

 INTEGER LSTLEN 

 TYPE (LLD), POINTER :: DLIST, DLAST 

 DOUBLE PRECISION DNUM1, DNUM2, DLGST1 

 END SUBROUTINE LLDINS 

 END INTERFACE 

In the section of LLDINS that places entries at the head of the linked list, the statement "GOTO 780" has 

been replaced with

 DLAST => DLIST 

 ELSE IF (DNUM1.GE.DLAST%DVALU1) THEN 

C........APPEND TO TAIL 

 ALLOCATE(DENNW) 

 DENNW%DVALU1 = DNUM1 

 DENNW%DVALU2 = DNUM2 

 DEN => DLAST 

 DEN%NENT => DENNW 

 DLAST => DENNW 

and the section that formerly appended entries to the tail of the list (between the line labeled "770" and 

the subsequent "END IF") has been deleted.

In subroutine INDAT0, SCHDLS(iv)%SLAST has been added to the ALLOCATE statement and initialized to -

HUGE(1D0) in DO loops 135, 185, and 800; here, iv stands for the corresponding DO loop index variable 

(NS or I). In INDAT0, all lines of the form "LSTLEN = 0", "SCHDLS(I)%LLEN = LSTLEN", or "SCHDLS(I)%LLEN 

= NTLIST" have been deleted, the line

 ITMAX = SCHDLS(1)%LLEN - 1 

has been added immediately after the line labeled "580", the two lines that deallocate and allocate 

SCHDLS(ISCHTS)%SLIST (schedule "TIME_STEPS") have been replaced with

 NULLIFY (SCHDLS(ISCHTS)%SLIST, SCHDLS(ISCHTS)%SLAST) 

 DEALLOCATE (SCHDLS(ISCHTS)%SLIST, SCHDLS(ISCHTS)%SLAST) 

 ALLOCATE (SCHDLS(ISCHTS)%SLIST, SCHDLS(ISCHTS)%SLAST) 

 SCHDLS(ISCHTS)%LLEN = 0 

 SCHDLS(ISCHTS)%TLGST = -HUGE(1D0) 

and the two lines that deallocate and allocate SCHDLS(I)%SLIST within DO loop 845 have been replaced 

with

 NULLIFY (SCHDLS(I)%SLIST, SCHDLS(I)%SLAST) 

 DEALLOCATE (SCHDLS(I)%SLIST, SCHDLS(I)%SLAST) 

 ALLOCATE (SCHDLS(I)%SLIST, SCHDLS(I)%SLAST) 

 SCHDLS(I)%LLEN = 0 

 SCHDLS(I)%TLGST = -HUGE(1D0) 

92
In subroutine INDAT1, all lines of the form "LSTLEN = 0", “SCHDLS(2)%LLEN = LSTLEN”, or 

“SCHDLS(2)%LLEN = 0” have been deleted.

In subroutines INDAT0 and INDAT1, all calls to subroutine LLDINS have been modified with the 

substitution of SCHDLS(ns)%LLEN for LSTLEN and the addition of SCHDLS(ns)%TLGST and 

SCHDLS(ns)%SLAST to the end of the argument list; here, ns stands for the schedule number specified 

for SCHDLS()%SLIST in the call to LLDINS. For example,

 CALL LLDINS(LSTLEN, SCHDLS(1)%SLIST, TIME, STEP) 

has been modified to

 CALL LLDINS(SCHDLS(1)%LLEN, SCHDLS(1)%SLIST, TIME, STEP, 

 1 SCHDLS(1)%TLGST, SCHDLS(1)%SLAST) 

Miscellaneous 

In the main program, parameter VERN, which holds the SUTRA version number, has been set to “2.2” in 

anticipation of the next software release, and the conditional that checks for error condition "INP-2A-4" 

has been modified to

 ELSE IF ((VERNIN.NE.'2.0 ').AND.(VERNIN.NE.'2.1 ').AND 

 1 (VERNIN.NE.'2.2 ')) THEN 

In subroutine SUTRA, the condition that determines whether subroutine OUTRST is called has been 

modified to make the call contingent on the existence of a ".rst" file, which is now optional:

 IF ((K4.NE.-1).AND.(ISTORE.NE.0).AND.((ISTOP.NE.0).OR. 

 1 (MOD(IT,ISTORE).EQ.0)))

 2 CALL OUTRST(PVEC,UVEC,PM1,UM1,CS1,RCIT,SW,QINITR,PBC,GNUP1) 

In format statement 1500 of subroutine INDAT1, both instances of the formatting code "2(64X)" are 

replaced with the equivalent code "128X".

In subroutines FINDL2 and FINDL3, COMMON block DIMS is only partially specified

 COMMON /DIMS/ NN, NE 

and in FORMAT statement 1888 of subroutine SUTERR, the comma follow the formatting code "A38" 

has been omitted.

There is no evidence that either of these omissions affected the proper functioning of the code when 

compiled with the Compaq Digital Fortran compiler.

93
Appendix 2: Input Data for the Time-Dependent Sources and 

Boundary Conditions Files (.bcs) 

These input files allow the user to change the values of sources and boundary conditions, and to 

turn them on or off, at any time step during a simulation. Once made, specifications remain in 

force until they are changed or turned off. For example, a specified pressure node will have a 

certain value of prescribed pressure until that value is changed or turned off (rendered inactive) 

by a subsequent specification.

The “.bcs” files may be omitted if there are no time-dependent sources or boundary conditions (other 

than those specified in subroutine BCTIME).

The “.bcs” files contains specifications for time-dependent sources and boundary conditions: 

• The input formats of datasets 2 – 5 parallel those of datasets 17 – 20 of the “.inp” (main 

input) file.

• Specifications made in “.bcs” files take precedence over those made in the “.inp” file and 

subroutine BCTIME. 

• The “.bcs” files are not

• On each time step, the “.bcs” files are processed in the order in which they appear in the 

“SUTRA.FIL” file.

read if the simulation is purely steady-state (steady flow and steady 

transport). In that case, the sources and boundary conditions specified in “.inp” datasets 17 – 

20 are used. 

• On each time step, multiple specifications of the same type at the same node are resolved in 

favor of the last specification read. 

When using time-dependent sources and boundary conditions, whether they are specified in the “.bcs” 

file or in subroutine BCTIME, the user is responsible for ensuring the following: 

• A flow and transport solution must occur on any time step in which the prescribed source rate for a 

fluid source node changes.

• A transport solution must occur on any time step in which the prescribed source 

concentration/temperature for a fluid source node changes.

• A transport solution must occur on any time step in which the prescribed source rate for a 

solute/energy source node changes.

• A flow and transport solution must occur on any time step in which the prescribed pressure for a 

specified pressure node changes.

• A transport solution must occur on any time step in which the prescribed 

concentration/temperature of inflowing fluid for a specified pressure node changes. 

• A transport solution must occur on any time step in which the prescribed 

concentration/temperature for a specified concentration/temperature node changes.

Note that inactivating or reactivating a node (by changing its node number from positive to negative, or 

vice versa, in the “.bcs” file), as a rule, constitutes a change in its specifications. Cycling of flow and 

94
transport solutions is controlled by NPCYC and NUCYC in dataset 6 of the “.inp” file. Setting 

NPCYC=NUCYC=1 automatically satisfies all requirements listed above by causing a flow and transport 

solution to occur on every time step.

In each “.bcs” file, datasets 1 – 5 (listed below) are required for each time step on which timedependent source and boundary condition specifications are made in that “.bcs” file. 

Time steps must appear in chronological order within each “.bcs” file.

DATASET 1: Time Step Number and Time-Dependent Source and Boundary Condition Counts (one line) 

Variable Type Description

ITNBCS Integer Time step number at which the source and boundary 

condition specifications are to be applied. 

NSOP1 Integer Exact number of nodes at which a fluid source/sink is 

specified for time step ITNBCS.

NSOU1 Integer Exact number of nodes at which an energy or solute mass 

source/sink is specified for time step ITNBCS.

 

NPBC1 Integer Exact number of nodes at which pressure is specified for 

time step ITNBCS.

NUBC1 Integer Exact number of nodes at which temperature or 

concentration is specified constant for time step ITNBCS.

Note:

NSOP1, NSOU1, NPBC1, and NUBC1 give the number of nodes listed in “.bcs” datasets 2, 3, 4, 

and 5, respectively.

95
DATASET 2: Time-Dependent Fluid Sources and Sinks (one line for each of NSOP1 fluid 

source nodes as specified in “.bcs” DATASET 1, plus one 

line)

O M I T when there are no fluid sources/sinks to be specified for time step ITNBCS (NSOP1=0).

Specifications made in this dataset take precedence over those made in “.inp” dataset 17 (and 

subroutine BCTIME). 

Variable Type

 

Description

Lines 1 to NSOP1:

IQCP1 Integer Number of node to which source/sink data on this line 

refers. Specifying the node number with a negative sign

renders the fluid-source/sink condition inactive at node 

IQCP1 during time step ITNBCS, which sets the 

source/sink rate to zero and gives the user the option of 

suppressing output for the inactive source node by setting 

CINACT=’N’ in “.inp” dataset 8E.

 Any node listed in this dataset must also be listed in “.inp”

dataset 17.

QINC1 Real Fluid source (or sink) at node IQCP1 during time step 

ITNBCS, QIN. [M/s]. 

 A positive value is a source of fluid to the aquifer. May be 

omitted if the source node is inactive (IQCP1<0). 

UINC1 Real Temperature or solute concentration (mass fraction) of 

fluid entering the aquifer at node IQCP1 during time step 

ITNBCS, UIN. [°C] or [Ms/M]. 

 May be omitted if if the source node is inactive (IQCP1<0) 

or if QINC1≤0. 

Last line:

 Integer Placed immediately following all NSOP1 fluid source node 

lines. Line must begin with the integer 0. 

96
DATASET 3: Time-Dependent Energy or Solute Mass Sources and Sinks 

(one line for each NSOU1 energy or solute source nodes as 

specified in “.bcs” DATASET 1, plus one line) 

O M I T when there are no energy or solute sources/sinks to be specified for time step ITNBCS 

(NSOU1=0).

Specifications made in this dataset take precedence over those made in “.inp” dataset 18 (and 

subroutine BCTIME). 

Variable Type

 

Description

Lines 1 to NSOU1:

IQCU1 Integer Number of node to which source/sink data on this line 

refers. Specifying the node number with a negative sign

renders the solute/energy-source/sink condition inactive at 

node IQCU1 during time step ITNBCS, which sets the 

source/sink rate to zero and gives the user the option of 

suppressing output for the inactive source node by setting 

CINACT=’N’ in “.inp” dataset 8E.

 Any node listed in this dataset must also be listed in “.inp” 

dataset 18.

QUINC1 Real Source (or sink) of solute or energy at node IQCU1 suring 

time step ITNBCS, ψIN. [E/s] for energy transport, [Ms/s]

for solute transport. 

 A positive value is a source to the aquifer. May be omitted 

if the source node is inactive (IQCU1<0). 

Last line:

 Integer Placed immediately following all NSOU1 energy or solute 

mass source node lines. Line must begin with the integer 0. 

97
DATASET 4: Time-Dependent Specified Pressures (one line for each of NPBC1 specified pressure nodes 

as indicated in “.bcs” DATASET 1, plus one line)

O M I T when there are no pressures to be specified for time step ITNBCS (NPBC1=0).

Specifications made in this dataset take precedence over those made in “.inp” dataset 19 (and 

subroutine BCTIME). 

Variable Type Description

Lines 1 to NPBC1:

IPBC1 Integer Number of node to which specified pressure data on this 

line refers. Specifying the node number with a negative 

sign renders the specified-pressure condition inactive (it is 

not applied) at node IPBC1 during time step ITNBCS, 

which gives the user the option of suppressing output for 

the inactive boundary condition by setting CINACT=’N’ in 

“.inp” dataset 8E.

 Any node listed in this dataset must also be listed in “.inp” 

dataset 19.

PBC1 Real Pressure value specified at node IPBC1 during time step 

ITNBCS. [M/(Ls

2

)]. 

 May be omitted if the boundary condition is inactive 

(IPBC1<0). 

UBC1 Real Temperature or solute concentration of any external fluid 

that enters the aquifer at node IPBC1 during time step 

ITNBCS. [°C] or [Ms/M]. 

 May be omitted if the boundary condition is inactive 

(IPBC1<0). 

Last line:

 Integer Placed immediately following all NPBC1 specified 

pressure lines. Line must begin with the integer 0. 

98
DATASET 5: Time-Dependent Specified Concentrations or Temperatures

(one line for each of NUBC1 specified concentration or 

temperature nodes indicated in “.bcs” DATASET 1, plus one line)

O M I T when there are no concentrations or temperatures to be specified for time step ITNBCS 

(NUBC1=0).

Specifications made in this dataset take precedence over those made in “.inp” dataset 20 (and 

subroutine BCTIME). 

Variable Type Description

Lines 1 to NUBC1:

IUBC1 Integer Number of node to which specified concentration or 

temperature data on this line refers. Specifying the node 

number with a negative sign renders the specifiedconcentration/temperature condition inactive (it is not 

applied) at node IUBC1 during time step ITNBCS, which 

gives the user the option of suppressing output for the 

inactive boundary condition by setting CINACT=’N’ in 

“.inp” dataset 8E.

 Any node listed in this dataset must also be listed in “.inp” 

dataset 20.

UBC1 Real Temperature or solute concentration value specified at node 

IUBC1 during time step ITNBCS. [°C] or [Ms/M].

 May be omitted if the boundary condition is inactive 

(IUBC1<0). 

Last line:

 Integer Placed immediately following all NUBC1 specified 

temperature or concentration lines. Line must begin with 

the integer 0. 

99
Appendix 3: Selected SUTRA Subroutines

This appendix contains listings of selected SUTRA subroutines that have been modified extensively, as 

well as new SUTRA subroutines.

Subroutine BCSTEP

C SUBROUTINE B C S T E P SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO READ TIME-DEPENDENT BOUNDARY CONDITIONS FROM THE BCS FILES 

c *** AND UPDATE THE ARRAYS IN WHICH THEY ARE STORED. 

C 

 SUBROUTINE BCSTEP(IPBC,PBC,IUBC,UBC,QIN,UIN,QUIN,IQSOP,IQSOU, 

 1 IPBCT1,IUBCT1,IQSOPT1,IQSOUT1,X,Y,Z,GNUP1,GNUU1, 

 2 IBCPBC,IBCUBC,IBCSOP,IBCSOU) 

 USE BCSDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER INTFIL*1000 

 CHARACTER*80 ERRCOD,CHERR(10),UNAME,FNAME(0:13) 

 INTEGER(1) IBCPBC(NBCN),IBCUBC(NBCN),IBCSOP(NSOP),IBCSOU(NSOU) 

 DIMENSION INERR(10),RLERR(10) 

 DIMENSION IPBC(NBCN),PBC(NBCN),IUBC(NBCN),UBC(NBCN), 

 1 GNUP1(NBCN),GNUU1(NBCN), 

 2 QIN(NN),UIN(NN),QUIN(NN),IQSOP(NSOP),IQSOU(NSOU), 

 3 X(NN),Y(NN),Z(NN) 

 ALLOCATABLE :: IPBC1(:),PBC1(:),IUBC1(:),UBC1(:), 

 1 QIN1(:),UIN1(:),QUIN1(:),IQSOP1(:),IQSOU1(:) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /FUNIB/ NFBCS 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

 DATA TNYFAC /1.D-50/ 

C 

C.....LOOP OVER ALL BCS FILES 

 DO 1000 NFB=1,NFBCS 

 K9 = IUNIB(NFB) 

 FNAME(9) = FNAMB(NFB) 

C 

C.....READ BCS DATASET 1 AND CHECK WHETHER BOUNDARY CONDITIONS ARE 

C AVAILABLE FOR THE CURRENT TIME STEP. IF NOT, BACKSPACE 

C AND SKIP TO NEXT FILE. 

 ERRCOD = 'REA-BCS-1' 

 READ(K9,'(A)',END=1000) INTFIL 

 BACKSPACE(K9) 

 CALL READIF(K9, INTFIL, ERRCOD) 

 IF (VERIFY(INTFIL,' ').EQ.0) GOTO 1000 

 READ(INTFIL,*,IOSTAT=INERR(1)) ITNBCS,NPBC1,NUBC1,NSOP1,NSOU1 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

100
 IF (IT.NE.ITNBCS) THEN 

 BACKSPACE(K9) 

 GOTO 1000 

 END IF 

C 

C.....SET NBCN1, AND INCREMENT NSOP1 AND NSOU1 TO ACCOMMODATE FINAL 

C ZERO WHEN READING. COUNTS OF TIME-DEPENDENT NODES REFER TO 

C THE BCS FILE CURRENTLY BEING READ. 

 NBCN1 = NPBC1 + NUBC1 + 1 

 NSOP1 = NSOP1 + 1 

 NSOU1 = NSOU1 + 1 

C.....NSOPI IS ACTUAL NUMBER OF POSSIBLE FLUID SOURCE NODES 

 NSOPI = NSOP - 1 

C.....NSOUI IS ACTUAL NUMBER OF POSSIBLE ENERGY OR SOLUTE MASS 

C SOURCE NODES 

 NSOUI = NSOU - 1 

C.....NSOPI1 IS ACTUAL NUMBER OF TIME-STEP-DEPENDENT FLUID SOURCE NODES 

C ON THIS TIME STEP 

 NSOPI1 = NSOP1 - 1 

C.....NSOUI1 IS ACTUAL NUMBER OF TIME-STEP-DEPENDENT ENERGY OR SOLUTE 

C MASS SOURCE NODES ON THIS TIME STEP 

 NSOUI1 = NSOU1 - 1 

C 

C.....IF NO TIME-DEPENDENT SPECIFIED P OR U BOUNDARY CONDITIONS, SKIP 

C THIS SECTION 

 IF (NBCN1-1.EQ.0) GOTO 500 

C 

C.....ALLOCATE ARRAYS FOR SPECIFIED P AND U BOUNDARY CONDITIONS 

 ALLOCATE(IPBC1(NBCN1),PBC1(NBCN1),IUBC1(NBCN1),UBC1(NBCN1)) 

C 

C.....INPUT BCS DATASETS 4 & 5 (SPECIFIED P AND U BOUNDARY CONDITIONS) 

C FOR CURRENT TIME STEP 

 CALL BOUND1(IPBC1,PBC1,IUBC1,UBC1,IPBCT1,IUBCT1,NPBC1,NUBC1,NBCN1) 

C 

C.....SET TIME-STEP-DEPENDENT SPECIFIED PRESSURES OR 

C CONCENTRATIONS (TEMPERATURES) OF INFLOWS AT SPECIFIED 

C PRESSURE NODES 

C 

 IF (NPBC1.GT.0) THEN 

 DO 200 IP1=1,NPBC1 

 I = IPBC1(IP1) 

 DO 150 IP0=1,NPBC 

 I0 = IPBC(IP0) 

 IF (IABS(I0).EQ.IABS(I)) THEN 

 IP = IP0 

 GOTO 180 

 END IF 

 150 CONTINUE 

 ERRCOD = 'BCS-4-2' 

 INERR(1) = IABS(I) 

 INERR(2) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 180 CONTINUE 

 IF (I.GT.0) THEN 

 PBC(IP) = PBC1(IP1) 

 UBC(IP) = UBC1(IP1) 

 IF (IBCPBC(IP).EQ.2) GNUP1(IP) = GNUP1(IP)/TNYFAC 

 IBCPBC(IP) = 1 

 ELSE 

 IF (IBCPBC(IP).NE.2) GNUP1(IP) = GNUP1(IP)*TNYFAC 

 IBCPBC(IP) = 2 

 END IF 

 200 CONTINUE 

101
 END IF 

C 

C.....SET TIME-STEP-DEPENDENT SPECIFIED 

C CONCENTRATIONS (TEMPERATURES) 

C 

 IF (NUBC1.GT.0) THEN 

 DO 400 IU1=1,NUBC1 

 IUP1 = IU1 + NPBC1 

 I=IUBC1(IUP1) 

 DO 300 IU0=1,NUBC 

 IUP0 = IU0 + NPBC 

 I0 = IUBC(IUP0) 

 IF (IABS(I0).EQ.IABS(I)) THEN 

 IUP = IUP0 

 GOTO 350 

 END IF 

 300 CONTINUE 

 ERRCOD = 'BCS-5-2' 

 INERR(1) = IABS(I) 

 INERR(2) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 350 CONTINUE 

 IF (I.GT.0) THEN 

 UBC(IUP) = UBC1(IUP1) 

 GNUU1(IUP) = GNUU 

 IBCUBC(IUP) = 1 

 ELSE 

 GNUU1(IUP) = 0D0 

 IBCUBC(IUP) = 2 

 END IF 

 400 CONTINUE 

 END IF 

C 

C.....DEALLOCATE ARRAYS FOR SPECIFIED P AND U BOUNDARY CONDITIONS 

 DEALLOCATE(IPBC1,PBC1,IUBC1,UBC1) 

C 

C.....IF NO TIME-DEPENDENT SOURCE/SINK CONDITIONS, SKIP THIS SECTION 

 500 IF ((NSOPI1+NSOUI1).EQ.0) GOTO 1000 

C 

C.....ALLOCATE ARRAYS FOR SOURCE/SINK CONDITIONS 

 ALLOCATE(QIN1(NN),UIN1(NN),QUIN1(NN),IQSOP1(NSOP1),IQSOU1(NSOU1)) 

C 

C.....INPUT BCS DATASETS 3 & 4 (SOURCES OF FLUID MASS AND ENERGY OR 

C SOLUTE MASS) FOR CURRENT TIME STEP 

 CALL SOURCE1(QIN1,UIN1,IQSOP1,QUIN1,IQSOU1,IQSOPT1,IQSOUT1, 

 1 NSOP1,NSOU1) 

C 

C.....SET TIME-STEP-DEPENDENT FLUID SOURCES/SINKS, 

C OR CONCENTRATIONS (TEMPERATURES) OF SOURCE FLUID 

C 

 IF (NSOPI1.GT.0) THEN 

 DO 600 IQP1=1,NSOPI1 

 I=IQSOP1(IQP1) 

 DO 550 IQP0=1,NSOPI 

 I0 = IQSOP(IQP0) 

 IF (IABS(I0).EQ.IABS(I)) THEN 

 IQP = IQP0 

 GOTO 580 

 END IF 

 550 CONTINUE 

 ERRCOD = 'BCS-2-2' 

 INERR(1) = IABS(I) 

 INERR(2) = IT 

102
 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 580 CONTINUE 

 IF (I.GT.0) THEN 

 QIN(I) = QIN1(I) 

 UIN(I) = UIN1(I) 

 IBCSOP(IQP) = 1 

 ELSE 

 QIN(-I) = 0D0 

 IBCSOP(IQP) = 2 

 END IF 

 600 CONTINUE 

 END IF 

C 

C.....SET TIME-STEP-DEPENDENT SOURCES/SINKS 

C OF SOLUTE MASS OR ENERGY 

C 

 IF (NSOUI1.GT.0) THEN 

 DO 800 IQU1=1,NSOUI1 

 I=IQSOU1(IQU1) 

 DO 750 IQU0=1,NSOUI 

 I0 = IQSOU(IQU0) 

 IF (IABS(I0).EQ.IABS(I)) THEN 

 IQU = IQU0 

 GOTO 780 

 END IF 

 750 CONTINUE 

 ERRCOD = 'BCS-3-2' 

 INERR(1) = IABS(I) 

 INERR(2) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 780 CONTINUE 

 IF (I.GT.0) THEN 

 QUIN(I) = QUIN1(I) 

 IBCSOU(IQU) = 1 

 ELSE 

 QUIN(-I) = 0D0 

 IBCSOU(IQU) = 2 

 END IF 

 800 CONTINUE 

 END IF 

C 

C.....DEALLOCATE ARRAYS FOR SOURCE/SINK CONDITIONS 

 DEALLOCATE(QIN1,UIN1,QUIN1,IQSOP1,IQSOU1) 

C 

 1000 CONTINUE 

 RETURN 

 END 

Subroutine BOUND

C SUBROUTINE B O U N D SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO READ AND ORGANIZE DEFAULT VALUES FOR SPECIFIED PRESSURE DATA 

C *** AND SPECIFIED TEMPERATURE OR CONCENTRATION DATA. 

C 

 SUBROUTINE BOUND(IPBC,PBC,IUBC,UBC,IPBCT,IUBCT,GNUP1) 

 USE DRNDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER INTFIL*1000 

103
 CHARACTER*80 ERRCOD,CHERR(10),UNAME,FNAME(0:13) 

 CHARACTER*5 SPTYPE,CDUM 

 DIMENSION IPBC(NBCN),PBC(NBCN),IUBC(NBCN),UBC(NBCN),GNUP1(NBCN) 

 DIMENSION INERR(10),RLERR(10) 

 DIMENSION KTYPE(2) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

C 

C 

 IPBCT=1 

 IUBCT=1 

 IP=0 

 IPU=0 

 IF(NPBC.EQ.0) GOTO 400 

 WRITE(K3,100) 

 100 FORMAT('1'////11X,'S P E C I F I E D P R E S S U R E D A T A' 

 1 ////11X,'**** NODES AT WHICH PRESSURES ARE SPECIFIED ****'/) 

 IF(ME) 107,107,114 

 107 WRITE(K3,108) 

 108 FORMAT(16X,'(AS WELL AS SOLUTE CONCENTRATION OF ANY' 

 1 /16X,' FLUID INFLOW WHICH MAY OCCUR AT THE POINT' 

 2 /16X,' OF SPECIFIED PRESSURE)' 

 3 //12X,'NODE',10X,'DEFAULT PRESSURE', 

 4 5X,'DEFAULT CONCENTRATION'//) 

 GOTO 125 

 114 WRITE(K3,115) 

 115 FORMAT(16X,'(AS WELL AS TEMPERATURE {DEGREES CELSIUS} OF ANY' 

 1 /16X,' FLUID INFLOW WHICH MAY OCCUR AT THE POINT' 

 2 /16X,' OF SPECIFIED PRESSURE)' 

 3 //12X,'NODE',10X,'DEFAULT PRESSURE', 

 4 5X,' DEFAULT TEMPERATURE'//) 

C 

C.....INPUT DATASET 19: DATA FOR SPECIFIED PRESSURE NODES 

 125 IPU=IPU+1 

 ERRCOD = 'REA-INP-19' 

 CALL READIF(K1, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IDUM 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IDUMA = IABS(IDUM) 

 IF (IDUM.EQ.0) THEN 

 GOTO 180 

 ELSE IF (IDUMA.GT.NN) THEN 

 ERRCOD = 'INP-19-1' 

 INERR(1) = IDUMA 

 INERR(2) = NN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (IPU.GT.NPBC) THEN 

 GOTO 125 

 END IF 

 IPBC(IPU) = IDUM 

 IF (IPBC(IPU).GT.0) THEN 

 ERRCOD = 'REA-INP-19' 

 READ(INTFIL,*,IOSTAT=INERR(1)) IPBC(IPU),PBC(IPU),UBC(IPU), 

 1 CMNT19(IPU) 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 READ(CMNT19(IPU),*) CDUM,CDUM,IDUM,SPTYPE,GNUP1(IPU) 

 IF (SPTYPE.EQ.'DRAIN') THEN 

104
 ISDRAIN(IPU) = .TRUE. 

 ELSE 

 ISDRAIN(IPU) = .FALSE. 

 END IF 

 WRITE(K3,160) IPBC(IPU),PBC(IPU),UBC(IPU),SPTYPE,GNUP1(IPU) 

 ELSE IF (IPBC(IPU).LT.0) THEN 

 IPBCT = -1 

 WRITE(K3,160) IPBC(IPU) 

 ELSE 

 GOTO 180 

 END IF 

 160 FORMAT(7X,I9,6X,1PD20.13,6X,1PD20.13,6X,A5,3X,1PD20.13) 

 GOTO 125 

 180 IPU=IPU-1 

 IP=IPU 

 IF(IP.EQ.NPBC) GOTO 200 

 ERRCOD = 'INP-3,19-1' 

 INERR(1) = IP 

 INERR(2) = NPBC 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 200 IF(IPBCT.NE.-1) GOTO 250 

 IF(ME) 205,205,215 

 205 WRITE(K3,206) 

 206 FORMAT(//12X,'TIME-DEPENDENT SPECIFIED PRESSURE OR INFLOW ', 

 1 'CONCENTRATION'/12X,'SET IN SUBROUTINE BCTIME IS INDICATED ', 

 2 'BY NEGATIVE NODE NUMBER') 

 GOTO 250 

 215 WRITE(K3,216) 

 216 FORMAT(//12X,'TIME-DEPENDENT SPECIFIED PRESSURE OR INFLOW ', 

 1 'TEMPERATURE'/12X,'SET IN SUBROUTINE BCTIME IS INDICATED ', 

 2 'BY NEGATIVE NODE NUMBER') 

 250 WRITE(K3,252) 

 252 FORMAT(/11X,'SPECIFICATIONS (IF ANY) MADE IN THE ', 

 1 'OPTIONAL BCS INPUT FILE TAKE PRECEDENCE OVER THE'/11X, 

 2 'DEFAULT VALUES LISTED ABOVE AND ANY VALUES ', 

 3 'SET IN SUBROUTINE BCTIME.') 

C 

 400 IF(NUBC.EQ.0) GOTO 9000 

 IF(ME) 500,500,550 

 500 WRITE(K3,1000) 

 1000 FORMAT('1'////11X,'S P E C I F I E D C O N C E N T R A T I O N', 

 1 ' D A T A' 

 2 ////11X,'**** NODES AT WHICH SOLUTE CONCENTRATIONS ARE ', 

 3 'SPECIFIED TO BE INDEPENDENT OF LOCAL FLOWS AND FLUID SOURCES', 

 4 '  '//12X,'NODE',5X,'DEFAULT CONCENTRATION'//) 

 GOTO 1125 

 550 WRITE(K3,1001) 

 1001 FORMAT('1'////11X,'S P E C I F I E D T E M P E R A T U R E', 

 1 ' D A T A' 

 2 ////11X,'** ** NODES AT WHICH TEMPERATURES ARE ', 

 3 'SPECIFIED TO BE INDEPENDENT OF LOCAL FLOWS AND FLUID SOURCES', 

 4 ' ****'//12X,'NODE',5X,' DEFAULT TEMPERATURE'//) 

C 

C.....INPUT DATASET 20: DATA FOR SPECIFIED CONCENTRATION OR 

C TEMPERATURE NODES 

 1125 IPU=IPU+1 

 ERRCOD = 'REA-INP-20' 

 CALL READIF(K1, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IDUM 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IDUMA = IABS(IDUM) 

 IF (IDUM.EQ.0) THEN 

 GOTO 1180 

105
 ELSE IF (IDUMA.GT.NN) THEN 

 ERRCOD = 'INP-20-1' 

 INERR(1) = IDUMA 

 INERR(2) = NN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (IPU.GT.NPBC+NUBC) THEN 

 GOTO 1125 

 END IF 

 IUBC(IPU) = IDUM 

 IF (IUBC(IPU).GT.0) THEN 

 ERRCOD = 'REA-INP-20' 

 READ(INTFIL,*,IOSTAT=INERR(1)) IUBC(IPU),UBC(IPU) 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 WRITE(K3,1150) IUBC(IPU),UBC(IPU) 

 ELSE IF (IUBC(IPU).LT.0) THEN 

 IUBCT = -1 

 WRITE(K3,1150) IUBC(IPU) 

 ELSE 

 GOTO 1180 

 END IF 

 1150 FORMAT(7X,I9,6X,1PE20.13) 

 GOTO 1125 

 1180 IPU=IPU-1 

 IU=IPU-IP 

 IF(IU.EQ.NUBC) GOTO 1200 

 IF (ME.EQ.1) THEN 

 ERRCOD = 'INP-3,20-2' 

 ELSE 

 ERRCOD = 'INP-3,20-1' 

 END IF 

 INERR(1) = IU 

 INERR(2) = NUBC 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 1200 IF(IUBCT.NE.-1) GOTO 6000 

 IF(ME) 1205,1205,1215 

 1205 WRITE(K3,1206) 

 1206 FORMAT(//11X,'TIME-DEPENDENT SPECIFIED CONCENTRATIONS USER-', 

 1 'PROGRAMMED IN'/12X,'SUBROUTINE BCTIME ARE INDICATED BY ', 

 2 'A NEGATIVE NODE NUMBER.') 

 GOTO 6000 

 1215 WRITE(K3,1216) 

 1216 FORMAT(//11X,'TIME-DEPENDENT SPECIFIED TEMPERATURES USER-', 

 1 'PROGRAMMED IN'/12X,'SUBROUTINE BCTIME ARE INDICATED BY ', 

 2 'A NEGATIVE NODE NUMBER.') 

 6000 WRITE(K3,252) 

C 

C 

 9000 RETURN 

 END 

Subroutine BOUND1

C SUBROUTINE B O U N D 1 SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO READ AND ORGANIZE TIME-DEPENDENT SPECIFIED PRESSURE DATA AND 

C *** SPECIFIED TEMPERATURE OR CONCENTRATION DATA SPECIFIED IN THE 

C *** OPTIONAL BCS INPUT FILE. 

C 

 SUBROUTINE BOUND1(IPBC1,PBC1,IUBC1,UBC1,IPBCT1,IUBCT1, 

106
 1 NPBC1,NUBC1,NBCN1) 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER INTFIL*1000 

 CHARACTER*80 ERRCOD,CHERR(10),UNAME,FNAME(0:13) 

 DIMENSION IPBC1(NBCN1),PBC1(NBCN1),IUBC1(NBCN1),UBC1(NBCN1) 

 DIMENSION INERR(10),RLERR(10) 

 DIMENSION KTYPE(2) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

C 

C 

 IP = 0 

 IPU = 0 

 IPBCT1 = +1 

 IUBCT1 = +1 

C 

 IF (NPBC1.EQ.0) GOTO 400 

C 

C.....INPUT BCS DATASET 4: DATA FOR SPECIFIED PRESSURE NODES 

 IPBCT1 = -1 

 125 IPU = IPU + 1 

 ERRCOD = 'REA-BCS-4' 

 CALL READIF(K9, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IDUM 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IDUMA = IABS(IDUM) 

 IF (IDUM.EQ.0) THEN 

 GOTO 180 

 ELSE IF (IDUMA.GT.NN) THEN 

 ERRCOD = 'BCS-4-1' 

 INERR(1) = IDUMA 

 INERR(2) = NN 

 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (IPU.GT.NPBC1) THEN 

 GOTO 125 

 END IF 

 IPBC1(IPU) = IDUM 

 IF (IPBC1(IPU).GT.0) THEN 

 ERRCOD = 'REA-BCS-4' 

 READ(INTFIL,*,IOSTAT=INERR(1)) 

 1 IPBC1(IPU),PBC1(IPU),UBC1(IPU) 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (IPBC1(IPU).LT.0) THEN 

 CONTINUE 

 ELSE 

 GOTO 180 

 END IF 

 GOTO 125 

 180 IPU = IPU - 1 

 IP = IPU 

 IF (IP.EQ.NPBC1) GOTO 400 

 ERRCOD = 'BCS-1,4-1' 

 INERR(1) = IP 

 INERR(2) = NPBC1 

107
 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

C 

 400 IF(NUBC1.EQ.0) GOTO 8000 

C 

C.....INPUT BCS DATASET 5: DATA FOR SPECIFIED CONCENTRATION OR 

C TEMPERATURE NODES 

 IUBCT1 = -1 

 1125 IPU = IPU + 1 

 ERRCOD = 'REA-BCS-5' 

 CALL READIF(K9, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IDUM 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IDUMA = IABS(IDUM) 

 IF (IDUM.EQ.0) THEN 

 GOTO 1180 

 ELSE IF (IDUMA.GT.NN) THEN 

 ERRCOD = 'BCS-5-1' 

 INERR(1) = IDUMA 

 INERR(2) = NN 

 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (IPU.GT.NPBC1+NUBC1) THEN 

 GOTO 1125 

 END IF 

 IUBC1(IPU) = IDUM 

 IF (IUBC1(IPU).GT.0) THEN 

 ERRCOD = 'REA-BCS-5' 

 READ(INTFIL,*,IOSTAT=INERR(1)) IUBC1(IPU),UBC1(IPU) 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (IUBC1(IPU).LT.0) THEN 

 CONTINUE 

 ELSE 

 GOTO 1180 

 END IF 

 GOTO 1125 

 1180 IPU = IPU - 1 

 IU = IPU - IP 

 IF (IU.EQ.NUBC1) GOTO 8000 

 ERRCOD = 'BCS-1,5-1' 

 IF (ME.EQ.1) THEN 

 CHERR(1) = ' temperature ' 

 ELSE 

 CHERR(1) = 'concentration' 

 END IF 

 INERR(1) = IU 

 INERR(2) = NUBC1 

 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

C 

 8000 CONTINUE 

C 

 RETURN 

 END 

Subroutine FOPEN

C SUBROUTINE F O P E N SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

108
C *** OPENS FILES FOR SUTRA SIMULATION. READS AND PROCESSES FILE 

C *** SPECIFICATIONS FROM "SUTRA.FIL" AND OPENS INPUT AND OUTPUT FILES. 

C 

 SUBROUTINE FOPEN() 

 USE EXPINT 

 USE SCHDEF 

 USE BCSDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 PARAMETER (IUNMIN=11) 

 CHARACTER*80 FT,FN,UNAME,FNAME,ENAME,ENDEF,FTSTR 

 CHARACTER*80 FNROOT,FNEXTN 

 CHARACTER*80 ERRCOD,CHERR(10) 

 CHARACTER*8 VERNUM, VERNIN 

 CHARACTER INTFIL*1000 

 LOGICAL IS 

 LOGICAL EXST 

 LOGICAL ONCEFO 

 DIMENSION FTYPE(0:13),FNAME(0:13),IUNIT(0:13) 

 DIMENSION FTSTR(0:13) 

 DIMENSION INERR(10),RLERR(10) 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FO/ONCEFO 

 COMMON /FUNIB/ NFBCS 

 COMMON /FUNITA/ IUNIT 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /OBS/ NOBSN,NTOBS,NOBCYC,NOBLIN,NFLOMX 

 COMMON /SCH/ NSCH,ISCHTS 

 COMMON /VER/ VERNUM, VERNIN 

 DATA (FTSTR(NFT),NFT=0,13)/'SMY','INP','ICS','LST','RST', 

 1 'NOD','ELE','OBS','OBC','BCS','BCOF','BCOS','BCOP','BCOU'/ 

C 

C.....IF THIS IS THE FIRST CALL, READ AND PROCESS FILE SPECIFICATIONS 

C FROM "SUTRA.FIL" AND OPEN ALL OUTPUT FILES EXCEPT OBSERVATION 

C OUTPUT. OBSERVATION OUTPUT FILES ARE CREATED ON THE SECOND 

C CALL, AFTER DATASET 8D HAS BEEN READ. 

 IF (.NOT.ONCEFO) THEN 

C 

C........INITIALIZE UNIT NUMBERS AND FILENAMES 

 K1 = -1 

 K2 = -1 

 K3 = -1 

 K4 = -1 

 K5 = -1 

 K6 = -1 

 K7 = -1 

 K8 = -1 

 K9 = -1 

 K10 = -1 

 K11 = -1 

 K12 = -1 

 K13 = -1 

 DO 20 NF=0,13 

 IUNIT(NF) = -1 

 FNAME(NF) = "" 

 20 CONTINUE 

C 

C........SET DEFAULT VALUES FOR THE SMY FILE. THE DEFAULT FILE WILL 

C NOT ACTUALLY BE CREATED UNLESS IT IS NEEDED. 

 K00 = K0 + 1 

 ENDEF = 'SUTRA.SMY' 

C 

C........OPEN FILE UNIT CONTAINING UNIT NUMBERS AND FILE ASSIGNMENTS 

109
 IU=K0 

 FN=UNAME 

 INQUIRE(FILE=UNAME,EXIST=IS) 

 IF (IS) THEN 

 OPEN(UNIT=IU,FILE=UNAME,STATUS='OLD',FORM='FORMATTED', 

 1 IOSTAT=KERR) 

 IF(KERR.GT.0) GOTO 9000 

 ELSE 

 NFBCS = 1 

 ALLOCATE (IUNIB(NFBCS),FNAMB(NFBCS)) 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 GOTO 8000 

 ENDIF 

C 

C........COUNT HOW MANY BCS FILES LISTED, THEN REWIND. ALLOCATE AND 

C INITIALIZE BCS-RELATED ARRAYS IUNIB AND FNAMB. 

 NFBCS = 0 

 30 READ(K0,'(A)',IOSTAT=INERR(1),END=32) INTFIL 

 IF (INERR(1).NE.0) THEN 

 NFBCS = 1 

 ALLOCATE (IUNIB(NFBCS),FNAMB(NFBCS)) 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 ERRCOD = 'REA-FIL' 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 FT = '' 

 READ(INTFIL,*,IOSTAT=INERR(1)) FT 

 IF (FT.EQ.'BCS') NFBCS = NFBCS + 1 

 GOTO 30 

 32 REWIND(K0) 

 ALLOCATE (IUNIB(NFBCS),FNAMB(NFBCS)) 

 DO 35 NFB=1,NFBCS 

 IUNIB(NFB) = -1 

 FNAMB(NFB) = "" 

 35 CONTINUE 

C........COMPUTE TOTAL NUMBER OF FILE SPECIFICATIONS. 

 NFSPEC = 12 + NFBCS 

C 

C........READ IN UNIT NUMBERS AND FILE ASSIGNMENTS. ASSIGN COMPATIBLE 

C UNIT NUMBERS. CLOSE UNIT K0. 

 NFB = 0 

 DO 90 NF=0,NFSPEC 

C...........READ A FILE SPECIFICATION 

 READ(K0,'(A)',IOSTAT=INERR(1),END=99) INTFIL 

 IF (INERR(1).NE.0) THEN 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 ERRCOD = 'REA-FIL' 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 IF (VERIFY(INTFIL,' ').EQ.0) GOTO 99 

 READ(INTFIL,*,IOSTAT=INERR(1)) FT, IU, FN 

 IF (INERR(1).NE.0) THEN 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 ERRCOD = 'REA-FIL' 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

C...........CHECK FOR ILLEGAL SPECIFICATIONS 

 IF (FN.EQ.UNAME) THEN 

 CALL NAFU(K00,0,ENDEF) 

110
 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 ERRCOD = 'FIL-9' 

 CHERR(1) = UNAME 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

C...........IF THE SPECIFIED UNIT NUMBER IS LESS THAN IUNMIN, 

C SET IT TO IUNMIN 

 IU = MAX(IU, IUNMIN) 

C...........STORE THE FILE INFORMATION, CHECKING FOR INVALID AND 

C REPEATED FILE TYPE SPECIFICATIONS AND ASSIGNING UNIT 

C NUMBERS TO NON-OBSERVATION FILES ALONG THE WAY 

 IF (FT.EQ.'BCS') THEN 

 CALL NAFU(IU,0,FN) 

 IUNIT(9) = IU 

 FNAME(9) = FN 

 NFB = NFB + 1 

 IUNIB(NFB) = IU 

 FNAMB(NFB) = FN 

 GOTO 60 

 END IF 

 DO 50 NFT=0,13 

 IF (FT.EQ.FTSTR(NFT)) THEN 

 IF (IUNIT(NFT).EQ.-1) THEN 

 IF ((NFT.LE.6).OR.(NFT.GE.9)) CALL NAFU(IU,0,FN) 

 IUNIT(NFT) = IU 

 FNAME(NFT) = FN 

 GOTO 60 

 ELSE 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 ERRCOD = 'FIL-6' 

 CHERR(1) = UNAME 

 CHERR(2) = FT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 END IF 

 50 CONTINUE 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

 ERRCOD = 'FIL-5' 

 CHERR(1) = UNAME 

 CHERR(2) = FT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 60 CONTINUE 

 90 CONTINUE 

 99 CLOSE(K0) 

C 

C........OPEN THE SMY FILE. 

C 

C........IF NO SMY SPECIFICATION, USE THE DEFAULT. 

 IF (IUNIT(0).EQ.-1) THEN 

 CALL NAFU(K00,0,ENDEF) 

 IUNIT(0) = K00 

 FNAME(0) = ENDEF 

 END IF 

 IU = IUNIT(0) 

 FN = FNAME(0) 

 OPEN(UNIT=IU,FILE=FN,STATUS='REPLACE',IOSTAT=KERR) 

C........IN CASE OF ERROR WHILE OPENING SMY FILE, WRITE ERROR 

C MESSAGE TO DEFAULT FILE 

 IF (KERR.GT.0) THEN 

 CALL NAFU(K00,0,ENDEF) 

 OPEN(UNIT=K00,FILE=ENDEF,STATUS='REPLACE') 

111
 GOTO 9000 

 END IF 

C........SET K00 AND ENAME 

 K00 = IU 

 ENAME = FN 

C 

C........CHECK FOR REPEATED FILENAMES (EXCEPT OBS AND OBC FILES) 

C AND MISSING SPECIFICATIONS FOR REQUIRED FILE TYPES 

 DO 260 NF=0,13 

 IF ((NF.GE.7).OR.(NF.LE.9)) CYCLE 

 IF (IUNIT(NF).EQ.-1) THEN 

 IF ((NF.GE.1).AND.(NF.LE.3)) THEN 

 ERRCOD = 'FIL-7' 

 CHERR(1) = UNAME 

 CHERR(2) = FTSTR(NF) 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE 

 CYCLE 

 END IF 

 END IF 

 DO 250 NF2=NF+1,13 

 IF ((NF2.GE.7).OR.(NF2.LE.9)) CYCLE 

 IF (FNAME(NF2).EQ.FNAME(NF)) THEN 

 ERRCOD = 'FIL-4' 

 CHERR(1) = UNAME 

 CHERR(2) = FNAME(NF) 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 250 CONTINUE 

 DO 255 NFB=1,NFBCS 

 IF (FNAME(NFB).EQ.FNAME(NF)) THEN 

 ERRCOD = 'FIL-4' 

 CHERR(1) = UNAME 

 CHERR(2) = FNAME(NF) 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 255 CONTINUE 

 260 CONTINUE 

 DO 280 NFB=1,NFBCS 

 DO 270 NFB2=NFB+1,NFBCS 

 IF (FNAMB(NFB2).EQ.FNAMB(NFB)) THEN 

 ERRCOD = 'FIL-4' 

 CHERR(1) = UNAME 

 CHERR(2) = FNAMB(NF) 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 270 CONTINUE 

 280 CONTINUE 

C 

C........SET UNIT NUMBERS K1 - K13. (K00 HAS BEEN SET PREVIOUSLY.) 

 K1=IUNIT(1) 

 K2=IUNIT(2) 

 K3=IUNIT(3) 

 K4=IUNIT(4) 

 K5=IUNIT(5) 

 K6=IUNIT(6) 

 K7=IUNIT(7) 

 K8=IUNIT(8) 

 K9=IUNIT(9) 

 K10=IUNIT(10) 

 K11=IUNIT(11) 

 K12=IUNIT(12) 

 K13=IUNIT(13) 

112
C 

C........CHECK FOR EXISTENCE OF INPUT FILES AND OPEN INPUT AND OUTPUT 

C FILES (EXCEPT SMY, OBS, AND OBC) 

 DO 300 NF=1,13 

 IF ((NF.EQ.7).OR.(NF.EQ.8)) CYCLE 

 IU=IUNIT(NF) 

 FN=FNAME(NF) 

 IF (IU.EQ.-1) GOTO 300 

 IF (NF.LE.2) THEN 

 INQUIRE(FILE=FN,EXIST=IS) 

 IF(IS) THEN 

 OPEN(UNIT=IU,FILE=FN,STATUS='OLD',FORM='FORMATTED', 

 1 IOSTAT=KERR) 

 ELSE 

 GOTO 8000 

 ENDIF 

 ELSE IF (NF.EQ.9) THEN 

 DO 290 NFB=1,NFBCS 

 IU = IUNIB(NFB) 

 FN = FNAMB(NFB) 

 INQUIRE(FILE=FN,EXIST=IS) 

 IF(IS) THEN 

 OPEN(UNIT=IU,FILE=FN,STATUS='OLD',FORM='FORMATTED', 

 1 IOSTAT=KERR) 

 ELSE 

 GOTO 8000 

 ENDIF 

 290 CONTINUE 

 ELSE 

 OPEN(UNIT=IU,FILE=FN,STATUS='REPLACE',FORM='FORMATTED', 

 1 IOSTAT=KERR) 

 ENDIF 

 IF(KERR.GT.0) GOTO 9000 

 300 CONTINUE 

C 

C........SET FLAG TO INDICATE THAT FIRST CALL IS COMPLETED, THEN RETURN 

 ONCEFO = .TRUE. 

 RETURN 

C 

 ELSE 

C 

C........INITIALIZE OBSERVATION-RELATED UNIT NUMBERS AND FILENAMES 

 DO 330 NFO=1,NFLOMX 

 IUNIO(NFO) = -1 

 FNAMO(NFO) = "" 

 330 CONTINUE 

C 

C........OPEN OBS AND OBC FILES, AUTOMATICALLY GENERATING UNIT NUMBERS 

C AND FILENAMES 

C 

C........LOOP OVER THE TWO FILE TYPES 

 DO 400 NF=7,8 

C...........IF NO FILE SPECIFICATION OF THIS TYPE, MOVE ON 

 IF (IUNIT(NF).EQ.-1) CYCLE 

C...........DETERMINE LENGTH OF THE SPECIFIED FILENAME AND ITS ROOT 

 LNAME = LEN_TRIM(FNAME(NF)) 

 LROOT = SCAN(FNAME(NF),'.',BACK=.TRUE.) - 1 

C...........SET THE ROOT NAME AND EXTENSION THAT WILL BE USED FOR FILES 

C OF THIS TYPE 

 IF (LROOT.NE.-1) THEN 

 IF (LROOT.NE.0) THEN 

 FNROOT = FNAME(NF)(1:LROOT) 

 ELSE 

113
 FNROOT = "SUTRA" 

 END IF 

 IF (LROOT.NE.LNAME-1) THEN 

 FNEXTN = FNAME(NF)(LROOT+1:LNAME) 

 ELSE 

 FNEXTN = "." // FTSTR(NF) 

 END IF 

 ELSE 

 IF (LNAME.NE.0) THEN 

 FNROOT = FNAME(NF) 

 ELSE 

 FNROOT = "SUTRA" 

 END IF 

 FNEXTN = "." // FTSTR(NF) 

 END IF 

C...........INITIALIZE UNIT NUMBER 

 IUNEXT = IUNIT(NF) 

C...........LOOP OVER OBSERVATION OUTPUT FILES 

 DO 380 J=1,NFLOMX 

 JM1 = J - 1 

C..............IF FILE IS NOT OF THE TYPE CURRENTLY BEING PROCESSED, 

C SKIP FILE 

 IF (OFP(J)%FRMT.NE.FTSTR(NF)) CYCLE 

C..............CONSTRUCT FILENAME FROM ROOT NAME, SCHEDULE NAME, 

C AND EXTENSION 

 IF (SCHDLS(OFP(J)%ISCHED)%NAME.NE."-") THEN 

 FN = TRIM(FNROOT) // "_" 

 1 // TRIM(SCHDLS(OFP(J)%ISCHED)%NAME) // FNEXTN 

 ELSE 

 FN = TRIM(FNROOT) // FNEXTN 

 END IF 

C..............CHECK FOR DUPLICATE FILENAME AMONG NON-OBSERVATION 

C FILES 

 DO 350 NFF=0,13 

 IF ((NFF.GE.7).OR.(NFF.LE.9)) CYCLE 

 IF (FN.EQ.FNAME(NFF)) THEN 

 ERRCOD = 'FIL-4' 

 CHERR(1) = UNAME 

 CHERR(2) = FN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 350 CONTINUE 

 DO 352 NFB=1,NFBCS 

 IF (FN.EQ.FNAMB(NFB)) THEN 

 ERRCOD = 'FIL-4' 

 CHERR(1) = UNAME 

 CHERR(2) = FN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 352 CONTINUE 

C..............CHECK FOR DUPLICATE FILENAME AMONG PREVIOUSLY DEFINED 

C OBSERVATION OUTPUT FILES 

 DO 355 NJ=1,J-1 

 IF (FN.EQ.FNAMO(NJ)) THEN 

 ERRCOD = 'FIL-4' 

 CHERR(1) = UNAME 

 CHERR(2) = FN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 355 CONTINUE 

C..............ASSIGN NEXT AVAILABLE UNIT NUMBER, RECORD FILE 

C INFORMATION, AND OPEN THE FILE 

 CALL NAFU(IUNEXT,JM1,FN) 

114
 IU = IUNEXT 

 IUNIO(J) = IU 

 FNAMO(J) = FN 

 INQUIRE(UNIT=IU, OPENED=IS) 

 OPEN(UNIT=IU,FILE=FN,STATUS='REPLACE',FORM='FORMATTED', 

 1 IOSTAT=KERR) 

 IF(KERR.GT.0) GOTO 9000 

 380 CONTINUE 

 400 CONTINUE 

C 

C........SECOND CALL IS COMPLETED, SO RETURN 

 RETURN 

C 

 END IF 

C 

 8000 CONTINUE 

C.....GENERATE ERROR 

 ERRCOD = 'FIL-1' 

 CHERR(1) = UNAME 

 CHERR(2) = FN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

C 

 9000 CONTINUE 

C.....GENERATE ERROR 

 ERRCOD = 'FIL-2' 

 CHERR(1) = UNAME 

 CHERR(2) = FN 

 INERR(1) = IU 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

C 

 END 

Subroutine NAFU

C SUBROUTINE N A F U SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO FIND THE NEXT AVAILABLE FORTRAN UNIT. ON INPUT, IUNEXT IS 

C *** THE UNIT NUMBER FROM WHICH THE SEARCH IS TO BEGIN. ON OUTPUT, 

C *** IUNEXT IS THE NEXT AVAILABLE UNIT NUMBER. 

C 

 SUBROUTINE NAFU(IUNEXT,NJMAX,FN) 

 USE SCHDEF, ONLY : IUNIO 

 USE BCSDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER*80 FN,UNAME,FNAME(0:13) 

 CHARACTER*80 ERRCOD,CHERR(10) 

 LOGICAL EXST 

 DIMENSION INERR(10),RLERR(10) 

 DIMENSION IUNIT(0:13), NKS(3), KLIST(3,20) 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FUNIB/ NFBCS 

 COMMON /FUNINS/ NKS,KLIST 

 COMMON /FUNITA/ IUNIT 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

C 

C.....CHECK "SUTRA.FIL" (UNIT K0) 

 100 IF (IUNEXT.EQ.K0) IUNEXT = IUNEXT + 1 

C.....CHECK NON-INSERTED, NON-OBSERVATION FILES 

115
 200 DO 300 NFF=0,13 

 IF ((NFF.EQ.7).OR.(NFF.EQ.8)) CYCLE 

 IF (IUNEXT.EQ.IUNIT(NFF)) THEN 

 IUNEXT = IUNEXT + 1 

 GOTO 100 

 END IF 

 300 CONTINUE 

 DO 350 NFB=1,NFBCS 

 IF (IUNEXT.EQ.IUNIB(NFB)) THEN 

 IUNEXT = IUNEXT + 1 

 GOTO 100 

 END IF 

 350 CONTINUE 

C.....CHECK OBSERVATION FILES 

 400 DO 500 NJ=1,NJMAX 

 IF (IUNEXT.EQ.IUNIO(NJ)) THEN 

 IUNEXT = IUNEXT + 1 

 GOTO 100 

 END IF 

 500 CONTINUE 

C.....CHECK INSERTED FILES 

 IF ((IUNEXT.EQ.K1).OR.(IUNEXT.EQ.K2).OR.(IUNEXT.EQ.K9)) THEN 

 IUNEXT = IUNEXT + 1 

 GOTO 100 

 END IF 

 DO 600 I=1,3 

 DO 600 K=1,NKS(I) 

 IF (IUNEXT.EQ.KLIST(I,K)) THEN 

 IUNEXT = IUNEXT + 1 

 GOTO 100 

 END IF 

 600 CONTINUE 

C.....IF THE UNIT NUMBER SELECTED IS NOT VALID, GENERATE ERROR 

 INQUIRE(UNIT=IUNEXT, EXIST=EXST) 

 IF (.NOT.EXST) THEN 

 ERRCOD = 'FIL-10' 

 INERR(1) = IUNEXT 

 CHERR(1) = UNAME 

 CHERR(2) = FN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

C 

 RETURN 

 END 

Subroutine OUTBCOF

C SUBROUTINE O U T B C O F SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO PRINT BOUNDARY CONDITION INFORMATION AT FLUID SOURCE/SINK 

C *** NODES IN A FLEXIBLE, COLUMNWISE FORMAT. OUTPUT IS TO THE 

C *** BCOF FILE. 

C 

 SUBROUTINE OUTBCOF(QIN,IQSOP,UVEC,UIN,QINITR,IBCSOP,TITLE1,TITLE2) 

 USE EXPINT 

 USE SCHDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER*1 TITLE1(80),TITLE2(80) 

 CHARACTER*14 CTYPE2 

116
 CHARACTER*80 LAYSTR 

 CHARACTER*10 BCDSTR(-1:2) 

 LOGICAL ONCEK10,ONCEK11,ONCEK12,ONCEK13 

 INTEGER(1) IBCSOP(NSOP) 

 DIMENSION QIN(NN),IQSOP(NSOP),UVEC(NNVEC),UIN(NN),QINITR(NN) 

 DIMENSION KTYPE(2) 

 ALLOCATABLE TT(:),ITT(:) 

 TYPE (LLD), POINTER :: DENTS 

 COMMON /CLAY/ LAYSTR 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMLAY/ NLAYS,NNLAY,NELAY 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /DIMX/ NWI,NWF,NWL,NELT,NNNX,NEX,N48 

 COMMON /DIMX2/ NELTA,NNVEC,NDIMIA,NDIMJA 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /GRAVEC/ GRAVX,GRAVY,GRAVZ 

 COMMON /ITERAT/ RPM,RPMAX,RUM,RUMAX,ITER,ITRMAX,IPWORS,IUWORS 

 COMMON /JCOLS/ NCOLPR,LCOLPR,NCOLS5,NCOLS6,J5COL,J6COL 

 COMMON /KPRBCS/ KINACT 

 COMMON /KPRINT/ KNODAL,KELMNT,KINCID,KPLOTP,KPLOTU, 

 1 KPANDS,KVEL,KCORT,KBUDG,KSCRN,KPAUSE 

 COMMON /PARAMS/ COMPFL,COMPMA,DRWDU,CW,CS,RHOS,SIGMAW,SIGMAS, 

 1 RHOW0,URHOW0,VISC0,PRODF1,PRODS1,PRODF0,PRODS0,CHI1,CHI2 

 COMMON /PLT2/ ONCEK10, ONCEK11, ONCEK12, ONCEK13 

 COMMON /SCH/ NSCH,ISCHTS 

 COMMON /SOLVI/ KSOLVP,KSOLVU,NN1,NN2,NN3 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

 DATA (BCDSTR(M),M=-1,2) 

 1 /' BCTIME',' INP',' BCS',' BCS'/ 

 SAVE BCDSTR 

C 

C.....CALCULATE HEADERS ON FIRST CALL AND CREATE OUTPUT ON EACH CALL. 

C 

C 

 IF (.NOT. ONCEK10) THEN 

C.....FIRST CALL -- CREATE FILE HEADER. 

C 

C........CALCULATE THE MAXIMUM NUMBER OF TIME STEPS, KTMAX. 

 KT=0 

 DO 4 JT=1,ITMAX 

 IF (MOD(JT,NBCFPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCFPR.GT.0)))) 

 2 KT = KT + 1 

 4 CONTINUE 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCFPR).NE.0) KT = KT + 1 

 KTMAX = KT 

C 

C........ALLOCATE LOCAL ARRAYS 

 ALLOCATE(TT(KTMAX),ITT(KTMAX)) 

C 

C........CALCULATE AND PRINT TIME STEP INFORMATION 

 TS=TSTART 

C........TIME STEP VALUE 

 JT=0 

C........NUMBER OF PRINTED TIME STEPS 

 KT=0 

C........TIME STEP INCREMENT 

 DELTK=DELT 

117
 DENTS => SCHDLS(ISCHTS)%SLIST 

 DO 10 JT=1,ITMAX 

 DENTS => DENTS%NENT 

 TS = DENTS%DVALU1 

 IF (MOD(JT,NBCFPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCFPR.GT.0)))) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = JT 

 ENDIF 

 10 CONTINUE 

 IF (ISSTRA.EQ.1) TT(KT) = TSTART 

C 

C 

C........PRINT LAST TIME STEP ALWAYS, UNLESS ALREADY PRINTED 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCFPR).NE.0) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = ITMAX 

 ENDIF 

C 

C........WRITE HEADER INFORMATION 

 WRITE(K10,950) TITLE1, TITLE2 

 IF (KTYPE(2).GT.1) THEN 

 IF (KTYPE(2).EQ.3) THEN 

 CTYPE2 = "BLOCKWISE MESH" 

 ELSE 

 CTYPE2 = "REGULAR MESH " 

 END IF 

 IF (KTYPE(1).EQ.3) THEN 

 WRITE(K10,951) KTYPE(1),CTYPE2,NN1,NN2,NN3,NN," Nodes", 

 1 NE, " Elems" 

 ELSE 

 WRITE(K10,952) KTYPE(1),CTYPE2,NN1,NN2,NN," Nodes", 

 1 NE, " Elems" 

 END IF 

 ELSE IF (KTYPE(2).EQ.1) THEN 

 WRITE(K10,953) KTYPE(1), LAYSTR(1:6), NLAYS, NNLAY, 

 1 NN, " Nodes", NE, " Elems" 

 ELSE 

 WRITE(K10,954) KTYPE(1), NN, " Nodes", NE, " Elems" 

 END IF 

 WRITE(K10,960) "FLUID SOURCE/SINK NODE RESULTS", KTMAX 

 DO 920 KT=1, KTMAX 

 WRITE(K10,961) ITT(KT), TT(KT) 

 920 CONTINUE 

 950 FORMAT("## ", 80A1, 

 1 /"## ", 80A1, 

 2 /"## ") 

 951 FORMAT("## ", I1, "-D, ", A, 2X, 

 1 "(", 2(I9, ")*("), I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 952 FORMAT("## ", I1, "-D, ", A, 14X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 953 FORMAT("## ", I1, "-D, LAYERED MESH [", A6, "]", 7X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 954 FORMAT("## ", I1, "-D, IRREGULAR MESH", 40X, I9, A, 1X, 

 1 "(", I9, A, ")" 

118
 2 /"## ") 

 960 FORMAT("## ", 92("="), 

 1 /"## ", A, 34X, I9, " Time steps printed", 

 2 /"## ", 92("="), 

 3 /"## ", 

 4 /"## ", 4X, "Time steps" 

 5 /"## ", 3X, "in this file Time (sec)" 

 6 /"## ", 2X, 14("-"), 3X, 13("-")) 

 961 FORMAT ("## ", 7X, I8, 4X, 1PE13.6) 

C 

C........DEALLOCATE LOCAL ARRAYS. 

 DEALLOCATE(TT,ITT) 

C 

 ONCEK10 = .TRUE. 

 ENDIF 

C 

C.....NODEWISE HEADER INFORMATION REPEATED BEFORE EACH TIME STEP 

 IF ((IT.EQ.0).OR.((IT.EQ.1).AND.(ISSTRA.EQ.1))) THEN 

 DURN = 0D0 

 TOUT = TSTART 

 ELSE 

 DURN = DELT 

 TOUT = TSEC 

 END IF 

 WRITE(K10,966) IT, DURN, TOUT 

 966 FORMAT('## ', 

 1 /'## ', 92('='), 

 2 /'## TIME STEP ', I8, 22X, 'Duration: ', 1PE11.4, ' sec', 

 3 6X, 'Time: ', 1PE11.4, ' sec', 

 4 /'## ', 92('=')) 

 IF (ME .GT. 0) THEN 

 WRITE(K10,967) 

 ELSE 

 WRITE(K10,968) 

 END IF 

 967 FORMAT( 

 1 '## ',34X,'Specified',9X,'Temperature of',14X,'Resultant' 

 2 /'## ',24X,'source/sink(+/-) of',6X,'fluid source/sink', 

 3 4X,'source/sink(+/-) of' 

 4 /'## Node Defined in', 

 5 7X,'fluid (mass/sec)',14X,'(degrees)', 

 6 4X,'energy (energy/sec)') 

 968 FORMAT( 

 1 '## ',34X,'Specified',9X,'Solute conc of',14X,'Resultant' 

 2 /'## ',24X,'source/sink(+/-) of',6X,'fluid source/sink', 

 3 4X,'source/sink(+/-) of' 

 4 /'## Node Defined in', 

 5 7X,'fluid (mass/sec)',5X,'(sol mass/fl mass)', 

 6 6X,'solute (mass/sec)') 

C 

C.....BOUNDARY CONDITION INFORMATION FOR THIS TIME STEP 

 NSOPI=NSOP-1 

 IF (NSOPI.GT.0) THEN 

 DO 990 IQP=1,NSOPI 

 I=IABS(IQSOP(IQP)) 

 IF (QINITR(I).LE.0D0) THEN 

 UU = UVEC(I) 

 UUCUT = CUTSML(UU) 

 ELSE 

 UU = UIN(I) 

 UUCUT = UU 

 END IF 

 QU=QINITR(I)*CW*UU 

119
 IBC = IBCSOP(IQP) 

 IF (IBC.NE.2) THEN 

 WRITE(K10,980) I,BCDSTR(IBC),QIN(I),UUCUT,CUTSML(QU) 

 980 FORMAT(I9,4X,A10,3(8X,1PE15.7)) 

 ELSE IF (KINACT.EQ.1) THEN 

 WRITE(K10,982) I,BCDSTR(IBC),"INACTIVE","INACTIVE","INACTIVE" 

 982 FORMAT(I9,4X,A10,3(15X,A8)) 

 END IF 

 990 CONTINUE 

 END IF 

C 

 RETURN 

C 

 END 

Subroutine OUTBCOP

C SUBROUTINE O U T B C O P SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO PRINT BOUNDARY CONDITION INFORMATION AT SPECIFIED PRESSURE 

C *** NODES IN A FLEXIBLE, COLUMNWISE FORMAT. OUTPUT IS TO THE 

C *** BCOP FILE. 

C 

 SUBROUTINE OUTBCOP(PVEC,UVEC,PBC,UBC,QPLITR,GNUP1,IPBC,IBCPBC, 

 1 TITLE1,TITLE2,PITER) 

 USE EXPINT 

 USE SCHDEF 

 USE DRNDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER*1 TITLE1(80),TITLE2(80) 

 CHARACTER*14 CTYPE2 

 CHARACTER*80 LAYSTR 

 CHARACTER*10 BCDSTR(-1:2) 

 CHARACTER*40 CDUM40 

 LOGICAL ONCEK10,ONCEK11,ONCEK12,ONCEK13 

 INTEGER(1) IBCPBC(NBCN) 

 DIMENSION PVEC(NNVEC),UVEC(NNVEC),PBC(NBCN),UBC(NBCN),PITER(NNVEC) 

 DIMENSION QPLITR(NBCN),GNUP1(NBCN) 

 DIMENSION IPBC(NBCN) 

 DIMENSION KTYPE(2) 

 ALLOCATABLE TT(:),ITT(:) 

 TYPE (LLD), POINTER :: DENTS 

 COMMON /CLAY/ LAYSTR 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMLAY/ NLAYS,NNLAY,NELAY 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /DIMX/ NWI,NWF,NWL,NELT,NNNX,NEX,N48 

 COMMON /DIMX2/ NELTA,NNVEC,NDIMIA,NDIMJA 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /GRAVEC/ GRAVX,GRAVY,GRAVZ 

 COMMON /ITERAT/ RPM,RPMAX,RUM,RUMAX,ITER,ITRMAX,IPWORS,IUWORS 

 COMMON /JCOLS/ NCOLPR,LCOLPR,NCOLS5,NCOLS6,J5COL,J6COL 

 COMMON /KPRBCS/ KINACT 

 COMMON /KPRINT/ KNODAL,KELMNT,KINCID,KPLOTP,KPLOTU, 

 1 KPANDS,KVEL,KCORT,KBUDG,KSCRN,KPAUSE 

120
 COMMON /PARAMS/ COMPFL,COMPMA,DRWDU,CW,CS,RHOS,SIGMAW,SIGMAS, 

 1 RHOW0,URHOW0,VISC0,PRODF1,PRODS1,PRODF0,PRODS0,CHI1,CHI2 

 COMMON /PLT2/ ONCEK10, ONCEK11, ONCEK12, ONCEK13 

 COMMON /SCH/ NSCH,ISCHTS 

 COMMON /SOLVI/ KSOLVP,KSOLVU,NN1,NN2,NN3 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

 DATA (BCDSTR(M),M=-1,2) 

 1 /' BCTIME',' INP',' BCS',' BCS'/ 

 SAVE BCDSTR 

C 

C.....CALCULATE HEADERS ON FIRST CALL AND CREATE OUTPUT ON EACH CALL. 

C 

C 

 IF (.NOT. ONCEK12) THEN 

C.....FIRST CALL -- CREATE FILE HEADER. 

C 

C........CALCULATE THE MAXIMUM NUMBER OF TIME STEPS, KTMAX. 

 KT=0 

 DO 4 JT=1,ITMAX 

 IF (MOD(JT,NBCPPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCPPR.GT.0)))) 

 2 KT = KT + 1 

 4 CONTINUE 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCPPR).NE.0) KT = KT + 1 

 KTMAX = KT 

C 

C........ALLOCATE LOCAL ARRAYS 

 ALLOCATE(TT(KTMAX),ITT(KTMAX)) 

C 

C........CALCULATE AND PRINT TIME STEP INFORMATION 

 TS=TSTART 

C........TIME STEP VALUE 

 JT=0 

C........NUMBER OF PRINTED TIME STEPS 

 KT=0 

C........TIME STEP INCREMENT 

 DELTK=DELT 

 DENTS => SCHDLS(ISCHTS)%SLIST 

 DO 10 JT=1,ITMAX 

 DENTS => DENTS%NENT 

 TS = DENTS%DVALU1 

 IF (MOD(JT,NBCPPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCPPR.GT.0)))) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = JT 

 ENDIF 

 10 CONTINUE 

 IF (ISSTRA.EQ.1) TT(KT) = TSTART 

C 

C 

C........PRINT LAST TIME STEP ALWAYS, UNLESS ALREADY PRINTED 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCPPR).NE.0) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = ITMAX 

 ENDIF 

C 

C........WRITE HEADER INFORMATION 

 WRITE(K12,950) TITLE1, TITLE2 

 IF (KTYPE(2).GT.1) THEN 

 IF (KTYPE(2).EQ.3) THEN 

121
 CTYPE2 = "BLOCKWISE MESH" 

 ELSE 

 CTYPE2 = "REGULAR MESH " 

 END IF 

 IF (KTYPE(1).EQ.3) THEN 

 WRITE(K12,951) KTYPE(1),CTYPE2,NN1,NN2,NN3,NN," Nodes", 

 1 NE, " Elems" 

 ELSE 

 WRITE(K12,952) KTYPE(1),CTYPE2,NN1,NN2,NN," Nodes", 

 1 NE, " Elems" 

 END IF 

 ELSE IF (KTYPE(2).EQ.1) THEN 

 WRITE(K12,953) KTYPE(1), LAYSTR(1:6), NLAYS, NNLAY, 

 1 NN, " Nodes", NE, " Elems" 

 ELSE 

 WRITE(K12,954) KTYPE(1), NN, " Nodes", NE, " Elems" 

 END IF 

 WRITE(K12,960) "SPECIFIED-PRESSURE NODE RESULTS", KTMAX 

 DO 920 KT=1, KTMAX 

 WRITE(K12,961) ITT(KT), TT(KT) 

 920 CONTINUE 

 950 FORMAT("## ", 80A1, 

 1 /"## ", 80A1, 

 2 /"## ") 

 951 FORMAT("## ", I1, "-D, ", A, 2X, 

 1 "(", 2(I9, ")*("), I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 952 FORMAT("## ", I1, "-D, ", A, 14X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 953 FORMAT("## ", I1, "-D, LAYERED MESH [", A6, "]", 7X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 954 FORMAT("## ", I1, "-D, IRREGULAR MESH", 40X, I9, A, 1X, 

 1 "(", I9, A, ")" 

 2 /"## ") 

 960 FORMAT("## ", 92("="), 

 1 /"## ", A, 33X, I9, " Time steps printed", 

 2 /"## ", 92("="), 

 3 /"## ", 

 4 /"## ", 4X, "Time steps" 

 5 /"## ", 3X, "in this file Time (sec)" 

 6 /"## ", 2X, 14("-"), 3X, 13("-")) 

 961 FORMAT ("## ", 7X, I8, 4X, 1PE13.6) 

C 

C........DEALLOCATE LOCAL ARRAYS. 

 DEALLOCATE(TT,ITT) 

C 

 ONCEK12 = .TRUE. 

 ENDIF 

C 

C.....NODEWISE HEADER INFORMATION REPEATED BEFORE EACH TIME STEP 

 IF ((IT.EQ.0).OR.((IT.EQ.1).AND.(ISSTRA.EQ.1))) THEN 

 DURN = 0D0 

 TOUT = TSTART 

 ELSE 

 DURN = DELT 

 TOUT = TSEC 

 END IF 

 WRITE(K12,966) IT, DURN, TOUT 

122
 966 FORMAT('## ', 

 1 /'## ', 147('='), 

 2 /'## TIME STEP ', I8, 77X, 'Duration: ', 1PE11.4, ' sec', 

 3 6X, 'Time: ', 1PE11.4, ' sec', 

 4 /'## ', 147('=')) 

 IF (ME .GT. 0) THEN 

 WRITE(K12,967) 

 ELSE 

 WRITE(K12,968) 

 END IF 

 967 FORMAT( 

 1 '## ',34X,'Resultant',9X,'Temperature of',14X,'Resultant' 

 2 /'## ',24X,'source/sink(+/-) of',6X,'fluid source/sink', 

 3 4X,'source/sink(+/-) of',52X,'Digits' 

 4 /'## Node Defined in', 

 5 7X,'fluid (mass/sec)',14X,'(degrees)', 

 6 4X,'energy (energy/sec)',6X,'Computed pressure', 

 7 5X,'Specified pressure',5X,'matched') 

 968 FORMAT( 

 1 '## ',34X,'Resultant',9X,'Solute conc of',14X,'Resultant' 

 2 /'## ',24X,'source/sink(+/-) of',6X,'fluid source/sink', 

 3 4X,'source/sink(+/-) of',52X,'Digits' 

 4 /'## Node Defined in', 

 5 7X,'fluid (mass/sec)',5X,'(sol mass/fl mass)', 

 6 6X,'solute (mass/sec)',6X,'Computed pressure', 

 7 5X,'Specified pressure',5X,'matched') 

C 

C.....BOUNDARY CONDITION INFORMATION FOR THIS TIME STEP 

 IF (NPBC.GT.0) THEN 

 WRITE(CDUM40,*) DBLE(-1) 

 NDALL = LEN_TRIM(ADJUSTL(CDUM40)) - 2 

 DO 990 IP=1,NPBC 

 I=IABS(IPBC(IP)) 

 PNUM = MAX(ABS(PBC(IP)),ABS(PVEC(I))) 

 PDEN = ABS(PVEC(I) - PBC(IP)) 

 IF ((PNUM.NE.0D0).AND.(PDEN.NE.0D0)) THEN 

 NDIG = INT(LOG10(PNUM/PDEN)) 

 ELSE 

 NDIG = NDALL 

 END IF 

 IF (.NOT.ISDRAIN(IP)) THEN 

 QPL = GNUP1(IP)*(PBC(IP)-PVEC(I)) 

 ELSE 

 IF (PITER(I).LT.PBC(IP)) THEN 

 QPL = GNUP1(IP)*(PBC(IP)-PVEC(I)) 

 ELSE 

 QPL = 0D0 

 END IF 

 END IF 

 IF (QPLITR(IP).LE.0D0) THEN 

 UU = UVEC(I) 

 UUCUT = CUTSML(UU) 

 ELSE 

 UU = UBC(IP) 

 UUCUT = UU 

 END IF 

 QPU=QPLITR(IP)*CW*UU 

 IBC = IBCPBC(IP) 

 IF (IBC.NE.2) THEN 

 WRITE(K12,980) I,BCDSTR(IBC), 

 1 CUTSML(QPL),UUCUT,CUTSML(QPU), 

 2 CUTSML(PVEC(I)),PBC(IP),NDIG 

 980 FORMAT(I9,4X,A10,3(8X,1PE15.7),2(8X,1PE15.8),10X,I2) 

123
 ELSE IF (KINACT.EQ.1) THEN 

 WRITE(K12,982) I,BCDSTR(IBC),"INACTIVE","INACTIVE","INACTIVE", 

 1 "INACTIVE","INACTIVE","INACTIVE" 

 982 FORMAT(I9,4X,A10,5(15X,A8),4X,A8) 

 END IF 

 990 CONTINUE 

 END IF 

C 

 RETURN 

C 

 END 

Subroutine OUTBCOS

C SUBROUTINE O U T B C O S SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO PRINT BOUNDARY CONDITION INFORMATION AT SOLUTE/ENERGY 

C *** SOURCE/SINK NODES IN A FLEXIBLE, COLUMNWISE FORMAT. OUTPUT IS 

C *** TO THE BCOS FILE. 

C 

 SUBROUTINE OUTBCOS(QUIN,IQSOU,IBCSOU,TITLE1,TITLE2) 

 USE EXPINT 

 USE SCHDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER*1 TITLE1(80),TITLE2(80) 

 CHARACTER*14 CTYPE2 

 CHARACTER*80 LAYSTR 

 CHARACTER*10 BCDSTR(-1:2) 

 LOGICAL ONCEK10,ONCEK11,ONCEK12,ONCEK13 

 INTEGER(1) IBCSOU(NSOU) 

 DIMENSION QUIN(NN),IQSOU(NSOU) 

 DIMENSION KTYPE(2) 

 ALLOCATABLE TT(:),ITT(:) 

 TYPE (LLD), POINTER :: DENTS 

 COMMON /CLAY/ LAYSTR 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMLAY/ NLAYS,NNLAY,NELAY 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /DIMX/ NWI,NWF,NWL,NELT,NNNX,NEX,N48 

 COMMON /DIMX2/ NELTA,NNVEC,NDIMIA,NDIMJA 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /GRAVEC/ GRAVX,GRAVY,GRAVZ 

 COMMON /ITERAT/ RPM,RPMAX,RUM,RUMAX,ITER,ITRMAX,IPWORS,IUWORS 

 COMMON /JCOLS/ NCOLPR,LCOLPR,NCOLS5,NCOLS6,J5COL,J6COL 

 COMMON /KPRBCS/ KINACT 

 COMMON /KPRINT/ KNODAL,KELMNT,KINCID,KPLOTP,KPLOTU, 

 1 KPANDS,KVEL,KCORT,KBUDG,KSCRN,KPAUSE 

 COMMON /PARAMS/ COMPFL,COMPMA,DRWDU,CW,CS,RHOS,SIGMAW,SIGMAS, 

 1 RHOW0,URHOW0,VISC0,PRODF1,PRODS1,PRODF0,PRODS0,CHI1,CHI2 

 COMMON /PLT2/ ONCEK10, ONCEK11, ONCEK12, ONCEK13 

 COMMON /SCH/ NSCH,ISCHTS 

 COMMON /SOLVI/ KSOLVP,KSOLVU,NN1,NN2,NN3 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

 DATA (BCDSTR(M),M=-1,2) 

124
 1 /' BCTIME',' INP',' BCS',' BCS'/ 

 SAVE BCDSTR 

C 

C.....CALCULATE HEADERS ON FIRST CALL AND CREATE OUTPUT ON EACH CALL. 

C 

C 

 IF (.NOT. ONCEK11) THEN 

C.....FIRST CALL -- CREATE FILE HEADER. 

C 

C........CALCULATE THE MAXIMUM NUMBER OF TIME STEPS, KTMAX. 

 KT=0 

 DO 4 JT=1,ITMAX 

 IF (MOD(JT,NBCSPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCSPR.GT.0)))) 

 2 KT = KT + 1 

 4 CONTINUE 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCSPR).NE.0) KT = KT + 1 

 KTMAX = KT 

C 

C........ALLOCATE LOCAL ARRAYS 

 ALLOCATE(TT(KTMAX),ITT(KTMAX)) 

C 

C........CALCULATE AND PRINT TIME STEP INFORMATION 

 TS=TSTART 

C........TIME STEP VALUE 

 JT=0 

C........NUMBER OF PRINTED TIME STEPS 

 KT=0 

C........TIME STEP INCREMENT 

 DELTK=DELT 

 DENTS => SCHDLS(ISCHTS)%SLIST 

 DO 10 JT=1,ITMAX 

 DENTS => DENTS%NENT 

 TS = DENTS%DVALU1 

 IF (MOD(JT,NBCSPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCSPR.GT.0)))) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = JT 

 ENDIF 

 10 CONTINUE 

 IF (ISSTRA.EQ.1) TT(KT) = TSTART 

C 

C 

C........PRINT LAST TIME STEP ALWAYS, UNLESS ALREADY PRINTED 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCSPR).NE.0) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = ITMAX 

 ENDIF 

C 

C........WRITE HEADER INFORMATION 

 WRITE(K11,950) TITLE1, TITLE2 

 IF (KTYPE(2).GT.1) THEN 

 IF (KTYPE(2).EQ.3) THEN 

 CTYPE2 = "BLOCKWISE MESH" 

 ELSE 

 CTYPE2 = "REGULAR MESH " 

 END IF 

 IF (KTYPE(1).EQ.3) THEN 

 WRITE(K11,951) KTYPE(1),CTYPE2,NN1,NN2,NN3,NN," Nodes", 

 1 NE, " Elems" 

 ELSE 

125
 WRITE(K11,952) KTYPE(1),CTYPE2,NN1,NN2,NN," Nodes", 

 1 NE, " Elems" 

 END IF 

 ELSE IF (KTYPE(2).EQ.1) THEN 

 WRITE(K11,953) KTYPE(1), LAYSTR(1:6), NLAYS, NNLAY, 

 1 NN, " Nodes", NE, " Elems" 

 ELSE 

 WRITE(K11,954) KTYPE(1), NN, " Nodes", NE, " Elems" 

 END IF 

 IF (ME.GT.0) THEN 

 WRITE(K11,960) "ENERGY SOURCE/SINK NODE RESULTS", KTMAX 

 ELSE 

 WRITE(K11,960) "SOLUTE SOURCE/SINK NODE RESULTS", KTMAX 

 END IF 

 DO 920 KT=1, KTMAX 

 WRITE(K11,961) ITT(KT), TT(KT) 

 920 CONTINUE 

 950 FORMAT("## ", 80A1, 

 1 /"## ", 80A1, 

 2 /"## ") 

 951 FORMAT("## ", I1, "-D, ", A, 2X, 

 1 "(", 2(I9, ")*("), I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 952 FORMAT("## ", I1, "-D, ", A, 14X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 953 FORMAT("## ", I1, "-D, LAYERED MESH [", A6, "]", 7X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 954 FORMAT("## ", I1, "-D, IRREGULAR MESH", 40X, I9, A, 1X, 

 1 "(", I9, A, ")" 

 2 /"## ") 

 960 FORMAT("## ", 92("="), 

 1 /"## ", A, 33X, I9, " Time steps printed", 

 2 /"## ", 92("="), 

 3 /"## ", 

 4 /"## ", 4X, "Time steps" 

 5 /"## ", 3X, "in this file Time (sec)" 

 6 /"## ", 2X, 14("-"), 3X, 13("-")) 

 961 FORMAT ("## ", 7X, I8, 4X, 1PE13.6) 

C 

C........DEALLOCATE LOCAL ARRAYS. 

 DEALLOCATE(TT,ITT) 

C 

 ONCEK11 = .TRUE. 

 ENDIF 

C 

C.....NODEWISE HEADER INFORMATION REPEATED BEFORE EACH TIME STEP 

 IF ((IT.EQ.0).OR.((IT.EQ.1).AND.(ISSTRA.EQ.1))) THEN 

 DURN = 0D0 

 TOUT = TSTART 

 ELSE 

 DURN = DELT 

 TOUT = TSEC 

 END IF 

 WRITE(K11,966) IT, DURN, TOUT 

 966 FORMAT('## ', 

 1 /'## ', 92('='), 

 2 /'## TIME STEP ', I8, 22X, 'Duration: ', 1PE11.4, ' sec', 

 3 6X, 'Time: ', 1PE11.4, ' sec', 

126
 4 /'## ', 92('=')) 

 IF (ME .GT. 0) THEN 

 WRITE(K11,967) 

 ELSE 

 WRITE(K11,968) 

 END IF 

 967 FORMAT( 

 1 '## ',34X,'Specified' 

 2 /'## ',24X,'source/sink(+/-) of' 

 4 /'## Node Defined in', 

 5 4X,'energy (energy/sec)') 

 968 FORMAT( 

 1 '## ',34X,'Specified' 

 2 /'## ',24X,'source/sink(+/-) of' 

 4 /'## Node Defined in', 

 5 6X,'solute (mass/sec)') 

C 

C.....BOUNDARY CONDITION INFORMATION FOR THIS TIME STEP 

 NSOUI=NSOU-1 

 IF (NSOUI.GT.0) THEN 

 DO 990 IQU=1,NSOUI 

 I=IABS(IQSOU(IQU)) 

 IBC = IBCSOU(IQU) 

 IF (IBC.NE.2) THEN 

 WRITE(K11,980) I,BCDSTR(IBC),QUIN(I) 

 980 FORMAT(I9,4X,A10,8X,1PE15.7) 

 ELSE IF (KINACT.EQ.1) THEN 

 WRITE(K11,982) I,BCDSTR(IBC),"INACTIVE" 

 982 FORMAT(I9,4X,A10,15X,A8) 

 END IF 

 990 CONTINUE 

 END IF 

C 

 RETURN 

C 

 END 

Subroutine OUTBCOU

C SUBROUTINE O U T B C O U SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO PRINT BOUNDARY CONDITION INFORMATION AT SPECIFIED CONC/TEMP 

C *** NODES IN A FLEXIBLE, COLUMNWISE FORMAT. OUTPUT IS TO THE 

C *** BCOU FILE. 

C 

 SUBROUTINE OUTBCOU(UVEC,UBC,GNUU1,IUBC,IBCUBC,TITLE1,TITLE2) 

 USE EXPINT 

 USE SCHDEF 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER*1 TITLE1(80),TITLE2(80) 

 CHARACTER*14 CTYPE2 

 CHARACTER*80 LAYSTR 

 CHARACTER*10 BCDSTR(-1:2) 

 CHARACTER*40 CDUM40 

 LOGICAL ONCEK10,ONCEK11,ONCEK12,ONCEK13 

 INTEGER(1) IBCUBC(NBCN) 

 DIMENSION UVEC(NNVEC),UBC(NBCN),GNUU1(NBCN) 

 DIMENSION IUBC(NBCN) 

 DIMENSION KTYPE(2) 

127
 ALLOCATABLE TT(:),ITT(:) 

 TYPE (LLD), POINTER :: DENTS 

 COMMON /CLAY/ LAYSTR 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMLAY/ NLAYS,NNLAY,NELAY 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /DIMX/ NWI,NWF,NWL,NELT,NNNX,NEX,N48 

 COMMON /DIMX2/ NELTA,NNVEC,NDIMIA,NDIMJA 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /GRAVEC/ GRAVX,GRAVY,GRAVZ 

 COMMON /ITERAT/ RPM,RPMAX,RUM,RUMAX,ITER,ITRMAX,IPWORS,IUWORS 

 COMMON /JCOLS/ NCOLPR,LCOLPR,NCOLS5,NCOLS6,J5COL,J6COL 

 COMMON /KPRBCS/ KINACT 

 COMMON /KPRINT/ KNODAL,KELMNT,KINCID,KPLOTP,KPLOTU, 

 1 KPANDS,KVEL,KCORT,KBUDG,KSCRN,KPAUSE 

 COMMON /PARAMS/ COMPFL,COMPMA,DRWDU,CW,CS,RHOS,SIGMAW,SIGMAS, 

 1 RHOW0,URHOW0,VISC0,PRODF1,PRODS1,PRODF0,PRODS0,CHI1,CHI2 

 COMMON /PLT2/ ONCEK10, ONCEK11, ONCEK12, ONCEK13 

 COMMON /SCH/ NSCH,ISCHTS 

 COMMON /SOLVI/ KSOLVP,KSOLVU,NN1,NN2,NN3 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

 DATA (BCDSTR(M),M=-1,2) 

 1 /' BCTIME',' INP',' BCS',' BCS'/ 

 SAVE BCDSTR 

C 

C.....CALCULATE HEADERS ON FIRST CALL AND CREATE OUTPUT ON EACH CALL. 

C 

C 

 IF (.NOT. ONCEK13) THEN 

C.....FIRST CALL -- CREATE FILE HEADER. 

C 

C........CALCULATE THE MAXIMUM NUMBER OF TIME STEPS, KTMAX. 

 KT=0 

 DO 4 JT=1,ITMAX 

 IF (MOD(JT,NBCUPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCUPR.GT.0)))) 

 2 KT = KT + 1 

 4 CONTINUE 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCUPR).NE.0) KT = KT + 1 

 KTMAX = KT 

C 

C........ALLOCATE LOCAL ARRAYS 

 ALLOCATE(TT(KTMAX),ITT(KTMAX)) 

C 

C........CALCULATE AND PRINT TIME STEP INFORMATION 

 TS=TSTART 

C........TIME STEP VALUE 

 JT=0 

C........NUMBER OF PRINTED TIME STEPS 

 KT=0 

C........TIME STEP INCREMENT 

 DELTK=DELT 

 DENTS => SCHDLS(ISCHTS)%SLIST 

 DO 10 JT=1,ITMAX 

 DENTS => DENTS%NENT 

 TS = DENTS%DVALU1 

 IF (MOD(JT,NBCUPR).EQ.0 .OR. 

 1 ((JT.EQ.1).AND.((ISSTRA.NE.0).OR.(NBCUPR.GT.0)))) THEN 

128
 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = JT 

 ENDIF 

 10 CONTINUE 

 IF (ISSTRA.EQ.1) TT(KT) = TSTART 

C 

C 

C........PRINT LAST TIME STEP ALWAYS, UNLESS ALREADY PRINTED 

 IF(ITMAX.GT.1 .AND. MOD(ITMAX,NBCUPR).NE.0) THEN 

 KT = KT + 1 

 TT(KT) = TS 

 ITT(KT) = ITMAX 

 ENDIF 

C 

C........WRITE HEADER INFORMATION 

 WRITE(K13,950) TITLE1, TITLE2 

 IF (KTYPE(2).GT.1) THEN 

 IF (KTYPE(2).EQ.3) THEN 

 CTYPE2 = "BLOCKWISE MESH" 

 ELSE 

 CTYPE2 = "REGULAR MESH " 

 END IF 

 IF (KTYPE(1).EQ.3) THEN 

 WRITE(K13,951) KTYPE(1),CTYPE2,NN1,NN2,NN3,NN," Nodes", 

 1 NE, " Elems" 

 ELSE 

 WRITE(K13,952) KTYPE(1),CTYPE2,NN1,NN2,NN," Nodes", 

 1 NE, " Elems" 

 END IF 

 ELSE IF (KTYPE(2).EQ.1) THEN 

 WRITE(K13,953) KTYPE(1), LAYSTR(1:6), NLAYS, NNLAY, 

 1 NN, " Nodes", NE, " Elems" 

 ELSE 

 WRITE(K13,954) KTYPE(1), NN, " Nodes", NE, " Elems" 

 END IF 

 IF (ME.GT.0) THEN 

 WRITE(K13,960) "SPECIFIED-TEMPERATURE NODE RESULTS ", KTMAX 

 ELSE 

 WRITE(K13,960) "SPECIFIED-CONCENTRATION NODE RESULTS", KTMAX 

 END IF 

 

 DO 920 KT=1, KTMAX 

 WRITE(K13,961) ITT(KT), TT(KT) 

 920 CONTINUE 

 950 FORMAT("## ", 80A1, 

 1 /"## ", 80A1, 

 2 /"## ") 

 951 FORMAT("## ", I1, "-D, ", A, 2X, 

 1 "(", 2(I9, ")*("), I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 952 FORMAT("## ", I1, "-D, ", A, 14X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 953 FORMAT("## ", I1, "-D, LAYERED MESH [", A6, "]", 7X, 

 1 "(", I9, ")*(", I9, ") = ", I9, A, 1X, 

 2 "(", I9, A, ")" 

 3 /"## ") 

 954 FORMAT("## ", I1, "-D, IRREGULAR MESH", 40X, I9, A, 1X, 

 1 "(", I9, A, ")" 

 2 /"## ") 

129
 960 FORMAT("## ", 92("="), 

 1 /"## ", A, 23X, I9, " Time steps printed", 

 2 /"## ", 92("="), 

 3 /"## ", 

 4 /"## ", 4X, "Time steps" 

 5 /"## ", 3X, "in this file Time (sec)" 

 6 /"## ", 2X, 14("-"), 3X, 13("-")) 

 961 FORMAT ("## ", 7X, I8, 4X, 1PE13.6) 

C 

C........DEALLOCATE LOCAL ARRAYS. 

 DEALLOCATE(TT,ITT) 

C 

 ONCEK13 = .TRUE. 

 ENDIF 

C 

C.....NODEWISE HEADER INFORMATION REPEATED BEFORE EACH TIME STEP 

 IF ((IT.EQ.0).OR.((IT.EQ.1).AND.(ISSTRA.EQ.1))) THEN 

 DURN = 0D0 

 TOUT = TSTART 

 ELSE 

 DURN = DELT 

 TOUT = TSEC 

 END IF 

 WRITE(K13,966) IT, DURN, TOUT 

 966 FORMAT('## ', 

 1 /'## ', 101('='), 

 2 /'## TIME STEP ', I8, 31X, 'Duration: ', 1PE11.4, ' sec', 

 3 6X, 'Time: ', 1PE11.4, ' sec', 

 4 /'## ', 101('=')) 

 IF (ME .GT. 0) THEN 

 WRITE(K13,967) 

 ELSE 

 WRITE(K13,968) 

 END IF 

 967 FORMAT( 

 1 '## ',34X,'Resultant' 

 2 /'## ',24X,'source/sink(+/-) of',52X,'Digits' 

 4 /'## Node Defined in', 

 5 4X,'energy (energy/sec)',10X,'Computed temp', 

 7 9X,'Specified temp',5X,'matched') 

 968 FORMAT( 

 1 '## ',34X,'Resultant' 

 2 /'## ',24X,'source/sink(+/-) of',52X,'Digits' 

 4 /'## Node Defined in', 

 5 6X,'solute (mass/sec)',10X,'Computed conc', 

 7 9X,'Specified conc',5X,'matched') 

C 

C.....BOUNDARY CONDITION INFORMATION FOR THIS TIME STEP 

 IF (NUBC.GT.0) THEN 

 WRITE(CDUM40,*) DBLE(-1) 

 NDALL = LEN_TRIM(ADJUSTL(CDUM40)) - 2 

 DO 990 IU=1,NUBC 

 IUP = IU + NPBC 

 I=IABS(IUBC(IUP)) 

 UNUM = MAX(ABS(UBC(IUP)),ABS(UVEC(I))) 

 UDEN = ABS(UVEC(I) - UBC(IUP)) 

 IF ((UNUM.NE.0D0).AND.(UDEN.NE.0D0)) THEN 

 NDIG = INT(LOG10(UNUM/UDEN)) 

 ELSE 

 NDIG = NDALL 

 END IF 

 IBC = IBCUBC(IUP) 

 QPL = GNUU1(IUP)*(UBC(IUP)-UVEC(I)) 

130
 IF (IBC.NE.2) THEN 

 WRITE(K13,980) I,BCDSTR(IBC), 

 1 CUTSML(QPL),CUTSML(UVEC(I)),UBC(IUP),NDIG 

 980 FORMAT(I9,4X,A10,8X,1PE15.7,2(8X,1PE15.8),10X,I2) 

 ELSE IF (KINACT.EQ.1) THEN 

 WRITE(K13,982) I,BCDSTR(IBC),"INACTIVE","INACTIVE","INACTIVE", 

 1 "INACTIVE" 

 982 FORMAT(I9,4X,A10,3(15X,A8),4X,A8) 

 END IF 

 990 CONTINUE 

 END IF 

C 

 RETURN 

C 

 END 

Function PUSWF

C FUNCTION P U S W F SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO INTERPOLATE P, U, AND SW AT A FRACTIONAL TIME STEP (BETWEEN 

C *** THE CURRENT AND PREVIOUS TIME STEPS) AND RETURN THE VALUES IN 

C *** AN ARRAY. 

C 

 FUNCTION PUSWF(L,XLOC,YLOC,ZLOC,ZG,SFRAC,PM1,UM1,PVEC,UVEC, 

 1 IN,LREG) 

 IMPLICIT DOUBLE PRECISION (A-H, O-Z) 

 DIMENSION PUSWF(3) 

 DIMENSION PM1(NN),UM1(NN),PVEC(NN),UVEC(NN) 

 DIMENSION IN(NIN),LREG(NE) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /PARAMS/ COMPFL,COMPMA,DRWDU,CW,CS,RHOS,SIGMAW,SIGMAS, 

 1 RHOW0,URHOW0,VISC0,PRODF1,PRODS1,PRODF0,PRODS0,CHI1,CHI2 

C 

C.....EVALUATE P AND U AT PREVIOUS AND CURRENT TIME STEPS 

 CALL PU(L,XLOC,YLOC,ZLOC,PM1,UM1,IN,P1,U1) 

 CALL PU(L,XLOC,YLOC,ZLOC,PVEC,UVEC,IN,P2,U2) 

C 

C.....INTERPOLATE P AND U AT FRACTIONAL TIME STEP 

 CSFRAC = 1D0 - SFRAC 

 PINT = CSFRAC*P1 + SFRAC*P2 

 PUSWF(1) = PINT 

 PUSWF(2) = CSFRAC*U1 + SFRAC*U2 

C 

C.....EVALUATE SW AT FRACTIONAL TIME STEP 

 SWINT = 1D0 

 IF (IUNSAT.NE.0) THEN 

 IF (SNGL(RHOW0).EQ.1.) THEN 

 PEQ = 9.81D3*(-PINT - ZG) 

 IF (PEQ.LT.0D0) THEN 

 IUNSAT = 3 

 CALL UNSAT(SWINT,DSWDP,RELK,PEQ,LREG(L)) 

C..............NOTE: DSWDP IS NOT NEEDED HERE 

 END IF 

 ELSE 

131
 PEQ = -PINT 

 IF (PEQ.LT.0D0) THEN 

 IUNSAT = 3 

 CALL UNSAT(SWINT,DSWDP,RELK,PEQ,LREG(L)) 

C..............NOTE: DSWDP IS NOT NEEDED HERE 

 END IF 

 END IF 

 END IF 

 PUSWF(3) = SWINT 

C 

 RETURN 

 END 

Subroutine SOURCE

C SUBROUTINE S O U R C E SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO READ AND ORGANIZE DEFAULT VALUES FOR FLUID MASS SOURCE DATA 

C *** AND ENERGY OR SOLUTE MASS SOURCE DATA. 

C 

 SUBROUTINE SOURCE(QIN,UIN,IQSOP,QUIN,IQSOU,IQSOPT,IQSOUT) 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER INTFIL*1000 

 CHARACTER*80 ERRCOD,CHERR(10),UNAME,FNAME(0:13) 

 DIMENSION KTYPE(2) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 DIMENSION QIN(NN),UIN(NN),IQSOP(NSOP),QUIN(NN),IQSOU(NSOU) 

 DIMENSION INERR(10),RLERR(10) 

C 

C.....NSOPI IS ACTUAL NUMBER OF FLUID SOURCE NODES. 

C.....NSOUI IS ACTUAL NUMBER OF SOLUTE MASS OR ENERGY SOURCE NODES. 

 NSOPI=NSOP-1 

 NSOUI=NSOU-1 

 IQSOPT=1 

 IQSOUT=1 

 NIQP=0 

 NIQU=0 

 IF(NSOPI.EQ.0) GOTO 1000 

 IF(ME) 50,50,150 

 50 WRITE(K3,100) 

 100 FORMAT('1'////11X,'F L U I D S O U R C E D A T A' 

 1 ////11X,'**** NODES AT WHICH FLUID INFLOWS OR OUTFLOWS ARE ', 

 2 'SPECIFIED  ' 

 3 //16X,13X,'DEFAULT FLUID',5X,'DEFAULT CONCENTRATION' 

 4 /16X,6X,'INFLOW(+)/OUTFLOW(-)',8X,'OF INFLOWING FLUID' 

 5 /12X,'NODE',7X,'(FLUID MASS/SECOND)',2X, 

 6 '(MASS SOLUTE/MASS WATER)'//) 

 GOTO 300 

 150 WRITE(K3,200) 

 200 FORMAT('1'////11X,'F L U I D S O U R C E D A T A' 

 1 ////11X,'** ** NODES AT WHICH FLUID INFLOWS OR OUTFLOWS ARE ', 

 2 'SPECIFIED ****' 

132
 3 //16X,13X,'DEFAULT FLUID',5X,' DEFAULT TEMPERATURE' 

 4 /16X,6X,'INFLOW(+)/OUTFLOW(-)',8X,'OF INFLOWING FLUID' 

 5 /12X,'NODE',7X,'(FLUID MASS/SECOND)',2X, 

 6 ' (DEGREES CELSIUS)'//) 

C 

C.....INPUT DATASET 17: DATA FOR FLUID SOURCES AND SINKS 

 300 CONTINUE 

 305 NIQP=NIQP+1 

 ERRCOD = 'REA-INP-17' 

 CALL READIF(K1, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCP 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IQCPA = IABS(IQCP) 

 IF (IQCP.EQ.0) THEN 

 GOTO 700 

 ELSE IF (IQCPA.GT.NN) THEN 

 ERRCOD = 'INP-17-1' 

 INERR(1) = IQCPA 

 INERR(2) = NN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (NIQP.GT.NSOPI) THEN 

 GOTO 305 

 END IF 

 ERRCOD = 'REA-INP-17' 

 IF (IQCP.GT.0) THEN 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCP,QINC 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IF (QINC.GT.0D0) THEN 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCP,QINC,UINC 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 END IF 

 IQSOP(NIQP)=IQCP 

 IF(IQCP.LT.0) IQSOPT=-1 

 IQP=IABS(IQCP) 

 QIN(IQP)=QINC 

 UIN(IQP)=UINC 

 IF(IQCP.GT.0) GOTO 450 

 WRITE(K3,500) IQCP 

 GOTO 600 

 450 IF(QINC.GT.0) GOTO 460 

 WRITE(K3,500) IQCP,QINC 

 GOTO 600 

 460 WRITE(K3,500) IQCP,QINC,UINC 

 500 FORMAT(7X,I9,6X,1PE20.13,6X,1PE20.13) 

 600 GOTO 305 

 700 NIQP = NIQP - 1 

 IF(NIQP.EQ.NSOPI) GOTO 800 

 ERRCOD = 'INP-3,17-1' 

 INERR(1) = NIQP 

 INERR(2) = NSOPI 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 800 IF(IQSOPT.NE.-1) GOTO 950 

 IF(ME) 805,805,815 

 805 WRITE(K3,806) 

 806 FORMAT(//12X,'TIME-DEPENDENT FLUID SOURCE/SINK OR INFLOW ', 

 1 'CONCENTRATION'/12X,'SET IN SUBROUTINE BCTIME IS INDICATED ', 

 2 'BY NEGATIVE NODE NUMBER') 

 GOTO 950 

 815 WRITE(K3,816) 

 816 FORMAT(//12X,'TIME-DEPENDENT FLUID SOURCE/SINK OR INFLOW ', 

 1 'TEMPERATURE'/12X,'SET IN SUBROUTINE BCTIME IS INDICATED ', 

 2 'BY NEGATIVE NODE NUMBER') 

133
 950 WRITE(K3,952) 

 952 FORMAT(/11X,'SPECIFICATIONS (IF ANY) MADE IN THE ', 

 1 'OPTIONAL BCS INPUT FILE TAKE PRECEDENCE OVER THE'/11X, 

 2 'DEFAULT VALUES LISTED ABOVE AND ANY VALUES ', 

 3 'SET IN SUBROUTINE BCTIME.') 

C 

C 

C 

 1000 IF(NSOUI.EQ.0) GOTO 9000 

 IF(ME) 1050,1050,1150 

 1050 WRITE(K3,1100) 

 1100 FORMAT(////////11X,'S O L U T E S O U R C E D A T A' 

 1 ////11X,'**** NODES AT WHICH SOURCES OR SINKS OF SOLUTE ', 

 2 'MASS ARE SPECIFIED  ' 

 3 //16X,12X,'DEFAULT SOLUTE'/16X,9X,'SOURCE(+)/SINK(-)' 

 4 /12X,'NODE',6X,'(SOLUTE MASS/SECOND)'//) 

 GOTO 1305 

 1150 WRITE(K3,1200) 

 1200 FORMAT(////////11X,'E N E R G Y S O U R C E D A T A' 

 1 ////11X,'** ** NODES AT WHICH SOURCES OR SINKS OF ', 

 2 'ENERGY ARE SPECIFIED ****' 

 3 //16X,12X,'DEFAULT ENERGY'/16X,9X,'SOURCE(+)/SINK(-)' 

 4 /12X,'NODE',11X,'(ENERGY/SECOND)'//) 

C 

C.....INPUT DATASET 18: DATA FOR ENERGY OR SOLUTE MASS SOURCES OR SINKS 

 1305 NIQU=NIQU+1 

 ERRCOD = 'REA-INP-18' 

 CALL READIF(K1, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCU 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IQCUA = IABS(IQCU) 

 IF (IQCU.EQ.0) THEN 

 GOTO 1700 

 ELSE IF (IQCUA.GT.NN) THEN 

 ERRCOD = 'INP-18-1' 

 INERR(1) = IQCUA 

 INERR(2) = NN 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (NIQU.GT.NSOUI) THEN 

 GOTO 1305 

 END IF 

 IF (IQCU.GT.0) THEN 

 ERRCOD = 'REA-INP-18' 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCU,QUINC 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 IQSOU(NIQU)=IQCU 

 IF(IQCU.LT.0) IQSOUT=-1 

 IQU=IABS(IQCU) 

 QUIN(IQU)=QUINC 

 IF(IQCU.GT.0) GOTO 1450 

 WRITE(K3,1500) IQCU 

 GOTO 1600 

 1450 WRITE(K3,1500) IQCU,QUINC 

 1500 FORMAT(7X,I9,6X,1PE20.13) 

 1600 GOTO 1305 

 1700 NIQU = NIQU - 1 

 IF(NIQU.EQ.NSOUI) GOTO 1800 

 ERRCOD = 'INP-3,18-1' 

 IF (ME.EQ.1) THEN 

 CHERR(1) = 'energy' 

 ELSE 

 CHERR(1) = 'solute' 

134
 END IF 

 INERR(1) = NIQU 

 INERR(2) = NSOUI 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 1800 IF(IQSOPT.NE.-1) GOTO 6000 

 IF(ME) 1805,1805,1815 

 1805 WRITE(K3,1806) 

 1806 FORMAT(//12X,'TIME-DEPENDENT SOLUTE SOURCE/SINK SET IN ', 

 1 /12X,'SUBROUTINE BCTIME IS INDICATED ', 

 2 'BY NEGATIVE NODE NUMBER') 

 GOTO 6000 

 1815 WRITE(K3,1816) 

 1816 FORMAT(//12X,'TIME-DEPENDENT ENERGY SOURCE/SINK SET IN ', 

 1 /12X,'SUBROUTINE BCTIME IS INDICATED ', 

 2 'BY NEGATIVE NODE NUMBER') 

 6000 WRITE(K3,952) 

C 

C 

 9000 RETURN 

C 

 END 

Subroutine SOURCE1

C SUBROUTINE S O U R C E 1 SUTRA VERSION 2.2 

C 

C *** PURPOSE : 

C *** TO READ AND ORGANIZE TIME-DEPENDENT FLUID MASS SOURCE DATA AND 

C *** ENERGY OR SOLUTE MASS SOURCE DATA SPECIFIED IN THE OPTIONAL 

C *** BCS INPUT FILE. 

C 

 SUBROUTINE SOURCE1(QIN1,UIN1,IQSOP1,QUIN1,IQSOU1,IQSOPT1,IQSOUT1, 

 1 NSOP1,NSOU1) 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 CHARACTER INTFIL*1000 

 CHARACTER*80 ERRCOD,CHERR(10),UNAME,FNAME(0:13) 

 DIMENSION KTYPE(2) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

 COMMON /DIMS/ NN,NE,NIN,NBI,NCBI,NB,NBHALF,NPBC,NUBC, 

 1 NSOP,NSOU,NBCN 

 COMMON /FNAMES/ UNAME,FNAME 

 COMMON /FUNITS/ K00,K0,K1,K2,K3,K4,K5,K6,K7,K8,K9, 

 1 K10,K11,K12,K13 

 COMMON /TIMES/ DELT,TSEC,TMIN,THOUR,TDAY,TWEEK,TMONTH,TYEAR, 

 1 TMAX,DELTP,DELTU,DLTPM1,DLTUM1,IT,ITMAX,TSTART 

 DIMENSION QIN1(NN),UIN1(NN),IQSOP1(NSOP1) 

 DIMENSION QUIN1(NN),IQSOU1(NSOU1) 

 DIMENSION INERR(10),RLERR(10) 

C 

C.....NSOPI1 IS ACTUAL NUMBER OF TIME-STEP-DEPENDENT FLUID SOURCE NODES. 

C.....NSOUI1 IS ACTUAL NUMBER OF TIME_STEP_DEPENDENT SOLUTE MASS OR 

C ENERGY SOURCE NODES. 

 NSOPI1=NSOP1 - 1 

 NSOUI1=NSOU1 - 1 

C 

 NIQP = 0 

 NIQU = 0 

 IQSOPT1 = +1 

135
 IQSOUT1 = +1 

C 

 IF (NSOPI1.EQ.0) GOTO 1000 

C 

C.....INPUT BCS DATASET 2: DATA FOR FLUID SOURCES AND SINKS 

 IQSOPT1 = -1 

 305 NIQP = NIQP + 1 

 ERRCOD = 'REA-BCS-2' 

 CALL READIF(K9, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCP 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IQCPA = IABS(IQCP) 

 IF (IQCP.EQ.0) THEN 

 GOTO 700 

 ELSE IF (IQCPA.GT.NN) THEN 

 ERRCOD = 'BCS-2-1' 

 INERR(1) = IQCPA 

 INERR(2) = NN 

 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (NIQP.GT.NSOPI1) THEN 

 GOTO 305 

 END IF 

 ERRCOD = 'REA-BCS-2' 

 IF (IQCP.GT.0) THEN 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCP,QINC 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IF (QINC.GT.0D0) THEN 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCP,QINC,UINC 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 END IF 

 IQSOP1(NIQP)=IQCP 

 IQP=IABS(IQCP) 

 QIN1(IQP)=QINC 

 UIN1(IQP)=UINC 

 600 GOTO 305 

 700 NIQP = NIQP - 1 

 IF(NIQP.EQ.NSOPI1) GOTO 1000 

 ERRCOD = 'BCS-1,2-1' 

 INERR(1) = NIQP 

 INERR(2) = NSOPI1 

 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

C 

C 

 1000 IF(NSOUI1.EQ.0) GOTO 9000 

C 

C.....INPUT BCS DATASET 3: DATA FOR ENERGY OR SOLUTE MASS SOURCES 

C OR SINKS 

 IQSOUT1 = -1 

 1305 NIQU=NIQU+1 

 ERRCOD = 'REA-BCS-3' 

 CALL READIF(K9, INTFIL, ERRCOD) 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCU 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 IQCUA = IABS(IQCU) 

 IF (IQCU.EQ.0) THEN 

 GOTO 1700 

 ELSE IF (IQCUA.GT.NN) THEN 

 ERRCOD = 'BCS-3-1' 

 INERR(1) = IQCUA 

 INERR(2) = NN 

136
 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 ELSE IF (NIQU.GT.NSOUI1) THEN 

 GOTO 1305 

 END IF 

 IF (IQCU.GT.0) THEN 

 ERRCOD = 'REA-BCS-3' 

 READ(INTFIL,*,IOSTAT=INERR(1)) IQCU,QUINC 

 IF (INERR(1).NE.0) CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

 END IF 

 IQSOU1(NIQU)=IQCU 

 IQU=IABS(IQCU) 

 QUIN1(IQU)=QUINC 

 1600 GOTO 1305 

 1700 NIQU = NIQU - 1 

 IF(NIQU.EQ.NSOUI1) GOTO 9000 

 ERRCOD = 'BCS-1,3-1' 

 IF (ME.EQ.1) THEN 

 CHERR(1) = 'energy' 

 ELSE 

 CHERR(1) = 'solute' 

 END IF 

 INERR(1) = NIQU 

 INERR(2) = NSOUI1 

 INERR(3) = IT 

 CALL SUTERR(ERRCOD, CHERR, INERR, RLERR) 

C 

 9000 RETURN 

C 

 END 

Subroutine UNSAT

To save space, selected comment lines have been deleted from the listing below.

C SUBROUTINE U N S A T SUTRA VERSION 2.1 

C 

C *** PURPOSE : 

C *** USER-PROGRAMMED SUBROUTINE GIVING: 

C *** (1) SATURATION AS A FUNCTION OF PRESSURE ( SW(PRES) ) 

C *** (2) DERIVATIVE OF SATURATION WITH RESPECT TO PRESSURE 

C *** AS A FUNCTION OF EITHER PRESSURE OR SATURATION 

C *** ( DSWDP(PRES), OR DSWDP(SW) ) 

C *** (3) RELATIVE PERMEABILITY AS A FUNCTION OF EITHER 

C *** PRESSURE OR SATURATION ( REL(PRES) OR RELK(SW) ) 

C *** 

C *** DIFFERENT FUNCTIONS MAY BE GIVEN FOR EACH REGION OF THE MESH. 

C *** REGIONS ARE SPECIFIED BY BOTH NODE NUMBER AND ELEMENT NUMBER 

C *** IN INPUT DATA FILE FOR UNIT K1 (INP). 

C 

 SUBROUTINE UNSAT(SW,DSWDP,RELK,PRES,KREG) 

 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 

 COMMON /CONTRL/ GNUP,GNUU,UP,DTMULT,DTMAX,ME,ISSFLO,ISSTRA,ITCYC, 

 1 NPCYC,NUCYC,NPRINT,NBCFPR,NBCSPR,NBCPPR,NBCUPR,IREAD, 

 2 ISTORE,NOUMAT,IUNSAT,KTYPE 

C 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 

C 

137
C SWRES IS RESIDUAL SATURATION, PENT IS AIR ENTRY PRESSURE, 

C PSWRES IS PRESSURE AT RESIDUAL SATURATION, RKRES IS RELATIVE 

C PERMEABILITY AT RESIDUAL SATURATION 

C 

C 

 REAL SWRES,PENT,PSWRES,RKRES,SLOPES,SLOPEK 

 REAL SWRES1,SWRES2,PENT1,PENT2,PSWRES1,PSWRES2,RKRES1,RKRES2 

 COMMON /UNSAT1/ SWRES1, PENT1, PSWRES1, RKRES1 

 COMMON /UNSAT2/ SWRES2, PENT2, PSWRES2, RKRES2 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 

C 

C*********************************************************************** 

C*********************************************************************** 

C 

C SET PARAMETERS FOR CURRENT REGION, KREG 

 GOTO(10,20),KREG 

 10 SWRES=SWRES1 

 PENT=PENT1 

 PSWRES=PSWRES1 

 RKRES=RKRES1 

 GOTO 100 

 20 SWRES=SWRES2 

 PENT=PENT2 

 PSWRES=PSWRES2 

 RKRES=RKRES2 

 100 CONTINUE 

 SLOPES = (1. - SWRES)/(PENT - PSWRES) 

 SLOPEK = (1. - RKRES)/(1. - SWRES) 

C 

C 

C*********************************************************************** 

C*********************************************************************** 

C.....SECTION (1): 

C SW VS. PRES (VALUE CALCULATED ON EACH CALL TO UNSAT) 

C CODING MUST GIVE A VALUE TO SATURATION, SW. 

C 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C PIECEWISE LINEAR CURVE 

 IF (PRES .LE. PSWRES) THEN 

 SW = DBLE (SWRES) 

 ELSE IF (PRES .GE. PENT) THEN 

 SW = 1.D0 

 ELSE 

 SW = DBLE (1. + SLOPES*(PRES - PENT)) 

 END IF 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C*********************************************************************** 

C*********************************************************************** 

C 

C 

 IF(IUNSAT-2) 600,1200,1800 

C*********************************************************************** 

C*********************************************************************** 

C.....SECTION (2): 

C DSWDP VS. PRES, OR DSWDP VS. SW (CALCULATED ONLY WHEN IUNSAT=1) 

C CODING MUST GIVE A VALUE TO DERIVATIVE OF SATURATION WITH 

C RESPECT TO PRESSURE, DSWDP. 

C 

 600 CONTINUE 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

 IF (PRES .LE. PSWRES) THEN 

 DSWDP = 0.D0 

 ELSE IF (PRES .GE. PENT) THEN 

138
 DSWDP = 0.D0 

 ELSE 

 DSWDP = DBLE (SLOPES) 

 END IF 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

 GOTO 1800 

C*********************************************************************** 

C*********************************************************************** 

C 

C 

C*********************************************************************** 

C*********************************************************************** 

C.....SECTION (3): 

C RELK VS. P, OR RELK VS. SW (CALCULATED ONLY WHEN IUNSAT=2) 

C CODING MUST GIVE A VALUE TO RELATIVE PERMEABILITY, RELK. 

C 

 1200 CONTINUE 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C GENERAL RELATIVE PERMEABILITY PIECEWISE LINEAR 

 IF (SW .LT. SWRES) THEN 

 RELK = DBLE (RKRES) 

 ELSE 

 RELK = DBLE (RKRES + SLOPEK*(SW - SWRES)) 

 END IF 

C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C 

C*********************************************************************** 

C*********************************************************************** 

C 

C 

 1800 RETURN 

C 

 END 

 

139
Prepared by the Pembroke Publishing Service Center

For additional information write to:

New York Water Science Center

U.S. Geological Survey

30 Brown Rd.

Ithaca, NY 14850

Information requests:

(518) 285-5602

or visit our Web site at:

http://ny.water.usgs.gov
Yager and Ratcliffe —Hydrogeology and Simulation of Groundwater Flow in Fractured Rock in the Newark Basin, Rockland County, New York—Scientific Investigations Report 2010-5250

Printed on recycled paper