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 | ||
|---|---|---|---|---|---|---|
| real(kind=r64), | intent(in) | :: | MyLoad | |||
| logical, | intent(in) | :: | RunFlag | |||
| integer, | intent(in) | :: | Num | |||
| logical, | intent(in) | :: | FirstHVACIteration | 
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 UpdateBoilerRecords(MyLoad,RunFlag,Num,FirstHVACIteration)
      ! SUBROUTINE INFORMATION:
      !       AUTHOR         Rahul Chillar
      !       DATE WRITTEN   Dec 2004
      !       MODIFIED       na
      !       RE-ENGINEERED  na
      ! PURPOSE OF THIS SUBROUTINE:
      ! Boiler simulation reporting
      ! METHODOLOGY EMPLOYED:
      ! na
      ! REFERENCES:
      ! na
      ! USE STATEMENTS:
!     USE DataPlant, ONLY : PlantLoop
     USE PlantUtilities, ONLY : SafeCopyPlantNode
       IMPLICIT NONE
      ! SUBROUTINE ARGUMENT DEFINITIONS:
       REAL(r64),INTENT(IN)   :: MyLoad        !boiler operating load
       LOGICAL,  INTENT(IN)   :: RunFlag       !boiler on when TRUE
       INTEGER,  INTENT(IN)   :: Num           !boiler number
       LOGICAL , INTENT(IN)   :: FirstHVACIteration ! TRUE if First iteration of simulation
      ! SUBROUTINE PARAMETER DEFINITIONS:
      ! na
      ! INTERFACE BLOCK SPECIFICATIONS
      ! na
      ! DERIVED TYPE DEFINITIONS
      ! na
      ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
      INTEGER                :: BoilerInletNode ! Boiler inlet node number
      INTEGER                :: BoilerOutletNode ! Boiler outlet node number
      REAL(r64) :: ReportingConstant
      INTEGER :: LoopNum
      INTEGER :: LoopSideNum
      ReportingConstant = TimeStepSys*SecInHour
      BoilerInletNode     = Boiler(Num)%BoilerInletNodeNum
      BoilerOutletNode    = Boiler(Num)%BoilerOutletNodeNum
    IF (MyLoad<=0.0d0 .OR. .NOT. RunFlag)THEN
      !set node temperatures
      CALL SafeCopyPlantNode(BoilerInletNode, BoilerOutletNode)
      Node(BoilerOutletNode)%Temp           = Node(BoilerInletNode)%Temp
      BoilerReport(Num)%BoilerOutletTemp    = Node(BoilerInletNode)%Temp
      BoilerReport(Num)%BoilerLoad          = 0.0d0
      BoilerReport(Num)%FuelUsed            = 0.0d0
      Node(BoilerInletNode)%Press           = Boiler(Num)%BoilerPressCheck
      Node(BoilerOutletNode)%Press          = Node(BoilerInletNode)%Press
      Node(BoilerInletNode)%Quality         = 0.0d0
      Node(BoilerOutletNode)%Quality        = Node(BoilerInletNode)%Quality
    ELSE
      !set node temperatures
      CALL SafeCopyPlantNode(BoilerInletNode, BoilerOutletNode)
      Node(BoilerOutletNode)%Temp           = BoilerOutletTemp
      BoilerReport(Num)%BoilerOutletTemp    = BoilerOutletTemp
      BoilerReport(Num)%BoilerLoad          = BoilerLoad
      BoilerReport(Num)%FuelUsed            = FuelUsed
      Node(BoilerInletNode)%Press           = Boiler(Num)%BoilerPressCheck !???
      Node(BoilerOutletNode)%Press          = Node(BoilerInletNode)%Press
      Node(BoilerOutletNode)%Quality        = 1.0d0 ! Model assumes saturated steam exiting the boiler
    END IF
      BoilerReport(Num)%BoilerInletTemp           = Node(BoilerInletNode)%Temp
      BoilerReport(Num)%Mdot                      = Node(BoilerOutletNode)%MassFlowRate
      LoopNum = Boiler(Num)%LoopNum
      LoopSideNum = Boiler(Num)%LoopSideNum
      BoilerReport(Num)%BoilerEnergy   = BoilerReport(Num)%BoilerLoad*ReportingConstant
      BoilerReport(Num)%FuelConsumed   = BoilerReport(Num)%FuelUsed*ReportingConstant
  RETURN
END SUBROUTINE UpdateBoilerRecords