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 GetGroundReflectances(ErrorsFound)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN March 2002
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This file reads the Ground Reflectances from the input file (optional) and
! places them in the monthly array.
! 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'
I=GetNumObjectsFound(cCurrentModuleObject)
IF (I /=0) THEN
ALLOCATE(GndProps(12))
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)
IF (GndNumProp < 12) THEN
CALL ShowSevereError(TRIM(cCurrentModuleObject)//': Less than 12 values entered.')
ErrorsFound=.true.
ENDIF
!Assign the ground reflectances to the variable
GroundReflectances(1:12) = GndProps(1:12)
ELSE
CALL ShowSevereError(TRIM(cCurrentModuleObject)//': Too many objects entered. Only one allowed.')
ErrorsFound=.true.
ENDIF
DEALLOCATE(GndProps)
DEALLOCATE(GndAlphas)
ENDIF
! Write Final Ground Reflectance Information to the initialization output file
Write(OutputFileInits,'(A)') '! <Site:GroundReflectance>, Months From Jan to Dec {dimensionless}'
Write(OutputFileInits,720) (GroundReflectances(I),I=1,12)
720 Format(' Site:GroundReflectance',12(', ',F5.2))
RETURN
END SUBROUTINE GetGroundReflectances