Tetens の式を用いて飽和蒸気圧を計算する.
real(DBKIND) function QvapSat(Temp, Press) result(result)
!
!== 飽和蒸気圧の計算
! Tetens の式を用いて飽和蒸気圧を計算する.
!
!==TODO
! * 引数として, 配列でも変数でも取れるようにしておくと便利だろう.
! interface とか使うと良いの???
!
use type_mod, only: REKIND, DBKIND, INTKIND, TOKEN, STRING
use dc_trace, only: SetDebug, BeginSub, EndSub, DbgMessage, DataDump
use constants_mod, only: EL , EpsV , ES0 , RVap ! 水蒸気気体定数
implicit none
real(DBKIND),intent(in) :: Temp
real(DBKIND),intent(in) :: Press
character(STRING), parameter:: subname = "QvapSat"
continue
! 開始処理
call BeginSub( subname )
result = EpsV * ES0 * EXP( EL / RVap * ( 1.0d0/273.0d0 - 1.0d0/Temp ) ) / Press
! 終了処理
call EndSub( subname )
end function QvapSat