ファイル名を変更
BOSSが書いた Fortran のプログラムを変更中。パラメータを変更しながら計算し、計算結果を出力するファイルのファイル名にパラメータが使われるようになっている。
I2=INT(LAMBDA*1.D0) WRITE(FNA,'(I4)') I2 I2=INT(ALPHA*10.D0) WRITE(FNA2,'(I3)') I2 C OPEN(1,FILE='DI4'//THNUM//'-'//FNA//FNA2//'.dat',STATUS='UNKNOWN')
このままでは、ファイル名にスペースが入る。計算結果を gnuplot でグラフ化するなど、shell script で使うときに面倒なのである。そこでファイル名のスペースをアンダスコアになるように変更した。やってることは、doループで文字列中のスペースをアンダスコアに置き換えるだけ。プログラムの初期化ルーチンに短いループが入るだけなので、全体の計算時間にはまったく影響しない。
I2=INT(LAMBDA*1.D0) WRITE(FNA,'(I4)') I2 do j=1,8 if ( FNA(j:j) .EQ. ' ' ) FNA(j:j)='_' end do I2=INT(ALPHA*10.D0) WRITE(FNA2,'(I3)') I2 do j=1,5 if ( FNA2(j:j) .EQ. ' ' ) FNA2(j:j)='_' end do C OPEN(1,FILE='DI4'//THNUM//'-'//FNA//FNA2//'.dat',STATUS='UNKNOWN')