TOC PREV NEXT INDEX

Put your logo here!


7.2 変数を生成する: NF_DEF_VAR


関数NF_DEF_VAR は定義モードにあるオープンされたNetCDFファイルに新たに変数を追加します。NetCDF ID・変数名・変数型・次元数・次元IDのリストを与えると、(引数として)変数IDを返します。

用法
INTEGER FUNCTION NF_DEF_VAR(INTEGER NCID, CHARACTER*(*) NAME,
INTEGER XTYPE, INTEGER NVDIMS,
INTEGER VDIMS(*), INTEGER varid)
NCID 以前のNF_OPEN or NF_CREATE呼び出しで返されたNetCDF ID
NAME 変数名。アルファベット文字で始まり、アンダースコア(‘_’)を含む零もしくは英数字が続かなければなりません。大文字小文字は区別されます。
XTYPE 変数の外部型。前もって定義されたNetCDF外部データ型の集合のひとつ: NF_BYTE, NF_CHAR, NF_SHORT, NF_INT, NF_FLOATまたは NF_DOUBLEです。
NVDIMS 変数の次元の数。例えば、2は行列、1はベクトル、0はをの変数が次元のないスカラーであることを表します。この値は負であったり、前もって定義された 定数NF_MAX_VAR_DIMSより大きくてもいけません。
VDIMS 変数の次元に対応する次元ID NVDIMS のベクトル。無制限次元のIDが含まれる場合にはそれが最後の次元でなければなりません。この引数は NVDIMS0の場合には無視されます。
varid 返された変数ID

エラー

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

・ NetCDF ファイルが定義モードになっていない。
・ 指定された変数名は既存の別な変数の名前である。
・ 指定された型が有効なNetCDF型ではない。
・ 指定された次元の数が負、もしくはNetCDF変数に許された最大の次元の数を表す定数 NF_MAX_VAR_DIMS より大きい。
・ 次元のリストの中の 次元IDのひとつ、もしくはそれ以上がNetCDFファイル中で有効ではない次元IDである。
・ 変数の数がNetCDF変数に許された最大の次元の数を表す定数NF_MAX_VARS より大きい。
・ 指定されたNetCDF IDが開いているNetCDFファイルを参照していない。

この例では NF_DEF_VAR を使用して、新しいfoo.ncという名前のNetCDFファイル中に、time, lat, lonの3つの次元を持つ、変数名rhの倍精度型の変数を生成します:

INCLUDE 'netcdf.inc'

INTEGER STATUS, NCID
INTEGER LATDIM, LONDIM, TIMDIM ! 次元 IDs
INTEGER RHID ! 変数 ID
INTEGER RHDIMS(3) ! 変数の形

STATUS = NF_CREATE ('foo.nc', NF_NOCLOBBER, NCID)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)

! 次元を定義
STATUS = NF_DEF_DIM(NCID, 'lat', 5, LATDIM)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
STATUS = NF_DEF_DIM(NCID, 'lon', 10, LONDIM)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)
STATUS = NF_DEF_DIM(NCID, 'time', NF_UNLIMITED, TIMDIM)
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)

! 変数を定義
RHDIMS(1) = LONDIM
RHDIMS(2) = LATDIM
RHDIMS(3) = TIMDIM
STATUS = NF_DEF_VAR (NCID, 'rh', NF_DOUBLE, 3, RHDIMS, RHID)
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