Up|<<Prev|Next>>


5.4 NetCDFファイルの生成: NF_CREATE

この関数によって新規のNetCDFファイルが生成されます。これによって返されたNetCDF IDは他のNetCDF関数呼び出しにおいてこのファイルファイルを参照するために使用できます。書き込みアクセス用に開かれ、定義モードになっているNetCDFファイルファイルに、新しい次元・変数・属性などを加えることが出来ます。

生成モードのフラグによって、既存の同一名のファイルを上書きするか、及びファイルへのアクセスが共有されるかなどを指定できます。

 

INTEGER FUNCTION NF_CREATE (CHARACTER*(*) PATH, INTEGER CMODE,

INTEGER ncid)

 

PATH

新しいNetCDFファイルの名前

CMODE

生成モード。零値 (又は NF_CLOBBER )はデフォルトステータスを指定します:既存の同一名のファイルは上書き、及び効率のためにアクセスをバッファリングおよびキャッシュする。

それ以外の場合は、生成モードは NF_NOCLOBBER NF_SHARE 、 又は IOR(NF_NOCLOBBER, NF_SHARE) にあります。 NF_NOCLOBBER フラグを立てることによって 既存のファイルを上書きしないことを表明できます。既に指定されたファイルが存在する場合には、エラー ( NF_EEXIST )が返されます。 NF_SHARE フラグはファイルに書き込む処理とファイルを読み取る処理が一つもしくは複数行なわれている場合に適切です。 これによって、ファイルへのアクセスはバッファーされず、キャッシュも制限されます。バッファー機構は連続アクセスに対して最適化されているので、データを連続的にアクセスしないプログラムにおいては NF_SHARE フラグを設定することによりパフォーマンスの向上が望めます。

ncid

出力されたNetCDF ID.

 

エラーが発生していない場合には、 NF_CREATE NF_NOERR の値を返します。 エラーの原因として下記が挙げられます。

 

この例では、 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)

Up|<<Prev|Next>>