NetCDF

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
ネットワーク共通データフォーム
ファイル名拡張子
.nc
インターネットメディアタイプapplication / netcdf
application / x-netcdf
マジックナンバーCDF \ 001
\ 211HDF \ r \ n \ 032 \ n
によって開発されたUCAR
フォーマットの種類科学的なバイナリデータ
から拡張CDF
HDF
Webサイトwww .unidata .ucar .edu / software / netcdf / ウィキデータでこれを編集する

NetCDFネットワーク共通データフォーム)は、配列指向の科学データの作成、アクセス、および共有をサポートするソフトウェアライブラリと自己記述型のマシンに依存しないデータ形式のセットです。プロジェクトのホームページ[1]は、大気研究大学連合(UCAR)のUnidataプログラムによってホストされています。また、netCDFソフトウェア、標準の開発、更新などの主要なソースでもあります。形式はオープンスタンダードです。NetCDFクラシックおよび64ビットオフセットフォーマットは、OpenGeospatialConsortiumの国際標準です[2]

このプロジェクトは1988年に開始され、現在もUCARによって積極的にサポートされています。オリジナルのnetCDFバイナリフォーマット(1990年にリリースされ、現在は「netCDFクラシックフォーマット」として知られています)は、今でも世界中で広く使用されており、すべてのnetCDFリリースで引き続き完全にサポートされています。バージョン4.0(2008年にリリース)では、HDF5データファイル形式を使用できました。バージョン4.1(2010)は、 OPeNDAPを介したリモートデータの指定されたサブセットへのCおよびFortranクライアントアクセスのサポートを追加しました。バージョン4.3.0(2012)は、 Windowsビルド用のCMakeビルドシステムを追加しましたバージョン4.7.0(2019)は、AmazonS3オブジェクトの読み取りのサポートを追加しましパフォーマンスの向上、機能の追加、バグの修正のために、今後のリリースが計画されています。

歴史

この形式は元々、 NASAによって開発されたCommon Data Formatの概念モデルに基づいていましたが、その後分岐しており、互換性がありません。[3] [4]

フォーマットの説明

netCDFライブラリは、netCDFファイルに対して複数の異なるバイナリ形式をサポートしています。

  • クラシック形式は最初のnetCDFリリースで使用され、ファイル作成のデフォルト形式のままです。
  • 64ビットオフセット形式はバージョン3.6.0で導入され、より大きな変数とファイルサイズをサポートします。
  • netCDF-4/HDF5フォーマットはバージョン4.0で導入されました。これはHDF5データ形式ですが、いくつかの制限があります。
  • HDF4 SD形式は、読み取り専用アクセスでサポートされています。
  • Parallel-netcdfプロジェクトと連携して、CDF5形式がサポートされています。

すべての形式は「自己記述型」です。これは、ファイルの残りの部分、特にデータ配列のレイアウトと、名前/値属性の形式の任意のファイルメタデータを説明するヘッダーがあることを意味します。形式はプラットフォームに依存せず、エンディアンなどの問題はソフトウェアライブラリで対処されていますデータは、効率的なサブセット化を可能にする方法で保存されます。

バージョン4.0以降、netCDFAPI [5]ではHDF5データ形式を使用できます。NetCDFユーザーは、はるかに大きなファイルや複数の無制限のサイズなど、netCDF形式では利用できない利点を備えたHDF5ファイルを作成できます。

古いnetCDFファイルにアクセスし、以前のバージョンのCおよびFortranAPIを使用する際の完全な下位互換性がサポートされています。

ソフトウェア

ライブラリにアクセスする

