Keep net volume as a constant without Volcons

Report or discuss software problems and other woes

Moderators: arango, robertson

Message
Author
yj7054
Posts: 9
Joined: Mon Sep 24, 2018 7:40 pm
Location: CSIRO - Hobart Site

Keep net volume as a constant without Volcons

Dear All,

My purpose:
Keep the net volume as a constant without turning on the VolCons

My design:

Code: Select all

LBC(isFsur) ==   Clo     Cha     Cha     Cha            ! free-surface
LBC(isUbar) ==   Clo     Cla     Cla     Cla            ! 2D U-momentum
LBC(isVbar) ==   Clo     Cla     Cla     Cla            ! 2D V-momentum
LBC(isMtke) ==   Clo     Gra     Gra     Gra            ! mixing TKE

LBC(isTvar) ==   Clo     Cla     Cla     Cla \          ! temperature
Clo     Cla     Cla     Cla            ! salinity
I Clamped the 2D momentum, which is balanced at every input time step (the frequency is 5 days) in the BOUNDARY.NC so that I can control the net flux from the boundaries as zero all the time, and gave the freedom for 3D momentum to adjust.

My problem:
The net volume increases at the speed of 1cm per year approximately, and I think the key point is that I still did not provide 'balanced flux' in the boundary file because of i,j indices offset.

I calculated the boundary flux in this way (the ubar/vbar points used are indicated with black circle, the h/pn/pm/mask points used are indicated with black square in the attached figure):

EAST_Flux = ubar_east(1:M-1) * (h(L-1,1:M-1)+h(L,1:M-1)) * 0.5 * (2/(pn(L-1,1:M-1)+pn(L,1:M-1))) * mask_u(L,1:M-1)
NORTH_FLUX = vbar_north(1:L-1) * (h(1:L-1,M-1)+h(1:L-1,M)) * 0.5 * (2/(pm(1:L-1,M-1)+pm(1:L-1,M))) * mask_v(1:L-1,M)
SOUTH_FLUX = vbar_south(1:L-1) * (h(1:L-1,0)+h(1:L-1,1)) * 0.5 * (2/(pm(1:L-1,0)+pm(1:L-1,1))) * mask_v(1:L-1,1)

Did my design make sense for my purpose?
Why I cannot get a constant net volume?

Thank you very much!
Attachments c_grid