首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NetCDF文件的多个集合可以使用NcML进行聚合吗?

NetCDF文件的多个集合可以使用NcML进行聚合吗?
EN

Stack Overflow用户
提问于 2013-11-04 14:32:28
回答 1查看 601关注 0票数 4

我有40个NetCDF文件,它们都是来自海洋模型的一个模拟。每个变量的数据序列被分割成多个文件,因此目录清单如下所示:

代码语言:javascript
复制
$ ls ./output/*.nc
1_hvel.nc           3_hvel.nc           5_hvel.nc           7_hvel.nc
1_MeanPeriod.nc     3_MeanPeriod.nc     5_MeanPeriod.nc     7_MeanPeriod.nc
1_PeakPeriod.nc     3_PeakPeriod.nc     5_PeakPeriod.nc     7_PeakPeriod.nc
1_pwd.nc            3_pwd.nc            5_pwd.nc            7_pwd.nc
1_SigWaveHeight.nc  3_SigWaveHeight.nc  5_SigWaveHeight.nc  7_SigWaveHeight.nc
1_WaterLevel.nc     3_WaterLevel.nc     5_WaterLevel.nc     7_WaterLevel.nc
2_hvel.nc           4_hvel.nc           6_hvel.nc           8_hvel.nc
2_MeanPeriod.nc     4_MeanPeriod.nc     6_MeanPeriod.nc     8_MeanPeriod.nc
2_PeakPeriod.nc     4_PeakPeriod.nc     6_PeakPeriod.nc     8_PeakPeriod.nc
2_pwd.nc            4_pwd.nc            6_pwd.nc            8_pwd.nc
2_SigWaveHeight.nc  4_SigWaveHeight.nc  6_SigWaveHeight.nc  8_SigWaveHeight.nc
2_WaterLevel.nc     4_WaterLevel.nc     6_WaterLevel.nc     8_WaterLevel.nc

是否有可能沿着时间维将每个变量聚合起来,然后将所有这些聚合连接在一起?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-04 14:36:13

是的,您可以使用NcML嵌套聚合,因此可以在time上围绕几个类型的join_existing聚合使用类型join_existing聚合。

如果join_existing聚合在time上有不同的时间基,您只需在其中一个聚合上将time变量和维度重命名为time2,然后更改这些变量的属性以使用新命名的坐标。

一个例子应该使这一点更加清楚:

代码语言:javascript
复制
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
 <attribute name="title" type="string" value="SELFE - Ike - Ultralite - Variable Drag - Waves - 3D"/>
 <attribute name="institution" type="string"
  value="Virginia Institute of Marine Science -- http://web.vims.edu/physical/"/>
 <attribute name="source" type="string"
  value="SELFE run  (version v.vvv  compiled yyyy-mm-dd) for Hurricane Ike on the Ultralight mesh using variable drag, wind waves from WWM and 3D depth-averaged physics"/>
 <attribute name="history" type="string" value="ncml aggregation of .../whole_domain/ datafiles"/>
 <attribute name="references" type="string"
  value="testbed.sura.org:/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Ike/3D_varied_roughness_windstress_with_wave/Inundation_Model_Metadata_Template_v3_for_3D_windstress_sv_with_wave_Rita.docx"/>
 <variable name="selfe_mesh" shape="" type="int">
  <attribute name="cf_role" value="mesh_topology"/>
  <attribute name="topology_dimension" type="int" value="2"/>
  <attribute name="node_coordinates" value="x y"/>
  <attribute name="face_node_connectivity" value="ele"/>
 </variable>
 <variable name="time">
  <attribute name="units" value="seconds since 2005-09-18 00:00:00"/>
  <attribute name="standard_name" value="time"/>
 </variable>
 <variable name="ele" shape="nface nele" type="int">
  <attribute name="cf_role" value="face_node_connnectivity"/>
  <attribute name="start_index" type="short" value="1"/>
 </variable>
 <variable name="x" shape="node" type="float">
  <attribute name="units" value="degrees_east"/>
 </variable>
 <variable name="y" shape="node" type="float">
  <attribute name="units" value="degrees_north"/>
 </variable>
 <variable name="depth" shape="node" type="float">
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="m"/>
  <attribute name="standard_name" value="depth_below_geoid"/>
  <remove type="attribute" name="positive"/>
 </variable>
 <variable name="sigma" shape="sigma" type="float">
  <attribute name="long_name" value="S coordinates at whole levels"/>
  <attribute name="units" value="non-dimensional"/>
  <attribute name="positive" value="up"/>
 </variable>
 <variable name="Cs" shape="sigma" type="float">
  <attribute name="long_name" value="Function C(s) at whole levels"/>
  <attribute name="units" value="non-dimensional"/>
  <attribute name="positive" value="up"/>
 </variable>
 <variable name="elev" shape="time node" type="float">
  <attribute name="long_name" value="free_surface_elevation"/>
  <attribute name="standard_name" value="sea_surface_height_above_geoid"/>
  <attribute name="missing_value" type="float" value="-999.00"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="m"/>
 </variable>
 <variable name="wwm_1" shape="time node" type="float">
  <attribute name="long_name" value="significant_wave_height"/>
  <attribute name="standard_name" value="sea_surface_wave_significant_height"/>
  <attribute name="missing_value" type="float" value="-999.00"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="m"/>
 </variable>
 <variable name="wwm_3" shape="time node" type="float">
  <attribute name="long_name" value="mean_period"/>
  <attribute name="standard_name" value="sea_surface_wave_period_at_variance_spectral_density_mean"/>
  <attribute name="missing_value" type="float" value="-999.00"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="s"/>
 </variable>
 <variable name="wwm_9" shape="time node" type="float">
  <attribute name="long_name" value="peak_period"/>
  <attribute name="standard_name"
   value="sea_surface_wave_period_at_variance_spectral_density_maximum"/>
  <attribute name="missing_value" type="float" value="-999.00"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="s"/>
 </variable>
 <variable name="wwm_15" shape="time node" type="float">
  <attribute name="long_name" value="peak_direction"/>
  <attribute name="standard_name"
   value="sea_surface_wave_from_direction_at_variance_spectral_density_maximum"/>
  <attribute name="missing_value" type="float" value="-999.00"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="degrees_east"/>
 </variable>
 <variable name="u" shape="time2 sigma node" type="float">
  <attribute name="standard_name" value="barotropic_eastward_sea_water_velocity"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="m/s"/>
 </variable>
 <variable name="v" shape="time2 sigma node" type="float">
  <attribute name="standard_name" value="barotropic_northward_sea_water_velocity"/>
  <attribute name="mesh" value="selfe_mesh"/>
  <attribute name="location" value="node"/>
  <attribute name="coordinates" value="y x"/>
  <attribute name="units" value="m/s"/>
 </variable>
 <aggregation type="union">
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Rita/3D_varied_roughness_windstress_with_wave/output/"
     regExp=".*[0-9]{1}_WaterLevel\.nc$"/>
   </aggregation>
  </netcdf>
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Rita/3D_varied_roughness_windstress_with_wave/output/"
     regExp=".*[0-9]{1}_SigWaveHeight\.nc$"/>
   </aggregation>
  </netcdf>
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Rita/3D_varied_roughness_windstress_with_wave/output/"
     regExp=".*[0-9]{1}_MeanPeriod\.nc$"/>
   </aggregation>
  </netcdf>
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Rita/3D_varied_roughness_windstress_with_wave/output/"
     regExp=".*[0-9]{1}_PeakPeriod\.nc$"/>
   </aggregation>
  </netcdf>
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Rita/3D_varied_roughness_windstress_with_wave/output/"
     regExp=".*[0-9]{1}_pwd\.nc$"/>
   </aggregation>
  </netcdf>
  <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
   <dimension name="time2" orgName="time"/>
   <variable name="time2" orgName="time"/>
   <aggregation dimName="time" type="joinExisting">
    <scan
     location="/data/ftp/upload/Inundation/vims/selfe_tropical/runs/Rita/3D_varied_roughness_windstress_with_wave/output/"
     regExp=".*[0-9]{1}_hvel\.nc$"/>
   </aggregation>
  </netcdf>
 </aggregation>
</netcdf>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19769982

复制
相关文章

相似问题

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