- 积分
- 1158
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-2-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
conform的应用,感觉没错,但是还是提示了“fatal:Number of dimensions on right hand side do not match number of dimension in left hand side”
begin
diri = "/mnt/hgfs/E/WUTIP/dat/"
fili1 = "ERA.temp.0920-1005.nc"
fili2 = "ERA.uv.0920-1005.nc"
fili3 = "ERA.rh.0920-1005.nc"
fili4 = "ERA.surf.0920-1005.nc"
diro = "/mnt/hgfs/E/WUTIP/dat/pic/"
filo = "tse_lat-time"
f1 = addfile(diri+fili1,"r")
f2 = addfile(diri+fili2,"r")
f3 = addfile(diri+fili3,"r")
f4 = addfile(diri+fili4,"r")
tk = short2flt(f1 ->t(:,{1000:200},{20.25},{110.25}))
u = short2flt(f2 ->u(:,{1000:200},{20.25},{110.25}))
v = short2flt(f2 ->v(:,{1000:200},{20.25},{110.25}))
rh = short2flt(f3 ->r(:,{1000:200},{20.25},{110.25}))
p = short2flt(f4 ->msl(:,{20.25},{110.25}))
u!0 ="time"
u!1 ="lev"
pressure_levels = (/1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,700.,650.,600.,550.,500.,\
450.,400.,350.,300.,250.,225.,200./)
nlevels = dimsizes(pressure_levels) ; number of pressure levels
;计算假相当位温
p = conform(u(time|:,lev|:),pressure_levels,1)
a1= where(tk.gt.263.0,0.622*6.11*exp(17.26*(tk-273.16)/(tk-35.86)),0.622*6.11*exp(21.87*(tk-273.16)/(tk-7.66)))
b1= where(tk.gt.263.0,p-0.278*exp(17.26*(tk-273.16)/(tk-35.86)),p-0.278*exp(21.87*(tk-273.16)/(tk-7.66)))
qs1=a1/b1
q1=qs1*rh
e1=p*q1/100./(0.62197+q1/100.0)
tk1=55.0+2840.0/(3.5*log(tk)-log(e1)-4.805)
pot1=tk*(1000/p)^(0.2854*(1.0-0.28*q1/100.0))
ept1=pot1*exp(((3376./tk1)-2.54)*q1/100.0*(1.0+0.81*q1/100.0))
ept1@description = "0se"
ept1@units = "K"
copy_VarCoords(u,ept1) ; assign coordinates
。。。
有哪位大神能帮我看一下吗?
来自群组: 中大气象人 |
|