これは新しいNetCDFファイルを生成するために使用する 一般的なNetCDFコールの配列です:
NF_CREATE ! NetCDFファイルを作成: 定義モードに入る
...
NF_DEF_DIM ! 次元の定義:名前とサイズから
...
NF_DEF_VAR ! 変数の定義: 名前、型、次元から
...
NF_PUT_ATT ! 属性値を割り当てる
...
NF_ENDDEF ! 定義終了: 定義モードから抜ける
...
NF_PUT_VAR ! 変数に値を与える
...
NF_CLOSE ! 閉じる: 新しいNetCDFファイルを保存する
コール一つでNetCDFファイルを作成できます。その時点では、二つあるNetCDFモードの最初のモードに入っています。開かれたNetCDFファイルにアクセスする際でしたら、定義モードもしくはデータモード に 入るはずです。定義モードでは次元・変数・新しい属性などを作れますが、変数データを読んだり書き込んだりすることは出来ません。データモードではデータにアクセスし、既存の属性を変更することは出来ますが、次元・変数・属性を 新たに作ることは出来ません。
新たに作られた次元には各々 NF_DEF_DIM へのコールが一つ必要となります。同様に全ての変数には NF_DEF_VAR へのコールが一つ必要です。さらに、定義され、値を割り振られた属性には NF_PUT_ATT ファミリーのメンバーへのコールが必要となります。 定義モードから出て、データモードに入るには NF_ENDDEF とコールしてください。
一度データモードに入ると、変数に新たなデータを加えたり、古い値を変更したり、既存の属性値を変更することが出来ます(ただし、属性については格納スペースが増加しないことが条件です。)NetCDF変数に単一の値を書き込むためには、書き込むデータ種によっては NF_PUT_VAR1 ファミリーのメンバーが必要となります。 NF_PUT_VAR ファミリーのメンバーを使用して変数の取るべき値を全て一度に書き込むにことも出来ます。変数の配列や配列断面は NF_PUT_VARA ファミリーを使って書き込めます。部分サンプルされた配列断面も NF_PUT_VARS ファミリーのメンバーを使うことによって書き込めます。マップされた配列断面も NF_PUT_VARM ファミリーのメンバーを使うことによって書き込めます。 (部分サンプルやマップされたアクセスは通常のデータアクセス法の一種であり、後に説明します。
最後に、 書き込むために開いたNetCDFファイルは NF_CLOSE を使って必ず閉じてください。ファイルシステムへのアクセスはデフォルトでNetCDFライブラリによってバッファーされています。 データを書き込める開かれた異常なステータスでプログラムが終了された場合には、その回に加えた変更が全て無効になる可能性があります。このデフォルトでバッファーしてしまう機能は、ファイルを開く際に、 NF_SHARE フラグを立てることによって避けられます。 フラグが立っていても、定義モードで行なわれた属性値の変更や定義モードで変更された事項は NF_SYNC 又は NF_CLOSE がコールされない限り、実行されません。