Main Content

nccreate

netCDF ファイルの変数の作成

    説明

    nccreate(filename,varname) は、filename で指定された netCDF ファイルに double 型のスカラー変数 varname を作成します。netcdf4 形式のファイルの場合、varname でグループ階層を指定できます。filename が存在しない場合、nccreate は netCDF-4 クラシック モデルを使用してファイルを作成します。

    nccreate(filename,varname,Name,Value) は、1 つ以上の名前と値の引数で指定された追加オプションを使って変数を作成します。たとえば、非スカラー変数を作成するには、名前と値の引数 Dimensions を使用します。

    すべて折りたたむ

    Var1 という変数を含む、myexample.nc という名前の netCDF ファイルを作成します。

    nccreate("myexample.nc","Var1")

    同じファイルに 2 番目の変数を作成します。

    nccreate("myexample.nc","Var2")

    netCDF ファイルの内容を表示します。

    ncdisp("myexample.nc")
    Source:
               pwd\myexample.nc
    Format:
               netcdf4_classic
    Variables:
        Var1
               Size:       1x1
               Dimensions: 
               Datatype:   double
        Var2
               Size:       1x1
               Dimensions: 
               Datatype:   double

    netCDF-3 クラシック形式の myncclassic.nc という名前のファイルに peaks という名前の 2 次元の変数を作成します。名前と値の引数 Dimensions を使用して、各次元の名前と長さを指定します。名前と値の引数 Format を使用して、ファイル形式を指定します。

    nccreate("myncclassic.nc","peaks", ...
             "Dimensions",{"r",300,"c",400},"Format","classic")

    変数にデータを書き込みます。

    ncwrite("myncclassic.nc","peaks",peaks(100))

    netCDF ファイルの内容を表示します。

    ncdisp("myncclassic.nc")
    Source:
               pwd\myncclassic.nc
    Format:
               classic
    Dimensions:
               r = 300
               c = 400
    Variables:
        peaks
               Size:       300x400
               Dimensions: r,c
               Datatype:   double

    入力引数

    すべて折りたたむ

    ファイル名。string スカラーまたは文字ベクトルとして指定します。既存の netCDF ファイルの名前か、新規の netCDF ファイルに割り当てる名前を指定します。

    例: "myFile.nc"

    新規変数の名前。string スカラーまたは文字ベクトルとして指定します。

    filenamenetcdf4 形式のファイルを指定した場合、varname を完全修飾名として指定することで、グループ階層内の新規変数の位置を指定できます。この場合、階層内の指定された位置に新規変数を配置するために、nccreate は必要に応じて新しいグループを作成します。

    例: "myVar"

    例: "/myGrp/mySubGrp/myNestedVar"

    名前と値の引数

    引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

    例: nccreate("myFile.nc","Var1",Datatype="double",Format="classic") は、myFile.nc という名前の netCDF-3 クラシック ファイルに Var1 という名前の NC_DOUBLE 型の変数を作成します。

    R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

    例: nccreate("myFile.nc","Var1","Datatype","double","Format","classic")

    新規変数の次元。cell 配列として指定します。cell 配列では、次元の名前の後に長さの数値が続く string スカラーまたは文字ベクトルを {dname1,dlength1,dname2,dlength2,...,dnameN,dlengthN} の形式でリストします。エントリ dname1 は最初の次元の名前、dlength1 は最初の次元の長さです。次元の長さは非負の整数または Inf として指定します。以降、dname2 が 2 番目の次元の名前、dlength2 が 2 番目の次元の長さのように続きます。1 次元の変数は列ベクトルとして扱われます。

    既に存在する次元については、長さの指定はオプションです。既存の次元の長さを指定する場合、現在の長さと一致しなければなりません。

    制限のない次元を指定するには、次元の長さに Inf または 0 を使用します。netcdf4 形式のファイルには、制限のない次元を任意の順序でいくつでも含めることができます。他のすべての形式では、制限のない次元は各ファイルに 1 つのみ含めることができます。これは cell 配列の最後に指定する必要があります。

    nccreate は、変数と同じ場所に次元を作成します。netcdf4 形式のファイルの場合、次元の完全修飾名を使用して次元に異なる場所を指定できます。

    例: "Dimensions",{"dim1",100,"/mygroup/dim2",150,"dim3",Inf}

    データ型: cell

    MATLAB データ型。次の表の値のいずれかとして指定します。nccreate で netCDF ファイルに変数を作成するときに、対応する netCDF データ型が使用されます。

    Datatype の値NetCDF 変数型
    "double"NC_DOUBLE
    "single"NC_FLOAT
    "int32"NC_INT
    "int16"NC_SHORT
    "int8"NC_BYTE
    "char"NC_CHAR
    "uint64" (*)NC_UINT64
    "int64" (*)NC_INT64
    "uint32" (*)NC_UINT
    "uint16" (*)NC_USHORT
    "uint8" (*)NC_UBYTE
    "string" (*)NC_STRING

    (*) これらの Datatype の値は netcdf4 形式のファイルでのみ使用可能です。

    例: "Datatype","int16"

    データ型: string | char

    NetCDF ファイル形式。次の値のいずれかとして指定します。

    Format の値説明
    "classic"netCDF-3
    "64bit"netCDF-3 (64 ビットのオフセット付き)
    "netcdf4_classic"netCDF 4 クラシック モデル
    "netcdf4"netCDF-4 (グループ階層を有効にする場合にこの形式を使用)

    varname でグループ ("/grid3/temperature" など) を指定した場合、nccreateFormat の値を "netcdf4" に設定します。

    例: "Format","64bit"

    データ型: string | char

    欠損値の置換値。スカラーまたは "disable" として指定します。既定値は netCDF ライブラリにより提供されます。置換値を無効にするには、値を "disable" と指定します。netcdf4 形式のファイルに string データを書き込む場合、FillValue を無効にすることはできません。

    メモ

    関数 nccreate は、FillValue の値を新しい netCDF 変数 varname_FillValue 属性に代入します。この属性の値は変数の作成後は変更できません。

    この引数は netcdf4 または netcdf4_classic の形式のファイルでのみ使用可能です。

    例: "FillValue",0

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    各次元に沿ったチャンク サイズ。数値ベクトルとして指定します。最初の要素は行数、2 番目の要素は列数、3 番目の要素は 3 次元目の長さを指定し、以降同様に繰り返されます。既定値は netCDF ライブラリにより提供されます。

    この引数は netcdf4 または netcdf4_classic の形式のファイルでのみ使用可能です。

    例: "ChunkSize",[5 6 9]

    データ型: double

    圧縮のレベル。09 の整数スカラー値として指定します。値 0 は圧縮なしを示します。値 1 は最小圧縮を示し、値 9 は最大圧縮を示します。Datatype"string" の場合は、DeflateLevel を設定できません。

    この引数は netcdf4 または netcdf4_classic の形式のファイルでのみ使用可能です。

    例: "DeflateLevel",5

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    シャッフル フィルターのステータス。数値として、あるいは logical 0 (false) または 1 (true) として指定します。値 false はシャッフル フィルターを無効にし、true は有効にします。シャッフル フィルターは、データ ストリームのバイト順を変更することにより、整数データの圧縮に役立ちます。Datatype"string" の場合は、シャッフル フィルターを有効にすることはできません。

    この引数は netcdf4 または netcdf4_classic の形式のファイルでのみ使用可能です。

    例: "Shuffle",true

    データ型: logical

    ヒント

    • MATLAB は多次元データを列優先として解釈しますが、netCDF C API は多次元データを行優先として解釈します。netCDF C API の多次元データは、MATLAB で示される順序の逆順で次元を示すため、結果として転置されて表示されます。

    バージョン履歴

    R2011a で導入

    すべて展開する