Objects and Methods

Aquifer

This object models an aquifer, a deep, fully saturated, often confined groundwater system. Following are some features of the Aquifer object:

• The Aquifer can be linked to multiple other Aquifer objects, or it can be linked to a single Groundwater object above it. When linked to the groundwater object, the Aquifer models the deep system while the groundwater object models the shallow subsurface system.

• The Aquifer can optionally solve at a user specified larger “computational timestep” which is different than the run timestep. The options are: 1 day, 1 month, 1 year.

• The Aquifer models flow in six directions, Left, Right, Upstream, Downstream, Above, and Below. Because of the six direction flow, multiple objects could be stacked to represent layers.

• The Aquifer uses Head and Storativity (storage coefficient) in its solution.

• Physical processes include pumping and specified inflows.

• An explicit groundwater flow equation is used in the solution.

Figure 5.1 shows a diagram of the Aquifer object in one of its configurations.

Figure 5.1 Sample Cross sectional view of the aquifer object

General Slots

Area

Type: Scalar

Units: Area

Description: The horizontal area of the aquifer.

Information: This value must be non zero.

I/O: Required Input

Links: Not Linkable

Head

Type: Series

Units: Length

Description: This represents the hydraulic or piezometric head, which is a specific measurement of liquid pressure.

Information: This value is presented at the computational timestep.

I/O: Typically Output, but a specified value (input/rules) is required for initialization as follows. If the run start date falls on the first date of a computational timestep, a value must be provided for the Head at the run initial date. If not, Head Previous must be specified as described below.

Links: Typically not linked.

Head Previous

Type: Series

Units: Length

Description: This slot holds the value of the Head from the previous computational timestep duplicated over the run timesteps, during the computational timestep.

Information: This slot holds values at the run timestep.

I/O: Typically computed, but if the run start date falls after the first date of a computational timestep, a value must be provided for the Head Previous on the start timestep.

Links: Linkable to one or more adjacent objects Head Previous L/R/U/D/A/B

Specified Inflow

Type: Series with Periodic Input

Units: Flow

Description: Inflows to the aquifer typically from other sources that are not modeled. This slot provides a place to specify any inflows that aren’t classified as other inflows, such as recharge.

Information: This value can be positive (into the object) or negative (out of the object). Specified Inflows that are negative can cause the storage to become negative.

I/O: Input as a periodic or series data. Specify a single value if you have a constant value. If no value is specified, it is assumed the value is zero, but that is not shown on the slot.

Links: Not Linkable

Storage

Type: Series

Units: Volume

Description: The volume of water in the aquifer.

Information: This value is computed by the mass balance computation.

I/O: Typically output, but the value on the last timestep of the previous computational timestep must be specified.

Links: Not linkable.

Storativity

Type: Scalar

Units: No Units

Description: The storativity or storage coefficient is the volume of water released/gained from storage per unit decline/increase in hydraulic head in the aquifer, per unit area of the aquifer. Storativity is a unit less quantity, and ranges between 0 and the effective porosity of the aquifer.

Information: This value must be non zero.

I/O: Required Input

Links: Not Linkable

User Methods

Computational Timestep

This methods in this category control the computational timestep at which the Aquifer solves. The Aquifer can solve at the Run Timestep or one of the following larger timesteps, where applicable: 1 Day, 1 Month, 1 Year. Note, the computational timestep cannot be smaller than the run timestep.

Run Timestep

This aquifer will dispatch and solve at each of the run timesteps, when possible. This method allows you to have one method that applies if you change the run timestep size such that it will always solve at the run timestep.

1 Day

This aquifer will dispatch and solve each day at 24:00, when possible. This method is only valid for daily and sub-daily (1 Hour, 6 Hour, 15 Minute, 5 Minute) timesteps.

1 Month

When this method is selected, the aquifer will dispatch and solve at the end of each month, when possible. This method is only valid for monthly and sub-monthly (1 Day, 1 Hour, 6 Hour, 15 Minute, 5 Minute) timesteps.

1 Year

When this method is selected, the aquifer will dispatch and solve at the end of each year on 24:00 Dec 31, when possible. This method is valid for all run timesteps.

