1 #ifndef _CONSTANTS_H
2 #define _CONSTANTS_H
3 
4 // Thermodynamical constants adopted from ECMWF IFS-Code
5 
6 constexpr double C_RKBOL = 1.380658e-23;   // Boltzmann constant in J/K
7 constexpr double C_RNAVO = 6.0221367e+23;  // Avogadro constant in 1/mol
8 constexpr double C_RMD = 28.9644;          // molecular weight of dry air
9 constexpr double C_RMV = 18.0153;          // molecular weight of water vapor
10 constexpr double C_R = C_RKBOL * C_RNAVO;
11 constexpr double C_RV = 1000. * C_R / C_RMV;
12 
13 constexpr double C_EARTH_RD = 1000. * C_R / C_RMD;
14 constexpr double C_EARTH_RADIUS = 6371000.0;  // radius of the Earth in m
15 constexpr double C_EARTH_GRAV = 9.80665;
16 
17 #define C_RG (1.0 / PlanetGrav)
18 
19 constexpr double C_RCPV = 4.0 * C_RV;
20 #define C_RETV (C_RV / PlanetRD - 1.)
21 constexpr double C_RCW = 4218.;        // specific water heat capacity ??
22 constexpr double C_RCS = 2106.;        // specific ice heat capacity ??
23 constexpr double C_RTT = 273.16;       // melting temperature of ice/snow
24 constexpr double C_RLVTT = 2.5008e+6;  // latent heat for vaporisation in J/kg
25 constexpr double C_RLSTT = 2.8345e+6;  // latent heat for sublimation in J/kg
26 constexpr double C_RESTT = 611.14;
27 #define C_RCPD (3.5 * PlanetRD);
28 
29 constexpr double C_TIMES_RHOH2O = -333700000.0;
30 
31 extern double PlanetRD;
32 extern double PlanetRadius;
33 extern double PlanetGrav;
34 
35 #endif /* _CONSTANTS_H */
36