Skip to content

Commit

Permalink
Undoing last commit to MOM_open_boundary.
Browse files Browse the repository at this point in the history
- Changing to new time level for gradient computation.
  • Loading branch information
kshedstrom committed Jul 25, 2017
1 parent 29cb063 commit 5a1ceb9
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions src/core/MOM_open_boundary.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1176,7 +1176,7 @@ subroutine radiation_open_bdry_conds(OBC, u_new, u_old, v_new, v_old, G, dt)
do n=1,OBC%number_of_segments
segment=>OBC%segment(n)
if (.not. segment%on_pe) cycle
if (segment%oblique) call gradient_at_q_points(G, segment, u_new, v_new, u_old, v_old)
if (segment%oblique) call gradient_at_q_points(G,segment,u_new,v_new)
if (segment%direction == OBC_DIRECTION_E) then
I=segment%HI%IscB
do k=1,nz ; do j=segment%HI%jsc,segment%HI%jec
Expand Down Expand Up @@ -1443,13 +1443,11 @@ subroutine open_boundary_zero_normal_flow(OBC, G, u, v)
end subroutine open_boundary_zero_normal_flow

!> Calculate the tangential gradient of the normal flow at the boundary q-points.
subroutine gradient_at_q_points(G, segment, uvel, vvel, uold, vold)
subroutine gradient_at_q_points(G,segment,uvel,vvel)
type(ocean_grid_type), intent(in) :: G !< Ocean grid structure
type(OBC_segment_type), pointer :: segment !< OBC segment structure
real, dimension(SZIB_(G),SZJ_(G),SZK_(G)), intent(in) :: uvel !< zonal velocity
real, dimension(SZI_(G),SZJB_(G),SZK_(G)), intent(in) :: vvel !< meridional velocity
real, dimension(SZIB_(G),SZJ_(G),SZK_(G)), intent(in) :: uold !< zonal velocity
real, dimension(SZI_(G),SZJB_(G),SZK_(G)), intent(in) :: vold !< meridional velocity
integer :: i,j,k

if (.not. segment%on_pe) return
Expand All @@ -1465,15 +1463,15 @@ subroutine gradient_at_q_points(G, segment, uvel, vvel, uold, vold)
do k=1,G%ke
do J=segment%HI%JscB,segment%HI%JecB
segment%grad_normal(J,1,k) = (uvel(I-1,j+1,k)-uvel(I-1,j,k)) * G%mask2dBu(I-1,J)
segment%grad_normal(J,2,k) = (uold(I,j+1,k)-uold(I,j,k)) * G%mask2dBu(I,J)
segment%grad_normal(J,2,k) = (uvel(I,j+1,k)-uvel(I,j,k)) * G%mask2dBu(I,J)
enddo
enddo
else ! western segment
I=segment%HI%iscB
do k=1,G%ke
do J=segment%HI%JscB,segment%HI%JecB
segment%grad_normal(J,1,k) = (uvel(I+1,j+1,k)-uvel(I+1,j,k)) * G%mask2dBu(I+1,J)
segment%grad_normal(J,2,k) = (uold(I,j+1,k)-uold(I,j,k)) * G%mask2dBu(I,J)
segment%grad_normal(J,2,k) = (uvel(I,j+1,k)-uvel(I,j,k)) * G%mask2dBu(I,J)
enddo
enddo
endif
Expand All @@ -1488,15 +1486,15 @@ subroutine gradient_at_q_points(G, segment, uvel, vvel, uold, vold)
do k=1,G%ke
do I=segment%HI%IscB,segment%HI%IecB
segment%grad_normal(I,1,k) = (vvel(i+1,J-1,k)-vvel(i,J-1,k)) * G%mask2dBu(I,J-1)
segment%grad_normal(I,2,k) = (vold(i+1,J,k)-vold(i,J,k)) * G%mask2dBu(I,J)
segment%grad_normal(I,2,k) = (vvel(i+1,J,k)-vvel(i,J,k)) * G%mask2dBu(I,J)
enddo
enddo
else ! south segment
J=segment%HI%jscB
do k=1,G%ke
do I=segment%HI%IscB,segment%HI%IecB
segment%grad_normal(I,1,k) = (vvel(i+1,J+1,k)-vvel(i,J+1,k)) * G%mask2dBu(I,J+1)
segment%grad_normal(I,2,k) = (vold(i+1,J,k)-vold(i,J,k)) * G%mask2dBu(I,J)
segment%grad_normal(I,2,k) = (vvel(i+1,J,k)-vvel(i,J,k)) * G%mask2dBu(I,J)
enddo
enddo
endif
Expand Down

0 comments on commit 5a1ceb9

Please sign in to comment.