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 DumpAirLoopStatistics
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Dimitri Curtil
          !       DATE WRITTEN   April 2006
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! Writes runtime statistics for controllers on all air loops
          ! to a CSV file named "statistics.HVACControllers.csv".
          ! METHODOLOGY EMPLOYED:
          ! Needs description, as appropriate.
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
  USE DataSystemVariables, ONLY : TrackAirLoopEnvFlag
  USE DataHVACGlobals,     ONLY : NumPrimaryAirSys
  USE DataAirSystems,      ONLY : PrimaryAirSystem
  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
          ! na
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS
  INTEGER, EXTERNAL            :: GetNewUnitNumber
          ! DERIVED TYPE DEFINITIONS
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  CHARACTER(LEN=MaxNameLength) :: StatisticsFileName
  INTEGER                      :: FileUnit
  INTEGER                      :: AirLoopNum
          ! FLOW
  ! Detect if statistics have been generated or not for this run
  IF ( .NOT.TrackAirLoopEnvFlag ) THEN
    RETURN
  END IF
  StatisticsFileName(:) = ' '
  StatisticsFileName = 'statistics.HVACControllers.csv'
  StatisticsFileName = ADJUSTL(StatisticsFileName)
  FileUnit = GetNewUnitNumber()
  IF ( FileUnit <= 0 ) THEN
    CALL ShowWarningError( &
      'DumpAirLoopStatistics: Invalid unit for air loop statistics file="'// &
      TRIM(StatisticsFileName)//'"')
    RETURN
  END IF
  OPEN(UNIT=FileUnit, FILE=StatisticsFileName, Action='write', ERR=100)
  DO AirLoopNum=1,NumPrimaryAirSys
    CALL WriteAirLoopStatistics( FileUnit, PrimaryAirSystem(AirLoopNum), AirLoopStats(AirLoopNum) )
  END DO
  CLOSE(FileUnit)
  RETURN
100 CONTINUE
  CALL ShowFatalError( &
    'DumpAirLoopStatistics: Failed to open statistics file "'//TRIM(StatisticsFileName)//'" for output (write).' &
  )
  RETURN
END SUBROUTINE DumpAirLoopStatistics