6.1 次元を生成する: nc_def_dim
関数nc_def_dim 等は定義モード中であれば、新しい次元をオープンされたNetCDFファイルに加えることができます。NetCDFのID、次元名、次元長を与えると、(引数として)次元IDを返します。最大で一つの無制限次元(記録次元)がNetCDFファイルごとに定義できます。
int nc_def_dim (int ncid, const char *name, size_t len, int *dimidp);
エラー
エラーが発生していなければ、nc_def_dim は NC_NOERR の値を返します。それ以外の場合には返されたステータスがエラーの発生を示します。エラーの原因としては:
・ NetCDFファイルが定義モードにない。
・ 指定された次元名は別の既存の次元名である。
・ 指定された次元長が零より大きくない。
・ 指定された次元長は無制限であるが、そのNetCDFファイル内に既に無制限の次元長を持つ次元が定義されている。
・ 指定されたNetCDF IDがオープンされているNetCDFファイルを参照しない。
例
これはnc_def_dim 機能を使用して次元名lat・次元長18、そして次元名 rec・次元長 無制限の二つの次元を持つ新しい foo.ncというNetCDFファイルを生成する例です:
#include <netcdf.h>
…
int status, ncid, latid, recid;
…
status = nc_create("foo.nc", NC_NOCLOBBER, &ncid);
if (status != NC_NOERR) handle_error(status);
…
status = nc_def_dim(ncid, "lat", 18L, &latid);
if (status != NC_NOERR) handle_error(status);
status = nc_def_dim(ncid, "rec", NC_UNLIMITED, &recid);
if (status != NC_NOERR) handle_error(status);
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |