Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | AMa | |||
real(kind=r64), | intent(in) | :: | a0 | |||
real(kind=r64), | intent(in) | :: | a1 | |||
real(kind=r64), | intent(in) | :: | a2 | |||
real(kind=r64), | intent(in) | :: | a3 | |||
real(kind=r64), | intent(in) | :: | a4 |
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 SandiaF1(AMa,a0,a1,a2,a3,a4)
! FUNCTION INFORMATION:
! AUTHOR G. Barker
! DATE WRITTEN <unknown>
! MODIFIED na
! RE-ENGINEERED B. Griffit F77-> f90
! PURPOSE OF THIS FUNCTION:
! Returns the result of Sandia Air Mass function
! "AMa-Function" for solar spectral influence
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! Equation (8) 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) :: AMa ! absolute air mass
REAL(r64), INTENT(IN) :: a0 ! empirical constant, module-specific
REAL(r64), INTENT(IN) :: a1 ! empirical constant, module-specific
REAL(r64), INTENT(IN) :: a2 ! empirical constant, module-specific
REAL(r64), INTENT(IN) :: a3 ! empirical constant, module-specific
REAL(r64), INTENT(IN) :: a4 ! empirical constant, module-specific
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: F1 !working variable for function result
F1 = a0 + a1*AMa + a2*AMa**2 + a3*AMa**3 + a4*AMa**4
IF (F1.GT.0.0d0) THEN
SandiaF1 = F1
ELSE
SandiaF1 = 0.0d0
ENDIF
END FUNCTION SandiaF1