この関数のファミリーはNetCDF属性に関する 情報を返します。これらの関数は一つを除いて全て変数IDと属性名を必要とします。例外は NF_INQ_ATTNAME 関数です。属性に関する情報には型・長さ・名前・番号などが含まれます。属性値を取得する方法については NF_GET_ATT の節を参照してください。
関数 NF_INQ_ATTNAME は変数IDと番号を与えると、属性の名前を返します。この関数は、他の全ての属性関数において属性は番号ではなく名前によってアクセスされるために、変数に関連した属性の名前を全て必要とする 一般的なアプリケーションにおいて役に立ちます。属性の番号は名前よりも 揮発性があり、同じ変数の属性が 削除された時に変わることがあります。このため、 属性の番号は 属性 IDとは呼ばれません。
関数 NF_INQ_ATT は属性の型と長さを返します。他の関数は各々、属性の情報を一つだけ返します。
INTEGER FUNCTION NF_INQ_ATT (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) NAME, INTEGER xtype,
INTEGER FUNCTION NF_INQ_ATTTYPE(INTEGER NCID, INTEGER VARID,
CHARACTER*(*) NAME, INTEGER xtype)
INTEGER FUNCTION NF_INQ_ATTLEN (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) NAME, INTEGER len)
INTEGER FUNCTION NF_INQ_ATTNAME(INTEGER NCID, INTEGER VARID,
INTEGER ATTNUM, CHARACTER*(*) name)
INTEGER FUNCTION NF_INQ_ATTID (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) NAME, INTEGER attnum)
この例では、 NF_INQ_ATTLEN を使って、既存の foo.nc という名前のNetCDFファイルにおいて、 rh という名前の変数の属性 valid_range の長さと、 title という名前のグローバル属性について問い合わせる。
INCLUDE 'netcdf.inc'
...
INTEGER STATUS, NCID
INTEGER RHID ! 変数 ID
INTEGER VRLEN, TLEN ! 属性の長さ
...
STATUS = NF_OPEN ('foo.nc', NF_NOWRITE, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
...
STATUS = NF_INQ_VARID (NCID, 'rh', RHID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
...
STATUS = NF_INQ_ATTLEN (NCID, RHID, 'valid_range', VRLEN)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
STATUS = NF_INQ_ATTLEN (NCID, NF_GLOBAL, 'title', TLEN)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)