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 CalcSingZoneMinHumSetPoint(SetPtMgrNum)
! SUBROUTINE INFORMATION:
! AUTHOR Fred Buhl
! DATE WRITTEN October 2000
! MODIFIED Shirey/Raustad Jan 2002
! Gu, Dec 2007
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! From humidity load of the control zone, calculate the supply air humidity
! needed to meet the minimum humidity setpoint
! METHODOLOGY EMPLOYED:
! Zone moisture load from ZoneTempPredictorCorrector (via DataZoneEnergyDemands)
! is used to calculate the minimum supply air humidity ratio
! needed to meet minimum zone relative humidity requirement
! REFERENCES:
! na
! USE STATEMENTS:
USE DataHVACGlobals, ONLY: SmallMassFlow
USE DataZoneEnergyDemands, ONLY: ZoneSysMoistureDemand
USE Psychrometrics, ONLY:PsyWFnTdbRhPb
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 :: ZoneNode
REAL(r64) :: ZoneMassFlow
!REAL(r64) :: RelHumSet
!REAL(r64) :: ZoneHumRatSet
INTEGER :: ZoneNum
REAL(r64) :: MoistureLoad ! Zone moisture load (kg moisture/second) required to meet the relative humidity setpoint
! Value obtained from ZoneTempPredictorCorrector (via ZoneSysMoistureDemand in DataZoneEnergyDemands)
REAL(r64) :: SupplyAirHumRat ! Desired air humidity ratio
SZMinHumSetPtMgr(SetPtMgrNum)%SetPt = 0.0d0
! Only use one zone for now
ZoneNode = SZMinHumSetPtMgr(SetPtMgrNum)%ZoneNodes(1)
ZoneMassFlow = Node(ZoneNode)%MassFlowRate
ZoneNum = SZMinHumSetPtMgr(SetPtMgrNum)%ZoneNum(1)
IF (ZoneMassFlow.GT.SmallMassFlow) THEN
MoistureLoad= ZoneSysMoistureDemand(SZMinHumSetPtMgr(SetPtMgrNum)%ZoneNum(1))%OutputRequiredToHumidifyingSP
SupplyAirHumRat = MAX(0.0d0, Node(ZoneNode)%HumRat + MoistureLoad/ZoneMassFlow)
! Positive Humidity Ratio MoistureLoad means a humidification load and only humidifying can raise up to a minimum
! IF(MoistureLoad .GT. 0.0) SZMinHumSetPtMgr(SetPtMgrNum)%SetPt = SupplyAirHumRat
SZMinHumSetPtMgr(SetPtMgrNum)%SetPt = SupplyAirHumRat
END IF
RETURN
END SUBROUTINE CalcSingZoneMinHumSetPoint