Spatial discretization is carried out using the finite volume
method. This amounts to a grid-point method (namely second-order
centered finite difference) in the fluid interior but allows
boundaries to intersect a regular grid allowing a more accurate
representation of the position of the boundary. We treat the
horizontal and vertical directions as separable and differently.