Python 使用质量守恒重新填充netcdf文件
我试图用二氧化碳排放数据将一个netcdf文件重新划分为一个更粗的网格,覆盖相同的区域和12个月的月平均值。数据有3个维度(时间、纬度、经度)。 为了检查质量守恒是否实现,我尝试简单地将新旧netcdf文件的变量汇总如下:Python 使用质量守恒重新填充netcdf文件,python,numpy,netcdf,python-xarray,Python,Numpy,Netcdf,Python Xarray,我试图用二氧化碳排放数据将一个netcdf文件重新划分为一个更粗的网格,覆盖相同的区域和12个月的月平均值。数据有3个维度(时间、纬度、经度)。 为了检查质量守恒是否实现,我尝试简单地将新旧netcdf文件的变量汇总如下: import xarray as xr import numpy as np ds_original = xr.open_dataset('original.nc') ds_regrid = xr.open_dataset('regrid.nc') #selecti
import xarray as xr
import numpy as np
ds_original = xr.open_dataset('original.nc')
ds_regrid = xr.open_dataset('regrid.nc')
#selecting emissions from first month of ncfiles
ds_original = ds_original[dict(time=slice(0, 1))]
emis_original = ds_original.variables['CO2'][0]
ds_regrid = ds_regrid[dict(time=slice(0, 1))]
emis_regrid = ds_regrid.variables['CO2'][0]
print(np.nansum(emis_original.variables))
print(np.nansum(emis_regrid.variables))
输出值非常不同,32表示重新归档,3300表示原始文件。
有人知道我哪里出错了吗?我很感激每一个暗示 您需要提供更多详细信息。单位是什么?你是怎么后悔的?您似乎在说代码出错了,但没有显示代码谢谢您的回复,我使用cdo进行重新填充,这是我直接从终端运行的。命令是“cdo remapcon,new_grid original.nc reglid.nc”,应该提供质量守恒,但我想检查一下。单位为g CO2/m²。我认为代码很好,但是我总结排放量的方法“np.nansum(emis.variables)”可能是错误的。看起来你需要乘以面积