The AWASH model describes the connections between water supply and water demand and the spatial and temporal decisions around them. The broad goals of the model are to understand cross-basin connections in the US, the price of water and tradeoffs, and the future landscape of water.
Within the model, water supply can come from river network runoff, groundwater with seepage, and reservoirs with storage. Water demand is driven by agriculture and livestock, industry, urban demands, and thermoelectric plants. The transporation and selling of agricultural products is also modeled, and the model can decide the optimal arrangement of agricultural production, irrigation, and trade to maximize profits to farmers, under a variety of constraints and planning.
The model is also configurable, so it can run with different timesteps, from a month to years, and for the whole contiguous US or for a single state. It is also straight-forward to turn off or bipass whole sectors.
The model can be run in simulation mode or optimization mode. For simulation mode, we have collected inputs that describe the situation in the United States in recent history, and in 2010 in particular, and the model produces results from this, such as total agricultural production and market outputs. Under optimization mode, a variety of decision variables are selected to optimize the benefits produced by water.
This is from an optimization done in March, optimizing agricultural output through the spatial arrangement of rainfed and irrigated areas in a single year. Irrigated aggriculture draws from rivers, only constrained by exogenous urban demands and the requirement that rivers never run dry. Agricultural output is monetized by assuming one set of prices for a limited domestic demand and another for an unlimited international demand.
|International sales||Irrigated areas|
More figures are in the result document.
The model can also be run using a mix of simulation and optimization, selecting some parameters to be fed by data and others by optimization. You can also generate decisions with the optimization mode under one set of assumptions, and then simulate it with another set, for example if the water managers understand only part of the full water system.
As an example, consider the "surface optimization" performed to generate inputs to the simulation model. Since we do not have records of exactly where water is drawn from the river, we need to infer it. These are the steps involved:
See the optimize-surface notebook for an example run.
Since our March 24 workshop, we've gotten the full optimization and simulation models working. Hereafter is a non-exhaustive task of what has been accomplished since then. Please refer to the various notebooks for more details.
The model is at a stage where there are a ton of experiments and analyses it can be used for. The Progress document lays out future tasks: https://docs.google.com/spreadsheets/d/1vK-tiuVdShQjh58EiPbTZP8Erc4rLuhIL_70ZIntwJA/edit#gid=1429916549
Broadly, tasks for the future fall into three categories: Validation, Extensions, and Analyses.
We hope that the model is fairly easy to run, modify, and contribute to. It's written in Julia, which is very similar to Matlab. It's based on components, so you can modify one sector without worrying about others. And you can see it in use it the documentation notebooks.
We are looking for people who want to use and expand the model:
The only user interface is with Jupyter Notebooks, so working with the model means running and modify code. But we are happy to help you get going. To get started, follow the running the model tutorial and try it out!
In [ ]: