Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | IncAng | |||
real(kind=r64), | intent(in) | :: | b0 | |||
real(kind=r64), | intent(in) | :: | b1 | |||
real(kind=r64), | intent(in) | :: | b2 | |||
real(kind=r64), | intent(in) | :: | b3 | |||
real(kind=r64), | intent(in) | :: | b4 | |||
real(kind=r64), | intent(in) | :: | b5 |
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 SandiaF2(IncAng,b0,b1,b2,b3,b4,b5)
! FUNCTION INFORMATION:
! AUTHOR G. Barker
! DATE WRITTEN <unknown>
! MODIFIED na
! RE-ENGINEERED B. Griffith Jan 2004 F77-> f90
! PURPOSE OF THIS FUNCTION:
! C Returns Sandia F2 function
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! Equation (9) in Davis, M.W., A.H. Fanney, B.P. Dougherty. Measured versus
! predicted performance of building integrated photovoltaics,
! Solar 2002, Sunrise on the Reliable Energy Economy,
! June 15-19, 2002, Reno, NV.
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: IncAng ! incidence angle (deg)
REAL(r64), INTENT(IN) :: b0 ! empirical module-specific constants
REAL(r64), INTENT(IN) :: b1 ! empirical module-specific constants
REAL(r64), INTENT(IN) :: b2 ! empirical module-specific constants
REAL(r64), INTENT(IN) :: b3 ! empirical module-specific constants
REAL(r64), INTENT(IN) :: b4 ! empirical module-specific constants
REAL(r64), INTENT(IN) :: b5 ! empirical module-specific constants
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: F2 ! working variable for function result
F2 = b0+b1*IncAng+b2*IncAng**2+b3*IncAng**3+b4*IncAng**4 &
+ b5*IncAng**5
IF (F2.GT.0.0d0) THEN
SandiaF2 = F2
ELSE
SandiaF2 = 0.0d0
ENDIF
END FUNCTION SandiaF2