Up|<<Prev|Next>>


7.5 単一のデータ値を書きこむ: NF_PUT_VAR1_ type

関数 NF_PUT_VAR1_ type は指定された型 ( 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)になります。 インデックスの要素は変数の次元に対応しなければなりません。よって、変数が記録変数であれば、最後のインデックスは記録数に対応します。

CHVAL, I1VAL, I2VAL, IVAL, RVAL, or DVAL

書きこまれるデータ値。データ値は呼び出し関数に対応した型でなければなりません。文字(CHARACTER)データ値を数値変数に書き込んだり、数値データを文字変数書きこむことは出来ません。数値データがNetCDF変数型と異なる場合には型(type)変換が行われます。 詳細については型変換を参照してください。

 

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

 

この 例では NF_PUT_VAR1_DOUBLE を使用して既存のNetCDFファイル foo.nc の変数 rh (4,3,2) 要素を0.5にします。簡潔にするためにこの例では変数 rh の次元が lon , lat , an time であることを既知とします。よって、書きこむ変数 rh の値は4番目の lon 値・3番目の lat 値・2番目の time 値に対応します。

INCLUDE 'netcdf.inc'
   ... 
INTEGER  STATUS             ! エラーステータス
INTEGER  NCID
INTEGER  RHID               ! 変数ID
INTEGER  RHINDX(3)          ! 値の格納場所
DATA RHINDX /4, 3, 2/
   ... 
STATUS = NF_OPEN ('foo.nc', NF_WRITE, 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_PUT_VAR1_DOUBLE (NCID, RHID, RHINDX, 0.5)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)

Up|<<Prev|Next>>