DXCoilData Derived Type

type, public :: DXCoilData

Name DXCoilType DXCoilType_Num Schedule SchedPtr RatedTotCap HeatSizeRatio RatedTotCapEMSOverrideOn RatedTotCapEMSOverrideValue RatedSHR RatedSHREMSOverrideOn RatedSHREMSOverrideValue RatedCOP RatedAirVolFlowRate RatedAirVolFlowRateEMSOverrideON RatedAirVolFlowRateEMSOverrideValue FanPowerPerEvapAirFlowRate RatedAirMassFlowRate BypassedFlowFrac RatedCBF AirInNode AirOutNode CCapFTemp CCapFTempErrorIndex TotCapTempModFacCurveType CCapFFlow CCapFFlowErrorIndex EIRFTemp EIRFTempErrorIndex EIRTempModFacCurveType EIRFFlow EIRFFlowErrorIndex PLFFPLR ReportCoolingCoilCrankcasePower CrankcaseHeaterCapacity CrankcaseHeaterPower MaxOATCrankcaseHeater CrankcaseHeaterConsumption BasinHeaterPowerFTempDiff BasinHeaterSetPointTemp CompanionUpstreamDXCoil FindCompanionUpStreamCoil CondenserInletNodeNum LowOutletTempIndex FullLoadOutAirTempLast FullLoadInletAirTempLast PrintLowOutTempMessage LowOutTempBuffer1 LowOutTempBuffer2 HeatingCoilPLFCurvePTR BasinHeaterSchedulePtr RatedTotCap2 RatedSHR2 RatedCOP2 RatedAirVolFlowRate2 RatedAirMassFlowRate2 RatedCBF2 CCapFTemp2 EIRFTemp2 RatedEIR2 InternalStaticPressureDrop RateWithInternalStaticAndFanObject SupplyFanIndex SupplyFanName CoilSystemName RatedEIR InletAirMassFlowRate InletAirMassFlowRateMax InletAirTemp InletAirHumRat InletAirEnthalpy OutletAirTemp OutletAirHumRat OutletAirEnthalpy PartLoadRatio TotalCoolingEnergy SensCoolingEnergy LatCoolingEnergy TotalCoolingEnergyRate SensCoolingEnergyRate LatCoolingEnergyRate ElecCoolingConsumption ElecCoolingPower CoolingCoilRuntimeFraction TotalHeatingEnergy TotalHeatingEnergyRate ElecHeatingConsumption ElecHeatingPower HeatingCoilRuntimeFraction DefrostStrategy DefrostControl EIRFPLR DefrostEIRFT RegionNum MinOATCompressor OATempCompressorOn MaxOATCompressor MaxOATDefrost DefrostTime DefrostCapacity HPCompressorRuntime HPCompressorRuntimeLast TimeLeftToDefrost DefrostPower DefrostConsumption HeatingPerformanceOATType HPCoilIsInCoilSystemHeatingDX OATempCompressorOnOffBlank Twet_Rated Gamma_Rated MaxONOFFCyclesperHour LatentCapacityTimeConstant CondenserType ReportEvapCondVars EvapCondEffect CondInletTemp EvapCondAirFlow EvapCondPumpElecNomPower EvapCondPumpElecPower EvapCondPumpElecConsumption EvapWaterConsumpRate EvapWaterConsump EvapCondAirFlow2 EvapCondEffect2 EvapCondPumpElecNomPower2 BasinHeaterPower BasinHeaterConsumption NumCapacityStages NumDehumidModes CoilPerformanceType CoilPerformanceType_Num CoilPerformanceName CoolingCoilStg2RuntimeFrac DehumidificationMode WaterInNode WaterOutNode HCOPFTemp HCOPFTempErrorIndex HCOPFTempCurveType HCOPFAirFlow HCOPFAirFlowErrorIndex HCOPFWaterFlow HCOPFWaterFlowErrorIndex HCapFTemp HCapFTempErrorIndex HCapFTempCurveType HCapFAirFlow HCapFAirFlowErrorIndex HCapFWaterFlow HCapFWaterFlowErrorIndex InletAirTemperatureType RatedInletDBTemp RatedInletWBTemp RatedInletWaterTemp HPWHCondPumpElecNomPower HPWHCondPumpFracToWater RatedHPWHCondWaterFlow ElecWaterHeatingPower ElecWaterHeatingConsumption FanPowerIncludedInCOP CondPumpHeatInCapacity CondPumpPowerInCOP AirVolFlowAutoSized WaterVolFlowAutoSized LowTempLast HighTempLast ErrIndex1 ErrIndex2 ErrIndex3 ErrIndex4 LowAmbErrIndex HighAmbErrIndex PLFErrIndex PLRErrIndex PrintLowAmbMessage LowAmbBuffer1 LowAmbBuffer2 PrintHighAmbMessage HighAmbBuffer1 HighAmbBuffer2 EvapWaterSupplyMode EvapWaterSupplyName EvapWaterSupTankID EvapWaterTankDemandARRID CondensateCollectMode CondensateCollectName CondensateTankID CondensateTankSupplyARRID CondensateVdot CondensateVol CurrentEndTimeLast TimeStepSysLast FuelType NumOfSpeeds PLRImpact LatentImpact MSErrIndex MSRatedTotCap MSRatedSHR MSRatedCOP MSRatedAirVolFlowRate MSRatedAirMassFlowRate MSRatedCBF MSCCapFTemp MSCCapFFlow MSEIRFTemp MSEIRFFlow MSPLFFPLR MSWasteHeat MSWasteHeatFrac MSEvapCondEffect MSEvapCondAirFlow MSEvapCondPumpElecNomPower MSTotCapTempModFacCurveType MSEIRTempModFacCurveType MSTwet_Rated MSGamma_Rated MSMaxONOFFCyclesperHour MSLatentCapacityTimeConstant MSFanPowerPerEvapAirFlowRate FuelUsed FuelConsumed CoolingCoilPresent HeatingCoilPresent ISHundredPercentDOASDXCoil SHRFTemp SHRFTempErrorIndex SHRFTempCurveType SHRFFlow SHRFFlowErrorIndex SHRFTemp2 SHRFFlow2 SHRFTempCurveType2 UserSHRCurveExists

