Semi-implicit finite difference methods for the three-dimensional shallow water flow