Commit 7da6990f authored by hb's avatar hb
Browse files

GOTM applied also to open boundaries

parent 483e9bdc
!$Id: gotm.F90,v 1.21 2009-10-23 12:49:32 hb Exp $ !$Id: gotm.F90,v 1.22 2010-03-02 13:06:56 hb Exp $
#include "cppdefs.h" #include "cppdefs.h"
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
!BOP !BOP
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
do j=jmin,jmax do j=jmin,jmax
do i=imin,imax do i=imin,imax
if (az(i,j) .eq. 1 ) then if (az(i,j) .ge. 1 ) then
#ifdef STRUCTURE_FRICTION #ifdef STRUCTURE_FRICTION
! BJB-TODO: Change all constants to double ! BJB-TODO: Change all constants to double
......
!$Id: ss_nn.F90,v 1.12 2009-09-30 11:28:46 bjb Exp $ !$Id: ss_nn.F90,v 1.13 2010-03-02 13:06:56 hb Exp $
#include "cppdefs.h" #include "cppdefs.h"
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
!BOP !BOP
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
!$OMP DO SCHEDULE(RUNTIME) !$OMP DO SCHEDULE(RUNTIME)
do j=jmin,jmax do j=jmin,jmax
do i=imin,imax do i=imin,imax
if (az(i,j) .eq. 1 ) then if (az(i,j) .ge. 1 ) then
do k=1,kmax-1 do k=1,kmax-1
! This is an older version which we should keep here. ! This is an older version which we should keep here.
#ifndef NEW_SS #ifndef NEW_SS
...@@ -217,30 +217,30 @@ ...@@ -217,30 +217,30 @@
!$OMP DO SCHEDULE(RUNTIME) !$OMP DO SCHEDULE(RUNTIME)
do j=jmin,jmax do j=jmin,jmax
do i=imin,imax do i=imin,imax
if (az(i,j) .eq. 1 ) then if (az(i,j) .ge. 1 ) then
do k=kmax-1,1,-1 do k=kmax-1,1,-1
dz=_HALF_*(hn(i,j,k+1)+hn(i,j,k)) dz=_HALF_*(hn(i,j,k+1)+hn(i,j,k))
NNc =(buoy(i,j,k+1)-buoy(i,j,k))/dz NNc =(buoy(i,j,k+1)-buoy(i,j,k))/dz
#ifndef NEW_NN #ifndef NEW_NN
if (az(i+1,j) .eq. 1) then if (az(i+1,j) .ge. 1) then
dz=_HALF_*(hn(i+1,j,k+1)+hn(i+1,j,k)) dz=_HALF_*(hn(i+1,j,k+1)+hn(i+1,j,k))
NNe=(buoy(i+1,j,k+1)-buoy(i+1,j,k))/dz NNe=(buoy(i+1,j,k+1)-buoy(i+1,j,k))/dz
else else
NNe=NNc NNe=NNc
end if end if
if (az(i-1,j) .eq. 1) then if (az(i-1,j) .ge. 1) then
dz=_HALF_*(hn(i-1,j,k+1)+hn(i-1,j,k)) dz=_HALF_*(hn(i-1,j,k+1)+hn(i-1,j,k))
NNw=(buoy(i-1,j,k+1)-buoy(i-1,j,k))/dz NNw=(buoy(i-1,j,k+1)-buoy(i-1,j,k))/dz
else else
NNw=NNc NNw=NNc
end if end if
if (az(i,j+1) .eq. 1) then if (az(i,j+1) .ge. 1) then
dz=_HALF_*(hn(i,j+1,k+1)+hn(i,j+1,k)) dz=_HALF_*(hn(i,j+1,k+1)+hn(i,j+1,k))
NNn=(buoy(i,j+1,k+1)-buoy(i,j+1,k))/dz NNn=(buoy(i,j+1,k+1)-buoy(i,j+1,k))/dz
else else
NNn=NNc NNn=NNc
end if end if
if (az(i,j-1) .eq. 1) then if (az(i,j-1) .ge. 1) then
dz=_HALF_*(hn(i,j-1,k+1)+hn(i,j-1,k)) dz=_HALF_*(hn(i,j-1,k+1)+hn(i,j-1,k))
NNs=(buoy(i,j-1,k+1)-buoy(i,j-1,k))/dz NNs=(buoy(i,j-1,k+1)-buoy(i,j-1,k))/dz
else else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment