MODULE Summer IMPLICIT NONE REAL, SAVE :: fred = 0.0, joe = 0.0, bill = 0.0 END MODULE Summer MODULE Summer_A CONTAINS SUBROUTINE A USE Summer, ONLY : fred IMPLICIT NONE fred = fred+1.23 END SUBROUTINE A END MODULE Summer_A MODULE Summer_B CONTAINS SUBROUTINE B USE Summer, ONLY : fred, joe IMPLICIT NONE joe = fred+0.7 END SUBROUTINE B END MODULE Summer_B MODULE Summer_C CONTAINS SUBROUTINE C USE Summer, ONLY : fred, joe, bill IMPLICIT NONE bill = fred+joe END SUBROUTINE C END MODULE Summer_C MODULE Summer_D CONTAINS SUBROUTINE D USE Summer, ONLY : bill IMPLICIT NONE PRINT *, bill END SUBROUTINE D END MODULE Summer_D