When a boundary is interpolated TRACEO calculates the normal at the interpolation point.
Such normal always points towards the bottom.
However,
in order to calculate correctly the reflection of the ray at the bottom the bottom's normal is flipped in the
opposite direction,
so the ray returns to the watercolumn.
As for a reflection on an object the reflection on the lower side of the object
(i.e. the side closer to the surface)
is equivalent to a bottom reflection,
while the reflection on the upper side
(i.e. the side closer to the bottom)
is equivalent to a surface reflection.

Orlando Camargo Rodríguez
2012-06-21