MeteoIODoc 20260811.aeb9aef5
Environmental timeseries pre-processing
Loading...
Searching...
No Matches
Meteoconst.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2/***********************************************************************************/
3/* Copyright 2009 WSL Institute for Snow and Avalanche Research SLF-DAVOS */
4/***********************************************************************************/
5/* This file is part of MeteoIO.
6 MeteoIO is free software: you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 MeteoIO is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with MeteoIO. If not, see <http://www.gnu.org/licenses/>.
18*/
19#ifndef METEOCONST_H
20#define METEOCONST_H
21
22#include <cfloat>
23#include <cmath>
24
29#ifndef MIO_VERSION
30 //here below, the double-expansion stringification macro trick...
31 #define STR1(x) #x
32 #define STR2(x) STR1(x)
33 #define MIO_VERSION STR2( _VERSION )
34#endif
35
36namespace mio {
37
38namespace Cst {
39 constexpr double stefan_boltzmann = 5.670373e-8; // (W m-2 K-4)
40 constexpr double gravity = 9.80665; // (m s-2)
41 constexpr double std_press = 101325.; // (Pa) at sea level
42 constexpr double std_temp = 288.15; // (K) at sea level
43 constexpr double mean_adiabatique_lapse_rate = 0.0065; // (K/m)
44 constexpr double dry_adiabatique_lapse_rate = 0.0098; // (K/m)
45
46 constexpr double gaz_constant_dry_air = 287.058; // (J kg-1 K-1)
47 constexpr double gaz_constant_water_vapor = 461.9; // (J kg-1 K-1)
48 constexpr double gaz_constant = 8.31451; // (J mol-1 K-1)
49
50 constexpr double p_water_triple_pt = 611.73; // (Pa)
51 constexpr double t_water_freezing_pt = 273.15; // (K)
52 constexpr double t_water_triple_pt = 273.16; // (K)
53 constexpr double l_water_sublimation = 2.838e6; // (J kg-1)
54 constexpr double l_water_vaporization = 2.504e6; // (J kg-1)
55 constexpr double l_water_fusion = 3.34e5; // (J Kg-1)
56 constexpr double water_molecular_mass = 18.0153e-3; // (kg)
57 constexpr double dry_air_mol_mass = 0.0289644; // (kg/mol)
58
59 constexpr double specific_heat_ice = 2100.0; // (J K-1), at 0C
60 constexpr double specific_heat_water = 4190.0; // (J K-1) at 0C
61 constexpr double specific_heat_air = 1004.67; // (J K-1), see Stull "Meteorology for scientists and engineers" p44
62
63 constexpr double earth_R0 = 6356766.0; // (m)
64
65 constexpr double solcon = 1366.1; // (W/m^2)
66 constexpr double albedo_short_grass = .23;
67 constexpr double albedo_bare_soil = 0.17;
68 constexpr double albedo_fresh_snow = .85;
69 constexpr double snow_nosnow_thresh = .1; //if snow height greater than this threshold -> snow albedo
70
71 //Math constants
72 static const double phi = (1.+sqrt(5)) / 2.; //golden ratio
73 constexpr double e = 2.71828182845904523536; // e
74 constexpr double Log2e = 1.44269504088896340736; // log2(e)
75 constexpr double Log10e = 0.434294481903251827651; // log10(e)
76 constexpr double Ln2 = 0.693147180559945309417; // ln(2)
77 constexpr double Ln10 = 2.30258509299404568402; // ln(10)
78 constexpr double PI = 3.14159265358979323846; // pi
79 constexpr double PI2 = 1.57079632679489661923; // pi/2
80 constexpr double PI4 = 0.785398163397448309616; // pi/4
81 constexpr double InvPI = 0.318309886183790671538; // 1/pi
82 constexpr double TwoOverPI = 0.636619772367581343076; // 2/pi
83 constexpr double TwoOverSqrtPI = 1.12837916709551257390; // 2/sqrt(pi)
84 constexpr double Sqrt2 = 1.41421356237309504880; // sqrt(2)
85 constexpr double InvSqrt2 = 0.707106781186547524401; // 1/sqrt(2)
86 constexpr double to_rad = PI/180.; // conversion factor from deg to rad
87 constexpr double to_deg = 180./PI; // conversion factor from rad to deg
88
89 constexpr double dbl_max = DBL_MAX;
90 constexpr double dbl_min = -DBL_MAX;
91} //end CST namespace
92
93} //end namespace
94
95#endif
constexpr double dbl_max
Definition Meteoconst.h:89
constexpr double specific_heat_water
Definition Meteoconst.h:60
constexpr double albedo_fresh_snow
Definition Meteoconst.h:68
constexpr double InvPI
Definition Meteoconst.h:81
constexpr double PI
Definition Meteoconst.h:78
constexpr double Log2e
Definition Meteoconst.h:74
constexpr double specific_heat_ice
Definition Meteoconst.h:59
static const double phi
Definition Meteoconst.h:72
constexpr double TwoOverPI
Definition Meteoconst.h:82
constexpr double InvSqrt2
Definition Meteoconst.h:85
constexpr double t_water_freezing_pt
Definition Meteoconst.h:51
constexpr double e
Definition Meteoconst.h:73
constexpr double Log10e
Definition Meteoconst.h:75
constexpr double specific_heat_air
Definition Meteoconst.h:61
constexpr double PI4
Definition Meteoconst.h:80
constexpr double earth_R0
Definition Meteoconst.h:63
constexpr double l_water_sublimation
Definition Meteoconst.h:53
constexpr double gaz_constant_water_vapor
Definition Meteoconst.h:47
constexpr double PI2
Definition Meteoconst.h:79
constexpr double l_water_vaporization
Definition Meteoconst.h:54
constexpr double l_water_fusion
Definition Meteoconst.h:55
constexpr double dbl_min
Definition Meteoconst.h:90
constexpr double solcon
Definition Meteoconst.h:65
constexpr double p_water_triple_pt
Definition Meteoconst.h:50
constexpr double std_temp
Definition Meteoconst.h:42
constexpr double water_molecular_mass
Definition Meteoconst.h:56
constexpr double std_press
Definition Meteoconst.h:41
constexpr double stefan_boltzmann
Definition Meteoconst.h:39
constexpr double albedo_bare_soil
Definition Meteoconst.h:67
constexpr double snow_nosnow_thresh
Definition Meteoconst.h:69
constexpr double dry_adiabatique_lapse_rate
Definition Meteoconst.h:44
constexpr double t_water_triple_pt
Definition Meteoconst.h:52
constexpr double gravity
Definition Meteoconst.h:40
constexpr double albedo_short_grass
Definition Meteoconst.h:66
constexpr double Sqrt2
Definition Meteoconst.h:84
constexpr double TwoOverSqrtPI
Definition Meteoconst.h:83
constexpr double gaz_constant_dry_air
Definition Meteoconst.h:46
constexpr double Ln10
Definition Meteoconst.h:77
constexpr double Ln2
Definition Meteoconst.h:76
constexpr double to_rad
Definition Meteoconst.h:86
constexpr double mean_adiabatique_lapse_rate
Definition Meteoconst.h:43
constexpr double gaz_constant
Definition Meteoconst.h:48
constexpr double dry_air_mol_mass
Definition Meteoconst.h:57
constexpr double to_deg
Definition Meteoconst.h:87
Definition Config.cc:34