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 FillRemainingPredefinedEntries
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Jason Glazer
          !       DATE WRITTEN   May 2007
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          !   Just before writing the output reports, will gather up
          !   any additional report entries for the predefined reports.
          ! METHODOLOGY EMPLOYED:
          !   na
USE DataHeatBalance,   ONLY: Zone, TotLights, Lights, ZonePreDefRep, ZnAirRpt, BuildingPreDefRep, People, NumPeopleStatements
USE ExteriorEnergyUse, ONLY: ExteriorLights, NumExteriorLights, ScheduleOnly, AstroClockOverride
USE ScheduleManager,   ONLY: ScheduleAverageHoursPerWeek, GetScheduleName
USE DataEnvironment,   ONLY: RunPeriodStartDayOfWeek,CurrentYearIsLeapYear
USE DataHeatBalance,   ONLY: ZoneIntGain
USE DataHVACGlobals,   ONLY: NumPrimaryAirSys
USE DataOutputs,       ONLY: iNumberOfRecords,iNumberOfDefaultedFields,iTotalFieldsWithDefaults,  &
       iNumberOfAutosizedFields,iTotalAutoSizableFields,iNumberOfAutoCalcedFields,iTotalAutoCalculatableFields
USE ZonePlenum,        ONLY: NumZoneReturnPlenums, NumZoneSupplyPlenums
USE DataEnvironment,   ONLY : EnvironmentName, WeatherFileLocationTitle
USE DataErrorTracking, ONLY: TotalSevereErrors, TotalWarningErrors
USE General, ONLY: RoundSigDigits
USE DataAirflowNetwork,  ONLY : SimulateAirflowNetwork,AirflowNetworkControlMultizone,AirflowNetworkControlMultiADS
IMPLICIT NONE
          ! SUBROUTINE ARGUMENT DEFINITIONS:
          ! na
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: iLight
INTEGER :: zonePt
INTEGER :: iZone
INTEGER :: jPeople
REAL(r64) :: totalVolume = 0.0d0
INTEGER :: numUncondZones = 0
INTEGER :: numCondZones = 0
INTEGER :: StartOfWeek
REAL(r64) :: HrsPerWeek = 0.0d0
REAL(r64) :: consumptionTotal
REAL(r64) :: convertJtoGJ
! sensible heat gain report totals
REAL(r64) :: totalHvacHt = 0.0d0
REAL(r64) :: totalHvacCl = 0.0d0
REAL(r64) :: totalSurfHt = 0.0d0
REAL(r64) :: totalSurfCl = 0.0d0
REAL(r64) :: totalPeoplAdd = 0.0d0
REAL(r64) :: totalLiteAdd = 0.0d0
REAL(r64) :: totalEquipAdd = 0.0d0
REAL(r64) :: totalWindAdd = 0.0d0
REAL(r64) :: totalIzaAdd = 0.0d0
REAL(r64) :: totalInfilAdd = 0.0d0
REAL(r64) :: totalOtherAdd = 0.0d0
REAL(r64) :: totalEquipRem = 0.0d0
REAL(r64) :: totalWindRem = 0.0d0
REAL(r64) :: totalIzaRem = 0.0d0
REAL(r64) :: totalInfilRem = 0.0d0
REAL(r64) :: totalOtherRem = 0.0d0
convertJtoGJ = 1.0d0/1000000000.0d0
StartOfWeek = RunPeriodStartDayOfWeek
IF (StartOfWeek .EQ. 0) StartOfWeek = 2 !if the first day of the week has not been set yet, assume monday
!Interior Connected Lighting Power
consumptionTotal = 0.0d0
DO iLight = 1, TotLights
  zonePt = Lights(iLight)%ZonePtr
  IF (Zone(zonePt)%SystemZoneNodeNumber .GT. 0) THEN                                           !conditioned y/n
    CALL PreDefTableEntry(pdchInLtCond,Lights(iLight)%Name,'Y')
  ELSE
    CALL PreDefTableEntry(pdchInLtCond,Lights(iLight)%Name,'N')
  END IF
  CALL PreDefTableEntry(pdchInLtAvgHrSchd,Lights(iLight)%Name,ScheduleAverageHoursPerWeek(Lights(iLight)%SchedPtr, &
                                                                          StartOfWeek,CurrentYearIsLeapYear))
  ! average operating hours per week
  IF (gatherElapsedTimeBEPS .GT. 0) THEN
    HrsPerWeek = 24 * 7 * Lights(iLight)%SumTimeNotZeroCons/gatherElapsedTimeBEPS
    CALL PreDefTableEntry(pdchInLtAvgHrOper,Lights(iLight)%Name,HrsPerWeek)
  END IF
  ! full load hours per week
  IF ((Lights(iLight)%DesignLevel * gatherElapsedTimeBEPS) .GT. 0) THEN
    HrsPerWeek = 24 * 7 * Lights(iLight)%SumConsumption/(Lights(iLight)%DesignLevel * gatherElapsedTimeBEPS * SecInHour)
    CALL PreDefTableEntry(pdchInLtFullLoadHrs,Lights(iLight)%Name,HrsPerWeek)
  END IF
  CALL PreDefTableEntry(pdchInLtConsump,Lights(iLight)%Name,Lights(iLight)%SumConsumption/1000000000.d0)
  consumptionTotal = consumptionTotal + Lights(iLight)%SumConsumption/1000000000.d0
