Up|<<Prev|Next>>


7.2 変数を生成する: NF_DEF_VAR

関数 NF_DEF_VAR は定義モードにある開かれたNetCDFファイルに新たに変数を追加します。NetCDFID・変数名・変数型・次元数・次元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が含まれる場合には最後にしなければならない。 この引数は NVDIMS 0 の場合には無視される。

varid

返された変数ID。

 

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

 

この例では NF_DEF_VAR を使用して、新しい foo.nc という名前のNetCDFファイル中に、 time , lat , and 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)

Up|<<Prev|Next>>