爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7163|回复: 7

EOF分解疑惑

[复制链接]
发表于 2021-11-28 20:42:30 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 vicky-zz 于 2021-11-28 20:42 编辑

先画了一个30°E-160°E区域平均的春季的MSF剖面图,参考文献里给的图,我感觉它画出的不太关于赤道对称,但是参考的文献里说它是近似关于赤道对称分布的,我自己画出来的对称性比它好一点。然后文献对MSF进行了EOF分解,我发现我画的前两个模态跟它画的完全不一样(图在最后面),下面是我用NCL画的脚本,不知道错在哪里呜呜,大神帮忙看看呀


begin
a = addfile("./Downloads/uwnd.mon.mean.nc", "r")
b = addfile("./Downloads/vwnd.mon.mean.nc", "r")
c= addfile("./Downloads/pres.mon.mean.nc", "r")
u = a->uwnd(12*(1979-1948)+0:12*(2016-1948)+11,:,{-40:40},{30:160})
v = b->vwnd(12*(1979-1948)+0:12*(2016-1948)+11,:,{-40:40},{30:160})
ps = c->pres(12*(1979-1948)+0:12*(2016-1948)+11,{-40:40},{30:160})
lat  =   a->lat
lon  =   a->lon
plev  =   a->level

;print(plev)
;................pick up the v of the each winter  and the surface pressure of the each winter.....................................................
v_DJF=month_to_season(v,"MAM")
ps_DJF=month_to_season(ps,"MAM")


;..................................calculate the msf of every winter from (1979 to 2016)..... ...............
msf   = zonal_mpsi_Wrap(v_DJF(:,::-1,:,:),v&lat,plev(::-1)*100,ps_DJF*100)
msf = where(ismissing(msf),msf,msf/1.0e+10)
msf= msf(:,::-1,:)
msf!0="time"
msf!1   = "lev"                             ; name the coordinates since
msf!2   = "lat"
msf&time =v_DJF&time                       ; zmmsf does not copy them.
msf&lev =v&level
msf&lat =v&lat                               ; cp lat to "lat"  
msf@long_name = " msf in DJF "
msf@units =  "10^10 kg/s   "
;.........................................EOF.......................................................................
x = msf(lat|:,lev|:,time|:)  
;optEof=True
;optEof@jopt = 0
neof=2
eof_msf   = eofunc_Wrap(x,neof,False)
pcvar = eof_msf@pcvar
;print(eof_msf@pcvar)
eof_msf1 = eof_msf(lev|:,lat|:,evn|:)
;;;.......................................north.......................................
ndimx = dimsizes(x)
ntime = ndimx(2)
sig = eofunc_north(eof_msf@pcvar, ntime, False)
print(sig)
;printVarSummary(eof_msf)
;printMinMax(eof_msf,False)
;;;...........................................PC................................
;optETS = True
;optETS@jopt = 1
eof_ts = eofunc_ts_Wrap(x, eof_msf, False)
;eof_ts = dim_standardize_n(eof_ts, 1, 1)
;printVarSummary(eof_ts)
eof_ts!1 = "year"
eof_ts&year = ispan(1979,2016,1)
printVarSummary(eof_ts)
printVarSummary(eof_msf)
文献中的图为(a),我画的图为(b)
(a)
IMG_1373(20211128-174024).JPG
(B)
ave_msf_colour.000003.png

(a)
3047EBAD991618E4D043E41F7FA59DB2.png
9783EE0385A9948D4BD909CE517AD23A.png

(b)
msf_EOF.000003.png







密码修改失败请联系微信:mofangbao
发表于 2021-11-29 08:13:17 | 显示全部楼层
会不会是一个距平做的eof一个标准化做的eof
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2021-11-29 08:35:13 | 显示全部楼层
ncl 的zonal_mpsi 这个函数听网上说似乎有点问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 08:53:36 | 显示全部楼层
本帖最后由 vicky-zz 于 2021-11-29 09:04 编辑
deemo7 发表于 2021-11-29 08:13
会不会是一个距平做的eof一个标准化做的eof

把jopt设置成1,出来的空间模态比之前更接近一点,但是两个模态的方差都特别小
optEof=True
optEof@jopt =1eof_msf   = eofunc_Wrap(x,neof,optEof)
然后eof_ts = eofunc_ts_Wrap(x, eof_msf, False)这个还是没变
eof_ts = dim_standardize_n(eof_ts, 1, 1)  ;顺便对时间系数也标准化了一下

msf_EOF.标准化.png





密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-29 09:08:01 | 显示全部楼层
人可山 发表于 2021-11-29 08:35
ncl 的zonal_mpsi 这个函数听网上说似乎有点问题

我用这个函数画了整个纬圈的春季哈德来环流,画出来关于赤道很对称唉。难道这个函数不太适合画区域的环流嘛?那还用什么可以重现MSF的方法呀,是不是要自己手算?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-30 10:01:35 | 显示全部楼层
本帖最后由 vicky-zz 于 2021-11-30 10:05 编辑

家人们,有木有人帮忙看看呀呜呜,zonal_mpsi_Wrap里面的经向速度只适合计算整个纬向平均的MSF,区域的MSF要用经向风的幅散分量来计算,修改了脚本之后,气候平均的MSF剖面图是关于赤道对称的,EOF的第一个空间模态不同,第二个模态跟文献是相似的。现在不知道问题出在哪里,有没有家人帮忙看看呀{:eb334:{:eb303:}

msf_EOF_new.000003.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-2 17:31:01 | 显示全部楼层
有木有大神帮忙看看呀,几天了还没想明白哪里画的不对
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-3 15:10:15 | 显示全部楼层
vicky-zz 发表于 2021-11-30 10:01
家人们,有木有人帮忙看看呀呜呜,zonal_mpsi_Wrap里面的经向速度只适合计算整个纬向平均的MSF,区域的MSF ...

把第一个模态乘以一个负一,翻转过来应该对了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表