【问题标题】:Saving NetCDF as subsets of the time dimension using xarray使用 xarray 将 NetCDF 保存为时间维度的子集
【发布时间】:2021-03-06 16:15:37
【问题描述】:

我有一个带有一个变量(正面)和四个维度(时间、高度、纬度和经度)的 NetCDF。下载自https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdGAtfnt10day_LonPM180.html

这是一个月度复合,即 数组(['2001-01-16T12:00:00.000000000', '2001-02-16T00:00:00.000000000', ...'2013-12-16T12:00:00.000000000'], dtype='datetime64[ns] ')。

我想为每个时间戳创建一个文件(NetCDF 或 Geotif 都没有关系)。

我试过了:

ds = xr.open_dataset("Front_monthly2001to2013.nc", decode_times=True)

months, datasets = zip(*ds.groupby("time.month"))  #.groupby("time.month")
paths = ["test%s.nc" % m for m in months]
xr.save_mfdataset(datasets, paths)

但随后它将所有月份分组,我得到 12 个输出文件,而不是每个年月的一个。 如何按年月保存(在我的情况下,与每个时间戳相同)?

提前致谢

【问题讨论】:

    标签: netcdf python-xarray


    【解决方案1】:

    您可以使用时间维度的datetime components 将时间戳重新格式化为年和月并将其用于分组:

    months, datasets = zip(*ds.groupby(ds.time.dt.strftime("%Y%m")))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2017-06-26
      相关资源
      最近更新 更多