1.湿度とは?

湿度は空気中に含まれる水蒸気の量を、次の定義によって表したものです。正確には相対湿度と呼びます。
\[ 相対湿度 = \frac{P_v}{P_s} \times 100 \]
  • \( P_v \):空気中の水蒸気分圧
  • \( P_s \):空気温度における飽和水蒸気圧

相対湿度は通常、乾球温度計と湿求温度系の二つの値から算出します。
乾球温度\( T_d \)は、空気そのものの温度を表します。 湿求温度\( T_w \)は、温度計先端に水で濡らしたガーゼをまいた時の温度になります。 ガーゼの水分は蒸発することで周囲から熱を奪うため(気化熱)、\( T_d \geq T_w \)の関係になります。

2.湿度の計算

湿度は次の手順で計算します。

(1)以下の温度を測ります。


  • \( T_d \):乾球温度[K]
  • \( T_w \):湿求温度[K]
  • \( P_air \):空気圧(大気圧)[Pa]

(2)飽和水蒸気圧\( P_s \)を、Wagnerの近似式に乾球温度\( T_d \)を代入して計算します。

\[ P_s (T_d) = P_c \exp \left( \frac{Ax + Bx^1.5 + Cx^3 + Dx^6}{1 - x} \quad \right) \qquad \left( \because x=1-\frac{T_d}{T_c} \right) \]
ただし、\( P_c = 22120000[Pa] \)、\( T_c = 647.3[K] \)
\( A = -7.76451 \)、\( B = 1.45838 \)、\( C = -2.7758 \)、\( D = -1.23303 \)

(3)水蒸気分圧\( P_v \)を、Sprungの式にに乾球温度\( T_d \)、湿求温度\( T_w \)、大気圧\( P_{air} \)を代入して計算します。

\[ P_s(T_d, T_w, P_{air}) = P_s(T_w) - 0.000662 P_{air}(T_d - t_w) \]
ただし、\( P_c = 22120000[Pa] \)、\( T_c = 647.3[K] \)
\( A = -7.76451 \)、\( B = 1.45838 \)、\( C = -2.7758 \)、\( D = -1.23303 \)

(4)湿度を計算します。

\[ 相対湿度 = \frac{P_v}{P_s} \]


本サイトでは、上記に基づいた相対湿度を算出するExcelツール humidity.xlsmを公開していますのでご活用ください。

3.Excelツールの使い方

本サイトで公開している湿度計算のExcelツールhumidity.xlsmの使い方について説明します。 相対湿度の計算はそれほど難しいわけではないため、Excel関数を使って算出することもできます。 しかし、ここではあえてVBAのFunction機能を使って関数化しています。

●飽和水蒸気圧の計算

飽和水蒸気圧[Pa]: =Psvap(乾球温度[K])
セルに“=Psvap(a)”と入力すると、飽和水蒸気圧が計算されます。 aは数値を直接入力しても、セルを参照してもどちらでも構いません。 VBAは以下のコードになります。
Function Psvap(Tgas)
    
    Dim Pc As Double
    Dim Tc As Double
    Dim coef(3) As Double
    Dim Xt As Double
    
    Pc = 22120000   '[Pa]
    Tc = 647.3      '[K]
    coef(0) = -7.76451
    coef(1) = 1.45838
    coef(2) = -2.7758
    coef(3) = -1.23303
    
    Xt = 1 - Tgas / Tc
    Psvap = Pc * Exp((coef(0) * Xt + coef(1) * Xt ^ 1.5 + coef(2) * Xt ^ 3 + coef(3) * Xt ^ 6) / (1 - Xt))
    
End Function

●水蒸気分圧の計算

水蒸気分圧[Pa]: =Pvap(乾球温度[K],湿求温度[K],大気圧[Pa])
セルに“=Pvap(a, b, c)”と入力すると、水蒸気分圧が計算されます。 なお、大気圧は未入力でも構いません。 その場合は、大気圧=101325[Pa]として計算します。 a,b,cは数値を直接入力しても、セルを参照してもどちらでも構いません。 VBAは以下のコードになります。
Function Pvap(Td, Tw, Optional Pair)
    
    Dim coef As Double
    
    If IsMissing(Pair) Then
        Pair = 1013.25      '[hPa]
    End If
    coef = 0.000662
    Pvap = Psvap(Tw) - coef * Pair * (Td - Tw)
    
End Function
VBAを流用する際は、飽和水蒸気圧関数Psvapを参照していますので、そちらも一緒にコピーしてお使いください。

●相対湿度の計算

相対湿度[-]: =Humidity(乾球温度[K],湿求温度[K],大気圧[Pa])
セルに“=Humidity(a, b, c)”と入力すると、水蒸気分圧が計算されます。 なお、大気圧は未入力でも構いません。 その場合は、大気圧=101325[Pa]として計算します。 a,b,cは数値を直接入力しても、セルを参照してもどちらでも構いません。 VBAは以下のコードになります。
Function Humidity(Td, Tw, Optional Pair)
    
    If IsMissing(Pair) Then
        Pair = 1013.25      '[hPa]
    End If
    Humidity = Pvap(Td, Tw, Pair) / Psvap(Td)
    
End Function
VBAを流用する際は、飽和水蒸気圧関数Psvap、水蒸気分圧関数Pvapを参照していますので、それらも一緒にコピーしてお使いください。

      

参考文献

関連ページ