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 | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | FirstHVACIteration | |||
integer, | intent(in) | :: | AirLoopNum | |||
integer, | intent(in) | :: | AirLoopPass | |||
logical, | intent(in) | :: | AirLoopConverged | |||
integer, | intent(in) | :: | AirLoopNumCalls |
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 TraceAirLoopControllers( &
FirstHVACIteration, AirLoopNum, AirLoopPass, AirLoopConverged, &
AirLoopNumCalls )
! SUBROUTINE INFORMATION:
! AUTHOR Dimitri Curtil
! DATE WRITTEN January 2006
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine writes diagnostic to the trace file attached to each air loop.
!
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataAirSystems, ONLY : PrimaryAirSystem
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
LOGICAL, INTENT(IN) :: FirstHVACIteration
INTEGER, INTENT(IN) :: AirLoopNum
INTEGER, INTENT(IN) :: AirLoopPass
! TRUE when primary air system & controllers simulation has converged;
LOGICAL, INTENT(IN) :: AirLoopConverged
! Number of times SimAirLoopComponents() has been invoked
INTEGER, INTENT(IN) :: AirLoopNumCalls
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: ControllerNum
INTEGER :: TraceFileUnit
! FLOW
! IF no controllers on this air loop then we have nothig to do
IF ( PrimaryAirSystem(AirLoopNum)%NumControllers == 0 ) RETURN
! To avoid tracking statistics in case of no air loop or no HVAC controllers are defined
IF ( NumAirLoopStats == 0 ) RETURN
! Setup trace file on first call only
IF ( AirLoopStats(AirLoopNum)%FirstTraceFlag ) THEN
CALL SetupAirLoopControllersTracer( AirLoopNum )
AirLoopStats(AirLoopNum)%FirstTraceFlag = .FALSE.
END IF
TraceFileUnit = AirLoopStats(AirLoopNum)%TraceFileUnit
IF ( TraceFileUnit <= 0 ) RETURN
! Write iteration stamp first
CALL TraceIterationStamp( &
TraceFileUnit, &
FirstHVACIteration, AirLoopPass, AirLoopConverged, &
AirLoopNumCalls )
! Loop over the air sys controllers and write diagnostic to trace file
DO ControllerNum = 1,PrimaryAirSystem(AirLoopNum)%NumControllers
CALL TraceAirLoopController( &
TraceFileUnit, &
PrimaryAirSystem(AirLoopNum)%ControllerIndex(ControllerNum) )
END DO
! Go to next line
WRITE(TraceFileUnit,*)
RETURN
END SUBROUTINE TraceAirLoopControllers