## about the implicit upstream radiation condition

Discussion about tangent linear and adjoint models, variational data assimilation, and other related issues.

Moderators: arango, robertson

Message
Author
xiaozhu557
Posts: 62
Joined: Fri Sep 11, 2009 1:48 pm
Location: nmefc

### about the implicit upstream radiation condition

Hello all,
I have derived the implicit upstream radiation condition from Marchesiello et al.(2001). I found it should have an implicit assumption dx=dy (or om=on in ROMS). If not, the variables r_x (Cx in ROMS) and r_y (Cy in ROMS) should be

Code: Select all

``````              dy*dy*dudt*dudx*alpha                           dx*dx*dudt*dudy*beta
r_x= -  ---------------------------------       r_y= -   ---------------------------------
dy*dy*dudx*dudx+dx*dx*dudy*dudy                   dy*dy*dudx*dudx+dx*dx*dudy*dudy

x(b-1,j)-x(b-2,j)             y(b-1,j)-y(b-1,j-1)
alpha= -------------------     beta=---------------------
x(b,j)-x(b-1,j)                 y(b,j)-y(b,j-1)
``````
Then, I think the file u3_dbc_im.F should be changed for the western boundary condition as followed,

Code: Select all

``````     	  dxzxm=GRID(ng)%om_r(Istr+1,j))
aphazxm=dxzxm/GRID(ng)%om_r(Istr,j)

IF ((dUdt*dUdx).lt.0.0_r8) dUdt=0.0_r8
IF ((dUdt*(grad(Istr+1,j  )+                            &
dyzxm=GRID(ng)%on_p(Istr+1,j))
betazxm=dyzxm/GRID(ng)%on_p(Istr,j)
ELSE
dyzxm=GRID(ng)%on_p(Istr+1,j+1))
betazxm=dyzxm/GRID(ng)%on_p(Istr,j+1)
END IF
!!                cff=MAX(dUdx*dUdx+dUde*dUde,eps)
!!                Cx=dUdt*dUdx
cff=MAX(dyzxm*dyzxm*dUdx*dUdx+dxzxm*dxzxm*dUde*dUde,eps)
Cx=dUdt*dUdx*dyzxm*dyzxm*aphazxm