Flow from Above

These methods control how flows into the aquifer are represented from the “Above” direction.

No Flow

No flows enter the aquifer from above. This is the default method in this category

Compute Flow using Heads

This method computes the Flow from Above based on the difference in previous computational timestep heads and the conductance.

Slots Specific to This Method

Flow from Above

Type: Series

Units: Flow

Description: The flow that occurs into this Aquifer from the above object, usually another Aquifer

Information: For this method, the slot will have values only at the computational timestep. Positive values indicate flow into this Aquifer.

I/O: Output only

Links: Not linked for this method

Conductance Above

Type: Scalar

Units: AreaPerTime

Description: The conductance from the above object to this Aquifer.

Information: The Conductance Above must be the same as the conductance of the object above in this direction. If not, the conservation of mass will not be preserved.

I/O: Required Input

Links: Not Linkable

Head Above Previous

Type: Series

Units: Length

Description: The head of the object above from the previous computational timestep.

Information: This slot will have values only at the computational timestep.

I/O: Output only

Links: Link to the Head Previous of the above aquifer object.

This method computes the flow into the Aquifer from above:

(5.1)

Note: This equation is applied at the computational timestep.

Specify or Link Flows

This method uses the Flow from Above as specified (input or rules) or linked from an above groundwater object as described in “Head Based Linked Percolation”

Slots Specific to This Method

Flow from Above

Type: Series

Units: Flow

Description: The flow that occurs into this aquifer from the above object, usually another aquifer.

Information: For this method, the slot will have values at the run timestep. Positive flows are into this aquifer object.

I/O: If not linked, it should be input or set by a rule. If linked, it is Output only.

Links: Linkable, often to a Percolation slot on a groundwater object.

Flow from Below

These methods control how flows into the aquifer are represented from the “Below” direction.

No Flow

No flows enter the aquifer from below. This is the default method in this category

Compute Flow using Heads

This method computes the Flow from Below based on the difference in previous computational timestep heads and the conductance.

Slots Specific to This Method

Flow from Below

Type: Series

Units: Flow

Description: The flow that enters into this Aquifer from the below object, usually another Aquifer

Information: For this method, the slot will have values only at the computational timestep. Positive values indicate flow into this Aquifer.

I/O: Output only

Links: Not linked for this method

Conductance Below

Type: Scalar

Units: AreaPerTime

Description: The conductance from the below object to this Aquifer.

Information: The Conductance Below must be the same as the conductance of the object below in this direction. If not, the conservation of mass will not be preserved.

I/O: Required Input

Links: Not Linkable

Head Below Previous

Type: Series

Units: Length

Description: The head of the object below at the previous computational timestep.

Information: This slot will have values only at the computational timestep.

I/O: Output only

Links: Link to the Head Previous of the below aquifer object.

This method computes the flow into the Aquifer from below:

(5.2)

Note: This equation is applied at the computational timestep.

Flow from Left

These methods control how flows into the aquifer are represented from the “Left” direction.

No Flow

No flows enter the Aquifer from the left. This is the default method in this category

Compute Flow using Heads

This method computes the Flow from Left based on the difference in previous computational timestep heads and the conductance.

Slots Specific to This Method

Flow from Left

Type: Series

Units: Flow

Description: The flow that occurs into this Aquifer from the left object, usually another Aquifer

Information: For this method, the slot will have values only at the computational timestep. Positive values indicate flow into this Aquifer.

I/O: Output only

Links: Not linked for this method

Conductance Left

Type: Scalar

Units: AreaPerTime

Description: The conductance from the left object to this Aquifer.

Information: The Conductance Left must be the same as the conductance of the left object. If not, the conservation of mass will not be preserved.

I/O: Required Input

Links: Not Linkable

Head Left Previous

Type: Series

Units: Length

Description: The head of the left object from the previous computational timestep.

Information: This slot will have values only at the computational timestep.

I/O: Output only

Links: Link to the Head Previous of the left aquifer object.

This method computes the flow into the Aquifer from the left:

(5.3)

Note: This equation is applied at the computational timestep.

