Updated 2012/04/12: This is an old page. It persists on this site for posterity, but the information presented below is no longer up-to-date. When you are done here, then please click forward to this page, which describes how to control refraction errors with limiters on the spectral propagation velocities.
Updated 2011/08/30: Added a link to Part 2.
Updated 2010/02/11: Added refraction as a nodal attribute.
At the end of my instruction manual on how to compile and run SWAN+ADCIRC, I noted that wave refraction can cause problems in regions where the resolution of the bathymetry is insufficient. We worked around this problem by turning off the refraction on the local sub-meshes that were not in our region of interest. On this page, I will provide more description of exactly what can go wrong when waves are allowed to refract on coarse meshes, and I will share more details about our work-around.
It should be noted that wave refraction will always be a problem whenever any wave model is applied on a coarse mesh. This is a general numerical problem whenever the user is trying to compute waves turning over more than 90° in one spatial step. This would be a problem with SWAN, WAM, STWAVE or any other wave model, regardless of if/how they are coupled to a circulation model. As we will see, it is the coarse mesh that causes problems with wave refraction.