Source Code


Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: Name =' '
character(len=MaxNameLength), public :: DXCoilType =' '
integer, public :: DXCoilType_Num =0
character(len=MaxNameLength), public :: Schedule =' '
integer, public :: SchedPtr =0
real(kind=r64), public :: RatedTotCap(MaxModes) =0.0d0
real(kind=r64), public :: HeatSizeRatio =1.0d0
logical, public :: RatedTotCapEMSOverrideOn(MaxModes) =.FALSE.
real(kind=r64), public :: RatedTotCapEMSOverrideValue(MaxModes) =0.0d0
real(kind=r64), public :: RatedSHR(MaxModes) =0.0d0
logical, public :: RatedSHREMSOverrideOn(MaxModes) =.false.
real(kind=r64), public :: RatedSHREMSOverrideValue(MaxModes) =0.0d0
real(kind=r64), public :: RatedCOP(MaxModes) =0.0d0
real(kind=r64), public :: RatedAirVolFlowRate(MaxModes) =0.0d0
logical, public :: RatedAirVolFlowRateEMSOverrideON(MaxModes) =.false.
real(kind=r64), public :: RatedAirVolFlowRateEMSOverrideValue(MaxModes) =0.0d0
real(kind=r64), public :: FanPowerPerEvapAirFlowRate(MaxModes) =0.0d0
real(kind=r64), public :: RatedAirMassFlowRate(MaxModes) =0.0d0
real(kind=r64), public :: BypassedFlowFrac(MaxModes) =0.0d0
real(kind=r64), public :: RatedCBF(MaxModes) =0.0d0
integer, public :: AirInNode =0
integer, public :: AirOutNode =0
integer, public :: CCapFTemp(MaxModes) =0
integer, public :: CCapFTempErrorIndex =0
integer, public :: TotCapTempModFacCurveType(MaxModes) =0
integer, public :: CCapFFlow(MaxModes) =0
integer, public :: CCapFFlowErrorIndex =0
integer, public :: EIRFTemp(MaxModes) =0
integer, public :: EIRFTempErrorIndex =0
integer, public :: EIRTempModFacCurveType(MaxModes) =0
integer, public :: EIRFFlow(MaxModes) =0
integer, public :: EIRFFlowErrorIndex =0
integer, public :: PLFFPLR(MaxModes) =0
logical, public :: ReportCoolingCoilCrankcasePower =.true.
real(kind=r64), public :: CrankcaseHeaterCapacity =0.0d0
real(kind=r64), public :: CrankcaseHeaterPower =0.0d0
real(kind=r64), public :: MaxOATCrankcaseHeater =0.0d0
real(kind=r64), public :: CrankcaseHeaterConsumption =0.0d0
real(kind=r64), public :: BasinHeaterPowerFTempDiff =0.0d0
real(kind=r64), public :: BasinHeaterSetPointTemp =0.0d0
integer, public :: CompanionUpstreamDXCoil =0
logical, public :: FindCompanionUpStreamCoil =.TRUE.
integer, public :: CondenserInletNodeNum(MaxModes) =0
integer, public :: LowOutletTempIndex =0
real(kind=r64), public :: FullLoadOutAirTempLast =0.0d0
real(kind=r64), public :: FullLoadInletAirTempLast =0.0d0
logical, public :: PrintLowOutTempMessage =.FALSE.
character(len=300), public :: LowOutTempBuffer1 =' '
character(len=300), public :: LowOutTempBuffer2 =' '
integer, public :: HeatingCoilPLFCurvePTR =0
integer, public :: BasinHeaterSchedulePtr =0
real(kind=r64), public :: RatedTotCap2 =0.0d0
real(kind=r64), public :: RatedSHR2 =0.0d0
real(kind=r64), public :: RatedCOP2 =0.0d0
real(kind=r64), public :: RatedAirVolFlowRate2 =0.0d0
real(kind=r64), public :: RatedAirMassFlowRate2 =0.0d0
real(kind=r64), public :: RatedCBF2 =0.0d0
integer, public :: CCapFTemp2 =0
integer, public :: EIRFTemp2 =0
real(kind=r64), public :: RatedEIR2 =0.0d0
real(kind=r64), public :: InternalStaticPressureDrop =0.0d0
logical, public :: RateWithInternalStaticAndFanObject =.FALSE.
integer, public :: SupplyFanIndex =0
character(len=MaxNameLength), public :: SupplyFanName =' '
character(len=MaxNameLength), public :: CoilSystemName =' '
real(kind=r64), public :: RatedEIR(MaxModes) =0.0d0
real(kind=r64), public :: InletAirMassFlowRate =0.0d0
real(kind=r64), public :: InletAirMassFlowRateMax =0.0d0
real(kind=r64), public :: InletAirTemp =0.0d0
real(kind=r64), public :: InletAirHumRat =0.0d0
real(kind=r64), public :: InletAirEnthalpy =0.0d0
real(kind=r64), public :: OutletAirTemp =0.0d0
real(kind=r64), public :: OutletAirHumRat =0.0d0
real(kind=r64), public :: OutletAirEnthalpy =0.0d0
real(kind=r64), public :: PartLoadRatio =0.0d0
real(kind=r64), public :: TotalCoolingEnergy =0.0d0
real(kind=r64), public :: SensCoolingEnergy =0.0d0
real(kind=r64), public :: LatCoolingEnergy =0.0d0
real(kind=r64), public :: TotalCoolingEnergyRate =0.0d0
real(kind=r64), public :: SensCoolingEnergyRate =0.0d0
real(kind=r64), public :: LatCoolingEnergyRate =0.0d0
real(kind=r64), public :: ElecCoolingConsumption =0.0d0
real(kind=r64), public :: ElecCoolingPower =0.0d0
real(kind=r64), public :: CoolingCoilRuntimeFraction =0.0d0
real(kind=r64), public :: TotalHeatingEnergy =0.0d0
real(kind=r64), public :: TotalHeatingEnergyRate =0.0d0
real(kind=r64), public :: ElecHeatingConsumption =0.0d0
real(kind=r64), public :: ElecHeatingPower =0.0d0
real(kind=r64), public :: HeatingCoilRuntimeFraction =0.0d0
integer, public :: DefrostStrategy =0
integer, public :: DefrostControl =0
integer, public :: EIRFPLR =0
integer, public :: DefrostEIRFT =0
integer, public :: RegionNum =0
real(kind=r64), public :: MinOATCompressor =0.0d0
real(kind=r64), public :: OATempCompressorOn =0.0d0
real(kind=r64), public :: MaxOATCompressor =0.0d0
real(kind=r64), public :: MaxOATDefrost =0.0d0
real(kind=r64), public :: DefrostTime =0.0d0
real(kind=r64), public :: DefrostCapacity =0.0d0
real(kind=r64), public :: HPCompressorRuntime =0.0d0
real(kind=r64), public :: HPCompressorRuntimeLast =0.0d0
real(kind=r64), public :: TimeLeftToDefrost =0.0d0
real(kind=r64), public :: DefrostPower =0.0d0
real(kind=r64), public :: DefrostConsumption =0.0d0
integer, public :: HeatingPerformanceOATType =DryBulbIndicator
logical, public :: HPCoilIsInCoilSystemHeatingDX =.FALSE.
logical, public :: OATempCompressorOnOffBlank =.FALSE.
real(kind=r64), public :: Twet_Rated(MaxModes) =0.0d0
real(kind=r64), public :: Gamma_Rated(MaxModes) =0.0d0
real(kind=r64), public :: MaxONOFFCyclesperHour(MaxModes) =0.0d0
real(kind=r64), public :: LatentCapacityTimeConstant(MaxModes) =0.0d0
integer, public :: CondenserType(MaxModes) =AirCooled
logical, public :: ReportEvapCondVars =.false.
real(kind=r64), public :: EvapCondEffect(MaxModes) =0.0d0
real(kind=r64), public :: CondInletTemp =0.0d0
real(kind=r64), public :: EvapCondAirFlow(MaxModes) =0.0d0
real(kind=r64), public :: EvapCondPumpElecNomPower(MaxModes) =0.0d0
real(kind=r64), public :: EvapCondPumpElecPower =0.0d0
real(kind=r64), public :: EvapCondPumpElecConsumption =0.0d0
real(kind=r64), public :: EvapWaterConsumpRate =0.0d0
real(kind=r64), public :: EvapWaterConsump =0.0d0
real(kind=r64), public :: EvapCondAirFlow2 =0.0d0
real(kind=r64), public :: EvapCondEffect2 =0.0d0
real(kind=r64), public :: EvapCondPumpElecNomPower2 =0.0d0
real(kind=r64), public :: BasinHeaterPower =0.0d0
real(kind=r64), public :: BasinHeaterConsumption =0.0d0
integer, public :: NumCapacityStages =1
integer, public :: NumDehumidModes =0
character(len=MaxNameLength), public :: CoilPerformanceType(MaxModes) =' '
integer, public :: CoilPerformanceType_Num(MaxModes) =0
character(len=MaxNameLength), public :: CoilPerformanceName(MaxModes) =' '
real(kind=r64), public :: CoolingCoilStg2RuntimeFrac =0.0d0
integer, public :: DehumidificationMode =0
integer, public :: WaterInNode =0
integer, public :: WaterOutNode =0
integer, public :: HCOPFTemp =0
integer, public :: HCOPFTempErrorIndex =0
integer, public :: HCOPFTempCurveType =0
integer, public :: HCOPFAirFlow =0
integer, public :: HCOPFAirFlowErrorIndex =0
integer, public :: HCOPFWaterFlow =0
integer, public :: HCOPFWaterFlowErrorIndex =0
integer, public :: HCapFTemp =0
integer, public :: HCapFTempErrorIndex =0
integer, public :: HCapFTempCurveType =0
integer, public :: HCapFAirFlow =0
integer, public :: HCapFAirFlowErrorIndex =0
integer, public :: HCapFWaterFlow =0
integer, public :: HCapFWaterFlowErrorIndex =0
integer, public :: InletAirTemperatureType =0
real(kind=r64), public :: RatedInletDBTemp =0.0d0
real(kind=r64), public :: RatedInletWBTemp =0.0d0
real(kind=r64), public :: RatedInletWaterTemp =0.0d0
real(kind=r64), public :: HPWHCondPumpElecNomPower =0.0d0
real(kind=r64), public :: HPWHCondPumpFracToWater =0.0d0
real(kind=r64), public :: RatedHPWHCondWaterFlow =0.0d0
real(kind=r64), public :: ElecWaterHeatingPower =0.0d0
real(kind=r64), public :: ElecWaterHeatingConsumption =0.0d0
logical, public :: FanPowerIncludedInCOP =.TRUE.
logical, public :: CondPumpHeatInCapacity =.FALSE.
logical, public :: CondPumpPowerInCOP =.FALSE.
logical, public :: AirVolFlowAutoSized =.FALSE.
logical, public :: WaterVolFlowAutoSized =.FALSE.
real(kind=r64), public :: LowTempLast =0.0d0
real(kind=r64), public :: HighTempLast =0.0d0
integer, public :: ErrIndex1 =0
integer, public :: ErrIndex2 =0
integer, public :: ErrIndex3 =0
integer, public :: ErrIndex4 =0
integer, public :: LowAmbErrIndex =0
integer, public :: HighAmbErrIndex =0
integer, public :: PLFErrIndex =0
integer, public :: PLRErrIndex =0
logical, public :: PrintLowAmbMessage =.FALSE.
character(len=300), public :: LowAmbBuffer1 =' '
character(len=300), public :: LowAmbBuffer2 =' '
logical, public :: PrintHighAmbMessage =.FALSE.
character(len=300), public :: HighAmbBuffer1 =' '
character(len=300), public :: HighAmbBuffer2 =' '
integer, public :: EvapWaterSupplyMode =WaterSupplyFromMains
character(len=MaxNameLength), public :: EvapWaterSupplyName =' '
integer, public :: EvapWaterSupTankID =0
integer, public :: EvapWaterTankDemandARRID =0
integer, public :: CondensateCollectMode =CondensateDiscarded
character(len=MaxNameLength), public :: CondensateCollectName =' '
integer, public :: CondensateTankID =0
integer, public :: CondensateTankSupplyARRID =0
real(kind=r64), public :: CondensateVdot =0.0d0
real(kind=r64), public :: CondensateVol =0.0d0
real(kind=r64), public :: CurrentEndTimeLast =0.0d0
real(kind=r64), public :: TimeStepSysLast =0.0d0
integer, public :: FuelType =0
integer, public :: NumOfSpeeds =0
logical, public :: PLRImpact =.FALSE.
logical, public :: LatentImpact =.FALSE.
integer, public, DIMENSION(:), ALLOCATABLE:: MSErrIndex
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSRatedTotCap
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSRatedSHR
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSRatedCOP
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSRatedAirVolFlowRate
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSRatedAirMassFlowRate
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSRatedCBF
integer, public, DIMENSION(:), ALLOCATABLE:: MSCCapFTemp
integer, public, DIMENSION(:), ALLOCATABLE:: MSCCapFFlow
integer, public, DIMENSION(:), ALLOCATABLE:: MSEIRFTemp
integer, public, DIMENSION(:), ALLOCATABLE:: MSEIRFFlow
integer, public, DIMENSION(:), ALLOCATABLE:: MSPLFFPLR
integer, public, DIMENSION(:), ALLOCATABLE:: MSWasteHeat
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSWasteHeatFrac
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSEvapCondEffect
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSEvapCondAirFlow
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSEvapCondPumpElecNomPower
integer, public, DIMENSION(:), ALLOCATABLE:: MSTotCapTempModFacCurveType
integer, public, DIMENSION(:), ALLOCATABLE:: MSEIRTempModFacCurveType
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSTwet_Rated
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSGamma_Rated
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSMaxONOFFCyclesperHour
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSLatentCapacityTimeConstant
real(kind=r64), public, DIMENSION(:), ALLOCATABLE:: MSFanPowerPerEvapAirFlowRate
real(kind=r64), public :: FuelUsed
real(kind=r64), public :: FuelConsumed
logical, public :: CoolingCoilPresent =.TRUE.
logical, public :: HeatingCoilPresent =.TRUE.
logical, public :: ISHundredPercentDOASDXCoil =.FALSE.
integer, public :: SHRFTemp(MaxModes) =0
integer, public :: SHRFTempErrorIndex =0
integer, public :: SHRFTempCurveType(MaxModes) =0
integer, public :: SHRFFlow(MaxModes) =0
integer, public :: SHRFFlowErrorIndex =0
integer, public :: SHRFTemp2 =0
integer, public :: SHRFFlow2 =0
integer, public :: SHRFTempCurveType2 =0
logical, public :: UserSHRCurveExists =.FALSE.

