1

Excelを使用してnetcdfファイルにアクセスする次の例を見てきました。

特定のインデックスに基づいてデータの特定の部分にアクセスできるかどうか疑問に思いました(たとえば、4D変数からのマップ上の特定のポイントでのパラメーターの時系列)

コーディングなしでは不可能だと私には思えますか?

何かご意見は?

4

1 に答える 1

2

Excelを使用してUnidataのTHREDDSデータサーバーからデータにアクセスする方法は2つあります。

1) https://publicwiki.deltares.nl/display/OET/OPeNDAP+access+with+Excelで説明されているように、OpenDAPからのASCII応答を使用して時系列を抽出し ます。このアプローチは、すべてのOPeNDAPサーバーで機能します。

2)THREDDSデータサーバーが提供するNetCDFサブセットサービスを使用します(ここでは、最新のTDSバージョン4.3を使用しています)。

したがって、THREDDSが提供する特定のデータセットに移動すると、次のようになります。

http://geoport-dev.whoi.edu/thredds/catalog/coawst_2_2/fmrc/catalog.html?dataset=coawst_2_2/fmrc/coawst_2_2_best.ncd

NetcdfSubsetサービスをクリックし、[Grid as Point Dataset]をクリックすると、次のフォームが表示されます。

http://geoport-dev.whoi.edu/thredds/ncss/grid/coawst_2_2/fmrc/coawst_2_2_best.ncd/dataset.html

ここでは、特定の場所に最も近い時系列を抽出し、出力タイプとしてCSVを選択できます。これは、もちろんExcelに簡単にロードできます。良い点は、このフォームがRESTful URLクエリを生成するだけであり、コードによって変更または簡単に生成できることです。したがって、たとえば、このクエリはtemp、表面近くで-70.6W、42.3Nに最も近い6時間間隔で変数の時系列を抽出します。

http://geoport-dev.whoi.edu/thredds/ncss/grid/coawst_2_2/fmrc/coawst_2_2_best.ncd?var=temp&latitude=42.3&longitude=-70.6&time_start=2011-08-01T00%3A00%3A00Z&time_end=2011-08 -01T06%3A00%3A00Z&vertCoord =-。03&accept = csv

生成:

    date,lat[unit="degrees_north"],lon[unit="degrees_east"],vertCoord[unit=""],temp[unit="Celsius"]
2011-08-01T00:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.44405174255371
2011-08-01T01:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.361846923828125
2011-08-01T02:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.31492805480957
2011-08-01T03:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.254281997680664
2011-08-01T04:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.24005889892578
2011-08-01T05:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.186853408813477
2011-08-01T06:00:00Z,42.31439418116631,-70.58628311827651,-0.03125,18.114046096801758

NetCDFサブセットサービスに関するドキュメントはこちらです:http: //www.unidata.ucar.edu/projects/THREDDS/tech/interfaceSpec/NetcdfSubsetService_4_3.html#Vertical

Unidataに報告したNetCDFサブセットサービスの垂直座標に関するいくつかの問題があります。

  1. TDSの以前のバージョンでは、垂直レベルを指定するための選択がWeb上にありました。これは、最新バージョンのTDS(4.3.15)では欠落しているようです。したがって、垂直レベル指定子が表示されない場合でも、URLに手動で追加することにより、特定のレベルを指定できます。
  2. 垂直セレクターは、次元座標を持つデータに対しては正常に機能しますが、無次元垂直座標モデルの場合、CFに準拠している場合でも、サービスは現在次元座標に変換されていません。したがって、ユーザーは無次元座標を受け取ります。また、特定のレベルが必要な場合は、無次元座標を指定する必要があります。これは明らかにあまり役に立ちません。
  3. ユーザーがデータセットのレベルより上または下のレベルを指定した場合、返されるデータ値はNaNです。したがって、海洋モデルの場合、値0を入力すると、表層を取得すると考えて、表層のレベルが-0.03などになる可能性があるため(上​​記の例のように)、NaNを取得する可能性があります。

これらすべての問題をUnidataに報告しました。

于 2013-02-01T16:58:13.610 に答える