Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | NS | |||
integer, | intent(in) | :: | NumVertices |
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 HTRANS1(NS,NumVertices)
USE General, ONLY: TrimSigDigits
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
INTEGER, INTENT(IN) :: NS ! Figure Number
INTEGER, INTENT(IN) :: NumVertices ! Number of vertices
INTEGER N ! Loop Control (vertex number)
REAL(r64) SUM ! Sum variable
INTEGER(i64) :: ITEMP !
IF (NS > MaxHCS*2) THEN
CALL ShowFatalError('Solar Shading: HTrans1: Too many Figures (>'//TRIM(TrimSigDigits(MaxHCS))//')')
ENDIF
! only in HTRANS1
DO N = 1, NumVertices
ITEMP = NINT(XVS(N)*HCMULT,i64)
HCX(N,NS) = ITEMP
ITEMP = NINT(YVS(N)*HCMULT,i64)
HCY(N,NS) = ITEMP
END DO
HCNV(NS)=NumVertices
HCX(NumVertices+1,NS)=HCX(1,NS)
HCY(NumVertices+1,NS)=HCY(1,NS)
SUM=0.0D0
DO N = 1, NumVertices
HCA(N,NS) = HCY(N,NS) - HCY(N+1,NS)
HCB(N,NS) = HCX(N+1,NS) - HCX(N,NS)
HCC(N,NS) = (HCY(N+1,NS)*HCX(N,NS)) - (HCX(N+1,NS)*HCY(N,NS))
SUM = SUM + HCC(N,NS)
END DO
HCAREA(NS)=(0.5d0*SUM)/(sqHCMULT)
RETURN
END SUBROUTINE HTRANS1