TYPE, PRIVATE :: RefrigSystemData
CHARACTER(len=MaxNameLength) :: Name=' ' ! Name of refrigeration system
CHARACTER(len=MaxNameLength) :: RefrigerantName=' ' ! Name of refrigerant, must match name in FluidName
! (see fluidpropertiesrefdata.idf)
CHARACTER(len=MaxNameLength) :: EndUseSubcategory=' ' ! Used for reporting purposes
LOGICAL :: SystemRejectHeatToZone = .FALSE. ! Flag to show air-cooled condenser located inside zone
LOGICAL :: CoilFlag = .FALSE. ! Flag to show if coil type load on system (even if below in a secondary)
INTEGER, ALLOCATABLE, DIMENSION(:) :: CascadeLoadNum ! absolute index of condensers placing load (allocated NumCondensers)
INTEGER, ALLOCATABLE, DIMENSION(:) :: CaseNum ! absolute Index of cases (allocated NumCases)
INTEGER, ALLOCATABLE, DIMENSION(:) :: CoilNum ! absolute Index of coils (allocated NumCoils)
INTEGER, ALLOCATABLE, DIMENSION(:) :: CompressorNum ! absolute Index of compressors (allocated NumCompressors)
INTEGER, ALLOCATABLE, DIMENSION(:) :: CondenserNum ! absolute Index of condensers removing load (allocated NumCondensers)
INTEGER, ALLOCATABLE, DIMENSION(:) :: GasCoolerNum ! absolute Index of gas cooler
INTEGER, ALLOCATABLE, DIMENSION(:) :: HiStageCompressorNum ! absolute Index of high-stage compressors (allocated NumHiStageCompressors)
INTEGER, ALLOCATABLE, DIMENSION(:) :: SecondaryNum ! absolute Index of seocndary loops (allocated NumSecondarys)
INTEGER, ALLOCATABLE, DIMENSION(:) :: SubcoolerNum ! Absolute Index of subcoolers (allocated NumSubcoolers)
INTEGER, ALLOCATABLE, DIMENSION(:) :: WalkInNum ! absolute Index of walk ins (allocated NumWalkIns)
INTEGER :: CompSuctControl = 2 ! Index to suction control
! 2 =fixed, 1=floating
!INTEGER :: ServiceType = 1 ! Index to warehouse or supermarket
! 1 = supermarket, 2=warehouse
INTEGER :: HiStageWarnIndex1 = 0 ! Recurring warning index when hi stage compressors unable to meet coil loads
INTEGER :: HiStageWarnIndex2 = 0 ! Recurring warning index when hi stage compressors unable to meet coil loads
INTEGER :: InsuffCapWarn = 0 ! Recurring warning index when refrigeration system unable to meet coil loads
INTEGER :: IntercoolerType = 0 ! Intercooler type (0=none, 1=flash intercooler, 2=shell-and-coil intercooler)
INTEGER :: NumCases = 0 ! Number of cases on this system
INTEGER :: NumCoils = 0 ! Number of cases on this system
INTEGER :: NumCompressors = 0 ! Number of compressors on this system for single-stage systems
! or number of low-stage compressors on this system for two-stage systems
INTEGER :: NumCondensers = 1 ! Number of condensers on this system
INTEGER :: NumGasCoolers = 0 ! Number of gas coolers on this system
INTEGER :: NumHiStageCompressors = 0 ! Number of high-stage compressors on this system (two-stage systems only)
INTEGER :: NumSecondarys = 0 ! Number of secondary loops on this system
INTEGER :: NumStages = 1 ! Number of compressor stages
INTEGER :: NumSubcoolers = 0 ! Number of subcoolers on this system
INTEGER :: NumWalkIns = 0 ! Number of walk in coolers on this system
INTEGER :: NumMechSCServed = 0 ! Number of mech subcoolers served/powered by compressor/cond on this system
INTEGER :: NumNonCascadeLoads= 0 ! Sum of NumCases, NumWalk-Ins, NumCoils, and NumSecondarys
INTEGER :: NumCascadeLoads= 0 ! Number of cascade condensers cooled by this system
INTEGER :: NumTransferLoads = 0 ! Sum of NumCascadeLoads and NumSecondarys
INTEGER :: RefIndex = 0 ! Index number of refrigerant, automatically assigned on first call to fluid property
! and used thereafter
INTEGER :: SuctionPipeActualZoneNum = 0 ! ID number for zone where suction pipes gain heat
INTEGER :: SuctionPipeZoneNodeNum = 0 ! ID number for zone node where suction pipes gain heat
REAL(r64), ALLOCATABLE, DIMENSION(:) :: MechSCLoad ! Mechanical subcooler load on system from other systems(W)
REAL(r64) :: AverageCompressorCOP=0.0d0 ! Average COP for compressers on this system (W)
REAL(r64) :: CpSatLiqCond = 0.0d0 ! Spec Heat of sat liquid at condensing pressure (J/kg-C)
REAL(r64) :: CpSatVapEvap = 0.0d0 ! Spec Heat of saturated vapor exiting evaporator (J/kg-C)
REAL(r64) :: FlowRatioIntercooler = 0.0d0 ! Refrigerant mass flow ratio through coil-side of shell-and-coil intercooler
REAL(r64) :: HCaseIn = 0.0d0 ! Case inlet enthalpy (after subcoolers and pipe P drops) (J/kg)
REAL(r64) :: HCompIn = 0.0d0 ! Compressor inlet enthalpy (J/kg)
REAL(r64) :: HCompOut = 0.0d0 ! Compressor outlet enthalpy (J/kg)
REAL(r64) :: HSatLiqCond = 0.0d0 ! Enthalpy of sat liquid at condensing pressure (J/kg)
REAL(r64) :: HCaseOut = 0.0d0 ! Enthalpy of refrigerant leaving cases, after superheat (J/kg)
REAL(r64) :: IntercoolerEffectiveness=0.0d0 ! Shell-and-coil intercooler effectiveness
REAL(r64) :: LSHXTrans = 0.0d0 ! Liquid suction subcooler load transferred within same suction group, W
REAL(r64) :: LSHXTransEnergy = 0.0d0 ! Liquid suction subcooler load transferred within same suction group, J
REAL(r64) :: NetHeatRejectLoad = 0.0d0 ! Portion of TotalCondenser load due to this system (after heat recovery) W
REAL(r64) :: NetHeatRejectEnergy = 0.0d0 ! Portion of TotalCondenser energy due to this system (after heat recovery) J
REAL(r64) :: Pintercooler = 0.0d0 ! Pressure in the intercooler (two-stage systems only) (Pa)
REAL(r64) :: PipeHeatLoad = 0.0d0 ! Total suction pipe heat gains, optional (W)
REAL(r64) :: PipeHeatEnergy = 0.0d0 ! Total suction pipe heat gains, optional (J)
REAL(r64) :: RefMassFlowtoLoads=0.0d0 ! Total system refrigerant mass flow through cases(kg/s)
REAL(r64) :: RefMassFlowComps=0.0d0 ! Total system refrigerant mass flow through compressors(kg/s)
REAL(r64) :: RefMassFlowHiStageComps=0.0d0 ! Total system refrigerant mass flow through high-stage compressors(two-stage systems only) (kg/s)
REAL(r64) :: RefInventory=0.0d0 ! Approximate refrigerant inventory entered by user (kg)
REAL(r64) :: SumMechSCLoad = 0.0d0 ! Total cooling load of all mech subcoolers served by suction group (W)
REAL(r64) :: SumMechSCBenefit= 0.0d0 ! Total cooling provided by mech subcoolers cooling liquid condensate in this system (W)
REAL(r64) :: SumCascadeCondCredit = 0.0d0 ! Sum of cond cred for hot brine/gas defrost on cases etc served by
! cascade condenser cooled by this system (W)
REAL(r64) :: SumCascadeLoad = 0.0d0 ! Total cooling load of all cascade condensers served by suction group (W)
REAL(r64) :: SumSecondaryLoopLoad = 0.0d0 ! Total cooling loads for all secondary loops served by this suction group (W)
REAL(r64) :: SumUASuctionPiping =0.0d0 ! Sum of U*A for system suction piping (W/C)
REAL(r64) :: TCaseOut = 0.0d0 ! Case out temperature including case superheat (C)
REAL(r64) :: TCondense = 0.0d0 ! Condensing temperature (Tsat for P discharge) (C)
REAL(r64) :: TCompIn = 0.0d0 ! Compressor inlet temperature (after case and LSHX superheat and pipe delta P) (C)
REAL(r64) :: TCondenseMin = 0.d0 ! Minimum allowed condensing temperature (C)
REAL(r64) :: TCondenseMinInput = 0.d0 ! Minimum allowed condensing temperature, user's original input value (C)
LOGICAL :: EMSOverrideOnTCondenseMin = .FALSE. ! if true, EMS is calling to override minimum allowed condensing temperature
REAL(r64) :: EMSOverrideValueTCondenseMin = 0.d0 ! value to use when EMS override is true [C]
REAL(r64) :: TEvapDesign = 0.0d0 ! Min (on sys) design case/walkin/secondary evap temp
! (also basis for floating evap T calc) (C)
REAL(r64) :: TEvapNeeded = 0.0d0 ! Max Case evap temperature to maintain lowest case T on system (C)
REAL(r64) :: Tintercooler = 0.0d0 ! Temperature in the intercooler (two-stage systems only) (Pa)
REAL(r64) :: TLiqInActual = 0.0d0 ! Actual liquid temperature entering TXV after subcooling (C)
REAL(r64) :: TotalCondDefrostCredit=0.0d0 ! sum of heat reclaimed for hot gas and hot brine defrost for
! cases/WI/sec served directly [W]
REAL(r64) :: TotalCoolingEnergy=0.0d0 ! Total energy of all refrigerated cases and walkins served directly (J)
REAL(r64) :: TotalCoolingLoad=0.0d0 ! Total load of all refrigerated cases and walkins served directly (W)
REAL(r64) :: TotalSystemLoad = 0.0d0 ! Includes cases, walk-ins, and transfer loads (cascade, second, subcooler), W
REAL(r64) :: TotCompPower=0.0d0 ! Total power for compressers on this system (for single-stage systems) or
! total power for low-stage compressors on this system (for two-stage systems) (W)
REAL(r64) :: TotCompElecConsump=0.0d0 ! Total Elec consump for compressers on this system (for single-stage systems) or
! total elec consump for low-stage compressors on this system (for two-stage systems) (J)
REAL(r64) :: TotCompCapacity=0.0d0 ! Total design capacity for compressers on this system (for single-stage systems) or
! total design capacity for low-stage compressors on this system (for two-stage systems) (W)
REAL(r64) :: TotCompCoolingEnergy=0.0d0 ! Total cooling energy from compressers on this system (for single-stage systems) or
! total cooling energy from low-stage compressors on this system (for two-stage systems) (J)
REAL(r64) :: TotHiStageCompCapacity=0.0d0 ! Total design capacity for high-stage compressers on this system (two-stage systems only) (W)
REAL(r64) :: TotHiStageCompCoolingEnergy=0.0d0 ! Total cooling energy from high-stage compressers on this system (two-stage systems only) (J)
REAL(r64) :: TotHiStageCompElecConsump=0.0d0 ! Total Elec consump for high-stage compressers on this system (two-stage systems only) (J)
REAL(r64) :: TotHiStageCompPower=0.0d0 ! Total power for high-stage compressers on this system (two-stage systems only) (W)
REAL(r64) :: TotCompElecConsumpTwoStage=0.0d0 ! Total Elec consump for the low- and high-stage compressors on this system (two-stage systems only) (J)
REAL(r64) :: TotRejectHeatRecovered = 0.0d0 ! Total reject heat recovered for hot gas or hot brine defrost or
! desuperheater coils (W)
REAL(r64) :: TotTransferLoad = 0.0d0 ! Total load from other systems transferred to this sytem, incl mech subcoolers,
! cascade, and secondary loops (W)
REAL(r64) :: TotTransferEnergy= 0.0d0 ! Total energy from other systems transferred to this sytem, incl mech subcoolers,
! cascade, and secondary loops (J)
REAL(r64) :: UnmetEnergy=0.0d0 ! Accumulative loads unmet by total compressors (for single-stage systems) or
! by low-stage compressors (for two-stage systems) on this system (J)
REAL(r64) :: UnmetHiStageEnergy=0.0d0 ! Accumulative loads unmet by total high-stage compressors (two-stage systems only) on this system (J)
REAL(r64) :: UnmetEnergySaved=0.0d0 ! Accumulative loads unmet by total compressors (for single-stage systems) on this system (J)
END TYPE RefrigSystemData