Source Code

TYPE, PUBLIC :: DXCoilData
!          Some variables in this type are arrays (dimension=MaxModes) to support coil type
!          COIL:DX:MultiMode:CoolingEmpirical.  Other coil types only use the first element.
  CHARACTER(len=MaxNameLength) :: Name           =' '    ! Name of the DX Coil
  CHARACTER(len=MaxNameLength) :: DXCoilType     =' '    ! type of coil
  INTEGER                      :: DXCoilType_Num = 0     ! Integer equivalent to DXCoilType
  CHARACTER(len=MaxNameLength) :: Schedule       =' '    ! WaterCoil Operation Schedule
  INTEGER :: SchedPtr               = 0 ! Pointer to the correct schedule
!          RatedCoolCap, RatedSHR and RatedCOP do not include the thermal or electrical
!          effects due to the supply air fan
  REAL(r64) :: RatedTotCap(MaxModes)  =0.0d0 ! Gross total cooling capacity at rated conditions [watts]
  REAL(r64) :: HeatSizeRatio          =1.0d0 ! heat pump heating to cooling sizing ratio when autosized
  LOGICAL   :: RatedTotCapEMSOverrideOn(MaxModes) = .FALSE.  !if true, then EMS is calling to override rated total capacity
  REAL(r64) :: RatedTotCapEMSOverrideValue(MaxModes) = 0.0d0  ! value to use for EMS override

  REAL(r64) :: RatedSHR(MaxModes)     =0.0d0 ! Sensible heat ratio (sens cap/total cap) at rated conditions
  LOGICAL   :: RatedSHREMSOverrideOn(MaxModes)     =.false. ! if true, then EMS is calling to override Sensible heat ratio
  REAL(r64) :: RatedSHREMSOverrideValue(MaxModes)     =0.0d0 ! value to use for EMS override forSensible heat ratio
  REAL(r64) :: RatedCOP(MaxModes)     =0.0d0 ! Coefficient of performance at rated conditions
  REAL(r64) :: RatedAirVolFlowRate(MaxModes) =0.0d0  ! Air volume flow rate through coil at rated conditions [m3/s]
                                                   ! This is adjusted for bypassed air if any (see BypassedFlowFrac)
  LOGICAL   :: RatedAirVolFlowRateEMSOverrideON(MaxModes) =.false.  ! if true, then EMS is calling to override Air volume flow rate
  REAL(r64) :: RatedAirVolFlowRateEMSOverrideValue(MaxModes) =0.0d0  ! value to use for EMS override Air volume flow rate
  REAL(r64) :: FanPowerPerEvapAirFlowRate(MaxModes)=0.0d0  ! Fan Power Per Air volume flow rate through the
                                                         ! Evaporator coil at rated conditions [W/(m3/s)]
  REAL(r64) :: RatedAirMassFlowRate(MaxModes) =0.0d0 ! Air mass flow rate through coil at rated conditions [kg/s]
                                                 ! This is adjusted for bypassed air if any (see BypassedFlowFrac)
  REAL(r64) :: BypassedFlowFrac(MaxModes) =0.0d0     ! Fraction of air flow bypassed around coil
  REAL(r64) :: RatedCBF(MaxModes)     =0.0d0 ! rated coil bypass factor, determined using RatedTotCap and RatedSHR
  INTEGER :: AirInNode              = 0  ! Air inlet node number
  INTEGER :: AirOutNode             = 0  ! Air outlet node number
  INTEGER :: CCapFTemp(MaxModes)    = 0  ! index of total cooling capacity modifier curve
                                         ! (function of entering wetbulb, outside drybulb)
  INTEGER :: CCapFTempErrorIndex    = 0  ! Used for warning messages when output of CCapFTemp is negative
  INTEGER :: TotCapTempModFacCurveType(MaxModes) = 0 !type of curve for CCapFTemp (cubic,quadratic,bi-quadratic)
  INTEGER :: CCapFFlow(MaxModes)    = 0  ! index of total cooling capacity modifier curve
                                         ! (function of actual supply air flow vs rated air flow)
  INTEGER :: CCapFFlowErrorIndex    = 0  ! Used for warning messages when output of CCapFFlow is negative
  INTEGER :: EIRFTemp(MaxModes)     = 0  ! index of energy input ratio modifier curve
                                         ! (function of entering wetbulb, outside drybulb)
  INTEGER :: EIRFTempErrorIndex     = 0  ! Used for warning messages when output of EIRFTemp is negative
  INTEGER :: EIRTempModFacCurveType(MaxModes) = 0  !type of curve for EIRFTemp (cubic,quadratic,bi-quadratic)
  INTEGER :: EIRFFlow(MaxModes)     = 0  ! index of energy input ratio modifier curve
                                         ! (function of actual supply air flow vs rated air flow)
  INTEGER :: EIRFFlowErrorIndex     = 0  ! Used for warning messages when output of EIRFFlow is negative
  INTEGER :: PLFFPLR(MaxModes)      = 0  ! index of part-load factor vs part-load ratio curve
  LOGICAL :: ReportCoolingCoilCrankcasePower =.true. ! logical determines if the cooling coil crankcase heater power is reported
  REAL(r64) :: CrankcaseHeaterCapacity =0.0d0 ! total crankcase heater capacity [W]
  REAL(r64) :: CrankcaseHeaterPower    =0.0d0 ! report variable for average crankcase heater power [W]
  REAL(r64) :: MaxOATCrankcaseHeater   =0.0d0 ! maximum OAT for crankcase heater operation [C]
  REAL(r64) :: CrankcaseHeaterConsumption  = 0.0d0 ! report variable for total crankcase heater energy consumption [J]
  REAL(r64) :: BasinHeaterPowerFTempDiff   = 0.0d0 ! Basin heater capacity per degree C below setpoint (W/C)
  REAL(r64) :: BasinHeaterSetPointTemp     = 0.0d0 ! setpoint temperature for basin heater operation (C)
  INTEGER :: CompanionUpstreamDXCoil = 0  ! index number of the DX coil that is "upstream" of this DX coil. Currently used for
                                          ! UnitarySystem:HeatPump:AirToAir for proper calculation of crankcase heater energy
                                          ! consumption
  LOGICAL :: FindCompanionUpStreamCoil = .TRUE. ! Flag to get the companion coil in Init.
  INTEGER :: CondenserInletNodeNum(MaxModes) = 0  ! Node number of outdoor condenser(s) (actually an evaporator for heating coils)
  INTEGER :: LowOutletTempIndex     =0   ! used for low outlet temperature warnings
  REAL(r64) :: FullLoadOutAirTempLast =0.0d0 ! used for low outlet temperature warnings
  REAL(r64) :: FullLoadInletAirTempLast =0.0d0 ! used for low outlet temperature warnings
  LOGICAL :: PrintLowOutTempMessage= .FALSE.  ! used to print warning message for low outlet air dry-bulb conditions
  CHARACTER(len=300) :: LowOutTempBuffer1=' ' ! holds warning message until next iteration (only prints 1 message/iteration)
  CHARACTER(len=300) :: LowOutTempBuffer2=' ' ! holds warning message until next iteration (only prints 1 message/iteration)
  INTEGER :: HeatingCoilPLFCurvePTR  = 0      ! PLF curve index to gas or electric heating coil (used in latent degradation model)
  INTEGER :: BasinHeaterSchedulePtr  = 0      ! Pointer to basin heater schedule

