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 InitEquivalentLayerWindowCalculations
! SUBROUTINE INFORMATION:
! AUTHOR Bereket Nigusse
! DATE WRITTEN May 2013
! MODIFIED na
!
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Initializes the optical properties for the Equivalent Layer (ASHWAT) Window
! model
!
! METHODOLOGY EMPLOYED:
! Gets the EquivalentLayer Window Layers Inputs. Fills in the derived data type
! based on the inputs specified.
!
! REFERENCES:
! na
! USE STATEMENTS:
! na
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE LOCAL VARIABLE DECLARATIONS
INTEGER :: ConstrNum ! Construction number
INTEGER :: EQLConNum ! Construction number for equivalent layer windows
INTEGER :: SurfNum ! surface number
! Flow
IF (TotWinEquivLayerConstructs < 1) RETURN
IF (.NOT. ALLOCATED( CFS) ) ALLOCATE( CFS(TotWinEquivLayerConstructs))
IF (.NOT. ALLOCATED( EQLDiffPropFlag) ) ALLOCATE( EQLDiffPropFlag(TotWinEquivLayerConstructs) )
IF (.NOT. ALLOCATED( CFSDiffAbsTrans) ) ALLOCATE( CFSDiffAbsTrans(TotWinEquivLayerConstructs,CFSMAXNL+1,2) )
EQLDiffPropFlag = .TRUE.
CFSDiffAbsTrans = 0.0d0
DO ConstrNum = 1,TotConstructs
IF (.NOT. Construct(ConstrNum)%TypeIsWindow) CYCLE !
IF (.NOT. Construct(ConstrNum)%WindowTypeEQL) CYCLE ! skip if not equivalent layer window
CALL SetEquivalentLayerWindowProperties(ConstrNum)
END DO ! end do for TotConstructs
DO SurfNum = 1, TotSurfaces
IF (.NOT. Construct(Surface(SurfNum)%Construction)%TypeIsWindow ) CYCLE
IF (.NOT. Construct(Surface(SurfNum)%Construction)%WindowTypeEQL) CYCLE
SurfaceWindow(SurfNum)%WindowModelType = WindowEQLModel
END DO ! end do for SurfNum
RETURN
END SUBROUTINE InitEquivalentLayerWindowCalculations