TYPE AirLoopControlData ! Derived type for air control information
CHARACTER(len=MaxNameLength) :: OACtrlName = ' '! name of OA controller
INTEGER :: OACtrlNum = 0 ! index of OA controller
LOGICAL :: CyclingFan=.FALSE. ! TRUE if currently the air loop supply fan is cycling
LOGICAL :: AnyContFan=.FALSE. ! TRUE if at any time supply fan is continuous
INTEGER :: CycFanSchedPtr =0 ! index of schedule indicating whether fan is cycling or continuous in a unitary system
INTEGER :: FanOpMode =0 ! 1=cycling fan cycling compressor; 2=constant fan cycling comptressor
LOGICAL :: UnitarySys =.FALSE. ! TRUE if a unitary system
LOGICAL :: UnitarySysSimulating = .TRUE. ! set FALSE for AirloopUnitarySystem after simulating to downstream coils can size independently
LOGICAL :: Simple =.false. ! TRUE if system has 1 branch and 1 component
LOGICAL :: CanNotLockoutEcono =.false. ! user input says econo lockout not allowed
LOGICAL :: CanLockoutEconoWithHeating =.false. ! user input says econo lockout with heating is allowed
LOGICAL :: CanLockoutEconoWithCompressor=.false. ! user input says econo lockout with compressor is allowed
LOGICAL :: ReqstEconoLockoutWithHeating =.false. ! there is a request to lockout the economizer due to heating
LOGICAL :: ReqstEconoLockoutWithCompressor=.false. ! there is a request to lockout the economizer due to compressor operation
LOGICAL :: EconoActive =.false. ! if true economizer is active
LOGICAL :: HeatRecoveryBypass=.false. ! if true heat recovery is bypassed (not active)
LOGICAL :: ResimAirLoopFlag = .FALSE. ! Same as SimAir, will trigger re-sim of air loops
LOGICAL :: HeatRecoveryResimFlag = .TRUE. ! Used to trigger new air loop sim when HX is used in OA system
LOGICAL :: HeatRecoveryResimFlag2 = .FALSE. ! Used to trigger new air loop sim when HX is used in OA system
LOGICAL :: CheckHeatRecoveryBypassStatus=.false. ! determines when heat recovery bypass is set
LOGICAL :: EconomizerFlowLocked = .false. ! locks economizer flow for custon ERV operation
LOGICAL :: HighHumCtrlActive =.false. ! if true high humidity control is active
LOGICAL :: EconoLockout =.false. ! if true the economizer will be locked out (OA flow set to minimum)
LOGICAL :: LoopFlowRateSet =.false. ! if true then the air loop flow rate should be set using ReqSupplyFrac
LOGICAL :: NightVent =.false. ! if true then air loop is in night ventilation mode
LOGICAL :: AllowWarmRestartFlag = .FALSE. ! if true then speculative warm restart is attempted after first HVAC iteration
LOGICAL :: NewFlowRateFlag =.FALSE. ! true whenever the air mass flow rates have changed since last air loop sim
LOGICAL :: ConvergedFlag =.FALSE. ! true whenever the air loop sim was converged overall
LOGICAL :: CoolingActiveFlag =.FALSE. ! true whenever the air loop cooling coil is operating
LOGICAL :: HeatingActiveFlag =.FALSE. ! true whenever the air loop heating coil is operating
LOGICAL :: OASysComponentsSimulated = .FALSE. !- true after OA components have been simulated
LOGICAL :: AirLoopDCVFlag =.true. ! TRUE if the air loop has OA Controller specifying a Mechanical controller with DCV
! - internal flag only
END TYPE AirLoopControlData