! start of multi-speed compressor variables
  REAL(r64) :: RatedTotCap2           =0.0d0 ! Gross total cooling capacity at rated conditions, low speed [watts]
                                         ! Note: For HPWHs, RatedTotCap2   = Water Heating Capacity for Coil:DX:HPWH and
                                         !                  RatedTotCap(1) = Air Cooling Coil Capacity for Coil:DX:HPWH
  REAL(r64) :: RatedSHR2              =0.0d0 ! Sensible heat ratio (sens cap/total cap) at rated conditions, low speed
  REAL(r64) :: RatedCOP2              =0.0d0 ! Coefficient of performance at rated conditions, low speed
  REAL(r64) :: RatedAirVolFlowRate2   =0.0d0 ! Air volume flow rate through unit at rated conditions, low speed [m3/s]
  REAL(r64) :: RatedAirMassFlowRate2  =0.0d0 ! Air mass flow rate through unit at rated conditions, low speed [kg/s]
  REAL(r64) :: RatedCBF2              =0.0d0 ! rated coil bypass factor (low speed), determined using RatedTotCap2 and RatedSHR2
  INTEGER :: CCapFTemp2             = 0  ! index of total cooling capacity modifier curve (low speed)
  INTEGER :: EIRFTemp2              = 0  ! index of energy input ratio modifier curve (low speed)
                                         ! (function of entering wetbulb, outside drybulb)
  REAL(r64) :: RatedEIR2              =0.0d0 ! rated energy input ratio (low speed, inverse of COP2)
  REAL(r64) :: InternalStaticPressureDrop = 0.0d0 ! for rating VAV system
  LOGICAL   :: RateWithInternalStaticAndFanObject = .FALSE.
  INTEGER   :: SupplyFanIndex         = 0
  CHARACTER(len=MaxNameLength) :: SupplyFanName = ' '
  CHARACTER(len=MaxNameLength) :: CoilSystemName = ' '
! end of multi-speed compressor variables

  REAL(r64) :: RatedEIR(MaxModes)     =0.0d0 ! rated energy input ratio (inverse of COP)
  REAL(r64) :: InletAirMassFlowRate   =0.0d0
  REAL(r64) :: InletAirMassFlowRateMax=0.0d0
  REAL(r64) :: InletAirTemp           =0.0d0
  REAL(r64) :: InletAirHumRat         =0.0d0
  REAL(r64) :: InletAirEnthalpy       =0.0d0
!  Eventually inlet air conditions will be used in DX Coil, these lines are commented out and marked with this comment line
!  REAL(r64) :: InletAirPressure       =0.0d0
  REAL(r64) :: OutletAirTemp          =0.0d0
  REAL(r64) :: OutletAirHumRat        =0.0d0
  REAL(r64) :: OutletAirEnthalpy      =0.0d0
  REAL(r64) :: PartLoadRatio          =0.0d0 ! Ratio of actual sensible cooling load to steady-state sensible cooling capacity
  REAL(r64) :: TotalCoolingEnergy     =0.0d0
  REAL(r64) :: SensCoolingEnergy      =0.0d0
  REAL(r64) :: LatCoolingEnergy       =0.0d0
  REAL(r64) :: TotalCoolingEnergyRate =0.0d0
  REAL(r64) :: SensCoolingEnergyRate  =0.0d0
  REAL(r64) :: LatCoolingEnergyRate   =0.0d0
  REAL(r64) :: ElecCoolingConsumption =0.0d0
  REAL(r64) :: ElecCoolingPower       =0.0d0
  REAL(r64) :: CoolingCoilRuntimeFraction =0.0d0 ! Run time fraction of the DX cooling unit