END DO
CALL PreDefTableEntry(pdchInLtConsump,'Interior Lighting Total',consumptionTotal)
!Exterior Lighting
consumptionTotal = 0.0d0
DO iLight = 1, NumExteriorLights
  IF (ExteriorLights(iLight)%ControlMode .EQ. 1) THEN                          !photocell/schedule
    CALL PreDefTableEntry(pdchExLtAvgHrSchd,ExteriorLights(iLight)%Name,ScheduleAverageHoursPerWeek( &
                           ExteriorLights(iLight)%SchedPtr, StartOfWeek,CurrentYearIsLeapYear))
  END IF
  ! average operating hours per week
  IF (gatherElapsedTimeBEPS .GT. 0) THEN
    HrsPerWeek = 24 * 7 * ExteriorLights(iLight)%SumTimeNotZeroCons/gatherElapsedTimeBEPS
    CALL PreDefTableEntry(pdchExLtAvgHrOper,ExteriorLights(iLight)%Name,HrsPerWeek)
  END IF
  ! full load hours per week
  IF ((ExteriorLights(iLight)%DesignLevel * gatherElapsedTimeBEPS) .GT. 0) THEN
    HrsPerWeek = 24 * 7 * ExteriorLights(iLight)%SumConsumption/  &
       (ExteriorLights(iLight)%DesignLevel * gatherElapsedTimeBEPS * SecInHour)
    CALL PreDefTableEntry(pdchExLtFullLoadHrs,ExteriorLights(iLight)%Name,HrsPerWeek)
  END IF
  CALL PreDefTableEntry(pdchExLtConsump,ExteriorLights(iLight)%Name,ExteriorLights(iLight)%SumConsumption/1000000000.d0)
  consumptionTotal = consumptionTotal + ExteriorLights(iLight)%SumConsumption/1000000000.d0
