|
6 | 6 | import numpy as np |
7 | 7 | from attrs import fields |
8 | 8 | from modflow_devtools.dfn import Dfn, Field |
| 9 | +from packaging.version import Version |
9 | 10 | from xattree import xattree |
10 | 11 |
|
11 | 12 | from flopy4.mf6.constants import FILL_DNODATA |
12 | | -from flopy4.mf6.spec import field, fields_dict, to_dfn_field |
| 13 | +from flopy4.mf6.spec import field, fields_dict, to_field |
13 | 14 | from flopy4.uio import IO, Loader, Writer |
14 | 15 |
|
15 | 16 |
|
@@ -162,21 +163,21 @@ def __len__(self): |
162 | 163 | @classmethod |
163 | 164 | def get_dfn(cls) -> Dfn: |
164 | 165 | """Get the component's definition (i.e. specification).""" |
165 | | - fields = {field_name: to_dfn_field(field) for field_name, field in fields_dict(cls).items()} |
| 166 | + fields = {field_name: to_field(field) for field_name, field in fields_dict(cls).items()} |
166 | 167 | blocks: dict[str, dict[str, Field]] = {} |
167 | 168 | for field_name, field_ in fields.items(): |
168 | | - if (block := field_.get("block", None)) is not None: |
| 169 | + if (block := field_.block) is not None: |
169 | 170 | blocks.setdefault(block, {})[field_name] = field_ |
170 | 171 | else: |
171 | 172 | blocks[field_name] = field_ |
172 | 173 |
|
173 | 174 | return Dfn( |
| 175 | + schema_version=Version("2"), |
174 | 176 | name=cls.__name__.lower(), |
175 | 177 | advanced=getattr(cls, "advanced_package", False), |
176 | 178 | multi=getattr(cls, "multi_package", False), |
177 | 179 | ref=getattr(cls, "sub_package", None), |
178 | | - sln=getattr(cls, "solution_package", None), |
179 | | - **blocks, |
| 180 | + blocks=blocks, |
180 | 181 | ) |
181 | 182 |
|
182 | 183 | def _preio(self, format: str) -> None: |
|
0 commit comments