I’m dealing with a similar.
I used a global terrain+bathymetry model which is available at 
(the bathymetry it is the results of a resampling from a very coarse resolution, i’m using it for testing purposes)
To build the terrain I used the cesium terrain builder  which use the heightmap terrain format.
height-map in cesium has the limitation to do not render properly the terrain if the z value is below -1000 m
My work around was to use a GIS application to set to 0 all the value below -1000 m
an example serving such terrain using the cesium terrain server  i available at:
that’s a postcard from Capri (IT):
I’m working on a similar project for my research (I’m a student)
I’m using an USBL positioning system for my time-based location data
to locate an underwater camera system.
the tracking of the vehicle using CZML works great, see:
But I have problems in synchronizing the rendering of video data with the CZML.
In the video demo they are not playing in sync (the “toggle clock synchronization was unchecked")
for this issue I opened a specific topic: