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