Flow from Right

These methods control how flows into the aquifer are represented from the “Right” direction.

No Flow

No flows enter the Aquifer from the right. This is the default method in this category

Compute Flow using Heads

This method computes the Flow from Right based on the difference in previous computational timestep heads and the conductance.

Slots Specific to This Method

Flow from Right

Type: Series

Units: Flow

Description: The flow that occurs into this Aquifer from the Right object, usually another Aquifer

I/O: Output only

Links: Not linked for this method

Conductance Right

Type: Scalar

Units: AreaPerTime

Description: The conductance from the Right object to this Aquifer.

Information: The Conductance Right must be the same as the conductance of the Right object. If not, the conservation of mass will not be preserved.

I/O: Required Input

Links: Not Linkable

Head Right Previous

Type: Series

Units: Length

Description: The head of the Right object from the previous computational timestep.

Information: This slot will have values only at the computational timestep.

I/O: Output only

Links: Link to the Head Previous of the Right aquifer object.

This method computes the flow into the Aquifer from the Right:

(5.4)

Note: This equation is applied at the computational timestep.

Flow from Downstream

These methods control how flows into the aquifer are represented from the “Downstream” direction.

No Flow

No flows enter the Aquifer from downstream. This is the default method in this category

Compute Flow using Heads

This method computes the Flow from Downstream based on the difference in previous computational timestep heads and the conductance.

Slots Specific to This Method

Flow from Downstream

Type: Series

Units: Flow

Description: The flow that occurs into this Aquifer from the downstream object, usually another Aquifer

I/O: Output only

Links: Not linked for this method

Conductance Downstream

Type: Scalar

Units: AreaPerTime

Description: The conductance from the downstream object to this Aquifer.

Information: The Conductance Downstream must be the same as the conductance of the downstream object. If not, the conservation of mass will not be preserved.

I/O: Required Input

Links: Not Linkable

Head Downstream Previous

Type: Series

Units: Length

Description: The head of the downstream object from the previous computational timestep.

Information: This slot will have values only at the computational timestep.

I/O: Output only

Links: Link to the Head Previous of the downstream aquifer object.

This method computes the flow into the Aquifer from the downstream:

(5.5)

Note: This equation is applied at the computational timestep.

Flow from Upstream

These methods controls how flows into the aquifer are represented from the “Upstream” direction.

No Flow

No flows enter the Aquifer from upstream. This is the default method in this category

Compute Flow using Heads

This method computes the Flow from Upstream based on the difference in previous computational timestep heads and the conductance.

Slots Specific to This Method

Flow from Upstream

Type: Series

Units: Flow

Description: The flow that occurs into this Aquifer from the upstream object, usually another Aquifer

I/O: Output only

Links: Not linked for this method

Conductance Upstream

Type: Scalar

Units: AreaPerTime

Description: The conductance from the upstream object to this Aquifer.

Information: The Conductance Upstream must be the same as the conductance of the upstream object. If not, the conservation of mass will not be preserved.

I/O: Required Input

Links: Not Linkable

Head Upstream Previous

Type: Series

Units: Length

Description: The head of the upstream object from the previous computational timestep.

Information: This slot will have values only at the computational timestep.

I/O: Output only

Links: Link to the Head Previous of the upstream aquifer object.

This method computes the flow into the Aquifer from the upstream:

(5.6)

Note: This equation is applied at the computational timestep.

Pumping

The methods in this category represent whether pumping is modeled from this aquifer.

None

No pumping is modeled. This is the default method.

Input or Linked

The pumping out of the aquifer is modeled by specifying the pumped flow or linking it to another object, often a water user.

Slots Specific to This Method

Available for Pumping

Type: Series

Units: Flow

Description: This is the amount of water that can be pumped from storage.

Information: If not input, it is calculated based on the previous computational timestep’s storage value and averaged over the computational timestep. The values are at the run timestep.

I/O: Optional input

Links: This slot is often linked to the Available Supplemental Water slot on a Water User or Agg Diversion Site.

Pumped Flow

Type: Series

Units: Flow

