TYPE ZonePurchasedAir
CHARACTER(len=MaxNameLength) :: cObjectName =' ' ! Name of the object from IDD
CHARACTER(len=MaxNameLength) :: Name = ' ' ! Name or identifier of this piece of equipment
CHARACTER(len=MaxNameLength) :: AvailSched = ' ' ! System availablity schedule
INTEGER :: AvailSchedPtr = 0 ! Index to system availability schedule
INTEGER :: ZoneSupplyAirNodeNum = 0 ! Node number of zone supply air node for purchased air
INTEGER :: ZoneExhaustAirNodeNum = 0 ! Node number of zone exhaust air node for purchased air
INTEGER :: ZoneRecircAirNodeNum = 0 ! Node number of recirculation air node for purchased air
! same as exhaust node if specified, otherwise zone return node
REAL(r64) :: MaxHeatSuppAirTemp = 0.0d0 ! Maximum supply air temperature for heating [C]
REAL(r64) :: MinCoolSuppAirTemp = 0.0d0 ! Minimum supply air temperature for cooling [C]
REAL(r64) :: MaxHeatSuppAirHumRat = 0.0d0 ! Maximum supply heating air humidity ratio [kg water/kg dry air]
REAL(r64) :: MinCoolSuppAirHumRat = 0.0d0 ! Minimum supply cooling air humidity ratio [kg water/kg dry air]
INTEGER :: HeatingLimit = 0 ! Heating capacity limit type - NoLimit, LimitFlowRate, LimitCapacity,
! or LimitFlowRateAndCapacity
REAL(r64) :: MaxHeatVolFlowRate = 0.0d0 ! Maximum heating supply air flow[m3/s]
REAL(r64) :: MaxHeatSensCap = 0.0d0 ! Maximum heating sensible capacity [W]
INTEGER :: CoolingLimit = 0 ! Cooling capacity limit type - NoLimit, LimitFlowRate, LimitCapacity,
! or LimitFlowRateAndCapacity
REAL(r64) :: MaxCoolVolFlowRate = 0.0d0 ! Maximum cooling supply air flow [m3/s]
REAL(r64) :: MaxCoolTotCap = 0.0d0 ! Maximum cooling total capacity [W]
CHARACTER(len=MaxNameLength) :: HeatSched = ' ' ! Heating availablity schedule
INTEGER :: HeatSchedPtr = 0 ! Index to heating availability schedule
CHARACTER(len=MaxNameLength) :: CoolSched = ' ' ! Cooling availability schedule
INTEGER :: CoolSchedPtr = 0 ! Index to the cooling availability schedule
INTEGER :: DehumidCtrlType = 0 ! Dehumidification control type - ConstantSensibleHeatRatio,
! Humidistat, or ConstantSupplyHumidityRatio
REAL(r64) :: CoolSHR = 0.0d0 ! Cooling sensible heat ratio
INTEGER :: HumidCtrlType = 0 ! Humidification control type - None,
! Humidistat, or ConstantSupplyHumidityRatio
INTEGER :: OARequirementsPtr = 0 ! Index to DesignSpecification:OutdoorAir object
INTEGER :: DCVType = 0 ! Demand controlled ventilation type - None,
! OccupancySchedule, or CO2Setpoint
INTEGER :: EconomizerType = 0 ! Outdoor air economizer type - NoEconomizer,
! DifferentialDryBulb, or DifferentialEnthalpy
LOGICAL :: OutdoorAir = .false. ! Is there outdoor air?
INTEGER :: OutdoorAirNodeNum = 0 ! Node number of the outdoor air inlet node
INTEGER :: HtRecType = 0 ! Outdoor air heat recovery type - None, Sensible, Enthalpy
REAL(r64) :: HtRecSenEff = 0.0d0 ! Sensible heat recovery effectiveness
REAL(r64) :: HtRecLatEff = 0.0d0 ! Latent heat recovery effectiveness
INTEGER :: OAFlowFracSchPtr = 0 ! Fraction schedule applied to total OA requirement
REAL(r64) :: MaxHeatMassFlowRate = 0.0d0 ! The maximum heating air mass flow rate [kg/s]
REAL(r64) :: MaxCoolMassFlowRate = 0.0d0 ! The maximum cooling air mass flow rate [kg/s]
LOGICAL :: EMSOverrideMdotOn = .FALSE. ! if true, then EMS is calling to override supply mass flow rate
REAL(r64) :: EMSValueMassFlowRate = 0.0d0 ! Value EMS is directing to use for supply mass flow rate [kg/s]
LOGICAL :: EMSOverrideOAMdotOn = .FALSE. ! if true, then EMS is calling to override OA mass flow rate
REAL(r64) :: EMSValueOAMassFlowRate = 0.0d0 ! Value EMS is directing to use for OA mass flow rate [kg/s]
LOGICAL :: EMSOverrideSupplyTempOn = .FALSE. ! if true, then EMS is calling to override supply temperature
REAL(r64) :: EMSValueSupplyTemp = 0.0d0 ! Value EMS is directing to use for supply temperature [C]
LOGICAL :: EMSOverrideSupplyHumRatOn = .FALSE. ! if true, then EMS is calling to override supply humidity ratio
REAL(r64) :: EMSValueSupplyHumRat = 0.0d0 ! Value EMS is directing to use for supply humidity ratio [kg-H2O/kg-dryair]
REAL(r64) :: MinOAMassFlowRate = 0.0d0 ! The minimum required outdoor air mass flow rate [kg/s]
REAL(r64) :: OutdoorAirMassFlowRate = 0.0d0 ! The outdoor air mass flow rate [kg/s]
! Intermediate results
REAL(r64) :: FinalMixedAirTemp = 0.0d0 ! Dry-bulb temperature of the mixed air, saved for system ventilation load reporting [C]
REAL(r64) :: FinalMixedAirHumRat = 0.0d0 ! Humidity ratio of the mixed air, saved for system ventilation load reporting [kg-H2O/kg-dryair]
REAL(r64) :: HtRecSenOutput = 0.0d0 ! Sensible heating/cooling rate from heat recovery (<0 means cooling) [W]
REAL(r64) :: HtRecLatOutput = 0.0d0 ! Latent heating/cooling rate from heat recovery (<0 means cooling or dehumidfying) [W]
REAL(r64) :: OASenOutput = 0.0d0 ! Outdoor air sensible output relative to zone conditions [W], <0 means OA is cooler than zone air
REAL(r64) :: OALatOutput = 0.0d0 ! Outdoor air latent output relative to zone conditions [W], <0 means OA is drier than zone air
REAL(r64) :: SenOutputToZone = 0.0d0 ! Ideal Loads System sensible output to zone [W], <0 means supply is cooler than zone air
REAL(r64) :: LatOutputToZone = 0.0d0 ! Ideal Loads System latent heat output to zone [W], <0 means supply is drier than zone air
REAL(r64) :: SenCoilLoad = 0.0d0 ! Ideal Loads System sensible load on "coils" (<0 means cooling) [W]
REAL(r64) :: LatCoilLoad = 0.0d0 ! Ideal Loads System latent load on "coils" (<0 means cooling or dehumidfying) [W]
INTEGER :: OAFlowMaxCoolOutputError = 0 ! Counter for OAFlow > Max Cooling Flow error
INTEGER :: OAFlowMaxHeatOutputError = 0 ! Counter for OAFlow > Max Heating Flow error
INTEGER :: SaturationOutputError = 0 ! Counter for OAFlow > Max Heating Flow error
INTEGER :: OAFlowMaxCoolOutputIndex = 0 ! Recurring warning index for OAFlow > Max Cooling Flow error
INTEGER :: OAFlowMaxHeatOutputIndex = 0 ! Recurring warning index for OAFlow > Max Heating Flow error
INTEGER :: SaturationOutputIndex = 0 ! Recurring warning index for OAFlow > Max Heating Flow error
INTEGER :: AvailStatus = 0
INTEGER :: CoolErrIndex = 0 ! Cooling setpoint error index (recurring errors)
INTEGER :: HeatErrIndex = 0 ! Heating setpoint error index (recurring errors)
! Output variables
REAL(r64) :: SenHeatEnergy = 0.0d0 ! Sensible heating energy consumed [J]
REAL(r64) :: LatHeatEnergy = 0.0d0 ! Latent heating energy consumed [J]
REAL(r64) :: TotHeatEnergy = 0.0d0 ! Total heating energy consumed [J]
REAL(r64) :: SenCoolEnergy = 0.0d0 ! Sensible cooling energy consumed [J]
REAL(r64) :: LatCoolEnergy = 0.0d0 ! Latent cooling energy consumed [J]
REAL(r64) :: TotCoolEnergy = 0.0d0 ! Total cooling energy consumed [J]
REAL(r64) :: ZoneSenHeatEnergy = 0.0d0 ! Sensible heating energy supplied to the zone [J]
REAL(r64) :: ZoneLatHeatEnergy = 0.0d0 ! Latent heating energy supplied to the zone [J]
REAL(r64) :: ZoneTotHeatEnergy = 0.0d0 ! Total heating energy supplied to the zone [J]
REAL(r64) :: ZoneSenCoolEnergy = 0.0d0 ! Sensible cooling energy supplied to the zone [J]
REAL(r64) :: ZoneLatCoolEnergy = 0.0d0 ! Latent cooling energy supplied to the zone [J]
REAL(r64) :: ZoneTotCoolEnergy = 0.0d0 ! Total cooling energy supplied to the zone [J]
REAL(r64) :: OASenHeatEnergy = 0.0d0 ! Sensible heating energy required for OA to equal zone air [J]
REAL(r64) :: OALatHeatEnergy = 0.0d0 ! Latent heating energy required for OA to equal zone air [J]
REAL(r64) :: OATotHeatEnergy = 0.0d0 ! Total heating energy required for OA to equal zone air [J]
REAL(r64) :: OASenCoolEnergy = 0.0d0 ! Sensible cooling energy required for OA to equal zone air [J]
REAL(r64) :: OALatCoolEnergy = 0.0d0 ! Latent cooling energy required for OA to equal zone air [J]
REAL(r64) :: OATotCoolEnergy = 0.0d0 ! Total cooling energy required for OA to equal zone air [J]
REAL(r64) :: HtRecSenHeatEnergy = 0.0d0 ! Sensible heating energy from heat reocovery [J]
REAL(r64) :: HtRecLatHeatEnergy = 0.0d0 ! Latent heating energy from heat reocovery [J]
REAL(r64) :: HtRecTotHeatEnergy = 0.0d0 ! Total heating energy from heat reocovery [J]
REAL(r64) :: HtRecSenCoolEnergy = 0.0d0 ! Sensible cooling energy from heat reocovery [J]
REAL(r64) :: HtRecLatCoolEnergy = 0.0d0 ! Latent cooling energy from heat reocovery [J]
REAL(r64) :: HtRecTotCoolEnergy = 0.0d0 ! Total cooling energy from heat reocovery [J]
REAL(r64) :: SenHeatRate = 0.0d0 ! Sensible heating rate consumed [W]
REAL(r64) :: LatHeatRate = 0.0d0 ! Latent heating rate consumed [W]
REAL(r64) :: TotHeatRate = 0.0d0 ! Total heating rate consumed [W]
REAL(r64) :: SenCoolRate = 0.0d0 ! Sensible cooling rate consumed [W]
REAL(r64) :: LatCoolRate = 0.0d0 ! Latent cooling rate consumed [W]
REAL(r64) :: TotCoolRate = 0.0d0 ! Total cooling rate consumed [W]
REAL(r64) :: ZoneSenHeatRate = 0.0d0 ! Sensible heating rate supplied to the zone [W]
REAL(r64) :: ZoneLatHeatRate = 0.0d0 ! Latent heating rate supplied to the zone [W]
REAL(r64) :: ZoneTotHeatRate = 0.0d0 ! Total heating rate supplied to the zone [W]
REAL(r64) :: ZoneSenCoolRate = 0.0d0 ! Sensible cooling rate supplied to the zone [W]
REAL(r64) :: ZoneLatCoolRate = 0.0d0 ! Latent cooling rate supplied to the zone [W]
REAL(r64) :: ZoneTotCoolRate = 0.0d0 ! Total cooling rate supplied to the zone [W]
REAL(r64) :: OASenHeatRate = 0.0d0 ! Sensible heating rate required for OA to equal zone air [W]
REAL(r64) :: OALatHeatRate = 0.0d0 ! Latent heating rate required for OA to equal zone air [W]
REAL(r64) :: OATotHeatRate = 0.0d0 ! Total heating rate required for OA to equal zone air [W]
REAL(r64) :: OASenCoolRate = 0.0d0 ! Sensible cooling rate required for OA to equal zone air [W]
REAL(r64) :: OALatCoolRate = 0.0d0 ! Latent cooling rate required for OA to equal zone air [W]
REAL(r64) :: OATotCoolRate = 0.0d0 ! Total cooling rate required for OA to equal zone air [W]
REAL(r64) :: HtRecSenHeatRate = 0.0d0 ! Sensible heating rate from heat reocovery [W]
REAL(r64) :: HtRecLatHeatRate = 0.0d0 ! Latent heating rate from heat reocovery [W]
REAL(r64) :: HtRecTotHeatRate = 0.0d0 ! Total heating rate from heat reocovery [W]
REAL(r64) :: HtRecSenCoolRate = 0.0d0 ! Sensible cooling rate from heat reocovery [W]
REAL(r64) :: HtRecLatCoolRate = 0.0d0 ! Latent cooling rate from heat reocovery [W]
REAL(r64) :: HtRecTotCoolRate = 0.0d0 ! Total cooling rate from heat reocovery [W]
REAL(r64) :: TimeEconoActive = 0.0d0 ! Time economizer is active [hrs]
REAL(r64) :: TimeHtRecActive = 0.0d0 ! Time heat reocovery is active [hrs]
END TYPE ZonePurchasedAir