def newJunction(cls, s, basinsink): j = Junction() j.setIdentifier('JN ' + str(s.getIdentifier())) j.downstream = s.downstream p = Property.newProperty('Canvas X', s.canvasx.getValue()) super(Junction, j).add(Property.newProperty('Canvas X', s.canvasx.getValue())) super(Junction, j).add(Property.newProperty('Canvas Y', s.canvasy.getValue())) super(Junction, j).add(j.downstream) j.serialize(basinsink) return j
def newJunction(cls, s, basinsink): j = Junction() j.setIdentifier("JN " + str(s.getIdentifier())) j.downstream = s.downstream p = Property.newProperty("Canvas X", s.canvasx.getValue()) super(Junction, j).add(Property.newProperty("Canvas X", s.canvasx.getValue())) super(Junction, j).add(Property.newProperty("Canvas Y", s.canvasy.getValue())) super(Junction, j).add(j.downstream) j.serialize(basinsink) return j
def newPdata(cls, soname, pdatasink, dssfile): p = Pdata() # Add a new storage-outflow table to pdata nowDT = datetime.today() nowDate = str( nowDT.day) + ' ' + calendar.month_name[nowDT.month] + ' ' + str( nowDT.year) nowTime = str(nowDT.hour) + ':' + str(nowDT.minute) + ':' + str( nowDT.second) p.setIdentifier(soname) super(Pdata, p).add(Property.newProperty('Table Type', 'Storage-Outflow')) super(Pdata, p).add(Property.newProperty('Last Modified Date', str(nowDate))) super(Pdata, p).add(Property.newProperty('Last Modified Time', str(nowTime))) super(Pdata, p).add(Property.newProperty('X-Units', 'ACRE-FT')) super(Pdata, p).add(Property.newProperty('Y-Units', 'CFS')) super(Pdata, p).add(Property.newProperty('User External DSS File', 'NO')) super(Pdata, p).add(Property.newProperty('DSS File', dssfile)) super(Pdata, p).add( Property.newProperty( 'Pathname', '//' + p.getIdentifier() + '/STORAGE-FLOW///TABLE/')) p.serialize(pdatasink)
def newSubbasin(cls, s, basinsink, redevel, curvenum, canrate): sNew = copy.deepcopy(s) sNew.setIdentifier(s.getIdentifier() + 'MWRD') sNew.area.setValue((redevel / 100.) * s.area.getAsFloat()) sNew.downstream.setValue('Reservoir ' + s.getIdentifier()) sNew.canopy.setValue('SMA') # Define new canopy properties initCanopy = Property.newProperty('Initial Canopy Storage Percent', 0) maxCanopy = Property.newProperty('Canopy Maximum Storage', canrate) endCanopy = Property.newProperty('End Canopy', '') super(Subbasin, sNew).insert(super(Subbasin, sNew).index(sNew.canopy) + 1, endCanopy) super(Subbasin, sNew).insert(super(Subbasin, sNew).index(sNew.canopy) + 1, maxCanopy) super(Subbasin, sNew).insert(super(Subbasin, sNew).index(sNew.canopy) + 1, initCanopy) sNew.curvenum.setValue(curvenum) sNew.serialize(basinsink) return sNew
def newSubbasin(cls, s, basinsink, redevel, curvenum, canrate): sNew = copy.deepcopy(s) sNew.setIdentifier(s.getIdentifier() + 'MWRD') sNew.area.setValue((redevel / 100.) * s.area.getAsFloat()) sNew.downstream.setValue('Reservoir ' + s.getIdentifier()) sNew.canopy.setValue('SMA') # Define new canopy properties initCanopy = Property.newProperty('Initial Canopy Storage Percent', 0) maxCanopy = Property.newProperty('Canopy Maximum Storage', canrate) endCanopy = Property.newProperty('End Canopy', '') super(Subbasin, sNew).insert( super(Subbasin, sNew).index(sNew.canopy) + 1, endCanopy) super(Subbasin, sNew).insert( super(Subbasin, sNew).index(sNew.canopy) + 1, maxCanopy) super(Subbasin, sNew).insert( super(Subbasin, sNew).index(sNew.canopy) + 1, initCanopy) sNew.curvenum.setValue(curvenum) sNew.serialize(basinsink) return sNew
def newPdata(cls, soname, pdatasink, dssfile): p = Pdata() # Add a new storage-outflow table to pdata nowDT = datetime.today() nowDate = str(nowDT.day) + ' ' + calendar.month_name[nowDT.month] + ' ' + str(nowDT.year) nowTime = str(nowDT.hour) + ':' + str(nowDT.minute) + ':' + str(nowDT.second) p.setIdentifier(soname) super(Pdata, p).add(Property.newProperty('Table Type', 'Storage-Outflow')) super(Pdata, p).add(Property.newProperty('Last Modified Date', str(nowDate))) super(Pdata, p).add(Property.newProperty('Last Modified Time', str(nowTime))) super(Pdata, p).add(Property.newProperty('X-Units', 'ACRE-FT')) super(Pdata, p).add(Property.newProperty('Y-Units', 'CFS')) super(Pdata, p).add(Property.newProperty('User External DSS File', 'NO')) super(Pdata, p).add(Property.newProperty('DSS File', dssfile)) super(Pdata, p).add(Property.newProperty('Pathname', '//' + p.getIdentifier() + '/STORAGE-FLOW///TABLE/')) p.serialize(pdatasink)
def newReservoir(cls, s, basinsink, redevel, rlsrate): r = Reservoir() r.setIdentifier('Reservoir ' + s.getIdentifier()) r.downstream = Property.newProperty('Downstream', 'J ' + s.getIdentifier()) r.storageoutflow = Property.newProperty('Storage-Outflow Table', s.getIdentifier() + 'MWRD_' + str(redevel) + '_' + str(rlsrate)) super(Reservoir, r).add(Property.newProperty('Canvas X', s.canvasx.getValue())) super(Reservoir, r).add(Property.newProperty('Canvas Y', s.canvasy.getValue())) super(Reservoir, r).add(r.downstream) super(Reservoir, r).add(Property.newProperty('Route', 'Modified Puls')) super(Reservoir, r).add(Property.newProperty('Routing Curve', 'Storage-Outflow')) super(Reservoir, r).add(Property.newProperty('Initial Outflow Equals Inflow', 'Yes')) super(Reservoir, r).add(r.storageoutflow) r.serialize(basinsink) return r
def newReservoir(cls, s, basinsink, redevel, rlsrate): r = Reservoir() r.setIdentifier('Reservoir ' + s.getIdentifier()) r.downstream = Property.newProperty('Downstream', 'JN ' + s.getIdentifier()) soString = s.getIdentifier() + 'MWRD_' + str(redevel) + '_' + str( rlsrate) r.storageoutflow = Property.newProperty('Storage-Outflow Table', soString[:27]) super(Reservoir, r).add(Property.newProperty('Canvas X', s.canvasx.getValue())) super(Reservoir, r).add(Property.newProperty('Canvas Y', s.canvasy.getValue())) super(Reservoir, r).add(r.downstream) super(Reservoir, r).add(Property.newProperty('Route', 'Modified Puls')) super(Reservoir, r).add(Property.newProperty('Routing Curve', 'Storage-Outflow')) super(Reservoir, r).add( Property.newProperty('Initial Outflow Equals Inflow', 'Yes')) super(Reservoir, r).add(r.storageoutflow) r.serialize(basinsink) return r