この 関数のファミリーは変数のIDを与えるとそのNetCDF変数に関する情報を返します。 変数にに関する情報にはその名前・型・次元の数・変数の形を表す変数IDのリスト・変数に割り当てられている変数属性の数等です。
関数 NF_INQ_VAR はある変数のIDを与えるとNetCDF関数に関する情報をすべて返します。その他の関数はある変数に関する一つの情報を返します。
このほかの関数とは NF_INQ_VARNAME , NF_INQ_VARTYPE , NF_INQ_VARNDIMS , NF_INQ_VARDIMID , NF_INQ_VARNATTS 等です。
INTEGER FUNCTION NF_INQ_VAR (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) name, INTEGER xtype,
INTEGER ndims, INTEGER dimids(*),
INTEGER FUNCTION NF_INQ_VARNAME (INTEGER NCID, INTEGER VARID,
INTEGER FUNCTION NF_INQ_VARTYPE (INTEGER NCID, INTEGER VARID,
INTEGER FUNCTION NF_INQ_VARNDIMS (INTEGER NCID, INTEGER VARID,
INTEGER FUNCTION NF_INQ_VARDIMID (INTEGER NCID, INTEGER VARID,
INTEGER FUNCTION NF_INQ_VARNATTS (INTEGER NCID, INTEGER VARID,
これは NF_INQ_VAR を使用してNetCDFファイル foo.nc の中の rh という変数に関しての情報を探す例です。
INCLUDE 'netcdf.inc'
...
INTEGER STATUS, NCID
INTEGER RHID ! 変数 ID
CHARACTER*31 RHNAME ! 変数名
INTEGER RHTYPE ! 変数型
INTEGER RHN ! 次元の数
INTEGER RHDIMS(NF_MAX_VAR_DIMS) ! 変数の形
INTEGER RHNATT ! 属性の数
...
STATUS = NF_OPEN ('foo.nc', NF_NOWRITE, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
...
STATUS = NF_INQ_VARID (NCID, 'rh', RHID) ! get ID
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
STATUS = NF_INQ_VAR (NCID, RHID, RHNAME, RHTYPE, RHN, RHDIMS, RHNATT)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)