The Bay of Bengal is surrounded by coastline except to the south, where there is open sea. The coastline bends most sharply along the coast of Bangladesh, and there are many small and large islands in the off shore region there. In order to incorporate the island boundaries and the curved coastline properly, in any numerical scheme it is often necessary to consider a very fine grid resolution along the coastal belts whereas this is unnecessary away from the coasts. However, a very fine resolution involves more memory and more CPU time in the numerical solution process, and invites numerical instability. On the other hand, boundary-fitted curvilinear grids in hydrodynamic models for coastal seas, bays and estuaries not only fit to the coastline but also render the finite difference schemes simpler and more accurate. In this article, the boundary-fitted curvilinear grids for the model represent the complete boundary of the area considered by four curves defined by four functions, and the four boundaries of two of the larger islands are then represented approximately by two general functions. An appropriate independent coordinate transformation maps the curvilinear physical area to a square domain, and each island boundary is transformed to a rectangle within this square domain. The vertically integrated shallow water equations are transformed to the new space domain, and solved by a regular explicit finite difference scheme. The model is applied to compute the water levels due to astronomical tides, and also the water levels due to surges associated with tropical storms that hit the coast of Bangladesh.