UCARが提供するソフトウェアライブラリは、netCDFファイルへの読み取り/書き込みアクセスを提供し、必要な配列とメタデータをエンコードおよびデコードします。コアライブラリはCで記述されており C C ++用のAPIとFortranアプリケーション用の2つのAPI (1つはFortran 77用、もう1つはFortran 90用)を提供します。これもUnidataによって開発および保守されている独立した実装は、100%で記述されています。Java。コアデータモデルを拡張し、追加機能を追加します。Cライブラリに基づくnetCDFへのインターフェイスは、Rncdf[6] ncvarRNetCDFなどの他の言語でも利用できます。 [7]パッケージ)、 Perl Python Ruby Haskell [8] Mathematica MATLAB IDL Julia OctaveAPI呼び出しの仕様は、構文の必然的な違いを除けば、異なる言語間で非常に似ています。バージョン2のAPI呼び出しは、バージョン3のAPI呼び出しとはかなり異なりますが、下位互換性のためにバージョン3および4でもサポートされています。サポートされている言語を使用するアプリケーションプログラマーは、オープン形式で利用できる場合でも、通常はファイル構造自体を気にする必要はありません。

アプリケーション

NetCDFファイルを利用する幅広いアプリケーションソフトウェアが作成されています。これらは、コマンドラインユーティリティからグラフィカルな視覚化パッケージにまで及びます。番号は以下にリストされており、より長いリスト[9]はUCARのWebサイトにあります。

  • NetCDFファイルに一般的に使用されるUnixコマンドラインユーティリティのセットは、NetCDFオペレーター(NCO)スイートです。これは、基本的なレコードの連結配列スライシング平均化など、NetCDFファイルの操作と分析のためのさまざまなコマンドを提供します。
  • ncBrowse [10]は、さまざまなNetCDFファイル規則に対応するJavaグラフィック、アニメーション、および3D視覚化を含む汎用NetCDFファイルビューアです。
  • ncview [11]は、netCDF形式のファイル用のビジュアルブラウザです。このプログラムは、netCDFファイルのフィールドを視覚化するためのシンプルで高速なGUIベースのツールです。生データの値を見て、データ配列のさまざまな次元を参照できます。カラーマップの変更、データの反転なども可能です。
  • Panoply [12]は、NASAゴダード宇宙科学研究所で開発されたnetCDFファイルビューアであり、ジオグリッドデータの表示に重点を置いています。これはJavaで記述されているため、プラットフォームに依存しません。その機能セットはncBrowseおよびncviewと重複していますが、Panoplyは、さまざまな地図投影法と、さまざまな縮尺のカラーテーブルを操作する機能を提供することで際立っています。
  • NCARコマンド言語(NCL)は、netCDFファイル(他の形式の中でも)のデータを分析および視覚化するために使用されます
  • Pythonプログラミング言語は、PyNIO [13]モジュールを使用してnetCDFファイルにアクセスできます(これにより、他のさまざまなデータ形式へのアクセスも容易になります)。netCDF4-pythonnetCDFファイルは、 Pythonモジュール[14]を使用して、モジュールのようにパンダに読み込むこともできます。[15]DataFramexarray
  • フェレットは、大規模で複雑なグリッドデータセットを分析する海洋学者や気象学者のニーズを満たすように設計されたインタラクティブなコンピューター視覚化および分析環境です。FerretはMathematicaのような分析アプローチを提供します。新しい変数は、データセット変数を含む数式としてインタラクティブに定義できます。計算は、任意の形状の領域に適用できます。完全に文書化されたグラフィックは、1つのコマンドで作成されます。
  • グリッド分析および表示システム(GrADS)[16]は、地球科学データへの簡単なアクセス、操作、および視覚化に使用されるインタラクティブなデスクトップツールです。GrADSは、一般的に使用されているさまざまなオペレーティングシステムに世界中で実装されており、インターネット上で自由に配布されています。
  • nCDF_Browser [17]は、 IDLプログラミング言語で記述されたビジュアルnCDFブラウザです。変数、属性、およびディメンションは、IDLコマンドラインにすぐにダウンロードして、さらに処理することができます。nCDF_Browserの実行に必要なすべてのCoyoteLibrary [18]ファイルは、zipファイルで入手できます。
  • 9.2以降のArcGISバージョン[19]は、 Climate and Forecastメタデータ規則に従い、等間隔の座標を持つ直線グリッドを含むnetCDFファイルをサポートします。多次元ツールツールボックスを使用して、ArcMapのnetCDFデータからラスターレイヤー、フィーチャレイヤー、およびテーブルビューを作成したり、フィーチャ、ラスター、およびテーブルデータをnetCDFに変換したりできます。
  • OriginProバージョン2021bは、[20] netCDFCFコンベンションをサポートしています。インポート中に平均化を実行して、GUIソフトウェアで大きなデータセットを処理できるようにすることができます。
  • Geospatial Data Abstraction Libraryは、netCDFデータへの読み取りおよび書き込みアクセスのサポート[21]を提供ます。
  • netCDF Explorerは、netCDFファイル用のマルチプラットフォームのグラフィカルブラウザです。netCDF Explorerは、 OPeNDAPを使用して、ローカルまたはリモートでファイルを参照できます。
  • Rは、 ncdf4(HDF5サポートを含む)[22]RNetCDF (HDF5サポートなし)などのパッケージを介してnetCDFをサポートします[23]
  • HDFqlを使用すると、ユーザーはC、C ++、Java、Python、C#、Fortran、およびRの高級言語(SQLと同様)を介してnetCDF-4/HDF5ファイルを管理できます。
  • ECMWFMetviewワークステーションおよびバッチシステムは、 GRIBおよびBUFRとともにNetCDFを処理できます。
  • OpenChromは、 Eclipse PublicLicense [24]の条件の下でコンバーターを出荷します。

