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) | :: | SetPtMgrNum |
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 CalcMixedAirSetPoint(SetPtMgrNum)
! SUBROUTINE INFORMATION:
! AUTHOR Fred Buhl
! DATE WRITTEN May 2001
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Starting with the setpoint at the reference node, subtract the supply fan
! temperature rise and set the resulting temperature at the mixed air node.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: SysSizingCalc, AnyEnergyManagementSystemInModel
USE DataHVACGlobals, ONLY: SetPointErrorFlag
USE EMSManager, ONLY: iTemperatureSetpoint, CheckIfNodeSetpointManagedByEMS
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT (IN) :: SetPtMgrNum ! number of the current setpoint manager being simulated
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: FanInNode ! supply fan inlet node number
INTEGER :: FanOutNode ! supply fan outlet node number
INTEGER :: RefNode ! setpoint reference node number
FanInNode = MixedAirSetPtMgr(SetPtMgrNum)%FanInNode
FanOutNode = MixedAirSetPtMgr(SetPtMgrNum)%FanOutNode
RefNode = MixedAirSetPtMgr(SetPtMgrNum)%RefNode
IF ( .NOT. SysSizingCalc .AND. MixedAirSetPtMgr(SetPtMgrNum)%MySetPointCheckFlag) THEN
RefNode = MixedAirSetPtMgr(SetPtMgrNum)%RefNode
IF (Node(RefNode)%TempSetPoint == SensedNodeFlagValue) THEN
IF (.NOT. AnyEnergyManagementSystemInModel) THEN
CALL ShowSevereError('CalcMixedAirSetPoint: Missing reference temperature setpoint for Mixed Air Setpoint Manager '// &
TRIM(MixedAirSetPtMgr(SetPtMgrNum)%Name))
CALL ShowContinueError('Node Referenced ='//TRIM(NodeID(RefNode)))
CALL ShowContinueError(' use an additional Setpoint Manager with Control Variable = "Temperature" to establish a '// &
'setpoint at this node.')
SetPointErrorFlag = .TRUE.
ELSE
! need call to check if this is the target of an EnergyManagementSystem:Actuator object
CALL CheckIfNodeSetpointManagedByEMS(RefNode,iTemperatureSetpoint, SetpointErrorFlag)
IF (SetpointErrorFlag) THEN
CALL ShowSevereError('CalcMixedAirSetPoint: Missing reference temperature setpoint for Mixed Air Setpoint Manager '// &
TRIM(MixedAirSetPtMgr(SetPtMgrNum)%Name))
CALL ShowContinueError('Node Referenced ='//TRIM(NodeID(RefNode)))
CALL ShowContinueError(' use an additional Setpoint Manager with Control Variable = "Temperature" to establish a '// &
'setpoint at this node.')
CALL ShowContinueError('Or add EMS Actuator to provide temperature setpoint at this node')
ENDIF
ENDIF
END IF
MixedAirSetPtMgr(SetPtMgrNum)%MySetPointCheckFlag = .FALSE.
END IF
MixedAirSetPtMgr(SetPtMgrNum)%SetPt = Node(RefNode)%TempSetPoint - (Node(FanOutNode)%Temp - Node(FanInNode)%Temp)
RETURN
END SUBROUTINE CalcMixedAirSetPoint