SUBROUTINE SizeVRF(VRFTUNum)
! SUBROUTINE INFORMATION:
! AUTHOR Richard Raustad, FSEC
! DATE WRITTEN August 2010
! MODIFIED August 2013 Daeho Kang, add component sizing table entries
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine is for sizing VRF Components for which inputs have not been
! specified in the input.
! METHODOLOGY EMPLOYED:
! Obtains flow rates from the zone or system sizing arrays.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataSizing
USE CurveManager, ONLY: CurveValue
USE DXCoils, ONLY: GetDXCoilCap=>GetCoilCapacityByIndexType
USE ReportSizingManager, ONLY: ReportSizingOutput
USE General, ONLY: RoundSigDigits
USE PlantUtilities, ONLY: RegisterPlantCompDesignFlow
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
Integer, Intent(IN) :: VRFTUNum
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
LOGICAL, ALLOCATABLE,SAVE, DIMENSION(:) :: CheckVRFCombinationRatio
LOGICAL,SAVE :: MyOneTimeFlag = .TRUE. ! One time flag used to allocate MyEnvrnFlag and MySizeFlag
LOGICAL :: FoundAll ! temporary variable used to check all terminal units
LOGICAL :: ErrFlag ! temporary variable used for error checking
REAL(r64) :: TUCoolingCapacity ! total terminal unit cooling capacity
REAL(r64) :: TUHeatingCapacity ! total terminal unit heating capacity
INTEGER :: VRFCond ! index to VRF condenser
INTEGER :: TUListNum ! index to terminal unit list
INTEGER :: TUIndex ! index to terminal unit
INTEGER :: NumTU ! DO Loop index counter
LOGICAL, SAVE :: MyOneTimeEIOFlag = .TRUE. ! eio header flag reporting
REAL(r64) :: OnOffAirFlowRat ! temporary variable used when sizing coils
REAL(r64) :: DXCoilCap ! capacity of DX cooling coil (W)
LOGICAL :: IsAutosize ! Indicator to autosize
REAL(r64) :: MaxCoolAirVolFlowDes ! Autosized supply air during cooling for reporting
REAL(r64) :: MaxCoolAirVolFlowUser ! Hardsized supply air during cooling for reporting
REAL(r64) :: MaxHeatAirVolFlowDes ! Autosized supply air during heating for reporting
REAL(r64) :: MaxHeatAirVolFlowUser ! Hardsized supply air during heating for reporting
REAL(r64) :: MaxNoCoolAirVolFlowDes ! Autosized supply air flow when no cooling is needed for reporting
REAL(r64) :: MaxNoCoolAirVolFlowUser ! Hardsized supply air flow when no cooling is needed for reporting
REAL(r64) :: MaxNoHeatAirVolFlowDes ! Autosized supply air flow when no heating is needed for reporting
REAL(r64) :: MaxNoHeatAirVolFlowUser ! Hardsized supply air flow when no heating is needed for reporting
REAL(r64) :: CoolOutAirVolFlowDes ! Autosized outdoor air flow during cooling for reporting
REAL(r64) :: CoolOutAirVolFlowUser ! Hardsized outdoor air flow during cooling for reporting
REAL(r64) :: HeatOutAirVolFlowDes ! Autosized outdoor air flow during heating for reporting
REAL(r64) :: HeatOutAirVolFlowUser ! Hardsized outdoor air flow during heating for reporting
REAL(r64) :: NoCoolHeatOutAirVolFlowDes ! Autosized outdoor air when unconditioned for reporting
REAL(r64) :: NoCoolHeatOutAirVolFlowUser ! Hardsized outdoor air when unconditioned for reporting
REAL(r64) :: CoolingCapacityDes ! Autosized cooling capacity for reporting
REAL(r64) :: CoolingCapacityUser ! Hardsized cooling capacity for reporting
REAL(r64) :: HeatingCapacityDes ! Autosized heating capacity for reporting
REAL(r64) :: HeatingCapacityUser ! Hardsized heating capacity for reporting
REAL(r64) :: DefrostCapacityDes ! Autosized defrost heater capacity for reporting
REAL(r64) :: DefrostCapacityUser ! Hardsized defrost heater capacity for reporting
REAL(r64) :: EvapCondAirVolFlowRateDes ! Autosized evaporative condenser flow for reporting
REAL(r64) :: EvapCondAirVolFlowRateUser ! Hardsized evaporative condenser flow for reporting
REAL(r64) :: EvapCondPumpPowerDes ! Autosized evaporative condenser pump power for reporting
REAL(r64) :: EvapCondPumpPowerUser ! Hardsized evaporative condenser pump power for reporting
VRFCond = VRFTU(VRFTUNum)%VRFSysNum
IsAutosize = .FALSE.
MaxCoolAirVolFlowDes = 0.0d0
MaxCoolAirVolFlowUser = 0.0d0
MaxHeatAirVolFlowDes = 0.0d0
MaxHeatAirVolFlowUser = 0.0d0
MaxNoCoolAirVolFlowDes = 0.0d0
MaxNoCoolAirVolFlowUser = 0.0d0
MaxNoHeatAirVolFlowDes = 0.0d0
MaxNoHeatAirVolFlowUser = 0.0d0
CoolOutAirVolFlowDes = 0.0d0
CoolOutAirVolFlowUser = 0.0d0
HeatOutAirVolFlowDes = 0.0d0
HeatOutAirVolFlowUser = 0.0d0
NoCoolHeatOutAirVolFlowDes = 0.0d0
NoCoolHeatOutAirVolFlowUser = 0.0d0
CoolingCapacityDes = 0.0d0
CoolingCapacityUser = 0.0d0
HeatingCapacityDes = 0.0d0
HeatingCapacityUser = 0.0d0
DefrostCapacityDes = 0.0d0
DefrostCapacityUser = 0.0d0
EvapCondAirVolFlowRateDes = 0.0d0
EvapCondAirVolFlowRateUser = 0.0d0
EvapCondPumpPowerDes = 0.0d0
EvapCondPumpPowerUser = 0.0d0
IF (MyOneTimeFlag) THEN
! initialize the environment and sizing flags
ALLOCATE(CheckVRFCombinationRatio(NumVRFCond))
CheckVRFCombinationRatio = .TRUE.
MyOneTimeFlag = .FALSE.
END IF
IF (VRFTU(VRFTUNum)%MaxCoolAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%MaxCoolAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]', &
VRFTU(VRFTUNum)%MaxCoolAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
MaxCoolAirVolFlowDes = MAX(FinalZoneSizing(CurZoneEqNum)%DesCoolVolFlow, &
FinalZoneSizing(CurZoneEqNum)%DesHeatVolFlow)
IF (MaxCoolAirVolFlowDes < SmallAirVolFlow) THEN
MaxCoolAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%MaxCoolAirVolFlow = MaxCoolAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate During Cooling Operation [m3/s]', MaxCoolAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%MaxCoolAirVolFlow > 0.0d0 .AND. MaxCoolAirVolFlowDes > 0.0d0) THEN
MaxCoolAirVolFlowUser = VRFTU(VRFTUNum)%MaxCoolAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate During Cooling Operation [m3/s]', MaxCoolAirVolFlowDes, &
'User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]', MaxCoolAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(MaxCoolAirVolFlowDes - MaxCoolAirVolFlowUser)/MaxCoolAirVolFlowUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Supply Air Flow Rate During Cooling Operation of '// &
TRIM(RoundSigDigits(MaxCoolAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Supply Air Flow Rate During Cooling Operation of ' // &
TRIM(RoundSigDigits(MaxCoolAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IsAutosize = .FALSE.
IF (VRFTU(VRFTUNum)%MaxHeatAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%MaxHeatAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'User-Specified Supply Air Flow Rate During Heating Operation [m3/s]', &
VRFTU(VRFTUNum)%MaxHeatAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
MaxHeatAirVolFlowDes = MAX(FinalZoneSizing(CurZoneEqNum)%DesCoolVolFlow, &
FinalZoneSizing(CurZoneEqNum)%DesHeatVolFlow)
IF (MaxHeatAirVolFlowDes < SmallAirVolFlow) THEN
MaxHeatAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%MaxHeatAirVolFlow = MaxHeatAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate During Heating Operation [m3/s]', MaxHeatAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%MaxHeatAirVolFlow > 0.0d0 .AND. MaxHeatAirVolFlowDes > 0.0d0) THEN
MaxHeatAirVolFlowUser = VRFTU(VRFTUNum)%MaxHeatAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate During Heating Operation [m3/s]', MaxHeatAirVolFlowDes, &
'User-Specified Supply Air Flow Rate During Heating Operation [m3/s]', MaxHeatAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(MaxHeatAirVolFlowDes - MaxHeatAirVolFlowUser)/MaxHeatAirVolFlowUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for' &
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Supply Air Flow Rate During Heating Operation of '// &
TRIM(RoundSigDigits(MaxHeatAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Supply Air Flow Rate During Heating Operation of ' // &
TRIM(RoundSigDigits(MaxHeatAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IsAutosize = .FALSE.
IF (VRFTU(VRFTUNum)%MaxNoCoolAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%MaxNoCoolAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]', &
VRFTU(VRFTUNum)%MaxNoCoolAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
MaxNoCoolAirVolFlowDes = VRFTU(VRFTUNum)%MaxCoolAirVolFlow
IF (MaxNoCoolAirVolFlowDes < SmallAirVolFlow) THEN
MaxNoCoolAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%MaxNoCoolAirVolFlow = MaxNoCoolAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]', MaxNoCoolAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%MaxNoCoolAirVolFlow > 0.0d0 .AND. MaxNoCoolAirVolFlowDes > 0.0d0) THEN
MaxNoCoolAirVolFlowUser = VRFTU(VRFTUNum)%MaxNoCoolAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]', MaxNoCoolAirVolFlowDes, &
'User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]', MaxNoCoolAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(MaxNoCoolAirVolFlowDes - MaxNoCoolAirVolFlowUser)/MaxNoCoolAirVolFlowUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for '&
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Supply Air Flow Rate When No Cooling is Needed of '// &
TRIM(RoundSigDigits(MaxNoCoolAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Supply Air Flow Rate When No Cooling is Needed of ' // &
TRIM(RoundSigDigits(MaxNoCoolAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IsAutosize = .FALSE.
IF (VRFTU(VRFTUNum)%MaxNoHeatAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%MaxNoHeatAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]', &
VRFTU(VRFTUNum)%MaxNoHeatAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
MaxNoHeatAirVolFlowDes = VRFTU(VRFTUNum)%MaxHeatAirVolFlow
IF (MaxNoHeatAirVolFlowDes < SmallAirVolFlow) THEN
MaxNoHeatAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%MaxNoHeatAirVolFlow = MaxNoHeatAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]', MaxNoHeatAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%MaxNoHeatAirVolFlow > 0.0d0 .AND. MaxNoHeatAirVolFlowDes > 0.0d0) THEN
MaxNoHeatAirVolFlowUser = VRFTU(VRFTUNum)%MaxNoHeatAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]', MaxNoHeatAirVolFlowDes, &
'User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]', MaxNoHeatAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(MaxNoHeatAirVolFlowDes - MaxNoHeatAirVolFlowUser)/MaxNoHeatAirVolFlowUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Supply Air Flow Rate When No Heating is Needed of '// &
TRIM(RoundSigDigits(MaxNoHeatAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Supply Air Flow Rate When No Heating is Needed of ' // &
TRIM(RoundSigDigits(MaxNoHeatAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IsAutosize = .FALSE.
IF (VRFTU(VRFTUNum)%CoolOutAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%CoolOutAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'User-Specified Outdoor Air Flow Rate During Cooling Operation [m3/s]', &
VRFTU(VRFTUNum)%CoolOutAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
CoolOutAirVolFlowDes = MIN(FinalZoneSizing(CurZoneEqNum)%MinOA,VRFTU(VRFTUNum)%MaxCoolAirVolFlow)
IF (CoolOutAirVolFlowDes < SmallAirVolFlow) THEN
CoolOutAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%CoolOutAirVolFlow = CoolOutAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Outdoor Air Flow Rate During Cooling Operation [m3/s]', CoolOutAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%CoolOutAirVolFlow > 0.0d0 .AND. CoolOutAirVolFlowDes > 0.0d0) THEN
CoolOutAirVolFlowUser = VRFTU(VRFTUNum)%CoolOutAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Outdoor Air Flow Rate During Cooling Operation [m3/s]', CoolOutAirVolFlowDes, &
'User-Specified Outdoor Air Flow Rate During Cooling Operation [m3/s]', CoolOutAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(CoolOutAirVolFlowDes - CoolOutAirVolFlowUser)/CoolOutAirVolFlowUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Outdoor Air Flow Rate During Cooling Operation of '// &
TRIM(RoundSigDigits(CoolOutAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Outdoor Air Flow Rate During Cooling Operation of ' // &
TRIM(RoundSigDigits(CoolOutAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IsAutosize = .FALSE.
IF (VRFTU(VRFTUNum)%HeatOutAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%CoolOutAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Outdoor Air Flow Rate During Heating Operation [m3/s]',VRFTU(VRFTUNum)%CoolOutAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
HeatOutAirVolFlowDes = MIN(FinalZoneSizing(CurZoneEqNum)%MinOA,VRFTU(VRFTUNum)%MaxHeatAirVolFlow)
IF (HeatOutAirVolFlowDes < SmallAirVolFlow) THEN
HeatOutAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%HeatOutAirVolFlow = HeatOutAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Outdoor Air Flow Rate During Heating Operation [m3/s]', HeatOutAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%HeatOutAirVolFlow > 0.0d0 .AND. HeatOutAirVolFlowDes > 0.0d0) THEN
HeatOutAirVolFlowUser = VRFTU(VRFTUNum)%HeatOutAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Outdoor Air Flow Rate During Heating Operation [m3/s]', HeatOutAirVolFlowDes, &
'User-Specified Outdoor Air Flow Rate During Heating Operation [m3/s]', HeatOutAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(HeatOutAirVolFlowDes - HeatOutAirVolFlowUser)/HeatOutAirVolFlowUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Outdoor Air Flow Rate During Heating Operation of '// &
TRIM(RoundSigDigits(HeatOutAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Outdoor Air Flow Rate During Heating Operation of ' // &
TRIM(RoundSigDigits(HeatOutAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IsAutosize = .FALSE.
IF (VRFTU(VRFTUNum)%NoCoolHeatOutAirVolFlow == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (CurZoneEqNum > 0) THEN
IF (.NOT. IsAutosize .AND. .NOT. ZoneSizingRunDone) THEN ! Simulation continue
IF (VRFTU(VRFTUNum)%NoCoolHeatOutAirVolFlow > 0.0d0) THEN
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'User-Specified Outdoor Air Flow Rate When No Cooling or Heating is Needed [m3/s]', &
VRFTU(VRFTUNum)%NoCoolHeatOutAirVolFlow)
END IF
ELSE
CALL CheckZoneSizing(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name)
NoCoolHeatOutAirVolFlowDes = MIN(FinalZoneSizing(CurZoneEqNum)%MinOA, &
VRFTU(VRFTUNum)%HeatOutAirVolFlow, &
VRFTU(VRFTUNum)%CoolOutAirVolFlow)
IF (NoCoolHeatOutAirVolFlowDes < SmallAirVolFlow) THEN
NoCoolHeatOutAirVolFlowDes = 0.0d0
END IF
IF (IsAutosize) THEN
VRFTU(VRFTUNum)%NoCoolHeatOutAirVolFlow = NoCoolHeatOutAirVolFlowDes
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Outdoor Air Flow Rate When No Cooling or Heating is Needed [m3/s]', &
NoCoolHeatOutAirVolFlowDes)
ELSE
IF (VRFTU(VRFTUNum)%NoCoolHeatOutAirVolFlow > 0.0d0 .AND. NoCoolHeatOutAirVolFlowDes > 0.0d0) THEN
NoCoolHeatOutAirVolFlowUser = VRFTU(VRFTUNum)%NoCoolHeatOutAirVolFlow
CALL ReportSizingOutput(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num), VRFTU(VRFTUNum)%Name, &
'Design Size Outdoor Air Flow Rate When No Cooling or Heating is Needed [m3/s]', &
NoCoolHeatOutAirVolFlowDes, &
'User-Specified Outdoor Air Flow Rate When No Cooling or Heating is Needed [m3/s]', &
NoCoolHeatOutAirVolFlowUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(NoCoolHeatOutAirVolFlowDes - NoCoolHeatOutAirVolFlowUser)/NoCoolHeatOutAirVolFlowUser) &
> AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTUTypes(VRFTU(VRFTUNum)%VRFTUType_Num))//' '//TRIM(VRFTU(VRFTUNum)%Name))
CALL ShowContinueError('User-Specified Outdoor Air Flow Rate When No Cooling or Heating is Needed of '// &
TRIM(RoundSigDigits(NoCoolHeatOutAirVolFlowUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Outdoor Air Flow Rate When No Cooling or Heating is Needed of ' &
// TRIM(RoundSigDigits(NoCoolHeatOutAirVolFlowDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
END IF
END IF
IF(CheckVRFCombinationRatio(VRFCond))THEN
OnOffAirFlowRat = 1.d0
! set up the outside air data for sizing the DX coils
ZoneEqDXCoil = .TRUE.
IF (CurZoneEqNum > 0) THEN
IF (VRFTU(VRFTUNum)%CoolOutAirVolFlow > 0.0d0.OR. VRFTU(VRFTUNum)%HeatOutAirVolFlow > 0.0d0) THEN
ZoneEqSizing(CurZoneEqNum)%OAVolFlow = MAX(VRFTU(VRFTUNum)%CoolOutAirVolFlow,VRFTU(VRFTUNum)%HeatOutAirVolFlow)
ELSE
ZoneEqSizing(CurZoneEqNum)%OAVolFlow = 0.0d0
END IF
ELSE
ZoneEqSizing(CurZoneEqNum)%OAVolFlow = 0.0d0
END IF
! simulate the TU to size the coils
CALL CalcVRF(VRFTUNum,.TRUE.,0.0d0,TUCoolingCapacity,OnOffAirFlowRat)
! ZoneEqDXCoil = .FALSE.
TUCoolingCapacity = 0.0d0
TUHeatingCapacity = 0.0d0
FoundAll = .TRUE.
TUListNum = VRFTU(VRFTUNum)%TUListIndex
DO NumTU = 1, TerminalUnitList(TUListNum)%NumTUInList
TUIndex = TerminalUnitList(TUListNum)%ZoneTUPtr(NumTU)
IF(VRFTU(TUIndex)%CoolCoilIndex .GT. 0)THEN
DXCoilCap = GetDXCoilCap(VRFTU(TUIndex)%CoolCoilIndex,VRFTU(TUIndex)%DXCoolCoilType_Num,ErrFlag)
TUCoolingCapacity = TUCoolingCapacity + DXCoilCap
IF(DXCoilCap == AutoSize)THEN
FoundAll = .FALSE.
EXIT
END IF
END IF
IF(VRFTU(TUIndex)%HeatCoilIndex .GT. 0)THEN
DXCoilCap = GetDXCoilCap(VRFTU(TUIndex)%HeatCoilIndex,VRFTU(TUIndex)%DXHeatCoilType_Num,ErrFlag)
TUHeatingCapacity = TUHeatingCapacity + DXCoilCap
IF(DXCoilCap == AutoSize)THEN
FoundAll = .FALSE.
EXIT
END IF
END IF
END DO
IF(FoundAll)THEN
IsAutosize = .FALSE.
IF(VRF(VRFCond)%CoolingCapacity == Autosize)THEN
IsAutosize = .TRUE.
END IF
CoolingCapacityDes = TUCoolingCapacity
IF (IsAutosize) THEN
VRF(VRFCond)%CoolingCapacity = CoolingCapacityDes
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Rated Total Cooling Capacity (gross) [W]', CoolingCapacityDes)
ELSE
IF (VRF(VRFCond)%CoolingCapacity > 0.0d0 .AND. CoolingCapacityDes > 0.0d0) THEN
CoolingCapacityUser = VRF(VRFCond)%CoolingCapacity
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Rated Total Cooling Capacity (gross) [W]', CoolingCapacityDes, &
'User-Specified Rated Total Cooling Capacity (gross) [W]', CoolingCapacityUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(CoolingCapacityDes - CoolingCapacityUser)/CoolingCapacityUser)> AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum))//' '//TRIM(VRFTU(VRFCond)%Name))
CALL ShowContinueError('User-Specified Rated Total Cooling Capacity (gross) of '// &
TRIM(RoundSigDigits(CoolingCapacityUser,2))// ' [W]')
CALL ShowContinueError('differs from Design Size Rated Total Cooling Capacity (gross) of ' // &
TRIM(RoundSigDigits(CoolingCapacityDes,2))// ' [W]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
IF(VRF(VRFCond)%CoolingCapacity .GT. 0.0d0)THEN
VRF(VRFCond)%CoolingCombinationRatio = TUCoolingCapacity / VRF(VRFCond)%CoolingCapacity
END IF
IsAutosize = .FALSE.
IF(VRF(VRFCond)%HeatingCapacity == Autosize)THEN
IsAutosize = .TRUE.
END IF
IF(VRF(VRFCond)%LockHeatingCapacity)THEN
HeatingCapacityDes = VRF(VRFCond)%CoolingCapacity * VRF(VRFCond)%HeatingCapacitySizeRatio
ELSE
HeatingCapacityDes = TUHeatingCapacity
END IF
IF (IsAutosize) THEN
VRF(VRFCond)%HeatingCapacity = HeatingCapacityDes
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Rated Total Heating Capacity [W]', HeatingCapacityDes)
ELSE
IF (VRF(VRFCond)%HeatingCapacity > 0.0d0 .AND. HeatingCapacityDes > 0.0d0) THEN
HeatingCapacityUser = VRF(VRFCond)%HeatingCapacity
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Rated Total Heating Capacity [W]', HeatingCapacityDes, &
'User-Specified Rated Total Heating Capacity [W]', HeatingCapacityUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(HeatingCapacityDes - HeatingCapacityUser)/HeatingCapacityUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum))//' '//TRIM(VRFTU(VRFCond)%Name))
CALL ShowContinueError('User-Specified Rated Total Heating Capacity of '// &
TRIM(RoundSigDigits(HeatingCapacityUser,2))// ' [W]')
CALL ShowContinueError('differs from Design Size Rated Total Heating Capacity of ' // &
TRIM(RoundSigDigits(HeatingCapacityDes,2))// ' [W]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
IF(VRF(VRFCond)%HeatingCapacity .GT. 0.0d0)THEN
VRF(VRFCond)%HeatingCombinationRatio = TUHeatingCapacity / VRF(VRFCond)%HeatingCapacity
END IF
! calculate the piping correction factors only once
IF(VRF(VRFCond)%PCFLengthCoolPtr .GT. 0)THEN
SELECT CASE(VRF(VRFCond)%PCFLengthCoolPtrType)
CASE(BIQUADRATIC)
VRF(VRFCond)%PipingCorrectionCooling = MIN(1.0d0,MAX(0.5d0,CurveValue(VRF(VRFCond)%PCFLengthCoolPtr, &
VRF(VRFCond)%EquivPipeLngthCool,VRF(VRFCond)%CoolingCombinationRatio) + &
VRF(VRFCond)%VertPipeLngth * VRF(VRFCond)%PCFHeightCool))
CASE DEFAULT
VRF(VRFCond)%PipingCorrectionCooling = MIN(1.0d0,MAX(0.5d0,CurveValue(VRF(VRFCond)%PCFLengthCoolPtr, &
VRF(VRFCond)%EquivPipeLngthCool) + &
VRF(VRFCond)%VertPipeLngth * VRF(VRFCond)%PCFHeightCool))
END SELECT
ELSE
VRF(VRFCond)%PipingCorrectionCooling = MIN(1.0d0,MAX(0.5d0,(1.0d0 + VRF(VRFCond)%VertPipeLngth*VRF(VRFCond)%PCFHeightCool)))
END IF
IF(VRF(VRFCond)%PCFLengthHeatPtr .GT. 0)THEN
SELECT CASE(VRF(VRFCond)%PCFLengthHeatPtrType)
CASE(BIQUADRATIC)
VRF(VRFCond)%PipingCorrectionHeating = MIN(1.0d0,MAX(0.5d0,CurveValue(VRF(VRFCond)%PCFLengthHeatPtr, &
VRF(VRFCond)%EquivPipeLngthHeat,VRF(VRFCond)%HeatingCombinationRatio) + &
VRF(VRFCond)%VertPipeLngth * VRF(VRFCond)%PCFHeightHeat))
CASE DEFAULT
VRF(VRFCond)%PipingCorrectionHeating = MIN(1.0d0,MAX(0.5d0,CurveValue(VRF(VRFCond)%PCFLengthHeatPtr, &
VRF(VRFCond)%EquivPipeLngthHeat) + &
VRF(VRFCond)%VertPipeLngth * VRF(VRFCond)%PCFHeightHeat))
END SELECT
ELSE
VRF(VRFCond)%PipingCorrectionHeating = MIN(1.0d0,MAX(0.5d0,(1.0d0 + VRF(VRFCond)%VertPipeLngth*VRF(VRFCond)%PCFHeightHeat)))
END IF
VRF(VRFCond)%RatedCoolingPower = VRF(VRFCond)%CoolingCapacity/VRF(VRFCond)%CoolingCOP
VRF(VRFCond)%RatedHeatingPower = VRF(VRFCond)%HeatingCapacity/VRF(VRFCond)%HeatingCOP
IF(VRF(VRFCond)%CoolCombRatioPTR .GT. 0)THEN
CoolCombinationRatio(VRFCond) = CurveValue(VRF(VRFCond)%CoolCombRatioPTR,VRF(VRFCond)%CoolingCombinationRatio)
ELSE
CoolCombinationRatio(VRFCond) = 1.0d0
END IF
IF(VRF(VRFCond)%HeatCombRatioPTR .GT. 0)THEN
HeatCombinationRatio(VRFCond) = CurveValue(VRF(VRFCond)%HeatCombRatioPTR,VRF(VRFCond)%HeatingCombinationRatio)
ELSE
HeatCombinationRatio(VRFCond) = 1.0d0
END IF
! autosize resistive defrost heater capacity
IsAutosize = .FALSE.
IF (VRF(VRFCond)%DefrostCapacity == AutoSize) THEN
IsAutosize = .TRUE.
END IF
IF (VRF(VRFCond)%DefrostStrategy == Resistive) THEN
DefrostCapacityDes = VRF(VRFCond)%CoolingCapacity
ELSE
DefrostCapacityDes = 0.d0
END IF
IF (IsAutosize) THEN
VRF(VRFCond)%DefrostCapacity = DefrostCapacityDes
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Resistive Defrost Heater Capacity', DefrostCapacityDes)
ELSE
IF (VRF(VRFCond)%DefrostCapacity > 0.0d0 .AND. DefrostCapacityDes > 0.0d0) THEN
DefrostCapacityUser = VRF(VRFCond)%DefrostCapacity
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Resistive Defrost Heater Capacity', DefrostCapacityDes, &
'User-Specified Resistive Defrost Heater Capacity', DefrostCapacityUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(DefrostCapacityDes - DefrostCapacityUser)/DefrostCapacityUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum))//' '//TRIM(VRFTU(VRFCond)%Name))
CALL ShowContinueError('User-Specified Resistive Defrost Heater Capacity of '// &
TRIM(RoundSigDigits(DefrostCapacityUser,2))// ' [W]')
CALL ShowContinueError('differs from Design Size Resistive Defrost Heater Capacity of ' // &
TRIM(RoundSigDigits(DefrostCapacityDes,2))// ' [W]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
IsAutosize = .FALSE.
IF (VRF(VRFCond)%EvapCondAirVolFlowRate == AutoSize) THEN
IsAutosize = .TRUE.
END IF
! Auto size condenser air flow to Total Capacity * 0.000114 m3/s/w (850 cfm/ton)
EvapCondAirVolFlowRateDes = VRF(VRFCond)%CoolingCapacity*0.000114d0
IF (IsAutosize) THEN
VRF(VRFCond)%EvapCondAirVolFlowRate = EvapCondAirVolFlowRateDes
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Evaporative Condenser Air Flow Rate [m3/s]', EvapCondAirVolFlowRateDes)
ELSE
IF (VRF(VRFCond)%EvapCondAirVolFlowRate > 0.0d0 .AND. EvapCondAirVolFlowRateDes > 0.0d0) THEN
EvapCondAirVolFlowRateUser = VRF(VRFCond)%EvapCondAirVolFlowRate
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Evaporative Condenser Air Flow Rate [m3/s]', EvapCondAirVolFlowRateDes, &
'User-Specified Evaporative Condenser Air Flow Rate [m3/s]', EvapCondAirVolFlowRateUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(EvapCondAirVolFlowRateDes - EvapCondAirVolFlowRateUser)/EvapCondAirVolFlowRateUser) &
> AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum))//' '//TRIM(VRFTU(VRFCond)%Name))
CALL ShowContinueError('User-Specified Evaporative Condenser Air Flow Rate of '// &
TRIM(RoundSigDigits(EvapCondAirVolFlowRateUser,5))// ' [m3/s]')
CALL ShowContinueError('differs from Design Size Evaporative Condenser Air Flow Rate of ' // &
TRIM(RoundSigDigits(EvapCondAirVolFlowRateDes,5))// ' [m3/s]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
IsAutosize = .FALSE.
IF (VRF(VRFCond)%EvapCondPumpPower == AutoSize) THEN
IsAutosize = .TRUE.
END IF
! Auto size evap condenser pump power to Total Capacity * 0.004266 w/w (15 w/ton)
EvapCondPumpPowerDes = VRF(VRFCond)%CoolingCapacity*0.004266d0
IF (IsAutosize) THEN
VRF(VRFCond)%EvapCondPumpPower = EvapCondPumpPowerDes
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Evaporative Condenser Pump Rated Power Consumption [W]', EvapCondPumpPowerDes)
ELSE
IF (VRF(VRFCond)%EvapCondPumpPower > 0.0d0 .AND. EvapCondPumpPowerDes > 0.0d0) THEN
EvapCondPumpPowerUser = VRF(VRFCond)%EvapCondPumpPower
CALL ReportSizingOutput(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum), VRF(VRFCond)%Name, &
'Design Size Evaporative Condenser Pump Rated Power Consumption [W]', EvapCondPumpPowerDes, &
'User-Specified Evaporative Condenser Pump Rated Power Consumption [W]', EvapCondPumpPowerUser)
IF (DisplayExtraWarnings) THEN
IF ((ABS(EvapCondPumpPowerDes - EvapCondPumpPowerUser)/EvapCondPumpPowerUser) > AutoVsHardSizingThreshold) THEN
CALL ShowMessage('SizeVRF: Potential issue with equipment sizing for ' &
//TRIM(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum))//' '//TRIM(VRFTU(VRFCond)%Name))
CALL ShowContinueError('User-Specified Evaporative Condenser Pump Rated Power Consumption of '// &
TRIM(RoundSigDigits(EvapCondPumpPowerUser,2))// ' [W]')
CALL ShowContinueError('differs from Design Size Evaporative Condenser Pump Rated Power Consumption of ' // &
TRIM(RoundSigDigits(EvapCondPumpPowerDes,2))// ' [W]')
CALL ShowContinueError('This may, or may not, indicate mismatched component sizes.')
CALL ShowContinueError('Verify that the value entered is intended and is consistent with other components.')
END IF
ENDIF
END IF
END IF
! Report to eio other information not related to autosizing
IF(MyOneTimeEIOFlag)THEN
WRITE(OutputFileInits, 990)
MyOneTimeEIOFlag = .FALSE.
END IF
WRITE(OutputFileInits, 991) TRIM(cVRFTypes(VRF(VRFCond)%VRFSystemTypeNum)), TRIM(VRF(VRFCond)%Name), &
TRIM(RoundSigDigits(VRF(VRFCond)%CoolingCombinationRatio,5)), &
TRIM(RoundSigDigits(VRF(VRFCond)%HeatingCombinationRatio,5)), &
TRIM(RoundSigDigits(VRF(VRFCond)%PipingCorrectionCooling,5)), &
TRIM(RoundSigDigits(VRF(VRFCond)%PipingCorrectionHeating,5))
CheckVRFCombinationRatio(VRFCond) = .FALSE.
END IF
END IF
990 FORMAT('! <VRF System Information>, VRF System Type, VRF System Name, ', &
'VRF System Cooling Combination Ratio, VRF System Heating Combination Ratio, ', &
'VRF System Cooling Piping Correction Factor, VRF System Heating Piping Correction Factor')
991 FORMAT(' VRF System Information',6(', ',A))
RETURN
END SUBROUTINE SizeVRF