前提・実現したいこと
fortranで繰り返し計算をしようとしています。
出力ファイル(3種類):
output1.dat
output2.dat
output3.dat
となります。
繰り返しの場合、
入力ファイル(1000個):
input_0001.dat ~ input_1000.dat
出力ファイル(1000個×3種類):
output1_0001.dat ~ output1_1000.dat
output2_0001.dat ~ output2_1000.dat
output3_0001.dat ~ output3_1000.dat
として1000回計算をしたいです。
該当のソースコード
繰り返しなしの場合のコード(一部抜粋)です。メインプログラムです。
PARAMETER (NDATA=30,NM=7)
REAL4 RAIN(NDATA),QOBS(NDATA),X0(NM),SDX0(NM)
REAL4 QPRED(NDATA),QEST(0:NDATA),XMAT(NM,0:NDATA)
REAL4 RMSDAT(NDATA),QCAL(0:NDATA)
REAL8 X(NM)
CHARACTER*20 DSNIN,DSNOU1,DSNOU2,DSNOU3
C
C **** DATA INPUT *****
** DSNIN='input.dat'**
OPEN(UNIT=1,FILE=DSNIN,STATUS='OLD')
DO 50 I=1,NDATA
READ(1,*) RAIN(I),QOBS(I)
50 CONTINUE
CLOSE(1)
C```
C ============
CALL STOKAL(NDATA,RAIN,QOBS,X0,SDX0,SDW,SNPER,QPRED,QEST,XMAT)
DSNOU1='output1.dat'
DSNOU2='output2.dat'
CALL SKALOUT(NDATA,RAIN,QOBS,QPRED,QEST,XMAT,DSNOU1,DSNOU2)
C ===============================================================
C
C ****** OUTPUT OF X_MATRIX(K|K) *****
CALL PRI2S(XMAT,NM,NDATA,NM,NDATA,1,1,'X(K|K)')
C
C ****** RUNOFF ANALYSIS USING IDENTIFIED PAPAMETERS *****
DO 20 I=1,NM
X(I)=XMAT(I,NDATA)
20 CONTINUE
C ==============================================================
CALL STOFIX(NDATA,RAIN,X,QCAL)
DSNOU3='output3.dat'
CALL STOOUT(NDATA,RAIN,QOBS,QCAL,DSNOU3)
C ==============================================================
あなたの回答
tips
プレビュー