Because we include all dependencies for the underlying models in the FloodAdapt environment, it is very likely that adding more models will produce dependency conflicts and even make it impossible to solve.
For example Delft-FIAT and ra2ce both require a different version of gdal.
To combat this issue, we should investigate to see if we can relax these requirements, or remove them altogether.
The ideal solution would be how hydromt-sfincs does it, which is a python wrapper with flexible dependencies, that handles the inputs/outputs of a compiled model binary. For sfincs this is the only way as it is written in fortran.
For fiat/ra2ce/other future python models however, the 'wrapper' around the model has the model itself as a dependency.
Task list
Find out if hydromtfiat and ra2ce wrappers can be relaxed in their requirements/are required to have the model itself as a dependency.
Design method of how to configure & run models
Implement design in FloodAdapt
Use case
If we want to add more models than sfincs & fiat, this needs to happen.
Additional Context
This would make the environment smaller and easier to deal with as well
Kind of request
None
Enhancement Description
Because we include all dependencies for the underlying models in the FloodAdapt environment, it is very likely that adding more models will produce dependency conflicts and even make it impossible to solve.
For example Delft-FIAT and ra2ce both require a different version of gdal.
To combat this issue, we should investigate to see if we can relax these requirements, or remove them altogether.
The ideal solution would be how hydromt-sfincs does it, which is a python wrapper with flexible dependencies, that handles the inputs/outputs of a compiled model binary. For sfincs this is the only way as it is written in fortran.
For fiat/ra2ce/other future python models however, the 'wrapper' around the model has the model itself as a dependency.
Task list
Find out if hydromtfiat and ra2ce wrappers can be relaxed in their requirements/are required to have the model itself as a dependency. Design method of how to configure & run models Implement design in FloodAdapt
Use case
If we want to add more models than sfincs & fiat, this needs to happen.
Additional Context
This would make the environment smaller and easier to deal with as well