END DO
CALL PreDefTableEntry(pdchExLtConsump,'Exterior Lighting Total',consumptionTotal)
!outside air ventilation
DO iZone = 1, NumOfZones
  IF (Zone(iZone)%SystemZoneNodeNumber .GE. 0) THEN !conditioned zones only
    IF (Zone(iZone)%isNominalOccupied) THEN
      !occupants
      IF (ZonePreDefRep(iZone)%NumOccAccumTime .GT. 0) THEN
        CALL PreDefTableEntry(pdchOaoAvgNumOcc1, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%NumOccAccum / ZonePreDefRep(iZone)%NumOccAccumTime)
        CALL PreDefTableEntry(pdchOaoAvgNumOcc2, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%NumOccAccum / ZonePreDefRep(iZone)%NumOccAccumTime)
      END IF
      !Mechanical ventilation
      IF (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0) THEN
        CALL PreDefTableEntry(pdchOaoAvgMechVent, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%MechVentVolTotal / (ZonePreDefRep(iZone)%TotTimeOcc * Zone(iZone)%volume &
                      * Zone(iZone)%Multiplier * Zone(iZone)%ListMultiplier),3)
      END IF
      IF ((Zone(iZone)%volume .GT. 0) .AND. (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0)) THEN
        CALL PreDefTableEntry(pdchOaoMinMechVent, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%MechVentVolMin / Zone(iZone)%volume * Zone(iZone)%Multiplier * Zone(iZone)%ListMultiplier,3)
      END IF
      !infiltration
      IF (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0) THEN
        CALL PreDefTableEntry(pdchOaoAvgInfil, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%InfilVolTotal / (ZonePreDefRep(iZone)%TotTimeOcc * Zone(iZone)%volume),3)
      END IF
      IF ((Zone(iZone)%volume .GT. 0) .AND. (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0)) THEN
        CALL PreDefTableEntry(pdchOaoMinInfil, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%InfilVolMin / Zone(iZone)%volume,3)
      END IF
      !AFN infiltration -- check that afn sim is being done.
      if (SimulateAirflowNetwork .lt. AirflowNetworkControlMultizone) then
        ZonePreDefRep(iZone)%AFNInfilVolMin =0.0d0
        ZonePreDefRep(iZone)%AFNInfilVolTotal = 0.0d0
        If (.NOT. (SimulateAirflowNetwork == AirflowNetworkControlMultizone .OR. &
                   SimulateAirflowNetwork == AirflowNetworkControlMultiADS)) THEN
          ZonePreDefRep(iZone)%AFNInfilVolMin =0.0d0
          ZonePreDefRep(iZone)%AFNInfilVolTotal = 0.0d0
        endif
      endif
      IF (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0) THEN
        CALL PreDefTableEntry(pdchOaoAvgAFNInfil, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%AFNInfilVolTotal / (ZonePreDefRep(iZone)%TotTimeOcc * Zone(iZone)%volume),3)
      END IF
      IF ((Zone(iZone)%volume .GT. 0) .AND. (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0)) THEN
        CALL PreDefTableEntry(pdchOaoMinAFNInfil, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%AFNInfilVolMin / Zone(iZone)%volume,3)
      END IF
      !simple 'ZoneVentilation'
      IF (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0) THEN
        CALL PreDefTableEntry(pdchOaoAvgSimpVent, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%SimpVentVolTotal / (ZonePreDefRep(iZone)%TotTimeOcc * Zone(iZone)%volume),3)
      END IF
      IF ((Zone(iZone)%volume .GT. 0) .AND. (ZonePreDefRep(iZone)%TotTimeOcc .GT. 0)) THEN
        CALL PreDefTableEntry(pdchOaoMinSimpVent, Zone(iZone)%Name, &
          ZonePreDefRep(iZone)%SimpVentVolMin / Zone(iZone)%volume,3)
      END IF
      !Zone volume
      CALL PreDefTableEntry(pdchOaoZoneVol1, Zone(iZone)%Name, Zone(iZone)%Volume)
      CALL PreDefTableEntry(pdchOaoZoneVol2, Zone(iZone)%Name, Zone(iZone)%Volume)
      totalVolume = totalVolume + Zone(iZone)%Volume
    END IF
  END IF
