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 | ||
|---|---|---|---|---|---|---|
| integer | :: | ZoneNum | 
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 ManageAirModel(ZoneNum)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Weixiu Kong
          !       DATE WRITTEN   April 2003
          !       MODIFIED       July 2003, CC
          !                      Jan 2004, CC
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          !     manage room air models.
          ! METHODOLOGY EMPLOYED:
          ! na
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
    USE MundtSimMgr,                ONLY : ManageMundtModel
    USE DisplacementVentMgr,        ONLY : ManageUCSDDVModel
    USE CrossVentMgr,               ONLY : ManageUCSDCVModel
    USE RoomAirModelUserTempPattern,  ONLY : ManageUserDefinedPatterns
    USE UFADManager,             ONLY : ManageUCSDUFModels
    IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
     INTEGER                         :: ZoneNum
          ! SUBROUTINE PARAMETER DEFINITIONS
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS
          ! na
          ! DERIVED TYPE DEFINITIONS
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    LOGICAL, SAVE  :: GetAirModelData=.true.  ! Used to "get" all air model data
          ! FLOW:
    IF (GetAirModelData) THEN
      Call GetAirModelDatas
      GetAirModelData=.false.
    ENDIF
    IF (UCSDModelUsed) THEN
      CALL SharedDVCVUFDataInit(ZoneNum)
    ENDIF
    SELECT CASE (AirModel(ZoneNum)%AirModelType)
      CASE (RoomAirModel_UserDefined)
        Call ManageUserDefinedPatterns(ZoneNum)
      CASE (RoomAirModel_Mixing) ! Mixing air model
            ! do nothing
      CASE (RoomAirModel_Mundt) ! Mundt air model
        ! simulate room airflow using Mundt model
        CALL ManageMundtModel(ZoneNum)
      CASE (RoomAirModel_UCSDDV) !UCDV Displacement Ventilation model
        ! simulate room airflow using UCSDDV model
        CALL ManageUCSDDVModel(ZoneNum)
      CASE (RoomAirModel_UCSDCV) !UCSD Cross Ventilation model
        ! simulate room airflow using UCSDDV model
        CALL ManageUCSDCVModel(ZoneNum)
      CASE(RoomAirModel_UCSDUFI) ! UCSD UFAD interior zone model
        ! simulate room airflow using the UCSDUFI model
        CALL ManageUCSDUFModels(ZoneNum,RoomAirModel_UCSDUFI)
      CASE(RoomAirModel_UCSDUFE) ! UCSD UFAD exterior zone model
        ! simulate room airflow using the UCSDUFE model
        CALL ManageUCSDUFModels(ZoneNum,RoomAirModel_UCSDUFE)
      CASE DEFAULT ! mixing air model
          ! do nothing
    END SELECT
    RETURN
END SUBROUTINE ManageAirModel