5.7 定義モードから抜ける: NF_ENDDEF
関数NF_ENDDEF が呼ばれるとオープンされたNetCDFファイルは定義モードから抜けます。定義モード中にNetCDFファイルに加えられた変更はチェックされ、問題がなければディスクに書き込まれます。この時、非記録変数を“フィル値”に初期化することも可能です。(5.12節「書き込みのフィルモードを設定する: NF_SET_FILL」(p.43)を参照。)NetCDFファイルはデータモードになり、変数データの読み取り・書き込みが可能になります。
この呼び出しは、場合によってデータをコピーする作業が含まれます。これに関しての詳細は 9章「NetCDFファイルの構造と性能」(p.99)にあります。
用法
INTEGER FUNCTION NF_ENDDEF(INTEGER NCID)
NCID 以前のNF_OPEN or NF_CREATE呼び出しで返されたNetCDF ID
エラー
エラーが発生していなければ、NF_ENDDEFはNF_NOERRの値を返します。それ以外の場合には、返されたステータスがエラーを示します。エラーの原因として下記が挙げられます。
・ 指定されたNetCDFファイルが定義モードに無い。
・ 指定されたNetCDF IDが開いているNetCDFファイルを参照していない。
例
この例はNF_ENDDEFを使ってfoo.ncというNetCDFファイルの定義モードを終了し、データモードにします。
INCLUDE 'netcdf.inc'
…
INTEGER NCID, STATUS
…
STATUS = NF_CREATE('foo.nc', NF_NOCLOBBER, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
… ! 次元・変数・属性を生成
STATUS = NF_ENDDEF(NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |