関数 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 FUNCTION NF_PUT_VAR1_DOUBLE(INTEGER NCID, INTEGER VARID,
INTEGER INDEX(*), DOUBLE DVAL)
書きこまれるデータ値のインデックス。インデックスは1に相対的なものであり、例えば2次元の変数の最初のデータ値のインデックスは(1,1)になります。 インデックスの要素は変数の次元に対応しなければなりません。よって、変数が記録変数であれば、最後のインデックスは記録数に対応します。 |
|
書きこまれるデータ値。データ値は呼び出し関数に対応した型でなければなりません。文字(CHARACTER)データ値を数値変数に書き込んだり、数値データを文字変数書きこむことは出来ません。数値データがNetCDF変数型と異なる場合には型(type)変換が行われます。 詳細については型変換を参照してください。 |
この 例では 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)