It's been too long since I've dived into the source code to say what may be the best way to go about this, but I do have some thoughts.
One is you should check out MachUp Pro. It's also on the AeroLab GitHub page and has ground effect/free-surface interactions implemented, albeit in Fortran. Looking at that source code may be useful.
For modeling ground effect, many have just put duplicate configurations into MachUpX, one above/below the other having been flipped around 90 degrees. This is not as computationally efficient as it could be but will give the correct results if set up properly.
Free surface interactions at high Froude numbers (opposite mirror) would require modifying the source code. This would likely be easiest inside of the Scene class. I'd recommend doing as little modification to the geometry classes as possible, since you aren't actually changing the geometry, just adding a flow effect. That would also be the most convenient place for enforcing the mirrored vortex strengths.