Time index in zetabc.F

Bug reports, work arounds and fixes

Moderators: arango, robertson

Post Reply
Message
Author
nencio

Time index in zetabc.F

#1 Unread post by nencio »

Hi all,

looking at the routine Nonlinear/zetabc.F, I've noticed that in the case of WEST_FSRADIATION (line 113-114 and 118-119), the time index used is kstp:

Code: Select all

# if defined WEST_FSRADIATION
!
!  Western edge, implicit upstream radiation condition.
!
        DO j=Jstr,Jend+1
          grad(Istr-1,j)=zeta(Istr-1,j  ,kstp)-                         &
     &                   zeta(Istr-1,j-1,kstp)
#  ifdef MASKING
          grad(Istr-1,j)=grad(Istr-1,j)*GRID(ng)%vmask(Istr-1,j)
#  endif
          grad(Istr,j)=zeta(Istr,j  ,kstp)-                             &
     &                 zeta(Istr,j-1,kstp)
whereas in the case of EAST, NORTH and SOUTH_FSRADIATION (as well as for all the four radiation conditions for ubar and vbar in u2dbc_im.F and v2dbc_im.F) the time index used is know. I was wondering if that is the way the code is supposed to be, or if that is a small bug.

thank you,
francesco

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: Time index in zetabc.F

#2 Unread post by arango »

Yes, we need know here. Good catch :!: I guess that we did not notice before is because it is not a good idea to have this type of radiation boundary conditions on free-surface.

The open boundary conditions on free-surface are very tricky because of its implications on the continuity equation and volume conservation. This kind of boundary condition can be catastrophic in particular application due to loss of volume. It wiser to operate on the open boundaries conditions on vertically-intergrated (2D) momentum. Recall that the free-surface is related to the divergence of 2D momentum via the continuity equation. We usually use the Flather boundary conditions on 2D momentum and the Chapman boundary conditions on free-surface.

Post Reply