TOC PREV NEXT INDEX

Put your logo here!


5.4 NetCDFファイルの生成: nc_create


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

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

用法
int nc_create (const char* path, int cmode, int *ncidp);
path 新しいNetCDFファイルの名前
cmode 生成モード。零値(またはNC_CLOBBER)はデフォルトステータス(既存の同一名のファイルは上書きし、また、効率のためにアクセスをバッファリングおよびキャッシュを行う)を指定します。 それ以外の場合は、生成モードはNC_NOCLOBBERNC_SHARE、またはNC_NOCLOBBER|NC_SHAREです。NC_NOCLOBBERフラグを立てることによって既存のファイルを上書きしないことを宣言できます。既に指定されたファイルが存在する場合には、エラー(NC_EEXIST)が返されます。NC_SHAREフラグはファイルに書き込む処理とファイルを読み取る処理が一つもしくは複数行なわれている場合に適当です。これによって、ファイルへのアクセスはバッファーされず、キャッシュも制限されます。バッファー機構は連続アクセスに対して最適化されているので、データを連続的にアクセスしないプログラムにおいてはNC_SHAREフラグを設定することによりパフォーマンスの向上が望めます。
ncidp 出力NetCDF IDが格納される場所へのポインタ

エラー

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

・ 存在しないディレクトリを含むファイルを渡している。
・ 既存のファイル名もしくはファイルを指定しながら、NC_NOCLOBBERも同時に指定している。
・ 生成モードにとって無意味な値を与えている。
・ ファイルの作成が許可されていないディレクトリに新しいNetCDFファイルを生成しようとしている。

この例では、foo.ncと言う名前のNetCDFファイルを生成します。現行のディレクトリに同一名のファイルが存在しない場合に限り、新しいファイルを生成します。

#include <netcdf.h>

int status;
int ncid;

status = nc_create("foo.nc", NC_NOCLOBBER, &ncid);
if (status != NC_NOERR) handle_error(status);



Quadralay Corporation
http://www.webworks.com
Voice: (512) 719-3399
Fax: (512) 719-3606
sales@webworks.com
TOC PREV NEXT INDEX