Python氣象數(shù)據(jù)處理與繪圖(15):兩種波作用通量計(jì)算的python實(shí)現(xiàn)及對比(Plumb & T-N) (已更正)

大氣動力學(xué)中通常用波作用通量來診斷 Rossby波的傳播睹耐。常用的三種波作用通量分別為局地E-P 通量,Plumb 波作用通量和T-N 波作用通量。局地E-P 通量可以診斷一段時(shí)間內(nèi)天氣尺度瞬變波對定長波的調(diào)控作用徘禁,但無法直接表現(xiàn)Rossby長波的時(shí)間演變過程疾渴,然而T-N 波或Plumb 波作用通量可以 千贯,因此需要診斷一次天氣過程的波活動演變特征時(shí),通常選擇T-N 波或Plumb 波作用通量搞坝。


2014年11月300hPa兩種波作用通量

Plumb波作用通量與T-N波作用通量的優(yōu)劣

Plumb波作用通量

Plumb(1985)使用小振幅定常波在緯向均勻基本流中傳播時(shí)的守恒關(guān)系搔谴,給出了定常Rossby波的三維波活動通量,代表波能量的傳播方向桩撮。Plumb 波作用通量提出后被廣泛使用敦第,能有效分析定常Rossby波的三維傳播特性。Plumb 波作用通量的緯向分量較大而經(jīng)向分量較小店量,適用于振幅較小的緯向均勻的西風(fēng)帶Rossby長波的診斷芜果。

T-N波作用通量

Takaya 和 Nakamura( 2001 ) 為了更好地診斷真實(shí)大氣中Rossby波的三維傳播特征,將Plumb 波通量進(jìn)一步推廣融师,使其更適用于復(fù)雜的背景氣流右钾,發(fā)展了T-N波作用通量。T-N 波作用通量是對Plumb 波作用通量的改進(jìn),經(jīng)向分量得以增強(qiáng)舀射,能更好地描述緯向非均勻氣流中的較大振幅的西風(fēng)帶Rossby 長波擾動窘茁,但需要根據(jù)研究目的人為選擇背景場。

數(shù)據(jù)準(zhǔn)備

計(jì)算Plumb通量脆烟,需要準(zhǔn)備所需時(shí)間的位勢高度場山林,UV風(fēng)場;
計(jì)算T-N通量浩淘,需要所需時(shí)間的位勢高度場以及所處季節(jié)(月份)的多年氣候平均場捌朴。
這里我以2014年11月的平均通量場為例(選取這一時(shí)間是由于有正確的圖像作為對比,日本學(xué)者提供了相應(yīng)的Grads及fortran計(jì)算腳本
http://www.atmos.rcast.u-tokyo.ac.jp/nishii/programs/index.html)张抄。

#以下為數(shù)據(jù)讀取部分砂蔽,最終所得z300,u300署惯,v300為2014年11月的300hPa位勢高度場左驾,UV風(fēng)場的月平均;
#z_tmp极谊,u_tmp诡右,v_tmp為1979-2018年11月的氣候態(tài);
#所有數(shù)據(jù)來自ECMWF的ERA-Interim數(shù)據(jù)集
f_z300 = xr.open_dataset("z.nc")
z300 = np.array(f_z300['z'].loc[:,300,:,:].loc['2014-11-01'])
z300 = z300/9.8
z_tmp = np.array(f_z300['z'].loc[:,300,:,:].loc[f_z300.time.dt.month.isin([11])])
z_tmp = z_tmp.mean((0))/9.8

f_u300 = xr.open_dataset("u.nc")
u300 = np.array(f_u300['u'].loc[:,300,:,:].loc['2014-11-01'])
u_tmp = np.array(f_u300['u'].loc[:,300,:,:].loc[f_u300.time.dt.month.isin([11])])

f_v300 = xr.open_dataset("v.nc")
v300 = np.array(f_v300['v'].loc[:,300,:,:].loc['2014-11-01'])
v_tmp = np.array(f_v300['v'].loc[:,300,:,:].loc[f_v300.time.dt.month.isin([11])])

lat = f_z300['latitude']
lon = f_z300['longitude']

Plumb波作用通量計(jì)算的Python實(shí)現(xiàn)

首先先給出Plumb波作用通量的計(jì)算公式:


Plumb波作用通量的計(jì)算公式

其中上標(biāo)帶“-”和“ ' ”的變量分別表示緯圈平均和緯向偏差轻猖。φ帆吻,λ,Φ分別表示緯度咙边,經(jīng)度和位勢猜煮,f = 2Ωsinφ表示科氏參數(shù),a败许,Ω 分別表示地球半徑和地球自轉(zhuǎn)速率王带。p0 = 1000 hPa 。目前暫時(shí)不涉及垂直分量市殷。
計(jì)算難點(diǎn)在于偏微分部分愕撰,思路就在于將微分變?yōu)椴罘钟?jì)算,Numpy提供了關(guān)于差分的方法有兩個(gè)醋寝,一個(gè)是使用np.diff()函數(shù)計(jì)算前后差搞挣,另一個(gè)方法是使用np.gradient()計(jì)算相鄰梯度,然后除以格距音羞。這里我使用的是np.gradient()柿究。

