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 GetSnowGroundRefModifiers(ErrorsFound)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN March 2002
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This file reads the Snow Ground Reflectance Modifiers from the input file (optional) and
! places them in the variables.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataIPShortCuts
USE InputProcessor, ONLY: GetNumObjectsFound, GetObjectItem
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
LOGICAL, INTENT(INOUT) :: ErrorsFound
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: GndNumAlpha ! Number of construction alpha names being passed
INTEGER :: GndNumProp ! dummy variable for properties being passed
INTEGER :: IOStat ! IO Status when calling get input subroutine
Integer :: I ! Loop counter variable
CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: GndAlphas ! Construction Alpha names defined
REAL(r64), ALLOCATABLE, DIMENSION(:) :: GndProps !Temporary array to transfer ground reflectances
! FLOW:
cCurrentModuleObject='Site:GroundReflectance:SnowModifier'
I=GetNumObjectsFound(cCurrentModuleObject)
IF (I /=0) THEN
ALLOCATE(GndProps(2))
ALLOCATE(GndAlphas(1))
IF (I == 1) THEN
!Get the object names for each construction from the input processor
CALL GetObjectItem(cCurrentModuleObject,1,GndAlphas,GndNumAlpha, &
GndProps,GndNumProp,IOSTAT)
!Assign the ground reflectances to the variable
SnowGndRefModifier=GndProps(1)
SnowGndRefModifierForDayltg=GndProps(2)
ELSE
CALL ShowSevereError(TRIM(cCurrentModuleObject)//': Too many objects entered. Only one allowed.')
ErrorsFound=.true.
ENDIF
DEALLOCATE(GndProps)
DEALLOCATE(GndAlphas)
ENDIF
! Write Final Ground Reflectance Modifier Information to the initialization output file
Write(OutputFileInits,'(A)') '! <Site:GroundReflectance:SnowModifier>, Normal, Daylighting {dimensionless}'
Write(OutputFileInits,720) SnowGndRefModifier,SnowGndRefModifierForDayltg
720 Format(' Site:GroundReflectance:SnowModifier',2(', ',F7.3))
Write(OutputFileInits,'(A)') '! <Site:GroundReflectance:Snow>, Months From Jan to Dec {dimensionless}'
Write(OutputFileInits,721) ' Site:GroundReflectance:Snow',(MAX(MIN(GroundReflectances(I)*SnowGndRefModifier,1.0d0),0.0d0),I=1,12)
Write(OutputFileInits,'(A)') '! <Site:GroundReflectance:Snow:Daylighting>, Months From Jan to Dec {dimensionless}'
Write(OutputFileInits,721) ' Site:GroundReflectance:Snow:Daylighting', &
(MAX(MIN(GroundReflectances(I)*SnowGndRefModifierForDayltg,1.0d0),0.0d0),I=1,12)
721 Format(A,12(', ',F5.2))
RETURN
END SUBROUTINE GetSnowGroundRefModifiers