Ques for ROMS boudnay code.

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
Honolulu_Wang
Posts: 17
Joined: Mon Sep 08, 2014 4:17 pm
Location: Hohai University

Ques for ROMS boudnay code.

#1 Unread post by Honolulu_Wang »

Hi All, I just want to ask a question related to ROMS boundary code for processing zeta.
As we know the zeta=zeta_tide+zeta_notide at the boundary and it is how rooms calculated in set_tide.F

IF (LBC(ieast,isFsur,ng)%acquire.or. &
& LBC(ieast,isUbar,ng)%acquire.or. &
& LBC(ieast,isVbar,ng)%acquire) THEN
update=.FALSE.
IF (DOMAIN(ng)%Eastern_Edge(tile)) THEN
DO j=JstrR,JendR
BOUNDARY(ng)%zeta_east(j)=BOUNDARY(ng)%zeta_east(j)+ &
& 0.5_r8*(Etide(Iend ,j)+ &
& Etide(Iend+1,j))

END DO
update=.TRUE.
END IF
CALL mp_boundary (ng, iNLM, JstrR, JendR, &
& JLB, JUB, 1, 1, update, &
& BOUNDARY(ng)%zeta_east)
END IF


But, when I went through the zetabc.F code, if I choose the Champan Boundary conditions.


ELSE IF (LBC(ieast,isFsur,ng)%Chapman) THEN
DO j=Jstr,Jend
IF (LBC_apply(ng)%east(j)) THEN
cff=dt2d*GRID(ng)%pm(Iend,j)
cff1=SQRT(g*(GRID(ng)%h(Iend,j)+ &
& zeta(Iend,j,know)))
Cx=cff*cff1
cff2=1.0_r8/(1.0_r8+Cx)
zeta(Iend+1,j,kout)=cff2*(zeta(Iend+1,j,know)+ &
& Cx*zeta(Iend,j,kout))

zeta(Iend+1,j,kout)=zeta(Iend+1,j,kout)* &
& GRID(ng)%rmask(Iend+1,j)
END IF
END DO

It seemed that the boundary zeta values do not take into account the information of tides, as described in the BOUNDARY(ng)%zeta_east(j) of set_tide.f.
It is very strange and is this same for your understanding?

Thanks

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Ques for ROMS boudnay code.

#2 Unread post by kate »

The tides come in through the Flather option on ubar, vbar.

Post Reply