一般的な使用法

これは、気候学気象学海洋学のアプリケーション(天気予報気候変動など)やGISアプリケーションで一般的に使用されています。

これは、多くのGISアプリケーション、および一般的な科学データ交換用の入出力形式です。彼らのサイトから引用するには:[25]

「NetCDF(ネットワーク共通データフォーム)は、配列指向のデータアクセス用のインターフェイスのセットであり、C、Fortran、C ++、Java、およびその他の言語用のデータアクセスライブラリの自由に配布されたコレクションです。netCDFライブラリは、マシンに依存しないものをサポートします。科学データを表現するためのフォーマット。これらのインターフェース、ライブラリ、およびフォーマットは、科学データの作成、アクセス、および共有をサポートします。」

規約

Climate and Forecast(CF)規則は、地球科学データのメタデータ規則であり、NetCDFアプリケーションプログラマーインターフェイス(API)で作成されたファイルの処理と共有を促進することを目的としています。規則は、データと同じファイルに含まれるメタデータを定義し(したがって、ファイルを「自己記述型」にします)、各変数のデータが表すもの、およびデータの空間的および時間的プロパティの明確な説明を提供します。 (グリッドセルの境界やセルの平均化方法など、グリッドに関する情報を含みます)。これにより、さまざまなソースからのデータのユーザーは、比較可能なデータを決定でき、強力な抽出、再グリッド、および表示機能を備えたアプリケーションを構築できます。

Parallel-NetCDF

Parallel-NetCDF(またはPnetCDF)と呼ばれる並列コンピューティング用のnetCDFの拡張機能が、アルゴンヌ国立研究所ノースウェスタン大学によって開発されました。[26]これは、 MPII/O拡張機能であるMPI -IOに基づいて構築されています。コミュニケーション。Parallel-NetCDFライブラリは、高レベルのnetCDFデータ構造を使用して、最適化を利用して、ファイルの読み取りおよび書き込みアプリケーションを複数のプロセッサ間で効率的に分散できます。Parallel-NetCDFパッケージは、クラシックおよび64ビットオフセット形式のみの読み取り/書き込みが可能です。Parallel-NetCDFは、netCDF-4.0で使用可能なHDF5ベースの形式を読み書きできません。Parallel-NetCDFパッケージは、FortranとCで異なるが類似したAPIを使用します。

