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 | ||
---|---|---|---|---|---|---|
real(kind=r64) | :: | Property(37) |
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.
REAL(r64) FUNCTION DiffuseAverageProfAngSky(Property)
! FUNCTION INFORMATION:
! AUTHOR Fred Winkelmann
! DATE WRITTEN January 2004
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! Calculates diffuse average of Property, such as blind transmittance, over profile angles
! corresponding to (downgoing) radiation from the sky.
! METHODOLOGY EMPLOYED:
! Integration by Simpson's rule assuming uniform radiance distribution.
USE General, ONLY: InterpProfAng
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64) :: Property(37) ! Property value vs. profile angle
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: Phi ! Profile angle (radians)
REAL(r64) :: DPhi ! Phi increment
INTEGER :: IPhi ! Phi index
REAL(r64) :: Sum,SumDenom ! Sums
Sum = 0.0d0
SumDenom = 0.0d0
DPhi = 5.d0*DegToRadians
! Integrate from 0 to 90 deg
DO IPhi = 19,36
Phi = -PiOvr2 + (IPhi-0.5d0)*DPhi
Sum = Sum + COS(Phi)*DPhi*InterpProfAng(Phi,Property)
SumDenom = SumDenom + COS(Phi)*Dphi
END DO
DiffuseAverageProfAngSky = Sum/SumDenom
IF (DiffuseAverageProfAngSky < 0.0d0) DiffuseAverageProfAngSky=0.0d0
RETURN
END FUNCTION DiffuseAverageProfAngSky