DHWSYS
Name |
Type |
Variability |
Description/Comments |
calcMode |
choice:WSCALCMODE |
input time |
calculation mode |
centralDHWSYSi |
TI |
input time |
- index of central (parent) [DHWSYS][dhwsys], 0 if none
- child [DHWSYSs][dhwsys] specify unit-specfic draws only
- but have no heaters etc
|
Name |
Type |
Variability |
Description/Comments |
mult |
FLOAT_GEZ |
input time |
- multiplier: model as ws_mult identical systems
- fractional values supported
|
elecMtri |
TI |
input time |
meter for system electricity use |
fuelMtri |
TI |
input time |
meter for system fuel use |
- energy inputs for current hour, Btuh
- NOTE: values DO NOT include [DHWHEATER][dhwheater] use
Name |
Type |
Variability |
Description/Comments |
inElec |
number |
End of hour |
electricity (note not kWh) |
inFuel |
number |
End of hour |
fuel (for generality, always 0?) |
Name |
Type |
Variability |
Description/Comments |
swTi |
TI |
input time |
- [DHWSOLARSYS][dhwsolarsys] providing preheated water to this system
- 0 iff no solar connected
|
qSlr |
number |
End of hour |
- hour total water heating energy provided by
- [DHWSOLARSYS][dhwsolarsys] (not via ws_SSF), Btu
|
SSFAnnualSolar |
DBL |
End of run |
- Annual solar heat added (numerator to calculate SSF), Btu
- = SUM( ws_qSlr)
|
SSFAnnualReq |
DBL |
End of run |
Annual heat required (denominator to calculate SSF), Btu |
SSFAnnual |
number |
End of run |
Annual solar savings fraction |
Name |
Type |
Variability |
Description/Comments |
tInlet |
number |
End of hour |
- current hour cold water inlet temp for this [DHWSYS][dhwsys], F
- user expression or default Wthr.d.wd_tMains
- Not modified by solar and/or [DHWHEATREC][dhwheatrec]
|
tInletTest |
number |
Start of subhour |
- current subhour cold water inlet temp for this [DHWSYS][dhwsys], F
- CAUTION: ws_tInletTest is for testing and model validation only
- Not fully integrated with full model; (probably) ignores any [DHWSOLARSYS][dhwsolarsys] and [DHWHEATREC][dhwheatrec] impacts
|
tInletX |
number |
End of hour |
- hour average adjusted cold water temp, F
- reflects solar and/or [DHWHEATREC][dhwheatrec]
|
hwUse |
FLOAT_GEZ |
Start of hour |
- current hour hot water use (at fixtures), gal
- (scheduled input, does NOT include [DHWDAYUSE][dhwdayuse] draws)
|
hwUseTest |
FLOAT_GEZ |
Start of subhour |
- current subhour additional hot water use (at fixtures), gal/subhour
- added at tick level to other draws
- CAUTION: ws_hwUseTest is for testing and model validation only
- Not integrated with solar, heat recovery, etc.
|
tRLTest |
FLOAT_GEZ |
Start of subhour |
- current subour [DHWLOOP][dhwloop] return temp, F
- overwrites calculated loop return temp, if any
- CAUTION: ws_tRLTest is for testing and model validation only
|
volRLTest |
FLOAT_GEZ |
Start of subhour |
- current subour recirc loop flow, gal (per subhr)
- overwrites calculated loop flow, if any
- CAUTION: ws_volRLTest is for testing and model validation only
|
iTk0DWHR |
number |
End of hour |
1st tick with possible DWHR |
iTkNDWHR |
number |
End of hour |
last+1 tick with possible DWHR |
qDWHR |
number |
End of hour |
hour all DHWHEATREC total heat to fixtures and water heaters, Btu |
qDWHRWH |
number |
End of hour |
hour all DHWHEATREC total heat to water heater(s), Btu |
DHWMTRs -- accumulates H/D/M/Y water use with ws_mult
Name |
Type |
Variability |
Description/Comments |
WHhwMtri |
TI |
input time |
DHWMTR for hot water use at water heater(s) (= ws_whUse), gal |
FXhwMtri |
TI |
input time |
DHWMTR for hot water use at fixtures (= ws_fxUseMix), gal |
mixed and hot water use for this DHWSYS (w/o ws_mult)
Name |
Type |
Variability |
Description/Comments |
whUseNoHR |
number |
End of hour |
- current hour virtual hot water use w/o heat recovery, gal
- re verification / accounting of DWHR results
|
fxUseMix |
|
|
current hour total (mixed) water use at fixtures, gal |
DHWMTR_IVL
Name |
Type |
Variability |
Description/Comments |
fxUseMix.total |
number |
End of hour |
- total of following specific end uses. Code assumes precedes them.
- Use by purpose (end use), water use, gal:
- CAUTION: order of members MATCHES DTDHWEUCH choices (cndtypes.def)
- for subscripting (in cnguts,cgresult.cpp) by end use -1:
|
fxUseMix.unknown |
number |
End of hour |
unknown (= DHWENDUSE 0, no associated choice) |
fxUseMix.faucet |
number |
End of hour |
faucet use |
fxUseMix.shower |
number |
End of hour |
shower |
fxUseMix.bath |
number |
End of hour |
bath |
fxUseMix.cwashr |
number |
End of hour |
clothes washer |
fxUseMix.dwashr |
number |
End of hour |
dish washer |
|
fxUseMixTot[index] |
DBL Array [NDHWENDUSESXPP] |
End of run |
annual total (mixed) water use at fixtures by end use, gal |
fxUseMixLH |
|
|
prior hour total (mixed) water use at fixtures, gal |
DHWMTR_IVL
Name |
Type |
Variability |
Description/Comments |
fxUseMixLH.total |
number |
Start of hour |
- total of following specific end uses. Code assumes precedes them.
- Use by purpose (end use), water use, gal:
- CAUTION: order of members MATCHES DTDHWEUCH choices (cndtypes.def)
- for subscripting (in cnguts,cgresult.cpp) by end use -1:
|
fxUseMixLH.unknown |
number |
Start of hour |
unknown (= DHWENDUSE 0, no associated choice) |
fxUseMixLH.faucet |
number |
Start of hour |
faucet use |
fxUseMixLH.shower |
number |
Start of hour |
shower |
fxUseMixLH.bath |
number |
Start of hour |
bath |
fxUseMixLH.cwashr |
number |
Start of hour |
clothes washer |
fxUseMixLH.dwashr |
number |
Start of hour |
dish washer |
|
whUse |
|
|
- current hour hot water use by end use (at ws_tUse), gal
- water heater out = fixture hot in
- Also frequently assumed water heater in = water heater out
- BUT this is only approx due to e.g. mixdown and XBU.
|
DHWMTR_IVL
Name |
Type |
Variability |
Description/Comments |
whUse.total |
number |
End of hour |
- total of following specific end uses. Code assumes precedes them.
- Use by purpose (end use), water use, gal:
- CAUTION: order of members MATCHES DTDHWEUCH choices (cndtypes.def)
- for subscripting (in cnguts,cgresult.cpp) by end use -1:
|
whUse.unknown |
number |
End of hour |
unknown (= DHWENDUSE 0, no associated choice) |
whUse.faucet |
number |
End of hour |
faucet use |
whUse.shower |
number |
End of hour |
shower |
whUse.bath |
number |
End of hour |
bath |
whUse.cwashr |
number |
End of hour |
clothes washer |
whUse.dwashr |
number |
End of hour |
dish washer |
|
whUseTot[index] |
DBL Array [NDHWENDUSESXPP] |
End of run |
annual total hot water use by end use (at ws_tUse), gal |
- draw and load sizing info derived during C_WSCALCMODECH_PRERUN (only)
- copied to assocated input records in ws_DoEndPreRun()
- thus avail for use in sizing expressions during C_WSCALCMODECH_SIM input
- >> no direct uses in calcs <<
Name |
Type |
Variability |
Description/Comments |
drawMaxDur |
number |
input time |
draw duration window, hr (user input, default 4) |
drawMax |
number |
input time |
largest draw total in any conseq ws_drawMaxDur hrs, gal |
Name |
Type |
Variability |
Description/Comments |
loadMaxDur |
number |
input time |
load duration window, hr (user input, default 12) |
loadMax |
number |
input time |
largest load total in any conseq ws_loadMaxDur hrs, Btu |
EcoSizer sizing algorithm
Name |
Type |
Variability |
Description/Comments |
tSetpointDes |
number |
input time |
- design (sizing) set point temp, F (constant)
- default = ws_tUse
|
tInletDes |
number |
input time |
- design (sizing) cold water inlet temp, F
- default = annual min mains temp
|
ashpTSrcDes |
number |
End of run |
- design (sizing) HPWH source air temperature, F
- default = heating design temp
|
heatingCapDesTopN[index] |
number Array [NDHWSIZEDAYS] |
End of run |
- top N design heating capacities
- [ 0] = largest
|
heatingCapDes |
number |
input time |
- design heating capacity, Btuh
- = ws_heatingCapDesTopN[ 6] or as changed
- defaults from EcoSizer at end of prerun if not input
- No direct use, must be passed to [DHWHEATER][dhwheater] via [ALTER][alter]
|
volRunningDes |
FLOAT_GZ |
input time |
- design running volume, gal
- = active volume (above aquastat)
- full tank volume derived from running volume
- in HPWHLINK::hw_DeriveVolFromVolRunning
- defaults from EcoSizer at end of prerun if not input
- No direct use, must be passed to [DHWHEATER][dhwheater] via [ALTER][alter]
|
fxDes |
FLOAT_GZ |
input time |
- DHW design excess size factor, default 1
- Applied if/when ws_heatingCapDes and/or ws_volRunningDes
- are defaulted from EcoSizer at end of prerun.
- No effect if those values are input.
|
Name |
Type |
Variability |
Description/Comments |
tUse |
number |
Start of run |
- hot water use temp, F
- = temp of water delivered to fixtures or DHWLOOP(s)
- default = 120 F
|
tUseTest |
number |
Start of subhour |
- current subhour test hot water use temp, F
- CAUTION: ws_tUseTest is for testing and model validation only
- Not consistently applied for a heater types
|
Name |
Type |
Variability |
Description/Comments |
tSetpoint |
number |
Start of hour |
- [DHWHEATER][dhwheater] set point (for all [DHWHEATERs][dhwheater] using HPWH model), F
- default = ws_tUse
|
tSetpointLH |
number |
Start of hour |
- [DHWLOOPHEATER][dhwloopheater] set point (for all child [DHWLOOPHEATERs][dhwloopheater] using HPWH model), F
- default = ws_tUse
|
drMethod |
DHWDRMETH |
Start of run |
- DHW demand response control method
- C_DHWDRMETH_NONE, C_DHWDRMETH_SCHED, C_DHWDRMETH_SOC
|
drSignal |
DHWDRSIG |
Start of hour |
DHW demand response control signal |
drStatusHPWH |
number |
End of hour |
- DHW demand response HPWHsim base drStatus for hour
- used iff ws_drSignal == C_DHWDRMETH_SCHED
- may be modified at subhour or tick ivl
|
targetSoC |
FRAC_GZ |
Start of hour |
- target state of charge (SoC)
- used iff ws_drSignal == C_DHWDRMETH_SOC
|
Name |
Type |
Variability |
Description/Comments |
tOutPrimLT |
number |
End of subhour |
- primary water heater outlet temp, F
- for HPWH only, re [DHWLOOPHEATER][dhwloopheater] entering temp
- best estimate from prior 1-min tick
|
dayUsei |
TI |
Start of day |
idx of DHWDAYUSE |
dayUseName |
CULSTR |
Start of day |
name of DHWDAYUSE (resolved at runtime) |
childDHWDAYUSEFlag |
number |
Start of run |
nz iff at least one child DHWSYS has specified ws_dayUseName |
parElec |
FLOAT_GEZ |
Start of hour |
- electrical parasitic power, W
- for e.g. unmodeled recirculation pumps
|
SDLM |
FLOAT_GZ |
input time |
- standard distribution loss multiplier
- see ACM AppE Eqn RE-5
|
DSM |
FLOAT_GZ |
input time |
distribution system multiplier (AppE table RE-2) |
SSF |
FLOAT_GEZ |
Start of hour |
- user input solar savings fraction
- valid range 0 - 0.99, see code
- approximates savings by modifyng inlet water temp
- not allowed (and set 0) when [DHWSOLARSYS][dhwsolarsys] is specified
|
WF |
FLOAT_GEZ |
Start of hour |
- waste factor applied to ws_hwUse and [DHWUSEs][dhwuse]
- default=1. CEC procedures use 0.9 for
- systems having within unit recirc.
|
drawCount[index] |
number Array [NDHWENDUSESPP] |
End of hour |
- (approx) total # of draws in run (generally full year) by end use
- draws spanning midnight double counted
- draws with same eventID counted individually
- [ 0]: total (including unknown end use)
- [ 1..]: per C_DHWEUCH_xxx
|
drawsPerDay[index] |
number Array [NDHWENDUSESPP] |
Start of run |
|
Name |
Type |
Variability |
Description/Comments |
drawDurF[index] |
FLOAT_GEZ Array [NDHWENDUSESPP] |
End of hour |
- water heater draw duration factors by end use
- accounts for warm-up waste and pipe losses for [DHWDAYUSE][dhwdayuse] draws
- factor = actual draw duration / nominal draw duration
- [ 0] = unknown end use ([DHWUSEs][dhwuse] w/o wu_hwEndUse) (*not* ws_hwUse)
- [1 ..] = per C_DHWEUCH_xxx
|
branchModel |
choice:DHWBRANCHMODEL |
input time |
- branch model selection
- _T24DHW: prior ACM App-B
- _DRAWWASTE: draw duration increase per ws_drawWaste
- _DAYWASTE: draw duration increase per ??
|
drawWaste[index] |
number Array [NDHWENDUSESPP] |
Start of hour |
- water waste per draw, gal
- converts to time added to draw duration
- [ 0] unknown end use
- [ 1..] = per C_DHWEUCH_xxx
|
dayWasteDrawF[index] |
number Array [NDHWENDUSESPP] |
input time |
- relative draw for day waste scheme
- [ 0] unknown end use
- [ 1..] = per C_DHWEUCH_xxx
|
dayWasteVol |
FLOAT_GEZ |
input time |
base daily total draw waste, gal/day |
dayWasteBranchVolF |
FLOAT_GEZ |
input time |
- additional daily draw waste, discards/day
- [DHWLOOPBRANCH][dhwloopbranch] volume multiplier
|
dayWaste |
FLOAT_GEZ |
Start of run |
- daily draw waste, gal/day
- ws_dayWasteVol + ws_dayWasteBranchVolF * (total [DHWLOOPBRANCH][dhwloopbranch] volume)
|
dayWasteScale |
FLOAT_GEZ |
End of run |
|
Name |
Type |
Variability |
Description/Comments |
childDHWSYSCount |
FLOAT_GEZ |
Start of run |
- # of child [DHWSYSs][dhwsys] iff central system (else 0)
- note may not be integral
|
whCount |
FLOAT_GEZ |
Start of run |
- # of (primary) [DHWHEATERs][dhwheater] serving this [DHWSYS][dhwsys]
- = SUM( [DHWHEATER][dhwheater].wh_mult) (possibly non-integral)
|
wlhCount |
FLOAT_GEZ |
Start of run |
- # of [DHWLOOPHEATERs][dhwloopheater] in this [DHWSYS][dhwsys]
- = SUM( [DHWLOOPHEATER][dhwloopheater].wh_mult) (possibly non-integral?)
|
whCountUseTS |
FLOAT_GEZ |
Start of run |
- # of [DHWHEATERs][dhwheater] serving this [DHWSYS][dhwsys] that respond to ws_tSetpoint
- used for re "ignore" msg(s)
|
wlhCountUseTS |
FLOAT_GEZ |
Start of run |
- # of [DHWLOOPHEATERs][dhwloopheater] serving this [DHWSYS][dhwsys] that respond to ws_tSetpointLH
- used for re "ignore" msg(s)
|
wtCount |
number |
Start of run |
# of child DHWTANKs |
wpCount |
number |
Start of run |
# of child DHWPUMPs |
wlCount |
number |
Start of run |
# of child DHWLOOPs (aka NLOOPk) |
CHDHWCount |
number |
Start of run |
# of combined heat/DHW RSYS systems served |
configChecked |
number |
Start of run |
- set non-0 when configuration has been checked (see ws_Init())
- WHY: reduces info message when >1 [RUN][run]
- side effect: does not re-check after [ALTER][alter]
|
Name |
Type |
Variability |
Description/Comments |
loopSegTotals |
|
|
aggregated totals, all child loop segments |
SEGTOTS
Name |
Type |
Variability |
Description/Comments |
loopSegTotals.count |
DBL |
Start of run |
# of segments included in totals |
loopSegTotals.len |
DBL |
Start of run |
length, ft |
loopSegTotals.vol |
DBL |
Start of run |
volume, gal |
loopSegTotals.exArea |
DBL |
Start of run |
outside surface area (at insulation surface), ft2 |
loopSegTotals.UA |
DBL |
Start of run |
fluid-to-surround loss, Btuh/F-hr |
|
Name |
Type |
Variability |
Description/Comments |
branchTotals |
|
|
aggregated totals, all child branches |
SEGTOTS
Name |
Type |
Variability |
Description/Comments |
branchTotals.count |
DBL |
Start of run |
# of segments included in totals |
branchTotals.len |
DBL |
Start of run |
length, ft |
branchTotals.vol |
DBL |
Start of run |
volume, gal |
branchTotals.exArea |
DBL |
Start of run |
outside surface area (at insulation surface), ft2 |
branchTotals.UA |
DBL |
Start of run |
fluid-to-surround loss, Btuh/F-hr |
|
Name |
Type |
Variability |
Description/Comments |
wrCount |
number |
Start of run |
total child DHWHEATRECs |
wrFeedWHCount |
number |
Start of run |
- count of child [DHWHEATRECs][dhwheatrec] that provide
- feed (cold) water to [DHWHEATERs][dhwheater]
- [DHWHEATRECs][dhwheatrec] may feed fixtures or WH or both
|
wrFxDrainCount |
number |
Start of run |
count of fixture drains feeding (possibly shared) DHWHEATRECs |
fxCount[index] |
SI_GEZ Array [NDHWENDUSESPP] |
Start of run |
- end-use count of fixtures served by this [DHWSYS][dhwsys]
- non-central: user input, default 1
- central: derived from child [DHWSYSs][dhwsys]
- used re allocation of shared loads
|
- Load sharing -- support of multiple [DHWSYSs][dhwsys] in single unit
- draws are distributed among [DHWSYSs][dhwsys] having suitable fixtures
- aka "deal-em-out" algorithm
Name |
Type |
Variability |
Description/Comments |
loadShareDHWSYSi |
TI |
input time |
index of DHWSYS with which this DHWSYS shares load |
loadShareCount[index] |
number Array [NDHWENDUSESPP] |
Start of run |
- # of [DHWSYSs][dhwsys] sharing group load by end use
- ([ 0] = # of [DHWSYSs][dhwsys] in group)
- NOT effected by ws_mult.
- All [DHWSYSs][dhwsys] in group have same ws_loadShareCounts
|
loadShareWS0[index] |
number Array [NDHWENDUSESPP] |
End of day |
- re allocation of shared load
- idx for ws_eventID=0 by end use, set daily based on jDay
|
Name |
Type |
Variability |
Description/Comments |
drawCSV |
choice:NOYES |
input time |
- iff C_NOYESCH_YES, write tick-level draw data to
- _<[DHWSYS][dhwsys].name>_draws.csv
|
Name |
Type |
Variability |
Description/Comments |
HHWO |
number |
End of hour |
current total recovery load (at water heater), Btu |
DLM |
number |
End of hour |
distribution loss multiplier (calc'd) |
volRL |
number |
End of hour |
current hour all-DHWLOOP return volume, gal |
tRL |
number |
End of hour |
current hour all-DHWLOOP return temp, F |
HRBL |
number |
End of hour |
current hour all-DHWLOOPBRANCH losses, Btu |
t24WL |
number |
End of hour |
- current hour all-[DHWLOOPBRANCH][dhwloopbranch] waste loss volume, gal
- per T24DHW branch model
- info only: associated energy is included in ws_HRBL
|
t24WLTot |
DBL |
End of run |
annual total ws_t24WL, gal |
Name |
Type |
Variability |
Description/Comments |
volCHDHW |
number |
End of subhour |
current subhour all-RSYS combined heat/DHW (CHDHW) draw, gal |
tRCHDHW |
number |
End of subhour |
current subhour average combined heat/DHW (CHDHW) return temp, F |
CHDHWHtgFractSH |
number |
End of subhour |
- current subhour fraction of [DHWSYS][dhwsys] output that
- supplied CHDHW load(s)
|
CHDHWHtgFractAvg |
number |
End of subhour |
- fraction of [DHWSYS][dhwsys] output that supplied CHDHW load(s)
- averaged over last ws_CHDHWHistoryHours hours
|
Name |
Type |
Variability |
Description/Comments |
HRDL |
number |
End of hour |
- current hour recirculation loss, Btu
- = ws_HRBL + [DHWLOOPSEG][dhwloopseg] losses
- (adjusted re [DHWLOOP][dhwloop] wl_lossMakeupPwr)
|
HJLsh |
number |
End of subhour |
current subhour jacket losses (from DHWTANKs), Btu |
HJL |
number |
End of hour |
hour total jacket losses (from DHWTANKs), Btu |
HARL |
number |
End of hour |
hour total adjusted recovery load, Btu |