- 积分
- 198
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-9-14
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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)
(B)
(a)
(b)
|
|