我在处理从CCMP_Wind_Analysis_yyyymmdd_V02.0_L3.0_RSS.nc下载的风分析时遇到了问题。
NetCDF fortran库使用所提供的示例代码成功地打开了气候学,但没有打开单独的每日数据。
program open
USE netcdf
IMPLICIT NONE
INTEGER(KIND=4) :: ierr !Open netCDF file
ierr=nf90_open(path='infile', mode=nf90_nowrite, ncid=ncid)
ierr=nf90_close(ncid)
end p
我试着用dask处理三维数组(x,y,time).这些数组存储为netcdf4文件,并使用netCDF4 python库编写。我能够从netcdf文件中定义的变量创建一个dask.array,当我试图使用scheduler="processes“计算结果时,会引发以下错误:
NotImplementedError: Variable is not picklable
但是,我知道是在简单计算沿时间轴的平均值时产生的误差。似乎相关,但无助于解决我的问题。计算沿时间轴的平均值只是为了演示。在实践中,我将应用更复杂的函数,这些函数仅部分基于numpy,这就是为什么我想通过使用dask中的进程
我知道如何计算一个netcdf文件中变量的平均值。但是,我有40个netcdf文件。在每个文件中,我有4000个数据值,用于混合层高度。我想为多个netcdf文件创建一个平均混合层高度的列表。最后,我的名单应该是40。
有人能帮我用python代码创建这个列表吗?非常感谢。
下面是我用来计算单个netcdf文件中一个层的平均混合层高度的代码。
import numpy as np
import netCDF4
f = netCDF4.Dataset('niv.nc')
#the shape of my data set is (5760,3)
#5760 is t