mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
start work on results buffers
This commit is contained in:
1 parent
b00cca953e
commit
242df7f648
3 files changed
+20
No files matched your search
@@ -219,6 +219,11 @@ class Results(SQLSubModel):
|
||||
qlog=None,
|
||||
)
|
||||
|
||||
def bufferize(self, key):
|
||||
if self.is_valid:
|
||||
for reach in self._river._reachs:
|
||||
reach.bufferize(self._meta_data["timestamps"], key)
|
||||
|
||||
def timestamps_to_struct(self):
|
||||
ts = self._meta_data["timestamps"]
|
||||
sf = ">" + ''.join(itertools.repeat("d", len(ts)))
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
import struct
|
||||
import logging
|
||||
import itertools
|
||||
import numpy as np
|
||||
|
||||
from tools import flatten
|
||||
from functools import reduce
|
||||
@@ -275,6 +276,7 @@ class Reach(SQLSubModel):
|
||||
lambda p: p.name[0:8] != 'interpol', self._profiles
|
||||
)
|
||||
)
|
||||
self._buffers = {}
|
||||
|
||||
def __len__(self):
|
||||
return len(self._profiles)
|
||||
@@ -295,6 +297,10 @@ class Reach(SQLSubModel):
|
||||
def profile_mask(self):
|
||||
return self._profile_mask
|
||||
|
||||
@property
|
||||
def buffers(self):
|
||||
return self._buffers
|
||||
|
||||
def profile(self, id):
|
||||
return self._profiles[id]
|
||||
|
||||
@@ -304,6 +310,11 @@ class Reach(SQLSubModel):
|
||||
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)
|
||||
|
||||
@classmethod
|
||||
def _db_create(cls, execute, ext=""):
|
||||
return cls._create_submodel(execute)
|
||||
|
||||
Reference in new issue
Block a user