"""
Derived parameter MSIDs related to thermal subsystems.
"""
import numpy as np
from . import base
[docs]class DerivedParameterThermal(base.DerivedParameter):
content_root = 'thermal'
[docs] def fix_4OHTRZ50(self, data):
# This is the first period when zone 50 became stuck on, up until it
# became temporarily unstuck in 2006:363.
stuck1 = (data.times > 188439810.759) & (data.times < 283792685.184)
# Zone 50 became stuck again on day 2006:364.
stuck2 = data.times > 283844996.184
stuck = stuck1 | stuck2
data['4OHTRZ50'].vals[stuck] = 1
#--------------------------------------------
[docs]class DP_EE_AXIAL(DerivedParameterThermal):
rootparams = ['OHRTHR58', 'OHRTHR12', 'OHRTHR36', 'OHRTHR56', 'OHRTHR57',
'OHRTHR55', 'OHRTHR35', 'OHRTHR37', 'OHRTHR34', 'OHRTHR13',
'OHRTHR10', 'OHRTHR11']
time_step = 32.8
[docs] def calc(self, data):
HYPAVE = (data['OHRTHR12'].vals + data['OHRTHR13'].vals +
data['OHRTHR36'].vals + data['OHRTHR37'].vals +
data['OHRTHR57'].vals + data['OHRTHR58'].vals) / 6
PARAVE = (data['OHRTHR10'].vals + data['OHRTHR11'].vals +
data['OHRTHR34'].vals + data['OHRTHR35'].vals +
data['OHRTHR55'].vals + data['OHRTHR56'].vals) / 6
HAAG = PARAVE - HYPAVE
DTAXIAL = np.abs(1.0 * HAAG)
EE_AXIAL = DTAXIAL * 0.0034
return EE_AXIAL
#--------------------------------------------
[docs]class DP_EE_BULK(DerivedParameterThermal):
rootparams = ['OHRTHR10', 'OHRTHR58', 'OHRTHR52', 'OHRTHR53', 'OHRTHR56',
'OHRTHR57', 'OHRTHR54', 'OHRTHR55', 'OHRTHR12', 'OHRTHR35',
'OHRTHR11', 'OHRTHR08', 'OHRTHR09', 'OHRTHR31', 'OHRTHR33',
'OHRTHR34', 'OHRTHR13', 'OHRTHR36', 'OHRTHR37']
time_step = 32.8
[docs] def calc(self, data):
P_SUM = (data['OHRTHR10'].vals + data['OHRTHR11'].vals +
data['OHRTHR34'].vals + data['OHRTHR35'].vals +
data['OHRTHR55'].vals + data['OHRTHR56'].vals)
H_SUM = (data['OHRTHR12'].vals + data['OHRTHR13'].vals +
data['OHRTHR36'].vals + data['OHRTHR37'].vals +
data['OHRTHR57'].vals + data['OHRTHR58'].vals)
CAP_SUM = (data['OHRTHR08'].vals + data['OHRTHR09'].vals +
data['OHRTHR31'].vals + data['OHRTHR33'].vals +
data['OHRTHR52'].vals + data['OHRTHR53'].vals +
data['OHRTHR54'].vals)
HMCSAVE = (CAP_SUM + P_SUM + H_SUM) / 19.0
DTBULK = np.abs(1.0 * HMCSAVE - 69.8)
EE_BULK = DTBULK * 0.0267
return EE_BULK
#--------------------------------------------
[docs]class DP_EE_DIAM(DerivedParameterThermal):
"""Kodak diametrical encircled energy"""
rootparams = ['OHRMGRD6', 'OHRMGRD3']
time_step = 32.8
[docs] def calc(self, data):
VAL2 = np.abs(1.0 * data['OHRMGRD6'].vals)
VAL1 = np.abs(1.0 * data['OHRMGRD3'].vals)
DTDIAM = np.max([VAL1, VAL2], axis=0)
EE_DIAM = DTDIAM * 0.401
return EE_DIAM
#--------------------------------------------
[docs]class DP_EE_RADIAL(DerivedParameterThermal):
rootparams = ['OHRTHR52', 'OHRTHR53', 'OHRTHR54', 'OHRTHR31', 'OHRTHR09',
'OHRTHR08', 'OHRTHR33']
time_step = 32.8
[docs] def calc(self, data):
CAPIAVE = (data['OHRTHR09'].vals + data['OHRTHR53'].vals +
data['OHRTHR54'].vals) / 3
CAPOAVE = (data['OHRTHR08'].vals + data['OHRTHR31'].vals +
data['OHRTHR33'].vals + data['OHRTHR52'].vals) / 4
HARG = CAPOAVE - CAPIAVE
DTRADIAL = np.abs(1.0 * HARG)
EE_RADIAL = DTRADIAL * 0.0127
return EE_RADIAL
#--------------------------------------------
[docs]class DP_EE_THERM(DerivedParameterThermal):
rootparams = ['OHRTHR37', 'OHRTHR58', 'OHRMGRD6', 'OHRMGRD3', 'OHRTHR35',
'OHRTHR52', 'OHRTHR53', 'OHRTHR56', 'OHRTHR57', 'OHRTHR54',
'OHRTHR55', 'OHRTHR12', 'OHRTHR36', 'OHRTHR08', 'OHRTHR09',
'OHRTHR31', 'OHRTHR33', 'OHRTHR34', 'OHRTHR13', 'OHRTHR10',
'OHRTHR11']
time_step = 32.8
[docs] def calc(self, data):
CAP_SUM = (data['OHRTHR08'].vals + data['OHRTHR09'].vals +
data['OHRTHR31'].vals + data['OHRTHR33'].vals +
data['OHRTHR52'].vals + data['OHRTHR53'].vals +
data['OHRTHR54'].vals)
CAPIAVE = (data['OHRTHR09'].vals + data['OHRTHR53'].vals +
data['OHRTHR54'].vals) / 3
P_SUM = (data['OHRTHR10'].vals + data['OHRTHR11'].vals +
data['OHRTHR34'].vals + data['OHRTHR35'].vals +
data['OHRTHR55'].vals + data['OHRTHR56'].vals)
CAPOAVE = (data['OHRTHR08'].vals + data['OHRTHR31'].vals +
data['OHRTHR33'].vals + data['OHRTHR52'].vals) / 4
H_SUM = (data['OHRTHR12'].vals + data['OHRTHR13'].vals +
data['OHRTHR36'].vals + data['OHRTHR37'].vals +
data['OHRTHR57'].vals + data['OHRTHR58'].vals)
PARAVE = (data['OHRTHR10'].vals + data['OHRTHR11'].vals +
data['OHRTHR34'].vals + data['OHRTHR35'].vals +
data['OHRTHR55'].vals + data['OHRTHR56'].vals) / 6
HYPAVE = (data['OHRTHR12'].vals + data['OHRTHR13'].vals +
data['OHRTHR36'].vals + data['OHRTHR37'].vals +
data['OHRTHR57'].vals + data['OHRTHR58'].vals) / 6
VAL1 = np.abs(1.0 * data['OHRMGRD3'].vals)
VAL2 = np.abs(1.0 * data['OHRMGRD6'].vals)
HAAG = PARAVE - HYPAVE
HARG = CAPOAVE - CAPIAVE
HMCSAVE = (CAP_SUM + P_SUM + H_SUM) / 19.0
DTAXIAL = np.abs(1.0 * HAAG)
DTRADIAL = np.abs(1.0 * HARG)
DTDIAM = np.max([VAL1, VAL2], axis=0)
DTBULK = np.abs(1.0 * HMCSAVE - 69.8)
EE_RADIAL = DTRADIAL * 0.0127
EE_AXIAL = DTAXIAL * 0.0034
EE_BULK = DTBULK * 0.0267
EE_DIAM = DTDIAM * 0.401
EE_THERM = (EE_BULK + EE_AXIAL + EE_RADIAL + EE_DIAM)
return EE_THERM
#--------------------------------------------
[docs]class DP_HAAG(DerivedParameterThermal):
rootparams = ['OHRTHR58', 'OHRTHR12', 'OHRTHR56', 'OHRTHR57', 'OHRTHR55',
'OHRTHR13', 'OHRTHR36', 'OHRTHR37', 'OHRTHR34', 'OHRTHR35',
'OHRTHR10', 'OHRTHR11']
time_step = 32.8
[docs] def calc(self, data):
HYPAVE = (data['OHRTHR12'].vals + data['OHRTHR13'].vals +
data['OHRTHR36'].vals + data['OHRTHR37'].vals +
data['OHRTHR57'].vals + data['OHRTHR58'].vals) / 6
PARAVE = (data['OHRTHR10'].vals + data['OHRTHR11'].vals +
data['OHRTHR34'].vals + data['OHRTHR35'].vals +
data['OHRTHR55'].vals + data['OHRTHR56'].vals) / 6
HAAG = PARAVE - HYPAVE
return HAAG
#--------------------------------------------
[docs]class DP_HARG(DerivedParameterThermal):
rootparams = ['OHRTHR52', 'OHRTHR53', 'OHRTHR54', 'OHRTHR31', 'OHRTHR09',
'OHRTHR08', 'OHRTHR33']
time_step = 32.8
[docs] def calc(self, data):
CAPIAVE = (data['OHRTHR09'].vals + data['OHRTHR53'].vals +
data['OHRTHR54'].vals) / 3
CAPOAVE = (data['OHRTHR08'].vals + data['OHRTHR31'].vals +
data['OHRTHR33'].vals + data['OHRTHR52'].vals) / 4
HARG = CAPOAVE - CAPIAVE
return HARG
#--------------------------------------------
[docs]class DP_HMAX35(DerivedParameterThermal):
rootparams = ['OHRTHR52', 'OHRTHR53', 'OHRTHR50', 'OHRTHR51', 'OHRTHR56',
'OHRTHR55', 'OHRTHR23', 'OHRTHR22', 'OHRTHR30', 'OHRTHR33',
'OHRTHR12', 'OHRTHR13', 'OHRTHR10', 'OHRTHR11', 'OHRTHR36',
'OHRTHR37', 'OHRTHR49', 'OHRTHR45', 'OHRTHR44', 'OHRTHR47',
'OHRTHR46', 'OHRTHR42', 'OHRTHR29', 'OHRTHR02', 'OHRTHR05',
'OHRTHR04', 'OHRTHR07', 'OHRTHR06', 'OHRTHR09', 'OHRTHR08',
'OHRTHR21', 'OHRTHR27', 'OHRTHR26', 'OHRTHR25', 'OHRTHR24',
'OHRTHR03']
time_step = 32.8
[docs] def calc(self, data):
HMAX35 = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
HMAX35 = np.max([HMAX35, data[names].vals], axis=0)
return HMAX35
#--------------------------------------------
[docs]class DP_HMCSAVE(DerivedParameterThermal):
rootparams = ['OHRTHR10', 'OHRTHR58', 'OHRTHR52', 'OHRTHR53', 'OHRTHR56',
'OHRTHR57', 'OHRTHR54', 'OHRTHR55', 'OHRTHR12', 'OHRTHR35',
'OHRTHR11', 'OHRTHR08', 'OHRTHR09', 'OHRTHR31', 'OHRTHR33',
'OHRTHR34', 'OHRTHR13', 'OHRTHR36', 'OHRTHR37']
time_step = 32.8
[docs] def calc(self, data):
P_SUM = (data['OHRTHR10'].vals + data['OHRTHR11'].vals +
data['OHRTHR34'].vals + data['OHRTHR35'].vals +
data['OHRTHR55'].vals + data['OHRTHR56'].vals)
H_SUM = (data['OHRTHR12'].vals + data['OHRTHR13'].vals +
data['OHRTHR36'].vals + data['OHRTHR37'].vals +
data['OHRTHR57'].vals + data['OHRTHR58'].vals)
CAP_SUM = (data['OHRTHR08'].vals + data['OHRTHR09'].vals +
data['OHRTHR31'].vals + data['OHRTHR33'].vals +
data['OHRTHR52'].vals + data['OHRTHR53'].vals +
data['OHRTHR54'].vals)
HMCSAVE = (CAP_SUM + P_SUM + H_SUM) / 19.0
return HMCSAVE
#--------------------------------------------
[docs]class DP_HMIN35(DerivedParameterThermal):
rootparams = ['OHRTHR52', 'OHRTHR53', 'OHRTHR50', 'OHRTHR51', 'OHRTHR56',
'OHRTHR55', 'OHRTHR23', 'OHRTHR08', 'OHRTHR30', 'OHRTHR33',
'OHRTHR12', 'OHRTHR13', 'OHRTHR36', 'OHRTHR11', 'OHRTHR10',
'OHRTHR37', 'OHRTHR49', 'OHRTHR45', 'OHRTHR44', 'OHRTHR47',
'OHRTHR46', 'OHRTHR42', 'OHRTHR29', 'OHRTHR02', 'OHRTHR05',
'OHRTHR04', 'OHRTHR07', 'OHRTHR06', 'OHRTHR09', 'OHRTHR22',
'OHRTHR21', 'OHRTHR27', 'OHRTHR26', 'OHRTHR25', 'OHRTHR24',
'OHRTHR03']
time_step = 32.8
[docs] def calc(self, data):
HMIN35 = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
HMIN35 = np.min([HMIN35, data[names].vals], axis=0)
return HMIN35
#--------------------------------------------
[docs]class DP_HRMA_AVE(DerivedParameterThermal):
rootparams = ['OHRTHR52', 'OHRTHR53', 'OHRTHR50', 'OHRTHR51', 'OHRTHR56',
'OHRTHR55', 'OHRTHR09', 'OHRTHR08', 'OHRTHR30', 'OHRTHR33',
'OHRTHR12', 'OHRTHR13', 'OHRTHR10', 'OHRTHR11', 'OHRTHR36',
'OHRTHR37', 'OHRTHR49', 'OHRTHR45', 'OHRTHR44', 'OHRTHR47',
'OHRTHR46', 'OHRTHR42', 'OHRTHR29', 'OHRTHR02', 'OHRTHR05',
'OHRTHR04', 'OHRTHR07', 'OHRTHR06', 'OHRTHR23', 'OHRTHR22',
'OHRTHR21', 'OHRTHR27', 'OHRTHR26', 'OHRTHR25', 'OHRTHR24',
'OHRTHR03']
time_step = 32.8
[docs] def calc(self, data):
HSUM = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
HSUM = HSUM + data[names].vals
HRMA_AVE = HSUM / 36
return HRMA_AVE
#--------------------------------------------
[docs]class DP_HRMHCHK(DerivedParameterThermal):
rootparams = ['OHRTHR52', 'OHRTHR53', 'OHRTHR50', 'OHRTHR51', 'OHRTHR56',
'OHRTHR55', 'OHRTHR09', 'OHRTHR08', 'OHRTHR30', 'OHRTHR33',
'OHRTHR12', 'OHRTHR13', 'OHRTHR10', 'OHRTHR11', 'OHRTHR36',
'OHRTHR37', 'OHRTHR49', 'OHRTHR45', 'OHRTHR44', 'OHRTHR47',
'OHRTHR46', 'OHRTHR42', 'OHRTHR03', 'OHRTHR02', 'OHRTHR05',
'OHRTHR04', 'OHRTHR07', 'OHRTHR06', 'OHRTHR23', 'OHRTHR22',
'OHRTHR21', 'OHRTHR27', 'OHRTHR26', 'OHRTHR25', 'OHRTHR24',
'OHRTHR29']
time_step = 32.8
[docs] def calc(self, data):
HMIN35 = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
HMIN35 = np.min([HMIN35, data[names].vals], axis=0)
HMAX35 = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
HMAX35 = np.max([HMAX35, data[names].vals], axis=0)
HRMHCHK = HMAX35 - HMIN35
return HRMHCHK
#--------------------------------------------
[docs]class DP_OBAAG(DerivedParameterThermal):
rootparams = ['4RT704T', '4RT705T', '4RT708T', '4RT707T', '4RT709T', '4RT711T',
'4RT700T', '4RT702T', '4RT701T', '4RT703T', 'OOBTHR34',
'OOBTHR33', 'OOBTHR31', 'OOBTHR62', 'OOBTHR63', '4RT706T',
'4RT710T']
time_step = 32.8
[docs] def calc(self, data):
AVE2 = (data['4RT705T'].vals + data['4RT706T'].vals +
data['4RT707T'].vals + data['4RT708T'].vals +
data['4RT709T'].vals + data['4RT710T'].vals +
data['4RT711T'].vals)
AVE1 = (data['OOBTHR62'].vals + data['OOBTHR63'].vals +
data['4RT700T'].vals + data['4RT701T'].vals +
data['4RT702T'].vals + data['4RT703T'].vals +
data['4RT704T'].vals)
DIAVE = (data['OOBTHR31'].vals + data['OOBTHR33'].vals +
data['OOBTHR34'].vals) / 3
AXAVE = (AVE1 + AVE2) / 14
OBAAG = AXAVE - DIAVE
return OBAAG
#--------------------------------------------
[docs]class DP_OBAAGW(DerivedParameterThermal):
rootparams = ['4RT705T', '4RT707T', '4RT709T', '4RT711T', '4RT701T', '4RT703T',
'OOBTHR34', 'OOBTHR33', 'OOBTHR31']
time_step = 32.8
[docs] def calc(self, data):
AFT_FIT = (data['OOBTHR31'].vals + data['OOBTHR33'].vals +
data['OOBTHR34'].vals) / 3
FWD_FIT = (data['4RT701T'].vals + data['4RT703T'].vals +
data['4RT705T'].vals + data['4RT707T'].vals +
data['4RT709T'].vals + data['4RT711T'].vals) / 6
OBAAGW = FWD_FIT - AFT_FIT
return OBAAGW
#--------------------------------------------
[docs]class DP_OBACAVE(DerivedParameterThermal):
rootparams = ['OOBTHR19', 'OOBTHR18', 'OOBTHR15', 'OOBTHR14', 'OOBTHR17',
'OOBTHR11', 'OOBTHR10', 'OOBTHR13', 'OOBTHR12', 'OOBTHR30',
'OOBTHR08', 'OOBTHR09', 'OOBTHR24', 'OOBTHR25', 'OOBTHR26',
'OOBTHR27', 'OOBTHR20', 'OOBTHR21', 'OOBTHR22', 'OOBTHR23',
'OOBTHR28', 'OOBTHR29']
time_step = 32.8
[docs] def calc(self, data):
MIDCONE = (data['OOBTHR19'].vals + data['OOBTHR20'].vals +
data['OOBTHR21'].vals + data['OOBTHR22'].vals +
data['OOBTHR23'].vals + data['OOBTHR24'].vals +
data['OOBTHR25'].vals)
AFTCONE = (data['OOBTHR26'].vals + data['OOBTHR27'].vals +
data['OOBTHR28'].vals + data['OOBTHR29'].vals +
data['OOBTHR30'].vals)
FWDCONE = (data['OOBTHR08'].vals + data['OOBTHR09'].vals +
data['OOBTHR10'].vals + data['OOBTHR11'].vals +
data['OOBTHR12'].vals + data['OOBTHR13'].vals +
data['OOBTHR14'].vals + data['OOBTHR15'].vals +
data['OOBTHR17'].vals + data['OOBTHR18'].vals)
OBACAVE = (FWDCONE + MIDCONE + AFTCONE) / 22
return OBACAVE
#--------------------------------------------
[docs]class DP_OBACAVEW(DerivedParameterThermal):
rootparams = ['4RT705T', 'OOBTHR19', '4RT707T', 'OOBTHR15', 'OOBTHR14',
'4RT711T', 'OOBTHR11', 'OOBTHR10', 'OOBTHR13', '4RT701T',
'OOBTHR34', 'OOBTHR33', 'OOBTHR31', 'OOBTHR30', 'OOBTHR18',
'4RT709T', '4RT703T', 'OOBTHR17', 'OOBTHR08', 'OOBTHR09',
'OOBTHR24', 'OOBTHR25', 'OOBTHR26', 'OOBTHR27', 'OOBTHR20',
'OOBTHR21', 'OOBTHR22', 'OOBTHR23', 'OOBTHR12', 'OOBTHR28',
'OOBTHR29']
time_step = 32.8
[docs] def calc(self, data):
FWD_FIT = (data['4RT701T'].vals + data['4RT703T'].vals +
data['4RT705T'].vals + data['4RT707T'].vals +
data['4RT709T'].vals + data['4RT711T'].vals) / 6
AFTCONE = (data['OOBTHR26'].vals + data['OOBTHR27'].vals +
data['OOBTHR28'].vals + data['OOBTHR29'].vals +
data['OOBTHR30'].vals)
AFT_FIT = (data['OOBTHR31'].vals + data['OOBTHR33'].vals +
data['OOBTHR34'].vals) / 3
MIDCONE = (data['OOBTHR19'].vals + data['OOBTHR20'].vals +
data['OOBTHR21'].vals + data['OOBTHR22'].vals +
data['OOBTHR23'].vals + data['OOBTHR24'].vals +
data['OOBTHR25'].vals)
FWDCONE = (data['OOBTHR08'].vals + data['OOBTHR09'].vals +
data['OOBTHR10'].vals + data['OOBTHR11'].vals +
data['OOBTHR12'].vals + data['OOBTHR13'].vals +
data['OOBTHR14'].vals + data['OOBTHR15'].vals +
data['OOBTHR17'].vals + data['OOBTHR18'].vals)
OBACAVE = (FWDCONE + MIDCONE + AFTCONE) / 22
OBACAVEW = (OBACAVE * 148. - FWD_FIT * 70. - AFT_FIT * 29.) / 49.
return OBACAVEW
#--------------------------------------------
[docs]class DP_OBADIG(DerivedParameterThermal):
rootparams = ['OOBTHR08', 'OOBTHR19', 'OOBTHR31', 'OOBTHR13', 'OOBTHR26',
'OOBTHR34', 'OOBTHR33', 'OOBTHR22', 'OOBTHR23', 'OOBTHR60',
'OOBTHR61', 'OOBTHR28', 'OOBTHR29']
time_step = 32.8
[docs] def calc(self, data):
MZSAVE = (data['OOBTHR08'].vals + data['OOBTHR19'].vals +
data['OOBTHR26'].vals + data['OOBTHR31'].vals +
data['OOBTHR60'].vals) / 5
PZSAVE = (data['OOBTHR13'].vals + data['OOBTHR22'].vals +
data['OOBTHR23'].vals + data['OOBTHR28'].vals +
data['OOBTHR29'].vals + data['OOBTHR61'].vals +
data['OOBTHR33'].vals + data['OOBTHR34'].vals) / 8
OBADIG = MZSAVE - PZSAVE
return OBADIG
#--------------------------------------------
[docs]class DP_OBADIGW(DerivedParameterThermal):
rootparams = ['OOBTHR08', '4RT705T', 'OOBTHR19', '4RT707T', 'OOBTHR22',
'4RT711T', 'OOBTHR13', '4RT701T', 'OOBTHR26', 'OOBTHR34',
'OOBTHR33', 'OOBTHR31', 'OOBTHR23', 'OOBTHR60', 'OOBTHR61',
'OOBTHR28', 'OOBTHR29']
time_step = 32.8
[docs] def calc(self, data):
FWD_FIT_PZ = (data['4RT705T'].vals + data['4RT707T'].vals) / 2. * 70.0
AFT_FIT_MZ = data['OOBTHR31'].vals * 29.
PZSAVE = (data['OOBTHR13'].vals + data['OOBTHR22'].vals +
data['OOBTHR23'].vals + data['OOBTHR28'].vals +
data['OOBTHR29'].vals + data['OOBTHR61'].vals +
data['OOBTHR33'].vals + data['OOBTHR34'].vals) / 8
MZSAVE = (data['OOBTHR08'].vals + data['OOBTHR19'].vals +
data['OOBTHR26'].vals + data['OOBTHR31'].vals +
data['OOBTHR60'].vals) / 5
AFT_FIT_PZ = (data['OOBTHR33'].vals + data['OOBTHR34'].vals) / 2 * 29.
FWD_FIT_MZ = (data['4RT701T'].vals + data['4RT711T'].vals) / 2. * 70.0
OBADIG = MZSAVE - PZSAVE
OBADIGW = (OBADIG * 148. - (FWD_FIT_MZ - FWD_FIT_PZ) -
(AFT_FIT_MZ - AFT_FIT_PZ)) / 49.
return OBADIGW
#--------------------------------------------
[docs]class DP_OBA_AVE(DerivedParameterThermal):
rootparams = ['OOBTHR19', 'OOBTHR18', 'OOBTHR15', 'OOBTHR14', 'OOBTHR17',
'OOBTHR11', 'OOBTHR10', 'OOBTHR13', 'OOBTHR12', 'OOBTHR37',
'OOBTHR36', 'OOBTHR35', 'OOBTHR34', 'OOBTHR33', 'OOBTHR31',
'OOBTHR30', 'OOBTHR39', 'OOBTHR38', 'OOBTHR08', 'OOBTHR09',
'OOBTHR24', 'OOBTHR25', 'OOBTHR26', 'OOBTHR27', 'OOBTHR20',
'OOBTHR21', 'OOBTHR22', 'OOBTHR23', 'OOBTHR46', 'OOBTHR44',
'OOBTHR45', 'OOBTHR28', 'OOBTHR29', 'OOBTHR40', 'OOBTHR41']
time_step = 32.8
[docs] def calc(self, data):
OSUM = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
OSUM = OSUM + data[names].vals
OBA_AVE = OSUM / 36
return OBA_AVE
#--------------------------------------------
[docs]class DP_OMAX34(DerivedParameterThermal):
rootparams = ['OOBTHR19', 'OOBTHR18', 'OOBTHR15', 'OOBTHR14', 'OOBTHR17',
'OOBTHR11', 'OOBTHR10', 'OOBTHR13', 'OOBTHR12', 'OOBTHR37',
'OOBTHR36', 'OOBTHR35', 'OOBTHR34', 'OOBTHR33', 'OOBTHR31',
'OOBTHR30', 'OOBTHR39', 'OOBTHR38', 'OOBTHR28', 'OOBTHR08',
'OOBTHR09', 'OOBTHR24', 'OOBTHR25', 'OOBTHR26', 'OOBTHR27',
'OOBTHR20', 'OOBTHR21', 'OOBTHR22', 'OOBTHR23', 'OOBTHR46',
'OOBTHR45', 'OOBTHR42', 'OOBTHR29', 'OOBTHR40', 'OOBTHR41']
time_step = 32.8
[docs] def calc(self, data):
OMAX34 = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
OMAX34 = np.max([OMAX34, data[names].vals], axis=0)
return OMAX34
#--------------------------------------------
[docs]class DP_OMIN34(DerivedParameterThermal):
rootparams = ['OOBTHR19', 'OOBTHR18', 'OOBTHR15', 'OOBTHR14', 'OOBTHR17',
'OOBTHR11', 'OOBTHR10', 'OOBTHR13', 'OOBTHR12', 'OOBTHR37',
'OOBTHR36', 'OOBTHR35', 'OOBTHR34', 'OOBTHR33', 'OOBTHR31',
'OOBTHR30', 'OOBTHR39', 'OOBTHR38', 'OOBTHR28', 'OOBTHR08',
'OOBTHR09', 'OOBTHR24', 'OOBTHR25', 'OOBTHR26', 'OOBTHR27',
'OOBTHR20', 'OOBTHR21', 'OOBTHR22', 'OOBTHR23', 'OOBTHR46',
'OOBTHR45', 'OOBTHR42', 'OOBTHR29', 'OOBTHR40', 'OOBTHR41']
time_step = 32.8
[docs] def calc(self, data):
OMIN34 = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
OMIN34 = np.min([OMIN34, data[names].vals], axis=0)
return OMIN34
#--------------------------------------------
[docs]class DP_P01(DerivedParameterThermal):
"""Zone 1 heater power"""
rootparams = ['ELBV', '4OHTRZ01']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P01 = data['4OHTRZ01'].vals * VSQUARED / 110.2
return P01
#--------------------------------------------
[docs]class DP_P02(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ02']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P02 = data['4OHTRZ02'].vals * VSQUARED / 109.7
return P02
#--------------------------------------------
[docs]class DP_P03(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ03']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P03 = data['4OHTRZ03'].vals * VSQUARED / 109.4
return P03
#--------------------------------------------
[docs]class DP_P04(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ04']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P04 = data['4OHTRZ04'].vals * VSQUARED / 175.9
return P04
#--------------------------------------------
[docs]class DP_P05(DerivedParameterThermal):
rootparams = ['4OHTRZ05', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P05 = data['4OHTRZ05'].vals * VSQUARED / 175.7
return P05
#--------------------------------------------
[docs]class DP_P06(DerivedParameterThermal):
rootparams = ['4OHTRZ06', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P06 = data['4OHTRZ06'].vals * VSQUARED / 175.6
return P06
#--------------------------------------------
[docs]class DP_P07(DerivedParameterThermal):
rootparams = ['4OHTRZ07', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P07 = data['4OHTRZ07'].vals * VSQUARED / 135.8
return P07
#--------------------------------------------
[docs]class DP_P08(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ08']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P08 = data['4OHTRZ08'].vals * VSQUARED / 36.1
return P08
#--------------------------------------------
[docs]class DP_P09(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ09']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P09 = data['4OHTRZ09'].vals * VSQUARED / 32.6
return P09
#--------------------------------------------
[docs]class DP_P10(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ10']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P10 = data['4OHTRZ10'].vals * VSQUARED / 34.9
return P10
#--------------------------------------------
[docs]class DP_P11(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ11']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P11 = data['4OHTRZ11'].vals * VSQUARED / 39.4
return P11
#--------------------------------------------
[docs]class DP_P12(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ12']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P12 = data['4OHTRZ12'].vals * VSQUARED / 40.3
return P12
#--------------------------------------------
[docs]class DP_P13(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ13']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P13 = data['4OHTRZ13'].vals * VSQUARED / 39.7
return P13
#--------------------------------------------
[docs]class DP_P14(DerivedParameterThermal):
rootparams = ['4OHTRZ14', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P14 = data['4OHTRZ14'].vals * VSQUARED / 41.2
return P14
#--------------------------------------------
[docs]class DP_P15(DerivedParameterThermal):
rootparams = ['4OHTRZ15', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P15 = data['4OHTRZ15'].vals * VSQUARED / 40.5
return P15
#--------------------------------------------
[docs]class DP_P16(DerivedParameterThermal):
rootparams = ['4OHTRZ16', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P16 = data['4OHTRZ16'].vals * VSQUARED / 41.3
return P16
#--------------------------------------------
[docs]class DP_P17(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ17']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P17 = data['4OHTRZ17'].vals * VSQUARED / 116.0
return P17
#--------------------------------------------
[docs]class DP_P18(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ18']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P18 = data['4OHTRZ18'].vals * VSQUARED / 115.7
return P18
#--------------------------------------------
[docs]class DP_P19(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ19']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P19 = data['4OHTRZ19'].vals * VSQUARED / 95.3
return P19
#--------------------------------------------
[docs]class DP_P20(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ20']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P20 = data['4OHTRZ20'].vals * VSQUARED / 379.0
return P20
#--------------------------------------------
[docs]class DP_P23(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ23']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P23 = data['4OHTRZ23'].vals * VSQUARED / 386.0
return P23
#--------------------------------------------
[docs]class DP_P24(DerivedParameterThermal):
rootparams = ['4OHTRZ24', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P24 = data['4OHTRZ24'].vals * VSQUARED / 385.8
return P24
#--------------------------------------------
[docs]class DP_P25(DerivedParameterThermal):
rootparams = ['4OHTRZ25', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P25 = data['4OHTRZ25'].vals * VSQUARED / 383.0
return P25
#--------------------------------------------
[docs]class DP_P26(DerivedParameterThermal):
rootparams = ['4OHTRZ26', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P26 = data['4OHTRZ26'].vals * VSQUARED / 383.5
return P26
#--------------------------------------------
[docs]class DP_P27(DerivedParameterThermal):
rootparams = ['4OHTRZ27', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P27 = data['4OHTRZ27'].vals * VSQUARED / 383.0
return P27
#--------------------------------------------
[docs]class DP_P28(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ28']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P28 = data['4OHTRZ28'].vals * VSQUARED / 382.3
return P28
#--------------------------------------------
[docs]class DP_P29(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ29']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P29 = data['4OHTRZ29'].vals * VSQUARED / 384.0
return P29
#--------------------------------------------
[docs]class DP_P30(DerivedParameterThermal):
rootparams = ['4OHTRZ30', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P30 = data['4OHTRZ30'].vals * VSQUARED / 383.0
return P30
#--------------------------------------------
[docs]class DP_P31(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ31']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P31 = data['4OHTRZ31'].vals * VSQUARED / 32.2
return P31
#--------------------------------------------
[docs]class DP_P32(DerivedParameterThermal):
rootparams = ['4OHTRZ32', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P32 = data['4OHTRZ32'].vals * VSQUARED / 28.6
return P32
#--------------------------------------------
[docs]class DP_P33(DerivedParameterThermal):
rootparams = ['4OHTRZ33', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P33 = data['4OHTRZ33'].vals * VSQUARED / 36.9
return P33
#--------------------------------------------
[docs]class DP_P34(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ34']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P34 = data['4OHTRZ34'].vals * VSQUARED / 28.0
return P34
#--------------------------------------------
[docs]class DP_P35(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ35']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P35 = data['4OHTRZ35'].vals * VSQUARED / 32.2
return P35
#--------------------------------------------
[docs]class DP_P36(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ36']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P36 = data['4OHTRZ36'].vals * VSQUARED / 44.3
return P36
#--------------------------------------------
[docs]class DP_P37(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ37']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P37 = data['4OHTRZ37'].vals * VSQUARED / 32.1
return P37
#--------------------------------------------
[docs]class DP_P38(DerivedParameterThermal):
rootparams = ['4OHTRZ38', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P38 = data['4OHTRZ38'].vals * VSQUARED / 27.8
return P38
#--------------------------------------------
[docs]class DP_P39(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ39']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P39 = data['4OHTRZ39'].vals * VSQUARED / 36.8
return P39
#--------------------------------------------
[docs]class DP_P40(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ40']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P40 = data['4OHTRZ40'].vals * VSQUARED / 28.3
return P40
#--------------------------------------------
[docs]class DP_P41(DerivedParameterThermal):
rootparams = ['4OHTRZ41', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P41 = data['4OHTRZ41'].vals * VSQUARED / 61.7
return P41
#--------------------------------------------
[docs]class DP_P42(DerivedParameterThermal):
rootparams = ['4OHTRZ42', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P42 = data['4OHTRZ42'].vals * VSQUARED / 51.7
return P42
#--------------------------------------------
[docs]class DP_P43(DerivedParameterThermal):
rootparams = ['4OHTRZ43', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P43 = data['4OHTRZ43'].vals * VSQUARED / 36.8
return P43
#--------------------------------------------
[docs]class DP_P44(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ44']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P44 = data['4OHTRZ44'].vals * VSQUARED / 36.9
return P44
#--------------------------------------------
[docs]class DP_P45(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ45']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P45 = data['4OHTRZ45'].vals * VSQUARED / 36.8
return P45
#--------------------------------------------
[docs]class DP_P46(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ46']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P46 = data['4OHTRZ46'].vals * VSQUARED / 36.5
return P46
#--------------------------------------------
[docs]class DP_P47(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ47']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P47 = data['4OHTRZ47'].vals * VSQUARED / 52.3
return P47
#--------------------------------------------
[docs]class DP_P48(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ48']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P48 = data['4OHTRZ48'].vals * VSQUARED / 79.5
return P48
#--------------------------------------------
[docs]class DP_P49(DerivedParameterThermal):
rootparams = ['4OHTRZ49', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P49 = data['4OHTRZ49'].vals * VSQUARED / 34.8
return P49
#--------------------------------------------
[docs]class DP_P50(DerivedParameterThermal):
rootparams = ['4OHTRZ50', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
self.fix_4OHTRZ50(data)
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P50 = data['4OHTRZ50'].vals * VSQUARED / 35.2
return P50
#--------------------------------------------
[docs]class DP_P51(DerivedParameterThermal):
rootparams = ['4OHTRZ51', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P51 = data['4OHTRZ51'].vals * VSQUARED / 35.4
return P51
#--------------------------------------------
[docs]class DP_P52(DerivedParameterThermal):
rootparams = ['4OHTRZ52', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P52 = data['4OHTRZ52'].vals * VSQUARED / 34.4
return P52
#--------------------------------------------
[docs]class DP_P53(DerivedParameterThermal):
rootparams = ['4OHTRZ53', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P53 = data['4OHTRZ53'].vals * VSQUARED / 94.1
return P53
#--------------------------------------------
[docs]class DP_P54(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ54']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P54 = data['4OHTRZ54'].vals * VSQUARED / 124.4
return P54
#--------------------------------------------
[docs]class DP_P55(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ55']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P55 = data['4OHTRZ55'].vals * VSQUARED / 126.8
return P55
#--------------------------------------------
[docs]class DP_P57(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ57']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P57 = data['4OHTRZ57'].vals * VSQUARED / 142.3
return P57
#--------------------------------------------
[docs]class DP_P58(DerivedParameterThermal):
rootparams = ['4OHTRZ58', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P58 = data['4OHTRZ58'].vals * VSQUARED / 83.7
return P58
#--------------------------------------------
[docs]class DP_P59(DerivedParameterThermal):
rootparams = ['4OHTRZ59', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P59 = data['4OHTRZ59'].vals * VSQUARED / 29.7
return P59
#--------------------------------------------
[docs]class DP_P60(DerivedParameterThermal):
rootparams = ['4OHTRZ60', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P60 = data['4OHTRZ60'].vals * VSQUARED / 30.7
return P60
#--------------------------------------------
[docs]class DP_P61(DerivedParameterThermal):
rootparams = ['4OHTRZ61', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P61 = data['4OHTRZ61'].vals * VSQUARED / 33.7
return P61
#--------------------------------------------
[docs]class DP_P62(DerivedParameterThermal):
rootparams = ['4OHTRZ62', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P62 = data['4OHTRZ62'].vals * VSQUARED / 36.1
return P62
#--------------------------------------------
[docs]class DP_P63(DerivedParameterThermal):
rootparams = ['4OHTRZ63', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P63 = data['4OHTRZ63'].vals * VSQUARED / 36.1
return P63
#--------------------------------------------
[docs]class DP_P64(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ64']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P64 = data['4OHTRZ64'].vals * VSQUARED / 44.1
return P64
#--------------------------------------------
[docs]class DP_P65(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ65']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P65 = data['4OHTRZ65'].vals * VSQUARED / 37.5
return P65
#--------------------------------------------
[docs]class DP_P66(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ66']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P66 = data['4OHTRZ66'].vals * VSQUARED / 29.8
return P66
#--------------------------------------------
[docs]class DP_P67(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ67']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P67 = data['4OHTRZ67'].vals * VSQUARED / 52.0
return P67
#--------------------------------------------
[docs]class DP_P68(DerivedParameterThermal):
rootparams = ['4OHTRZ68', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P68 = data['4OHTRZ68'].vals * VSQUARED / 29.0
return P68
#--------------------------------------------
[docs]class DP_P69(DerivedParameterThermal):
rootparams = ['4OHTRZ69', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P69 = data['4OHTRZ69'].vals * VSQUARED / 37.5
return P69
#--------------------------------------------
[docs]class DP_P75(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ75']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P75 = data['4OHTRZ75'].vals * VSQUARED / 130.2
return P75
#--------------------------------------------
[docs]class DP_P76(DerivedParameterThermal):
rootparams = ['4OHTRZ76', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P76 = data['4OHTRZ76'].vals * VSQUARED / 133.4
return P76
#--------------------------------------------
[docs]class DP_P77(DerivedParameterThermal):
rootparams = ['4OHTRZ77', 'ELBV']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P77 = data['4OHTRZ77'].vals * VSQUARED / 131.5
return P77
#--------------------------------------------
[docs]class DP_P78(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ78']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P78 = data['4OHTRZ78'].vals * VSQUARED / 133.2
return P78
#--------------------------------------------
[docs]class DP_P79(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ79']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P79 = data['4OHTRZ79'].vals * VSQUARED / 133.1
return P79
#--------------------------------------------
[docs]class DP_P80(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ80']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P80 = data['4OHTRZ80'].vals * VSQUARED / 133.0
return P80
#--------------------------------------------
[docs]class DP_PABH(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ53', '4OHTRZ54', '4OHTRZ55', '4OHTRZ57']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P53 = data['4OHTRZ53'].vals * VSQUARED / 94.1
P54 = data['4OHTRZ54'].vals * VSQUARED / 124.4
P55 = data['4OHTRZ55'].vals * VSQUARED / 126.8
P57 = data['4OHTRZ57'].vals * VSQUARED / 142.3
PABH = P53 + P54 + P55 + P57
return PABH
#--------------------------------------------
[docs]class DP_PAFTCONE(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ48', '4OHTRZ49', '4OHTRZ50', '4OHTRZ51', '4OHTRZ52']
time_step = 0.25625
[docs] def calc(self, data):
self.fix_4OHTRZ50(data)
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P48 = data['4OHTRZ48'].vals * VSQUARED / 79.5
P49 = data['4OHTRZ49'].vals * VSQUARED / 34.8
P50 = data['4OHTRZ50'].vals * VSQUARED / 35.2
P51 = data['4OHTRZ51'].vals * VSQUARED / 35.4
P52 = data['4OHTRZ52'].vals * VSQUARED / 34.4
PAFTCONE = P48 + P49 + P50 + P51 + P52
return PAFTCONE
#--------------------------------------------
[docs]class DP_PAFTCYL(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ66', '4OHTRZ67', '4OHTRZ68']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P66 = data['4OHTRZ66'].vals * VSQUARED / 29.8
P67 = data['4OHTRZ67'].vals * VSQUARED / 52.0
P68 = data['4OHTRZ68'].vals * VSQUARED / 29.0
PAFTCYL = P66 + P67 + P68
return PAFTCYL
#--------------------------------------------
[docs]class DP_PAHP(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ11', '4OHTRZ12', '4OHTRZ13']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P11 = data['4OHTRZ11'].vals * VSQUARED / 39.4
P12 = data['4OHTRZ12'].vals * VSQUARED / 40.3
P13 = data['4OHTRZ13'].vals * VSQUARED / 39.7
PAHP = P11 + P12 + P13
return PAHP
#--------------------------------------------
[docs]class DP_PCONE(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ61', '4OHTRZ62', '4OHTRZ63']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P61 = data['4OHTRZ61'].vals * VSQUARED / 33.7
P62 = data['4OHTRZ62'].vals * VSQUARED / 36.1
P63 = data['4OHTRZ63'].vals * VSQUARED / 36.1
PCONE = P61 + P62 + P63
return PCONE
#--------------------------------------------
[docs]class DP_PFAP(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ01', '4OHTRZ02', '4OHTRZ03', '4OHTRZ04',
'4OHTRZ05', '4OHTRZ06', '4OHTRZ07']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P01 = data['4OHTRZ01'].vals * VSQUARED / 110.2
P02 = data['4OHTRZ02'].vals * VSQUARED / 109.7
P03 = data['4OHTRZ03'].vals * VSQUARED / 109.4
P04 = data['4OHTRZ04'].vals * VSQUARED / 175.9
P05 = data['4OHTRZ05'].vals * VSQUARED / 175.7
P06 = data['4OHTRZ06'].vals * VSQUARED / 175.6
P07 = data['4OHTRZ07'].vals * VSQUARED / 135.8
PFAP = P01 + P02 + P03 + P04 + P05 + P06 + P07
return PFAP
#--------------------------------------------
[docs]class DP_PFWDCONE(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ31', '4OHTRZ32', '4OHTRZ33', '4OHTRZ34',
'4OHTRZ35', '4OHTRZ36', '4OHTRZ37', '4OHTRZ38', '4OHTRZ39',
'4OHTRZ40']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P31 = data['4OHTRZ31'].vals * VSQUARED / 32.2
P32 = data['4OHTRZ32'].vals * VSQUARED / 28.6
P33 = data['4OHTRZ33'].vals * VSQUARED / 36.9
P34 = data['4OHTRZ34'].vals * VSQUARED / 28.0
P35 = data['4OHTRZ35'].vals * VSQUARED / 32.2
P36 = data['4OHTRZ36'].vals * VSQUARED / 44.3
P37 = data['4OHTRZ37'].vals * VSQUARED / 32.1
P38 = data['4OHTRZ38'].vals * VSQUARED / 27.8
P39 = data['4OHTRZ39'].vals * VSQUARED / 36.8
P40 = data['4OHTRZ40'].vals * VSQUARED / 28.3
PFWDCONE = (P31 + P32 + P33 + P34 + P35 + P36 + P37 + P38 + P39 +
P40)
return PFWDCONE
#--------------------------------------------
[docs]class DP_PFWDCYL(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ58', '4OHTRZ59', '4OHTRZ60']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P58 = data['4OHTRZ58'].vals * VSQUARED / 83.7
P59 = data['4OHTRZ59'].vals * VSQUARED / 29.7
P60 = data['4OHTRZ60'].vals * VSQUARED / 30.7
PFWDCYL = P58 + P59 + P60
return PFWDCYL
#--------------------------------------------
[docs]class DP_PHRMA(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ01', '4OHTRZ02', '4OHTRZ03', '4OHTRZ04',
'4OHTRZ05', '4OHTRZ06', '4OHTRZ07', '4OHTRZ08', '4OHTRZ09',
'4OHTRZ10', '4OHTRZ11', '4OHTRZ12', '4OHTRZ13', '4OHTRZ14',
'4OHTRZ15', '4OHTRZ16', '4OHTRZ17', '4OHTRZ18', '4OHTRZ19',
'4OHTRZ20', '4OHTRZ23', '4OHTRZ24']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P01 = data['4OHTRZ01'].vals * VSQUARED / 110.2
P02 = data['4OHTRZ02'].vals * VSQUARED / 109.7
P03 = data['4OHTRZ03'].vals * VSQUARED / 109.4
P04 = data['4OHTRZ04'].vals * VSQUARED / 175.9
P05 = data['4OHTRZ05'].vals * VSQUARED / 175.7
P06 = data['4OHTRZ06'].vals * VSQUARED / 175.6
P07 = data['4OHTRZ07'].vals * VSQUARED / 135.8
P08 = data['4OHTRZ08'].vals * VSQUARED / 36.1
P09 = data['4OHTRZ09'].vals * VSQUARED / 32.6
P10 = data['4OHTRZ10'].vals * VSQUARED / 34.9
P11 = data['4OHTRZ11'].vals * VSQUARED / 39.4
P12 = data['4OHTRZ12'].vals * VSQUARED / 40.3
P13 = data['4OHTRZ13'].vals * VSQUARED / 39.7
P14 = data['4OHTRZ14'].vals * VSQUARED / 41.2
P15 = data['4OHTRZ15'].vals * VSQUARED / 40.5
P16 = data['4OHTRZ16'].vals * VSQUARED / 41.3
P17 = data['4OHTRZ17'].vals * VSQUARED / 116.0
P18 = data['4OHTRZ18'].vals * VSQUARED / 115.7
P19 = data['4OHTRZ19'].vals * VSQUARED / 95.3
P20 = data['4OHTRZ20'].vals * VSQUARED / 379.0
P23 = data['4OHTRZ23'].vals * VSQUARED / 386.0
P24 = data['4OHTRZ24'].vals * VSQUARED / 385.8
PHRMA = (P01 + P02 + P03 + P04 + P05 + P06 + P07 + P08 + P09 + P10 +
P11 + P12 + P13 + P14 + P15 + P16 + P17 + P18 + P19 + P20 +
P23 + P24)
return PHRMA
#--------------------------------------------
[docs]class DP_PHRMASTRUTS(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ25', '4OHTRZ26', '4OHTRZ27', '4OHTRZ28',
'4OHTRZ29', '4OHTRZ30']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P25 = data['4OHTRZ25'].vals * VSQUARED / 383.0
P26 = data['4OHTRZ26'].vals * VSQUARED / 383.5
P27 = data['4OHTRZ27'].vals * VSQUARED / 383.0
P28 = data['4OHTRZ28'].vals * VSQUARED / 382.3
P29 = data['4OHTRZ29'].vals * VSQUARED / 384.0
P30 = data['4OHTRZ30'].vals * VSQUARED / 383.0
PHRMASTRUTS = P25 + P26 + P27 + P28 + P29 + P30
return PHRMASTRUTS
#--------------------------------------------
[docs]class DP_PIC(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ23', '4OHTRZ24']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P23 = data['4OHTRZ23'].vals * VSQUARED / 386.0
P24 = data['4OHTRZ24'].vals * VSQUARED / 385.8
PIC = P23 + P24
return PIC
#--------------------------------------------
[docs]class DP_PMIDCONE(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ41', '4OHTRZ42', '4OHTRZ43', '4OHTRZ44',
'4OHTRZ45', '4OHTRZ46', '4OHTRZ47']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P41 = data['4OHTRZ41'].vals * VSQUARED / 61.7
P42 = data['4OHTRZ42'].vals * VSQUARED / 51.7
P43 = data['4OHTRZ43'].vals * VSQUARED / 36.8
P44 = data['4OHTRZ44'].vals * VSQUARED / 36.9
P45 = data['4OHTRZ45'].vals * VSQUARED / 36.8
P46 = data['4OHTRZ46'].vals * VSQUARED / 36.5
P47 = data['4OHTRZ47'].vals * VSQUARED / 52.3
PMIDCONE = P41 + P42 + P43 + P44 + P45 + P46 + P47
return PMIDCONE
#--------------------------------------------
[docs]class DP_PMNT(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ14', '4OHTRZ15', '4OHTRZ16']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P14 = data['4OHTRZ14'].vals * VSQUARED / 41.2
P15 = data['4OHTRZ15'].vals * VSQUARED / 40.5
P16 = data['4OHTRZ16'].vals * VSQUARED / 41.3
PMNT = P14 + P15 + P16
return PMNT
#--------------------------------------------
[docs]class DP_POBAT(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ25', '4OHTRZ26', '4OHTRZ27', '4OHTRZ28', '4OHTRZ29',
'4OHTRZ30', '4OHTRZ31', '4OHTRZ32', '4OHTRZ33', '4OHTRZ34',
'4OHTRZ35', '4OHTRZ36', '4OHTRZ37', '4OHTRZ38', '4OHTRZ39',
'4OHTRZ40', '4OHTRZ41', '4OHTRZ42', '4OHTRZ43', '4OHTRZ44',
'4OHTRZ45', '4OHTRZ46', '4OHTRZ47', '4OHTRZ48', '4OHTRZ49',
'4OHTRZ50', '4OHTRZ51', '4OHTRZ52', '4OHTRZ53', '4OHTRZ54',
'4OHTRZ55', '4OHTRZ57', '4OHTRZ75', '4OHTRZ76', '4OHTRZ77',
'4OHTRZ78', '4OHTRZ79', '4OHTRZ80']
time_step = 0.25625
[docs] def calc(self, data):
self.fix_4OHTRZ50(data)
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P75 = data['4OHTRZ75'].vals * VSQUARED / 130.2
P76 = data['4OHTRZ76'].vals * VSQUARED / 133.4
P77 = data['4OHTRZ77'].vals * VSQUARED / 131.5
P78 = data['4OHTRZ78'].vals * VSQUARED / 133.2
P79 = data['4OHTRZ79'].vals * VSQUARED / 133.1
P80 = data['4OHTRZ80'].vals * VSQUARED / 133.0
P25 = data['4OHTRZ25'].vals * VSQUARED / 383.0
P26 = data['4OHTRZ26'].vals * VSQUARED / 383.5
P27 = data['4OHTRZ27'].vals * VSQUARED / 383.0
P28 = data['4OHTRZ28'].vals * VSQUARED / 382.3
P29 = data['4OHTRZ29'].vals * VSQUARED / 384.0
P30 = data['4OHTRZ30'].vals * VSQUARED / 383.0
P31 = data['4OHTRZ31'].vals * VSQUARED / 32.2
P32 = data['4OHTRZ32'].vals * VSQUARED / 28.6
P33 = data['4OHTRZ33'].vals * VSQUARED / 36.9
P34 = data['4OHTRZ34'].vals * VSQUARED / 28.0
P35 = data['4OHTRZ35'].vals * VSQUARED / 32.2
P36 = data['4OHTRZ36'].vals * VSQUARED / 44.3
P37 = data['4OHTRZ37'].vals * VSQUARED / 32.1
P38 = data['4OHTRZ38'].vals * VSQUARED / 27.8
P39 = data['4OHTRZ39'].vals * VSQUARED / 36.8
P40 = data['4OHTRZ40'].vals * VSQUARED / 28.3
P41 = data['4OHTRZ41'].vals * VSQUARED / 61.7
P42 = data['4OHTRZ42'].vals * VSQUARED / 51.7
P43 = data['4OHTRZ43'].vals * VSQUARED / 36.8
P44 = data['4OHTRZ44'].vals * VSQUARED / 36.9
P45 = data['4OHTRZ45'].vals * VSQUARED / 36.8
P46 = data['4OHTRZ46'].vals * VSQUARED / 36.5
P47 = data['4OHTRZ47'].vals * VSQUARED / 52.3
P48 = data['4OHTRZ48'].vals * VSQUARED / 79.5
P49 = data['4OHTRZ49'].vals * VSQUARED / 34.8
P50 = data['4OHTRZ50'].vals * VSQUARED / 35.2
P51 = data['4OHTRZ51'].vals * VSQUARED / 35.4
P52 = data['4OHTRZ52'].vals * VSQUARED / 34.4
P53 = data['4OHTRZ53'].vals * VSQUARED / 94.1
P54 = data['4OHTRZ54'].vals * VSQUARED / 124.4
P55 = data['4OHTRZ55'].vals * VSQUARED / 126.8
P57 = data['4OHTRZ57'].vals * VSQUARED / 142.3
PSTRUTS = (P75 + P76 + P77 + P78 + P79 + P80 + P25 + P26 + P27 + P28 +
P29 + P30)
POBACONE = (P31 + P32 + P33 + P34 + P35 + P36 + P37 + P38 + P39 + P40 +
P41 + P42 + P43 + P44 + P45 + P46 + P47 + P48 + P49 + P50 +
P51 + P52 + P53 + P54 + P55 + P57)
POBAT = PSTRUTS + POBACONE
return POBAT
#--------------------------------------------
[docs]class DP_POC(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ17', '4OHTRZ18', '4OHTRZ19']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P17 = data['4OHTRZ17'].vals * VSQUARED / 116.0
P18 = data['4OHTRZ18'].vals * VSQUARED / 115.7
P19 = data['4OHTRZ19'].vals * VSQUARED / 95.3
POC = P17 + P18 + P19
return POC
#--------------------------------------------
[docs]class DP_PPL10(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ08', '4OHTRZ09', '4OHTRZ10']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P08 = data['4OHTRZ08'].vals * VSQUARED / 36.1
P09 = data['4OHTRZ09'].vals * VSQUARED / 32.6
P10 = data['4OHTRZ10'].vals * VSQUARED / 34.9
PPL10 = P08 + P09 + P10
return PPL10
#--------------------------------------------
[docs]class DP_PRADVNT(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ64', '4OHTRZ65', '4OHTRZ69']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P64 = data['4OHTRZ64'].vals * VSQUARED / 44.1
P65 = data['4OHTRZ65'].vals * VSQUARED / 37.5
P69 = data['4OHTRZ69'].vals * VSQUARED / 37.5
PRADVNT = P64 + P65 + P69
return PRADVNT
#--------------------------------------------
[docs]class DP_PSCSTRUTS(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ75', '4OHTRZ76', '4OHTRZ77',
'4OHTRZ78', '4OHTRZ79', '4OHTRZ80']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P75 = data['4OHTRZ75'].vals * VSQUARED / 130.2
P76 = data['4OHTRZ76'].vals * VSQUARED / 133.4
P77 = data['4OHTRZ77'].vals * VSQUARED / 131.5
P78 = data['4OHTRZ78'].vals * VSQUARED / 133.2
P79 = data['4OHTRZ79'].vals * VSQUARED / 133.1
P80 = data['4OHTRZ80'].vals * VSQUARED / 133.0
PSCSTRUTS = P75 + P76 + P77 + P78 + P79 + P80
return PSCSTRUTS
#--------------------------------------------
[docs]class DP_PTFTE(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ58', '4OHTRZ59', '4OHTRZ60', '4OHTRZ61',
'4OHTRZ62', '4OHTRZ63', '4OHTRZ64', '4OHTRZ65', '4OHTRZ66',
'4OHTRZ67', '4OHTRZ68', '4OHTRZ69']
time_step = 0.25625
[docs] def calc(self, data):
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P58 = data['4OHTRZ58'].vals * VSQUARED / 83.7
P59 = data['4OHTRZ59'].vals * VSQUARED / 29.7
P60 = data['4OHTRZ60'].vals * VSQUARED / 30.7
P61 = data['4OHTRZ61'].vals * VSQUARED / 33.7
P62 = data['4OHTRZ62'].vals * VSQUARED / 36.1
P63 = data['4OHTRZ63'].vals * VSQUARED / 36.1
P64 = data['4OHTRZ64'].vals * VSQUARED / 44.1
P65 = data['4OHTRZ65'].vals * VSQUARED / 37.5
P66 = data['4OHTRZ66'].vals * VSQUARED / 29.8
P67 = data['4OHTRZ67'].vals * VSQUARED / 52.0
P68 = data['4OHTRZ68'].vals * VSQUARED / 29.0
P69 = data['4OHTRZ69'].vals * VSQUARED / 37.5
PTFTE = (P58 + P59 + P60 + P61 + P62 + P63 + P64 + P65 + P66 + P67 +
P68 + P69)
return PTFTE
#--------------------------------------------
[docs]class DP_PTOTAL(DerivedParameterThermal):
rootparams = ['ELBV', '4OHTRZ01', '4OHTRZ02', '4OHTRZ03', '4OHTRZ04',
'4OHTRZ05', '4OHTRZ06', '4OHTRZ07', '4OHTRZ08', '4OHTRZ09',
'4OHTRZ10', '4OHTRZ11', '4OHTRZ12', '4OHTRZ13', '4OHTRZ14',
'4OHTRZ15', '4OHTRZ16', '4OHTRZ17', '4OHTRZ18', '4OHTRZ19',
'4OHTRZ20', '4OHTRZ23', '4OHTRZ24', '4OHTRZ25', '4OHTRZ26',
'4OHTRZ27', '4OHTRZ28', '4OHTRZ29', '4OHTRZ30', '4OHTRZ31',
'4OHTRZ32', '4OHTRZ33', '4OHTRZ34', '4OHTRZ35', '4OHTRZ36',
'4OHTRZ37', '4OHTRZ38', '4OHTRZ39', '4OHTRZ40', '4OHTRZ41',
'4OHTRZ42', '4OHTRZ43', '4OHTRZ44', '4OHTRZ45', '4OHTRZ46',
'4OHTRZ47', '4OHTRZ48', '4OHTRZ49', '4OHTRZ50', '4OHTRZ51',
'4OHTRZ52', '4OHTRZ53', '4OHTRZ54', '4OHTRZ55', '4OHTRZ57',
'4OHTRZ58', '4OHTRZ59', '4OHTRZ60', '4OHTRZ61', '4OHTRZ62',
'4OHTRZ63', '4OHTRZ64', '4OHTRZ65', '4OHTRZ66', '4OHTRZ67',
'4OHTRZ68', '4OHTRZ69', '4OHTRZ75', '4OHTRZ76', '4OHTRZ77',
'4OHTRZ78', '4OHTRZ79', '4OHTRZ80']
time_step = 0.25625
[docs] def calc(self, data):
self.fix_4OHTRZ50(data)
VSQUARED = data['ELBV'].vals * data['ELBV'].vals
P01 = data['4OHTRZ01'].vals * VSQUARED / 110.2
P02 = data['4OHTRZ02'].vals * VSQUARED / 109.7
P03 = data['4OHTRZ03'].vals * VSQUARED / 109.4
P04 = data['4OHTRZ04'].vals * VSQUARED / 175.9
P05 = data['4OHTRZ05'].vals * VSQUARED / 175.7
P06 = data['4OHTRZ06'].vals * VSQUARED / 175.6
P07 = data['4OHTRZ07'].vals * VSQUARED / 135.8
P08 = data['4OHTRZ08'].vals * VSQUARED / 36.1
P09 = data['4OHTRZ09'].vals * VSQUARED / 32.6
P10 = data['4OHTRZ10'].vals * VSQUARED / 34.9
P11 = data['4OHTRZ11'].vals * VSQUARED / 39.4
P12 = data['4OHTRZ12'].vals * VSQUARED / 40.3
P13 = data['4OHTRZ13'].vals * VSQUARED / 39.7
P14 = data['4OHTRZ14'].vals * VSQUARED / 41.2
P15 = data['4OHTRZ15'].vals * VSQUARED / 40.5
P16 = data['4OHTRZ16'].vals * VSQUARED / 41.3
P17 = data['4OHTRZ17'].vals * VSQUARED / 116.0
P18 = data['4OHTRZ18'].vals * VSQUARED / 115.7
P19 = data['4OHTRZ19'].vals * VSQUARED / 95.3
P20 = data['4OHTRZ20'].vals * VSQUARED / 379.0
P23 = data['4OHTRZ23'].vals * VSQUARED / 386.0
P24 = data['4OHTRZ24'].vals * VSQUARED / 385.8
P31 = data['4OHTRZ31'].vals * VSQUARED / 32.2
P32 = data['4OHTRZ32'].vals * VSQUARED / 28.6
P33 = data['4OHTRZ33'].vals * VSQUARED / 36.9
P34 = data['4OHTRZ34'].vals * VSQUARED / 28.0
P35 = data['4OHTRZ35'].vals * VSQUARED / 32.2
P36 = data['4OHTRZ36'].vals * VSQUARED / 44.3
P37 = data['4OHTRZ37'].vals * VSQUARED / 32.1
P38 = data['4OHTRZ38'].vals * VSQUARED / 27.8
P39 = data['4OHTRZ39'].vals * VSQUARED / 36.8
P40 = data['4OHTRZ40'].vals * VSQUARED / 28.3
P41 = data['4OHTRZ41'].vals * VSQUARED / 61.7
P42 = data['4OHTRZ42'].vals * VSQUARED / 51.7
P43 = data['4OHTRZ43'].vals * VSQUARED / 36.8
P44 = data['4OHTRZ44'].vals * VSQUARED / 36.9
P45 = data['4OHTRZ45'].vals * VSQUARED / 36.8
P46 = data['4OHTRZ46'].vals * VSQUARED / 36.5
P47 = data['4OHTRZ47'].vals * VSQUARED / 52.3
P48 = data['4OHTRZ48'].vals * VSQUARED / 79.5
P49 = data['4OHTRZ49'].vals * VSQUARED / 34.8
P50 = data['4OHTRZ50'].vals * VSQUARED / 35.2
P51 = data['4OHTRZ51'].vals * VSQUARED / 35.4
P52 = data['4OHTRZ52'].vals * VSQUARED / 34.4
P53 = data['4OHTRZ53'].vals * VSQUARED / 94.1
P54 = data['4OHTRZ54'].vals * VSQUARED / 124.4
P55 = data['4OHTRZ55'].vals * VSQUARED / 126.8
P57 = data['4OHTRZ57'].vals * VSQUARED / 142.3
P58 = data['4OHTRZ58'].vals * VSQUARED / 83.7
P59 = data['4OHTRZ59'].vals * VSQUARED / 29.7
P60 = data['4OHTRZ60'].vals * VSQUARED / 30.7
P61 = data['4OHTRZ61'].vals * VSQUARED / 33.7
P62 = data['4OHTRZ62'].vals * VSQUARED / 36.1
P63 = data['4OHTRZ63'].vals * VSQUARED / 36.1
P64 = data['4OHTRZ64'].vals * VSQUARED / 44.1
P65 = data['4OHTRZ65'].vals * VSQUARED / 37.5
P66 = data['4OHTRZ66'].vals * VSQUARED / 29.8
P67 = data['4OHTRZ67'].vals * VSQUARED / 52.0
P68 = data['4OHTRZ68'].vals * VSQUARED / 29.0
P69 = data['4OHTRZ69'].vals * VSQUARED / 37.5
P75 = data['4OHTRZ75'].vals * VSQUARED / 130.2
P76 = data['4OHTRZ76'].vals * VSQUARED / 133.4
P77 = data['4OHTRZ77'].vals * VSQUARED / 131.5
P78 = data['4OHTRZ78'].vals * VSQUARED / 133.2
P79 = data['4OHTRZ79'].vals * VSQUARED / 133.1
P80 = data['4OHTRZ80'].vals * VSQUARED / 133.0
P25 = data['4OHTRZ25'].vals * VSQUARED / 383.0
P26 = data['4OHTRZ26'].vals * VSQUARED / 383.5
P27 = data['4OHTRZ27'].vals * VSQUARED / 383.0
P28 = data['4OHTRZ28'].vals * VSQUARED / 382.3
P29 = data['4OHTRZ29'].vals * VSQUARED / 384.0
P30 = data['4OHTRZ30'].vals * VSQUARED / 383.0
PHRMA = (P01 + P02 + P03 + P04 + P05 + P06 + P07 + P08 + P09 + P10 +
P11 + P12 + P13 + P14 + P15 + P16 + P17 + P18 + P19 + P20 +
P23 + P24)
POBACONE = (P31 + P32 + P33 + P34 + P35 + P36 + P37 + P38 + P39 + P40 +
P41 + P42 + P43 + P44 + P45 + P46 + P47 + P48 + P49 + P50 +
P51 + P52 + P53 + P54 + P55 + P57)
PTFTE = (P58 + P59 + P60 + P61 + P62 + P63 + P64 + P65 + P66 + P67 +
P68 + P69)
PSTRUTS = (P75 + P76 + P77 + P78 + P79 + P80 + P25 + P26 + P27 + P28 +
P29 + P30)
POBAT = PSTRUTS + POBACONE
PTOTAL = PHRMA + POBAT + PTFTE
return PTOTAL
#--------------------------------------------
[docs]class DP_SUNANGLE(DerivedParameterThermal):
rootparams = ['AOSARES1']
time_step = 0.25625
[docs] def calc(self, data):
SUNANGLE = (90 - data['AOSARES1'].vals)
return SUNANGLE
#--------------------------------------------
[docs]class DP_TABMAX(DerivedParameterThermal):
rootparams = ['OOBTHR47', 'OOBTHR42', 'OOBTHR43']
time_step = 32.8
[docs] def calc(self, data):
TABMAX = np.max([data['OOBTHR42'].vals, data['OOBTHR43'].vals,
data['OOBTHR47'].vals], axis=0)
return TABMAX
#--------------------------------------------
[docs]class DP_TABMIN(DerivedParameterThermal):
rootparams = ['OOBTHR47', 'OOBTHR42', 'OOBTHR43']
time_step = 32.8
[docs] def calc(self, data):
TABMIN = np.min([data['OOBTHR42'].vals, data['OOBTHR43'].vals,
data['OOBTHR47'].vals], axis=0)
return TABMIN
#--------------------------------------------
[docs]class DP_TELAB_AVE(DerivedParameterThermal):
rootparams = ['OOBTHR47', 'OOBTHR42', 'OOBTHR43']
time_step = 32.8
[docs] def calc(self, data):
TELAB_AVE = (data['OOBTHR42'].vals + data['OOBTHR43'].vals +
data['OOBTHR47'].vals) / 3
return TELAB_AVE
#--------------------------------------------
[docs]class DP_TELHS_AVE(DerivedParameterThermal):
rootparams = ['OOBTHR02', 'OOBTHR03', 'OOBTHR06', 'OOBTHR07', 'OOBTHR04',
'OOBTHR05']
time_step = 32.8
[docs] def calc(self, data):
TELHS_AVE = (data['OOBTHR02'].vals + data['OOBTHR03'].vals +
data['OOBTHR04'].vals + data['OOBTHR05'].vals +
data['OOBTHR06'].vals + data['OOBTHR07'].vals) / 6
return TELHS_AVE
#--------------------------------------------
[docs]class DP_TELSS_AVE(DerivedParameterThermal):
rootparams = ['OOBTHR51', 'OOBTHR50', 'OOBTHR53', 'OOBTHR52', 'OOBTHR54',
'OOBTHR49']
time_step = 32.8
[docs] def calc(self, data):
TELSS_AVE = (data['OOBTHR49'].vals + data['OOBTHR50'].vals +
data['OOBTHR51'].vals + data['OOBTHR52'].vals +
data['OOBTHR53'].vals + data['OOBTHR54'].vals) / 6
return TELSS_AVE
#--------------------------------------------
[docs]class DP_THSMAX(DerivedParameterThermal):
rootparams = ['OOBTHR02', 'OOBTHR03', 'OOBTHR06', 'OOBTHR07', 'OOBTHR04',
'OOBTHR05']
time_step = 32.8
[docs] def calc(self, data):
THSMAX = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
THSMAX = np.max([THSMAX, data[names].vals], axis=0)
return THSMAX
#--------------------------------------------
[docs]class DP_THSMIN(DerivedParameterThermal):
rootparams = ['OOBTHR02', 'OOBTHR03', 'OOBTHR06', 'OOBTHR07', 'OOBTHR04',
'OOBTHR05']
time_step = 32.8
[docs] def calc(self, data):
THSMIN = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
THSMIN = np.min([THSMIN, data[names].vals], axis=0)
return THSMIN
#--------------------------------------------
[docs]class DP_TILT_AXIAL(DerivedParameterThermal):
rootparams = ['OOBAGRD3']
time_step = 32.8
[docs] def calc(self, data):
TILT_AXIAL = np.abs(data['OOBAGRD3'].vals) * 0.1084
return TILT_AXIAL
#--------------------------------------------
[docs]class DP_TILT_BULK(DerivedParameterThermal):
rootparams = ['OHRTHR43', 'OHRTHR42']
time_step = 32.8
[docs] def calc(self, data):
TILT_BULK = np.abs((data['OHRTHR42'].vals + data['OHRTHR43'].vals)
/ 2.0 - 70.0) * 0.0704
return TILT_BULK
#--------------------------------------------
[docs]class DP_TILT_DIAM(DerivedParameterThermal):
rootparams = ['OOBAGRD6']
time_step = 32.8
[docs] def calc(self, data):
TILT_DIAM = np.abs(1.0 * data['OOBAGRD6'].vals) * 0.3032
return TILT_DIAM
#--------------------------------------------
[docs]class DP_TILT_MAX(DerivedParameterThermal):
rootparams = ['OOBAGRD6', 'OOBAGRD3', 'OHRTHR43', 'OHRTHR42']
time_step = 32.8
[docs] def calc(self, data):
TILT_DIAM = np.abs(1.0 * data['OOBAGRD6'].vals) * 0.3032
TILT_BULK = np.abs((data['OHRTHR42'].vals + data['OHRTHR43'].vals)
/ 2.0 - 70.0) * 0.0704
TILT_AXIAL = np.abs(data['OOBAGRD3'].vals) * 0.1084
TILT_MAX = (TILT_BULK + TILT_AXIAL + TILT_DIAM)
return TILT_MAX
#--------------------------------------------
[docs]class DP_TSSMAX(DerivedParameterThermal):
rootparams = ['OOBTHR51', 'OOBTHR50', 'OOBTHR53', 'OOBTHR52', 'OOBTHR54',
'OOBTHR49']
time_step = 32.8
[docs] def calc(self, data):
TSSMAX = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
TSSMAX = np.max([TSSMAX, data[names].vals], axis=0)
return TSSMAX
#--------------------------------------------
[docs]class DP_TSSMIN(DerivedParameterThermal):
rootparams = ['OOBTHR51', 'OOBTHR50', 'OOBTHR53', 'OOBTHR52', 'OOBTHR54',
'OOBTHR49']
time_step = 32.8
[docs] def calc(self, data):
TSSMIN = data[self.rootparams[0]].vals
for names in self.rootparams[1:]:
TSSMIN = np.min([TSSMIN, data[names].vals], axis=0)
return TSSMIN
#--------------------------------------------
[docs]class DP_HADG(DerivedParameterThermal):
rootparams = ['OHRMGRD3', 'OHRMGRD6']
time_step = 32.8
[docs] def calc(self, data):
HADG = np.max((data['OHRMGRD3'].vals, data['OHRMGRD6'].vals), axis=0)
return HADG
#--------------------------------------------
[docs]class DP_ABH_DUTYCYCLE(DerivedParameterThermal):
rootparams = ['4OHTRZ53', '4OHTRZ54', '4OHTRZ55', '4OHTRZ57']
time_step = 32.8
[docs] def calc(self, data):
RTOTAL = 1. / (1 / 94.1 + 1 / 124.3 + 1 / 126.8 + 1 / 142.3)
DC1 = np.abs(data['4OHTRZ53'].vals) / 94.1 + np.abs(data['4OHTRZ54'].vals) / 124.3
DC2 = np.abs(data['4OHTRZ55'].vals) / 126.8 + np.abs(data['4OHTRZ57'].vals) / 142.3
ABH_DUTYCYCLE = RTOTAL * (DC1 + DC2)
return ABH_DUTYCYCLE