UnidatanetCDFライブラリの並列I/Oは、リリース4.0以降、HDF5データファイルでサポートされています。バージョン4.1.1以降、Unidata NetCDF Cライブラリは、Parallel-NetCDFライブラリを使用してクラシックおよび64ビットオフセットファイルへの並列I / Oをサポートしますが、NetCDFAPIを使用します。

C / Fortran /C++ライブラリと他の形式との相互運用性

NetCDF Cライブラリ、およびそれに基づくライブラリ(Fortran77およびFortran90、C ++、およびすべてのサードパーティライブラリ)は、バージョン4.1.1以降、他のデータ形式で一部のデータを読み取ることができます。HDF5形式のデータは、いくつかの制限付きで読み取ることができます。HDF4形式のデータは、HDF4 Scientific Data(SD)APIを使用して作成された場合、netCDFCライブラリで読み取ることができます。

NetCDF-Java共通データモデル

NetCDF-Javaライブラリは現在、次のファイル形式とリモートアクセスプロトコルを読み取ります。

開発中の他の多くのフォーマットがあります。これらのそれぞれはNetCDFAPIを介して透過的にアクセスされるため、NetCDF-Javaライブラリは科学データセット の共通データモデルを実装すると言われています。

Java共通データモデルには3つの層があり、これらは互いに積み重なって、次々と豊富なセマンティクスを追加します。

  1. 構文層とも呼ばれるデータアクセス層は、データの読み取りを処理します
  2. 座標系レイヤーは、データ配列の座標を識別します座標は、科学データの完全に一般的な概念です。地球科学コミュニティにとって重要な特殊な地理参照座標系には、特別な注釈が付けられています。
  3. 科学データ型レイヤーは、グリッド、画像、ポイントデータなどの特定の種類のデータを識別し、データの種類ごとに特殊な方法を追加します。

データアクセス層のデータモデルは、NetCDF-3データモデルを一般化したものであり、NetCDF-4データモデルと実質的に同じです。座標系レイヤーは、Climate and ForecastMetadataConventionsの概念を実装および拡張します。科学データ型レイヤーを使用すると、Open Geospatial Consortiumの仕様と同様に、座標空間でデータを操作できます。座標系の識別とデータの入力は進行中ですが、ユーザーは実行時に独自のクラスをプラグインして、特殊な処理を行うことができます。

も参照してください

