------------------
- Added 2D groundwater boundaries (boundary types 6: GROUNDWATERLEVEL
and 7: GROUNDWATERDISCHARGE). These generate in boundary nodes connected
to groundwater cells and lines having new kcu values
600, 700, 800, 900.
- Added 1D-2D groundwater exchange lines (kcu 57). The generated lines have
attributes 'cross_weight', 'frict_value1', 'frict_value2' set based on
input 'exchange_thickness', 'hydraulic_conductivity_out' and
'hydraulic_conductivity_in' on input Channels, Pipes and Manholes.
- Save memory by lazily creating empty columns.
- Add Python 3.11 and SQLAlchemy 2.0 support, drop SQLAlchemy 1.3.
- Raise comprehensive error for objects that connect to outside the 2D model domain.
- Set dpumax for 1D2D groundwater lines based on dmax of 1D node.
- Set dpumax for 1D2D open water lines based on the intersection of its line
geometry with obstacles. The line geometry is the line from the 1D node to the
2D cell center, except for potential_breaches, where it is geometry that
was provided by the user.