TOC PREV NEXT INDEX

Put your logo here!


7.6 すべての値を変数に書きこむ: NF_PUT_VAR_ type


関数NF_PUT_VAR_ typeのファミリーはオープンされたNetCDFファイルのNetCDF変数にすべての値を書きこみます。これはスカラー変数に値を書き込んだり多次元変数の値が一度にすべて書き込める場合に使用できるもっとも単純なインターフェースです。書きこまれる値は、FORTRANインターフェースにおいて最も早く変化するNetCDF変数が最初の次元であるという仮定の下にNetCDF変数と関連付けられます。必要に応じて、値は外部データ型に変換されます。

用法
INTEGER FUNCTION NF_PUT_VAR_TEXT (INTEGER NCID, INTEGER VARID,
CHARACTER*(*) TEXT)
INTEGER FUNCTION NF_PUT_VAR_INT1 (INTEGER NCID, INTEGER VARID,
INTEGER*1 I1VALS(*))
INTEGER FUNCTION NF_PUT_VAR_INT2 (INTEGER NCID, INTEGER VARID,
INTEGER*2 I2VALS(*))
INTEGER FUNCTION NF_PUT_VAR_INT (INTEGER NCID, INTEGER VARID,
INTEGER IVALS(*))
INTEGER FUNCTION NF_PUT_VAR_REAL (INTEGER NCID, INTEGER VARID,
REAL RVALS(*))
INTEGER FUNCTION NF_PUT_VAR_DOUBLE(INTEGER NCID, INTEGER VARID,
DOUBLE DVALS(*))
NCID 以前のNF_OPEN または NF_CREATE呼び出しで返されたNetCDF ID
VARID 変数ID
TEXT, I1VALS, I2VALS, IVALS,RVALS, DVALS 書きこまれるデータ値のかたまり。データは呼び出した関数に対応する型でなくてはなりません。文字(CHARACTER)データを数値変数に、または数値データを文字変数に入れることは出来ません。数値データについては、データ型がNetCDF変数型と異なる場合には型変換が行われます。(詳細については3.3節「型変換」(p.24)を参照。)最初の次元が最も早く変化する順番で(通常のFORTRAN変換と同様に)、データは指定された変数に書き込まれます。

エラー

関数NF_PUT_VAR_ typeファミリーに属する関数は、エラーが発生していない場合には NF_NOERR の値を返します。その他の場合には、返されたステータスがエラーを示します。エラーの原因としては:

・ 変数IDが指定されたNetCDFファイルでは有効ではない。
・ 指定されたデータ値の一つ、もしくはそれ以上が変数の外部型として表現できる値の範囲外である。
・ 指定されたNetCDFファイルがデータモードではなく定義モードになっている。
・ 指定されたNetCDF IDが開いているNetCDFファイルを参照していない。

この例ではNF_PUT_VAR_DOUBLE を使用して既存のNetCDFファイルfoo.ncの変数rhの値すべてを0.5にします。簡潔にするためにこの例では変数rhの次元はlon, lattimeであり、lon 値は10個、lat 値は5個そして time 値が3個である事は既知とします。

INCLUDE 'netcdf.inc'

PARAMETER (TIMES=3, LATS=5, LONS=10) ! 次元長
INTEGER STATUS, NCID, TIMES
INTEGER RHID ! 変数 ID
DOUBLE RHVALS(LONS, LATS, TIMES)

STATUS = NF_OPEN ('foo.nc', NF_WRITE, 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)
DO 10 ILON = 1, LONS
DO 10 ILAT = 1, LATS
DO 10 ITIME = 1, TIMES
RHVALS(ILON, ILAT, ITIME) = 0.5
10 CONTINUE
STATUS = NF_PUT_var_DOUBLE (NCID, RHID, RHVALS)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)



Quadralay Corporation
http://www.webworks.com
Voice: (512) 719-3399
Fax: (512) 719-3606
sales@webworks.com
TOC PREV NEXT INDEX