Coverage for C:\src\imod-python\imod\mf6\interfaces\imodel.py: 76%
33 statements
« prev ^ index » next coverage.py v7.5.1, created at 2024-05-16 11:25 +0200
« prev ^ index » next coverage.py v7.5.1, created at 2024-05-16 11:25 +0200
1from abc import abstractmethod
2from typing import Optional, Tuple
4from imod.mf6.interfaces.idict import IDict
5from imod.mf6.statusinfo import StatusInfoBase
6from imod.typing import GridDataArray
9class IModel(IDict):
10 """
11 Interface for imod.mf6.model.Modflow6Model
12 """
14 @abstractmethod
15 def mask_all_packages(self, mask: GridDataArray):
16 raise NotImplementedError
18 @abstractmethod
19 def purge_empty_packages(self, model_name: Optional[str] = "") -> None:
20 raise NotImplementedError
22 @abstractmethod
23 def validate(self, model_name: str = "") -> StatusInfoBase:
24 raise NotImplementedError
26 @property
27 @abstractmethod
28 def domain(self):
29 raise NotImplementedError
31 @property
32 @abstractmethod
33 def options(self) -> dict:
34 raise NotImplementedError
36 @property
37 @abstractmethod
38 def model_id(self) -> str:
39 raise NotImplementedError
41 @abstractmethod
42 def is_regridding_supported(self) -> Tuple[bool, str]:
43 raise NotImplementedError
45 @abstractmethod
46 def is_splitting_supported(self) -> Tuple[bool, str]:
47 raise NotImplementedError