! start of variables used in heat pump heating coils only
  REAL(r64) :: TotalHeatingEnergy     =0.0d0
  REAL(r64) :: TotalHeatingEnergyRate =0.0d0
  REAL(r64) :: ElecHeatingConsumption =0.0d0
  REAL(r64) :: ElecHeatingPower       =0.0d0
  REAL(r64) :: HeatingCoilRuntimeFraction =0.0d0 ! Run time fraction of the DX heating unit
  INTEGER :: DefrostStrategy        = 0   ! defrost strategy; 1=reverse-cycle, 2=resistive
  INTEGER :: DefrostControl         = 0   ! defrost control; 1=timed, 2=on-demand
  INTEGER :: EIRFPLR                = 0   ! index of energy input ratio vs part-load ratio curve
  INTEGER :: DefrostEIRFT           = 0   ! index of defrost mode total cooling capacity for reverse cycle heat pump
  INTEGER :: RegionNum              = 0   ! Region number for calculating HSPF of single speed DX heating coil
  REAL(r64) :: MinOATCompressor       =0.0d0  ! Minimum OAT for heat pump compressor operation
  REAL(r64) :: OATempCompressorOn   = 0.0d0  ! The outdoor tempearture when the compressor is automatically turned back on,
                                           ! if applicable, following automatic shut off. This field is used only for
                                           ! HSPF calculation.
  REAL(r64) :: MaxOATCompressor       =0.0d0  ! Maximum OAT for VRF heat pump compressor operation
  REAL(r64) :: MaxOATDefrost          =0.0d0  ! Maximum OAT for defrost operation
  REAL(r64) :: DefrostTime            =0.0d0  ! Defrost time period in hours
  REAL(r64) :: DefrostCapacity        =0.0d0  ! Resistive defrost to nominal capacity (at 21.11C/8.33C) ratio
  REAL(r64) :: HPCompressorRuntime    =0.0d0  ! keep track of compressor runtime
  REAL(r64) :: HPCompressorRuntimeLast=0.0d0  ! keep track of last time step compressor runtime (if simulation downshifts)
  REAL(r64) :: TimeLeftToDefrost      =0.0d0  ! keep track of time left to defrost heat pump
  REAL(r64) :: DefrostPower           =0.0d0  ! power used during defrost
  REAL(r64) :: DefrostConsumption     =0.0d0  ! energy used during defrost
  INTEGER   :: HeatingPerformanceOATType=DryBulbIndicator  ! Heating performance curve OAT type (1-wetbulb, 2-drybulb)
  LOGICAL   :: HPCoilIsInCoilSystemHeatingDX = .FALSE.
  LOGICAL   :: OATempCompressorOnOffBlank = .FALSE.
! end of variables used in heat pump heating coils only

! start of variables for DX cooling coil latent degradation model
  REAL(r64) :: Twet_Rated(MaxModes)                 =0.0d0 ! Nominal time for condensate to begin leaving the coil's
                                                       ! condensate drain line (sec)
  REAL(r64) :: Gamma_Rated(MaxModes)                =0.0d0 ! Initial moisture evaporation rate divided by steady-state
                                                       ! AC latent capacity (dimensionless)
  REAL(r64) :: MaxONOFFCyclesperHour(MaxModes)      =0.0d0 ! Maximum ON/OFF cycles per hour for the compressor (cycles/hour)
  REAL(r64) :: LatentCapacityTimeConstant(MaxModes) =0.0d0 ! Time constant for latent capacity to reach steady state
                                                       ! after startup (sec)
! end of variables for DX cooling coil latent degradation model

  INTEGER :: CondenserType(MaxModes) = AirCooled ! Type of condenser for DX cooling coil: AIR COOLED or EVAP COOLED

! start of variables for DX cooling coil evaporative condenser option
  LOGICAL :: ReportEvapCondVars =.false. ! true if any performance mode includes an evap condenser
  REAL(r64) :: EvapCondEffect(MaxModes) =0.0d0  ! effectiveness of the evaporatively cooled condenser
                                            ! [high speed for multi-speed unit] (-)
  REAL(r64) :: CondInletTemp  =0.0d0            ! Evap condenser inlet temperature [C], report variable
  REAL(r64) :: EvapCondAirFlow(MaxModes)=0.0d0  ! Air flow rate through the evap condenser at high speed,
                                                 ! for water use calcs [m3/s]
  REAL(r64) :: EvapCondPumpElecNomPower(MaxModes)=0.0d0  ! Nominal power input to the evap condenser water circulation pump
                                                     ! at high speed [W]
  REAL(r64) :: EvapCondPumpElecPower =0.0d0    ! Average power consumed by the evap condenser water circulation pump over
                                           ! the time step [W]
  REAL(r64) :: EvapCondPumpElecConsumption =0.0d0 ! Electric energy consumed by the evap condenser water circulation pump [J]
  REAL(r64) :: EvapWaterConsumpRate =0.0d0 ! Evap condenser water consumption rate [m3/s]
  REAL(r64) :: EvapWaterConsump =0.0d0 ! Evap condenser water consumption [m3]
  REAL(r64) :: EvapCondAirFlow2 =0.0d0 ! Air flow rate through the evap condenser at low speed, for water use calcs [m3/s]
  REAL(r64) :: EvapCondEffect2  =0.0d0 ! effectiveness of the evaporatively cooled condenser at low speed (-)
  REAL(r64) :: EvapCondPumpElecNomPower2 = 0.0d0  ! Nominal power input to the evap condenser water circulation pump at low speed [W]
  REAL(r64) :: BasinHeaterPower          = 0.0d0  ! Basin heater power (W)
  REAL(r64) :: BasinHeaterConsumption    = 0.0d0  ! Basin heater energy consumption (J)
! end of variables for DX cooling coil evaporative condenser option

! start of variables for Multimode DX cooling coil
  INTEGER :: NumCapacityStages=1 ! number of capacity stages, up to MaxCapacityStages for Multimode DX coil,
                                 ! always 1 for other coils
  INTEGER :: NumDehumidModes=0   ! number of enhanced dehumidification modes, up to MaxDehumidModes for Multimode DX coil,
                                 ! always 0 for other coils)
  CHARACTER(len=MaxNameLength) :: CoilPerformanceType(MaxModes)    =' '  ! Coil Performance object type
  INTEGER                      :: CoilPerformanceType_Num(MaxModes)= 0   ! Coil Performance object type number
  CHARACTER(len=MaxNameLength) :: CoilPerformanceName(MaxModes)    =' '  ! Coil Performance object names
  REAL(r64) :: CoolingCoilStg2RuntimeFrac =0.0d0 ! Run time fraction of stage 2
  INTEGER :: DehumidificationMode               =0   ! Dehumidification mode for multimode coil,
                                                     ! 0=normal, 1+=enhanced dehumidification mode
! end of variables for Multimode DX cooling coil

! start of variables for heat pump water heater DX coil
  INTEGER :: WaterInNode                 = 0       ! Condenser water inlet node number for HPWH DX coil
  INTEGER :: WaterOutNode                = 0       ! Condenser water outlet node number for HPWH DX coil
  INTEGER :: HCOPFTemp                   = 0       ! COP as a function of temperature curve index
  INTEGER :: HCOPFTempErrorIndex         = 0       ! Used for warning messages when output of HCOPFTemp is negative
  INTEGER :: HCOPFTempCurveType          = 0       ! COP as a function of temperature curve type
  INTEGER :: HCOPFAirFlow                = 0       ! COP as a function of air flow rate ratio curve index
  INTEGER :: HCOPFAirFlowErrorIndex      = 0       ! Used for warning messages when output of HCOPFAirFlow is negative
  INTEGER :: HCOPFWaterFlow              = 0       ! COP as a function of water flow rate ratio curve index
  INTEGER :: HCOPFWaterFlowErrorIndex    = 0       ! Used for warning messages when output of HCOPFWaterFlow is negative
  INTEGER :: HCapFTemp                   = 0       ! Heating capacity as a function of temperature curve index
  INTEGER :: HCapFTempErrorIndex         = 0       ! Used for warning messages when output of HCapFTemp is negative
  INTEGER :: HCapFTempCurveType          = 0       ! Heating capacity as a function of temperature curve type
  INTEGER :: HCapFAirFlow                = 0       ! Heating capacity as a function of air flow rate ratio curve index
  INTEGER :: HCapFAirFlowErrorIndex      = 0       ! Used for warning messages when output of HCapFAirFlow is negative
  INTEGER :: HCapFWaterFlow              = 0       ! Heating capacity as a function of water flow rate ratio curve index
  INTEGER :: HCapFWaterFlowErrorIndex    = 0       ! Used for warning messages when output of HCapFWaterFlow is negative
  INTEGER :: InletAirTemperatureType     = 0       ! Specifies to use either air wet-bulb or dry-bulb temp for curve objects
  REAL(r64) :: RatedInletDBTemp            = 0.0d0     ! Rated inlet air dry-bulb temperature [C]
  REAL(r64) :: RatedInletWBTemp            = 0.0d0     ! Rated inlet air wet-bulb temperature [C]
  REAL(r64) :: RatedInletWaterTemp         = 0.0d0     ! Rated condenser water inlet temperature [C]
