An external procedure may invoke a further external procedure,
SUBROUTINE sub1(a,b,c) IMPLICIT NONE EXTERNAL sum_sq !Must declare REAL :: a, b, c, s ... CALL sum_sq(a,b,c,s) ... END SUBROUTINE sub1
calls,
SUBROUTINE sum_sq(aa,bb,cc,ss) IMPLICIT NONE REAL, INTENT(IN) :: aa, bb, cc REAL, INTENT(OUT) :: ss ss = aa*aa + bb*bb + cc*cc END SUBROUTINE sum_sq
A procedure is internal if it lies between the CONTAINS\ statement and the END statement of a program unit.
For more information, click here