TRIM_3D: a three-dimensional model for accurate simulation of shallow water flow