Up|<<Prev|Next>>


8.6 属性名を変更する: NF_RENAME_ATT

関数 NF_RENAME_ATT は属性の名前を変更します。新しい名前が元の名前より長い場合には、NetCDFファイルは定義モードになっている必要があります。同じ変数の他の属性名と同じ名前になってしまうような属性名の変更はできない。

INTEGER FUNCTION NF_RENAME_ATT (INTEGER NCID, INTEGER VARID,

CHARACTER*(*) NAME,

CHARACTER*(*) NEWNAME)

 

NCID

以前の NF_OPEN 又は NF_CREATE 呼び出しで返されたNetCDF ID。

VARID

属性の変数のID、又はグローバル属性の NF_GLOBAL

NAME

現行の属性名。

NEWNAME

指定された属性に割り当てられる新しい名前。新しい名前が現行の名前よりも長い場合には、NetCDFファイルは定義モードになっていなければならない。

 

エラーが発生していなければ、 NF_RENAME_ATT NF_NOERR の値を返します。 それ以外の場合には、返されたステータスがエラーを示します。エラーの原因として次のようなものが考えられます。

 

この例では、 NF_RENAME_ATT を使って、既存の foo.nc というNetCDFファイルにおける変数 rh の変数属性の名前を units から Units に変更する。

INCLUDE "netcdf.inc"
   ... 
INTEGER STATUS   ! エラーステータス
INTEGER NCID     ! NetCDF ID
INTEGER RHID     ! 変数 ID
   ... 
STATUS = NF_OPEN ("foo.nc", NF_NOWRITE, 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)
   ... 
! 属性名を変更
STATUS = NF_RENAME_ATT (NCID, RHID, "units", "Units")
IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)

Up|<<Prev|Next>>