0

我想聚合远程 THREDDS 目录的特定目录中的所有文件。这些是grib2nam 预测的文件。是每个月的主要目录列表。这是我ncml用于汇总此文件目录的文件:

<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" >
    <aggregation dimName="time" type="joinExisting">
    <scan location="http://www.ncei.noaa.gov/thredds/dodsC/nam218/201807/20180723/" regExp="^.*\.grb2$" subdirs="false"/>
    <dimension name="time" orgName="t" />
    </aggregation>
</netcdf>

另外,我最感兴趣的是在文件中包含这两个变量:u-component_of_wind_height_above_groundv-component_of_wind_height_above_ground.

我不确定远程目录中的上述聚合是否正确。我从上面的 ncml 文件中得到这个错误:

There are no datasets in the aggregation DatasetCollectionManager{ collectionName='http://www.ncei.noaa.gov/thredds/dodsC/nam218/201807/20180723/^.*\.grb2$' recheck=null dir=http://www.ncei.noaa.gov/thredds/dodsC/nam218/201807/20180723/ filter=^.*\.grb2$

这个ncml文件应该怎么写?

谢谢。

4

2 回答 2

2

您不能 glob 远程 URL,因此您需要向聚合提供这些 OPeNDAP 端点的列表,例如:

<dataset name="Nam218" urlPath="nam218">
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
    <aggregation dimName="time" type="joinExisting">
      <netcdf location="http://www.ncei.noaa.gov/thredds/dodsC/nam218/201807/20180723/<file01>.grb2"/>
      <netcdf location="http://www.ncei.noaa.gov/thredds/dodsC/nam218/201807/20180723/<file02>.grb2"/>
      <netcdf location="http://www.ncei.noaa.gov/thredds/dodsC/nam218/201807/20180723/<file03>.grb2"/>
    </aggregation>
  </netcdf>
</dataset>
于 2018-07-28T12:55:12.653 回答
0

您可以编写一个简单的程序(我使用 c++)在命令提示符下使用。(我使用 Windows。)它启动一个 BAT 文件,该文件启动 wget 并下载最新的 THREDDS 目录,然后将其保存为纯文本,然后 c++ 程序将整个文件加载到一个字符串中,我在其中解析它并使用数据。

于 2018-08-15T14:09:11.353 回答