Coverage for C:\src\imod-python\imod\mf6\interfaces\imodel.py: 76%

1 from abc import abstractmethod

2 from typing import Optional, Tuple

3

4 from imod.mf6.interfaces.idict import IDict

5 from imod.mf6.statusinfo import StatusInfoBase

6 from imod.typing import GridDataArray

7

8

9 class IModel(IDict):

10 """

11 Interface for imod.mf6.model.Modflow6Model

12 """

13

14 @abstractmethod

15 def mask_all_packages(self, mask: GridDataArray):

16 raise NotImplementedError

17

18 @abstractmethod

19 def purge_empty_packages(self, model_name: Optional[str] = "") -> None:

20 raise NotImplementedError

21

22 @abstractmethod

23 def validate(self, model_name: str = "") -> StatusInfoBase:

24 raise NotImplementedError

25

26 @property

27 @abstractmethod

28 def domain(self):

29 raise NotImplementedError

30

31 @property

32 @abstractmethod

33 def options(self) -> dict:

34 raise NotImplementedError

35

36 @property

37 @abstractmethod

38 def model_id(self) -> str:

39 raise NotImplementedError

40

41 @abstractmethod

42 def is_regridding_supported(self) -> Tuple[bool, str]:

43 raise NotImplementedError

44

45 @abstractmethod

46 def is_splitting_supported(self) -> Tuple[bool, str]:

47 raise NotImplementedError