TYPE HeatExchCond
    CHARACTER(len=MaxNameLength) :: Name     =' '            ! name of component
    INTEGER                      :: ExchTypeNum = 0            ! Integer equivalent to ExchType
    INTEGER                      :: HeatExchPerfTypeNum = 0  ! Desiccant balanced heat exchanger performance data type num
    CHARACTER(len=MaxNameLength) :: HeatExchPerfName  = ' ' ! Desiccant balanced heat exchanger performance data name
    INTEGER :: SchedPtr=0                  ! index of schedule
    INTEGER :: FlowArr=0                   ! flow Arrangement:
                                           ! 1: COUNTER_FLOW
                                           ! 2: PARALLEL_FLOW
                                           ! 3: CROSS_FLOW_BOTH_UNMIXED
    INTEGER :: EconoLockOut       =0       ! 1: Yes;  0: No
    REAL(r64)    :: hARatio            =0.0d0     ! ratio of supply side h*A to secondary side h*A
    REAL(r64)    :: NomSupAirVolFlow   =0.0d0     ! nominal supply air volume flow rate (m3/s)
    REAL(r64)    :: NomSupAirInTemp    =0.0d0     ! nominal supply air inlet temperature (C)
    REAL(r64)    :: NomSupAirOutTemp   =0.0d0     ! nominal supply air outlet temperature (C)
    REAL(r64)    :: NomSecAirVolFlow   =0.0d0     ! nominal secondary air volume flow rate (m3/s)
    REAL(r64)    :: NomSecAirInTemp    =0.0d0     ! nominal secondary air inlet temperature (C)
    REAL(r64)    :: NomElecPower       =0.0d0     ! nominal electric power consumption [W]
    ! values describing nominal condition (derived from input parameters)
    REAL(r64)    :: UA0                =0.0d0     ! (Uavg*A) at nominal condition
    REAL(r64)    :: mTSup0             =0.0d0     ! product mDot*Tabs, supply  air, nominal cond.
    REAL(r64)    :: mTSec0             =0.0d0     ! product mDot*Tabs, exhaust air, nominal cond
    REAL(r64)    :: NomSupAirMassFlow  =0.0d0     ! nominal supply air mass flow rate (kg/s)
    REAL(r64)    :: NomSecAirMassFlow  =0.0d0     ! nominal secondary air mass flow rate (kg/s)
    ! Nodes
    INTEGER :: SupInletNode       =0       ! supply air inlet node number
    INTEGER :: SupOutletNode      =0       ! supply air outlet node number
    INTEGER :: SecInletNode       =0       ! secondary air inlet node number
    INTEGER :: SecOutletNode      =0       ! secondary air outlet node number
    ! inlet conditions
    REAL(r64)    :: SupInTemp          =0.0d0     ! supply air inlet temperature (C)
    REAL(r64)    :: SupInHumRat        =0.0d0     ! supply air inlet humidity ratio (kg water/kg dry air)
    REAL(r64)    :: SupInEnth          =0.0d0     ! supply air inlet enthalpy (J/kg)
    REAL(r64)    :: SupInMassFlow      =0.0d0     ! supply air inlet mass flow rate (kg/s)
    REAL(r64)    :: SecInTemp          =0.0d0     ! secondary air inlet temperature (C)
    REAL(r64)    :: SecInHumRat        =0.0d0     ! secondary air inlet humidity ratio (kg water/kg dry air)
    REAL(r64)    :: SecInEnth          =0.0d0     ! secondary air inlet enthalpy (J/kg)
    REAL(r64)    :: SecInMassFlow      =0.0d0     ! secondary air inlet mass flow rate (kg/s)
    ! balanced desiccant inputs
    INTEGER :: PerfDataIndex    =0            ! Performance data index allocating performance data number to heat exchanger
    REAL(r64)    :: FaceArea         =0.0d0          ! face area of balanced desiccant heat exchangers to determine face velocity [m2]
    LOGICAL :: UnbalancedWarningFlag = .TRUE. ! Used to print one-time warning when unbalanced flow exists (then set to FALSE)
    ! generic hx performance inputs
    REAL(r64)    :: HeatEffectSensible100=0.0d0           ! heating sensible effectiveness at 100% rated air flow
    REAL(r64)    :: HeatEffectSensible75 =0.0d0           ! heating sensible effectiveness at 75% rated air flow
    REAL(r64)    :: HeatEffectLatent100  =0.0d0           ! heating latent effectiveness at 100% rated air flow
    REAL(r64)    :: HeatEffectLatent75   =0.0d0           ! heating latent effectiveness at 75% rated air flow
    REAL(r64)    :: CoolEffectSensible100=0.0d0           ! cooling sensible effectiveness at 100% rated air flow
    REAL(r64)    :: CoolEffectSensible75 =0.0d0           ! cooling sensible effectiveness at 75% rated air flow
    REAL(r64)    :: CoolEffectLatent100  =0.0d0           ! cooling latent effectiveness at 100% rated air flow
    REAL(r64)    :: CoolEffectLatent75   =0.0d0           ! cooling latent effectiveness at 75% rated air flow
    INTEGER :: HeatExchEconoMode    =0             ! generic heat exchanger economize mode option
                                                   ! 1 = None, 2 = Bypass, 3 = Stop Rotary HX Rotation
    INTEGER :: ExchConfigNum        = 0            ! parameter equivalent of HX configuration, plate or rotary
    ! frost control parameters
    Character(len=MaxNameLength) :: FrostControlType=' ' ! type of frost control used if any
    REAL(r64)    :: ThresholdTemperature      =0.0d0            ! threshold temperature for frost control
    REAL(r64)    :: InitialDefrostTime        =0.0d0            ! initial defrost time
    REAL(r64)    :: RateofDefrostTimeIncrease =0.0d0            ! rate of change of defrost time
    REAL(r64)    :: DefrostFraction           =0.0d0            ! fraction of time HX is in frost control mode
    LOGICAL :: ControlToTemperatureSetpoint=.FALSE.      ! temperature control flag for generic HX
    ! outlet conditions
    REAL(r64)    :: SupOutTemp       =0.0d0       ! supply air outlet temperature (C)
    REAL(r64)    :: SupOutHumRat     =0.0d0       ! supply air outlet humidity ratio (kg water/kg dry air)
    REAL(r64)    :: SupOutEnth       =0.0d0       ! supply air outlet enthalpy (J/kg)
    REAL(r64)    :: SupOutMassFlow   =0.0d0       ! supply air outlet mass flow rate (kg/s)
    REAL(r64)    :: SecOutTemp       =0.0d0       ! secondary air outlet temperature (C)
    REAL(r64)    :: SecOutHumRat     =0.0d0       ! secondary air outlet humidity ratio (kg water/kg dry air)
    REAL(r64)    :: SecOutEnth       =0.0d0       ! secondary air outlet enthalpy (J/kg)
    REAL(r64)    :: SecOutMassFlow   =0.0d0       ! secondary air outlet mass flow rate (kg/s)
    ! report values
    REAL(r64)    :: SensHeatingRate  =0.0d0       ! rate of sensible heat being added to the supply (primary) air [W]
    REAL(r64)    :: SensHeatingEnergy=0.0d0       ! sensible heat added to the supply (primary) air [J]
    REAL(r64)    :: LatHeatingRate   =0.0d0       ! rate of latent heat being added to the supply (primary) air [W]
    REAL(r64)    :: LatHeatingEnergy =0.0d0       ! latent heat added to the supply (primary) air [J]
    REAL(r64)    :: TotHeatingRate   =0.0d0       ! rate of total heat being added to the supply (primary) air [W]
    REAL(r64)    :: TotHeatingEnergy =0.0d0       ! total heat added to the supply (primary) air [J]
    REAL(r64)    :: SensCoolingRate  =0.0d0       ! rate of sensible heat being removed from the supply (primary) air [W]
    REAL(r64)    :: SensCoolingEnergy=0.0d0       ! sensible heat removed from the supply (primary) air [J]
    REAL(r64)    :: LatCoolingRate   =0.0d0       ! rate of latent heat being removed from the supply (primary) air [W]
    REAL(r64)    :: LatCoolingEnergy =0.0d0       ! latent heat removed from the supply (primary) air [J]
    REAL(r64)    :: TotCoolingRate   =0.0d0       ! rate of total heat being removed from the supply (primary) air [W]
    REAL(r64)    :: TotCoolingEnergy =0.0d0       ! total heat removed from the supply (primary) air [J]
    REAL(r64)    :: ElecUseEnergy    =0.0d0       ! electricity consumption [J]
    REAL(r64)    :: ElecUseRate      =0.0d0       ! electricity consumption rate [W]
    REAL(r64)    :: SensEffectiveness=0.0d0       ! heat exchanger sensible effectiveness [-]
    REAL(r64)    :: LatEffectiveness =0.0d0       ! heat exchanger latent effectiveness [-]
    REAL(r64)    :: SupBypassMassFlow=0.0d0       ! supply air mass flow rate bypassing the heat exchanger [kg/s]
    REAL(r64)    :: SecBypassMassFlow=0.0d0       ! secondary air mass flow rate bypassing the heat exchanger [kg/s]
    INTEGER :: LowFlowErrCount       =0         ! Counter for recurring warning message
    INTEGER :: LowFlowErrIndex       =0         ! Index to recurring warning message
    INTEGER :: UnBalancedErrCount    =0         ! Counter for recurring warning message
    INTEGER :: UnBalancedErrIndex    =0         ! Index to recurring warning message
  END TYPE HeatExchCond