1

我有大约 500 个 netcdf(.nc) 文件。我需要将它们全部合并到一个文件中。我是编程新手,对合并这些文件没有足够的知识。谁能解释一下我们如何合并这些文件文件并提取到 csv 文件或 excel 表。我们可以使用哪个函数来合并文件。任何帮助将不胜感激。

4

3 回答 3

1

NCO 的 ncecat 可以将任意数量的 netCDF 文件与

ncecat in1.nc in2.nc ... inN.nc out.nc
ncecat in*.nc out.nc

文档中描述了开关和其他选项。

于 2015-02-10T06:09:49.797 回答
0

您可以使用合并具有不同变量的文件

cdo merge in1.nc in2.nc ... inN.nc out.nc

或者如果它们是不同时间段的相同变量,您可以沿时间轴合并

cdo mergetime in1.nc in2.nc ... inN.nc out.nc

但请注意,为了执行此 CDO 必须同时打开所有输入文件,并且在某些系统上,打开文件的数量限制为 256。因此,为了合并 500 个文件,您需要在2个或更多步骤。

于 2017-04-08T22:48:41.597 回答
0

试试这个 shell 脚本来合并你拥有的 500 个 netcdf 文件。这是您可以做什么的粗略想法:

  i=1
  for X in `ls -1 *nc`
  do
       cdo merge $X temp.nc out.nc
       i=`expr $i+1`
       if [i!=500];  #This is the run so you want to keep out as your final output
       then 
           mv out.nc temp.nc ##### for use in future merges.  This will build up as $X nc files get merged to it.
  done
于 2018-05-03T19:22:21.673 回答