Considering all demands as exogenous and climate independent, we explore the solution of the water allocation problem in function of the runoff conditions.
All demands are exogenous and set to the 2010 estimates by USGS at the county-scale. Within each county, water demands are met using several sources conjunctively: surface water, groundwater or by importing water from a supersource. The optimization finds the optimal solution in terms of cost, surface water being considered as the cheapest option, followed by groundwater, then importation. The optimization is performed for two timesteps of 6 months. Several runs are performed each with a different climate.
In [28]:
include("../analysis/analysis_conjunctive.jl");
In [35]:
include("../src/mapping.jl")
mapdata(:Allocation, :waterallocated, "sum")
Out[35]:
In [36]:
mapdata(:Allocation, :swsupply,"sum")
Out[36]:
In [44]:
percentorigin = 100*sum(getdata(:Allocation, :swsupply),2)./sum(getdata(:Allocation, :waterallocated),2);
mapdata(percentorigin)
Out[44]:
Above is plotted to what percentage are the counties demands met by surface water. The obtained map show values ranging from 0 to 100% with no geographic specificities. The current optimization problem works with prices by source that are national. Regional variations would help constrain the model.
In [32]:
mapdata(:Allocation, :waterfromgw,"sum")
Out[32]:
The rest of the water demand is provided by groundwater extraction.
In [33]:
mapdata(getdata(:Aquifer, :piezohead0)-getdata(:Aquifer, :piezohead)[:,numsteps])
Out[33]:
Huge fluctuations are taking place in the Columbian Plateau aquifer. More investigations are needed to understand what stems from the head initialisation and what is specific to human use.
In [45]:
include("../analysis/analysis_conjunctive.jl")
Out[45]:
In [46]:
include("../src/mapping.jl")
mapdata(:Allocation, :waterallocated, "sum")
Out[46]:
In [47]:
mapdata(:Allocation, :swsupply,"sum")
Out[47]:
In [48]:
percentorigin = 100*sum(getdata(:Allocation, :swsupply),2)./sum(getdata(:Allocation, :waterallocated),2);
mapdata(percentorigin)
Out[48]:
In [49]:
mapdata(:Allocation, :waterfromgw,"sum")
Out[49]:
In [50]:
mapdata(getdata(:Aquifer, :piezohead0)-getdata(:Aquifer, :piezohead)[:,numsteps])
Out[50]:
In [ ]: