You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用nctoolkit对SST数据集开展EOF(经验正交函数)分析

nctoolkit实现EOF分析操作指南

核心结论

nctoolkit本身未内置原生EOF分析接口,但可通过与eofs、xarray库联动完成全流程分析,完美兼容你现有的nctoolkit数据预处理工作流。

前置依赖安装

执行以下命令安装所需依赖包:
pip install nctoolkit eofs xarray

具体操作步骤

  • 步骤1:用nctoolkit完成SST数据预处理(适配ENSO非季节性趋势研究需求)
    import nctoolkit as nc
    
    # 读入MUR SST数据集
    ds = nc.open_data("你的MUR SST本地文件路径.nc")
    # 可选:裁剪热带太平洋研究区(ENSO分析常用范围)
    ds.crop(lon=[120, 290], lat=[-20, 20])
    # 移除季节周期,计算月尺度距平,提取非季节性信号
    ds.annual_anomaly(monthly=True)
    # 将nctoolkit数据集转为xarray对象,供后续EOF计算
    ds_xr = ds.to_xarray()
    
  • 步骤2:EOF求解
    from eofs.standard import Eof
    import numpy as np
    
    # 提取SST变量数组,维度顺序为(时间, 纬度, 经度)
    sst_arr = ds_xr["analysed_sst"].values
    # 初始化EOF求解器,自动掩码缺测值,加入纬度余弦权重消除高纬度面积偏差
    solver = Eof(sst_arr, weights="coslat")
    
  • 步骤3:提取分析结果
    # 提取前3个EOF空间模态
    eof_modes = solver.eofs(neofs=3)
    # 提取对应标准化主成分时间序列(PC),第一模态PC即为ENSO指数序列
    pc_series = solver.pcs(npcs=3, pcscaling=1)
    # 提取各模态解释方差占比
    exp_var = solver.varianceFraction(neigs=3)
    
  • 步骤4:结果回接nctoolkit(可选)
    可将EOF模态、PC序列整理为xarray数据集后导出为NetCDF,再通过nc.open_data()读入,即可继续用nctoolkit完成后续可视化、统计分析操作。

内容的提问来源于stack exchange,提问作者joshua lasu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:36:03