SNOWPACK  SNOWPACK-3.6.0
Constants.h
Go to the documentation of this file.
1 /*
2  * SNOWPACK stand-alone
3  *
4  * Copyright WSL Institute for Snow and Avalanche Research SLF, DAVOS, SWITZERLAND
5 */
6 /* This file is part of Snowpack.
7  Snowpack is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  Snowpack is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with Snowpack. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
27 #ifndef CONSTANTS_H
28 #define CONSTANTS_H
29 
30 #include <cstddef> //needed for size_t
31 
36 #ifndef SN_VERSION
37  //here below, the double-expansion stringification macro trick...
38  #define STR1(x) #x
39  #define STR2(x) STR1(x)
40  #define SN_VERSION STR2( _VERSION )
41 #endif
42 
44 #define INIT_STABILITY 999.
45 
46 namespace Constants {
47  const double undefined = -999.;
48  const int iundefined = -999;
49  const size_t stundefined = static_cast<size_t>(-999);
50  const double min_percent_values = 0.9;
51 
52  const double pi = 3.14159265358979323846;
53  const double g = 9.80665;
54  const double stefan_boltzmann = 5.67051e-8;
55 
56  const double solcon = 1366.1;
57 
58  const double gas_constant = 461.9;
59  const double gas_constant_air = 287.0;
60  const double gas_constant_mol = 8.31;
61  const double karman = 0.4;
62 
64 
65  const double min_albedo = 0.3;
66  const double max_albedo = 0.99;
67  const double glacier_albedo = 0.3;
69 
71  const double emissivity_snow = 0.98;
73 
75  const double density_air = 1.1;
76  const double density_ice = 917.0;
77  const double density_water = 1000.0;
78  const double density_vapor = 1.0;
79 
81  const double min_rho = 5.0;
82  const double max_rho = 1000.0;
84 
85 
87 
88  const double specific_heat_ice = 2100.0;
89  const double specific_heat_water = 4190.0;
90  const double specific_heat_air = 1004.67;
91 
92 
94 
95  const double conductivity_ice = 2.2;
96  const double conductivity_water = 0.598;
97  const double conductivity_air = 0.026;
98 
99 
101 
102  const double diffusion_coefficient_in_air = 22.0e-6;
104  const double diffusion_coefficient_in_snow = 85.0e-6;
105 
106 
108 
109  const double melting_tk = 273.15;
110  const double freezing_tk = 273.15;
111  const double triple_point_t = 273.16;
112  const double triple_point_p = 611.73;
113  const double lh_sublimation = 2.838e6;
114  const double lh_vaporization = 2.504e6;
115  const double lh_fusion = 3.34e5;
116 
117 
119 
120  const double min_slope_angle = 3.;
121 
123  const double eps = 1.e-6;
124  const double eps2 = eps*eps;
125  const double big = 1.0e200;
126 
127 }
128 
129 #endif
const double triple_point_p
(Pa)
Definition: Constants.h:112
const double density_air
Approximation: use ideal gas law.
Definition: Constants.h:75
const double glacier_albedo
Definition: Constants.h:67
const double undefined
This is the snowpack undefined value.
Definition: Constants.h:47
const double freezing_tk
(K)
Definition: Constants.h:110
const double triple_point_t
(K)
Definition: Constants.h:111
const size_t stundefined
Definition: Constants.h:49
const double specific_heat_ice
at T = 0 degC
Definition: Constants.h:88
const double g
Definition: Constants.h:53
const double max_albedo
Definition: Constants.h:66
const double conductivity_ice
(W m-1 K-1)
Definition: Constants.h:95
const double eps
Small numbers for comparisons and to avoid divisions by zero.
Definition: Constants.h:123
const double gas_constant_mol
(J mol-1 K-1)
Definition: Constants.h:60
const double gas_constant
(J mol-1 K-1)
Definition: Constants.h:58
const double lh_sublimation
(J kg-1) (solid to vapor)
Definition: Constants.h:113
const double min_albedo
Definition: Constants.h:65
const double emissivity_snow
Definition: Constants.h:71
const double density_ice
At T = 0 degC.
Definition: Constants.h:76
const double density_vapor
Definition: Constants.h:78
const double specific_heat_air
see Stull "Meteorology for scientists and engineers" p44
Definition: Constants.h:90
const double max_rho
Definition: Constants.h:82
const double big
used for Dirichlet boundary conditions
Definition: Constants.h:125
const double pi
Definition: Constants.h:52
const double conductivity_air
(W m-1 K-1)
Definition: Constants.h:97
const double conductivity_water
(W m-1 K-1)
Definition: Constants.h:96
const double min_percent_values
Definition: Constants.h:50
const double specific_heat_water
at T = 0 degC
Definition: Constants.h:89
Definition: Constants.h:46
const double melting_tk
(K)
Definition: Constants.h:109
const double stefan_boltzmann
Definition: Constants.h:54
const double min_slope_angle
Smallest angle a flat field may show (deg)
Definition: Constants.h:120
const double min_rho
Definition: Constants.h:81
const double diffusion_coefficient_in_snow
It is larger (see Colbeck) according to work prior to 2008!
Definition: Constants.h:104
const double density_water
At T = 0 degC.
Definition: Constants.h:77
const double diffusion_coefficient_in_air
This value was taken from: Colbeck, S.C., 1993. The vapor diffusion coefficient for snow...
Definition: Constants.h:103
const int iundefined
This is the snowpack undefined value.
Definition: Constants.h:48
const double karman
Karman constant.
Definition: Constants.h:61
const double lh_vaporization
(J kg-1) (liquid to vapor)
Definition: Constants.h:114
const double solcon
Total Solar Irradiance (W m-2) (Froehlich, 2006)
Definition: Constants.h:56
const double eps2
Definition: Constants.h:124
const double gas_constant_air
for air (J kg-1 K-1)
Definition: Constants.h:59
const double lh_fusion
(J kg-1) (solid to liquid)
Definition: Constants.h:115