Skip to content

Commit 2c4d893

Browse files
committed
update(rhs, hcof, AdvancedInput): bug fixes for setting variable values for advanced inputs
* update rhs and hcof to copy values to pointer instead of overwriting the pointer * add a check for AdvancedInput variables that do not have pointer support in xmipy
1 parent defd2ee commit 2c4d893

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

modflowapi/extensions/data.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,10 +558,10 @@ def get_variable(self, name, model=None, package=None):
558558

559559
try:
560560
values = self.mf6.get_value_ptr(var_addr)
561+
self._ptrs[name.lower()] = values
561562
except xmipy.errors.InputError:
562563
values = self.mf6.get_value(var_addr)
563564

564-
self._ptrs[name.lower()] = values
565565
return values.copy()
566566

567567
def set_variable(self, name, values, model=None, package=None):
@@ -601,7 +601,18 @@ def set_variable(self, name, values, model=None, package=None):
601601
f"current shape={values.shape}, valid shape={values0.shape}"
602602
)
603603

604-
self._ptrs[name.lower()] = values
604+
if name.lower() not in self._ptrs:
605+
# this is a set value situation
606+
self.mf6.set_value(
607+
self.mf6.get_var_address(
608+
name.upper(),
609+
self.parent.model.name,
610+
self.parent.pkg_name
611+
),
612+
values
613+
)
614+
else:
615+
self._ptrs[name.lower()] = values
605616

606617

607618
class ScalarInput:

modflowapi/extensions/pakbase.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ def rhs(self, values):
341341
if self._rhs is None:
342342
return
343343

344-
self._rhs = values
344+
self._rhs[:] = values[:]
345345

346346
@property
347347
def hcof(self):
@@ -362,7 +362,7 @@ def hcof(self, values):
362362
if self._hcof is None:
363363
return
364364

365-
self.__hcof = values
365+
self._hcof[:] = values[:]
366366

367367

368368
class ListPackage(PackageBase):

0 commit comments

Comments
 (0)