mirror of https://gitlab.com/pamhyr/pamhyr2
start work on results buffers
parent
ad5cc831a3
commit
3277cf551b
|
|
@ -69,3 +69,8 @@ class Results(object):
|
|||
self._repertory,
|
||||
qlog=None,
|
||||
)
|
||||
|
||||
def bufferize(self, key):
|
||||
if self.is_valid:
|
||||
for reach in self._river._reachs:
|
||||
reach.bufferize(self._meta_data["timestamps"], key)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import logging
|
||||
import numpy as np
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
|
|
@ -82,6 +83,7 @@ class Reach(object):
|
|||
lambda p: p.name[0:8] != 'interpol', self._profiles
|
||||
)
|
||||
)
|
||||
self._buffers = {}
|
||||
|
||||
def __len__(self):
|
||||
return len(self._profiles)
|
||||
|
|
@ -102,6 +104,10 @@ class Reach(object):
|
|||
def profile_mask(self):
|
||||
return self._profile_mask
|
||||
|
||||
@property
|
||||
def buffers(self):
|
||||
return self._buffers
|
||||
|
||||
def profile(self, id):
|
||||
return self._profiles[id]
|
||||
|
||||
|
|
@ -111,6 +117,11 @@ class Reach(object):
|
|||
def has_sediment(self):
|
||||
return any(map(lambda profile: profile.has_sediment(), self._profiles))
|
||||
|
||||
def bufferize(self, timestamps, key):
|
||||
self._buffers[key] = np.zeros((len(timestamps), len(self)))
|
||||
for i, p in enumerate(self._profiles):
|
||||
self._buffers[key][:, i] = p.get_key(key)
|
||||
|
||||
|
||||
class River(object):
|
||||
def __init__(self, study):
|
||||
|
|
|
|||
|
|
@ -1106,6 +1106,10 @@ class Mage8(Mage):
|
|||
r.set(i, t, "V", v)
|
||||
logger.info(f"read_bin: ... end with {len(ts)} timestamp read")
|
||||
|
||||
results.bufferize("Z")
|
||||
results.bufferize("Q")
|
||||
results.bufferize("V")
|
||||
|
||||
@timer
|
||||
def read_gra(self, study, repertory, results, qlog=None, name="0"):
|
||||
if not study.river.has_sediment():
|
||||
|
|
|
|||
Loading…
Reference in New Issue