What do you mean by a subroutine in Fortran?
When a programmer writes the subroutine statement in a program, then subroutine can modify its arguments, but it does not return a value.
subroutine name(arg1, arg2, ....)
[declarations, including those for the arguments]
end subroutine [name]
A subroutine is invokes using the call statement.