.f を .f90 に変更し、Mac (OSX 10.7) で gfortran を使用してコンパイルしたところ、次の行でコンパイルに失敗することがわかりました。
PartPos(1:3,1+nstart:nstart+npart(1))= pos(1:3, 1 + npart(0)):sum(npart(0:1)))
さらに上に割り当てられ、定義されます。
real*4,allocatable :: PartPos(:,:)
...
allocate(PartPos(1:3, 1:Ntot))
それでうまくいくはずです。最初の行をコメントアウトすると、コードは完全にコンパイルされます。私の理解では、2つの唯一の違いはフォーマットです(これは私に影響を与える可能性があります)。誰かが私に欠けているものを教えてもらえますか。申し訳ありませんが、私は Fortran を初めて使用し、ここに来る前にかなり長い間解決策を探していました。前もって感謝します。
私の(やや役に立たない)エラー出力:
PartPos(1:3,1+nstart:nstart+npart(1))= pos(1:3, 1 + npart(0)):sum(npart(0
1
Error: Unclassifiable statement at (1)
以下を使用してコンパイル:
>> gfortran program_test.f90 -o program_test