!  REAL(r64) :: CondenserInletWaterTemp     = 0.0     ! Actual inlet water temperature to condenser of the HPWH DX coil [C]
  REAL(r64) :: HPWHCondPumpElecNomPower    = 0.0d0     ! Nominal power input to the condenser water circulation pump [W]
  REAL(r64) :: HPWHCondPumpFracToWater     = 0.0d0     ! Nominal power fraction to water for the condenser water circulation pump
  REAL(r64) :: RatedHPWHCondWaterFlow      = 0.0d0     ! Rated water flow rate through the condenser of the HPWH DX coil [m3/s]
  REAL(r64) :: ElecWaterHeatingPower       = 0.0d0     ! Total electric power consumed by compressor and condenser pump [W]
  REAL(r64) :: ElecWaterHeatingConsumption = 0.0d0     ! Total electric consumption by compressor and condenser pump [J]
  LOGICAL :: FanPowerIncludedInCOP       = .TRUE.  ! Indicates that fan heat is included in heating capacity and COP
  LOGICAL :: CondPumpHeatInCapacity      = .FALSE. ! Indicates that condenser pump heat is included in heating capacity
  LOGICAL :: CondPumpPowerInCOP          = .FALSE. ! Indicates that condenser pump power is included in heating COP
  LOGICAL :: AirVolFlowAutoSized         = .FALSE. ! Used to report autosizing info for the HPWH DX coil
  LOGICAL :: WaterVolFlowAutoSized       = .FALSE. ! Used to report autosizing info for the HPWH DX coil
! end of variables for heat pump water heater DX coil

! Error tracking
  REAL(r64) :: LowTempLast=0.0d0 ! low ambient temp entering condenser when warning message occurred
  REAL(r64) :: HighTempLast=0.0d0 ! high ambient temp entering condenser when warning message occurred
  INTEGER :: ErrIndex1=0     ! index/pointer to recurring error structure for Air volume flow rate per watt of
                             ! rated total cooling capacity error
  INTEGER :: ErrIndex2=0     ! index/pointer to recurring error structure for PLF curve values must be >= 0.7. error
  INTEGER :: ErrIndex3=0     ! index/pointer to recurring error structure for DX cooling coil runtime fraction > 1.0 warning
  INTEGER :: ErrIndex4=0     ! index/pointer to recurring error structure for DX heating coil runtime fraction > 1.0 warning
  INTEGER :: LowAmbErrIndex=0   ! index/pointer to recurring error structure for low ambient temp entering condenser
  INTEGER :: HighAmbErrIndex=0  ! index/pointer to recurring error structure for high ambient temp entering condenser
  INTEGER :: PLFErrIndex=0   ! index/pointer to recurring error structure for PLF <> 1 at speed 1 for a multiple speed coil
  INTEGER :: PLRErrIndex=0   ! index/pointer to recurring error structure for PLR < .7
  LOGICAL :: PrintLowAmbMessage= .FALSE.  ! used to print warning message for low ambient conditions
  CHARACTER(len=300) :: LowAmbBuffer1=' ' ! holds warning message until next iteration (only prints 1 message/iteration)
  CHARACTER(len=300) :: LowAmbBuffer2=' ' ! holds warning message until next iteration (only prints 1 message/iteration)
  LOGICAL :: PrintHighAmbMessage= .FALSE.  ! used to print warning message for high ambient conditions
  CHARACTER(len=300) :: HighAmbBuffer1=' ' ! holds warning message until next iteration (only prints 1 message/iteration)
  CHARACTER(len=300) :: HighAmbBuffer2=' ' ! holds warning message until next iteration (only prints 1 message/iteration)

  !begin variables for Water System interactions
  INTEGER ::EvapWaterSupplyMode                   = WaterSupplyFromMains !  where does water come from
  CHARACTER(len=MaxNameLength) :: EvapWaterSupplyName = ' ' ! name of water source e.g. water storage tank
  INTEGER ::EvapWaterSupTankID                    = 0 !
  INTEGER ::EvapWaterTankDemandARRID              = 0 !
  INTEGER ::CondensateCollectMode                 = CondensateDiscarded !  where does water come from
  CHARACTER(len=MaxNameLength) :: CondensateCollectName = ' ' ! name of water source e.g. water storage tank
  INTEGER ::CondensateTankID                      = 0 !
  INTEGER ::CondensateTankSupplyARRID             = 0 !

  REAL(r64)   :: CondensateVdot = 0.0d0 ! rate of water condensation from air stream [m3/s]
  REAL(r64)   :: CondensateVol  = 0.0d0 ! amount of water condensed from air stream [m3]

  !end variables for water system interactions

  ! used to print low ambient warning message for DOE2 coil only after time step has incremented
  REAL(r64) :: CurrentEndTimeLast  = 0.0d0 ! end time of time step for last simulation time step
  REAL(r64) :: TimeStepSysLast     = 0.0d0 ! last system time step (used to check for downshifting)
  ! for multispeed DX coil type
  INTEGER :: FuelType       =0   ! Fuel type
  INTEGER :: NumOfSpeeds    =0   ! Number of speeds
  LOGICAL :: PLRImpact      =.FALSE.   ! Part load fraction applied to Speed Number > 1
  LOGICAL :: LatentImpact   =.FALSE.   ! Latent degradation applied to Speed Number > 1
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSErrIndex ! index flag for num speeds/recurring messages
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSRatedTotCap ! Rated cooling capacity for MS heat pump [W]
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSRatedSHR    ! Rated SHR for MS heat pump [dimensionless]
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSRatedCOP    ! Rated COP for MS heat pump [dimensionless]
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSRatedAirVolFlowRate  ! Air volume flow rate through unit at rated conditions [m3/s]
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSRatedAirMassFlowRate ! Air mass flow rate through unit at rated conditions [m3/s]
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSRatedCBF    ! rated coil bypass factor
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSCCapFTemp   ! index of total cooling capacity modifier curve
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSCCapFFlow   ! index of total cooling capacity modifier curve
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSEIRFTemp    ! index of energy input ratio modifier curve as a function of temperature
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSEIRFFlow    ! index of energy input ratio modifier curve as a function of flow fraction
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSPLFFPLR     ! index of part load factor as a function of part load ratio
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSWasteHeat   ! index of waste heat as a function of temperature
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSWasteHeatFrac  ! Waste heat fraction
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSEvapCondEffect ! effectiveness of the evaporatively cooled condenser
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSEvapCondAirFlow ! Air flow rate through the evap condenser for water use calcs [m3/s]
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSEvapCondPumpElecNomPower ! Nominal power input to the evap condenser
                                                                     ! water circulation pump
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSTotCapTempModFacCurveType ! type of curve for CCapFTemp (cubic,quadratic,bi-quadratic)
  INTEGER, DIMENSION(:), ALLOCATABLE :: MSEIRTempModFacCurveType !type of curve for EIRFTemp (cubic,quadratic,bi-quadratic)

  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSTwet_Rated      ! Nominal time for condensate to begin leaving the coil's
                                                   ! condensate drain line (sec)
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSGamma_Rated     ! Initial moisture evaporation rate divided by steady-state
                                                   ! AC latent capacity (dimensionless)
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSMaxONOFFCyclesperHour ! Maximum ON/OFF cycles per hour for the compressor (cycles/hour)
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSLatentCapacityTimeConstant ! Time constant for latent capacity to reach steady state
  REAL(r64), DIMENSION(:), ALLOCATABLE :: MSFanPowerPerEvapAirFlowRate
  REAL(r64) :: FuelUsed            ! Energy used, in addition to electricity [W]
  REAL(r64) :: FuelConsumed        ! Energy consumed, in addition to electricity [J]
  ! End of multispeed DX coil input

  ! VRF system variables used for sizing
  LOGICAL :: CoolingCoilPresent = .TRUE.   ! FALSE if coil not present
  LOGICAL :: HeatingCoilPresent = .TRUE.   ! FALSE if coil not present

  LOGICAL   :: ISHundredPercentDOASDXCoil= .FALSE. ! FALSE if coil is regular dx coil
  INTEGER   :: SHRFTemp(MaxModes)     = 0  ! index of sensible heat ratio modifier curve
                                           ! (function of entering wetbulb and drybulb)
  INTEGER   :: SHRFTempErrorIndex     = 0  ! Used for warning messages when output of SHRFTemp is negative
  INTEGER   :: SHRFTempCurveType(MaxModes) = 0  !type of curve for SHRFTemp (cubic,quadratic,bi-quadratic)
  INTEGER   :: SHRFFlow(MaxModes)     = 0  ! index of sensible heat ratio modifier curve
                                           ! (function of actual supply air flow vs rated air flow)
  INTEGER   :: SHRFFlowErrorIndex     = 0  ! Used for warning messages when output of SHRFFlow is negative
  INTEGER   :: SHRFTemp2              = 0  ! index of sensible heat ratio modifier curve
                                           ! (function of entering wetbulb and drybulb)
  INTEGER   :: SHRFFlow2              = 0  ! index of sensible heat ratio modifier curve
                                           ! (function of actual supply air flow vs rated air flow)
  INTEGER   :: SHRFTempCurveType2     = 0  ! type of curve for SHRFTemp (cubic,quadratic,bi-quadratic)

  LOGICAL   :: UserSHRCurveExists = .FALSE. ! TRUE if user specified SHR modifier curve exists