END DO
! Add the number of central air distributions system to the count report
CALL PreDefTableEntry(pdchHVACcntVal, 'HVAC Air Loops',NumPrimaryAirSys)
! Add the number of conditioned and unconditioned zones to the count report
DO iZone = 1, NumOfZones
  IF (Zone(iZone)%SystemZoneNodeNumber .GT. 0) THEN !conditioned zones only
    numCondZones = numCondZones + 1
  ELSE
    numUncondZones = numUncondZones + 1
  END IF
END DO
CALL PreDefTableEntry(pdchHVACcntVal, 'Conditioned Zones',numCondZones)
CALL PreDefTableEntry(pdchHVACcntVal, 'Unconditioned Zones',numUncondZones)
!add the number of plenums to the count report
CALL PreDefTableEntry(pdchHVACcntVal, 'Supply Plenums',NumZoneSupplyPlenums)
CALL PreDefTableEntry(pdchHVACcntVal, 'Return Plenums',NumZoneReturnPlenums)
! Started to create a total row but did not fully implement
!CALL PreDefTableEntry(pdchOaoZoneVol1,'Total OA Avg', totalVolume)
!CALL PreDefTableEntry(pdchOaoZoneVol2,'Total OA Min', totalVolume)
! Add footnote saying if it is a design day or other kind of environment
! Field counts
CALL PreDefTableEntry(pdchFieldCntVal,'IDF Objects',iNumberOfRecords)
CALL PreDefTableEntry(pdchFieldCntVal,'Defaulted Fields',iNumberOfDefaultedFields)
CALL PreDefTableEntry(pdchFieldCntVal,'Fields with Defaults',iTotalFieldsWithDefaults)
CALL PreDefTableEntry(pdchFieldCntVal,'Autosized Fields',iNumberOfAutosizedFields)
CALL PreDefTableEntry(pdchFieldCntVal,'Autosizable Fields',iTotalAutoSizableFields)
CALL PreDefTableEntry(pdchFieldCntVal,'Autocalculated Fields',iNumberOfAutoCalcedFields)
CALL PreDefTableEntry(pdchFieldCntVal,'Autocalculatable Fields',iTotalAutoCalculatableFields)
DO iZone = 1, NumOfZones
  !annual
  CALL PreDefTableEntry(pdchSHGSAnHvacHt,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnHvacHt * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnHvacCl,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnHvacCl * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnSurfHt,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnSurfHt * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnSurfCl,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnSurfCl * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnPeoplAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnPeoplAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnLiteAdd,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnLiteAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnEquipAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnEquipAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnWindAdd,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnWindAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnIzaAdd,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnIzaAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnInfilAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnInfilAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnOtherAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnOtherAdd * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnEquipRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnEquipRem * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnWindRem,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnWindRem * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnIzaRem,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnIzaRem * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnInfilRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnInfilRem * convertJtoGJ,3)
  CALL PreDefTableEntry(pdchSHGSAnOtherRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSAnOtherRem * convertJtoGJ,3)
  !peak cooling
  CALL PreDefTableEntry(pdchSHGSClTimePeak, Zone(iZone)%Name, DateToString(ZonePreDefRep(iZone)%clPtTimeStamp))
  CALL PreDefTableEntry(pdchSHGSClHvacHt,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClHvacHt)
  CALL PreDefTableEntry(pdchSHGSClHvacCl,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClHvacCl)
  CALL PreDefTableEntry(pdchSHGSClSurfHt,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClSurfHt)
  CALL PreDefTableEntry(pdchSHGSClSurfCl,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClSurfCl)
  CALL PreDefTableEntry(pdchSHGSClPeoplAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClPeoplAdd)
  CALL PreDefTableEntry(pdchSHGSClLiteAdd,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClLiteAdd)
  CALL PreDefTableEntry(pdchSHGSClEquipAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClEquipAdd)
  CALL PreDefTableEntry(pdchSHGSClWindAdd,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClWindAdd)
  CALL PreDefTableEntry(pdchSHGSClIzaAdd,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClIzaAdd)
  CALL PreDefTableEntry(pdchSHGSClInfilAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClInfilAdd)
  CALL PreDefTableEntry(pdchSHGSClOtherAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClOtherAdd)
  CALL PreDefTableEntry(pdchSHGSClEquipRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClEquipRem)
  CALL PreDefTableEntry(pdchSHGSClWindRem,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClWindRem)
  CALL PreDefTableEntry(pdchSHGSClIzaRem,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClIzaRem)
  CALL PreDefTableEntry(pdchSHGSClInfilRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClInfilRem)
  CALL PreDefTableEntry(pdchSHGSClOtherRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSClOtherRem)
  !peak heating
  CALL PreDefTableEntry(pdchSHGSHtTimePeak, Zone(iZone)%Name, DateToString(ZonePreDefRep(iZone)%htPtTimeStamp))
  CALL PreDefTableEntry(pdchSHGSHtHvacHt,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtHvacHt)
  CALL PreDefTableEntry(pdchSHGSHtHvacCl,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtHvacCl)
  CALL PreDefTableEntry(pdchSHGSHtSurfHt,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtSurfHt)
  CALL PreDefTableEntry(pdchSHGSHtSurfCl,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtSurfCl)
  CALL PreDefTableEntry(pdchSHGSHtPeoplAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtPeoplAdd)
  CALL PreDefTableEntry(pdchSHGSHtLiteAdd,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtLiteAdd)
  CALL PreDefTableEntry(pdchSHGSHtEquipAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtEquipAdd)
  CALL PreDefTableEntry(pdchSHGSHtWindAdd,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtWindAdd)
  CALL PreDefTableEntry(pdchSHGSHtIzaAdd,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtIzaAdd)
  CALL PreDefTableEntry(pdchSHGSHtInfilAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtInfilAdd)
  CALL PreDefTableEntry(pdchSHGSHtOtherAdd, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtOtherAdd)
  CALL PreDefTableEntry(pdchSHGSHtEquipRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtEquipRem)
  CALL PreDefTableEntry(pdchSHGSHtWindRem,  Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtWindRem)
  CALL PreDefTableEntry(pdchSHGSHtIzaRem,   Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtIzaRem)
  CALL PreDefTableEntry(pdchSHGSHtInfilRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtInfilRem)
  CALL PreDefTableEntry(pdchSHGSHtOtherRem, Zone(iZone)%Name, ZonePreDefRep(iZone)%SHGSHtOtherRem)
