simone-silvestri / OceanScalingTests.jl

Scaling experiments for the multi-GPU GCM mode of Oceananigans.jl
2 stars 2 forks source link

Why do we need `cubic_profile` in the forcing functions? #1

Open navidcy opened 1 year ago

navidcy commented 1 year ago

E.g., here:

https://github.com/simone-silvestri/OceanScalingTests.jl/blob/f034fdb32903c42a09961213308a5b1559b050ed/src/bathymetry_and_forcings.jl#L61-L70

cc @glwagner

simone-silvestri commented 1 year ago

I decided to use a piecewise cubic function for the wind stress (and salinity flux). I guess we could use a parabolic one also

navidcy commented 1 year ago

Is it constant values in between?

glwagner commented 1 year ago

How about

τ₀ * (cos(3π * φ/Δφ) - exp(-φ^2 / 2Δφₑ^2))

?

navidcy commented 1 year ago

I think that should work. Perhaps we should ensure that wind stress goes to zero at the North-South latitudinal boundaries otherwise you get Kelvin waves and circulation at the boundaries.

glwagner commented 1 year ago

Ah nice. Then Δφ is the total latitudinal extent of the domain. Δφₑ is the width of the equatorial bump, typically about 10 degrees latitude. We can also add a parameter to express the relative magnitude of the equatorial bump.