Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(CFSLAYER), | intent(in) | :: | L | |||
real(kind=r64), | intent(in) | :: | OMEGA_DEG |
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 VB_CriticalSlatAngle(L, OMEGA_DEG)
!
! FUNCTION INFORMATION:
! AUTHOR JOHN L. WRIGHT, University of Waterloo, Mechanical Engineering
! Advanced Glazing System Laboratory
! DATE WRITTEN unknown
! MODIFIED na
!
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! Returns slat angle that just excludes beam radiation.
!
! METHODOLOGY EMPLOYED:
! na
!
! REFERENCES:
! na
!
! USE STATEMENTS:
! na
!
IMPLICIT NONE
! FUNCTION ARGUMENT DEFINITIONS:
TYPE( CFSLAYER), INTENT( IN) :: L ! VB layer
REAL(r64), INTENT( IN) :: OMEGA_DEG ! incident profile angle (degrees)
!
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: RAT
! Flow
! TODO handle vert blind cases etc
RAT = L%S * COS( OMEGA_DEG) / L%W
! limit upward slat angle to horiz = max visibility
VB_CriticalSlatAngle = MAX( 0.d0, RadiansToDeg * ASIN( RAT) - OMEGA_DEG)
RETURN
END FUNCTION VB_CriticalSlatAngle