Skip to content

Commit

Permalink
fix(#886): MFArray aux variable now always returned as an numpy.ndarr…
Browse files Browse the repository at this point in the history
…ay. Fixed problem with PyListUtil not fully supporting numpy.ndarray type. (#887)
  • Loading branch information
spaulins-usgs committed May 19, 2020
1 parent 29d7f84 commit f4e5ed3
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion flopy/mf6/data/mfdatastorage.py
Original file line number Diff line number Diff line change
Expand Up @@ -1648,7 +1648,7 @@ def _build_full_data(self, apply_multiplier=False):
if all_none:
return None
else:
return aux_data
return np.stack(aux_data, axis=0)
else:
return full_data

Expand Down
10 changes: 6 additions & 4 deletions flopy/utils/datautil.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,12 @@ def max_multi_dim_list_size(current_list):

@staticmethod
def first_item(current_list):
if not isinstance(current_list, list):
if not isinstance(current_list, list) and not isinstance\
(current_list, np.ndarray):
return current_list

for item in current_list:
if isinstance(item, list):
if isinstance(item, list) or isinstance(item, np.ndarray):
# still in a list of lists, recurse
return PyListUtil.first_item(item)
else:
Expand Down Expand Up @@ -200,11 +201,12 @@ def next_item(current_list, new_list=True, nesting_change=0,

@staticmethod
def next_list(current_list):
if not isinstance(current_list[0], list):
if not isinstance(current_list[0], list) and not \
isinstance(current_list[0], np.ndarray):
yield current_list
else:
for lst in current_list:
if isinstance(lst[0], list):
if isinstance(lst[0], list) or isinstance(lst[0], np.ndarray):
for lst in PyListUtil.next_list(lst):
yield lst
else:
Expand Down

0 comments on commit f4e5ed3

Please sign in to comment.