- 积分
- 3479
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-3-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大家好,我在用《天气学诊断分析》上的公式计算假相当位温时出错:如果不添加红字部分,错误显示为log:sing error或者log:domain error,我理解是log里面的部分,也就是1000.0/(p(k)-e(i,j,k))不满足正数的条件,所以添加了红字部分。但是结果生成的数据出图以后有很多缺省不说,数值也不对,有0.0000多的,也有几百的,也有个位数。烦请各位帮我看下问题在哪里?
以下为部分程序,tk为开式温度,td为露点温度,te为所要计算的假相当位温。a,b,cp和r都是常数
if(tk(i,j,k)==no_value.or.td(i,j,k)==no_value)then
te(i,j,k)=no_value
else
l(i,j,k)=597.3-0.566*(tk(i,j,k)-273.16)
e(i,j,k)=6.1078*exp(a*(td(i,j,k)-273.16)/(td(i,j,k)-b) )
q(i,j,k)=0.622*e(i,j,k)/(p(k)-0.378*e(i,j,k) )
if(1000.0/(p(k)-e(i,j,k))<=0)then
te(i,j,k)=no_value
else
te(i,j,k)=tk(i,j,k)*exp(r*log(1000.0/(p(k)-e(i,j,k)))+l(i,j,k)*q(i,j,k)/(cp*td(i,j,k))+q(i,j,k)/0.622*log(tk(i,j,k)/td(i,j,k)))
endif
endif
|
|