1. A method for forecasting a tracer comprising the steps of: (a) defining a 2D grid for an area of interest; (b) defining a 3D grid based on the 2D grid and bathymetric data; (c) defining surfaces for each grid point in the 3D grid creating a grid cell; (d) defining an initial field over the 3D grid; (e) defining each velocity grid point in the 3D grid by interpolating flow fields to the 3D grid; (f) associating each velocity grid point with at least one of the surfaces; (g) calculating fluid flow through each side of the grid cell over a time step; (h) computing a total flux through each of the surfaces based on the fluid flow; (i) computing a residual mass flux of layers of a water column based on the total flux and the residual mass flux of adjacent of the layers; (j) iteratively computing a residual velocity of the layers based on the residual mass flux; (k) computing adjusted flow fields by removing the residual velocities from the velocity grid points; and (l) performing time-dependent advection/diffusion calculation to create the tracer forecast based on the adjusted flow fields.