オプションF_ERROPTnを利用することで、エラーを抑制(回避)することが可能です。
setenv F_ERROPTn n1,n2,alt,err,m,t,a,cnt
n,n1,n2,alt,err,m,t,a,cntに、それぞれパラメータを設定する必要があります。
使用例
実行時に下記のようなエラーが出力される場合
271 DPWR -> underflow in D**I : D=XXX I=YYY PROG=test ELN=ZZ(ZZZZ) TASKID=1
ジョブスクリプトに下記のようにオプションを指定することで、
プログラム実行時に該当するエラーを検出せずに、動作し続けるようになります。
setenv F_ERROPT1 271,271,2,2,2,2,2,2
設定内容は下記のようになります。
F_ERROPT1 …F_ERROPT1~F_ERROPT9までを設定することができます。
複数指定した場合、値の小さい方から評価されます。今回は1つだけなので"1"を指定しています。
271,271, …制御を変更したいエラーの「エラー番号」を指定します。複数指定が可能で、始点終点をコンマ区切りで指定します。
今回は271番のエラーのみなので、始点終点に271を指定しています。
2, …利用者エラー処理ルーチンの実行有無を設定します。この例では「実行しない」設定にしています。
2, …入出力文にERR 指定子が指定されている場合に、指定された文へ制御を移すかどうかを指定します。
この例では「制御を移さない」設定にしています。
2, …エラーメッセージを出力するかどうかを指定します。この例では「出力しない」設定にしています。
2, …トレースバックメッセージを出力するかどうかを指定します。この例では「出力しない」設定にしています。
2, …エラー検出時にプログラムを終了するかどうかを指定します。この例では「終了しない」設定にしています。
2 …エラー検出時にエラー発生回数に数えるかどうかを指定します。この例では「数えない」設定にしています。
上記オプションはエラーの根本解決にはなりませんので、多用はお勧めしません。
ご理解いただいた上で、ご利用ください。
詳細は「FORTRAN90/SXプログラミングの手引」のF_ERROPTnオプションの項をご覧ください。
FORTRAN90/SX プログラミングの手引(要認証)