a=6400000 #地球半徑
omega=7.292e-5 #自轉(zhuǎn)角速度
lev = 300/1000#p/p0
#要把經(jīng)緯度轉(zhuǎn)換成角度量,所以做(*np.pi/180.0)處理
#因?yàn)樽罱K要計(jì)算Fx,Fy黄选,所以統(tǒng)一數(shù)組shape,使用.reshape((1,-1))或(-1,1)處理
#只有經(jīng)度維的使用((1,-1)),只有緯度維的使用((-1,1))
dlon=(np.gradient(lon)*np.pi/180.0).reshape((1,-1))
coslat = (np.cos(np.array(lat)*np.pi/180)).reshape((-1,1))
sin2lat = (np.sin(np.array(lat)*2*np.pi/180)).reshape((-1,1))
#計(jì)算緯偏值
ua = u300 - u300.mean((1)).reshape((-1,1))
va = v300 - v300.mean((1)).reshape((-1,1))
za = z300 - z300.mean(1).reshape((-1,1))
#微分部分办陷,對經(jīng)度求微分貌夕,因此是axis=1,dlon是之前求的經(jīng)度格距
duzdlon = np.gradient(ua * za ,axis = 1)/dlon
dvzdlon = np.gradient(va * za ,axis = 1)/dlon
#根據(jù)公式民镜,把各個(gè)部件組合起來啡专,計(jì)算完畢
fx = p_p0*coslat*(va*va - dvzdlon/(sin2lat*2*omega*a))
fy = p_p0*coslat*((-1)*ua*va + duzdlon/(sin2lat*2*omega*a))

我沒計(jì)算垂直分量兩個(gè)原因,一個(gè)是我暫時(shí)沒有正確的例子對比制圈,另一個(gè)是我目前沒有整層大氣的溫度數(shù)據(jù)们童。

T-N波作用通量計(jì)算的Python實(shí)現(xiàn)

T-N

Ψ= Φ/ f 是準(zhǔn)地轉(zhuǎn)流函數(shù)相對于氣候場的擾動【校基本流場U = ( U慧库,V ) 表示氣候場,其余參數(shù)與Plumb計(jì)算相同馋嗜。
因此可以發(fā)現(xiàn)齐板,T-N的計(jì)算結(jié)果與背景場的選擇有重要的關(guān)系。
T-N的計(jì)算難度在于二階微分的計(jì)算葛菇,其實(shí)就是差分的過程計(jì)算兩次甘磨。

