gpt4 book ai didi

python - 使用 xarray 将单个月度 NetCDF 文件拆分为每日平均的 NetCDF 多个文件

转载 作者:行者123 更新时间:2023-12-04 01:15:02 32 4
gpt4 key购买 nike

我有 1 个 2007 年 9 月的 NetCDF 文件。它包含某些纬度/经度的 6 小时数据,其中包含风和湿度变量。每个变量的形状为 (120, 45, 93):120 次(一天 4 次),45 个纬度和 93 个经度。使用以下代码,我可以获得所有变量的每日平均数据。现在,每个变量的形状都是 (30, 45, 93)。时间是一个整数,单位为 'hours since 1900-01-01 00:00:00.0'

从这个每日平均数据中,我怎样才能将每天分成 30 个不同的 NetCDF 文件,文件名包含 YYYY:MM:DD 时间格式?

import xarray as xr
monthly_data = xr.open_dataset('interim_2007-09-01to2007-09-31.nc')
daily_data = monthly_data.resample(time='1D').mean()

最佳答案

Xarray 在这样的时候有一个顶级函数 - xarray.save_mfdataset .在您的情况下,您可能希望使用 groupby 将数据集分解为逻辑 block ,然后创建相应文件名的列表。从那里,只需让 save_mfdataset 完成其余的工作。

dates, datasets = zip(*ds.resample(time='1D').mean('time').groupby('time'))
filenames = [pd.to_datetime(date).strftime('%Y.%m.%d') + '.nc' for date in dates]
xr.save_mfdataset(datasets, filenames)

关于python - 使用 xarray 将单个月度 NetCDF 文件拆分为每日平均的 NetCDF 多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54376805/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com