* Adding Collector for handling data sampling/collection before dataset/dataloader

* Modify domain by adding sample_mode, variables as property
* Small change concatenate -> cat in lno/avno
* Create different factory classes for conditions
This commit is contained in:
Dario Coscia
2024-10-04 13:57:18 +02:00
committed by Nicola Demo
parent aef5a5d590
commit 1bd3f40f54
18 changed files with 225 additions and 277 deletions

View File

@@ -9,7 +9,7 @@ class DomainInterface(metaclass=ABCMeta):
Any geometry entity should inherit from this class.
"""
__available_sampling_modes = ["random", "grid", "lh", "chebyshev", "latin"]
available_sampling_modes = ["random", "grid", "lh", "chebyshev", "latin"]
@property
@abstractmethod
@@ -19,6 +19,14 @@ class DomainInterface(metaclass=ABCMeta):
"""
pass
@property
@abstractmethod
def variables(self):
"""
Abstract method returing Domain variables.
"""
pass
@sample_modes.setter
def sample_modes(self, values):
"""
@@ -27,10 +35,10 @@ class DomainInterface(metaclass=ABCMeta):
if not isinstance(values, (list, tuple)):
values = [values]
for value in values:
if value not in DomainInterface.__available_sampling_modes:
if value not in DomainInterface.available_sampling_modes:
raise TypeError(f"mode {value} not valid. Expected at least "
"one in "
f"{DomainInterface.__available_sampling_modes}."
f"{DomainInterface.available_sampling_modes}."
)
@abstractmethod