- 积分
- 14548
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-10-19
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2013-11-21 13:49:58
|
显示全部楼层
abd 发表于 2013-11-20 23:07
前面人说的那样,garads数据存储读取方式熟悉一下,遇到这种问题的时候建议你自己写个很小的2维或3维数组, ...
当时是想到下面有pres=lev,所以就这么做了,不过又试了下,确实没有必要。但是原来的问题依旧没有解决
'reinit'
'sdfopen I:\daily\air.1979.nc'
'sdfopen I:\daily\rhum.1979.nc'
'set gxout fwrite'
'set fwrite I:\daily\thse3.grd'
tt=1
while (tt<=365)
'set t 'tt''
zz=1
while (zz<=8)
'set z 'zz''
*'set lon 70 140'
*'set lat 15 55'
'define t0=air.1'
'define rh=rhum.2'
'define prs=lev'
'define es=(6.112*exp(17.67*(t0-273.15)/(t0-29.65)))'
'define q=rh*(0.62197*es/(prs-es))/100.'
'define e=prs*q/(0.62197+q)+1e-10'
'define tlcl=55.0+2840.0/(3.5*log(t0)-log(e)-4.805)'
'define theta=t0*pow((1000/prs),(0.2854*(1.0-0.28*q)))'
'define eqt=theta*exp(((3376./tlcl)-2.54)*q*(1.0+0.81*q))'
'define thse=eqt-273.15'
'd thse'
zz=zz+1
endwhile
tt=tt+1
endwhile
'disable fwrite'
'reinit'
|
|