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