END DO
!totals for annual report
DO iZone = 1, NumOfZones
  totalHvacHt = totalHvacHt + ZonePreDefRep(iZone)%SHGSAnHvacHt
  totalHvacCl = totalHvacCl + ZonePreDefRep(iZone)%SHGSAnHvacCl
  totalSurfHt = totalSurfHt + ZonePreDefRep(iZone)%SHGSAnSurfHt
  totalSurfCl = totalSurfCl + ZonePreDefRep(iZone)%SHGSAnSurfCl
  totalPeoplAdd = totalPeoplAdd + ZonePreDefRep(iZone)%SHGSAnPeoplAdd
  totalLiteAdd = totalLiteAdd + ZonePreDefRep(iZone)%SHGSAnLiteAdd
  totalEquipAdd = totalEquipAdd + ZonePreDefRep(iZone)%SHGSAnEquipAdd
  totalWindAdd = totalWindAdd + ZonePreDefRep(iZone)%SHGSAnWindAdd
  totalIzaAdd = totalIzaAdd + ZonePreDefRep(iZone)%SHGSAnIzaAdd
  totalInfilAdd = totalInfilAdd + ZonePreDefRep(iZone)%SHGSAnInfilAdd
  totalOtherAdd = totalOtherAdd + ZonePreDefRep(iZone)%SHGSAnOtherAdd
  totalEquipRem = totalEquipRem + ZonePreDefRep(iZone)%SHGSAnEquipRem
  totalWindRem = totalWindRem + ZonePreDefRep(iZone)%SHGSAnWindRem
  totalIzaRem = totalIzaRem + ZonePreDefRep(iZone)%SHGSAnIzaRem
  totalInfilRem = totalInfilRem + ZonePreDefRep(iZone)%SHGSAnInfilRem
  totalOtherRem = totalOtherRem + ZonePreDefRep(iZone)%SHGSAnOtherRem
