NcML / THREDDS值元素是否存在硬连线限制?

时间:2013-02-08 15:56:11

标签: xml netcdf ncml thredds

可以放在NcML元素值中的条目的大小或数量是否有限制?我试图获取一组没有lon / lat变量的NetCDF文件 - 但是使用x / y变量 - 通过添加的NcML条目作为featureCollection读取 形式:

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
<variable name="lat_rho" shape="eta_rho xi_rho" type="float">
<attribute name="units" type="String" value="degrees_north" />
<values>[671x191 blankspace-separated latitudes here]</values>
</variable>

lat和lon变量存在于一个单独的文件中,我将它们提取为单个 使用ncks的字符串,我已经卡在适当的位置之间。

featureCollectionScan.log中的错误消息是:

[2013-02-07T15:15:37.386-0600] ERROR ucar.nc2.ft.fmrc.Fmrc: makeFmrcInv
java.lang.NullPointerException

...

[2013-02-07T15:15:37.388-0600] ERROR ucar.nc2.ft.fmrc.Fmrc:
/raid/data/txla_nesting6/.*\.nc$: makeFmrcInv failed
java.lang.RuntimeException: java.lang.NullPointerException

...

[2013-02-07T15:15:37.694-0600] WARN  ucar.nc2.ft.fmrc.GridDatasetInv: GridDatasetInv
using gds.getStartDate() for run date =%s
[2013-02-07T15:15:37.694-0600] ERROR ucar.nc2.ft.fmrc.Fmrc: makeFmrcInv
java.lang.NullPointerException

....     [2013-02-07T15:15:37.695-0600]错误ucar.nc2.ft.fmrc.Fmrc:     /raid/data/txla_nesting6/.*.nc$:makeFmrcInv失败     java.lang.RuntimeException:java.lang.NullPointerException

1 个答案:

答案 0 :(得分:1)

我不知道有关<values>标记的大小限制的问题的答案,但还有另一种方法可以解决您的问题。

您可以将lon,lat值写入netcdf文件,然后使用union聚合创建一个虚拟地将该netcdf文件连接到另一个netcdf文件(或netcdf文件的聚合)的数据集

例如,如果你有一堆文件,如:

mod_his_0001.nc
mod_his_0002.nc
...

您希望沿time维聚合,并创建一个包含lon,lat变量的netcdf文件:

lonlat.nc

您可以将它们聚合在一起:

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
 <!-- union the (1) time aggregation with the (2) grid file -->
 <aggregation type="union">
  <!-- (1) time aggregate files like "mod_his_0001.nc" -->
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/home/baum/models/run01/"
     regExp=".*mod_his_[0-9]{4}\.nc$"/>
   </aggregation>
  </netcdf>
  <!-- (2) grid file -->
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2"
   location="/home/baum/models/lonlat.nc"/>
 </aggregation>
</netcdf>