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