END TYPE DXCoilData

ActuatorUsedType AiflowNetworkReportProp AirChillerSetData AirConnectionStruct AirflowNetworkCompProp AirflowNetworkExchangeProp AirflowNetworkLinkageProp AirflowNetworkLinkReportData AirflowNetworkLinkSimuData AirflowNetworkNodeProp AirflowNetworkNodeReportData AirflowNetworkNodeSimuData AirflowNetworkReportVars AirflowNetworkSimuProp AirIn AirLoopBranchData AirLoopCompData AirLoopControlData AirLoopFlowData AirLoopMixerData AirLoopOutsideAirConnectData AirLoopSplitterData AirLoopStatsType AirLooptoZoneData AirLoopZoneEquipConnectData AirModelData AirNodeData AirPatternInfobyZoneStruct AirReportVars AirTerminalMixerData AngleFactorData BalancedDesDehumPerfData BaseboardParams BaseboardParams BaseCell BaseChillerSpecs BasementZoneInfo BaseReportVars BaseThermalPropertySet BasisElemDescr BasisStruct BatteryDichargeDataStruct BBHeatData BinObjVarIDType BinResultsType BinStatisticsType BLASTAbsorberSpecs BoilerSpecs BoilerSpecs BoundingBoxVertStruct BranchData BranchData BranchListData BSDFBkSurfDescr BSDFDaylghtGeomDescr BSDFDaylghtPosition BSDFGeomDescr BSDFLayerAbsorpStruct BSDFRefPoints BSDFRefPointsGeomDescr BSDFStateDescr BSDFWindowDescript BSDFWindowGeomDescr BSDFWindowInputStruct cached_psat_t cached_twb_t CartesianCell CartesianPipeCellInformation CaseAndWalkInListDef CaseRAFractionData CaseWIZoneReportData CashFlowType CBVAVData CECInverterLookUpTableData CFSFILLGAS CFSGAP CFSLAYER CFSLWP CFSSWP CFSTY CGSHPNodeData ChargeBlockType ChargeSimpleType ChillerheaterSpecs CHReportVars CoefficientProps CoilCreditData CoilType CollectorData ColumnTagType CommonPipeData CompData CompDesWaterFlowData ComponentData ComponentData ComponentListData ComponentNameData ComponentProps ComponentSetPtData CompressorListDef CompSizeTableEntryType ComputationType ConnectAirSysComp ConnectAirSysSubComp ConnectAirSysSubSubComp ConnectedLoopData ConnectionPoint ConnectorData ConnectZoneComp ConnectZoneSubComp ConnectZoneSubSubComp ConstantFlowRadiantSystemData ConstCOPChillerSpecs ConstCOPReportVars ConstGradPattern ConstructionData ConstructionDataFD ContaminantData ControllerListProps ControllerPropsType ControllerStatsType ControlList ControlsType ConvectionCoefficient CoolBeamData CoolTowerParams CostAdjustmentStruct CostLineItemStruct CTGeneratorSpecs CurSimConditionsInfo CVData CVDVParameters CVFlow DamperDesignParams DamperFlowConditions DataPeriodData DataSetPointManager DaylightSavingPeriodData DayScheduleData DayWeatherVariables DCtoACInverterStruct DefineASHRAEAdaptiveOptimumStartCoeffs DefineColdestSetPointManager DefineCondEntSetPointManager DefineDiffTSysAvailManager DefineFollowOATempSetPointManager DefineFollowSysNodeTempSetPointManager DefineGroundTempSetPointManager DefineHiLoSysAvailManager DefineHybridVentSysAvailManager DefineIdealCondEntSetPointManager DefineLinearModelNode DefineMixedAirSetPointManager DefineNightCycSysAvailManager DefineNightVentSysAvailManager DefineOAPretreatSetPointManager DefineOptStartSysAvailManager DefineOutsideAirSetPointManager DefinePriAirSysAvailMgrs DefinePrimaryAirSystem DefineSchedDualSetPointManager DefineSchedOffSysAvailManager DefineSchedOnSysAvailManager DefineSchedSysAvailManager DefineScheduledSetPointManager DefineSurfaceSettings DefineSZCoolingSetPointManager DefineSZHeatingSetPointManager DefineSZMaxHumSetPointManager DefineSZMinHumSetPointManager DefineSZOneStageCoolinggSetPointManager DefineSZOneStageHeatingSetPointManager DefineSZReheatSetPointManager DefineWarmestSetPointManager DefineZoneCompAvailMgrs DefineZoneData DefMultiZoneAverageCoolingSetPointManager DefMultiZoneAverageHeatingSetPointManager DefMultiZoneAverageMaxHumSetPointManager DefMultiZoneAverageMinHumSetPointManager DefMultiZoneMaxHumSetPointManager DefMultiZoneMinHumSetPointManager DefRABFlowSetPointManager DefWarmestSetPtManagerTempFlow DemandManagerData DemandManagerListData DesDayWeathData DesiccantDehumidifierData DesignDayData DesignSpecMSHPData DetailedIceStorageData DirectAirProps DirectionNeighbor_Dictionary DirectionReal_Dictionary DisSysCompCoilProp DisSysCompCPDProp DisSysCompCVFProp DisSysCompDamperProp DisSysCompDetFanProp DisSysCompDuctProp DisSysCompELRProp DisSysCompHXProp DisSysCompLeakProp DisSysCompTermUnitProp DisSysLinkageProp DisSysNodeProp DistributionStructure DomainRectangle dTriangle DuctData DVData DXCoilData DXCoolingConditions DXHeatPumpSystemStruct EarthTubeData EarthTubeZoneReportVars EconVarType ElecBaseboardParams ElecStorageDataStruct ElectricChillerSpecs ElectricEIRChillerSpecs ElectricPowerLoadCenter ElectricRadiantSystemData ElectricReportVars ElectricTransformer EMSActuatorAvailableType EMSProgramCallManagementType EndUseCategoryType Energy EngineDrivenChillerSpecs EngineDrivenReportVars EnvironmentData EqNodeConnectionDef EquipConfiguration EquipList EquipListCompData EquipListPtrData EquipmentData EquipMeterData EquipOpList ErlExpressionType ErlStackType ErlValueType ErlVariableType EvapConditions EvapFluidCoolerInletConds EvapFluidCoolerspecs ExhaustAbsorberSpecs ExtendedFluidProperties ExteriorEquipmentUsage ExteriorLightUsage ExtVentedCavityStruct Face FanCoilData FanEquipConditions FarfieldInfo FaultProperties FCAirSupplyDataStruct FCAuxilHeatDataStruct FCDataStruct FCElecStorageDataStruct FCExhaustHXDataStruct FCInverterDataStruct FCPowerModuleStruct FCReportDataStruct FCStackCoolerDataStruct FCWaterSupplyDataStruct FenestrationSolarAbsorbed FileSectionsDefinition FluidCellInformation FluidCoolerInletConds FluidCoolerspecs FluidPropsGlycolData FluidPropsGlycolErrors FluidPropsGlycolRawData FluidPropsRefrigerantData FluidPropsRefrigErrors FrameDividerProperties FuelTypeProps FullDomainStructureInfo FurnaceEquipConditions GapDeflectionState GapSupportPillar GasAbsorberSpecs GasPropertyDataStruct GasTurbineReportVars GenData GeneratorDynamicsManagerStruct GeneratorFuelSupplyDataStruct GenericComponentZoneIntGainStruct GlheSpecs GlobalInternalGainMiscObject GridRegion GroundwaterWellDataStruct GshpSpecs GshpSpecs GshpSpecs GTChillerSpecs HalfLoopData HcInsideFaceUserCurveStruct HcOutsideFaceUserCurveStruct HeatExchangerStruct HeatExchCond HeatingCoilEquipConditions HeatPumpWaterHeaterData HeatReclaimDXCoilData HeatReclaimRefrigCondenserData HeatReclaimRefrigeratedRackData HighTempRadiantSystemData HumidifierData HVACAirLoopIterationConvergenceStruct HVACNodeConvergLogStruct HVACZoneInletConvergenceStruct HWBaseboardParams HXAssistedCoilParameters HydronicRadiantSystemData ICEngineGeneratorSpecs IceStorageMapping IceStorageSpecs IllumMapData IndirectAbsorberSpecs IndUnitData InfiltrationData InsideFaceAdaptiveConvAlgoStruct InstructionType IntegerVariables IntegerVariableType InternalVarsAvailableType InternalVarsUsedType IntWinAdjZoneExtWinStruct IrrigationDataStruct LightsData LineDefinition LocalPipeData Location LoopPipeData LoopSidePumpInformation LoopSideReportVars m_FlowControlValidator MapCalcData MarkedNodeData MaterialDataFD MaterialProperties MatrixDataStruct MeshExtents MeshPartition MeshPartitions MeshProperties MeterArrayType MeterData MeterType MicroCHPDataStruct MicroCHPParamsNonNormalized MicroCHPReportDataStruct MissingData MissingDataCounts MixerConditions MixerData MixerData MixingData MoistureInfo monetaryUnitType MonthlyColumnsType MonthlyFieldSetInputType MonthlyInputType MonthlyTablesType MoreNodeData MSHeatPumpData MSHeatPumpReportData MTGeneratorSpecs MultizoneCompDetOpeningProp MultizoneCompExhaustFanProp MultizoneCompHorOpeningProp MultizoneCompSimpleOpeningProp MultizoneCPArrayProp MultizoneCPValueProp MultizoneExternalNodeProp MultizoneSurfaceCrackProp MultizoneSurfaceCrackStdCndns MultizoneSurfaceELAProp MultizoneSurfaceProp MultizoneZoneProp NamedMonthlyType NeighborInformation NightVentPerfData NodeConnectionDef NodeData NodeListDef NonrecurringCostType OAControllerData OAControllerProps OAEquipList OAMixerProps OARequirementsData OAUnitData ObjectsDefinition OperationData OperatorType OpSchemePtrData OptStartDataType OSCData OSCMData OutputReportingVariables OutputTableBinnedType OutputVarSensorType OutsideAirSysProps OutsideEnergySourceSpecs OutsideFaceAdpativeConvAlgoStruct PackagedTESCoolingCoilStruct ParametersData ParentListData PeopleData PerfCurveTableDataStruct PerfomanceCurveData PipeCircuitInfo PipeData PipeHeatTransferReport PipeHTData PipeSegmentInfo PlaneEq PlantAvailMgrData PlantCallingOrderInfoStruct PlantConnection PlantConnectionStruct PlantConnectionStruct PlantConvergencePoint PlantIterationConvergenceStruct PlantLocation PlantLocatorStruct PlantLoopData PlantPressureCurveData PlantProfileData PlantSizingData Point Point3DInteger Point3DReal PointF PointType PollutionProps Polyhedron PondGroundHeatExchangerData PondGroundHeatExchangerReport PowIndUnitData PTUnitData PumpSpecs PumpVFDControlData PVArrayStruct PVReportVariables PVTCollectorStruct PVTReportStruct QualifyType RadialCellInformation RadialSizing RadSysTypeData RainfallCollectorDataStruct RangeCheckDef RangeDataCounts RatchetType RealVariables RealVariableType RectangleF RecurringCostsType RecurringErrorData ReformulatedEIRChillerSpecs RefrigCaseCreditData RefrigCaseData RefrigCompressorData RefrigCondenserData RefrigGasCoolerData RefrigRackData RefrigSystemData ReportBranchData ReportCompData ReportEIRVars ReportingInformation ReportLoopData reportNameType ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReportVars ReqReportVariables ReturnAir RoofGeoCharactisticsStruct RootFinderDataType RunPeriodData RuntimeReportVarType ScheduleData ScheduleTypeData ScreenTransData SecondaryLoopData SecretObjects SectionsDefinition ShadingVertexData ShadowingCombinations ShadowRelateType ShelfData SimplePVParamsStruct SimplePVTModelStruct SimpleWatertoAirHPConditions SimulationControl SimulationOrder SiteRainFallDataStruct SlabListData SNLModuleParamsStuct SNLPVCalcStruct SNLPVInputStruct SolReflRecSurfData SolutionTrackerType SpecialDayData SpectralDataProperties SplitterConditions SplitterData SplitterData StackType StandAloneERVData SteamBaseboardParams SteamCoilEquipConditions StorageTankDataStruct StormWindowData StratifiedNodeData subcell SubcomponentData SubcoolerData SubEquipmentData SubSubcomponentData SubSubEquipmentData SubTableType SummarizeLoads SupplyAir SurfaceAssocNestedStruct SurfaceData SurfaceDataFD SurfaceErrorTracking SurfaceGroundHeatExchangerData SurfaceGroundHeatExchangerQTF SurfaceGroundHeatExchngrReport SurfaceListData SurfaceScreenProperties SurfaceSolarIncident SurfaceWindowCalc SurfMapPattern SysAvailManagerList SysDesignParams SysFlowConditions SystemSizingData SystemSizingInputData TableDataStruct TableEntryType TableLookupData TariffType TCGlazingsType TDDPipeData TemperaturePatternStruct TemperValveData TempGridRegionData TempLoopData TempVsHeightPattern TerminalUnitListData TermUnitSizingData ThermalChimneyData ThermalComfortDataType ThermalComfortInASH55Type ThermalComfortSetpointType ThermChimReportVars ThermChimZnReportVars TimeSteps timings TOCEntriesType TokenType TowerInletConds Towerspecs TransferLoadListDef TransRefrigSystemData TrendVariableType TriQuadraticCurveDataStruct TRNSYSPVCalcStruct TRNSYSPVModuleParamsStruct TStatObject TwoVertGradInterpolPattern TypicalExtremeData UFEData UFIData UnitarySystemData UnitConvType UnitHeaterData UnitVentilatorData UseAdjustmentType UsePriceEscalationType UserAirTerminalComponentStruct UserCoilComponentStruct UserPlantComponentStruct UserZoneHVACForcedAirComponentStruct UTSCDataStruct VariableSpeedCoilData VariableTypeForDDOutput vector Vector_2d VentilatedSlabData VentilationData VentilationMechanicalProps VRFCondenserEquipment VRFTerminalUnitEquipment VSTowerData WalkInData WarehouseCoilData WarmupConvergence WaterCoilEquipConditions WaterConnectionsType WaterEquipmentType WaterHeaterDesuperheaterData WaterHeaterSizingData WaterSourceSpecs WaterThermalTankData WatertoAirHPEquipConditions WaterUseTankConnectionStruct WeatherProperties WeekScheduleData WholeBuildingElectricPowerSummary WindACData WindowBlindProperties WindowComplexShade WindowIndex WindowShadingControlData WindowStateIndex WindowThermalModelParams WindTurbineParams WrapperComponentSpecs WrapperReportVars WrapperSpecs ZoneAirBalanceData ZoneAirDistributionData ZoneAirEquip ZoneCatEUseData ZoneComfortControls ZoneComfortControlsFangerData ZoneComfortFangerControlType ZoneCompTypeData ZoneContamGenericDataBLDiff ZoneContamGenericDataConstant ZoneContamGenericDataCutoff ZoneContamGenericDataDecay ZoneContamGenericDataDRS ZoneContamGenericDataDVS ZoneContamGenericDataPDriven ZoneContControls ZoneData ZoneDaylightCalc ZoneDehumidifierData ZoneEqSizingData ZoneEquipData ZoneEvapCoolerUnitStruct ZoneGroupData ZoneHumidityControls ZoneInternalGainsStruct ZoneListData ZoneListData ZonePreDefRepType ZonePurchasedAir ZoneReportVars ZoneReturnPlenumConditions ZoneSatgedControls ZoneSimData ZoneSizingData ZoneSizingInputData ZoneSupplyPlenumConditions ZoneSystemContaminantDemandData ZoneSystemDemandData ZoneSystemMoistureDemand ZoneTempControls ZoneTempControlType ZoneViewFactorInformation