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