CWorthy-ocean / roms-tools

Tools for creating input files for UCLA-ROMS simulations
https://roms-tools.readthedocs.io
Apache License 2.0
11 stars 5 forks source link

Avoid extrapolation to bottom before interpolation #70

Open NoraLoose opened 3 months ago

NoraLoose commented 3 months ago

Jeroen strongly advises against extrapolating tracers and velocities all the way to the bottom before interpolation. Instead, he recommends to do horizontal interpolation (or diffusion). His recommendation is the solution that I had implemented first, but then we switched to extrapolating to the bottom.

The argument against extrapolation to the bottom is that you can end up with very warm temperatures at the ocean bottom if the bathymetry is slightly shifted. The warm temperature will be next to cold (realistic) temperatures, and there will therefore be strong gradients that may require initially very small time steps (that the user may miss to increase later on). In contrast, horizontal interpolation will supposedly lead to no problems because at depth isopycnals are almost horizontal (as opposed to the upper ocean where isopycnals are much more tilted). The case of flat isopycnals is the limit case for when horizontal interpolation is perfect.

matt-long commented 3 months ago

@nmolem, what is the rationale here? I would have expected convectively unstable conditions to be the primary concern.

nmolem commented 3 months ago

The rationale is extrapolation in horizontal instead of vertical direction. Since the vertical gradients in the ocean are typically much larger, it makes more sense to extrapolate horizontally. Bathymetry differences, even between ROMS grids with different resolutions can be 1000m or more. If you extrapolate the lighter waters downward by that distance, you create large horizontal density gradients, which need a small time-step to get pas the transients. With the method that I use, typically, there is no need for a smaller time-step after initialization. In the (rare) case that you end up with statically unstable gradients, the Ri-number parameterization will erode those efficiently.

nmolem commented 3 months ago

I initially was extrapolating vertically, because it's the simplest thing to do, but switched to the more complicated horizontal extrapolation to avoid the worst transients.