Skip to content

Commit

Permalink
feat(mf2005,mf2k): allow loading custom flopy packages
Browse files Browse the repository at this point in the history
- add extra_pkgs kwarg, which updates the mfnam_packages dictionary.
  • Loading branch information
dbrakenhoff committed Dec 23, 2024
1 parent c3884ce commit badcecd
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions flopy/modflow/mf.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ class Modflow(BaseModel):
Location for external files.
verbose : bool, default False
Print additional information to the screen.
extra_pkgs : dict, optional
Add custom packages classes to mfnam_packages. Allows for loading models
with custom packages not contained in the standard flopy distribution.
Attributes
----------
Expand Down Expand Up @@ -113,6 +116,7 @@ def __init__(
model_ws: Union[str, os.PathLike] = os.curdir,
external_path: Optional[Union[str, os.PathLike]] = None,
verbose=False,
extra_pkgs: Optional[dict] = None,
**kwargs,
):
super().__init__(
Expand Down Expand Up @@ -224,6 +228,8 @@ def __init__(
"vdf": flopy.seawat.SeawatVdf,
"vsc": flopy.seawat.SeawatVsc,
}
if extra_pkgs:
self.mfnam_packages.update(extra_pkgs)

def __repr__(self):
nrow, ncol, nlay, nper = self.get_nrow_ncol_nlay_nper()
Expand Down Expand Up @@ -632,6 +638,7 @@ def load(
load_only=None,
forgive=False,
check=True,
extra_pkgs: Optional[dict] = None,
):
"""
Load an existing MODFLOW model.
Expand Down Expand Up @@ -661,6 +668,10 @@ def load(
useful for debugging. Default False.
check : boolean, optional
Check model input for common errors. Default True.
extra_pkgs : dict, optional
Add custom packages classes to mfnam_packages. Allows for loading models
with custom packages not contained in the standard flopy distribution.
Returns
-------
Expand Down Expand Up @@ -692,6 +703,7 @@ def load(
exe_name=exe_name,
verbose=verbose,
model_ws=model_ws,
extra_pkgs=extra_pkgs,
**attribs,
)

Expand Down

0 comments on commit badcecd

Please sign in to comment.