Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
SUBROUTINE GetWrapperInput
! SUBROUTINE INFORMATION:
! AUTHOR: Yunzhi Huang and Daeho Kang, PNNL
! DATE WRITTEN: Feb 2013
! PURPOSE OF THIS SUBROUTINE:
! This routine will get the input required by the Wrapper model.
! METHODOLOGY EMPLOYED:
!
! REFERENCES: na
! USE STATEMENTS:
USE InputProcessor, ONLY: GetNumObjectsFound, GetObjectItem, VerifyName, SameString,FindItemInList
USE DataIPShortCuts
USE BranchNodeConnections, ONLY: TestCompSet,SetUpCompSets
USE NodeInputManager, ONLY: GetOnlySingleNode
USE CurveManager, ONLY: GetCurveIndex
USE DataGlobals, ONLY: ScheduleAlwaysOn
USE CurveManager, ONLY: CurveValue
USE ScheduleManager, ONLY: GetScheduleIndex
USE DataSizing, ONLY: Autosize
USE InputProcessor, ONLY: MakeUPPERCase
USE General, ONLY: TrimSigDigits, RoundSigDigits
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! PARAMETERS
! na
! LOCAL VARIABLES
CHARACTER(len=MaxNameLength) :: CompName = '' ! component name
CHARACTER(len=MaxNameLength) :: temp_char ! temporary character variable
CHARACTER(len=MaxNameLength) :: temp_char1 ! temporary character variable
CHARACTER(len=MaxNameLength) :: temp_char2 ! temporary character variable
CHARACTER(len=MaxNameLength) :: EvapInletNodeName ! virtual evaporator inlet node name for chiller heater
CHARACTER(len=MaxNameLength) :: EvapOutletNodeName ! virtual evaporator outlet node name for chiller heater
CHARACTER(len=MaxNameLength) :: CondInletNodeName ! virtual condenser inlet node name for chiller heater
CHARACTER(len=MaxNameLength) :: CondOutletNodeName ! virtual condenser outlet node name for chiller heater
CHARACTER(len=MaxNameLength) :: LoadsideInletNodeName ! virtual load inlet node name for heat pump
CHARACTER(len=MaxNameLength) :: LoadsideOutletNodeName ! virtual load outlet node name for heat pump
CHARACTER(len=MaxNameLength) :: SourcesideInletNodeName ! virtual source inlet node name for heat pump
CHARACTER(len=MaxNameLength) :: SourcesideOutletNodeName ! virtual source outlet node name for heat pump
CHARACTER(len=MaxNameLength) :: DummyInletNodeName ! virtual dummy inlet node name
CHARACTER(len=MaxNameLength) :: DummyOutletNodeName ! virtual dummy inlet node name
LOGICAL, SAVE :: ErrorsFound = .false. ! True when input errors are found
LOGICAL :: IsNotOK ! Flag to verify name
LOGICAL :: IsBlank ! Flag for blank name
LOGICAL, SAVE :: AllocatedFlag = .FALSE. ! True when arrays are allocated
LOGICAL, SAVE :: CHAllocatedFlag = .FALSE. ! True when arrays are allocated
LOGICAL, SAVE :: HPAllocatedFlag = .FALSE. ! True when arrays are allocated
LOGICAL, SAVE :: CHDEAllocatedFlag = .FALSE. ! True when arrays are allocated
LOGICAL, SAVE :: HPDEAllocatedFlag = .FALSE. ! True when arrays are allocated
INTEGER :: NumAlphas ! Number of elements in the alpha array
INTEGER :: NumNums ! Number of elements in the numeric array
INTEGER :: IOStat ! IO Status when calling get input subroutine
INTEGER :: i_CH ! chiller heater index pointer
INTEGER :: i_HP ! heat pump index pointer
INTEGER :: WrapperNum = 0 ! wrapper number
INTEGER :: NumberOfComp = 0 ! number of components under each wrapper
INTEGER :: comp = 0 ! an index number for input all the components
INTEGER :: loop = 0 ! an index number for read in all the parameters of a component
INTEGER :: CompIndex = 0 ! component index in the sequence of internal input array
INTEGER :: NumCHFound = 0 ! number of Chiller heaters found in internal array
INTEGER :: NumHPFound = 0 ! number of heat pump found in the internal array
INTEGER :: TotalNumCH = 0 ! total number of chiller heaters (with identical multiplier)
INTEGER :: TotalNumHP = 0 ! total number of heat pumps (with identical multiplier)
INTEGER :: NumChillerheaters = 0 ! total number of chiller heater (without identical multiplier)
INTEGER :: ChillerHeaterNum = 1 ! chiller heater index pointer for current wrapper object
INTEGER :: HeatPumpNum = 1 ! heat pump index pointer
INTEGER :: NumChHtrPerWrapper = 0 ! total number of chiller heaters (including identical units) per wrapper
IF (AllocatedFlag) RETURN
cCurrentModuleObject = 'CentralHeatPumpSystem'
NumWrappers = GetNumObjectsFound(cCurrentModuleObject)
IF (NumWrappers <= 0) THEN
CALL ShowSevereError('No '//TRIM(cCurrentModuleObject)//' equipment specified in input file')
ErrorsFound=.true.
END IF
! ALLOCATE ARRAYS
ALLOCATE (Wrapper(NumWrappers))
ALLOCATE (WrapperReport(NumWrappers))
ALLOCATE (CheckEquipName(NumWrappers))
CheckEquipName = .TRUE.
AllocatedFlag = .TRUE.
! Load arrays with electric EIR chiller data
DO WrapperNum = 1 , NumWrappers
CALL GetObjectItem(cCurrentModuleObject,WrapperNum,cAlphaArgs,NumAlphas, &
rNumericArgs,NumNums,IOSTAT,AlphaBlank=lAlphaFieldBlanks, &
AlphaFieldnames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)
Wrapper(WrapperNum)%Name = cAlphaArgs(1)
! intialize nth chiller heater index (including identical units) for current wrapper
NumChHtrPerWrapper = 0
IsNotOK=.false.
IsBlank=.false.
CALL VerifyName(cAlphaArgs(1),Wrapper%Name,WrapperNum-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
IF (IsNotOK) THEN
ErrorsFound=.true.
IF (IsBlank) cAlphaArgs(1)='xxxxx'
CYCLE
END IF
IF (cAlphaArgs(2) == 'SMARTMIXING') THEN
Wrapper(WrapperNum)%ControlMode = SmartMixing
END IF
Wrapper(WrapperNum)%CHWInletNodeNum = & !node name : connection should be careful!
GetOnlySingleNode(cAlphaArgs(3),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
NodeType_Water,NodeConnectionType_Inlet, 1, ObjectIsNotParent)
Wrapper(WrapperNum)%CHWOutletNodeNum = &
GetOnlySingleNode(cAlphaArgs(4),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
NodeType_Water,NodeConnectionType_Outlet, 1, ObjectIsNotParent)
CALL TestCompSet(TRIM(cCurrentModuleObject),cAlphaArgs(1),cAlphaArgs(3),cAlphaArgs(4),'Chilled Water Nodes')
Wrapper(WrapperNum)%GLHEInletNodeNum = & !node name : connection should be careful!
GetOnlySingleNode(cAlphaArgs(5),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
NodeType_Water,NodeConnectionType_Inlet, 2, ObjectIsNotParent)
Wrapper(WrapperNum)%GLHEOutletNodeNum = &
GetOnlySingleNode(cAlphaArgs(6),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
NodeType_Water,NodeConnectionType_Outlet, 2, ObjectIsNotParent)
CALL TestCompSet(TRIM(cCurrentModuleObject),cAlphaArgs(1),cAlphaArgs(5),cAlphaArgs(6),'GLHE Nodes')
Wrapper(WrapperNum)%HWInletNodeNum = & !node name : connection should be careful!
GetOnlySingleNode(cAlphaArgs(7),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
NodeType_Water,NodeConnectionType_Inlet, 3, ObjectIsNotParent)
Wrapper(WrapperNum)%HWOutletNodeNum = &
GetOnlySingleNode(cAlphaArgs(8),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
NodeType_Water,NodeConnectionType_Outlet, 3, ObjectIsNotParent)
CALL TestCompSet(TRIM(cCurrentModuleObject),cAlphaArgs(1),cAlphaArgs(7),cAlphaArgs(8),'Hot Water Nodes')
Wrapper(WrapperNum)%AncilliaryPower = rNumericArgs(1)
Wrapper(WrapperNum)%AncilliaryPwSchedule = cAlphaArgs(9)
IF (lAlphaFieldBlanks(9)) THEN
Wrapper(WrapperNum)%SchedPtr = 0
ELSE
Wrapper(WrapperNum)%SchedPtr = GetScheduleIndex(cAlphaArgs(9))
END IF
NumberOfComp = (NumAlphas-9)/3
Wrapper(WrapperNum)%NumOfComp = NumberOfComp
ALLOCATE(Wrapper(WrapperNum)%WrapperComp(NumberOfComp))
IF (Wrapper(WrapperNum)%NumOfComp == 0) THEN
CALL ShowSevereError('GetWrapperInput: No component names on '// &
TRIM(cCurrentModuleObject)//'='//TRIM(Wrapper(WrapperNum)%Name))
ErrorsFound=.true.
ELSE
Comp=0
DO Loop=10,NumAlphas,3
Comp = Comp + 1
Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperPerformanceObjectType=cAlphaArgs(Loop)
Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperComponentName=cAlphaArgs(Loop+1)
Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperPerformanceObjectSch=cAlphaArgs(Loop+2)
IF (lAlphaFieldBlanks(Loop+2)) THEN
Wrapper(WrapperNum)%WrapperComp(Comp)%CHSchedPtr = ScheduleAlwaysOn
ELSE
Wrapper(WrapperNum)%WrapperComp(Comp)%CHSchedPtr = GetScheduleIndex(cAlphaArgs(Loop+2))
END IF
Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperIdenticalObjectNum=rNumericArgs(1+Comp)
IF (Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperPerformanceObjectType == &
MakeUPPERCase('ChillerHeaterPerformance:Electric:EIR')) THEN
! count number of chiller heaters (including identical units) for current wrapper
IF (Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperIdenticalObjectNum > 1) THEN
NumChHtrPerWrapper = NumChHtrPerWrapper+Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperIdenticalObjectNum
ELSE
NumChHtrPerWrapper = NumChHtrPerWrapper+1
END IF
! count total number of chiller heaters (not including identical units) for ALL wrappers
NumChillerheaters = NumChillerheaters + 1
END IF
END DO
Wrapper(WrapperNum)%ChillerHeaterNums = NumChHtrPerWrapper
END IF
IF (ErrorsFound) THEN
CALL ShowFatalError('GetWrapperInput: Invalid '//TRIM(cCurrentModuleObject)// &
' Input, preceding condition(s) cause termination.')
ENDIF
! ALLOCATE ARRAYS
IF ((NumChillerheaters == 0) .AND. (Wrapper(WrapperNum)%ControlMode == SmartMixing)) THEN
CALL ShowFatalError('SmartMixing Control Mode in object '//TRIM(cCurrentModuleObject)//' : ' &
//TRIM(Wrapper(WrapperNum)%Name)//' need to apply to ChillerHeaterPerformance:Electric:EIR object(s).')
ENDIF
END DO
IF (NumChillerHeaters>0) THEN
IF (CHAllocatedFlag) RETURN
DO WrapperNum = 1 , NumWrappers
ALLOCATE (Wrapper(WrapperNum)%Chillerheater(Wrapper(WrapperNum)%ChillerHeaterNums))
ALLOCATE (Wrapper(WrapperNum)%ChillerheaterReport(Wrapper(WrapperNum)%ChillerHeaterNums))
END DO
CALL GetChillerheaterInput
CHAllocatedFlag = .TRUE.
END IF
DO WrapperNum = 1 , NumWrappers
ChillerHeaterNum = 0 ! intialize nth chiller heater index (including identical units) for current wrapper
DO comp=1, Wrapper(WrapperNum)%NumOfComp
IF (Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperPerformanceObjectType == &
MakeUPPERCase('ChillerHeaterPerformance:Electric:EIR')) THEN
CompName=Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperComponentName
CompIndex = FindItemInList(CompName,Chillerheater%Name,UBound(Chillerheater%Name,1) )
! User may enter invalid name rather than selecting one from the object list
IF (CompIndex <= 0) THEN
CALL ShowSevereError('GetWrapperInput: Invalid Chiller Heater Modules Performance Component Name =' //TRIM(compname))
CALL ShowContinueError('Select the name of ChillerHeaterPerformance:Electric:EIR object(s) from the object list.')
CALL ShowFatalError('Program terminates due to preceding condition.')
ENDIF
Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperPerformanceObjectIndex=CompIndex
IF (Chillerheater(CompIndex)%VariableFlow) THEN
Wrapper(WrapperNum)%VariableFlowCH = .TRUE.
END IF
DO i_CH=1 , Wrapper(WrapperNum)%WrapperComp(Comp)%WrapperIdenticalObjectNum
! increment nth chiller heater index (including identical units) for current wrapper
ChillerHeaterNum = ChillerHeaterNum+1
Wrapper(WrapperNum)%ChillerHeater(ChillerHeaterNum) = Chillerheater(CompIndex)
Wrapper(WrapperNum)%ChillerHeaterReport(ChillerHeaterNum) = ChillerheaterReport(CompIndex)
END DO
ENDIF
END DO
END DO
!Release memory from temporary arrays; values now copied into their associated Wrapper in above loop
IF (ALLOCATED(Chillerheater)) DEALLOCATE(Chillerheater)
IF (ALLOCATED(ChillerheaterReport)) DEALLOCATE(ChillerheaterReport)
!Set up output variables
DO WrapperNum = 1 , NumWrappers
CALL SetupOutputVariable('Chiller Heater System Cooling Electric Energy [J]', &
WrapperReport(WrapperNum)%TotElecCooling,'System','Sum',Wrapper(WrapperNum)%Name, &
ResourceTypeKey='ELECTRICITY',EndUseKey='Cooling',GroupKey='Plant')
CALL SetupOutputVariable('Chiller Heater System Heating Electric Energy [J]', &
WrapperReport(WrapperNum)%TotElecHeating,'System','Sum',Wrapper(WrapperNum)%Name, &
ResourceTypeKey='ELECTRICITY',EndUseKey='Heating',GroupKey='Plant')
CALL SetupOutputVariable('Chiller Heater System Cooling Electric Power [W]', &
WrapperReport(WrapperNum)%TotElecCoolingPwr, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Heating Electric Power [W]', &
WrapperReport(WrapperNum)%TotElecHeatingPwr,'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Cooling Energy [J]', &
WrapperReport(WrapperNum)%CoolingEnergy, 'System','Sum',Wrapper(WrapperNum)%Name, &
ResourceTypeKey='ENERGYTRANSFER',EndUseKey='CHILLERS',GroupKey='Plant')
CALL SetupOutputVariable('Chiller Heater System Heating Energy [J]', &
WrapperReport(WrapperNum)%HeatingEnergy,'System','Sum',Wrapper(WrapperNum)%Name, &
ResourceTypeKey='ENERGYTRANSFER',EndUseKey='BOILER',GroupKey='Plant')
CALL SetupOutputVariable('Chiller Heater System Source Heat Transfer Energy [J]', &
WrapperReport(WrapperNum)%GLHEEnergy,'System','Sum',Wrapper(WrapperNum)%Name, &
ResourceTypeKey='ENERGYTRANSFER',EndUseKey='HEATREJECTION',GroupKey='Plant')
CALL SetupOutputVariable('Chiller Heater System Cooling Rate [W]', &
WrapperReport(WrapperNum)%CoolingRate, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Heating Rate [W]', &
WrapperReport(WrapperNum)%HeatingRate,'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Source Heat Transfer Rate [W]', &
WrapperReport(WrapperNum)%GLHERate,'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Cooling Mass Flow Rate [kg/s]', &
WrapperReport(WrapperNum)%CHWmdot, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Heating Mass Flow Rate [kg/s]', &
WrapperReport(WrapperNum)%HWmdot, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Source Mass Flow Rate [kg/s]', &
WrapperReport(WrapperNum)%GLHEmdot, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Cooling Inlet Temperature [C]', &
WrapperReport(WrapperNum)%CHWInletTemp, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Heating Inlet Temperature [C]', &
WrapperReport(WrapperNum)%HWInletTemp, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Source Inlet Temperature [C]', &
WrapperReport(WrapperNum)%GLHEInletTemp, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Cooling Outlet Temperature [C]', &
WrapperReport(WrapperNum)%CHWOutletTemp, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Heating Outlet Temperature [C]', &
WrapperReport(WrapperNum)%HWOutletTemp, 'System','Average',Wrapper(WrapperNum)%Name)
CALL SetupOutputVariable('Chiller Heater System Source Outlet Temperature [C]', &
WrapperReport(WrapperNum)%GLHEOutletTemp, 'System','Average',Wrapper(WrapperNum)%Name)
IF (Wrapper(WrapperNum)%ChillerHeaterNums > 0) THEN
DO ChillerHeaterNum = 1, Wrapper(WrapperNum)%ChillerHeaterNums
CALL SetupOutputVariable('Chiller Heater Operation Mode Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' []', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%CurrentMode,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Part Load Ratio Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' []', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerPartLoadRatio, &
'System','Average',Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Cycling Ratio Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' []', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerCyclingRatio, &
'System','Average',Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Cooling Electric Power Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [W]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%CoolingPower,'System','Average', &
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Heating Electric Power Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [W]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%HeatingPower,'System','Average', &
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Cooling Electric Energy Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [J]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%CoolingEnergy,'System','Sum', &
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Heating Electric Energy Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [J]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%HeatingEnergy,'System','Sum', &
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Cooling Rate Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [W]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%QEvap,'System','Average', &
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Cooling Energy Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [J]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%EvapEnergy,'System','Sum', &
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater False Load Heat Transfer Rate Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [W]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerFalseLoadRate, &
'System','Average',Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater False Load Heat Transfer Energy Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [J]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerFalseLoad,'System','Sum',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Evaporator Inlet Temperature Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [C]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%EvapInletTemp,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Evaporator Outlet Temperature Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [C]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%EvapOutletTemp,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Evaporator Mass Flow Rate Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [kg/s]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%Evapmdot,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Condenser Heat Transfer Rate Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [W]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%QCond,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Condenser Heat Transfer Energy Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [J]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%CondEnergy,'System','Sum',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater COP Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [W/W]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ActualCOP,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Capacity Temperature Modifier Multiplier Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' []', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerCapFT,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater EIR Temperature Modifier Multiplier Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' []', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerEIRFT,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater EIR Part Load Modifier Multiplier Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' []', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%ChillerEIRFPLR,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Condenser Inlet Temperature Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [C]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%CondInletTemp,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Condenser Outlet Temperature Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [C]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%CondOutletTemp,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
CALL SetupOutputVariable('Chiller Heater Condenser Mass Flow Rate Unit '// &
TRIM(TrimSigDigits(ChillerHeaterNum))//' [kg/s]', &
Wrapper(WrapperNum)%ChillerheaterReport(ChillerHeaterNum)%Condmdot,'System','Average',&
Wrapper(WrapperNum)%Chillerheater(ChillerHeaterNum)%Name)
END DO ! End of individual chiller heater count for current wrapper
END IF ! End of individual chiller heater output
END DO ! End of wrapper count
RETURN
END SUBROUTINE GetWrapperInput