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 | |||
logical, | intent(inout) | :: | SimAir | |||
logical, | intent(inout) | :: | SimZoneEquipment |
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 ManageAirLoops(FirstHVACIteration,SimAir,SimZoneEquipment)
! SUBROUTINE INFORMATION
! AUTHOR: Russ Taylor, Dan Fisher, Fred Buhl
! DATE WRITTEN: Oct 1997
! MODIFIED: Dec 1997 Fred Buhl
! RE-ENGINEERED: This is new code, not reengineered
! PURPOSE OF THIS SUBROUTINE:
! This is the manager subroutine for the air loop simulation.
! Called from SimSelectedEquipment, which is called from SimHVAC,
! which is called from ManageHVAC, the top level system/plant driver.
! The subroutine performs the usual manager functions: it calls the
! Get, Init, Sim, Update, and Report routines.
! METHODOLOGY EMPLOYED:
! not applicable:
! REFERENCES: None
! USE STATEMENTS:
USE MixedAir, ONLY : ManageOutsideAirSystem
IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS:
LOGICAL, INTENT(IN) :: FirstHVACIteration ! TRUE if first full HVAC iteration in an HVAC timestep
LOGICAL, INTENT(INOUT) :: SimAir ! TRUE means air loops must be (re)simulated
LOGICAL, INTENT(INOUT) :: SimZoneEquipment ! TRUE means zone equipment must be (re) simulated
! SUBROUTINE PARAMETER DEFINITIONS: none
! INTERFACE BLOCK SPECIFICATIONS: none
! na
! DERIVED TYPE DEFINITIONS: none
! SUBROUTINE LOCAL VARIABLE DECLARATIONS: none
! FLOW:
IF (GetAirLoopInputFlag) THEN !First time subroutine has been entered
CALL GetAirPathData ! Get air loop descriptions from input file
GetAirLoopInputFlag=.false.
END IF
! Initialize air loop related parameters
CALL InitAirLoops(FirstHVACIteration)
! Call the AirLoop Simulation
IF (SysSizingCalc) THEN
CALL SizeAirLoops
ELSE
CALL SimAirLoops(FirstHVACIteration,SimZoneEquipment)
END IF
! This flag could be used to resimulate only the air loops that needed additional iterations.
! This flag would have to be moved inside SimAirLoops to gain this flexibility.
SimAir = ANY(AirLoopControlInfo%ResimAirLoopFlag)
RETURN
END SUBROUTINE ManageAirLoops