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(inout) | :: | ErrorsFound |
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 GetDisplacementVentData(ErrorsFound)
! SUBROUTINE INFORMATION:
! AUTHOR G. Carrilho da Graca
! DATE WRITTEN January 2004
! MODIFIED
! RE-ENGINEERED
! PURPOSE OF THIS SUBROUTINE:
! Get UCSD Displacement ventilation model controls for all zones at once
! METHODOLOGY EMPLOYED:
! Use input processor to get input from idf file
! REFERENCES:
! na
! USE STATEMENTS:
USE InputProcessor, ONLY : GetNumObjectsFound, GetObjectItem,FindItemInList
USE DataIPShortCuts
USE DataHeatBalance, ONLY : Zone
USE ScheduleManager
USE DataSurfaces, ONLY : TotSurfaces
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
LOGICAL, INTENT(INOUT) :: ErrorsFound ! True if errors found during this get input routine
! SUBROUTINE PARAMETER DEFINITIONS
CHARACTER(len=*), PARAMETER :: Blank=' '
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: IOStat
INTEGER :: NumAlpha
INTEGER :: NumNumber
INTEGER :: Loop
IF (.not. UCSDModelUsed) RETURN
cCurrentModuleObject = 'RoomAirSettings:ThreeNodeDisplacementVentilation'
TotUCSDDV=GetNumObjectsFound(cCurrentModuleObject)
IF (TotUCSDDV <= 0) RETURN
ALLOCATE(ZoneUCSDDV(TotUCSDDV))
DO Loop=1,TotUCSDDV
CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
AlphaBlank=lAlphaFieldBlanks, AlphaFieldnames=cAlphaFieldNames, NumericFieldNames=cNumericFieldNames)
! First is Zone Name
ZoneUCSDDV(Loop)%ZoneName = cAlphaArgs(1)
ZoneUCSDDV(Loop)%ZonePtr = FindIteminList(cAlphaArgs(1),Zone%Name,NumOfZones)
IF (ZoneUCSDDV(Loop)%ZonePtr == 0) THEN
CALL ShowSevereError('Invalid '//TRIM(cAlphaFieldNames(1))//' = '//TRIM(cAlphaArgs(1)) )
CALL ShowContinueError('Entered in '//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) )
CALL ShowContinueError('Zone Name not found.')
ErrorsFound=.true.
ELSE
IsZoneDV(ZoneUCSDDV(Loop)%ZonePtr)=.true.
ENDIF
! Second Alpha is Schedule Name
ZoneUCSDDV(Loop)%SchedGainsName = cAlphaArgs(2)
ZoneUCSDDV(Loop)%SchedGainsPtr = GetScheduleIndex(cAlphaArgs(2))
IF (ZoneUCSDDV(Loop)%SchedGainsPtr == 0) THEN
IF (lAlphaFieldBlanks(2) ) THEN
CALL ShowSevereError('Invalid '//TRIM(cAlphaFieldNames(2))//' = '//TRIM(cAlphaArgs(2)) )
CALL ShowContinueError('Entered in '//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) )
CALL ShowContinueError(' Schedule name must be input.')
ErrorsFound=.true.
ELSE
CALL ShowSevereError('Invalid '//TRIM(cAlphaFieldNames(2))//' = '//TRIM(cAlphaArgs(2)) )
CALL ShowContinueError('Entered in '//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) )
CALL ShowContinueError('Schedule name was not found.')
ErrorsFound=.true.
ENDIF
ENDIF
ZoneUCSDDV(Loop)%NumPlumesPerOcc = rNumericArgs(1)
ZoneUCSDDV(Loop)%ThermostatHeight = rNumericArgs(2)
ZoneUCSDDV(Loop)%ComfortHeight = rNumericArgs(3)
ZoneUCSDDV(Loop)%TempTrigger = rNumericArgs(4)
END DO
RETURN
END SUBROUTINE GetDisplacementVentData