Description: This is the amount of water pumped from storage. A positive value is out of the aquifer.

Information: If not input, it is should be linked to a slot on another object. Often the other object is providing the values. The values are always at the run timestep.

I/O: Optional input or propagated from another object.

Links: This slot is often linked to the Supplemental Water slot on a Water User or Agg Diversion Site.

This method computes an internal variable that represents the average pumped flow out of the aquifer:

(5.7)

Dispatch Methods

This object solves for Storage and Head.

Solve Given Previous Head

The Solve Given Previous Head dispatch method computes the current Storage and Head values based on the mass balance equation described below.

The dispatch method execute when the Flow from Above is known and the Head Upstream/Downstream/Right/Left Previous slots are known. Depending on the number of connected objects, one or all of the Head Upstream/Downstream/Right/Left Previous slots may be active.

Required Knowns

• Flow from Above, (if using Specify or Link Flow in the Flow from Above category)

• Head Above Previous, (if using Compute Flow using Head in the Flow from Above category)

• Head L/R/U/D/B Previous, (if using Compute Flow using Head in the respective Flow from L/R/U/D/B category)

Required Unknowns

• Head

• Storage

Solution Equations

The dispatch method can be executed at each run timestep, but the method will exit unsuccessfully for any non-computational timestep. Following are the steps in the solution, followed by an example.

First, if the Input or Linked method is selected for Pumping, the Pumped Flow is aggregated into an average value over the computational timestep. If there are any values missing for the computational period, the method exits and waits for all values to be known.

The following equations are used when Compute Flow using Head is selected. This typically occurs when the aquifer is only connected to other Aquifer objects as shown in Figure 5.2. In this case, t is the computational timestep:

(5.8)

(5.9)

Figure 5.2 Cross section of an Aquifer object with an Aquifer above

Note: Links and flows are not shown for Upstream and Downstream but they would follow the same convention.

The following equations are used when Specify or Link Flow is selected in the Flows from Above category. In this case, the aquifer typically has a Groundwater object above it. The variable t is the current computational timestep:

(5.10)

(5.11)

(5.12)

Figure 5.3 shows this setup:

Figure 5.3 Cross section of an Aquifer object with Aquifer above

For both solution approaches, once the Storage is computed, the Head at the computational timestep is:

(5.13)

Timing of the Solution

The following is an example that shows the timing and interaction of this solution with the run timestep and computational timestep. In this example, the run timestep is 1 day, while the computational timestep is 1 month. Figure 5.4 shows a diagram for the first four steps.

1. During run initialization, the Aquifer will be required to have Head and Storage at the initial timestep. On other timesteps, the Aquifer objects will dispatch at the end of each month and compute the aquifer storage and head for that month (as per step 9 below)

2. This head will be then set on a daily timestep slot called Head Previous for each day in the next month.

3. This slot, Head Previous, is linked to the shallow Groundwater object’s Deep Aquifer Elevation Previous and the values are propagated to it for each timestep in the next month.

4. When the shallow groundwater is able to solve at the run timestep, it will have the Deep Aquifer Elevation Previous and can solve for Percolation. The solution can then proceed for the Groundwater object through the month at a daily timestep. The Aquifer may dispatch, but will not do anything at a daily timestep.

5. On the second to last day of the month, E.g. day 30, the shallow Groundwater object will compute an Elevation on day 30 and set the Elevation Previous on day 31. The Groundwater Elevation Previous is linked to the Aquifer’s Head Above Previous. This will trigger the Aquifer to dispatch.

6. Given the Head Previous (computed in step 2) and adjacent Head LRUDB Previous values, the Aquifer can compute the flows into the aquifer (Flow from LRUDB). Also, if the Link Heads is selected in the Flows Above category, calculate Flow from Above similarly.

7. If using the Specify or Link Flow method, the groundwater Percolation slot will propagate to the Flow from Above.

8. Given Flow from LRUDAB and any specified Pumped Flow and Specified Inflows, compute the Storage and Head for that month.

9. Go to step 2 and repeat.

Figure 5.4 Sample interaction of the Aquifer with a Groundwater object above

Revised: 06/03/2019