6.2 次元名から次元IDを取得する: nc_inq_dimid
関数 nc_inq_dimid は次元名を与えると、(引数として)NetCDFの次元IDを返します。仮に ndims あるNetCDFファイルに定義された次元数だとすると、それぞれの次元のIDは 0 と ndims-1の間の値を取ります。
用法
int nc_inq_dimid (int ncid, const char *name, int *dimidp);
ncid 以前のnc_open または nc_create呼び出しで返されたNetCDF ID name 次元名。アルファベットの文字で始まり、次にアンダースコア(‘_’)を含む0個以上の英数字が続きます。大文字小文字は次元名において区別されます。 dimidp 返された次元IDの位置を示すポインタ
エラー
エラーが発生していなければ、nc_inq_dimid は NC_NOERR の値を返します。それ以外の場合には、返されたステータスがエラーの発生を示します。エラーの原因としては:
・ 指定された次元名に対応する次元名がNetCDFファイル内に存在しない。
・ 指定されたNetCDF IDがオープンされたNetCDFファイルを参照していない。
例
これはnc_inq_dimid を使用して次元名latの次元IDを取得する例です。この latは以前にfoo.ncというNetCDFファイル内で定義されているという仮定です:
#include <netcdf.h>
…
int status, ncid, latid;
…
status = nc_open("foo.nc", NC_NOWRITE, &ncid); /* 読み取り用にオープンする */
if (status != NC_NOERR) handle_error(status);
…
status = nc_inq_dimid(ncid, "lat", &latid);
if (status != NC_NOERR) handle_error(status);
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |