-
Notifications
You must be signed in to change notification settings - Fork 448
Expand file tree
/
Copy pathconstants.cpp
More file actions
50 lines (44 loc) · 1.61 KB
/
Copy pathconstants.cpp
File metadata and controls
50 lines (44 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// constants.cpp
#include "constants.hpp"
#include <pybind11/pybind11.h>
namespace py = pybind11;
namespace metpy_constants {
double Mw;
double Rd;
double Rv;
double Cp_d;
double Cp_v;
double Cp_l;
double Lv;
double sat_pressure_0c;
double T0;
double Ls;
double Cp_i;
double zero_degc;
double epsilon;
double kappa;
void load_constants_from_python() {
py::object mod = py::module_::import("metpy.constants.nounit");
// Mw = mod.attr("Mw").attr("magnitude").cast<double>();
// Rv = mod.attr("Rv").attr("magnitude").cast<double>();
// Cp_v = mod.attr("Cp_v").attr("magnitude").cast<double>();
// Cp_l = mod.attr("Cp_l").attr("magnitude").cast<double>();
// Lv = mod.attr("Lv").attr("magnitude").cast<double>();
// sat_pressure_0c = mod.attr("sat_pressure_0c").cast<double>();
// T0 = mod.attr("T0").attr("magnitude").cast<double>();
Mw = mod.attr("Mw").cast<double>();
Rd = mod.attr("Rd").cast<double>();
Rv = mod.attr("Rv").cast<double>();
Cp_d = mod.attr("Cp_d").cast<double>();
Cp_v = mod.attr("Cp_v").cast<double>();
Cp_l = mod.attr("Cp_l").cast<double>();
Lv = mod.attr("Lv").cast<double>();
sat_pressure_0c = mod.attr("sat_pressure_0c").cast<double>();
T0 = mod.attr("T0").cast<double>();
Ls = mod.attr("Ls").cast<double>();
Cp_i = mod.attr("Cp_i").cast<double>();
zero_degc = mod.attr("zero_degc").cast<double>();
epsilon = mod.attr("epsilon").cast<double>();
kappa = mod.attr("kappa").cast<double>();
}
}