DHWSYS
title: 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 [8] |
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 [8] |
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 [10] |
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 [6] |
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 [6] |
Start of run |
|
| Name |
Type |
Variability |
Description/Comments |
| drawDurF[index] |
FLOAT_GEZ Array [6] |
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 [6] |
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 [6] |
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 [6] |
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 [6] |
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 [6] |
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 |