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 GatherBEPSResultsForTimestep(IndexTypeKey)
! SUBROUTINE INFORMATION:
! AUTHOR Jason Glazer
! DATE WRITTEN November 2003
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This routine gathers data for producing the BEPS report
! METHODOLOGY EMPLOYED:
! Uses get input structure similar to other objects
! Meter names are of two forms:
!
! <ResourceType>:<name>
! or
!
! <EndUseType>:<ResourceType>
!
! For the purposes of this routine, only the facility <name>
! is used. Remember that 'Building' is actually the sum of
! the zones only without system,plant and exterior. The only
! way to get them all is to use 'facility'
!
! The <EndUseType> are:
! Heating
! Cooling
! InteriorLights
! ExteriorLights
! InteriorEquipment
! ExteriorEquipment
! Fans
! Pumps
! HeatRejection
! Humidifier
! HeatRecovery
! DHW
! Refrigeration
! Cogeneration
!
! The <ResourceType> are:
! Electricity
! Gas
! Gasoline
! Diesel
! Coal
! FuelOil#1
! FuelOil#2
! Propane
! Water
! Steam
! DistrictCooling
! DistrictHeating
! REFERENCES:
! na
! USE STATEMENTS:
USE OutputProcessor, ONLY: EndUseCategory
USE DataStringGlobals, ONLY: CharComma, CharTab, CharSpace
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 report is called then skip
IF ((displayTabularBEPS .or. displayLEEDSummary) .AND. (IndexTypeKey .EQ. stepTypeZone)) THEN
! add the current time to the total elapsed time
!FOLLOWING LINE MOVED TO UPDATETABULARREPORTS because used even when beps is not called
!gatherElapsedTimeBEPS = gatherElapsedTimeBEPS + TimeStepZone
! loop through all of the resource types for the entire facility
! DO iResource = 1, numResourceTypes
! curMeterNumber = meterNumTotalsBEPS(iResource)
! IF (curMeterNumber .GT. 0) THEN
! curMeterValue = GetCurrentMeterValue(curMeterNumber)
! gatherTotalsBEPS(iResource) = gatherTotalsBEPS(iResource) + curMeterValue
! END IF
! END DO
! loop through all of the resources and end uses for the entire facility
DO iResource = 1, numResourceTypes
curMeterNumber = meterNumTotalsBEPS(iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber)
gatherTotalsBEPS(iResource) = gatherTotalsBEPS(iResource) + curMeterValue
END IF
DO jEndUse = 1, numEndUses
curMeterNumber = meterNumEndUseBEPS(jEndUse, iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber)
gatherEndUseBEPS(jEndUse, iResource) = gatherEndUseBEPS(jEndUse, iResource) + curMeterValue
DO kEndUseSub = 1, EndUseCategory(jEndUse)%NumSubcategories
curMeterNumber = meterNumEndUseSubBEPS(iResource,jEndUse,kEndUseSub)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber)
gatherEndUseSubBEPS(iResource,jEndUse,kEndUseSub) = gatherEndUseSubBEPS(iResource,jEndUse,kEndUseSub) + curMeterValue
END IF
END DO
END IF
END DO
END DO
DO iResource = 1, numSourceTypes
curMeterNumber = meterNumTotalsSource(iResource)
IF (curMeterNumber .GT. 0) THEN
curMeterValue = GetCurrentMeterValue(curMeterNumber)
gatherTotalsSource(iResource) = gatherTotalsSource(iResource) + curMeterValue
END IF
END DO
! gather the electric load components
gatherPowerFuelFireGen = gatherPowerFuelFireGen + GetCurrentMeterValue(meterNumPowerFuelFireGen)
gatherPowerPV = gatherPowerPV + GetCurrentMeterValue(meterNumPowerPV)
gatherPowerWind = gatherPowerWind + GetCurrentMeterValue(meterNumPowerWind)
gatherPowerHTGeothermal = gatherPowerHTGeothermal + GetCurrentMeterValue(meterNumPowerHTGeothermal)
gatherElecProduced = gatherElecProduced + GetCurrentMeterValue(meterNumElecProduced)
gatherElecPurchased = gatherElecPurchased + GetCurrentMeterValue(meterNumElecPurchased)
gatherElecSurplusSold = gatherElecSurplusSold + GetCurrentMeterValue(meterNumElecSurplusSold)
! gather the onsite thermal components
gatherWaterHeatRecovery = gatherWaterHeatRecovery + GetCurrentMeterValue(meterNumWaterHeatRecovery)
gatherAirHeatRecoveryCool = gatherAirHeatRecoveryCool + GetCurrentMeterValue(meterNumAirHeatRecoveryCool)
gatherAirHeatRecoveryHeat = gatherAirHeatRecoveryHeat + GetCurrentMeterValue(meterNumAirHeatRecoveryHeat)
gatherHeatHTGeothermal = gatherHeatHTGeothermal + GetCurrentMeterValue(meterNumHeatHTGeothermal)
gatherHeatSolarWater = gatherHeatSolarWater + GetCurrentMeterValue(meterNumHeatSolarWater)
gatherHeatSolarAir = gatherHeatSolarAir + GetCurrentMeterValue(meterNumHeatSolarAir)
! gather the water supply components
gatherRainWater = gatherRainWater + GetCurrentMeterValue(meterNumRainWater)
gatherCondensate = gatherCondensate + GetCurrentMeterValue(meterNumCondensate)
gatherWellwater = gatherWellwater + GetCurrentMeterValue(meterNumGroundwater)
gatherMains = gatherMains + GetCurrentMeterValue(meterNumMains)
gatherWaterEndUseTotal = gatherWaterEndUseTotal + GetCurrentMeterValue(meterNumWaterEndUseTotal)
END IF
END SUBROUTINE GatherBEPSResultsForTimestep