- 积分
- 164
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2021-3-10
- 最后登录
- 1970-1-1
|
10金钱
想计算海温37年12个月的平均EOF分解,每个月只画第一个模态,不太清楚这个EOF计算怎么处理,现在输出的EOF数组是[evn | 1] x [month | 12] x [lat | 31] x [lon | 91],但时间序列数值pc是 [evn | 1] x [time | 37],时间序列数值不应该也是1x12x37吗,求大佬指点,真的不太懂EOF
部分脚本:
sst1= onedtond(ndtooned(sst), (/ny1,12,dim2(1),dim2(2)/))
copy_VarCoords(sst(0,:,:), sst1(0,0,:,:))
sst1= dtrend_leftdim(sst1, False)
sst2=sst1(:,:,{0:60},{100:280})
sst2!0="time"
sst2!1="month"
x= sst2(month|:,lat|:,lon|:,time|:)
neof = 1
option = True
option@jopt = 1 ; use correlation matrix
eof = eofunc_Wrap(x,neof,option) ; ev_cor(neval,nvar)
pc = eofunc_ts_Wrap(x,eof,False)
sigma = dim_stddev_n_Wrap(pc,1)
pc(0,:,:) = pc(0,:,:)/sigma(0)
eof(0,:,:,:) = eof(0,:,:,:)*sigma(0)
copy_VarCoords(x(:,:,:,0),eof(0,:,:,:))
printVarSummary(pc)
printVarSummary(eof)
|
|