Stella is a modeling tool that you can use to put together dynamic models even if you do not know how to program and have very basic mathematical skills. A demo version can be downloaded from ISEE Systems, Inc., formerly known as High Performance Systems.
Stella has been widely used in academia for the last 15 years, so there is much legacy code available. The models are formulated in terms of stocks and flows. You may want to Click Here if you have never seen Stella before and wish to take a quick intro tour.
One useful feature of Stella is that it can be used to put together conceptual models of the system, which helps visualize the processes involves and leads to some common understanding of the system. See below for some of the snapshots from a model development that can be used to describe a river system.
This could be a basic building block of the model. We have a stock for the amount of water accumulated on the Wateshed. This water then goes into another stock, which represents a River reach. Various flows connect the variables and move water around. wb is the water balance that takes Rainfall and subtracts Evaporation from it. As a result we get the net input of water into the watershed. Note that this flow has arrows pointing in both directions. It is called a "bi-flow", which means that it can actually be negative if during some periods the evaporation exceeds rainfall. Another flow wwd is the withdrawal that takes water from the river for some use (industrial, residential of agricultural). The two other flows flow1 and flow2 are moving water from one stock to another and further out of the system.
This would be a similar building block, but including a reservoir.
With these building blocks we can create fairly complex diagrams representing the whole watershed. Each river reach is associated with its subwatershed, or catchment basin. Each reservoir is also associated with a subwatershed. Withdrawals are made either from river reaches or from reservoirs. Each flow introduces a delay that controls how fast water moves from one part of the system to another.
There is much data and information that needs to go into the model. However most of it should be available. Consider the simple reservoir model, where we included the data about the watershed balance, the schedule of dam operations, and a slider that defines the rate of withdrawal from the reservoir.
You can use the Stella graphic function to input the data for rainfall and dam operation.
We have used a slider to define the amount of water withdrawn. When the withdrawals are low, we find that there is water flowing our or the reservoir at all times, while the water levels are kept as required by the schedule.
If we crank up withdrawals we find that at certain times there is no flow our of the reservoir, which means that the levels are also below the requirements. Once the data are defines and the model is built it is an easy job to play with the sliders to test the operations at various regimes.
Click Here to download a sample Stella model developed by Bill Werrick for the Rappahannok river (1.3Mb).