Skip to content

Commit 33955d2

Browse files
author
Mostafa Daoud
committed
add BMI
2 parents 7189f02 + d2e9186 commit 33955d2

12 files changed

Lines changed: 1111 additions & 10 deletions

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ghcr.io/ecoextreml/stemmus_scope:1.5.0
1+
FROM ghcr.io/ecoextreml/stemmus_scope:1.6.0
22

33
LABEL maintainer="Bart Schilperoort <b.schilperoort@esciencecenter.nl>"
44
LABEL org.opencontainers.image.source = "https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing"

PyStemmusScope/bmi/implementation.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
from bmipy.bmi import Bmi
1010
from PyStemmusScope.bmi.utils import InapplicableBmiMethods
1111
from PyStemmusScope.bmi.utils import nested_set
12+
<<<<<<< HEAD
1213
from PyStemmusScope.bmi.variable_reference import VARIABLES, BmiVariable
14+
=======
15+
from PyStemmusScope.bmi.variable_reference import VARIABLES
16+
from PyStemmusScope.bmi.variable_reference import BmiVariable
17+
>>>>>>> main
1318
from PyStemmusScope.config_io import read_config
1419

1520

@@ -26,11 +31,19 @@
2631
MODEL_VARNAMES: tuple[str, ...] = tuple(var.name for var in VARIABLES)
2732

2833
VARNAME_UNITS: dict[str, str] = {var.name: var.units for var in VARIABLES}
34+
<<<<<<< HEAD
2935

3036
VARNAME_DTYPE: dict[str, str] = {var.name: var.dtype for var in VARIABLES}
3137

3238
VARNAME_GRID: dict[str, int] = {var.name: var.grid for var in VARIABLES}
3339

40+
=======
41+
42+
VARNAME_DTYPE: dict[str, str] = {var.name: var.dtype for var in VARIABLES}
43+
44+
VARNAME_GRID: dict[str, int] = {var.name: var.grid for var in VARIABLES}
45+
46+
>>>>>>> main
3447
VARNAME_LOC: dict[str, list[str]] = {var.name: var.keys for var in VARIABLES}
3548

3649
NO_STATE_MSG = (
@@ -414,6 +427,9 @@ def set_value(self, name: str, src: np.ndarray) -> None:
414427
"""
415428
if self.state is None:
416429
raise ValueError(NO_STATE_MSG)
430+
if src.size != self.get_grid_size(self.get_var_grid(name)):
431+
msg = f"Size of `src` and variable '{name}' grid size are not equal!"
432+
raise ValueError(msg)
417433
self.state = set_variable(self.state, name, src)
418434

419435
def set_value_at_indices(
@@ -432,6 +448,9 @@ def set_value_at_indices(
432448
"""
433449
if self.state is None:
434450
raise ValueError(NO_STATE_MSG)
451+
if inds.size != src.size:
452+
msg = "Sizes of `inds` and `src` are not equal!"
453+
raise ValueError(msg)
435454
self.state = set_variable(self.state, name, src, inds)
436455

437456
### GRID INFO ###

0 commit comments

Comments
 (0)