何が欠けているか?
新しいCインターフェースは“記録I/O”関数3つ(ncrecput, ncrecget, ncrecinq)を、NetCDF-2インターフェースから除去しています。ただし、これらの関数はNetCDF-2互換のインターフェースではまだサポートされています。
このことは1回の記録指向の呼び出しを、各記録変数につき一つの、複数回の型依存の呼び出しで置き換えなければならないことを意味します。例えば、ncrecputへの1回の呼び出しは適切なnc_put_var関数への複数回の(アクセスされた各変数につき一回の)呼び出しによって置き換えることができます。記録指向の関数が削除されたのは、そのようなインターフェースでは型安全性と自動型変換を提供する簡単な方法が無いからです。
2版のインターフェースの関数nctypelenに対応する関数はありません。内部データ型と外部データ型を分離することと、新しい型変換インターフェースによって、nctypelenは不要になります。ユーザーは言語本来の型に対して読み書きするので、size演算子さえあれば、完璧にある値に割り当てるスペースを決定することができます。
以前のライブラリでは、NetCDFオブジェクトの名前に使用された記号がCDLの制約に沿っているか判断する方法がありませんでした。CDLを使用しているncdumpとncgenのユーティリティは、名前に関しては英数字、“_”、“-”のみの使用を許可しています。この制約は新しい次元・属性・変数を生成する際に、ライブラリによっても強制されることになりました。制約の弱い名前を冠する既存の要素はまだ問題なく使えます。
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |