| Class | physics_qvapsat_tetens |
| In: |
physics/physics_qvapsat_tetens.f90
|
| Function : | |
| result : | real(DBKIND) |
| Temp : | real(DBKIND),intent(in) |
| Press : | real(DBKIND),intent(in) |
Tetens の式を用いて飽和蒸気圧を計算する.
real(DBKIND) function DQvapSatDTemp(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 = "DQvapSatDTemp"
continue
! 開始処理
call BeginSub( subname )
result = EL/ (RVap * Temp * Temp) * EpsV * ES0 * EXP( EL / RVap * ( 1.0d0/273.0d0 - 1.0d0/Temp ) ) / Press
! 終了処理
call EndSub( subname )
end function DQvapSatDTemp
| Function : | |
| result : | real(DBKIND) |
| Temp : | real(DBKIND),intent(in) |
| Press : | real(DBKIND),intent(in) |
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