ladim 2.1.6__py3-none-any.whl → 2.1.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ladim/__init__.py +1 -1
- ladim/state.py +39 -22
- {ladim-2.1.6.dist-info → ladim-2.1.7.dist-info}/METADATA +1 -1
- {ladim-2.1.6.dist-info → ladim-2.1.7.dist-info}/RECORD +8 -8
- {ladim-2.1.6.dist-info → ladim-2.1.7.dist-info}/WHEEL +1 -1
- {ladim-2.1.6.dist-info → ladim-2.1.7.dist-info}/entry_points.txt +0 -0
- {ladim-2.1.6.dist-info → ladim-2.1.7.dist-info}/licenses/LICENSE +0 -0
- {ladim-2.1.6.dist-info → ladim-2.1.7.dist-info}/top_level.txt +0 -0
ladim/__init__.py
CHANGED
ladim/state.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import pandas as pd
|
|
2
1
|
import numpy as np
|
|
3
2
|
|
|
4
3
|
|
|
@@ -14,14 +13,17 @@ class State:
|
|
|
14
13
|
def __init__(self):
|
|
15
14
|
self._num_released = 0
|
|
16
15
|
self._varnames = set()
|
|
17
|
-
self._data =
|
|
16
|
+
self._data = dict() # type: dict[str, np.ndarray]
|
|
18
17
|
|
|
19
18
|
@property
|
|
20
19
|
def size(self):
|
|
21
20
|
"""
|
|
22
21
|
Current number of particles
|
|
23
22
|
"""
|
|
24
|
-
|
|
23
|
+
keys = list(self._data.keys())
|
|
24
|
+
if len(keys) == 0:
|
|
25
|
+
return 0
|
|
26
|
+
return len(self._data[keys[0]])
|
|
25
27
|
|
|
26
28
|
@property
|
|
27
29
|
def released(self):
|
|
@@ -42,23 +44,35 @@ class State:
|
|
|
42
44
|
if not particles:
|
|
43
45
|
return
|
|
44
46
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
# Check that input has correct format
|
|
48
|
+
num_new = next(len(v) for v in particles.values())
|
|
49
|
+
fields = {} # type: dict[str, np.ndarray]
|
|
50
|
+
for k, v in particles.items():
|
|
51
|
+
fields[k] = np.asarray(v)
|
|
52
|
+
if not np.shape(fields[k]) == (num_new, ):
|
|
53
|
+
raise ValueError('Unequal number of array elements in input')
|
|
54
|
+
|
|
55
|
+
# Add standard variables
|
|
56
|
+
fields['pid'] = np.arange(num_new) + self._num_released
|
|
57
|
+
fields['alive'] = np.ones(num_new, dtype=bool)
|
|
58
|
+
if 'active' in fields:
|
|
59
|
+
fields['active'] = np.array(fields['active'], dtype=bool)
|
|
50
60
|
else:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
fields['active'] = np.ones(num_new, dtype=bool)
|
|
62
|
+
|
|
63
|
+
# Concatenate old and new particles
|
|
64
|
+
newdata = {} # type: dict[str, np.ndarray]
|
|
65
|
+
num_old = self.size
|
|
66
|
+
for k, v_new in fields.items():
|
|
67
|
+
if k in self._data:
|
|
68
|
+
v_old = self._data[k]
|
|
69
|
+
else:
|
|
70
|
+
v_old = np.zeros(num_old, dtype=v_new.dtype)
|
|
71
|
+
|
|
72
|
+
newdata[k] = np.concatenate([v_old, v_new], dtype=v_old.dtype)
|
|
73
|
+
|
|
74
|
+
self._data = newdata
|
|
75
|
+
self._num_released += num_new
|
|
62
76
|
|
|
63
77
|
def remove(self, particles):
|
|
64
78
|
"""
|
|
@@ -71,13 +85,16 @@ class State:
|
|
|
71
85
|
return
|
|
72
86
|
|
|
73
87
|
keep = ~particles
|
|
74
|
-
|
|
88
|
+
for k in self._data.keys():
|
|
89
|
+
self._data[k] = self._data[k][keep]
|
|
75
90
|
|
|
76
91
|
def __getitem__(self, item):
|
|
77
|
-
return self._data[item]
|
|
92
|
+
return self._data[item]
|
|
78
93
|
|
|
79
94
|
def __setitem__(self, item, value):
|
|
80
|
-
|
|
95
|
+
v = np.asarray(value)
|
|
96
|
+
assert v.shape == (self.size, )
|
|
97
|
+
self._data[item] = v
|
|
81
98
|
|
|
82
99
|
def __len__(self):
|
|
83
100
|
return self.size
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ladim/__init__.py,sha256=
|
|
1
|
+
ladim/__init__.py,sha256=RcAneNkq971JmIjd87hY3EyxPQJdcGxn4iPnOD5VZ64,51
|
|
2
2
|
ladim/__main__.py,sha256=I1AOHBQDwQNe3fVmDMyC84JcriqidOEURoeoJSOCTzg,24
|
|
3
3
|
ladim/config.py,sha256=A-yLStNqqDwh_wMCIsmd8cmaXuUvz698IMlYvGZT5tE,5710
|
|
4
4
|
ladim/forcing.py,sha256=DgBi2qEH5etOHTL3fWbPjjUvnLPDU50tknHWdWaNqeI,19061
|
|
@@ -9,7 +9,7 @@ ladim/output.py,sha256=AlP3_FGKU_bmSLRyiR3cbbNCwMVkYcuwOjoy0397-CI,8307
|
|
|
9
9
|
ladim/release.py,sha256=P9KnZminvFPMfAJPizo72d6z8-X5ttM9Qw9p_yPtfpQ,13150
|
|
10
10
|
ladim/sample.py,sha256=n8wRGd_VsW_qyQe1ZoTpmfZcdcwB929vsM8PoKG6JTs,8292
|
|
11
11
|
ladim/solver.py,sha256=bfpb2z5ZU0k8eoFWliMMbafYddL7-AfoTvNONO43apo,785
|
|
12
|
-
ladim/state.py,sha256=
|
|
12
|
+
ladim/state.py,sha256=tHMn4eB2XJ3Ua-uqaKQY_UR56ErDapSbqdY2bd-040g,3550
|
|
13
13
|
ladim/tracker.py,sha256=Dpf26jAyu1xAuySRsv3-sOCXJhY3sDvmzUiUyMRUYqU,5118
|
|
14
14
|
ladim/utilities.py,sha256=a3ZK3OuJRfzjEDAfASsuEKItyWC-4GsGUWKEZp1hg0E,1790
|
|
15
15
|
ladim/gridforce/ROMS.py,sha256=VzvKXyyYSdQayCszTZQOh36aXyTaCJ7rxOhGDRjbPhE,27796
|
|
@@ -19,14 +19,14 @@ ladim/gridforce/zROMS.py,sha256=4bnrmcXiWpCAUch9uqd_0XmyKRh-Ll6sFvIHiTbTOOg,2399
|
|
|
19
19
|
ladim/ibms/__init__.py,sha256=YUbvHnFXfSJ0lTl6elc-ajyIh1LDqWYlX7Q_MHuNce4,939
|
|
20
20
|
ladim/ibms/light.py,sha256=POltHmKkX8-q3t9wXyfcseCKEq9Bq-kX1WEJYsr1lNQ,2737
|
|
21
21
|
ladim/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
ladim-2.1.
|
|
22
|
+
ladim-2.1.7.dist-info/licenses/LICENSE,sha256=BgtXyjNr6Ly9nQ7ZLXKpV3r5kWRLnh5MiN0dxp0Bvfc,1085
|
|
23
23
|
postladim/__init__.py,sha256=ND-wa5_GNg01Tp0p_1zA1VD804zbfP3o4Cmd8pWU7OE,113
|
|
24
24
|
postladim/cellcount.py,sha256=nCFu9iJmprubn4YmPB4W0VO02GfEb90Iif7D49w1Kss,2054
|
|
25
25
|
postladim/kde_plot.py,sha256=GvMWzT6VxIeXKh1cnqaGzR-4jGG_WIHGMLPpRMXIpo4,1628
|
|
26
26
|
postladim/particlefile.py,sha256=0aif9wYUJ-VrpQKeCef8wB5VCiBB-gWY6sxNCUYviTA,4889
|
|
27
27
|
postladim/variable.py,sha256=-2aihoppYMMmpSpCqaF31XvpinTMaH3Y01-USDIkbBc,6587
|
|
28
|
-
ladim-2.1.
|
|
29
|
-
ladim-2.1.
|
|
30
|
-
ladim-2.1.
|
|
31
|
-
ladim-2.1.
|
|
32
|
-
ladim-2.1.
|
|
28
|
+
ladim-2.1.7.dist-info/METADATA,sha256=KGCwnDdl7vI0f4q5h5PrrgYVO68gufex-6t9X_wJocc,1950
|
|
29
|
+
ladim-2.1.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
30
|
+
ladim-2.1.7.dist-info/entry_points.txt,sha256=JDlNJo87GJaOkH0-BpAzTPLCrZcuPSdSlHNQ4XmnoRg,41
|
|
31
|
+
ladim-2.1.7.dist-info/top_level.txt,sha256=TK8Gl7d6MsrAQvqKG4b6YJCbB4UL46Se3SzsI-sJAuc,16
|
|
32
|
+
ladim-2.1.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|