【发布时间】:2022-01-11 21:03:47
【问题描述】:
我正在寻找从 NetCDF 文件中以特定变量值选择数据的选项。数据集包含时间、纬度和经度坐标以及一系列变量。其中一个变量是具有陆地/开阔海洋/海冰/湖泊的特定值的掩码。由于公海由 ds.mask = 1 表示,我只想提取位于 mask = 1 的坐标(时间和空间)的海面温度值。但是,我不希望海面温度值位于其他坐标设置为 NaN,但只保留 ds.mask = 1 的那些坐标和变量值。我知道如何使用 xarray.sel/isel 选择和数据,但是,这只适用于按坐标选择,而不是通过我正在尝试的变量值。任何帮助将不胜感激。
lati = stormtrack_lat.values
loni = stormtrack_lon.values
timei = stormtrack_datetime.values
tmax = timei.max() + np.timedelta64(10,'D')
tmin = timei.min() - np.timedelta64(10,'D')
SSTskin_subfile = SSTskin_file.sel(time=slice(tmin, tmax))
#HERE I NEED HELP:
#extract data where mask = ocean (1) and use only these data points and keep these only!
SSTskin_subfile_masked = SSTskin_subfile.sel(SSTskin_subfile.mask == 1) #does not work yet (Thrown error: ValueError: the first argument to .isel must be a dictionary)
这是 NetCDF 文件的结构:
【问题讨论】:
-
请贴出你试过的代码
-
我已经添加了我的代码。谢谢。
标签: python netcdf python-xarray