99from bmipy .bmi import Bmi
1010from PyStemmusScope .bmi .utils import InapplicableBmiMethods
1111from PyStemmusScope .bmi .utils import nested_set
12+ < << << << HEAD
1213from 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
1318from PyStemmusScope .config_io import read_config
1419
1520
2631MODEL_VARNAMES : tuple [str , ...] = tuple (var .name for var in VARIABLES )
2732
2833VARNAME_UNITS : dict [str , str ] = {var .name : var .units for var in VARIABLES }
34+ < << << << HEAD
2935
3036VARNAME_DTYPE : dict [str , str ] = {var .name : var .dtype for var in VARIABLES }
3137
3238VARNAME_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
3447VARNAME_LOC : dict [str , list [str ]] = {var .name : var .keys for var in VARIABLES }
3548
3649NO_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