0005. 饱和水汽压的计算
1.1 饱和水汽压的计算公式
人们平时所说的“空气”,实际上是含有水蒸汽的湿空气;虽然水蒸汽在“空气”中的含量极少,但其对空气环境的干燥与潮湿程度产生重要影响,使得湿空气的物理性质发生改变。在一定温度下,只有当水蒸汽压力恰好处于某一定值时,水与水汽之间、或冰与水汽之间的蒸发与凝结过程,才能够保持动态平衡状态。当空气中存在着这样的水汽压平衡体系时,称之为“饱和”,此时空气中的水蒸汽压力称为饱和水蒸汽分压。饱和水蒸汽分压力是计算湿空气的密度、露点等性质的基础。
饱和水蒸汽分压力是绝对温度T的函数,其计算公式繁多,举例如:Goff-Gratch(戈夫、格雷奇)公式、Magnus(马格努斯)公式、Hyland-Wexler(海兰、韦克斯勒)公式、Tetens(泰登)公式、Buck(巴克)公式、Marti-Mauersberger(马蒂、毛厄斯贝格尔)公式等。其中,Goff-Gratch公式是联合国世界气象组织(World Meteorological Organization,WMO)1966年建议采用的饱和水蒸气分压计算公式,是权威计算公式。在热力学中,可使一种物质的三相(气相、液相、固相)共存时的温度及压强的数值,称为这种物质的三相点。水的三相点为0.01℃(273.15+0.01 = 273.16K)、611.657Pa。
1. 世界气象组织推荐的Goff-Gratch公式如下。
在纯水、平面表面的饱和水汽压Ew(单位:hPa。1hPa = 100Pa,h是hecto的缩写)的常用对数方程为:
lgEw = C1 × (1-T1/T) + C2 × lg(T/T1) + C3 × [ 1-10C6×(T/T1-1) ] + C4 × [ 10C7×(1-T1/T) - 1 ] + C5
在这个方程中,C1 = 0.107 957 4 × 102、C2 = - 0.502 8 × 10、C3 = 0.150 475 × 10-3、C4 = 0.428 73 × 10-3、C5 = 0.786 14、C6 = - 0.829 69 × 10、C7 = 0.476 955 × 10 ; T1 = 273.16K(水的三相点温度),T = 273.15+t (K)。
2. Goff-Gratch公式的改良版见下。
ⅰ. 当t<0℃(T<273.15K)时,在纯冰、平面表面的饱和水汽压Ei(单位:hPa)的常用对数方程为:
lgEi = C1 × (T1/T -1) + C2 × lg(T1/T) + C3 × (1-T/T1) + lg(C4)
在这个方程中,C1 = - 0.909 718 × 10、C2 = - 0.356 654 × 10、C3 = 0.876 793、C4 = 0.610 710 × 10;T1 = 273.16K(水的三相点温度),T = 273.15+t (K)。
ⅱ. 当t>0℃(T>273.15K)时,在纯水、平面表面的饱和水汽压Ew(单位:hPa)的常用对数方程为:
lgEw = C5 × (T2/T -1) + C6 × lg(T2/T) + C7 × [ 10C9×(1-T/T2) - 1 ] + C8 ×[ 10C10×(T2/T-1) - 1 ] + lg(C11)
在这个方程中,C5 = - 0.790 298 × 10、C6 = + 0.502 808 × 10、C7 = - 0.138 160 × 10-6、C8 = + 0.813 280 × 10-2、C9 = + 0.113 440 × 102、C10 = - 0.349 149 × 10、C11 = + 101.3246 × 10;T2 = 373.16K,T = 273.15+t (K)。
3. Hyland-Wexler公式见下。
ⅰ. 当t = (-100~0)℃时,在纯冰、平面表面的饱和水汽压Ei(单位:Pa)的自然对数方程为:
lnEi = C1/T + C2 + C3T + C4T2 + C5T3 + C6T4 + C7ln(T)
在这个方程中,C1 = - 0.567 453 59 × 104、C2 = 0.639 252 47 × 10、C3 = - 0.967 784 30 × 10-2、C4 = 0.622 157 01 × 10-6、C5 = 0.207 478 25 × 10-8、C6 = - 0.948 402 40 × 10-12、C7 = 0.416 350 19 × 10;T = 273.15+t (K)。
ⅱ. 当t = (0~200)℃时,在纯冰、平面表面的饱和水汽压Ew(单位:Pa)的自然对数方程为:
lnEw = C8/T + C9 + C10T + C11T2 + C12T3 + C13ln(T)
在这个方程中,C8 = - 0.580 022 06 × 104、C9 = 0.139 149 93 × 10、C10 = - 0.486 402 39 × 10-1、C11 = 0.417 647 68 × 10-4、C12 = - 0.144 520 93 × 10-7、C13 = 0.654 596 73 × 10;T = 273.15+t (K)。
1.2 饱和水汽压的Matlab计算
1.2.1 世界气象组织推荐Goff-Gratch公式的Matlab语言函数
1. 饱和水汽压Ei、Ew(单位:hPa)的常用对数lgE的计算。
function lgE = Goff_Gratch_WMO (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量lgE:饱和水汽压Ew(单位:hPa。1hPa = 100Pa,h是hecto的缩写)的常用对数.
%%%%%% 常量、常数 %%%%%%
t1 = 273.15 + 0.01 ;
%%%%%% 因子 %%%%%%
c1 = + 0.1079574 * 10^2 ;
c2 = - 0.502800 * 10 ;
c3 = + 0.150475 * 10^(-3) ;
c4 = + 0.42873 * 10^(-3) ;
c5 = + 0.78614 ;
c6 = - 0.82969 * 10 ;
c7 = + 0.476955 * 10 ;
%%%%%% 绝度温度 %%%%%%
tk = t + 273.15 ; % 将实验中测得的摄氏温度值转换为绝对温度值
%%%%%% 主体计算 %%%%%%
[row, column] = size(t) ;
for i = 1:column
lgE(i) = c1 * ( 1 - t1/tk(i) ) ...
+ c2 * log10( tk(i)/t1 ) ...
+ c3 * ( 1 - 10^ ( c6 * (tk(i)/t1-1 ) ) ) ...
+ c4 * ( 10^ ( c7 * ( 1- t1/tk(i) ) ) -1 ) ...
+ c5 ; %(单位:hPa)
end
2. 饱和水汽压Ei、Ew(单位:kPa)的计算。
function E = E_GoffGratch_WMO (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量E:饱和水汽压Ew(单位:kPa)
%%%%%% 常量、常数 %%%%%%
lgE = Goff_Gratch_WMO (t) ; % 此处,饱和水汽压E(Ew)的单位是hPa(100Pa)
E_hPa = 10 .^ lgE ; % E_hPa单位仍然是hPa
E = E_hPa / 10 ; % E单位是是kPa
1.2.2 Goff-Gratch公式改良版的Matlab语言函数
1. 饱和水汽压Ei、Ew(单位:hPa)的常用对数lgE的计算。
function lgE = Goff_Gratch (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量lgE:饱和水汽压Ei、Ew(单位:hPa。1hPa = 100Pa,h是hecto的缩写)的常用对数.
%%%%%% 常量、常数 %%%%%%
t1 = 273.15 + 0.01 ; % 使用于当t < 0℃的时候
t2 = t1 + 100 ; % 使用于当t > 0℃的时候
%%%%%% 因子 %%%%%%
c1 = - 0.909718 * 10 ; % 使用于当t < 0℃的时候
c2 = - 0.356654 * 10 ; % 使用于当t < 0℃的时候
c3 = + 0.876793 ; % 使用于当t < 0℃的时候
c4 = + 0.610710 * 10 ; % 使用于当t < 0℃的时候
c5 = - 0.790298 * 10 ; % 使用于当t > 0℃的时候
c6 = + 0.502808 * 10 ; % 使用于当t > 0℃的时候
c7 = - 0.138160 * 10^(-6) ; % 使用于当t > 0℃的时候
c8 = + 0.813280 * 10^(-2) ; % 使用于当t > 0℃的时候
c9 = + 0.113440 * 10^2 ; % 使用于当t > 0℃的时候
c10 = - 0.349149 * 10 ; % 使用于当t > 0℃的时候
c11 = + 101.3246 * 10 ; % 使用于当t > 0℃的时候
%%%%%% 绝度温度 %%%%%%
tk = t + 273.15 ; % 将实验中测得的摄氏温度值转换为绝对温度值
%%%%%% 主体计算 %%%%%%
[row, column] = size(t) ;
for i = 1:column
if t(i) < 0
lgE(i) = c1 * ( t1/tk(i) - 1 ) ...
+ c2 * log10( t1/tk(i) ) ...
+ c3 * ( 1 - tk(i)/t1 ) ...
+ log10 (c4) ; %(单位:hPa)
else
lgE(i) = c5 * ( t2/tk(i) - 1 ) ...
+ c6 * log10( t2/tk(i) ) ...
+ c7 * ( 10^ ( c9 * ( 1 - tk(i)/t2 ) ) -1 ) ...
+ c8 * ( 10^ ( c10 * ( t2/tk(i) -1 ) ) -1 ) ...
+ log10 (c11) ; %(单位:hPa)
end
end
2. 饱和水汽压Ei、Ew(单位:kPa)的计算。
function E = E_GoffGratch (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量E:饱和水汽压Ei、Ew(单位:kPa)
%%%%%% 常量、常数 %%%%%%
lgE = Goff_Gratch (t) ; % 此处,饱和水汽压E(Ei或Ew)的单位是hPa(100Pa)
E_hPa = 10 .^ lgE ; % E_hPa单位仍然是hPa
E = E_hPa / 10 ; % E单位是是kPa
1.2.3 Hyland-Wexler公式的Matlab语言函数
1. 饱和水汽压Ei、Ew(单位:Pa)的自然对数lnE的计算。
function lnE = Hyland_Wexler (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量lgE:饱和水汽压Ei、Ew(单位:Pa)的自然对数.
%%%%%% 因子 %%%%%%
c1 = - 0.56745359 * 10^4 ; % 使用于t = (-100~0)℃的时候
c2 = + 0.63925247 * 10 ; % 使用于t = (-100~0)℃的时候
c3 = - 0.96778430 * 10^(-2) ; % 使用于t = (-100~0)℃的时候
c4 = + 0.62215701 * 10^(-6) ; % 使用于t = (-100~0)℃的时候
c5 = + 0.20747825 * 10^(-8) ; % 使用于t = (-100~0)℃的时候
c6 = - 0.94840240 * 10^(-12) ; % 使用于t = (-100~0)℃的时候
c7 = + 0.41635019 * 10 ; % 使用于t = (-100~0)℃的时候
c8 = - 0.58002206 * 10^4 ; % 使用于t = (0~200)℃的时候
c9 = + 0.13914993 * 10 ; % 使用于t = (0~200)℃的时候
c10 = - 0.48640239 * 10^(-1) ; % 使用于t = (0~200)℃的时候
c11 = + 0.41764768 * 10^(-4) ; % 使用于t = (0~200)℃的时候
c12 = - 0.14452093 * 10^(-7) ; % 使用于t = (0~200)℃的时候
c13 = + 0.65459673 * 10 ; % 使用于t = (0~200)℃的时候
%%%%%% 绝度温度 %%%%%%
tk = t + 273.15 ; % 将实验中测得的摄氏温度值转换为绝对温度值
%%%%%% 主体计算 %%%%%%
[row, column] = size(t) ;
for i = 1:column
if ( t(i) >= -100 ) && ( t(i) < 0 )
lnE(i) = c1/tk(i) + c2 + c3*tk(i) + c4*(tk(i)^2) + c5*(tk(i)^3) + c6*(tk(i)^4) + c7*log(tk(i)) ; %(单位:Pa)
elseif ( t(i) >= 0 ) && ( t(i) <= 200 )
lnE(i) = c8/tk(i) + c9 + c10*tk(i) + c11*(tk(i)^2) + c12*(tk(i)^3) + c13*log(tk(i)) ; %(单位:Pa)
end
end
2. 饱和水汽压Ei、Ew(单位:kPa)的计算。
function E = E_HylandWexler (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量E:饱和水汽压Ei、Ew(单位:kPa)
%%%%%% 常量、常数 %%%%%%
lnE = Hyland_Wexler (t) ; % 此处,饱和水汽压E(Ei或Ew)的单位是Pa
E_Pa = exp(lnE) ; % E_Pa单位仍然是Pa
E = E_Pa / 1000 ; % E单位是kPa
1.3 “M-函数”的计算误差
1. 在Matlab 7.0中的程序代码
t = [ -100, -10, 0, 1, 10, 100] ;
E1 = E_GoffGratch_WMO (t)
E2 = E_GoffGratch (t)
E3 = E_HylandWexler (t)
2. 在Matlab 7.0中的执行结果
E1 = 0.0000 0.2862 0.6107 0.6565 1.2271 101.3251
E2 = 0.0000 0.2595 0.6103 0.6561 1.2264 101.2884
E3 = 0.0000 0.2599 0.6112 0.6571 1.2280 101.4187
3. 偏差
温度t(℃) | -100 | -10 | 0 | 1 | 10 | 100 |
E1 = E_GoffGratch_WMO (t) | 0.0000 | 0.2862 | 0.6107 | 0.6565 | 1.2271 | 101.3251 |
E2 = E_GoffGratch (t) | 0.0000 | 0.2595 | 0.6103 | 0.6561 | 1.2264 | 101.2884 |
查表值(在百度中搜索“饱和水汽压表”) | - | - | 0.61129 | 0.65716 | 1.2281 | 101.32 |
GB/T 6072.1-2008中的P13“附录B” | - | 0.30 | 0.60 | 0.64 | 1.20 | - |
E2 = E_HylandWexler (t) | 0.0000 | 0.2599 | 0.6112 | 0.6571 | 1.2280 | 101.4187 |
张秀关
2015. 01. (03-08)
本文来源:https://www.2haoxitong.net/k/doc/ce5a2ca9ce2f0066f53322cc.html
文档为doc格式