fortran データ出力について
解決したいこと
1ステップごとにファイルに出力しているところを、容量が大きくなりすぎるので1000ステップごとに出力したいのですが,if (mod(istep,1000).eq.0)をつけるとファイルに書き込まれなくなりました。1ステップごとなら書き込まれるのに何が原因なのでしょうか?
発生している問題・エラー
open(40,file ='s_heikinn1102_time_series.dat')でファイルを生成し、そこにデータを記入していきたいがプログラミングを実行してもそこに書き込まれない。
該当するソースコード
do istep =1,10000
if (mod(istep,iout).eq.0) write(*,100) 'istep = ',istep, ', ux(NXmax/2,0)=',ux(NXmax/2,0) !ターミナルに書き込まれる 反応する
if (mod(istep,iout).eq.0) call output(nu,ux,uy,siita,istep) !dataファイルに書き込まれる 反応する
call march(nu,ux,uy,siita) !時間発展 反応する
if (mod(istep,iout).eq.0) then !ここがうまくいってない
call siita_heikinn(siita,s_heikinn) !s_heikinnを出力する
write(40,'(5e14.6)') dt*real(istep),s_heikinn
endif
enddo
### 自分で試したこと
自分では解決できませんでした。どなたかご存じの方よろしくお願いします。
0