123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- !
- ! virtual temperature calcualtions
- !
- ! xm_air = 28.964 e-3 kg air/mol
- ! xm_h2o = 18.0 e-3 kg h2o/mol
- !
- ! eps1 = (kg air/mol) / (kg h2o/mol) - 1 = 0.609
- !
- ! virtual temperature : Tv = T * ( 1 + eps1*q )
- !
- module phys_tv
- implicit none
-
- ! --- in/out -----------------------------
-
- private
-
- public :: VirtualTemperature
- public :: RealTemperature
-
-
-
- contains
- ! convert from real temperature to virtual temperature
-
- elemental function VirtualTemperature( T, Q )
- use Binas, only : xm_air ! 28.964 e-3 kg air/mol
- use Binas, only : xm_h2o ! 18.0 e-3 kg h2o/mol
-
- ! --- in/out --------------------------------
-
- real :: VirtualTemperature ! K
- real, intent(in) :: T ! real temperature (K)
- real, intent(in) :: Q ! specific humidity (kg H2O / kg air)
-
- ! --- const ---------------------------------
-
- ! eps1 = (kg air/mol) / (kg h2o/mol) - 1 = 0.609
- real, parameter :: eps1 = xm_air/xm_h2o - 1.0
-
- ! --- begin ---------------------------------
-
- ! Tv = T * ( 1 + eps1*q )
- ! T = Tv / ( 1 + eps1*q )
-
- VirtualTemperature = T * ( 1.0 + eps1 * Q ) ! K
- end function VirtualTemperature
- ! convert from virtual temperature to temperature
-
- elemental function RealTemperature( Tv, Q )
- use Binas, only : xm_air ! 28.964 e-3 kg air/mol
- use Binas, only : xm_h2o ! 18.0 e-3 kg h2o/mol
-
- ! --- in/out --------------------------------
-
- real :: RealTemperature ! K
- real, intent(in) :: Tv ! virtual temper (K)
- real, intent(in) :: Q ! specific humidity (kg H2O / kg air)
-
- ! --- const ---------------------------------
-
- ! eps1 = (kg air/mol) / (kg h2o/mol) - 1 = 0.609
- real, parameter :: eps1 = xm_air/xm_h2o - 1.0
-
- ! --- begin ---------------------------------
-
- ! Tv = T * ( 1 + eps1*q )
- ! T = Tv / ( 1 + eps1*q )
-
- RealTemperature = Tv / ( 1.0 + eps1 * Q ) ! K
- end function RealTemperature
- end module phys_tv
|