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 | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | EquipName | |||
| integer, | intent(in) | :: | ActualZoneNum | |||
| integer, | intent(in) | :: | ControlledZoneNum | |||
| real(kind=r64), | intent(out) | :: | PowerMet | |||
| integer, | intent(inout) | :: | CompIndex | 
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 SimElectricBaseBoard(EquipName, ActualZoneNum, ControlledZoneNum, PowerMet, CompIndex)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Richard Liesen
          !       DATE WRITTEN   Nov 2001
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! This subroutine simulates the Electric Baseboard units.
          ! METHODOLOGY EMPLOYED:
          ! na
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
    USE DataLoopNode, ONLY: Node
    USE InputProcessor, ONLY: FindItemInList
    USE DataZoneEnergyDemands, ONLY: ZoneSysEnergyDemand
    USE General, ONLY: TrimSigDigits
  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
    CHARACTER(len=*), INTENT(IN) :: EquipName
    INTEGER, INTENT(IN) :: ActualZoneNum
    INTEGER, INTENT(IN) :: ControlledZoneNum
    REAL(r64), INTENT(OUT)   :: PowerMet
    INTEGER, INTENT(INOUT) :: CompIndex
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS
          ! na
          ! DERIVED TYPE DEFINITIONS
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    INTEGER        :: BaseboardNum ! index of unit in baseboard array
    LOGICAL,SAVE   :: GetInputFlag = .TRUE. ! one time get input flag
    REAL(r64)      :: QZnReq       ! zone load not yet satisfied
    IF (GetInputFlag) THEN
      CALL GetBaseboardInput
      GetInputFlag=.false.
    END IF
    ! Find the correct Baseboard Equipment
    IF (CompIndex == 0) THEN
      BaseboardNum = FindItemInList(EquipName, Baseboard%EquipName, NumBaseboards)
      IF (BaseboardNum == 0) THEN
        CALL ShowFatalError('SimElectricBaseboard: Unit not found='//TRIM(EquipName))
      ENDIF
      CompIndex=BaseboardNum
    ELSE
      BaseboardNum=CompIndex
      IF (BaseboardNum > NumBaseboards .or. BaseboardNum < 1) THEN
        CALL ShowFatalError('SimElectricBaseboard:  Invalid CompIndex passed='//  &
                            TRIM(TrimSigDigits(BaseboardNum))// &
                            ', Number of Units='//TRIM(TrimSigDigits(NumBaseboards))//  &
                            ', Entered Unit name='//TRIM(EquipName))
      ENDIF
      IF (CheckEquipName(BaseboardNum)) THEN
        IF (EquipName /= Baseboard(BaseboardNum)%EquipName) THEN
          CALL ShowFatalError('SimElectricBaseboard: Invalid CompIndex passed='//  &
                              TRIM(TrimSigDigits(BaseboardNum))// &
                              ', Unit name='//TRIM(EquipName)//', stored Unit Name for that index='//  &
                              TRIM(Baseboard(BaseboardNum)%EquipName))
        ENDIF
        CheckEquipName(BaseboardNum)=.false.
      ENDIF
    ENDIF
    CALL InitBaseboard(BaseboardNum, ControlledZoneNum)
    QZnReq = ZoneSysEnergyDemand(ActualZoneNum)%RemainingOutputReqToHeatSP
       ! Simulate baseboard
    CALL SimElectricConvective(BaseboardNum,QZnReq)
    PowerMet = Baseboard(BaseboardNum)%Power
    CALL ReportBaseboard(BaseboardNum)
  END SUBROUTINE SimElectricBaseBoard