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), | optional | :: | SuppressRadiationUpdate | ||
| logical, | intent(in), | optional | :: | SumLatentGains | 
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 UpdateInternalGainValues(SuppressRadiationUpdate, SumLatentGains)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         B. Griffith
          !       DATE WRITTEN   Dec. 2011
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! <description>
          ! METHODOLOGY EMPLOYED:
          ! <description>
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
  USE DataHeatBalFanSys, ONLY: ZoneLatentGain
  USE DataContaminantBalance, ONLY: Contaminant, ZoneGCGain
  IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
  LOGICAL , OPTIONAL, INTENT(IN)  :: SuppressRadiationUpdate
  LOGICAL , OPTIONAL, INTENT(IN)  :: SumLatentGains
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  INTEGER :: Loop
  INTEGER :: NZ
  LOGICAL :: DoRadiationUpdate
  LOGICAL :: ReSumLatentGains
  DoRadiationUpdate = .TRUE.
  ReSumLatentGains  = .FALSE.
  IF (PRESENT(SuppressRadiationUpdate)) THEN
    IF (SuppressRadiationUpdate) DoRadiationUpdate = .FALSE.
  ENDIF
  IF (PRESENT(SumLatentGains)) THEN
    IF (SumLatentGains) ReSumLatentGains = .TRUE.
  ENDIF
! store pointer values to hold generic internal gain values constant for entire timestep
  DO NZ = 1, NumOfZones
    DO Loop=1, ZoneIntGain(NZ)%NumberOfDevices
      ZoneIntGain(NZ)%Device(Loop)%ConvectGainRate         = ZoneIntGain(NZ)%Device(Loop)%PtrConvectGainRate
      ZoneIntGain(NZ)%Device(Loop)%ReturnAirConvGainRate   = ZoneIntGain(NZ)%Device(Loop)%PtrReturnAirConvGainRate
      IF (DoRadiationUpdate) ZoneIntGain(NZ)%Device(Loop)%RadiantGainRate         = ZoneIntGain(NZ)%Device(Loop)%PtrRadiantGainRate
      ZoneIntGain(NZ)%Device(Loop)%LatentGainRate          = ZoneIntGain(NZ)%Device(Loop)%PtrLatentGainRate
      ZoneIntGain(NZ)%Device(Loop)%ReturnAirLatentGainRate = ZoneIntGain(NZ)%Device(Loop)%PtrReturnAirLatentGainRate
      ZoneIntGain(NZ)%Device(Loop)%CarbonDioxideGainRate   = ZoneIntGain(NZ)%Device(Loop)%PtrCarbonDioxideGainRate
      ZoneIntGain(NZ)%Device(Loop)%GenericContamGainRate   = ZoneIntGain(NZ)%Device(Loop)%PtrGenericContamGainRate
    ENDDO
    IF (ReSumLatentGains) THEN
      CALL SumAllInternalLatentGains(NZ, ZoneLatentGain(NZ))
    ENDIF
  ENDDO
  If (Contaminant%GenericContamSimulation .AND. ALLOCATED(ZoneGCGain)) Then
    DO NZ = 1, NumOfZones
      CALL SumAllInternalGenericContamGains(NZ, ZoneGCGain(NZ) )
      ZnRpt(NZ)%GCRate = ZoneGCGain(NZ)
    ENDDO
  END IF
  RETURN
END SUBROUTINE UpdateInternalGainValues