我有一个高达300米的海底温度数据(有不规则的深度)。我想用Python计算0到300米的海洋热含量。单元区域是由CDO工具计算的。
公式是:
OHC =海水密度*比热容*将超过这个深度的温度积分。
我能写代码。
#OHC Calculation
def ocean_heat(Temperature,cell Area):
density = 1026 #kg/m^3
c_p = 3990 #J/(kg K)
heat = Temperature.sum(dim=['depth','lon','lat']) * density * c_p * cell Area
return heat但是,深度的间隔并不相同。所以我认为有必要使用加权温度。因此,如果有人能帮助知道正确的程序来计算OHC。如果有其他的来源或模块,请让我知道。
谢谢。
发布于 2022-01-13 15:25:27
如果您的数据集是NetCDF文件,我建议查看Xarray包。它用于处理标记的多维数组。它在地球科学中很受欢迎。
下面是Pangeo使用Xarray计算海洋热含量的一个例子:https://gallery.pangeo.io/repos/NCAR/notebook-gallery/notebooks/Run-Anywhere/Ocean-Heat-Content/OHC_tutorial.html
第一部分是利用Dask加速计算。任务8是他们开始计算海洋热量含量的地方。
https://stackoverflow.com/questions/70520530
复制相似问题