Up|<<Prev|Next>>


7.10 単一のデータ値を読み取る: NF_GET_VAR1_ type

関数 NF_GET_VAR1_ type は開かれたデータモードにあるNetCDFファイルの変数から単一のデータ値を取得します。入力は NetCDF ID・変数ID・取得する値を指定する多次元のインデックス・データ値が読み込まれる位置のアドレスです。 この値は必要に応じて変数の外部データ型から変換されます。

 

INTEGER FUNCTION NF_PUT_VAR1_TEXT(INTEGER NCID, INTEGER VARID,

INTEGER INDEX(*), CHARACTER chval)

INTEGER FUNCTION NF_PUT_VAR1_INT1(INTEGER NCID, INTEGER VARID,

INTEGER INDEX(*), INTEGER*1 i1val)

INTEGER FUNCTION NF_PUT_VAR1_INT2(INTEGER NCID, INTEGER VARID,

INTEGER INDEX(*), INTEGER*2 i2val)

INTEGER FUNCTION NF_PUT_VAR1_INT (INTEGER NCID, INTEGER VARID,

INTEGER INDEX(*), INTEGER ival)

INTEGER FUNCTION NF_PUT_VAR1_REAL(INTEGER NCID, INTEGER VARID,

INTEGER INDEX(*), REAL rval)

INTEGER FUNCTION NF_PUT_VAR1_DOUBLE(INTEGER NCID, INTEGER VARID,

INTEGER INDEX(*), DOUBLE dval)

 

NCID

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

VARID

変数ID。

INDEX

読み込まれるデータ値のインデックス。インデックスは1に相対的であるので、2次元変数の最初のデータ値のインデックスは (1,1) になります。 index の要素は変数の次元に対応していなければなりません。よって、記録変数の場合には、最後のインデックスが記録番号になります。

chval, i1val, i2val, ival, rval, or dval

 

データ値が読み込まれる位置。数値変数から文字(CHARACTER)データを取得したり、文字変数から数値データを取得することは出来ません。数値データの場合には、データ型がNetCDF変数型と異なれば、型変換が行なわれます。詳細については 型変換を参照のこと。

 

エラーが発生していない場合には関数 NF_GET_VAR1_ type NF_NOERR の値を返します。それ以外の場合には、返されたステータスがエラーが発生したことを示します。エラーの原因としては:

 

この例では NF_GET_VAR1_DOUBLE を使用して、既存のNetCDFファイル foo.nc から変数 rh (4,3,2) 要素を取得します。 簡潔にするために、この例では rh の次元が lon , lat , 及び time であることを既知とし、よって、取得したいのは rh の4番目の lon 値、 3番目の lat 値、そして 2番目の time 値ということになります。

INCLUDE 'netcdf.inc'
   ... 
INTEGER STATUS, NCID
INTEGER RHID           ! 変数 ID
INTEGER RHINDX(3)      ! 値を取得する場所
DOUBLE PRECISION RHVAL ! ここに置く
DATA RHINDX /4, 3, 2/
   ... 
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_GET_VAR1_DOUBLE (NCID, RHID, RHINDX, RHVAL)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)

Up|<<Prev|Next>>