加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

位温-虚位温-露点温度的计算

(2021-08-18 10:11:36)
分类: 科研小知识点
在许多观测数据中,往往只有常规的温湿压风,而在对大气特性进行判断时,往往需要涉及位温,露点温度差等一些变量的计算,这里给出位温,虚位温以及露点差的计算,以便后续对饱和量、温度露点差等进行分析。
公式均来自于北京大学出版的第二版大气物理学。

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);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有