在许多观测数据中,往往只有常规的温湿压风,而在对大气特性进行判断时,往往需要涉及位温,露点温度差等一些变量的计算,这里给出位温,虚位温以及露点差的计算,以便后续对饱和量、温度露点差等进行分析。
公式均来自于北京大学出版的第二版大气物理学。
1.由气温和气压计算位温
2.由气温、气压、相对湿度计算虚位温
虚位温的计算需要用到比湿,而比湿是由实际水汽压计算得到的。
实际水汽压与饱和水汽压的比值就是相对湿度,因此可以基于马格纳斯公式先计算出饱和水汽压,然后在根据饱和水汽压和相对湿度计算出实际水汽压,得到比湿,进而计算虚位温。
注:实际大气中水汽压<60hpa,所以可认为混合比与比湿近似,在比湿的计算中系数0.378可忽略
3. 由气温、气压、相对湿度计算露点温度
露点温度就是假设实际水汽压为饱和水汽压时所对应的温度,因此只需将计算出的实际水汽压代入马格纳斯公式,所算出的温度即为露点温度
Code(Matlab):
注:
matlab中ln的函数为log,log的函数为log10
%位温
x0=0.286;theta=t.*((1000./p).^x0);
%虚位温
a=6.1078;b1=17.2693882;b2=21.8745584;
c1=35.86;c2=7.66;epsn=0.622;
sz=size(t);
for i=1:sz(1)
for j=1:sz(2)
if(~isnan(t(i,j))&~isnan(rh(i,j))&~isnan(p(i,j)))
if(t(i,j)>273.15)
es(i,j)=a*exp(b1*(t(i,j)-273.16)/(t(i,j)-c1));
else
es(i,j)=a*exp(b2*(t(i,j)-273.16)/(t(i,j)-c2));
end
e(i,j)=rh(i,j)*es(i,j)/100.0;
MR(i,j)=epsn*e(i)/(p(i,j)-0.378*e(i,j))*1000;
td(i,j)=(b1*273.16-c1*(log(e(i,j)/a)))/(b1-(log(e(i,j)/a)));
%露点温度的计算
else
MR(i,j)=NaN;td(i,j)=NaN;
end
end
end
thetav=theta.*(1+0.608*MR/1000);
加载中,请稍候......