How to move an object over a deformed surface and make in follow the surface? So I modelled this boat and a lake using ocean modifier.

As you can see when it moves, it intersects with the water. Sometimes it's under water and sometimes over it.
Anyone knows how to make it move over the surface such that it adjusts itself on Z axis and only a part of it is underwater at  all times(Like real boats).
Apart from keyframing it to move properly, I have tried everything
Any help is greatly appreciated
Thanks in advance
Blend File: https://pasteall.org/blend/963dfcbdfd6b468a9f2712981165494d
Create a plane with enough subdivisions, and give it a shrinkwrap modifier with target ocean. Add a vertex group with all vertices to the plane.
Then use copylocation constraint on z-axis to your boat and the vertex group. Hide your plane.