在python中访问netcdf文件得到的缓存numpy数组结果

2024-04-27 20:55:06 发布

您现在位置:Python中文网/ 问答频道 /正文

import netCDF4

def get_nc_var3d(nc_hndl, var, year):
    """
    Get value from netcdf for variable var for year
    :param nc_hndl: handle to netcdf file
    :param var: which variable to extract
    :param year:
    :return:
    """
    val = nc_hndl.variables[var][int(year), :, :]

    return val

我有一个函数,它从netcdf文件(维数为720x1440的数组)中获取一个切片。我多次从不同的函数调用这个函数。我想缓存这个函数的输出,并在下次使用相同的参数调用它时使用它。我该怎么做?你知道吗

注意:functools lrucache不工作,因为它返回以下错误:

TypeError: unhashable type: 'MaskedArray'

Tags: to函数importforreturnparamvardef