I've been enjoying getting to understand setting up some custom models, and doing some comparison with other wave models I'm familiar with.
Something I am finding is that when inspecting the wave conditions within the model simulation, even at the boundary my significant wave height is considerably less than I would expect based on the input conditions.
I wonder if there is any guidance on what might be occurring, or how to address this.
Many thanks
Tom
Greatly appreciate your time looking into it. That all makes sense, and helps me get a better feel for appropriate use of the model. Thanks very much!
Hey Tom-
The waves you are trying to model are too short for the this version of the Boussinesq equations. The peak period of your spectrum, ~8 seconds, has a kh=3.5 at the offshore boundary, The max period, ~10 seconds, has a kh=2.2 and the min period, 6 seconds, has a kh=6.1. This version of the Boussinesq requires kh<~2 for reasonable accuracy. So, this is the first issue, and explains why the waves dispersive unphysically at the boundary.
Next, it looks like you are using a 10-m grid to model waves with the peak period of ~8 seconds, with an offshore depth of ~55m. At the offshore depth, this gives you ~10 points per wavelength. More importantly, as the waves shoal, you have even fewer points per wavelength. To get a reasonable model to accurately shoal these waves into ~5m depth you wil likely need a grid size of 3 - 4 m.
For reference, when I am using phase-resolving models (one of any of the Boussinesq-type / swash / xbeach models), I am using a resolution no less than 1.5m if I want a reasonable prediction of breaking waves and the surf zone. In your case, since you are probably not too interested in breaking, you can get away with a coarser grid, but the incident waves either need to be longer in period, or you need to move your offshore boundary into shallower water. If I was working on this configuration, I would rotate the bathy such that the shoreline aaligns with an axis, and then I would start the sim in a water depth closer to 20-m.
Hi Patrick, Thanks for responding so quickly! I've adjusted the parameters in the matlab script to create a wider deep buffer at the boundary and that does appear to have helped somewhat, with larger waves now in that zone, but they are dissipating pretty rapidly.
Changing resolution didn't seem to make a difference, but the model domain is quite large so it ran pretty slowly if dropped too far.
Dissipation could be as a result of my bathymetry because it does shallow quite quickly, but I wouldn't expect it to happen quite so quickly based on the other modelling I've done at the site.
If you could spare a bit of time to take a look and let me know if I'm going wrong anywhere then that would be greatly appreciated! I've attached the setup files.
Hey Tom-
There are a couple of issues that may be causing this: 1) Your input waves are very large (Hs/depth>0.3). In these cases there may be alot of nonlinearity and dissipation right at the generation boundary, leading to lower wave heights. Only good fix for this is to start the simulation in deeper water - push to incident wave boundary into deeper water. 2) Your resolution may be too low to resolve some of the wave frequencies in your input spectrum. If you increase your resolution, does the error decrease? There may be other things going on. If you want to share your config, bathy, and waves file, I can take a look.