Skip to content

Commit

Permalink
add BMI
Browse files Browse the repository at this point in the history
  • Loading branch information
Mostafa Daoud committed Sep 24, 2024
2 parents 7189f02 + d2e9186 commit 33955d2
Show file tree
Hide file tree
Showing 12 changed files with 1,111 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ghcr.io/ecoextreml/stemmus_scope:1.5.0
FROM ghcr.io/ecoextreml/stemmus_scope:1.6.0

LABEL maintainer="Bart Schilperoort <[email protected]>"
LABEL org.opencontainers.image.source = "https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing"
Expand Down
19 changes: 19 additions & 0 deletions PyStemmusScope/bmi/implementation.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@
from bmipy.bmi import Bmi
from PyStemmusScope.bmi.utils import InapplicableBmiMethods
from PyStemmusScope.bmi.utils import nested_set
<<<<<<< HEAD
from PyStemmusScope.bmi.variable_reference import VARIABLES, BmiVariable
=======
from PyStemmusScope.bmi.variable_reference import VARIABLES
from PyStemmusScope.bmi.variable_reference import BmiVariable
>>>>>>> main
from PyStemmusScope.config_io import read_config


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

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

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

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

=======

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

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

>>>>>>> main
VARNAME_LOC: dict[str, list[str]] = {var.name: var.keys for var in VARIABLES}

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

def set_value_at_indices(
Expand All @@ -432,6 +448,9 @@ def set_value_at_indices(
"""
if self.state is None:
raise ValueError(NO_STATE_MSG)
if inds.size != src.size:
msg = "Sizes of `inds` and `src` are not equal!"
raise ValueError(msg)
self.state = set_variable(self.state, name, src, inds)

### GRID INFO ###
Expand Down
Loading

0 comments on commit 33955d2

Please sign in to comment.