首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel用户访问THREDDS数据服务器上的NetCDF文件的最佳方式?

Excel用户访问THREDDS数据服务器上的NetCDF文件的最佳方式?
EN

Stack Overflow用户
提问于 2013-02-02 00:19:36
回答 1查看 3.5K关注 0票数 1

我见过以下使用excel访问netcdf文件的示例。

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

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

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-02 00:58:14

据我所知,使用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

您可以在其中提取离特定位置最近的时间序列,并选择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

产生:

代码语言:javascript
复制
    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,并认为将获得表面图层,则可能会获得NaN,因为表面图层的级别可能为-0.03或更高(如上例所示)。

我已经向Unidata报告了所有这些问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14650585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档