TYPE HeatPumpWaterHeaterData
CHARACTER(len=MaxNameLength) :: Name = '' ! Name of heat pump water heater
CHARACTER(len=MaxNameLength) :: Type = '' ! Type of water heater (HEAT PUMP:WATER HEATER)
INTEGER :: TypeNum = 0 ! integer parameter for heat pump water heater
CHARACTER(len=MaxNameLength) :: TankName = '' ! Name of tank associated with heat pump water heater
CHARACTER(len=MaxNameLength) :: TankType = '' ! Type of water heater (MIXED or STRATIFIED) used with heat pump
INTEGER :: TankTypeNum = 0 ! Parameter for tank type (MIXED or STRATIFIED)
LOGICAL :: StandAlone = .FALSE. ! Flag for operation with no plant connections (no use nodes)
INTEGER :: AvailSchedPtr = 0 ! Index to Availability Schedule curve index
INTEGER :: SetpointTempSchedule = 0 ! Index to Setpoint Temperature Schedule curve
REAL(r64) :: DeadbandTempDiff = 0.0d0 ! Dead band temperature difference (cut-in temperature)
REAL(r64) :: Capacity = 0.0d0 ! Heat Pump rated capacity (W)
REAL(r64) :: BackupElementCapacity = 0.0d0 ! Tank backup element capacity (W)
REAL(r64) :: BackupElementEfficiency = 0.0d0 ! Tank backup element efficiency
REAL(r64) :: WHOnCycParaLoad = 0.0d0 ! tank's on-cycle parasitic load (W), disable for rating
REAL(r64) :: WHOffCycParaLoad = 0.0d0 ! tank's off-cycle parasitic load (W), disable for rating
REAL(r64) :: WHOnCycParaFracToTank = 0.0d0 ! tank's on-cycle parasitic frac to tank, disable for rating
REAL(r64) :: WHOffCycParaFracToTank = 0.0d0 ! tank's off-cycle parasitic frac to tank, disable for rating
INTEGER :: WHPLFCurve = 0 ! tank part-load fraction curve index, used for rating procedure
REAL(r64) :: OperatingAirFlowRate = 0.0d0 ! Operating volumetric air flow rate (m3/s)
REAL(r64) :: OperatingWaterFlowRate = 0.0d0 ! Operating volumetric water flow rate (m3/s)
REAL(r64) :: COP = 0.0d0 ! Heat Pump coefficient of performance (W/W)
REAL(r64) :: SHR = 0.0d0 ! Heat Pump air-side coil sensible heat ratio
REAL(r64) :: RatedInletDBTemp = 0.0d0 ! Rated evaporator inlet air dry-bulb temperature (C)
REAL(r64) :: RatedInletWBTemp = 0.0d0 ! Rated evaporator inlet air wet-bulb temperature (C)
REAL(r64) :: RatedInletWaterTemp = 0.0d0 ! Rated condenser inlet water temperature (C)
LOGICAL :: FoundTank = .FALSE. ! Found storage tank flag associated with HP water heater
INTEGER :: HeatPumpAirInletNode = 0 ! HP air inlet node (for zone, zone/outdoor or scheduled)
INTEGER :: HeatPumpAirOutletNode = 0 ! HP air outlet node (for zone, zone/outdoor or scheduled)
INTEGER :: OutsideAirNode = 0 ! outdoor air node (for outdoor or zone/outdoor air unit only)
INTEGER :: ExhaustAirNode = 0 ! Exhaust air node (for outdoor or zone/outdoor air unit only)
INTEGER :: CondWaterInletNode = 0 ! Condenser water inlet node
INTEGER :: CondWaterOutletNode = 0 ! Condenser water outlet node
INTEGER :: WHUseInletNode = 0 ! Water heater tank use side inlet node
INTEGER :: WHUseOutletNode = 0 ! Water heater tank use side outlet node
INTEGER :: WHUseSidePlantLoopNum = 0 ! if not zero, then this water heater is on plant loop #
CHARACTER(len=MaxNameLength) :: DXCoilType = '' ! Type of DX coil (Coil:DX:HeatPumpWaterHeater)
CHARACTER(len=MaxNameLength) :: DXCoilName = '' ! Name of DX coil
INTEGER :: DXCoilNum = 0 ! Index of DX coil
INTEGER :: DXCoilAirInletNode = 0 ! Inlet air node number of DX coil
INTEGER :: DXCoilPLFFPLR = 0 ! Index to HPWH's DX Coil PLF as a function of PLR curve
CHARACTER(len=MaxNameLength) :: FanType = '' ! Type of Fan (Fan:OnOff)
INTEGER :: FanType_Num = 0 ! Integer type of fan (3 = Fan:OnOff)
CHARACTER(len=MaxNameLength) :: FanName = '' ! Name of Fan
INTEGER :: FanNum = 0 ! Index of Fan
INTEGER :: FanPlacement = 0 ! Location of Fan
INTEGER :: FanOutletNode = 0 ! Outlet node of heat pump water heater fan
INTEGER :: WaterHeaterTankNum = 0 ! Index of Water Heater Tank
INTEGER :: OutletAirSplitterSchPtr = 0 ! Index to air-side outlet air splitter schedule
INTEGER :: InletAirMixerSchPtr = 0 ! Index to air-side inlet air mixer schedule
INTEGER :: Mode = 0 ! HP mode (0 = float, 1 = heating [-1 = venting na for HP])
INTEGER :: SaveMode = 0 ! HP mode on first iteration
INTEGER :: SaveWHMode = 0 ! mode of water heater tank element (backup element)
REAL(r64) :: Power = 0.0d0 ! HP power used for reporting
REAL(r64) :: Energy = 0.0d0 ! HP energy used for reporting
REAL(r64) :: HeatingPLR = 0.0d0 ! HP PLR used for reporting
REAL(r64) :: SetpointTemp = 0.0d0 ! set point or cut-out temperature [C]
REAL(r64) :: MinAirTempForHPOperation = 5.0d0 ! HP does not operate below this ambient temperature
INTEGER :: InletAirMixerNode = 0 ! Inlet air mixer node number of HP water heater
INTEGER :: OutletAirSplitterNode = 0 ! Outlet air splitter node number of HP water heater
REAL(r64) :: SourceMassFlowRate = 0.0d0 ! Maximum mass flow rate on the source side (kg/s)
INTEGER :: InletAirConfiguration = 0 ! Identifies source of HPWH inlet air
INTEGER :: AmbientTempSchedule = 0 ! Schedule index pointer for ambient air temp at HPWH inlet
INTEGER :: AmbientRHSchedule = 0 ! Schedule index pointer for ambient air RH at HPWH inlet
INTEGER :: AmbientTempZone = 0 ! Index of ambient zone for ambient air at HPWH inlet
INTEGER :: CrankcaseTempIndicator = 0 ! Indicator for HPWH compressor/crankcase heater location
INTEGER :: CrankcaseTempSchedule = 0 ! Schedule index pointer where crankcase heater is located
INTEGER :: CrankcaseTempZone = 0 ! Index of zone where compressor/crankcase heater is located
REAL(r64) :: OffCycParaLoad = 0.0d0 ! Rate for off-cycle parasitic load (W)
REAL(r64) :: OnCycParaLoad = 0.0d0 ! Rate for on-cycle parasitic load (W)
INTEGER :: ParasiticTempIndicator = 0 ! Indicator for HPWH parasitic heat rejection location
REAL(r64) :: OffCycParaFuelRate = 0.0d0 ! Electric consumption rate for off-cycle parasitic load (W)
REAL(r64) :: OnCycParaFuelRate = 0.0d0 ! Electric consumption rate for on-cycle parasitic load (W)
REAL(r64) :: OffCycParaFuelEnergy = 0.0d0 ! Electric energy consumption for off-cycle parasitic load (J)
REAL(r64) :: OnCycParaFuelEnergy = 0.0d0 ! Electric energy consumption for on-cycle parasitic load (J)
LOGICAL :: AirFlowRateAutosized = .FALSE. ! Used to report air flow autosize info in Init
LOGICAL :: WaterFlowRateAutosized = .FALSE. ! Used to report water flow autosize info in Init
INTEGER :: HPSetPointError = 0 ! Used when temperature SP's in tank and HP are reversed
INTEGER :: HPSetPointErrIndex1 = 0 ! Index to recurring error for tank/HP set point temp
INTEGER :: IterLimitErrIndex1 = 0 ! Index for recurring iteration limit warning messages
INTEGER :: IterLimitExceededNum1 = 0 ! Counter for recurring iteration limit warning messages
INTEGER :: RegulaFalsiFailedIndex1 = 0 ! Index for recurring RegulaFalsi failed warning messages
INTEGER :: RegulaFalsiFailedNum1 = 0 ! Counter for recurring RegulaFalsi failed warning messages
INTEGER :: IterLimitErrIndex2 = 0 ! Index for recurring iteration limit warning messages
INTEGER :: IterLimitExceededNum2 = 0 ! Counter for recurring iteration limit warning messages
INTEGER :: RegulaFalsiFailedIndex2 = 0 ! Index for recurring RegulaFalsi failed warning messages
INTEGER :: RegulaFalsiFailedNum2 = 0 ! Counter for recurring RegulaFalsi failed warning messages
LOGICAL :: FirstTimeThroughFlag = .TRUE. ! Flag for saving water heater status
LOGICAL :: ShowSetpointWarning = .TRUE. ! Warn when set point is greater than max tank temp limit
REAL(r64) :: HPWaterHeaterSensibleCapacity =0.0d0 ! sensible capacity delivered when HPWH is attached to a zone (W)
REAL(r64) :: HPWaterHeaterLatentCapacity =0.0d0 ! latent capacity delivered when HPWH is attached to a zone (kg/s)
INTEGER :: ControlSensorLocation = HPWHControlNotSet ! if using stratified tank, indicates control point
END TYPE HeatPumpWaterHeaterData