3 Created on Fri May 8 05:59:04 2020
11 from efo.rule
import RuleBase
12 from efo.lookup
import LkupTblElev
13 from efo.time
import TimeBase
22 if cls
is RuleEmgcBase:
24 if set(cls.__abstractmethods__) <= attrs:
39 self.
rlsEmgcSchedrlsEmgcSched = LkupTblElev(name, hypso, elev, rlsEmgcVals)
41 def calc_release(self, rlsProposed, *, stor, rlsUnCtrl, rlsPrev=None, qIn=None):
43 rlsProposed, rlsPrev=rlsPrev, rlsUnCtrl=rlsUnCtrl, stor=stor, qIn=qIn)
47 stor = stor - (rlsUnCtrl + rlsEmgc)*self.
constantsconstants.cfs2af
49 if rlsUnCtrl > 0
and rlsEmgc > 0
and stor < self.
rlsEmgcSchedrlsEmgcSched.minIdx:
55 self.release[self.T.step] = rlsEmgc
56 return max(rlsEmgc, rlsProposed)
def __subclasshook__(cls, C)
def __init__(self, name, time)
def calc_release(self, rlsProposed, *stor, rlsUnCtrl, rlsPrev=None, qIn=None)
def __init__(self, name, time, constants)
def set_emergency_table(self, name, hypso, elev, rlsEmgcVals)