远程THREDDS目录的NcML聚合

时间:2018-07-28 02:00:47

标签: netcdf thredds ncml

我想聚合远程THREDDS目录的特定目录内的所有文件。这些是grib2文件,用于nam预测。 This是每个月的目录的主要列表。这是我的ncml文件,用于汇总this catalog个文件:

<?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文件应如何写入?

谢谢。

2 个答案:

答案 0 :(得分:2)

您不能对远程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>

答案 1 :(得分:0)

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