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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | IndexTypeKey |
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 GatherSourceEnergyEndUseResultsForTimestep(IndexTypeKey)
! SUBROUTINE INFORMATION:
! AUTHOR Mangesh Basarkar
! DATE WRITTEN September 2011
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This routine gathers data for producing the end uses report in source energy
! METHODOLOGY EMPLOYED:
! Uses get input structure similar to other objects
! Meter names are of two forms:
!
! <ResourceType>:<name>
! or
!
! <EndUseType>:<ResourceType>
!
! The <EndUseType> are:
! Heating
! Cooling
! InteriorLights
! ExteriorLights
! InteriorEquipment
! ExteriorEquipment
! Fans
! Pumps
! HeatRejection
! Humidifier
! HeatRecovery
! DHW
! Refrigeration
! Cogeneration
!
! The <ResourceType> are:
! Electricity 1
! Gas 2
! Gasoline 6
! Diesel 8
! Coal 9
! FuelOil#1 10
! FuelOil#2 11
! Propane 12
! Water 7
! Steam 5
! DistrictCooling 3
! DistrictHeating 4
! sourceTypeNames(1)='Electric'
! sourceTypeNames(2)='NaturalGas'
! sourceTypeNames(3)='Gasoline'
! sourceTypeNames(4)='Diesel'
! sourceTypeNames(5)='Coal'
! sourceTypeNames(6)='FuelOil#1'
! sourceTypeNames(7)='FuelOil#2'
! sourceTypeNames(8)='Propane'
! sourceTypeNames(9)='PurchasedElectric'
! sourceTypeNames(10)='SoldElectric'
! sourceTypeNames(11)='OtherFuel1'
! sourceTypeNames(12)='OtherFuel2'
! REFERENCES:
! na
! USE STATEMENTS:
USE OutputProcessor, ONLY: EndUseCategory
USE DataStringGlobals, ONLY: CharComma, CharTab, CharSpace
USE ScheduleManager, ONLY: GetCurrentScheduleValue
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: IndexTypeKey ! What kind of data to update (Zone, HVAC)
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: iResource
INTEGER :: jEndUse
INTEGER :: kEndUseSub
REAL(r64) :: curMeterValue
INTEGER :: curMeterNumber
REAL(r64), external :: GetCurrentMeterValue
! if no beps by source report is called then skip
IF ((displaySourceEnergyEndUseSummary) .AND. (IndexTypeKey .EQ. stepTypeZone)) THEN
! loop through all of the resources and end uses for the entire facility
DO iResource = 1, numResourceTypes
IF (fFSchedUsed(iResource)) THEN
curMeterNumber = meterNumTotalsBEPS(iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber) * &
GetCurrentScheduleValue(ffSchedIndex(iResource)) * SourceFactors(iResource)
gatherTotalsBySourceBEPS(iResource) = gatherTotalsBySourceBEPS(iResource) + curMeterValue
END IF
ELSE
curMeterNumber = meterNumTotalsBEPS(iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber) * SourceFactors(iResource)
gatherTotalsBySourceBEPS(iResource) = gatherTotalsBySourceBEPS(iResource) + curMeterValue
END IF
END IF
DO jEndUse = 1, numEndUses
IF (fFSchedUsed(iResource)) THEN
curMeterNumber = meterNumEndUseBEPS(jEndUse, iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber) * &
GetCurrentScheduleValue(ffSchedIndex(iResource)) * SourceFactors(iResource)
gatherEndUseBySourceBEPS(jEndUse, iResource) = gatherEndUseBySourceBEPS(jEndUse, iResource) + curMeterValue
END IF
ELSE
curMeterNumber = meterNumEndUseBEPS(jEndUse, iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber) * SourceFactors(iResource)
gatherEndUseBySourceBEPS(jEndUse, iResource) = gatherEndUseBySourceBEPS(jEndUse, iResource) + curMeterValue
END IF
END IF
END DO
END DO
END IF
END SUBROUTINE GatherSourceEnergyEndUseResultsForTimestep