首页 > 解决方案 > 将多个每日 NetCDF 文件中的变量组合到 Python 中该变量的一个年度时间序列数据文件中

问题描述

我有名为“A2006001.L4_gom_day_CAFE.nc”和“A2006002.L4_gom_day_CAFE.nc”等的文件,每个文件都包含卫星变量的每日测量值,如浮游植物碳生物量 (phyto_c) 和净初级生产力 (npp)。这些文件的尺寸为 [1440,2112] = ['lat','lon']

我想从每个文件中加载 phyto_c 的数据并将其保存到一个名为 phyto_c.nc 的新 NetCDF 文件中,该文件的变量尺寸为 [365,1440,2112]=['time','lat','隆']。我尝试循环遍历文件并每次都保存到一个数组中,但它不起作用。

我将如何将这些文件循环在一起以获得维度为 [365,1440,2112] 的 phyto_c 数组,然后将数组保存到 netCDF 文件中?

预先感谢您的任何帮助!

标签: pythondatabaseloopstime-seriesnetcdf4

解决方案


如果每个文件的经度/纬度都相同,则可以使用 cdo 或 nco 之类的工具。使用 cdo,命令是:

cdo mergetime A2006001.L4_gom_day_CAFE.nc A2006002.L4_gom_day_CAFE.nc A2006001_2006002.nc

您还可以使用 Python 中的 xarray 模块并访问 Python 本身中的数据:

import xarray as xr
ncin = xr.open_mfdataset("A20060*")

然后,ncin 将成为 xarray 数据帧,其中包含 netCDF 文件中的所有变量。


推荐阅读