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 DetermineBuildingFloorArea
! SUBROUTINE INFORMATION:
! AUTHOR Jason Glazer
! DATE WRITTEN November 2003
! MODIFIED BTG added checks for plenums. Feb2004
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! To determine the total floor area of the building and the
! conditioned floor area of the building
! METHODOLOGY EMPLOYED:
! Use the Zone array and sum the areas for all zones
! REFERENCES:
! na
! USE STATEMENTS:
USE DataHeatBalance, ONLY: Zone, StandardZone
USE ZonePlenum, ONLY: ZoneRetPlenCond, ZoneSupPlenCond, NumZoneReturnPlenums, NumZoneSupplyPlenums
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: curZoneArea
INTEGER :: iZone
!INTEGER :: found
buildingGrossFloorArea = 0.0d0
buildingConditionedFloorArea = 0.0d0
DO iZone=1,NumOfZones
curZoneArea = Zone(iZone)%FloorArea * Zone(iZone)%Multiplier * Zone(iZone)%ListMultiplier
! OLD CHECK IF PLENUM SHOULD BE EXCLUDED AUTOMATICALLY
!check if this zone is also a return plenum or a supply plenum
!found = 0
!if (NumZoneReturnPlenums > 0) THEN
! found = FindItemInList(Zone(iZone)%Name, ZoneRetPlenCond%ZoneName, NumZoneReturnPlenums)
!endif
!IF (found /= 0) curZoneArea = 0.0d0
!found = 0
!if (NumZoneSupplyPlenums > 0) THEN
! found = FindItemInList(Zone(iZone)%Name, ZoneSupPlenCond%ZoneName, NumZoneSupplyPlenums)
!endif
!IF (found /= 0) curZoneArea = 0.0d0
IF (Zone(iZone)%isPartOfTotalArea) THEN
buildingGrossFloorArea = buildingGrossFloorArea + curZoneArea
! If a ZoneHVAC:EquipmentConnections is used for a zone then
! it is considered conditioned. Also ZONE SUPPLY PLENUM and ZONE RETURN PLENUM are
! also is considered conditioned.
IF (Zone(iZone)%SystemZoneNodeNumber .GT. 0) THEN
buildingConditionedFloorArea = buildingConditionedFloorArea + curZoneArea
END IF
END IF
END DO
END SUBROUTINE DetermineBuildingFloorArea