Consider
SUBROUTINE calculate_pay IMPLICIT NONE EXTERNAL hex REAL :: pay, tax pay = ...; tax = ... CALL print_pay CONTAINS SUBROUTINE print_pay REAL :: tax_paid tax_paid = pay*tax; PRINT*, tax_paid CALL change_pay; PRINT*, pay*tax CALL hex END SUBROUTINE print_pay SUBROUTINE change_pay pay = ...; tax = ... END SUBROUTINE change_pay END SUBROUTINE calculate_pay SUBROUTINE hex REAL :: pay, tax ... END SUBROUTINE hex
For more information, click here