dlon=(np.gradient(lon)*np.pi/180.0).reshape((1,-1))
dlat=(np.gradient(lat)*np.pi/180.0).reshape((-1,1))
coslat = (np.cos(np.array(lat)*np.pi/180)).reshape((-1,1))
sinlat = (np.sin(np.array(lat)*np.pi/180)).reshape((-1,1))

#計(jì)算科氏力
f=np.array(2*omega*np.sin(lat*np.pi/180.0)).reshape((-1,1)) 
#計(jì)算|U|
wind = np.sqrt(u**2+v**2)
#計(jì)算括號外的參數(shù),a^2可以從括號內(nèi)提出
c=(lev)*coslat/(2*a*a*wind)
#Φ`
za = z300 - z_tmp.mean(1).reshape((-1,1))
#Ψ`
streamf = g*za/f
#計(jì)算各個(gè)部件眯停,難度在于二階導(dǎo)济舆,變量的名字應(yīng)該可以很容易看出我是在計(jì)算哪部分
dzdlon = np.gradient(streamf,axis = 1)/dlon
ddzdlonlon = np.gradient(dzdlon,axis = 1)/dlon
dzdlat = np.gradient(streamf,axis = 0)/dlat
ddzdlatlat = np.gradient(dzdlat,axis = 0)/dlat
ddzdlatlon = np.gradient(dzdlat,axis = 1)/dlon
#這是X,Y分量共有的部分
x_tmp = dzdlon*dzdlon-streamf*ddzdlonlon
y_tmp = dzdlon*dzdlat-streamf*ddzdlatlon
#計(jì)算兩個(gè)分量
fx = c * ((u/coslat/coslat)*x_tmp+v*y_tmp/coslat)
fy = c * ((u/coslat)*y_tmp+v*x_tmp)
我計(jì)算得到的
這是日本學(xué)者提供的

兩者對比來看我的計(jì)算應(yīng)該沒有什么錯(cuò)誤。但從圖來看莺债,T-N波似乎更加平滑和流暢滋觉,plumb波輻合輻散的特征明顯一點(diǎn),當(dāng)然了九府,具體的分析還是要結(jié)合天氣事件各個(gè)槽脊系統(tǒng)或者波列的發(fā)展傳播來分析椎瘟。

致謝:感謝dd_atmo11的bug反饋,代碼已更正侄旬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肺蔚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子儡羔,更是在濱河造成了極大的恐慌宣羊,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汰蜘,死亡現(xiàn)場離奇詭異仇冯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)族操,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門苛坚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來比被,“玉大人,你說我怎么就攤上這事泼舱〉茸海” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵娇昙,是天一觀的道長尺迂。 經(jīng)常有香客問我,道長冒掌,這世上最難降的妖魔是什么噪裕? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮股毫,結(jié)果婚禮上膳音,老公的妹妹穿的比我還像新娘。我一直安慰自己皇拣,他們只是感情好严蓖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氧急,像睡著了一般颗胡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吩坝,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天毒姨,我揣著相機(jī)與錄音,去河邊找鬼钉寝。 笑死弧呐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嵌纲。 我是一名探鬼主播俘枫,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逮走!你這毒婦竟也來了鸠蚪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤师溅,失蹤者是張志新(化名)和其女友劉穎茅信,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墓臭,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蘸鲸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窿锉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酌摇。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膝舅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妙痹,到底是詐尸還是另有隱情铸史,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布怯伊,位于F島的核電站,受9級特大地震影響判沟,放射性物質(zhì)發(fā)生泄漏耿芹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一挪哄、第九天 我趴在偏房一處隱蔽的房頂上張望吧秕。 院中可真熱鬧,春花似錦迹炼、人聲如沸砸彬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砂碉。三九已至,卻和暖如春刻两,著一層夾襖步出監(jiān)牢的瞬間增蹭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工磅摹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滋迈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓户誓,卻偏偏與公主長得像饼灿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子帝美,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容