読者です 読者をやめる 読者になる 読者になる

セーブデータの命名

programming fortran

いろいろ考えたけどメンドイのでこんな感じにしようと思う(コードの一部)。

  real(8), intent(in) :: t_hat
  character(len=72) :: file_save
  write(file_save,"('./restart/t_hat_'i3.3,f9.8,'.sav')") int(t_hat), t_hat

ただし、t_hat は羽ばたき周期 t/T のこと。

f9.8 のところは別に f8.7 でも f7.6 でも問題ないとは思うけどとりあえず。dt が小さいときにも一つ前のセーブファイルと確実に違う名前になればなんでもいい。f9.8 は過剰品質だけどまぁいいや。整数部の方は1000周期も計算しないだろうから十分だろう。

これを使うと、./restartディレクトリの中に、たとえば「t_hat_000.00055556.sav」みたいなセーブデータが出力される(もちろんこんな開始直後のデータをセーブしても意味ないんだけど、これはデバッグ用)。

[2011-05-05追記]
…とか思ったけど普通にステップ数で命名すりゃいいよね…。