Up|<<Prev|Next>>


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);

 

ncid

以前の nc_open 又は nc_create 呼び出しで返されたNetCDF ID。

name

次元名。アルファベットの文字で始まり、次に零もしくはアンダースコア( `_' )を含む英数字が続く。大文字小文字は区別される。

len

次元長。この次元をインデックスとして使用する変数に対して、この次元が持ちうる値の数量。正の整数( size_tタイプ)もしくは事前に定義された定数 NC_UNLIMITED である。

dimidp

返された次元IDの位置を示すポインタ。

 

エラーが発生していなければ、 nc_def_dim NC_NOERR の値を返します。それ以外の場合には返されたステータスがエラーの発生を示します。エラーの原因としては:

 

これは 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);

Up|<<Prev|Next>>