END DO
CALL PreDefTableEntry(pdchSHGSAnHvacHt,   'Total Facility', totalHvacHt * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnHvacCl,   'Total Facility', totalHvacCl * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnSurfHt,   'Total Facility', totalSurfHt * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnSurfCl,   'Total Facility', totalSurfCl * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnPeoplAdd, 'Total Facility', totalPeoplAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnLiteAdd,  'Total Facility', totalLiteAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnEquipAdd, 'Total Facility', totalEquipAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnWindAdd,  'Total Facility', totalWindAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnIzaAdd,   'Total Facility', totalIzaAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnInfilAdd, 'Total Facility', totalInfilAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnOtherAdd, 'Total Facility', totalOtherAdd * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnEquipRem, 'Total Facility', totalEquipRem * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnWindRem,  'Total Facility', totalWindRem * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnIzaRem,   'Total Facility', totalIzaRem * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnInfilRem, 'Total Facility', totalInfilRem * convertJtoGJ,3)
CALL PreDefTableEntry(pdchSHGSAnOtherRem, 'Total Facility', totalOtherRem * convertJtoGJ,3)
! building level results for peak cooling
CALL PreDefTableEntry(pdchSHGSClTimePeak, 'Total Facility', DateToString(BuildingPreDefRep%clPtTimeStamp))
CALL PreDefTableEntry(pdchSHGSClHvacHt,   'Total Facility', BuildingPreDefRep%SHGSClHvacHt)
CALL PreDefTableEntry(pdchSHGSClHvacCl,   'Total Facility', BuildingPreDefRep%SHGSClHvacCl)
CALL PreDefTableEntry(pdchSHGSClSurfHt,   'Total Facility', BuildingPreDefRep%SHGSClSurfHt)
CALL PreDefTableEntry(pdchSHGSClSurfCl,   'Total Facility', BuildingPreDefRep%SHGSClSurfCl)
CALL PreDefTableEntry(pdchSHGSClPeoplAdd, 'Total Facility', BuildingPreDefRep%SHGSClPeoplAdd)
CALL PreDefTableEntry(pdchSHGSClLiteAdd,  'Total Facility', BuildingPreDefRep%SHGSClLiteAdd)
CALL PreDefTableEntry(pdchSHGSClEquipAdd, 'Total Facility', BuildingPreDefRep%SHGSClEquipAdd)
CALL PreDefTableEntry(pdchSHGSClWindAdd,  'Total Facility', BuildingPreDefRep%SHGSClWindAdd)
CALL PreDefTableEntry(pdchSHGSClIzaAdd,   'Total Facility', BuildingPreDefRep%SHGSClIzaAdd)
CALL PreDefTableEntry(pdchSHGSClInfilAdd, 'Total Facility', BuildingPreDefRep%SHGSClInfilAdd)
CALL PreDefTableEntry(pdchSHGSClOtherAdd, 'Total Facility', BuildingPreDefRep%SHGSClOtherAdd)
CALL PreDefTableEntry(pdchSHGSClEquipRem, 'Total Facility', BuildingPreDefRep%SHGSClEquipRem)
CALL PreDefTableEntry(pdchSHGSClWindRem,  'Total Facility', BuildingPreDefRep%SHGSClWindRem)
CALL PreDefTableEntry(pdchSHGSClIzaRem,   'Total Facility', BuildingPreDefRep%SHGSClIzaRem)
CALL PreDefTableEntry(pdchSHGSClInfilRem, 'Total Facility', BuildingPreDefRep%SHGSClInfilRem)
CALL PreDefTableEntry(pdchSHGSClOtherRem, 'Total Facility', BuildingPreDefRep%SHGSClOtherRem)
! building level results for peak heating
CALL PreDefTableEntry(pdchSHGSHtTimePeak, 'Total Facility', DateToString(BuildingPreDefRep%htPtTimeStamp))
CALL PreDefTableEntry(pdchSHGSHtHvacHt,   'Total Facility', BuildingPreDefRep%SHGSHtHvacHt)
CALL PreDefTableEntry(pdchSHGSHtHvacCl,   'Total Facility', BuildingPreDefRep%SHGSHtHvacCl)
CALL PreDefTableEntry(pdchSHGSHtSurfHt,   'Total Facility', BuildingPreDefRep%SHGSHtSurfHt)
CALL PreDefTableEntry(pdchSHGSHtSurfCl,   'Total Facility', BuildingPreDefRep%SHGSHtSurfCl)
CALL PreDefTableEntry(pdchSHGSHtPeoplAdd, 'Total Facility', BuildingPreDefRep%SHGSHtPeoplAdd)
CALL PreDefTableEntry(pdchSHGSHtLiteAdd,  'Total Facility', BuildingPreDefRep%SHGSHtLiteAdd)
CALL PreDefTableEntry(pdchSHGSHtEquipAdd, 'Total Facility', BuildingPreDefRep%SHGSHtEquipAdd)
CALL PreDefTableEntry(pdchSHGSHtWindAdd,  'Total Facility', BuildingPreDefRep%SHGSHtWindAdd)
CALL PreDefTableEntry(pdchSHGSHtIzaAdd,   'Total Facility', BuildingPreDefRep%SHGSHtIzaAdd)
CALL PreDefTableEntry(pdchSHGSHtInfilAdd, 'Total Facility', BuildingPreDefRep%SHGSHtInfilAdd)
CALL PreDefTableEntry(pdchSHGSHtOtherAdd, 'Total Facility', BuildingPreDefRep%SHGSHtOtherAdd)
CALL PreDefTableEntry(pdchSHGSHtEquipRem, 'Total Facility', BuildingPreDefRep%SHGSHtEquipRem)
CALL PreDefTableEntry(pdchSHGSHtWindRem,  'Total Facility', BuildingPreDefRep%SHGSHtWindRem)
CALL PreDefTableEntry(pdchSHGSHtIzaRem,   'Total Facility', BuildingPreDefRep%SHGSHtIzaRem)
CALL PreDefTableEntry(pdchSHGSHtInfilRem, 'Total Facility', BuildingPreDefRep%SHGSHtInfilRem)
CALL PreDefTableEntry(pdchSHGSHtOtherRem, 'Total Facility', BuildingPreDefRep%SHGSHtOtherRem)
! LEED Report
!
! 1.1A-General Information
!CALL PreDefTableEntry(pdchLeedGenData,'Principal Heating Source','-')
IF (EnvironmentName == WeatherFileLocationTitle) THEN
  CALL PreDefTableEntry(pdchLeedGenData,'Weather File',TRIM(EnvironmentName))
ELSE
  CALL PreDefTableEntry(pdchLeedGenData,'Weather File',TRIM(EnvironmentName)//' ** '//TRIM(WeatherFileLocationTitle))
ENDIF
!CALL PreDefTableEntry(pdchLeedGenData,'Climate Zone','-')
!CALL PreDefTableEntry(pdchLeedGenData,'Heating Degree Days','-')
!CALL PreDefTableEntry(pdchLeedGenData,'Cooling Degree Days','-')
CALL PreDefTableEntry(pdchLeedGenData,'HDD and CDD data source','Weather File Stat')
CALL PreDefTableEntry(pdchLeedGenData,'Total gross floor area [m2]','-')
END SUBROUTINE FillRemainingPredefinedEntries