[MITgcm-support] body force in apply_forcing.F
Martin Losch
Martin.Losch at awi.de
Mon Feb 4 04:30:32 EST 2019
Hi Bertrand,
I am not sure if I understand what you want to do: You intialize u with a jet, which you want to make steady, but you add a body force that will change v (dv/dt = …). What is the balance, that you are looking for?
Naively, I would think, it is the geostrophic balance. But in geostrophic balance dv/dt and du/dt = 0 and you have rho*f*u = -dp/dy and and rho*f*v = + dp/dx. If the jet is along x, then v = 0, so dp/dx = 0, and you just have to make sure that in your intial conditions dp0/dy = -rho*f*u0. For a barotropic case that would mean d\eta/dy = f*u0/g in your intial conditions.
Without any extra forcing this jet would decay due to friction in the system (and some v will appear). Depending on your question, you could restore u to the inital conditions (you can use the rbcs package for that), but that will always damp the system
Martin
On 2. Feb 2019, at 23:38, Bertrand Louis Rene Delorme <bdelorme at stanford.edu> wrote:
>
> Hi everyone,
>
> I am trying to set up a configuration with just a steady, deep, zonal jet in the water column balanced by the Coriolis force. To do that, I prescribed the jet as initial condition (u0) and I added a body force (BF) in the v-momentum equation such that dv/dt = -f*u + BF with BF=f*u0. I used apply_forcing.F to incorporate the body force by adding the following lines in APPLY_FORCING_V:
>
> DO j=1,sNy+1
> DO i=0,sNx+1
> yv = 0.5*(yC(i,j,bi,bj)+yC(i,j-1,bi,bj))
> gV_arr(i,j) = gV_arr(i,j) + 1E-7 * exp(-(rC(k)-mZ)**2/sigZ**2) * exp(-(yv-mY)**2/sigY**2)
> ENDDO
> ENDDO
>
> where (mY, mZ) are the coordinates of the center of the jet in the meridional plane, sigZ and sigY the e-folding scale in each direction, and yv is the y-coordinate on the V-grid. Concerning the initial condition for U, I was careful to define it on the U-grid.
>
> However, for some reasons, the jet is not perfectly balanced and low amplitude waves emanate from its center. I feel like I might be doing something inconsistent in apply_forcing.F, like not using the appropriate grid, but couldn't figure out what it is. If anyone has an idea on what might go wrong please let me know.
>
> Thank you,
>
> Bertrand
>
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list