【问题标题】:Best way for Excel users to access NetCDF files on a THREDDS Data Server?Excel 用户访问 THREDDS 数据服务器上的 NetCDF 文件的最佳方式是什么?
【发布时间】:2013-03-06 00:36:54
【问题描述】:

我已经看到了以下使用excel 访问netcdf 文件的示例。

我想知道是否可以根据特定索引访问数据的某个部分(例如,来自 4D 变量的地图上某个点的参数的时间序列)

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

有什么想法吗?

【问题讨论】:

    标签: excel netcdf thredds


    【解决方案1】:

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

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

    2) 使用 THREDDS 数据服务器提供的 NetCDF-Subset Service(这里我使用的是最新的 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 的时间序列,其在地表附近的 6 小时间隔内且最接近 -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&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 版本中,网络上有一个选项可用于 指定垂直水平。这似乎在 最新版本的 TDS (4.3.15)。所以如果没有看到垂直 级别说明符,您仍然可以通过添加来指定某个级别 手动添加到 URL。
    2. 垂直选择器适用于具有维度的数据 coordinaets,但对于无量纲的垂直坐标模型,即使 如果它们符合 CF,则该服务当前未转换 到维度坐标。所以用户收到无量纲 坐标回,还必须指定无量纲坐标 如果他们想要一个特定的水平。这显然不是很 有用。
    3. 如果用户指定的级别高于或低于 数据集,返回的数据值为 NaN。所以对于海洋 模型,如果你输入一个值 0,认为你会得到 表面层,你可能会得到一个 NaN,因为表面的水平 layer 可能是 -0.03 或其他值(如上例所示)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多