| 
 
	积分3479贡献 精华在线时间 小时注册时间2012-3-16最后登录1970-1-1 
 | 
 
| 
大家好,我在用《天气学诊断分析》上的公式计算假相当位温时出错:如果不添加红字部分,错误显示为log:sing error或者log:domain error,我理解是log里面的部分,也就是1000.0/(p(k)-e(i,j,k))不满足正数的条件,所以添加了红字部分。但是结果生成的数据出图以后有很多缺省不说,数值也不对,有0.0000多的,也有几百的,也有个位数。烦请各位帮我看下问题在哪里?
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 
 以下为部分程序,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
 
 
 
 | 
 |