In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
In [2]:
PORT=9878
import veneer
v = veneer.Veneer(PORT)
In [3]:
v.source_version()
Out[3]:
In [4]:
network = v.network()
In [5]:
network.plot(links={'color':'black'})
Out[5]:
In [6]:
v.model.node.storages.names()
Out[6]:
In [ ]:
In [8]:
lva = v.model.node.storages.lva('IrrigationOnlyStorage')
lva
Out[8]:
In [9]:
scaled_lva = lva * 2
scaled_lva
Out[9]:
In [10]:
# v.model.node.storages.load_lva(scaled_lva) # Would load the same table into ALL storages
# v.model.node.storages.load_lva(scaled_lva,nodes=['StorageOnlyStorage','BothStorage']) # Will load into two storages
v.model.node.storages.load_lva(scaled_lva,nodes='IrrigationOnlyStorage')
Out[10]:
In [11]:
v.model.node.storages.lva('IrrigationOnlyStorage')
Out[11]:
In [ ]:
v.model.node.storages.set_full_supply(95000,'Volume',nodes='IrrigationOnlyStorage')
In [ ]:
v.model.node.storages.set_param_values('InitialVolume',50000,nodes='IrrigationOnlyStorage')
# OR
# v.model.node.storages.set_param_values('InitialStorageLevel',4.5,nodes='IrrigationOnlyStorage')
In [16]:
v.model.node.storages.outlets(nodes='IrrigationOnlyStorage')
Out[16]:
In [17]:
v.model.node.storages.releases(nodes='IrrigationOnlyStorage',path=1)
Out[17]:
In [18]:
v.model.node.storages.release_table('IrrigationOnlyStorage','Ungated Spillway #0')
Out[18]:
We can create each type of release mechanism.
In each case we need to provide a table of level, minimum (release) and maximum (release). (units m, m^3.s^-1, m^3.s^-1, respectively)
In [19]:
release_table = [(0,0,0),(1,1,1),(5,10,12)]
release_table = pd.DataFrame(release_table,columns=['level','minimum','maximum'])
release_table
Out[19]:
In [ ]:
# To a particular outlet or a particular storage
#v.model.node.storages.add_valve(release_table,'IrrigationOnlyStorageOverflow',nodes='IrrigationOnlyStorage')
# Add the same valve to EVERY storage (on first outlet path)
#v.model.node.storages.add_valve(release_table)
# Optionally specify the name of the release
#v.model.node.storages.add_valve(release_table,name='my new valve')