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.
SUBROUTINE CalcGroundTempSetPoint(SetPtMgrNum)
! SUBROUTINE INFORMATION:
! AUTHOR Chandan Sharma, FSEC
! DATE WRITTEN July 2011
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Set the setpoint based on current ground temperature
! METHODOLOGY EMPLOYED:
! Based on reference ground temperature object type specifed in the setpoint manager,
! the setpoint is calculated as GroundTemperature + Offset.
! The sign convention is that a positive Offset will increase the resulting setpoint.
! Final value of the setpoint is limited by the Max and Min limit specified in the setpoint manager.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataEnvironment, ONLY: GroundTemp_Deep, GroundTemp,GroundTemp_Surface, GroundTempFC
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 :: CtrldNodeNum ! index of the items in the controlled node list
REAL(r64) :: MinSetPoint ! minimum allowed setpoint
REAL(r64) :: MaxSetPoint ! maximum allowed setpoint
MaxSetPoint = GroundTempSetPtMgr(SetPtMgrNum)%MaxSetTemp
MinSetPoint = GroundTempSetPtMgr(SetPtMgrNum)%MinSetTemp
SELECT CASE(GroundTempSetPtMgr(SetPtMgrNum)%RefTypeMode)
CASE(iRefGroundTempObjType_BuildingSurface)
GroundTempSetPtMgr(SetPtMgrNum)%SetPt = GroundTemp + GroundTempSetPtMgr(SetPtMgrNum)%OffSet
CASE(iRefGroundTempObjType_Shallow)
GroundTempSetPtMgr(SetPtMgrNum)%SetPt = GroundTemp_Surface + GroundTempSetPtMgr(SetPtMgrNum)%OffSet
CASE(iRefGroundTempObjType_Deep)
GroundTempSetPtMgr(SetPtMgrNum)%SetPt = GroundTemp_Deep + GroundTempSetPtMgr(SetPtMgrNum)%OffSet
CASE(iRefGroundTempObjType_FCfactorMethod)
GroundTempSetPtMgr(SetPtMgrNum)%SetPt = GroundTempFC + GroundTempSetPtMgr(SetPtMgrNum)%OffSet
END SELECT
! Apply maximum and minimum values
GroundTempSetPtMgr(SetPtMgrNum)%SetPt = MAX(GroundTempSetPtMgr(SetPtMgrNum)%SetPt, MinSetPoint)
GroundTempSetPtMgr(SetPtMgrNum)%SetPt = MIN(GroundTempSetPtMgr(SetPtMgrNum)%SetPt, MaxSetPoint)
RETURN
END SUBROUTINE CalcGroundTempSetPoint