使用区域掩码文件从 NetCDF4 文件中提取数据
Extract data from NetCDF4 file with regional mask file
我正在处理多个 NetCDF4 文件并想从中提取 monthly_rain
值。这是我的代码:
import numpy
import netCDF4
with netCDF4.Dataset('abc.nc', 'r') as mask_dataset:
mask_data = mask_dataset.variables['mask'][:]
results = []
for year in range(2010, 2019):
with netCDF4.Dataset('{:d}.monthly_rain.nc'.format(year), 'r') as dataset:
data = dataset.variables['monthly_rain'][:]
data.mask = mask_data.mask
average = numpy.mean(data)
results.append(average)
print(results)
以上代码的结果是:
[92.82600598372804, 67.01124693612452, 54.30168356893234, 39.58771623758809, 45.30353874205824, 39.017626997972684, 50.94861235658874, 44.55133832249074, 41.7971056907917]
这就是我想要的结果。
但是,我想从文件中提取所有 monthly_rain
值,以便我可以对数据集进行进一步检查。有什么方法可以让我这样做吗?
现在我可以回答...只是不在循环中计算平均值,而是直接将(屏蔽)"data"附加到结果,然后再进行任何额外的post-处理。
我正在处理多个 NetCDF4 文件并想从中提取 monthly_rain
值。这是我的代码:
import numpy
import netCDF4
with netCDF4.Dataset('abc.nc', 'r') as mask_dataset:
mask_data = mask_dataset.variables['mask'][:]
results = []
for year in range(2010, 2019):
with netCDF4.Dataset('{:d}.monthly_rain.nc'.format(year), 'r') as dataset:
data = dataset.variables['monthly_rain'][:]
data.mask = mask_data.mask
average = numpy.mean(data)
results.append(average)
print(results)
以上代码的结果是:
[92.82600598372804, 67.01124693612452, 54.30168356893234, 39.58771623758809, 45.30353874205824, 39.017626997972684, 50.94861235658874, 44.55133832249074, 41.7971056907917]
这就是我想要的结果。
但是,我想从文件中提取所有 monthly_rain
值,以便我可以对数据集进行进一步检查。有什么方法可以让我这样做吗?
现在我可以回答...只是不在循环中计算平均值,而是直接将(屏蔽)"data"附加到结果,然后再进行任何额外的post-处理。