5.11 最新の定義を取り消す: NF_ABORT
この関数は陽に、呼び出す必要はありません。ファイルが定義モード中に不具合が生じて変更を決定できない場合には、NF_CLOSEによって自動的に呼び出されます。関数NF_ABORTは定義モードに無い場合には、単にNetCDFファイルをクローズします。もし、ファイルが生成されている最中で、まだ定義モードにある場合には、ファイルは削除されます。NF_REDEFへの呼び出しによって定義モードに入った場合には、NetCDFファイルは定義モードに入る以前のステータスに復旧され、ファイルはクローズされます。
用法
INTEGER FUNCTION NF_ABORT(INTEGER NCID)
NCID 以前のNF_OPEN or NF_CREATE呼び出しで返されたNetCDF ID。
エラー
エラーが発生していなければ、NF_ABORTはNF_NOERRの値を返します。それ以外の場合には、返されたステータスがエラーを示します。エラーの原因として下記が挙げられます。
・ NetCDFファイル生成中に定義モードから呼ばれた際、ファイルの削除が失敗した。
・ 指定されたNetCDF ID がオープンされたNetCDFファイルを参照していない。
例
この例では NF_ABORT を使って、foo.ncというファイルの再定義を中止します。
INCLUDE 'netcdf.inc'
…
INTEGER STATUS, NCID, LATID
…
STATUS = NF_OPEN('foo.nc', NF_WRITE, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
…
STATUS = NF_REDEF(NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
…
STATUS = NF_DEF_DIM(NCID, 'LAT', 18, LATID)
IF (STATUS .NE. NF_NOERR) THEN ! 次元定義失敗
CALL HANDLE_ERR(STATUS)
STATUS = NF_ABORT(NCID) ! 再定義中止
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
ENDIF
…
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |