NetCDFの 属性 attributes はデータに関するデータ(補助的データ ancillary data ・メタデータ metadata )を格納するために使用されます。その手法は従来のデータベースシステムのデータ辞書や図表を格納するのに使用されている手法と多くの類似点があります。大半の属性は特定の変数に関する情報を含んでいます。その変数の名前(もしくはID)と属性の名前と併せて識別されます。
幾つかの 属性はファイル全体の情報を与えており、グローバル属性( global attributes) と呼ばれます。これらは属性の名前とCDLの場合には空白の変数名、C及びFORTRANの場合には特別なnullグローバル変数IDによって識別されます。
属性には関連する変数(グローバル属性の場合にはnullグローバル変数)、名前、データタイプ、データ長、そして値があります。現行版においては全ての属性をベクトルとして扱っています。スカラー値は単一要素ベクトルとして扱われます。
可能な場合には従来の 属性名を使用する方が好ましいでしょう。新しく名前をつける場合には出来る限り意味のあるものを付けましょう。
属性の 外部タイプは定義される際に指定されます。属性に使用できるタイプは変数の場合のNetCDFの外部データタイプと同じです。異なる変数に同一の名前の属性がある場合には異なるタイプの場合があります。例えば、変数タイプ int の有効データ値の最大値を特定する属性 valid_max は int タイプであるべきです。それに対して変数タイプ double に対する属性 valid_max は double タイプであるべきです。
属性は変数や次元よりも ダイナミックです。属性は削除可能で、作成後にもタイプ・長さ・値を変更することが可能です。それに対して、NetCDFインターフェースでは変数を削除したり、変数のタイプや形を変更することは出来ません。
variable_name:attribute_name = list_of_values ;
:attribute_name = list_of_values ;
となります。 CDLにおいては各属性の タイプや長さは明確には宣言されません。 それらは属性に割り振られた値によって決定されます。単一の属性に所属する値は全て同一タイプでなければなりません。 色々なNetCDFタイプの定数に使用される表記法については後述する。(データ 定数のCDL表記)
NetCDF の例(Network Common Data Form Language (CDL))では units は変数 lat に対する属性で13文字列` degrees_north 'の配列値を持ちます。そして valid_range とは長さ2、値 `0.0' と `1.0' を持つ変数 rh の属性です。
NetCDFファイルの例では一つの グローバル属性--- source ---が定義されています。実際の NetCDFファイルではファイル全体の起源・歴史・慣習・特徴などを記述するためにより多くのグローバル属性を持つかもしれません。
NetCDFファイルを処理する 一般的なアプリケーションの多くは 標準的な属性の慣習に従っており、特に理由が内場合には慣習に従うことをお薦めします。 Units , long_name 、 valid_min 、 valid_max 、 valid_range 、 scale_factor 、 add_offset 、 _FillValue 、及び他の慣習的な属性については属性の慣習を参照してください。
任意のNetCDFファイルが最初に作成されてから時がたっていても属性を定義することは可能です。ですから、ファイルの作成当初に使用される可能性のある属性を全て網羅するようと悩む必要はありません。しかし、既存のファイルに新しい属性を加えることはファイルをコピーするのと同じ作業量が必要となる場合があります。より詳しい議論は9 - NetCDFファイルの構造と性能にあります。