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, | intent(in) | :: | CompNum | 
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.
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 ReportAirTerminalUserDefined(CompNum)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         B. Griffith
          !       DATE WRITTEN   March 2012
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! <description>
          ! METHODOLOGY EMPLOYED:
          ! <description>
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
  USE PlantUtilities, ONLY: SetComponentFlowRate, SafeCopyPlantNode
  USE Psychrometrics, ONLY: PsyHFnTdbW
  IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
  INTEGER, INTENT(IN) :: CompNum
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
          ! na
  INTEGER :: Loop
  Node(UserAirTerminal(CompNum)%AirLoop%InletNodeNum)%MassFlowRate  = UserAirTerminal(CompNum)%AirLoop%InletMassFlowRate
  Node(UserAirTerminal(CompNum)%AirLoop%OutletNodeNum)%Temp         = UserAirTerminal(CompNum)%AirLoop%OutletTemp
  Node(UserAirTerminal(CompNum)%AirLoop%OutletNodeNum)%HumRat       = UserAirTerminal(CompNum)%AirLoop%OutletHumRat
  Node(UserAirTerminal(CompNum)%AirLoop%OutletNodeNum)%MassFlowRate = UserAirTerminal(CompNum)%AirLoop%OutletMassFlowRate
  Node(UserAirTerminal(CompNum)%AirLoop%OutletNodeNum)%Enthalpy     = PsyHFnTdbW(UserAirTerminal(CompNum)%AirLoop%OutletTemp, &
                                                                            UserAirTerminal(CompNum)%AirLoop%OutletHumRat, &
                                                                            'ReportAirTerminalUserDefined')
  IF (UserAirTerminal(CompNum)%SourceAir%OutletNodeNum > 0) THEN
    Node(UserAirTerminal(CompNum)%SourceAir%OutletNodeNum)%Temp         = UserAirTerminal(CompNum)%SourceAir%OutletTemp
    Node(UserAirTerminal(CompNum)%SourceAir%OutletNodeNum)%HumRat       = UserAirTerminal(CompNum)%SourceAir%OutletHumRat
    Node(UserAirTerminal(CompNum)%SourceAir%OutletNodeNum)%MassFlowRate = UserAirTerminal(CompNum)%SourceAir%OutletMassFlowRate
    Node(UserAirTerminal(CompNum)%SourceAir%OutletNodeNum)%Enthalpy    = PsyHFnTdbW(UserAirTerminal(CompNum)%SourceAir%OutletTemp,&
                                                                              UserAirTerminal(CompNum)%SourceAir%OutletHumRat, &
                                                                              'ReportAirTerminalUserDefined')
  ENDIF
  IF (UserAirTerminal(CompNum)%NumPlantConnections > 0) THEN
    DO Loop = 1, UserAirTerminal(CompNum)%NumPlantConnections
      !make mass flow requests
      CALL SetComponentFlowRate(UserAirTerminal(CompNum)%Loop(Loop)%MassFlowRateRequest, &
                                UserAirTerminal(CompNum)%Loop(Loop)%InletNodeNum, &
                                UserAirTerminal(CompNum)%Loop(Loop)%OutletNodeNum, &
                                UserAirTerminal(CompNum)%Loop(Loop)%LoopNum, &
                                UserAirTerminal(CompNum)%Loop(Loop)%LoopSideNum, &
                                UserAirTerminal(CompNum)%Loop(Loop)%BranchNum, &
                                UserAirTerminal(CompNum)%Loop(Loop)%CompNum )
      CALL SafeCopyPlantNode(UserAirTerminal(CompNum)%Loop(Loop)%InletNodeNum, &
                             UserAirTerminal(CompNum)%Loop(Loop)%OutletNodeNum)
      !unload Actuators to node data structure
      Node(UserAirTerminal(CompNum)%Loop(Loop)%OutletNodeNum)%Temp =  UserAirTerminal(CompNum)%Loop(Loop)%OutletTemp
    ENDDO
  ENDIF
  IF (UserAirTerminal(CompNum)%Water%SuppliedByWaterSystem) THEN
    WaterStorage(UserAirTerminal(CompNum)%Water%SupplyTankID)% &
      VdotRequestDemand(UserAirTerminal(CompNum)%Water%SupplyTankDemandARRID) &
        = UserAirTerminal(CompNum)%Water%SupplyVdotRequest
  ENDIF
  IF (UserAirTerminal(CompNum)%Water%CollectsToWaterSystem) THEN
    WaterStorage(UserAirTerminal(CompNum)%Water%CollectionTankID)% &
      VdotAvailSupply(UserAirTerminal(CompNum)%Water%CollectionTankSupplyARRID) &
        =  UserAirTerminal(CompNum)%Water%CollectedVdot
  ENDIF
  RETURN
END SUBROUTINE ReportAirTerminalUserDefined