ちなみに何故>>81で勘違いしたかですが、下のようなテストをしたところ
sub2でもi=1だったので、変数iはsave属性なのかと思ったためでした。
同じモジュール中の変数をuseしたから同じもの(実体)を見てるだけで
あって、save属性が付いているわけではない、が正解でしょうか?

以下、ソース(行頭タブは全角スペースにしてます)
module module0
 implicit none
 integer::i
contains
 subroutine set(j)
  integer,intent(in)::j
  i=j
  end subroutine
end module

subroutine sub1
 use module0
 call set(1)
 print *, 'in sub1 : i=' , i
end subroutine

subroutine sub2
 use module0
 print *, 'in sub2 : i=' , i
end subroutine

program main
 call sub1
 call sub2
end program