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.
SUBROUTINE ReportAirLoopConnections
! SUBROUTINE INFORMATION:
! AUTHOR Michael J. Witte, Linda K. Lawrie
! DATE WRITTEN February 2004 (moved from BranchInputManager ReportLoopConnections)
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Report air loop splitter connections to the BND file.
! METHODOLOGY EMPLOYED:
! Needs description, as appropriate.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: OutputFileBNDetails
USE DataHVACGlobals, ONLY: NumPrimaryAirSys
USE DataHeatBalance, ONLY: Zone
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
CHARACTER(len=*), PARAMETER :: errstring='**error**'
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER Count
INTEGER Count1
INTEGER CtrldZoneNum
INTEGER ZoneNum
CHARACTER(len=20) ChrOut
CHARACTER(len=20) ChrOut2
CHARACTER(len=20) ChrOut3
CHARACTER(len=20) ChrOut4
CHARACTER(len=20) ChrOut5
701 FORMAT(A)
706 FORMAT('! <#AirLoopHVACs>,<Number of AirLoopHVACs>')
707 FORMAT(1X,A)
708 FORMAT('! <AirLoopHVAC>,<Air Loop Name>,<# Return Nodes>,<# Supply Nodes>,', &
'<# Zones Cooled>,<# Zones Heated>,<Outdoor Air Used>')
709 FORMAT('! <AirLoop Return Connections>,<Connection Count>,<AirLoopHVAC Name>,', &
'<Zn Eqp Return Node #>,<Zn Eqp Return Node Name>,', &
'<AirLoop Return Node #>,<Air Loop Return Node Name>')
710 FORMAT('! <AirLoop Supply Connections>,<Connection Count>,<AirLoopHVAC Name>,', &
'<Zn Eqp Supply Node #>,<Zn Eqp Supply Node Name>,', &
'<AirLoop Supply Node #>,<Air Loop Supply Node Name>')
711 FORMAT('! <Cooled Zone Info>,<Cooled Zone Count>,<Cooled Zone Name>,', &
'<Cooled Zone Inlet Node #>,<Cooled Zone Inlet Node Name>,<AirLoopHVAC Name>')
712 FORMAT('! <Heated Zone Info>,<Heated Zone Count>,<Heated Zone Name>,', &
'<Heated Zone Inlet Node #>,<Heated Zone Inlet Node Name>,<AirLoopHVAC Name>')
714 FORMAT('! <Outdoor Air Connections>,<OA Inlet Node #>,<OA Return Air Inlet Node Name>,', &
'<OA Outlet Node #>,<OA Mixed Air Outlet Node Name>,<AirLoopHVAC Name>')
713 FORMAT(A)
WRITE(OutputFileBNDetails,701) '! ==============================================================='
WRITE(OutputFileBNDetails,706)
WRITE(ChrOut,*) NumPrimaryAirSys
WRITE(OutputFileBNDetails,707) '#AirLoopHVACs,'//TRIM(ADJUSTL(ChrOut))
WRITE(OutputFileBNDetails,708)
WRITE(OutputFileBNDetails,709)
WRITE(OutputFileBNDetails,710)
WRITE(OutputFileBNDetails,711)
WRITE(OutputFileBNDetails,712)
WRITE(OutputFileBNDetails,714)
WRITE(OutputFileBNDetails,713) '! <AirLoopHVAC Connector>,<Connector Type>,<Connector Name>,'// &
'<Loop Name>,<Loop Type>,<Number of Inlets/Outlets>'
WRITE(OutputFileBNDetails,713) '! <AirLoopHVAC Connector Branches>,<Connector Node Count>,<Connector Type>,'// &
'<Connector Name>,<Inlet Branch>,<Outlet Branch>,'// &
'<Loop Name>,<Loop Type>'
WRITE(OutputFileBNDetails,713) '! <AirLoopHVAC Connector Nodes>,<Connector Node Count>,<Connector Type>,'// &
'<Connector Name>,<Inlet Node>,<Outlet Node>,'// &
'<Loop Name>,<Loop Type>'
DO Count=1,NumPrimaryAirSys
WRITE(ChrOut,*) AirToZoneNodeInfo(Count)%NumReturnNodes
WRITE(ChrOut2,*) AirToZoneNodeInfo(Count)%NumSupplyNodes
WRITE(ChrOut3,*) AirToZoneNodeInfo(Count)%NumZonesCooled
WRITE(ChrOut4,*) AirToZoneNodeInfo(Count)%NumZonesHeated
ChrOut=ADJUSTL(ChrOut)
ChrOut2=ADJUSTL(ChrOut2)
ChrOut3=ADJUSTL(ChrOut3)
ChrOut4=ADJUSTL(ChrOut4)
IF (AirToOANodeInfo(Count)%OASysExists) THEN
ChrOut5='Yes'
ELSE
ChrOut5='No'
ENDIF
WRITE(OutputFileBNDetails,701) ' AirLoopHVAC,'//TRIM(AirToZoneNodeInfo(Count)%AirLoopName)//','// &
TRIM(ChrOut)//','//TRIM(ChrOut2)//','//TRIM(ChrOut3)//','//TRIM(ChrOut4)//','//TRIM(ChrOut5)
DO Count1=1,AirToZoneNodeInfo(Count)%NumReturnNodes
WRITE(ChrOut,*) Count1
IF (AirToZoneNodeInfo(Count)%ZoneEquipReturnNodeNum(Count1) > 0) THEN
WRITE(ChrOut2,*) AirToZoneNodeInfo(Count)%ZoneEquipReturnNodeNum(Count1)
ELSE
ChrOut2=errstring
ENDIF
IF (AirToZoneNodeInfo(Count)%AirLoopReturnNodeNum(Count1) > 0) THEN
WRITE(ChrOut3,*) AirToZoneNodeInfo(Count)%AirLoopReturnNodeNum(Count1)
ELSE
ChrOut3=errstring
ENDIF
ChrOut=ADJUSTL(ChrOut)
ChrOut2=ADJUSTL(ChrOut2)
ChrOut3=ADJUSTL(ChrOut3)
WRITE(OutputFileBNDetails,707,advance='No') ' AirLoop Return Connections,'//TRIM(ChrOut)//','// &
TRIM(AirToZoneNodeInfo(Count)%AirLoopName)//','
IF (ChrOut2 /= errstring) then
WRITE(OutputFileBNDetails,701,advance='No') TRIM(ChrOut2)//','// &
TRIM(NodeID(AirToZoneNodeInfo(Count)%ZoneEquipReturnNodeNum(Count1)))//','
ELSE
WRITE(OutputFileBNDetails,701,advance='No') TRIM(errstring)//','//TRIM(errstring)//','
ENDIF
IF (ChrOut3 /= errstring) then
WRITE(OutputFileBNDetails,701) TRIM(ChrOut3)//','// &
TRIM(NodeID(AirToZoneNodeInfo(Count)%AirLoopReturnNodeNum(Count1)))
ELSE
WRITE(OutputFileBNDetails,701) TRIM(errstring)//','//TRIM(errstring)
ENDIF
ENDDO
DO Count1=1,AirToZoneNodeInfo(Count)%NumSupplyNodes
WRITE(ChrOut,*) Count1
IF (AirToZoneNodeInfo(Count)%ZoneEquipSupplyNodeNum(Count1) > 0) THEN
WRITE(ChrOut2,*) AirToZoneNodeInfo(Count)%ZoneEquipSupplyNodeNum(Count1)
ELSE
ChrOut2=errstring
ENDIF
IF (AirToZoneNodeInfo(Count)%AirLoopSupplyNodeNum(Count1) > 0) THEN
WRITE(ChrOut3,*) AirToZoneNodeInfo(Count)%AirLoopSupplyNodeNum(Count1)
ELSE
ChrOut3=errstring
ENDIF
ChrOut=ADJUSTL(ChrOut)
ChrOut2=ADJUSTL(ChrOut2)
ChrOut3=ADJUSTL(ChrOut3)
WRITE(OutputFileBNDetails,707,advance='No') ' AirLoop Supply Connections,'//TRIM(ChrOut)//','// &
TRIM(AirToZoneNodeInfo(Count)%AirLoopName)//','
IF (ChrOut2 /= errstring) then
WRITE(OutputFileBNDetails,701,advance='No') TRIM(ChrOut2)//','// &
TRIM(NodeID(AirToZoneNodeInfo(Count)%ZoneEquipSupplyNodeNum(Count1)))//','
ELSE
WRITE(OutputFileBNDetails,701,advance='No') TRIM(errstring)//','//TRIM(errstring)//','
ENDIF
IF (ChrOut3 /= errstring) then
WRITE(OutputFileBNDetails,701) TRIM(ChrOut3)//','// &
TRIM(NodeID(AirToZoneNodeInfo(Count)%AirLoopSupplyNodeNum(Count1)))
ELSE
WRITE(OutputFileBNDetails,701) TRIM(errstring)//','//TRIM(errstring)
ENDIF
ENDDO
DO Count1=1,AirToZoneNodeInfo(Count)%NumZonesCooled
WRITE(ChrOut,*) Count1
IF (AirToZoneNodeInfo(Count)%CoolZoneInletNodes(Count1) > 0) THEN
WRITE(ChrOut2,*) AirToZoneNodeInfo(Count)%CoolZoneInletNodes(Count1)
ELSE
ChrOut2=errstring
ENDIF
ChrOut=ADJUSTL(ChrOut)
ChrOut2=ADJUSTL(ChrOut2)
CtrldZoneNum = AirToZoneNodeInfo(Count)%CoolCtrlZoneNums(Count1)
ZoneNum = ZoneEquipConfig(CtrldZoneNum)%ActualZoneNum
WRITE(OutputFileBNDetails,707,advance='No') ' Cooled Zone Info,'//TRIM(ChrOut)//','// &
TRIM(Zone(ZoneNum)%Name)//','
IF (ChrOut2 /= errstring) then
WRITE(OutputFileBNDetails,701) TRIM(ChrOut2)//','// &
TRIM(NodeID(AirToZoneNodeInfo(Count)%CoolZoneInletNodes(Count1)))//','// &
TRIM(AirToZoneNodeInfo(Count)%AirLoopName)
ELSE
WRITE(OutputFileBNDetails,701) TRIM(errstring)//','//TRIM(errstring)//','//TRIM(AirToZoneNodeInfo(Count)%AirLoopName)
ENDIF
ENDDO
DO Count1=1,AirToZoneNodeInfo(Count)%NumZonesHeated
WRITE(ChrOut,*) Count1
IF (AirToZoneNodeInfo(Count)%HeatZoneInletNodes(Count1) > 0) THEN
WRITE(ChrOut2,*) AirToZoneNodeInfo(Count)%HeatZoneInletNodes(Count1)
ELSE
ChrOut2=errstring
ENDIF
ChrOut=ADJUSTL(ChrOut)
ChrOut2=ADJUSTL(ChrOut2)
CtrldZoneNum = AirToZoneNodeInfo(Count)%HeatCtrlZoneNums(Count1)
ZoneNum = ZoneEquipConfig(CtrldZoneNum)%ActualZoneNum
WRITE(OutputFileBNDetails,707,advance='No') ' Heated Zone Info,'//TRIM(ChrOut)//','// &
TRIM(Zone(ZoneNum)%Name)//','
IF (ChrOut2 /= errstring) THEN
WRITE(OutputFileBNDetails,701) TRIM(ChrOut2)//','// &
TRIM(NodeID(AirToZoneNodeInfo(Count)%HeatZoneInletNodes(Count1)))//','// &
TRIM(AirToZoneNodeInfo(Count)%AirLoopName)
ELSE
WRITE(OutputFileBNDetails,701) TRIM(errstring)//','//TRIM(errstring)//','//TRIM(AirToZoneNodeInfo(Count)%AirLoopName)
ENDIF
ENDDO
IF (AirToOANodeInfo(Count)%OASysExists) THEN
IF (AirToOANodeInfo(Count)%OASysInletNodeNum > 0) THEN
WRITE(ChrOut,*) AirToOANodeInfo(Count)%OASysInletNodeNum
ELSE
ChrOut=errstring
ENDIF
IF (AirToOANodeInfo(Count)%OASysOutletNodeNum > 0) THEN
WRITE(ChrOut2,*) AirToOANodeInfo(Count)%OASysOutletNodeNum
ELSE
ChrOut2=errstring
ENDIF
ChrOut=ADJUSTL(ChrOut)
ChrOut2=ADJUSTL(ChrOut2)
WRITE(OutputFileBNDetails,707,advance='No') ' Outdoor Air Connections,'//TRIM(ChrOut)//','
IF (ChrOut /= errstring) THEN
WRITE(OutputFileBNDetails,701,advance='No') TRIM(NodeID(AirToOANodeInfo(Count)%OASysInletNodeNum))//','
ELSE
WRITE(OutputFileBNDetails,701,advance='No') TRIM(errstring)//','
ENDIF
IF (ChrOut2 /= errstring) THEN
WRITE(OutputFIleBNDetails,701) TRIM(ChrOut2)//','// &
TRIM(NodeID(AirToOANodeInfo(Count)%OASysOutletNodeNum))//','// &
TRIM(AirToZoneNodeInfo(Count)%AirLoopName)
ELSE
WRITE(OutputFileBNDetails,701) TRIM(errstring)//','//TRIM(errstring)//','//TRIM(AirToZoneNodeInfo(Count)%AirLoopName)
ENDIF
ENDIF
! Report HVAC Air Loop Splitter to BND file
IF (PrimaryAirSystem(Count)%Splitter%Exists) THEN
WRITE(ChrOut,*) PrimaryAirSystem(Count)%Splitter%TotalOutletNodes
WRITE(OutputFileBNDetails,701) ' AirLoopHVAC Connector,Splitter,'// &
TRIM(PrimaryAirSystem(Count)%Splitter%Name)//','// &
TRIM(PrimaryAirSystem(Count)%Name)//',Air,'// &
TRIM(ADJUSTL(ChrOut))
DO Count1=1,PrimaryAirSystem(Count)%Splitter%TotalOutletNodes
WRITE(ChrOut,*) Count1
IF (PrimaryAirSystem(Count)%Splitter%BranchNumIn <= 0) THEN
ChrOut2=errstring
ENDIF
IF (PrimaryAirSystem(Count)%Splitter%BranchNumOut(Count1) <= 0) THEN
ChrOut3=errstring
ENDIF
WRITE(OutputFileBNDetails,701,advance='No') ' AirLoopHVAC Connector Branches,'//TRIM(ADJUSTL(ChrOut))// &
',Splitter,'//TRIM(PrimaryAirSystem(Count)%Splitter%Name)//','
IF (ChrOut2 /= errstring) THEN
WRITE(OutputFileBNDetails,701,advance='No') &
TRIM(PrimaryAirSystem(Count)%Branch(PrimaryAirSystem(Count)%Splitter%BranchNumIn)%Name)//','
ELSE
WRITE(OutputFileBNDetails,701,advance='No') TRIM(ChrOut2)//','
ENDIF
IF (ChrOut3 /= errstring) THEN
WRITE(OutputFileBNDetails,701) &
TRIM(PrimaryAirSystem(Count)%Branch(PrimaryAirSystem(Count)%Splitter%BranchNumOut(Count1))%Name)//','// &
TRIM(PrimaryAirSystem(Count)%Name)//',Air'
ELSE
WRITE(OutputFileBNDetails,701) &
TRIM(ChrOut3)//','// &
TRIM(PrimaryAirSystem(Count)%Name)//',Air'
ENDIF
WRITE(OutputFileBNDetails,701) ' AirLoopHVAC Connector Nodes, '//TRIM(ADJUSTL(ChrOut))//',Splitter,'// &
TRIM(PrimaryAirSystem(Count)%Splitter%Name)//','// &
TRIM(PrimaryAirSystem(Count)%Splitter%NodeNameIn)//','// &
TRIM(PrimaryAirSystem(Count)%Splitter%NodeNameOut(Count1))//','// &
TRIM(PrimaryAirSystem(Count)%Name)//',Air'
ENDDO
ENDIF
ENDDO
RETURN
END SUBROUTINE ReportAirLoopConnections