source: trunk/LMDZ.COMMON/libf/evolution/physics.F90 @ 4138

Last change on this file since 4138 was 4135, checked in by jbclement, 2 weeks ago

PEM:
Relocate Mars-specific parameters out of "planet" module and into the modules that own their physics domain.
JBC

File size: 2.7 KB
Line 
1MODULE physics
2!-----------------------------------------------------------------------
3! NAME
4!     physics
5!
6! DESCRIPTION
7!     Fundamental constants read from file and used across PEM modules.
8!
9! AUTHORS & DATE
10!     JB Clement, 12/2025
11!
12! NOTES
13!
14!-----------------------------------------------------------------------
15
16! DEPENDENCIES
17! ------------
18use numerics, only: dp
19
20! DECLARATION
21! -----------
22implicit none
23
24! PARAMETERS
25! ----------
26real(dp), parameter :: sigmaB = 5.678e-8_dp            ! Stefan-Boltzmann constant [W/m^2/K^4]
27real(dp), parameter :: m_co2 = 44.01e-3_dp             ! CO2 molecular mass [kg/mol], Franz et al. 2017
28real(dp), parameter :: m_noco2 = 33.37e-3_dp           ! Non-condensible molecular mass [kg/mol], Franz et al. 2017
29real(dp), parameter :: m_h2o = 18.01528e-3_dp          ! H2O molecular mass [kg/mol], Franz et al. 2017
30real(dp), parameter :: A = 1._dp/m_co2 - 1._dp/m_noco2 ! MMR/VMR conversion factor
31real(dp), parameter :: B = 1._dp/m_noco2               ! MMR/VMR conversion factor
32
33! H2O coefficients for Clausius-Clapeyron law for psat (psat = exp(beta/Th2o + alpha)), following Murphy and Koop 2005
34real(dp), parameter :: alpha_clap_h2o = 28.9074_dp
35real(dp), parameter :: beta_clap_h2o = -6143.7_dp  ! [K]
36! CO2 coefficients for Clausius-Clapeyron law for CO2 condensation temperature (Tco2 = beta/(alpha-log(vmr)),following James et al. 1992
37real(dp), parameter :: alpha_clap_co2 = 23.3494_dp
38real(dp), parameter :: beta_clap_co2 = 3182.48_dp  ! [K]
39
40real(dp), parameter :: Lco2 = 5.71e5_dp ! CO2 latent heat [J/kg], Pilorget and Forget 2016
41
42real(dp), protected :: g     ! Gravity [m/s2]
43real(dp), protected :: r     ! Reduced gas constant,r = 8.314511/[mugaz/1000.0]
44real(dp), protected :: mugaz ! Molar mass of the atmosphere [g/mol]
45real(dp), protected :: rad   ! Radius of the planet [m]
46real(dp), protected :: cpp   ! Cp of the atmosphere
47real(dp), protected :: rcp   ! r/cpp (= kappa in the dynamics)
48
49contains
50!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
51
52!=======================================================================
53SUBROUTINE init_physics(rad_in,g_in,mugaz_in,rcp_in)
54!-----------------------------------------------------------------------
55! NAME
56!     init_physics
57!
58! DESCRIPTION
59!     Initialize physical constants.
60!
61! AUTHORS & DATE
62!     JB Clement, 01/2026
63!
64! NOTES
65!
66!-----------------------------------------------------------------------
67
68! DECLARATION
69! -----------
70implicit none
71
72! ARGUMENTS
73! ---------
74real(dp), intent(in) :: rad_in, g_in, mugaz_in, rcp_in
75
76! CODE
77! ----
78rad = rad_in
79g = g_in
80mugaz = mugaz_in
81rcp = rcp_in
82r = 8.314511_dp*1000._dp/mugaz
83cpp = r/rcp
84
85END SUBROUTINE init_physics
86!=======================================================================
87
88END MODULE physics
Note: See TracBrowser for help on using the repository browser.