@@ -3359,7 +3359,8 @@ RECORD DHWHEATER "DHWHeater" *RAT // input / runtime DHW heater
33593359 *declare "int wh_IsStorage() const { return wh_type==C_WHTYPECH_STRGSML || wh_type==C_WHTYPECH_STRGLRG; }"
33603360 *declare "int wh_UsesDerivedLDEF() const;"
33613361 *declare "int wh_IsHPWHModel() const { return wh_heatSrc==C_WHHEATSRCCH_ASHPX || wh_heatSrc==C_WHHEATSRCCH_ELRESX; }"
3362- *declare "int wh_IsSubhrModel() const { return wh_IsHPWHModel(); }"
3362+ *declare "int wh_IsInstUEFModel() const { return wh_type==C_WHTYPECH_INSTUEF; }"
3363+ *declare "int wh_IsSubhrModel() const { return wh_IsHPWHModel() || wh_IsInstUEFModel(); }"
33633364 *declare "float wh_CalcLDEF( float arl, int options=0);"
33643365 *declare "RC wh_DoHour( float HARL, int wsMult);"
33653366 *declare "RC wh_DoEndPreRun();"
@@ -3374,7 +3375,8 @@ RECORD DHWHEATER "DHWHeater" *RAT // input / runtime DHW heater
33743375 // _ASHPX: air source heat pump (Ecotope HPWH)
33753376 // _ELRESX: electric resistance (Ecotope HPWH)
33763377 *i WHTYPECH wh_type; // heater type
3377- // C_WHTYPECH_STRGSML, _STRGLRG, _INSTSML, _INSTLRG
3378+ // C_WHTYPECH_STRGSML, _STRGLRG, _INSTSML, _INSTLRG,
3379+ // _INSTUEF
33783380 *i ANAME wh_desc; // probe-able description text
33793381 *i WHASHPTYCH wh_ashpTy; // air source heat pump type, required iff ASHPX, else ignored
33803382 // C_WHASHPTYCH_xxx, etc
@@ -3397,26 +3399,41 @@ RECORD DHWHEATER "DHWHeater" *RAT // input / runtime DHW heater
33973399 *i FLOAT_GZ wh_ashpResUse; // resistance heat parameter for
33983400 // Ecotope HPWH model iff C_WHASHPTYCH_GENERIC
33993401 // default = 7.22, units / meaning unknown
3400-
3402+
34013403 *i FLOAT_GEZ wh_vol; // storage tank vol, gal
34023404 // applicable to STRGxx types
34033405 // used only for HPWH ResistanceX, 5-2016
34043406 // default=50 if STRGxx else 0
34053407 *i FLOAT_GZ wh_EF; // rated energy factor
34063408 *i FLOAT_GZ wh_LDEF; // load-dependent energy factor
3407- *i FLOAT_GZ wh_eff; // efficiency
3409+ *i FLOAT_GZ wh_UEF; // rated uniform energy factor
3410+ // documentation only re C_WHTYPECH_INSTUEF
3411+ *i FLOAT_GZ wh_ratedFlow; // max rated flow per UEF test, gpm
3412+ *i FLOAT_GZ wh_annualFuel; // annual fuel use per UEF method, therms/yr
3413+ *i FLOAT_GZ wh_annualElec; // annual electricity use per UEF method, kWh/yr
3414+ *declare "RC wh_InstUEFInit();"
3415+ *declare "RC wh_InstUEFDoSubhr( double* draw, double scale, double xLoss);"
3416+
3417+ *r FLOAT wh_cycLossFuel; // derived startup fuel use (=cyclic loss) for INSTUEF, Btu/cycle
3418+ *r FLOAT wh_cycLossElec; // derived startup electricity use (=cyclic loss) for INSTUEF, Btu/cycle
3419+ *r FLOAT wh_maxFlowX; // derived max flow for INSTUEF, gal/tick-F
3420+ *r FLOAT wh_maxInpX; // input at max flow, Btu/tick
3421+
3422+ *i FLOAT_GZ wh_eff; // efficiency (aka recovery efficiency)
34083423 *i FLOAT_GZ wh_HPAF; // heat pump adjustment factor
34093424 // used for small storage ASHP only
34103425 *i FLOAT_GEZ wh_SBL; // standby loss, Btuh
34113426 *h FLOAT_GEZ wh_pilotPwr; // pilot light power, Btuh
3412- // included in
3427+ // included in wh_inFuel
34133428 *h FLOAT_GEZ wh_parElec; // parasitic electric use, W
34143429 *h FLOAT wh_tHWOut; // average hot water temp, F (at water heater)
34153430 // HPWH: as delivered by model (subhr average of tick calls)
34163431 // other: DHWSYS.ws_tUse
34173432 *h FLOAT wh_mixDownF; // factor for draw adjustment re HPWH setpoint > DHWSYS::ws_tUse
34183433 // Some HPWHs (e.g. Sanden) have fixed (high) setpoints
3419- // We reduce draws to balance load at ws_tUse.
3434+ // draws are reduced to balance load at ws_tUse.
3435+ *s INt wh_drawTicks; // duration of current draw, for HPWH and INSTUEF, ticks
3436+ // allows detection of startup event
34203437
34213438 *i TI wh_elecMtri // meter for system electricity use (default = parent ws_elecMtri)
34223439 *i TI wh_fuelMtri // meter for system fuel use (default = parent ws_electMtri)
@@ -3431,8 +3448,11 @@ RECORD DHWHEATER "DHWHeater" *RAT // input / runtime DHW heater
34313448 // (includes wh_HPWHxBU)
34323449 *h *e FLOAT wh_inFuel; // fuel (including wh_pilotPwr)
34333450
3434-
3435- *i FLOAT_GZ wh_input; // rated input, Btuh (future use?)
3451+ *i FLOAT_GZ wh_ratedInput;// rated primary input, Btuh (doc only)
3452+ *r FLOAT wh_operElec; // electrical power during operation at rating conditions, Btuh
3453+ // never input, derived for INSTUEF
3454+ *r FLOAT wh_stbyElec; // electrical power during standby, Btuh
3455+ // never input, derive for INSTUEF
34363456
34373457 *i FLOAT_GZ wh_resHtPwr; // upper element resistance heating power, W
34383458 // used for some models only
0 commit comments