Excel用户访问THREDDS数据服务器上的NetCDF文件的最佳方法是什么?

我已经看到下面的例子使用Excel访问netcdf文件。

我想知道是否有可能基于特定的索引访问某些部分数据(例如,来自4Dvariables的地图上某个特定点的时间序列)

在我看来,没有任何编码是不可能的。

有什么想法吗?

有两种方法可以使用Excel从Unidata的THREDDS数据服务器访问数据:

1)提取时间序列是使用来自OpenDAP的ASCII响应,如下所述: https ://publicwiki.deltares.nl/display/OET/OPeNDAP+access+with+Excel。 这种方法可以与任何OPeNDAP服务器一起使用。

2)使用THREDDS数据服务器提供的NetCDF-Subset服务(在这里我使用最新的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

您可以在其中提取最接近特定位置的时间序列,并selectCSV作为输出types,当然可以轻松加载到Excel中。 好的是,这个表单只是生成一个REST式的URL查询,可以修改或通过代码轻松生成。 因此,例如,该查询提取表面附近6小时间隔内variablestemp的时间序列,最接近-70.6W,42.3N:

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&接受= 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

在NetCDF子集服务中,我向Unidata报告了一些垂直坐标问题:

  1. 在以前的TDS版本中,网上有一个select来指定垂直级别。 在最新版本的TDS(4.3.15)中似乎已经失踪了。 因此,如果没有看到垂直级别说明符,则仍然可以通过手动将其添加到URL来指定某个级别。
  2. 垂直select器对于具有尺寸坐标的数据工作良好,但对于无量纲的垂直坐标模型,即使它们符合CF标准,服务当前也不转换为尺寸坐标。 所以用户收到无量纲坐标,如果他们想要一个特定的水平,还必须指定无量纲坐标。 这显然不是很有用。
  3. 如果用户指定数据集中级别以上或以下的级别,则返回的数据值为NaN。 所以对于一个海洋模型,如果你input一个0的值,认为你会得到表面层,你可能会得到一个NaN,因为表面层的等级可能是-0.03或者什么东西(如上面的例子)。

我已经将所有这些问题报告给Unidata。