1818class Flopy3Model (ModelInterface ):
1919 def __init__ (
2020 self ,
21- model : Optional [ Model ] = None ,
21+ model : Model ,
2222 modelgrid : Optional [Grid ] = None ,
2323 modeltime : Optional [ModelTime ] = None ,
2424 ims : Optional [Package ] = None ,
@@ -103,13 +103,12 @@ def solver_tols(self):
103103 """
104104 Solver inner hclose and rclose values.
105105 """
106- if self ._ims :
107- return self ._ims .inner_hclose , self ._ims .inner_rclose
106+ assert self ._ims
107+ return self ._ims .inner_hclose , self ._ims .inner_rclose
108108
109109 return None
110110
111- @property
112- def export (self , f ):
111+ def export (self , f , ** kwargs ):
113112 pass
114113
115114 @property
@@ -154,6 +153,8 @@ def get_package_list(self, ftype=None):
154153 return [p .name for p in self ._plist ]
155154
156155 def plot (self , packages : list = None , ** kwargs ):
156+ if packages is None :
157+ packages = self .get_package_list ()
157158 return PlotUtilities ._plot_model_helper (
158159 self , SelPackList = packages , ** kwargs
159160 )
@@ -164,11 +165,21 @@ def __init__(
164165 self ,
165166 package : Package ,
166167 model : Optional [Flopy3Model ] = None ,
168+ modelgrid : Optional [Grid ] = None ,
167169 modeltime : Optional [ModelTime ] = None ,
168170 ):
169171 self ._model = model
170- self ._data = package .data
172+ if hasattr (package , "data" ):
173+ self ._data = package .data
174+ else :
175+ raise Exception ("Input package has no data" )
171176 self ._spec = _get_xatspec (type (package ))
177+ if modelgrid :
178+ self ._grid = modelgrid
179+ elif model :
180+ self ._grid = model .modelgrid
181+ else :
182+ raise Exception ("Input package needs grid" )
172183 self ._time = modeltime
173184 self ._dlist = list ()
174185
@@ -177,7 +188,7 @@ def __init__(
177188 d_fp3 = Flopy3Data (
178189 name = a ,
179190 modelname = self .parent ,
180- modelgrid = model . modelgrid ,
191+ modelgrid = self . _grid ,
181192 modeltime = modeltime ,
182193 data = self ._data .attrs [a ],
183194 spec = self ._spec .flat [a ],
@@ -189,7 +200,7 @@ def __init__(
189200 d_fp3 = Flopy3Data (
190201 name = v ,
191202 modelname = self .parent ,
192- modelgrid = model . modelgrid ,
203+ modelgrid = self . _grid ,
193204 modeltime = modeltime ,
194205 data = self ._data .data_vars [v ],
195206 spec = self ._spec .flat [v ],
0 commit comments