参考文献

  1. ^ 「NetCDFホームページ」Unidata/UCAR。2017年12月6日にオリジナルからアーカイブされまし2017年12月5日取得
  2. ^ 「OGC標準netCDFクラシックおよび64ビットオフセット」Opengeospatial.org。2017年11月30日にオリジナルからアーカイブされまし2017年12月5日取得
  3. ^ 「背景-NetCDFユーザーズガイド」Unidata.ucar.edu 2013年11月27日取得
  4. ^ 「CDF-よくある質問」NASA2018年6月19日にオリジナルからアーカイブされまし2018年11月2日取得
  5. ^ 「netCDFAPIのバージョン4.0」Unidata.ucar.edu。2015年6月17日にオリジナルからアーカイブされまし2013年11月27日取得
  6. ^ "ncdf"Cirrus.ucsd.edu。2013-08-06。2013年12月3日にオリジナルからアーカイブされました2013年11月27日取得
  7. ^ 「Rnetcdf」Cran.r-project.org。2012年7月19日。2013年12月2日にオリジナルからアーカイブされました2013年11月27日取得
  8. ^ 「hnetcdf:HaskellNetCDFライブラリ」hackage.haskell.org。2014-07-10。2014年7月9日にオリジナルからアーカイブされました2014年7月10日取得
  9. ^ 「NetCDFデータを操作または表示するためのソフトウェア」Unidata.ucar.edu 2020年10月23日取得
  10. ^ 「ncBrowse」Epic.noaa.gov。2013年12月3日にオリジナルからアーカイブされまし2013年11月27日取得
  11. ^ 「ncview」Meteora.ucsd.edu。2014-02-12にオリジナルからアーカイブされました2013年11月27日取得
  12. ^ 「Panoply」Giss.nasa.govゴダード宇宙科学研究所2014年6月20日にオリジナルからアーカイブされました2013年11月27日取得
  13. ^ 「PyNIO」Pyngl.ucar.edu。2011-07-28。2013年11月25日にオリジナルからアーカイブされました2013年11月27日取得
  14. ^ 「netCDF4」2017年11月29日にオリジナルからアーカイブされまし2017年12月4日取得
  15. ^ 「xarray:PythonのNDラベル付き配列とデータセット」2016-09-01にオリジナルからアーカイブされました2016年9月7日取得
  16. ^ 「GrADSホームページ」2016-02-13にオリジナルからアーカイブされました2018年4月10日取得
  17. ^ 「IDLプログラミングへのコヨーテのガイド」Dfanning.com。2013-11-23。2015年9月23日にオリジナルからアーカイブされまし2013年11月27日取得
  18. ^ 「コヨーテライブラリ」Dfanning.com。2013-11-23。2015年9月23日にオリジナルからアーカイブされまし2013年11月27日取得
  19. ^ 「ArcGISバージョン9.2」Esri.com。2013年11月22日にオリジナルからアーカイブされました2013年11月27日取得
  20. ^ 「NetCDFのインポートと処理」originlab.com 2021-05-11を取得
  21. ^ 「NetCDFネットワーク共通データフォーム」Gdal.org。2013年6月6日にオリジナルからアーカイブされました2013年11月27日取得
  22. ^ デビッドピアス(2014)。ncdf4:Unidata netCDF(バージョン4以前)形式のデータファイルへのインターフェイス。Rパッケージバージョン1.13。https://cran.r-project.org/package=ncdf4
  23. ^ PavelMichnaおよびMiltonWoods(2015)からの寄稿。RNetCDF:NetCDFデータセットへのインターフェース。Rパッケージバージョン1.7-3。 https://cran.r-project.org/package=RNetCDF
  24. ^ OpenChrom:クロマトグラフィーデータの質量分析用のクロスプラットフォームオープンソースソフトウェア、Philip Wenig、Juergen Odermatt、 BMC Bioinformatics ; 2010 ; 土井 10.1186 / 1471-2105-11-405
  25. ^ 「netCDFとは何ですか?」ユニデータプログラムセンター。2013年3月15日にオリジナルからアーカイブされまし2012年11月26日取得
  26. ^ 「parallel-netcdf」Mcs.anl.gov。2013-11-17。2008年12月1日にオリジナルからアーカイブされました2013年11月27日取得
  27. ^ 「BUFRFORMATDOCUMENTATION」2007年10月9日にオリジナルからアーカイブされました2008年2月2日取得
  28. ^ [1] 2008年9月5日、 WaybackMachineでアーカイブ
  29. ^ [2] 2005年12月14日、 WaybackMachineでアーカイブ
  30. ^ [3] 2008年5月21日、 WaybackMachineでアーカイブ
  31. ^ 「GINI衛星フォーマット」Weather.unisys.com。2013年12月2日にオリジナルからアーカイブされました2013年11月27日取得
  32. ^ 「Unidata|GEMPAK」Unidata.ucar.edu。2013年11月4日にオリジナルからアーカイブされました2013年11月27日取得
  33. ^ [4] 2008年2月12日、 WaybackMachineでアーカイブ
  34. ^ 「NetCDF」Unidata.ucar.edu。2013年11月29日にオリジナルからアーカイブされました2013年11月27日取得
  35. ^ 「NetCDF-4」Unidata.ucar.edu。2015年6月17日にオリジナルからアーカイブされまし2013年11月27日取得
  36. ^ スティーブアンサリ。「NCDC:レーダーリソース」Ncdc.noaa.gov。2013年12月2日にオリジナルからアーカイブされました2013年11月27日取得

外部リンク