One way to remove portals is to create a thin, solid, nodraw-texture func_brush that is flush with the surface, which you enable (initially disabled) when you want to kill the portal.
You'll need a way to detect the water though, in order to trigger this properly. Also, could get really messy if there's a bunch of surfaces you need to check. Not aware of a better method at this point in time.
One way to remove portals is to create a thin, solid, nodraw-texture func_brush that is flush with the surface, which you enable (initially disabled) when you want to kill the portal.
You'll need a way to detect the water though, in order to trigger this properly. Also, could get really messy if there's a bunch of surfaces you need to check. Not aware of a better method at this point in time.