PartMC  2.4.0
constants.F90
Go to the documentation of this file.
1 ! Copyright (C) 2005-2009, 2012, 2016 Nicole Riemer and Matthew West
2 ! Licensed under the GNU General Public License version 2 or (at your
3 ! option) any later version. See the file COPYING for details.
4 
5 !> \file
6 !> The pmc_constants module.
7 
8 !> Physical constants.
10 
11  !> Kind of a double precision real number.
12  integer, parameter :: dp = kind(0.d0)
13  !> Kind of a double precision complex number.
14  integer, parameter :: dc = dp
15 
16  !> Physical constants.
17  !!
18  !! These are all absolute constants. Environment parameters that in
19  !! principle could change should go in scenario.f90.
20  !!
21  !! To access a constant in a subroutine you should <tt>use
22  !! pmc_constants</tt> and then the constant value is accessed with
23  !! \c const%%pi or similar. Note that the type is called \c const_t
24  !! (with a trailing _t) but the single saved variable to access them
25  !! is just called \c const.
26  type const_t
27  !> Pi.
28  real(kind=dp) :: pi = 3.14159265358979323846d0
29  !> Boltzmann constant (J K^{-1}).
30  real(kind=dp) :: boltzmann = 1.3806505d-23
31  !> Avogadro's number (mole^{-1}).
32  real(kind=dp) :: avagadro = 6.02214179d23
33  !> Universal gas constant (J mole^{-1} K^{-1}).
34  real(kind=dp) :: univ_gas_const = 8.314472d0
35  !> Acceleration due to gravity (m s^{-2}).
36  real(kind=dp) :: std_grav = 9.80665d0
37  !> Accomodation coefficient (have also used 0.045).
38  real(kind=dp) :: accom_coeff = 1d0
39 
40  !> Equilibrium water vapor pressure at 273 K (Pa).
41  real(kind=dp) :: water_eq_vap_press = 611d0
42  !> Freezing point of water (K).
43  real(kind=dp) :: water_freeze_temp = 273.15d0
44  !> Surface energy of water (J m^{-2}).
45  real(kind=dp) :: water_surf_eng = 0.073d0
46  !> Latent heat of water (J kg^{-1}).
47  real(kind=dp) :: water_latent_heat = 2.272d6
48  !> Specific heat of air (J kg^{-1} K^{-1}).
49  real(kind=dp) :: air_spec_heat = 1005d0
50  !> Molecular weight of water (kg mole^{-1}).
51  real(kind=dp) :: water_molec_weight = 18d-3
52  !> Density of water (kg m^{-3}).
53  real(kind=dp) :: water_density = 1d3
54 
55  !> Molecular weight of air (kg mole^{-1}).
56  real(kind=dp) :: air_molec_weight = 2.89644d-2
57  !> Atmospheric standard sea level pressure (Pa).
58  real(kind=dp) :: air_std_press = 101325d0
59  !> Dynamic viscosity of air (kg m^{-1} s^{-1}).
60  real(kind=dp) :: air_dyn_visc = 1.78d-5
61  end type const_t
62 
63  !> Fixed variable for accessing the constant's values.
64  !!
65  !! To access a constant in a subroutine you should <tt>use
66  !! pmc_constants</tt> and then the constant value is accessed with
67  !! \c const%%pi or similar. Note that the type is called \c const_t
68  !! (with a trailing _t) but the single saved variable to access them
69  !! is just called \c const.
70  type(const_t), save :: const
71 
72 end module pmc_constants
Physical constants.
Definition: constants.F90:26
Physical constants.
Definition: constants.F90:9
integer, parameter dp
Kind of a double precision real number.
Definition: constants.F90:12
type(const_t), save const
Fixed variable for accessing the constant&#39;s values.
Definition: constants.F90:70
integer, parameter dc
Kind of a double precision complex number.
Definition: constants.F90:14