tpism_Vars.i - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
HTML git clone git://src.adamsgaard.dk/pism
DIR Log
DIR Files
DIR Refs
DIR LICENSE
---
tpism_Vars.i (1496B)
---
1 %{
2 #include "util/Vars.hh"
3 %}
4
5 /* disable methods that use regular pointers */
6 %ignore pism::Vars::add;
7 %ignore pism::Vars::is_available;
8 %ignore pism::Vars::get;
9 %ignore pism::Vars::get_2d_scalar;
10 %ignore pism::Vars::get_2d_vector;
11 %ignore pism::Vars::get_2d_mask;
12 %ignore pism::Vars::get_2d_cell_type;
13 %ignore pism::Vars::get_3d_scalar;
14 %ignore pism::Vars::keys;
15
16 /* replace with methods that use shared pointers */
17 %rename(add) pism::Vars::add_shared;
18 %rename(is_available) pism::Vars::is_available_shared;
19 %rename(_get) pism::Vars::get_shared;
20 %rename(get_2d_scalar) pism::Vars::get_2d_scalar_shared;
21 %rename(get_2d_vector) pism::Vars::get_2d_vector_shared;
22 %rename(get_2d_mask) pism::Vars::get_2d_mask_shared;
23 %rename(get_2d_cell_type) pism::Vars::get_2d_cell_type_shared;
24 %rename(get_3d_scalar) pism::Vars::get_3d_scalar_shared;
25 %rename(keys) pism::Vars::keys_shared;
26
27 /* remove Vars::remove */
28 %ignore pism::Vars::remove;
29
30 %extend pism::Vars {
31 %pythoncode %{
32 def get(self, key):
33 # try this first (a cell type mask is a mask, which is a scalar)
34 try:
35 return self.get_2d_cell_type(key)
36 except:
37 pass
38
39 try:
40 return self.get_2d_mask(key)
41 except:
42 pass
43
44 try:
45 return self.get_2d_scalar(key)
46 except:
47 pass
48
49 try:
50 return self.get_2d_vector(key)
51 except:
52 pass
53
54 try:
55 return self.get_3d_scalar(key)
56 except:
57 pass
58
59 return self._get(key)
60 %}
61 }
62
63 %include "util/Vars.hh"