Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | UnitarySystemType | = | ' ' | ||
integer, | public | :: | UnitarySystemType_Num | = | 0 | ||
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
logical, | public | :: | HeatPump | = | .FALSE. | ||
integer, | public | :: | SysAvailSchedPtr | = | 0 | ||
integer, | public | :: | UnitarySystemInletNodeNum | = | 0 | ||
integer, | public | :: | UnitarySystemOutletNodeNum | = | 0 | ||
integer, | public | :: | CondenserType | = | 0 | ||
logical, | public | :: | AirLoopEquipment | = | .TRUE. | ||
integer, | public | :: | ControlZoneNum | = | 0 | ||
integer, | public | :: | ZoneSequenceCoolingNum | = | 0 | ||
integer, | public | :: | ZoneSequenceHeatingNum | = | 0 | ||
integer, | public | :: | NodeNumofControlledZone | = | 0 | ||
integer, | public | :: | ZoneInletNode | = | 0 | ||
real(kind=r64), | public | :: | ControlZoneMassFlowFrac | = | 0.0d0 | ||
logical, | public | :: | Humidistat | = | .FALSE. | ||
real(kind=r64), | public | :: | DesignMaxOutletTemp | = | 80.0d0 | ||
integer, | public | :: | CondenserNodeNum | = | 0 | ||
integer, | public | :: | DehumidControlType_Num | = | 0 | ||
integer, | public | :: | AirFlowControl | = | 1 | ||
integer, | public | :: | ControlType | = | 0 | ||
logical, | public | :: | RequestAutosize | = | .FALSE. | ||
logical, | public | :: | RunOnSensibleLoad | = | .TRUE. | ||
logical, | public | :: | RunOnLatentLoad | = | .FALSE. | ||
logical, | public | :: | RunOnLatentOnlyWithSensible | = | .FALSE. | ||
integer, | public | :: | DehumidificationMode | = | 0 | ||
integer, | public | :: | FanOpMode | = | 0 | ||
integer, | public | :: | LastMode | = | 0 | ||
real(kind=r64), | public | :: | AncillaryOnPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | AncillaryOffPower | = | 0.0d0 | ||
character(len=MaxNameLength), | public | :: | DesignSpecMultispeedHPType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | DesignSpecMultispeedHPName | = | ' ' | ||
character(len=MaxNameLength), | public | :: | CoolingCoilName | = | ' ' | ||
integer, | public | :: | CoolingCoilType_Num | = | 0 | ||
integer, | public | :: | CoolingCoilIndex | = | 0 | ||
real(kind=r64), | public | :: | DesignCoolingCapacity | = | 0.0d0 | ||
integer, | public | :: | CoolingCoilAvailSchPtr | = | 0 | ||
integer, | public | :: | ActualDXCoilIndexForHXAssisted | = | 0 | ||
real(kind=r64), | public | :: | DOASDXCoolingCoilMinTout | = | 0.0d0 | ||
logical, | public | :: | ISHundredPercentDOASDXCoil | = | .FALSE. | ||
logical, | public | :: | CoolCoilExists | = | .FALSE. | ||
integer, | public | :: | FrostControlStatus | = | 0 | ||
integer, | public | :: | CoolCoilInletNodeNum | = | 0 | ||
integer, | public | :: | CoolCoilOutletNodeNum | = | 0 | ||
integer, | public | :: | CoolCoilFluidOutletNodeNum | = | 0 | ||
integer, | public | :: | CoolCoilLoopNum | = | 0 | ||
integer, | public | :: | CoolCoilLoopSide | = | 0 | ||
integer, | public | :: | CoolCoilBranchNum | = | 0 | ||
integer, | public | :: | CoolCoilCompNum | = | 0 | ||
integer, | public | :: | CoolCoilFluidInletNode | = | 0 | ||
real(kind=r64), | public | :: | MaxCoolCoilFluidFlow | = | Autosize | ||
logical, | public | :: | CoolingCoilUpStream | = | .TRUE. | ||
real(kind=R64), | public | :: | CoolCompPartLoadRatio | = | 0.0d0 | ||
character(len=MaxNameLength), | public | :: | HeatingCoilName | = | ' ' | ||
integer, | public | :: | HeatingCoilType_Num | = | 0 | ||
integer, | public | :: | HeatingCoilIndex | = | 0 | ||
real(kind=r64), | public | :: | DesignHeatingCapacity | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatingSizingRatio | = | 1.0d0 | ||
logical, | public | :: | DXHeatingCoil | = | .FALSE. | ||
integer, | public | :: | HeatCoilInletNodeNum | = | 0 | ||
integer, | public | :: | HeatCoilOutletNodeNum | = | 0 | ||
integer, | public | :: | HeatCoilFluidOutletNodeNum | = | 0 | ||
integer, | public | :: | HeatingCoilPLFCurveIndex | = | 0 | ||
integer, | public | :: | HeatingCoilAvailSchPtr | = | 0 | ||
logical, | public | :: | HeatCoilExists | = | .FALSE. | ||
integer, | public | :: | HeatCoilLoopNum | = | 0 | ||
integer, | public | :: | HeatCoilLoopSide | = | 0 | ||
integer, | public | :: | HeatCoilBranchNum | = | 0 | ||
integer, | public | :: | HeatCoilCompNum | = | 0 | ||
integer, | public | :: | HeatCoilFluidInletNode | = | 0 | ||
real(kind=r64), | public | :: | MaxHeatCoilFluidFlow | = | Autosize | ||
real(kind=R64), | public | :: | HeatCompPartLoadRatio | = | 0.0d0 | ||
character(len=MaxNameLength), | public | :: | SuppHeatCoilName | = | ' ' | ||
integer, | public | :: | SuppHeatCoilType_Num | = | 0 | ||
integer, | public | :: | SuppHeatCoilIndex | = | 0 | ||
real(kind=r64), | public | :: | DesignSuppHeatingCapacity | = | 0.0d0 | ||
integer, | public | :: | SuppCoilFluidInletNode | = | 0 | ||
integer, | public | :: | SuppCoilFluidOutletNodeNum | = | 0 | ||
integer, | public | :: | SuppCoilAirInletNode | = | 0 | ||
integer, | public | :: | SuppCoilAirOutletNode | = | 0 | ||
integer, | public | :: | SuppCoilAvailSchPtr | = | 0 | ||
real(kind=r64), | public | :: | MaxSuppCoilFluidFlow | = | Autosize | ||
real(kind=r64), | public | :: | MaxOATSuppHeat | = | 21.0d0 | ||
logical, | public | :: | SuppCoilExists | = | .FALSE. | ||
integer, | public | :: | SuppCoilLoopNum | = | 0 | ||
integer, | public | :: | SuppCoilLoopSide | = | 0 | ||
integer, | public | :: | SuppCoilBranchNum | = | 0 | ||
integer, | public | :: | SuppCoilCompNum | = | 0 | ||
integer, | public | :: | FanType_Num | = | 0 | ||
integer, | public | :: | FanIndex | = | 0 | ||
real(kind=r64), | public | :: | ActualFanVolFlowRate | = | 0.0d0 | ||
integer, | public | :: | FanOpModeSchedPtr | = | 0 | ||
integer, | public | :: | FanAvailSchedPtr | = | 0 | ||
integer, | public | :: | FanPlace | = | 0 | ||
logical, | public | :: | FanExists | = | .FALSE. | ||
real(kind=r64), | public | :: | FanDelayTime | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxCoolAirVolFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxHeatAirVolFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxNoCoolHeatAirVolFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | DesignFanVolFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | DesignMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxCoolAirMassFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxHeatAirMassFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxNoCoolHeatAirMassFlow | = | 0.0d0 | ||
integer, | public | :: | CoolingSAFMethod | = | 0 | ||
integer, | public | :: | HeatingSAFMethod | = | 0 | ||
integer, | public | :: | NoCoolHeatSAFMethod | = | 0 | ||
real(kind=r64), | public | :: | MinOATCompressor | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxONOFFCyclesperHour | = | 0.0d0 | ||
real(kind=r64), | public | :: | HPTimeConstant | = | 0.0d0 | ||
real(kind=r64), | public | :: | OnCyclePowerFraction | = | 0.0d0 | ||
real(kind=r64), | public | :: | DesignHRWaterVolumeFlow | = | 0.0d0 | ||
real(kind=R64), | public | :: | WSHPRuntimeFrac | = | 0.0d0 | ||
real(kind=R64), | public | :: | HeatingCoilSensDemand | = | 0.0d0 | ||
real(kind=R64), | public | :: | CoolingCoilSensDemand | = | 0.0d0 | ||
real(kind=R64), | public | :: | CoolingCoilLatentDemand | = | 0.0d0 | ||
integer, | public | :: | HeatRecoveryInletNodeNum | = | 0 | ||
integer, | public | :: | HeatRecoveryOutletNodeNum | = | 0 | ||
logical, | public | :: | HeatRecActive | = | .FALSE. | ||
real(kind=r64), | public | :: | DesignHeatRecMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxHROutletWaterTemp | = | 0.0d0 | ||
integer, | public | :: | HRLoopNum | = | 0 | ||
integer, | public | :: | HRLoopSideNum | = | 0 | ||
integer, | public | :: | HRBranchNum | = | 0 | ||
integer, | public | :: | HRCompNum | = | 0 | ||
integer, | public | :: | SystemHeatControlNodeNum | = | 0 | ||
integer, | public | :: | SystemCoolControlNodeNum | = | 0 | ||
integer, | public | :: | SuppHeatControlNodeNum | = | 0 | ||
real(kind=r64), | public | :: | DesiredOutletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | DesiredOutletHumRat | = | 1.0d0 | ||
real(kind=r64), | public | :: | CoolingPartLoadFrac | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatingPartLoadFrac | = | 0.0d0 | ||
real(kind=r64), | public | :: | SuppHeatPartLoadFrac | = | 0.0d0 | ||
real(kind=r64), | public | :: | SupHeaterLoad | = | 0.0d0 | ||
real(kind=r64), | public | :: | SenLoadLoss | = | 0.0d0 | ||
real(kind=r64), | public | :: | LatLoadLoss | = | 0.0d0 | ||
real(kind=r64), | public | :: | SensibleLoadMet | = | 0.0d0 | ||
real(kind=r64), | public | :: | LatentLoadMet | = | 0.0d0 | ||
logical, | public | :: | InitHeatPump | = | .TRUE. | ||
integer, | public | :: | WaterCyclingMode | = | 0 | ||
integer, | public | :: | HeatCoolMode | = | 0 | ||
integer, | public | :: | NumOfSpeedCooling | = | 0 | ||
integer, | public | :: | NumOfSpeedHeating | = | 0 | ||
real(kind=r64), | public | :: | IdleSpeedRatio | = | 0 | ||
real(kind=r64), | public | :: | IdleVolumeAirRate | = | 0 | ||
real(kind=r64), | public | :: | IdleMassFlowRate | = | 0 | ||
logical, | public | :: | CheckFanFlow | = | .TRUE. | ||
real(kind=r64), | public, | DIMENSION(:), ALLOCATABLE | :: | HeatVolumeFlowRate | |||
real(kind=r64), | public, | DIMENSION(:), ALLOCATABLE | :: | HeatMassFlowRate | |||
real(kind=r64), | public, | DIMENSION(:), ALLOCATABLE | :: | CoolVolumeFlowRate | |||
real(kind=r64), | public, | DIMENSION(:), ALLOCATABLE | :: | CoolMassFlowRate | |||
real(kind=r64), | public, | DIMENSION(:), ALLOCATABLE | :: | MSHeatingSpeedRatio | |||
real(kind=r64), | public, | DIMENSION(:), ALLOCATABLE | :: | MSCoolingSpeedRatio | |||
real(kind=r64), | public | :: | NoHeatCoolSpeedRatio | = | 1.0d0 | ||
integer, | public | :: | DesignSpecMSHPIndex | = | 0 | ||
logical, | public | :: | MultiSpeedCoolingCoil | = | .FALSE. | ||
logical, | public | :: | MultiSpeedHeatingCoil | = | .FALSE. | ||
logical, | public | :: | VarSpeedCoolingCoil | = | .FALSE. | ||
logical, | public | :: | VarSpeedHeatingCoil | = | .FALSE. | ||
integer, | public | :: | CoolingSpeedNum | = | 0 | ||
integer, | public | :: | HeatingSpeedNum | = | 0 | ||
real(kind=r64), | public | :: | CoolingSpeedRatio | = | 1.0d0 | ||
real(kind=r64), | public | :: | CoolingFanSpeedRatio | = | 1.0d0 | ||
real(kind=r64), | public | :: | HeatingSpeedRatio | = | 1.0d0 | ||
real(kind=r64), | public | :: | HeatingFanSpeedRatio | = | 1.0d0 | ||
real(kind=r64), | public | :: | CoolingCycRatio | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatingCycRatio | = | 0.0d0 | ||
real(kind=r64), | public | :: | PartLoadFrac | = | 0.0d0 | ||
real(kind=R64), | public | :: | FanPartLoadRatio | = | 0.0d0 | ||
real(kind=R64), | public | :: | CompPartLoadRatio | = | 0.0d0 | ||
real(kind=R64), | public | :: | ElecPower | = | 0.0d0 | ||
real(kind=R64), | public | :: | ElecPowerConsumption | = | 0.0d0 | ||
real(kind=r64), | public | :: | TotCoolEnergyRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | SensCoolEnergyRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | LatCoolEnergyRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | TotHeatEnergyRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | SensHeatEnergyRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | LatHeatEnergyRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | TotalAuxElecPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatingAuxElecConsumption | = | 0.0d0 | ||
real(kind=r64), | public | :: | CoolingAuxElecConsumption | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatRecoveryRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatRecoveryEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatRecoveryInletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatRecoveryOutletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatRecoveryMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | DehumidInducedHeatingDemandRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | EMSSensibleZoneLoadValue | = | 0.0d0 | ||
real(kind=r64), | public | :: | EMSMoistureZoneLoadValue | = | 0.0d0 | ||
integer, | public | :: | SpeedNum | = | 0 | ||
real(kind=r64), | public | :: | SpeedRatio | = | 0.0d0 | ||
real(kind=r64), | public | :: | CycRatio | = | 0.0d0 | ||
integer, | public | :: | HXAssistedSensPLRIter | = | 0 | ||
integer, | public | :: | HXAssistedSensPLRIterIndex | = | 0 | ||
integer, | public | :: | HXAssistedSensPLRFail | = | 0 | ||
integer, | public | :: | HXAssistedSensPLRFailIndex | = | 0 | ||
integer, | public | :: | HXAssistedSensPLRFail2 | = | 0 | ||
integer, | public | :: | HXAssistedSensPLRFailIndex2 | = | 0 | ||
integer, | public | :: | HXAssistedLatPLRIter | = | 0 | ||
integer, | public | :: | HXAssistedLatPLRIterIndex | = | 0 | ||
integer, | public | :: | HXAssistedLatPLRFail | = | 0 | ||
integer, | public | :: | HXAssistedLatPLRFailIndex | = | 0 | ||
integer, | public | :: | HXAssistedCRLatPLRIter | = | 0 | ||
integer, | public | :: | HXAssistedCRLatPLRIterIndex | = | 0 | ||
integer, | public | :: | HXAssistedCRLatPLRFail | = | 0 | ||
integer, | public | :: | HXAssistedCRLatPLRFailIndex | = | 0 | ||
integer, | public | :: | HXAssistedCRLatPLRFail2 | = | 0 | ||
integer, | public | :: | HXAssistedCRLatPLRFailIndex2 | = | 0 | ||
integer, | public | :: | SensPLRIter | = | 0 | ||
integer, | public | :: | SensPLRIterIndex | = | 0 | ||
integer, | public | :: | SensPLRFail | = | 0 | ||
integer, | public | :: | SensPLRFailIndex | = | 0 | ||
integer, | public | :: | LatPLRIter | = | 0 | ||
integer, | public | :: | LatPLRIterIndex | = | 0 | ||
integer, | public | :: | LatPLRFail | = | 0 | ||
integer, | public | :: | LatPLRFailIndex | = | 0 | ||
integer, | public | :: | HeatCoilSensPLRIter | = | 0 | ||
integer, | public | :: | HeatCoilSensPLRIterIndex | = | 0 | ||
integer, | public | :: | HeatCoilSensPLRFail | = | 0 | ||
integer, | public | :: | HeatCoilSensPLRFailIndex | = | 0 | ||
integer, | public | :: | SuppHeatCoilSensPLRIter | = | 0 | ||
integer, | public | :: | SuppHeatCoilSensPLRIterIndex | = | 0 | ||
integer, | public | :: | SuppHeatCoilSensPLRFail | = | 0 | ||
integer, | public | :: | SuppHeatCoilSensPLRFailIndex | = | 0 | ||
integer, | public | :: | DXCoilSensPLRIter | = | 0 | ||
integer, | public | :: | DXCoilSensPLRIterIndex | = | 0 | ||
integer, | public | :: | DXCoilSensPLRFail | = | 0 | ||
integer, | public | :: | DXCoilSensPLRFailIndex | = | 0 | ||
integer, | public | :: | MSpdSensPLRIter | = | 0 | ||
integer, | public | :: | MSpdSensPLRIterIndex | = | 0 | ||
integer, | public | :: | MSpdCycSensPLRIter | = | 0 | ||
integer, | public | :: | MSpdCycSensPLRIterIndex | = | 0 | ||
integer, | public | :: | MSpdLatPLRIter | = | 0 | ||
integer, | public | :: | MSpdLatPLRIterIndex | = | 0 | ||
integer, | public | :: | MSpdCycLatPLRIter | = | 0 | ||
integer, | public | :: | MSpdCycLatPLRIterIndex | = | 0 | ||
integer, | public | :: | MaxIterIndex | = | 0 | ||
integer, | public | :: | RegulaFalsIFailedIndex | = | 0 | ||
integer, | public | :: | LatMaxIterIndex | = | 0 | ||
integer, | public | :: | LatRegulaFalsIFailedIndex | = | 0 | ||
logical, | public | :: | DesignFanVolFlowRateEMSOverrideOn | = | .FALSE. | ||
logical, | public | :: | MaxHeatAirVolFlowEMSOverrideOn | = | .FALSE. | ||
logical, | public | :: | MaxCoolAirVolFlowEMSOverrideOn | = | .FALSE. | ||
logical, | public | :: | MaxNoCoolHeatAirVolFlowEMSOverrideOn | = | .FALSE. | ||
real(kind=r64), | public | :: | DesignFanVolFlowRateEMSOverrideValue | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxHeatAirVolFlowEMSOverrideValue | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxCoolAirVolFlowEMSOverrideValue | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxNoCoolHeatAirVolFlowEMSOverrideValue | = | 0.0d0 | ||
logical, | public | :: | EMSOverrideSensZoneLoadRequest | = | .FALSE. | ||
logical, | public | :: | EMSOverrideMoistZoneLoadRequest | = | .FALSE. | ||
integer, | public | :: | StageNum | = | 0 | ||
logical, | public | :: | Staged | = | .FALSE. | ||
integer, | public | :: | CoolCountAvail | = | 0 | ||
integer, | public | :: | CoolIndexAvail | = | 0 | ||
integer, | public | :: | HeatCountAvail | = | 0 | ||
integer, | public | :: | HeatIndexAvail | = | 0 |
TYPE UnitarySystemData
! HVAC system specific data
CHARACTER(len=MaxNameLength) :: UnitarySystemType = ' ' ! Type of Unitary System
INTEGER :: UnitarySystemType_Num = 0 ! integer type of Unitary System
CHARACTER(len=MaxNameLength) :: Name = ' ' ! Name of the Unitary System
LOGICAL :: HeatPump = .FALSE. ! TRUE if both cooling and heating coils are DX
INTEGER :: SysAvailSchedPtr = 0 ! System Availability schedule
INTEGER :: UnitarySystemInletNodeNum = 0 ! Parent inlet node number
INTEGER :: UnitarySystemOutletNodeNum = 0 ! Parent outlet node number
INTEGER :: CondenserType = 0 ! type of condenser (AirCooled, EvapCooled, WaterCooled)
LOGICAL :: AirLoopEquipment = .TRUE. ! identifies that this system is part of an air loop
INTEGER :: ControlZoneNum = 0 ! Index to controlled zone
INTEGER :: ZoneSequenceCoolingNum = 0 ! Index to cooling sequence/priority for this zone
INTEGER :: ZoneSequenceHeatingNum = 0 ! Index to heating sequence/priority for this zone
INTEGER :: NodeNumofControlledZone = 0 ! Node number of controlled zone
INTEGER :: ZoneInletNode = 0 ! Zone inlet node number in the controlled zone
REAL(r64) :: ControlZoneMassFlowFrac = 0.0d0 ! Fraction of flow to control zone
LOGICAL :: Humidistat = .FALSE. ! Set to True if dehumidification control mode is set to
REAL(r64) :: DesignMaxOutletTemp = 80.0d0 ! Maximum supply air temperature from heater [C]
INTEGER :: CondenserNodeNum = 0 ! index to condenser air inlet node
INTEGER :: DehumidControlType_Num = 0 ! Set to Dehumid Control None, CoolReheat or MultiMode
INTEGER :: AirFlowControl = 1 ! UseCompressorOnFlow or UseCompressorOffFlow
INTEGER :: ControlType = 0 ! Setpoint or Load based control
LOGICAL :: RequestAutosize = .FALSE. ! determines if inputs need autosizing
LOGICAL :: RunOnSensibleLoad = .TRUE. ! logical determines if this system will run to
LOGICAL :: RunOnLatentLoad = .FALSE. ! logical determines if this system will run to
LOGICAL :: RunOnLatentOnlyWithSensible = .FALSE. ! allow latent dehumidification only if sensible load exists
INTEGER :: DehumidificationMode = 0 ! Dehumidification mode for multimode coil,
! 0=normal, 1+=enhanced dehumidification mode
INTEGER :: FanOpMode = 0 ! Fan operating mode (see parameter above)
INTEGER :: LastMode = 0 ! last mode of operation, coolingmode or heatingmode
REAL(r64) :: AncillaryOnPower = 0.0d0 ! Ancillary On-Cycle Electric Power [W]
REAL(r64) :: AncillaryOffPower = 0.0d0 ! Ancillary Off-Cycle Electric Power [W]
CHARACTER(len=MaxNameLength) :: DesignSpecMultispeedHPType = ' ' ! Object type for specifying multispeed flow rates
CHARACTER(len=MaxNameLength) :: DesignSpecMultispeedHPName = ' ' ! Object name for specifying multispeed flow rates
! Cooling coil specific data
CHARACTER(len=MaxNameLength) :: CoolingCoilName = ' ' ! coil name (eliminate after blank is accepted in CALL)
INTEGER :: CoolingCoilType_Num = 0 ! numeric coil type
INTEGER :: CoolingCoilIndex = 0 ! index to specific cooling coil
REAL(r64) :: DesignCoolingCapacity = 0.0d0 ! cooling coil capacity (W)
INTEGER :: CoolingCoilAvailSchPtr = 0 ! cooling coil availability schedule index
INTEGER :: ActualDXCoilIndexForHXAssisted = 0 ! index to DX coil used in HX assisted object
REAL(r64) :: DOASDXCoolingCoilMinTout = 0.0d0 ! DOAS DX Cooling coil outlet air minimum temperature
LOGICAL :: ISHundredPercentDOASDXCoil = .FALSE. ! logical determines if this system will run as 100% DOAS
LOGICAL :: CoolCoilExists = .FALSE. ! True if a cooling coil is specified in the unitary system
INTEGER :: FrostControlStatus = 0 ! DOAS coil system frost control status
INTEGER :: CoolCoilInletNodeNum = 0 ! Cooling coil air inlet node number
INTEGER :: CoolCoilOutletNodeNum = 0 ! Cooling coil air outlet node number
INTEGER :: CoolCoilFluidOutletNodeNum = 0 ! Cooling coil fluid outlet node number (from Plant Loop data)
INTEGER :: CoolCoilLoopNum = 0 ! Plant loop num of chilled water coil
INTEGER :: CoolCoilLoopSide = 0 ! Supply side or demand side
INTEGER :: CoolCoilBranchNum = 0 ! Branch of number of the cooling coil in the plant loop
INTEGER :: CoolCoilCompNum = 0 ! Comp num of the cooling coil in the plant loop
INTEGER :: CoolCoilFluidInletNode = 0 ! Cooling coil fluid inlet node
REAL(r64) :: MaxCoolCoilFluidFlow = Autosize ! Maximum cooling coil fluid flow for chilled water coil
LOGICAL :: CoolingCoilUpStream = .TRUE. ! Set to true when coolign coil is upstream in the unitary system
REAL(R64) :: CoolCompPartLoadRatio = 0.0d0 ! Unitary system compressor part load ratio in cooling
! Heating coil specific data
CHARACTER(len=MaxNameLength) :: HeatingCoilName =' ' ! coil name (eliminate after blank is accepted in CALL)
INTEGER :: HeatingCoilType_Num = 0 ! numeric coil type
INTEGER :: HeatingCoilIndex = 0 ! index to specific heating coil
REAL(r64) :: DesignHeatingCapacity = 0.0d0 ! heating coil capacity (W)
REAL(r64) :: HeatingSizingRatio = 1.0d0 ! ratio of heating coil to cooling coil size
LOGICAL :: DXHeatingCoil = .FALSE. ! specifies if heating coil is DX
INTEGER :: HeatCoilInletNodeNum = 0 ! Heating coil air inlet node number
INTEGER :: HeatCoilOutletNodeNum = 0 ! Heating coil air outlet node number
INTEGER :: HeatCoilFluidOutletNodeNum = 0 ! Heating coil fluid outlet node number (from Plant Loop data)
INTEGER :: HeatingCoilPLFCurveIndex = 0 ! PLF curve index (not used yet?)
INTEGER :: HeatingCoilAvailSchPtr = 0 ! heating coil availability schedule index
LOGICAL :: HeatCoilExists = .FALSE. ! True if a heating coil is specified in the unitary system
INTEGER :: HeatCoilLoopNum = 0 ! Plant loop num of hot water or steam coil
INTEGER :: HeatCoilLoopSide = 0 ! Supply side or demand side
INTEGER :: HeatCoilBranchNum = 0 ! Branch of number of the heating coil in the plant loop
INTEGER :: HeatCoilCompNum = 0 ! Comp num of the heating coil in the plant loop
INTEGER :: HeatCoilFluidInletNode = 0 ! Heating coil fluid inlet node
REAL(r64) :: MaxHeatCoilFluidFlow = Autosize ! Maximum heating coil fluid flow for hot water or steam coil
REAL(R64) :: HeatCompPartLoadRatio = 0.0d0 ! Unitary system compressor part load ratio in heating
! Supplemental heating coil specific data
CHARACTER(len=MaxNameLength) :: SuppHeatCoilName = ' ' ! coil name (eliminate after blank is accepted in CALL)
INTEGER :: SuppHeatCoilType_Num = 0 ! numeric coil type
INTEGER :: SuppHeatCoilIndex = 0 ! index to specific supplemental heating coil
REAL(r64) :: DesignSuppHeatingCapacity = 0.0d0 ! supplemental heating coil capacity (W)
INTEGER :: SuppCoilFluidInletNode = 0 ! supplemental heating coil water/steam inlet node
INTEGER :: SuppCoilFluidOutletNodeNum = 0 ! Supplemental coil fluid outlet node number (from Plant Loop data)
INTEGER :: SuppCoilAirInletNode = 0 ! supplemental heating coil air inlet node
INTEGER :: SuppCoilAirOutletNode = 0 ! supplemental heating coil air outlet node
INTEGER :: SuppCoilAvailSchPtr = 0 ! supplemental heating coil availability schedule index
REAL(r64) :: MaxSuppCoilFluidFlow = Autosize ! supplemental heating coil maximum water/steam flow rate (m3/s)
REAL(r64) :: MaxOATSuppHeat = 21.0d0 ! Maximum outdoor dry-bulb temperature for supplemental coil [C]
LOGICAL :: SuppCoilExists = .FALSE. ! True if a supp coil is specified in the unitary system
INTEGER :: SuppCoilLoopNum = 0 ! Plant loop num of supplemental coil
INTEGER :: SuppCoilLoopSide = 0 ! Supply side or demand side
INTEGER :: SuppCoilBranchNum = 0 ! Branch of number of the supplemental coil in the plant loop
INTEGER :: SuppCoilCompNum = 0 ! Comp num of the supplemental coil in the plant loop
! fan specific data
INTEGER :: FanType_Num = 0 ! Fan type num i.e. OnOff, ConstVol, VAV
INTEGER :: FanIndex = 0 ! index of fan of a particular type
REAL(r64) :: ActualFanVolFlowRate = 0.0d0 ! Actual or design fan volume flow rate
INTEGER :: FanOpModeSchedPtr = 0 ! fan operating mode schedule pointer
INTEGER :: FanAvailSchedPtr = 0 ! fan availability schedule pointer
INTEGER :: FanPlace = 0 ! Blow through or DrawThrough Fan
LOGICAL :: FanExists = .FALSE. ! True if a fan is specified in the unitary system
REAL(r64) :: FanDelayTime = 0.0d0 ! Fan delay time, time delay for the HP's fan to
! shut off after compressor cycle off [s]
! air flow variables
REAL(r64) :: MaxCoolAirVolFlow = 0.0d0 ! Maximum coil air volumetric flow for cooling [m3/s]
REAL(r64) :: MaxHeatAirVolFlow = 0.0d0 ! Maximum coil air volumetric flow for heating [m3/s]
REAL(r64) :: MaxNoCoolHeatAirVolFlow = 0.0d0 ! Maximum coil air volumetric flow for no cooling or heating [m3/s]
REAL(r64) :: DesignFanVolFlowRate = 0.0d0 ! Design fan volume flow rate [m3/s]
REAL(r64) :: DesignMassFlowRate = 0.0d0 ! Design mass flow rate [m3/s]
REAL(r64) :: MaxCoolAirMassFlow = 0.0d0 ! Maximum coil air mass flow for cooling [kg/s]
REAL(r64) :: MaxHeatAirMassFlow = 0.0d0 ! Maximum coil air mass flow for heating [kg/s]
REAL(r64) :: MaxNoCoolHeatAirMassFlow = 0.0d0 ! Maximum coil air mass flow for no cooling or heating [kg/s]
INTEGER :: CoolingSAFMethod = 0 ! Supply air flow method for cooling
INTEGER :: HeatingSAFMethod = 0 ! Supply air flow method for heating
INTEGER :: NoCoolHeatSAFMethod = 0 ! Supply air flow method for no cooling or heating
! Heat pump related specific data
REAL(r64) :: MinOATCompressor = 0.0d0 ! Minimum outdoor temperature below which compressor if off
REAL(r64) :: MaxONOFFCyclesperHour = 0.0d0 ! Maximum cycling rate of unitary system [cycles/hr]
REAL(r64) :: HPTimeConstant = 0.0d0 ! Heat pump time constant [s]
REAL(r64) :: OnCyclePowerFraction = 0.0d0 ! Fraction of on-cycle power use [~]
REAL(r64) :: DesignHRWaterVolumeFlow = 0.0d0 ! Design water volume flow rate through heat recovery loop [m3/s]
REAL(R64) :: WSHPRuntimeFrac = 0.0d0 ! Runtime fraction of water source heat pump
REAL(R64) :: HeatingCoilSensDemand = 0.0d0 ! Sensible demand on Heating Coil [W]
REAL(R64) :: CoolingCoilSensDemand = 0.0d0 ! Sensible demand on Cooling Coil [W]
REAL(R64) :: CoolingCoilLatentDemand = 0.0d0 ! Latent demand on Cooling Coil [W]
! Heat recovery related specific data
INTEGER :: HeatRecoveryInletNodeNum = 0 ! Node number on heat recovery water inlet
INTEGER :: HeatRecoveryOutletNodeNum = 0 ! Node number on heat recovery water outlet
LOGICAL :: HeatRecActive = .FALSE. ! True when entered Heat Rec Vol Flow Rate > 0
REAL(r64) :: DesignHeatRecMassFlowRate = 0.0d0 ! Design water mass flow rate through heat recovery loop [kg/s]
REAL(r64) :: MaxHROutletWaterTemp = 0.0d0 ! Maximum outlet water temperature for heat recovery [C]
INTEGER :: HRLoopNum = 0 ! plant loop number for heat recovery
INTEGER :: HRLoopSideNum = 0 ! Plant loop side (supply or demand) for heat recovery
INTEGER :: HRBranchNum = 0 ! plant loop branch for heat recovery
INTEGER :: HRCompNum = 0 ! plant loop component for heat recovery
! set point based control varibles
INTEGER :: SystemHeatControlNodeNum = 0 ! the node number of the node with the setpoint
INTEGER :: SystemCoolControlNodeNum = 0 ! the node number of the node with the setpoint
INTEGER :: SuppHeatControlNodeNum = 0 ! the node number of the node with the setpoint
REAL(r64) :: DesiredOutletTemp = 0.0d0 ! the setpoint temperature at the unit outlet node
REAL(r64) :: DesiredOutletHumRat = 1.0d0 ! the setpoint humidity ratio at the unit outlet node
! operational system variables
REAL(r64) :: CoolingPartLoadFrac = 0.0d0 ! part load cooling fraction for current timestep
REAL(r64) :: HeatingPartLoadFrac = 0.0d0 ! part load heating fraction for current timestep
REAL(r64) :: SuppHeatPartLoadFrac = 0.0d0 ! part load supp heating fraction for current timestep
REAL(r64) :: SupHeaterLoad = 0.0d0 ! Supplemental Heat Load for current timestep
REAL(r64) :: SenLoadLoss = 0.0d0 ! Air distribution system sensible loss [W]
REAL(r64) :: LatLoadLoss = 0.0d0 ! Air distribution system latent loss [W]
REAL(r64) :: SensibleLoadMet = 0.0d0 ! System sensible load [W]
REAL(r64) :: LatentLoadMet = 0.0d0 ! System latent load [W]
LOGICAL :: InitHeatPump = .TRUE. ! Heat pump initialization flag (for error reporting)
INTEGER :: WaterCyclingMode = 0 ! Heat Pump Coil water flow mode; See def in DataHVACGlobals,
! 1=water cycling, 2=water constant, 3=water constant on demand
! start of additional varibles for variable speed water source heat pump
INTEGER :: HeatCoolMode = 0 ! System operating mode (0 = floating, 1 = cooling, 2 = heating)
INTEGER :: NumOfSpeedCooling = 0 ! The number of speeds for cooling
INTEGER :: NumOfSpeedHeating = 0 ! The number of speeds for heating
REAL(r64) :: IdleSpeedRatio = 0 ! idle air fan ratio
REAL(r64) :: IdleVolumeAirRate = 0 ! idle air flow rate [m3/s]
REAL(r64) :: IdleMassFlowRate = 0 ! idle air flow rate [kg/s]
LOGICAL :: CheckFanFlow = .TRUE. ! Supply airflow check
REAL(r64), DIMENSION(:), ALLOCATABLE :: HeatVolumeFlowRate ! Supply air volume flow rate during heating operation
REAL(r64), DIMENSION(:), ALLOCATABLE :: HeatMassFlowRate ! Supply air mass flow rate during heating operation
REAL(r64), DIMENSION(:), ALLOCATABLE :: CoolVolumeFlowRate ! Supply air volume flow rate during cooling operation
REAL(r64), DIMENSION(:), ALLOCATABLE :: CoolMassFlowRate ! Supply air mass flow rate during cooling operation
REAL(r64), DIMENSION(:), ALLOCATABLE :: MSHeatingSpeedRatio ! Fan speed ratio in heating mode
REAL(r64), DIMENSION(:), ALLOCATABLE :: MSCoolingSpeedRatio ! Fan speed ratio in cooling mode
REAL(r64) :: NoHeatCoolSpeedRatio = 1.0d0 ! Fan speed ratio when no cooling or heating
INTEGER :: DesignSpecMSHPIndex = 0 ! Index to design specification multispeed heat pump object
LOGICAL :: MultiSpeedCoolingCoil = .FALSE. ! TRUE when cooling coil multispeed
LOGICAL :: MultiSpeedHeatingCoil = .FALSE. ! TRUE when heating coil multispeed
LOGICAL :: VarSpeedCoolingCoil = .FALSE. ! TRUE when cooling coil variable speed
LOGICAL :: VarSpeedHeatingCoil = .FALSE. ! TRUE when heating coil variable speed
INTEGER :: CoolingSpeedNum = 0 ! speed number for multispeed cooling coils types
INTEGER :: HeatingSpeedNum = 0 ! speed number for multispeed heating coils types
REAL(r64) :: CoolingSpeedRatio = 1.0d0 ! current compressor speed ratio (variable speed)
REAL(r64) :: CoolingFanSpeedRatio = 1.0d0 ! current fan speed ratio
REAL(r64) :: HeatingSpeedRatio = 1.0d0 ! current compressor speed ratio (variable speed)
REAL(r64) :: HeatingFanSpeedRatio = 1.0d0 ! current fan speed ratio
REAL(r64) :: CoolingCycRatio = 0.0d0 ! cycling part load ratio (variable speed)
REAL(r64) :: HeatingCycRatio = 0.0d0 ! cycling part load ratio (variable speed)
! end of additional variables for variable speed water source heat pump
! Report Varibles
REAL(r64) :: PartLoadFrac = 0.0d0 ! part load fraction for current time step (single speed)
REAL(R64) :: FanPartLoadRatio = 0.0d0 ! Unitary system fan part load ratio
REAL(R64) :: CompPartLoadRatio = 0.0d0 ! Unitary system compressor part load ratio
REAL(R64) :: ElecPower = 0.0d0 ! Unitary System Electric Power
REAL(R64) :: ElecPowerConsumption = 0.0d0 ! Electricity power comsumption: CondenserFan+CCHeater+Defrost+aux
REAL(r64) :: TotCoolEnergyRate = 0.0d0 ! Unitary System Total Cooling Rate [W]
REAL(r64) :: SensCoolEnergyRate = 0.0d0 ! Unitary System Sensible Cooling Rate [W]
REAL(r64) :: LatCoolEnergyRate = 0.0d0 ! Unitary System Latent Cooling Rate [W]
REAL(r64) :: TotHeatEnergyRate = 0.0d0 ! Unitary System Total Heating Rate [W]
REAL(r64) :: SensHeatEnergyRate = 0.0d0 ! Unitary System Sensible Heating Rate [W]
REAL(r64) :: LatHeatEnergyRate = 0.0d0 ! Unitary System Latent Heating Rate [W]
REAL(r64) :: TotalAuxElecPower = 0.0d0 ! Unitary System Ancillary Electric Power [W]
REAL(r64) :: HeatingAuxElecConsumption = 0.0d0 ! Unitary System Heating Ancillary Electric Energy [J]
REAL(r64) :: CoolingAuxElecConsumption = 0.0d0 ! Unitary System Cooling Ancillary Electric Energy [J]
REAL(r64) :: HeatRecoveryRate = 0.0d0 ! Unitary System Heat Recovery Rate [W]
REAL(r64) :: HeatRecoveryEnergy = 0.0d0 ! Unitary System Heat Recovery Energy [J]
REAL(r64) :: HeatRecoveryInletTemp = 0.0d0 ! Unitary System Heat Recovery Inlet Temperature [C]
REAL(r64) :: HeatRecoveryOutletTemp = 0.0d0 ! Unitary System Heat Recovery Outlet Temperature [C]
REAL(r64) :: HeatRecoveryMassFlowRate = 0.0d0 ! Unitary System Heat Recovery Fluid Mass Flow Rate [kg/s]
REAL(r64) :: DehumidInducedHeatingDemandRate = 0.0d0 ! Unitary System
REAL(r64) :: EMSSensibleZoneLoadValue = 0.0d0 ! Value EMS is directing to use
REAL(r64) :: EMSMoistureZoneLoadValue = 0.0d0 ! Value EMS is directing to use
INTEGER :: SpeedNum = 0 ! speed number of active multi- or variable-speed coil
REAL(r64) :: SpeedRatio = 0.0d0 ! current compressor speed ratio (variable speed)
REAL(r64) :: CycRatio = 0.0d0 ! cycling part load ratio (variable speed)
! Warning message variables
INTEGER :: HXAssistedSensPLRIter = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedSensPLRIterIndex = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedSensPLRFail = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedSensPLRFailIndex = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedSensPLRFail2 = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedSensPLRFailIndex2 = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedLatPLRIter = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedLatPLRIterIndex = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedLatPLRFail = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedLatPLRFailIndex = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedCRLatPLRIter = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedCRLatPLRIterIndex = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedCRLatPLRFail = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedCRLatPLRFailIndex = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedCRLatPLRFail2 = 0 ! used in HX Assisted calculations
INTEGER :: HXAssistedCRLatPLRFailIndex2 = 0 ! used in HX Assisted calculations
INTEGER :: SensPLRIter = 0 ! used in cool coil calculations
INTEGER :: SensPLRIterIndex = 0 ! used in cool coil calculations
INTEGER :: SensPLRFail = 0 ! used in cool coil calculations
INTEGER :: SensPLRFailIndex = 0 ! used in cool coil calculations
INTEGER :: LatPLRIter = 0 ! used in cool coil calculations
INTEGER :: LatPLRIterIndex = 0 ! used in cool coil calculations
INTEGER :: LatPLRFail = 0 ! used in cool coil calculations
INTEGER :: LatPLRFailIndex = 0 ! used in cool coil calculations
INTEGER :: HeatCoilSensPLRIter = 0 ! used in heat coil calculations
INTEGER :: HeatCoilSensPLRIterIndex = 0 ! used in heat coil calculations
INTEGER :: HeatCoilSensPLRFail = 0 ! used in heat coil calculations
INTEGER :: HeatCoilSensPLRFailIndex = 0 ! used in heat coil calculations
INTEGER :: SuppHeatCoilSensPLRIter = 0 ! used in supp heat coil calculations
INTEGER :: SuppHeatCoilSensPLRIterIndex = 0 ! used in supp heat coil calculations
INTEGER :: SuppHeatCoilSensPLRFail = 0 ! used in supp heat coil calculations
INTEGER :: SuppHeatCoilSensPLRFailIndex = 0 ! used in supp heat coil calculations
INTEGER :: DXCoilSensPLRIter = 0 ! used in DXCoil calculations
INTEGER :: DXCoilSensPLRIterIndex = 0 ! used in DXCoil calculations
INTEGER :: DXCoilSensPLRFail = 0 ! used in DXCoil calculations
INTEGER :: DXCoilSensPLRFailIndex = 0 ! used in DXCoil calculations
INTEGER :: MSpdSensPLRIter = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdSensPLRIterIndex = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdCycSensPLRIter = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdCycSensPLRIterIndex = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdLatPLRIter = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdLatPLRIterIndex = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdCycLatPLRIter = 0 ! used in MultiSpeed calculations
INTEGER :: MSpdCycLatPLRIterIndex = 0 ! used in MultiSpeed calculations
INTEGER :: MaxIterIndex = 0 ! used in PLR calculations for sensible load
INTEGER :: RegulaFalsIFailedIndex = 0 ! used in PLR calculations for sensible load
INTEGER :: LatMaxIterIndex = 0 ! used in PLR calculations for moisture load
INTEGER :: LatRegulaFalsIFailedIndex = 0 ! used in PLR calculations for moisture load
! EMS variables
LOGICAL :: DesignFanVolFlowRateEMSOverrideOn = .FALSE. ! If true, then EMS is calling to override autosize fan flow
LOGICAL :: MaxHeatAirVolFlowEMSOverrideOn = .FALSE. ! If true, then EMS is calling to override autosize fan flow
LOGICAL :: MaxCoolAirVolFlowEMSOverrideOn = .FALSE. ! If true, then EMS is calling to override autosize fan flow
LOGICAL :: MaxNoCoolHeatAirVolFlowEMSOverrideOn = .FALSE. ! If true, then EMS is calling to override autosize fan flow
REAL(r64) :: DesignFanVolFlowRateEMSOverrideValue = 0.0d0 ! EMS value for override of fan flow rate autosize [m3/s]
REAL(r64) :: MaxHeatAirVolFlowEMSOverrideValue = 0.0d0 ! EMS value for override of fan flow rate autosize [m3/s]
REAL(r64) :: MaxCoolAirVolFlowEMSOverrideValue = 0.0d0 ! EMS value for override of fan flow rate autosize [m3/s]
REAL(r64) :: MaxNoCoolHeatAirVolFlowEMSOverrideValue = 0.0d0 ! EMS value for override of fan flow rate autosize [m3/s]
LOGICAL :: EMSOverrideSensZoneLoadRequest = .FALSE. ! If true, then EMS is calling to override zone load
LOGICAL :: EMSOverrideMoistZoneLoadRequest = .FALSE. ! If true, then EMS is calling to override zone load
! Staged thermostat control
Integer :: StageNum = 0 ! Stage number specified by staged thermostat
LOGICAL :: Staged = .FALSE. ! Using Staged thermostat
INTEGER :: CoolCountAvail = 0 ! Counter used to minimize the occurrence of output warnings
INTEGER :: CoolIndexAvail = 0 ! Index used to minimize the occurrence of output warnings
INTEGER :: HeatCountAvail = 0 ! Counter used to minimize the occurrence of output warnings
INTEGER :: HeatIndexAvail = 0 ! Index used to minimize the occurrence of output warnings
END TYPE UnitarySystemData