!!NOTE: It's possible pm1-pm4 > ptx[y=1s:1n@ave]. For example, ptx is independent of y. !!NOTE!!!! !!NOTE: as I prove in my note, projection of wind forcing into a meridional mode !!SHOULD be the same for u, v and p. !!---$1: phase speed; $2: vertical mode number let c1 = $1 set wind/asp=1.4 1 def view/x=0.05,0.58/y=0.05,0.55/text=0.7 vl2 def view/x=0.05,0.58/y=0.05,0.95/text=0.7 vl3 def view/x=0.45,0.98/y=0.05,0.55/text=0.7 vr2 def view/x=0.45,0.98/y=0.05,0.95/text=0.7 vr3 set mem/si=25 let yy = y[g=ptx[d=1]] let ff = 2.0^0.5*0.0001*sin(yy*6.2832/360) let beta = 0.23 let pi = 3.1415926 !assume 1 degree is 110000 m let r1sq = c1/(beta*1.236) !--NOTE: I use Boulanger and Menke's equations exactly, including coefficients !! let ptx1 = ptx[d=1]-ptx[d=1, l=@ave] !!!-----------------------------------------!!! !!! Kelvin waves !!! !!!-----------------------------------------!!! !!NOTE: It's possible pm1-pm4 > ptx[y=1s:1n@ave]. For example, ptx is independent of y. !!NOTE!!!! !!NOTE: as I prove in my note, projection of wind forcing into a meridional mode !!SHOULD be the same for u, v and p. let phi01 = exp((-1)*yy^2/(2*r1sq))/(pi^0.25) let m1 = phi01*ptx1/1.4142 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx[y=1s:1n@ave] let pm1 = m1[y=13s:13n@din]/(r1sq^0.5*110000) let pm11 = pm1[gx=xch1, gt=tch1] !!!---Plot---- set view vl3 contour/x=160e:100w/lev=(-40,40,10)/nolab pm11[l=@sbx:31] label/nouser,3.4,3.0,0,0,0.17,@crWind Projection (Rossby) label/nouser,1.4,2.5,0,0,0.15,@cr !!!---end of plot---- !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_km$2.out/form=(70f7.2)/nohead pm11[x=144e:78w] !!!-----------------------------------------!!! !!! Rossby waves !!! !!!-----------------------------------------!!! !!!----First meridional mode----!!! !--first vertical mode let phi21 = exp((-1)*yy^2/(2*r1sq))*(4*yy^2/r1sq-2)/(pi^0.25*2.8284) let rosb11_p = phi21/1.4142-phi01 !-- p: need devided by 3^0.5 = 1.732 let m11_p = rosb11_p*ptx1/1.732 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx1[y=1s:1n@ave] let pm11_p = m11_p[y=13s:13n@din]/(r1sq^0.5*110000) let pm111 = pm11_p[gx=xch1, gt=tch1] !!!---Plot---- set view vl3 contour/lev=(-80,80,10)/nolab pm111[l=@sbx:31] label/nouser,3.4,3.0,0,0,0.17,@crWind Projection (Rossby) label/nouser,1.4,2.5,0,0,0.15,@cr !!!---end of plot---- !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_rm1$2.out/form=(70f7.2)/nohead pm111[x=144e:78w] !!!!!----Second meridional mode----!!!! !--first vertical mode let phi11 = exp((-1)*yy^2/(2*r1sq))*(2^0.5*yy/r1sq^0.5)/(pi^0.25) let phi31 = exp((-1)*yy^2/(2*r1sq))*(2*yy^3/(r1sq^1.5)-3*yy/r1sq^0.5)/(pi^0.25*3^0.5) let rosb21 = phi31/3^0.5-phi11/2^0.5 !-- need devided by (5/3)^0.5 = 1.29 let m21_p = rosb21*ptx1/1.290 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx[y=1s:1n@ave] let pm21_p = m21_p[y=13s:13n@din]/(r1sq^0.5*110000) let pm211_p = pm21_p[gx=xch1, gt=tch1] !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_rm2$2.out/form=(70f7.2)/nohead pm211_p[x=144e:78w] !!!!!----Third meridional mode----!!!! !--first vertical mode let phi41 = exp((-1)*yy^2/(2*r1sq))*(4*yy^4/(r1sq^2)-12*yy^2/r1sq+3)/(pi^0.25*2*6^0.5) let rosb31_p = phi41/2-phi21/3^0.5 !-- need devided by (14/12)^0.5 = 1.080 let m31_p = rosb31_p*ptx1/1.080 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx[y=1s:1n@ave] let pm31_p = m31_p[y=13s:13n@din]/(r1sq^0.5*110000) let pm311_p = pm31_p[gx=xch1, gt=tch1] !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_rm3$2.out/form=(70f7.2)/nohead pm311_p[x=144e:78w] !!!!!----Fourth meridional mode----!!!! !--first vertical mode let phi51 = exp((-1)*yy^2/(2*r1sq))*(4*yy^5/(r1sq^2.5)-20*yy^3/(r1sq^1.5)+15*yy/r1sq^0.5)/(2*15^0.5*pi^0.25) let rosb41 = phi51/5^0.5-phi31/4^0.5 !-- need devided by (10/9)^0.5 = 1.05 let m41_p = rosb41*ptx1/1.05 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx[y=1s:1n@ave] let pm41_p = m41_p[y=13s:13n@din]/(r1sq^0.5*110000) let pm411_p = pm41_p[gx=xch1, gt=tch1] !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_rm4$2.out/form=(70f7.2)/nohead pm411_p[x=144e:78w] !!!!!----Fifth meridional mode----!!!! !--first vertical mode let phi61 = exp((-1)*yy^2/(2*r1sq))*(8*yy^6/(r1sq^3)-60*yy^4/(r1sq^2)+90*yy^2/r1sq-15)/(pi^0.25*12*5^0.5) let rosb51_p = phi61/6^0.5-phi41/5^0.5 !-- need devided by (15/11)^0.5 = 1.168 let m51_p = rosb51_p*ptx1/1.168 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx[y=1s:1n@ave] let pm51_p = m51_p[y=13s:13n@din]/(r1sq^0.5*110000) let pm511_p = pm51_p[gx=xch1, gt=tch1] !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_rm5$2.out/form=(70f7.2)/nohead pm511_p[x=144e:78w] !!!!!----Six meridional mode----!!!! !--first vertical mode let phi71 = exp((-1)*yy^2/(2*r1sq))*(8*yy^7/(r1sq^3.5)-84*yy^5/(r1sq^2.5)+210*yy^3/(r1sq^1.5)-105*yy/r1sq^0.5)/(6*70^0.5*pi^0.25) let rosb61 = phi71/7^0.5-phi51/6^0.5 !-- need devided by (21/13)^0.5 = 1.271 let m61_p = rosb61*ptx1/1.271 !--to avoid boundaries, the intergral is only over 13s-13n, then multiplied by I-picked !--numbers so pm1-pm2 will be close to ptx[y=1s:1n@ave] let pm61_p = m61_p[y=13s:13n@din]/(r1sq^0.5*110000) let pm611_p = pm61_p[gx=xch1, gt=tch1] !!---save only from 144e-78w to avoid western bd !!!!!---NOTE: adjust the number before f7.2 list/file=ptx8698_rm6$2.out/form=(70f7.2)/nohead pm611_p[x=144e:78w] !!!!!---------------------------!!!!! !!!!!-----Mean climatology------!!!!! !!!!!---------------------------!!!!! let ptx1 = ptx[d=2]-ptx[d=2, l=1:365@ave] !!----------------------------!! !! Kelvin waves !! !!----------------------------!! let pm11 = pm1[gx=xch1, gt=tch2] list/file=ptx7196clim_km$2.out/form=(70f7.2)/nohead pm11[x=144e:78w,l=1:365] !!----------------------------!! !! Rossby waves !! !!----------------------------!! !!--First meridional mode--!! let pm111_p = pm11_p[gx=xch1, gt=tch2] list/file=ptx7196clim_rm1$2.out/form=(70f7.2)/nohead pm111_p[x=144e:78w,l=1:365] !!--Second meridional mode--!! let pm211_p = pm21_p[gx=xch1, gt=tch2] list/file=ptx7196clim_rm2$2.out/form=(70f7.2)/nohead pm211_p[x=144e:78w,l=1:365] !!--Third meridional mode--!! let pm311_p = pm31_p[gx=xch1, gt=tch2] list/file=ptx7196clim_rm3$2.out/form=(70f7.2)/nohead pm311_p[x=144e:78w,l=1:365] !!--Fourth meridional mode--!! let pm411_p = pm41_p[gx=xch1, gt=tch2] list/file=ptx7196clim_rm4$2.out/form=(70f7.2)/nohead pm411_p[x=144e:78w,l=1:365] !!--Fifth meridional mode--!! let pm511_p = pm51_p[gx=xch1, gt=tch2] list/file=ptx7196clim_rm5$2.out/form=(70f7.2)/nohead pm511_p[x=144e:78w,l=1:365] !!--Six meridional mode--!! let pm611_p = pm61_p[gx=xch1, gt=tch2] list/file=ptx7196clim_rm6$2.out/form=(70f7.2)/nohead pm611_p[x=144e:78w,l=1:365]