Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(CFSTY), | intent(inout) | :: | FS | |||
integer, | intent(in) | :: | DiffBeamFlag | |||
real(kind=r64), | intent(out) | :: | Abs1(CFSMAXNL+1,2) | |||
real(kind=r64), | intent(in) | :: | IncA | |||
real(kind=r64), | intent(in) | :: | VProfA | |||
real(kind=r64), | intent(in) | :: | HProfA |
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 CalcEQLWindowOpticalProperty(FS, DiffBeamFlag, Abs1, IncA, VProfA, HProfA)
!
! SUBROUTINE INFORMATION:
! AUTHOR University of WaterLoo
! DATE WRITTEN unknown
! MODIFIED Bereket Nigusse, May 2013
!
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Calculates absorptance for each layer, and transmittance of the
! fenestration for beam and diffuse solar radiation
! METHODOLOGY EMPLOYED:
! uses routine developed for ASHRAE RP-1311 (ASHWAT Model). Uses net radiation
! method.
!
! REFERENCES:
! na
!
! USE STATEMENTS:
! na
IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS:
TYPE (CFSTY), INTENT(INOUT) :: FS ! fenestration system
INTEGER, INTENT(IN) :: DiffBeamFlag ! isDIFF: calc diffuse properties
! else: isBEAM
REAL(r64), INTENT(OUT) :: Abs1( CFSMAXNL+1, 2)
! returned: layer abs for unit (1 W/m2) incident
! if beam, Abs1( :, 1) = abs for IncA
! Abs1( :, 2) = trans Beam-Diffuse only
! if diff, Abs1( :, 1) = abs for outside diff
! Abs1( :, 2) = abs for inside diff
REAL(r64), INTENT(IN) :: IncA ! angle of incidence, radians
REAL(r64), INTENT(IN) :: VProfA ! inc solar vertical profile angle, radians
! + = up-from-horizontal
REAL(r64), INTENT(IN) :: HProfA ! inc solar horizontal profile angle, radians
! + = west-of-normal
! convect coefficients, W/m2-K
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
TYPE( CFSSWP) :: SWP_ON(CFSMAXNL)
INTEGER :: NL
INTEGER :: I
INTEGER :: iL
LOGICAL :: DoShadeControlR
! Flow
NL = FS%NL
ABS1 = 0.0d0
IF (FS%ISControlled) THEN ! at least 1 controlled layer found
DO iL = 1, NL
! If there is shade control (Venetian Blind Only).
IF ( IsControlledShade(FS%L(iL)) ) THEN
DoShadeControlR = DoShadeControl( FS%L( iL), IncA, VProfA, HProfA)
ENDIF
END DO
END IF
IF (DiffBeamFlag /= isDIFF) THEN
! Beam: Convert direct-normal solar properties to off-normal properties
DO I = 1, NL
CALL ASHWAT_OffNormalProperties( FS%L( I), IncA, VProfA, HProfA, SWP_ON( I))
END DO
CALL ASHWAT_Solar( FS%NL, SWP_ON, SWP_ROOMBLK, 1.0d0, 0.0d0, 0.0d0, Abs1( :, 1), Abs1( :, 2))
ELSE
! diffuse
CALL ASHWAT_Solar( FS%NL, FS%L%SWP_EL, SWP_ROOMBLK, 0.0d0, 1.0d0, 0.0d0, Abs1( :, 1))
CALL ASHWAT_Solar( FS%NL, FS%L%SWP_EL, SWP_ROOMBLK, 0.0d0, 0.0d0, 1.0d0, Abs1( :, 2))
!CFSFenProp = LOK1 .AND. LOK2
END IF
RETURN
END SUBROUTINE CalcEQLWindowOpticalProperty