Main Content

netcdf.putAtt

NetCDF 属性の書き込み

構文

netcdf.putAtt(ncid,varid,attrname,attrvalue)
netcdf.putAtt(ncid,varid,attrname,attrvalue,xtype)

説明

netcdf.putAtt(ncid,varid,attrname,attrvalue) は値 attrvalue をもつ attrname という名前の属性を、varid によって指定される NetCDF 変数に書き込みます。グローバル属性を指定するには、varid に対して netcdf.getConstant('NC_GLOBAL') を使用します。

ncid は、関数 netcdf.create または関数 netcdf.open によって返される NetCDF ファイル識別子です。

netcdf.putAtt(ncid,varid,attrname,attrvalue,xtype) は、attrvaluextype に指定されたデータ型として書き込みます。次のものとして xtype の値を指定します。

  • 次の値のいずれかが含まれた文字ベクトルまたは string スカラー

    xtype の値MATLAB® クラス
    NC_DOUBLEdouble
    NC_FLOATsingle
    NC_INT64 (NetCDF-4 ファイルのみ)int64
    NC_UINT64 (NetCDF-4 ファイルのみ)uint64
    NC_INTint32
    NC_UINT (NetCDF-4 ファイルのみ)uint32
    NC_SHORTint16
    NC_USHORT (NetCDF-4 ファイルのみ)uint16
    NC_BYTEint8
    NC_UBYTE (NetCDF-4 ファイルのみ)uint8
    NC_CHARchar
    NC_STRING (NetCDF-4 ファイルのみ)string
  • 関数 netcdf.getConstant により返された等価の数値

  • 関数 netcdf.defVlen により返された数値型識別子 (cell 配列に対応するユーザー定義の NC_VLEN 型の属性の場合)

メモ

netcdf.putAtt を使用して NetCDF4 ファイルの '_FillValue' 属性を設定することはできません。変数の埋め込み値を設定するには、関数 netcdf.defVarFill を使用します。

関数 netcdf.putAtt は、NetCDF ライブラリ C API のさまざまな属性の I/O 関数に相当します。この関数を使用するには、NetCDF プログラミング パラダイムに関する知識が必要です。

すべて折りたたむ

この例では、新しい NetCDF ファイルを作成し、次元と変数を定義し、データをその変数に追加して、変数と関連付けられる属性を作成します。この例を実行するには、現在のディレクトリへの書き込み権限が必要です。

% Create a variable in the workspace.
my_vardata = linspace(0,50,50);

% Create a netCDF file.
ncid = netcdf.create('foo.nc','NC_WRITE');

% Define a dimension in the file.
dimid = netcdf.defDim(ncid,'my_dim',50);
 
% Define a new variable in the file.
varid = netcdf.defVar(ncid,'my_var','double',dimid);

% Leave define mode and enter data mode to write data.
netcdf.endDef(ncid);

% Write data to variable.
netcdf.putVar(ncid,varid,my_vardata);

% Re-enter define mode.
netcdf.reDef(ncid);

% Create an attribute associated with the variable.
netcdf.putAtt(ncid,0,'my_att',10);

% Verify that the attribute was created.
[xtype xlen] = netcdf.inqAtt(ncid,0,'my_att')

xtype =

     6


xlen =

     1

この例では、新しい NetCDF ファイルを作成し、グローバル属性を指定し、属性に値を割り当てます。

ncid = netcdf.create('myfile.nc','CLOBBER');
varid = netcdf.getConstant('GLOBAL');
netcdf.putAtt(ncid,varid,'creation_date',datestr(now));
netcdf.close(ncid);

string 配列を NC_STRING 型として NetCDF-4 ファイルのグローバル属性に書き込みます。次に、グローバル属性の値を返します。

NetCDF-4 ファイルを作成し、string 配列 ["°​F","°​C"] をグローバル属性 Units の値として書き込みます。

ncid = netcdf.create("myfile.nc","NETCDF4");
netcdf.putAtt(ncid, netcdf.getConstant("NC_GLOBAL"),"Units",["°​F","°​C"])
netcdf.close(ncid)

グローバル属性の値を返してから、NetCDF-4 ファイルを閉じます。

ncid = netcdf.open("myfile.nc");
netcdf.getAtt(ncid, netcdf.getConstant("NC_GLOBAL"),"Units")
netcdf.close(ncid)

データを NetCDF-4 ファイルのグローバル属性に string データとして書き込みます。

NetCDF-4 ファイルを作成します。次に、文字ベクトル 'March''NC_STRING' 型としてグローバル属性 Month に書き込みます。

ncid = netcdf.create("myfile.nc","NETCDF4");
netcdf.putAtt(ncid, netcdf.getConstant("NC_GLOBAL"), ...
      "Month",'March','NC_STRING')
netcdf.close(ncid)

グローバル属性 Month の値を返してから、NetCDF-4 ファイルを閉じます。

ncid = netcdf.open("myfile.nc");
netcdf.getAtt(ncid, netcdf.getConstant("NC_GLOBAL"),"Month")
netcdf.close(ncid)

バージョン履歴

すべて展開する