Part 1 of this refactoring consists of changing the well argument for the coupling objects from imod.mf6.wel.WellDisStructured to imod.mf6.mf6_wel_adapter.Mf6Wel. The latter is a direct data representation of the MODFLOW 6 WEL file. More can be read here https://github.com/Deltares/imod-python/issues/728. This has the following consequences for iMOD Coupler:
The imod.mf6.mf6_wel_adapter.Mf6Wel object needs to be provided to coupling objects as argument instead of the deprecated imod.mf6.wel.WellDisStructured.
WellSvatMapping.self._create_well_id needs to be updated
Test fixtures need to be updated.
Part 2 is a larger refactoring, where this Mf6Wel object will be an argument of the Sprinling.write and CouplerMapping.write methods, instead of the initialization. More can be read here https://github.com/Deltares/imod-python/issues/1255. This will require the following updates to primod:
In MetaMod.write, Mf6Wells need to be fetched from self.mf6_simulation and provided to self.metaswap.write.
In MetaModDriverCoupling.derive_coupling, Mf6Wells need to be fetched from gwf_model
Test fixtures need to be updated.
More?
As I need to run primod against a dev version of iMOD Python, this also means I need to temporarily modify the pixi.toml, to use a install from git with pip, instead of a install from conda-forge.
I need to refactor iMOD Python's MetaSWAP objects, see https://github.com/Deltares/imod-python/issues/1255. This has the following consequences for
primod
:Part 1 of this refactoring consists of changing the well argument for the coupling objects from
imod.mf6.wel.WellDisStructured
toimod.mf6.mf6_wel_adapter.Mf6Wel
. The latter is a direct data representation of the MODFLOW 6 WEL file. More can be read here https://github.com/Deltares/imod-python/issues/728. This has the following consequences for iMOD Coupler:imod.mf6.mf6_wel_adapter.Mf6Wel
object needs to be provided to coupling objects as argument instead of the deprecatedimod.mf6.wel.WellDisStructured
.WellSvatMapping.self._create_well_id
needs to be updatedPart 2 is a larger refactoring, where this
Mf6Wel
object will be an argument of theSprinling.write
andCouplerMapping.write
methods, instead of the initialization. More can be read here https://github.com/Deltares/imod-python/issues/1255. This will require the following updates toprimod
:MetaMod.write
, Mf6Wells need to be fetched fromself.mf6_simulation
and provided toself.metaswap.write
.MetaModDriverCoupling.derive_coupling
, Mf6Wells need to be fetched fromgwf_model
As I need to run
primod
against a dev version of iMOD Python, this also means I need to temporarily modify the pixi.toml, to use a install from git with pip, instead of a install from conda-forge.