This model simulates prioritization and allocation of water from a portfolio of restricted sources to meet a demand.
Figure 1 - Diagram of Supply Allocation
Many allocation systems are straightforward. For example, allocating a river's flow among multiple competing demands (Figure 2) is often directly modeled using GoldSim's Allocator
element. In that case, the river flow is the Amount
to be allocated, and the Allocator distributes it based on the specified Demands
and priorities of the users.
Figure 2 - Diagram of Demand Allocation
However, supply allocation is commonly more complex: meeting a single demand by drawing from multiple, diverse supply sources (e.g., river, lake, groundwater, as shown conceptually in Figure 1), where each source has unique restrictions. These restrictions might arise from hydraulic constraints, operational policies, water quality limits, or a combination of any. This approach requires handling these source-specific limitations before the allocation step. This model demonstrates handling three common restriction types:
- Flow
- Volume
- Water Quality
After applying these restrictions, an Allocator
prioritizes these available restricted supplies to meet the demand. Finally, the actual allocated supply amounts are fed back to update the source models (e.g., reservoir volumes) for the next time step, ensuring continuity.
This article describes this process using a three-step modeling approach in GoldSim:
- Restrict: Calculate the maximum potential supply available from each source for the current time period, considering all its restrictions.
- Allocate: Distribute the restricted supplies (determined in Step 1) to meet the system demand based on defined priorities.
- Feedback: Use the allocated amounts (results from Step 2) to update the state of the original water sources for the next time step.
Figure 3 - Diagram of the 3-step modeling approach
To illustrate this approach, consider the conceptual model shown in Figure 4, showing water allocation from three water sources: a river, a lake (reservoir), and a groundwater aquifer. Each source feeds into the system, and the goal is to simulate how much of each is used to meet the water demand, subject to the unique restrictions of each source. This is done by following the 3 steps outlined above, for each source. The diagram below shows the maximum potential supplies in green, which are determined by modeling their physical and policy driven restrictions. These feed into the Allocation where we can output the restricted, allocated supply for each. This ensures that the supply equals the demand and that we selected supplies that best meet our needs and desires.
Figure 4 - Schematic representation of the model built in GoldSim
Step 1: Restrict
The goal of this part of the model is to calculate the maximum amount that could possibly be supplied from each source at this time step, given its inherent limitations.
- Flow-Limited Sources (e.g., River):
- Concept: The withdrawal is limited by available river flow minus high-priority downstream requirements (like environmental flows).
- GoldSim Approach: An
Allocator
can model this restriction directly. Input the total river flow as theAmount
to be allocated. Define the instream flow requirement as a high-priorityDemand
. The ~Remainder output then represents the maximum flow available for diversion.
- Volume-Limited Sources (e.g., Lake):
- Concept: Supply is limited by the volume currently in storage and potentially by outflow capacity.
- GoldSim Approach: A
Pool
element tracks the stored volume. AController
element can be easily linked to thePool
to restrict outflow based on the current level relative to a specifiedTarget
level (like a dead pool volume). The Controller can simulate various control methods and can also incorporate hydraulic constraints via its flow capacity input for a hybrid approach. Let me know if you are interested in seeing such a hybrid in action.
- Water Quality-Limited Sources (e.g., Groundwater):
- Concept: Using a water quality limited source impacts the overall quality of the blended supply. Withdrawal must be limited to meet a quality target (e.g., maximum salinity), often requiring an iterative calculation because the allowable amount depends on the final blended total flow that requires a non-trivial calculation.
- GoldSim Approach: Use a
Container
enabled withLooping Capability
. Inside the loop, estimate a groundwater supply rate, calculate the resulting blended water quality based on all contributing flows, and compare it to the limit. The script adjusts the groundwater pumping rate iteratively (e.g., referencing the~LoopCount
in the Container) searching for the maximum flow that still meets the quality constraint and also after allocation. During this iterative process within a timestep, elements unrelated to the groundwater remain unchanged until the looping completes. The final flow determined is the maximum potential supply from this source for this timestep, before allocation.
The result of this phase is a set of restricted flows for each timestep, representing the maximum potential supply from each source before considering demand or the priorities among sources.
Step 2: Allocate
This step distributes the maximum potential supplies (calculated in Step 1) to meet the system's water demand based on priorities. While Step 1 determined what is possible to supply from each source, this step determines what is actually taken. In GoldSim, this is done by entering the maximum potential supply outputs into the fields for each corresponding Allocator output.
Note: Although these input fields on the Allocator are labeled "Demand", in this supply-allocation context, they represent the maximum potential supply from each source. You can mentally relabel them "Supply" for this application.
Next, we assign a priority to each supply source (lower numbers = higher priority). The Allocator
calculates the actual supply by each source, respecting the restrictions and priorities, automatically ensuring the total supplied does not exceed the demand.
Step 3: Feedback
Feedback is needed to inform the variables carrying state forward from one timestep to the next or from one Container loop to the next.
- Concept: The amount of water allocated from a source in Step 2 must be used to update that source's condition for the next time step.
- GoldSim Approach: Link the allocated supply output from the
Allocator
element (from Step 2) for a specific source back to the element representing that source's state. For the Lake, this allocated outflow defines an outflow request, which reduces the stored volume on the next time step. For the groundwater quality restriction loop, the allocated groundwater flow is the value used in the next loop's concentration calculation for the same time step. On each step, the maximum potential groundwater supply is reduced by another increment. This process continues until a groundwater supply that is just low enough to meet water quality limits. It is likely that the allocated river diversion rate will also feed back into the model but I have not included this in this version.
Conclusion
By modeling with the 3 steps, GoldSim users can build logical models of complex water supply systems relying on a prioritized mix of restricted sources. This three-step approach provides a robust framework for analyzing water resource management strategies under real-world constraints and tracking their consequences over time.
Acknowledgments
The author acknowledges the use of AI tools during the development of this article and the associated model. AI assistance was utilized for brainstorming, validating model design concepts during development, helping ensure consistency between the model and its documentation, and creating/refining icons used in one of the schematic diagrams. All AI-generated content, suggestions, and visual elements were carefully reviewed, heavily edited, and validated by the author for accuracy, clarity, and relevance. This collaborative approach supported the creation of a detailed and high-quality final work.
Comments
0 comments
Please sign in to leave a comment.