59 |
c CHARACTER*(MAX_LEN_MBUF) msgBuf |
c CHARACTER*(MAX_LEN_MBUF) msgBuf |
60 |
_RL tmpFac, tmpSurf |
_RL tmpFac, tmpSurf |
61 |
_RL wFacKm, wFacKp |
_RL wFacKm, wFacKp |
62 |
_RL uf(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL uf(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
63 |
_RL vf(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL vf(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
64 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
65 |
_RL tmpVar(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL tmpVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
66 |
#endif |
#endif |
67 |
CEOP |
CEOP |
68 |
|
|
76 |
C-- Add EmPmR contribution to top level cg3d_b: |
C-- Add EmPmR contribution to top level cg3d_b: |
77 |
C (has been done for cg2d_b ; and addMass was added by CALC_DIV_GHAT) |
C (has been done for cg2d_b ; and addMass was added by CALC_DIV_GHAT) |
78 |
IF ( useRealFreshWaterFlux.AND.fluidIsWater ) THEN |
IF ( useRealFreshWaterFlux.AND.fluidIsWater ) THEN |
79 |
tmpFac = freeSurfFac*mass2rUnit |
tmpFac = freeSurfFac*mass2rUnit*implicDiv2DFlow |
|
IF (exactConserv) |
|
|
& tmpFac = freeSurfFac*mass2rUnit*implicDiv2DFlow |
|
80 |
ks = 1 |
ks = 1 |
81 |
IF ( usingPCoords ) ks = Nr |
IF ( usingPCoords ) ks = Nr |
82 |
DO j=1,sNy |
DO j=1,sNy |
83 |
DO i=1,sNx |
DO i=1,sNx |
84 |
cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj) |
cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj) |
85 |
& + tmpFac*_rA(i,j,bi,bj)*EmPmR(i,j,bi,bj)/deltaTMom |
& + tmpFac*_rA(i,j,bi,bj)*EmPmR(i,j,bi,bj)/deltaTMom |
86 |
|
& *maskInC(i,j,bi,bj) |
87 |
ENDDO |
ENDDO |
88 |
ENDDO |
ENDDO |
89 |
ENDIF |
ENDIF |
106 |
ELSE |
ELSE |
107 |
tmpSurf = etaN(i,j,bi,bj)-etaH(i,j,bi,bj) |
tmpSurf = etaN(i,j,bi,bj)-etaH(i,j,bi,bj) |
108 |
ENDIF |
ENDIF |
109 |
ks = ksurfC(i,j,bi,bj) |
ks = kSurfC(i,j,bi,bj) |
110 |
IF ( ks.LE.Nr ) THEN |
IF ( ks.LE.Nr ) THEN |
111 |
cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj) |
cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj) |
112 |
& +freeSurfFac*tmpSurf |
& +freeSurfFac*tmpSurf |
121 |
tmpFac = 0. |
tmpFac = 0. |
122 |
DO j=1,sNy |
DO j=1,sNy |
123 |
DO i=1,sNx |
DO i=1,sNx |
124 |
ks = ksurfC(i,j,bi,bj) |
ks = kSurfC(i,j,bi,bj) |
125 |
tmpVar(i,j) = freeSurfFac |
tmpVar(i,j) = freeSurfFac |
126 |
& *( etaN(i,j,bi,bj) - etaH(i,j,bi,bj) ) |
& *( etaN(i,j,bi,bj) - etaH(i,j,bi,bj) ) |
127 |
& *_rA(i,j,bi,bj)*deepFac2F(ks) |
& *_rA(i,j,bi,bj)*deepFac2F(ks) |
146 |
tmpFac = 0. |
tmpFac = 0. |
147 |
DO j=1,sNy |
DO j=1,sNy |
148 |
DO i=1,sNx |
DO i=1,sNx |
149 |
ks = ksurfC(i,j,bi,bj) |
ks = kSurfC(i,j,bi,bj) |
150 |
IF ( ks.LE.Nr ) THEN |
IF ( ks.LE.Nr ) THEN |
151 |
cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj) |
cg3d_b(i,j,ks,bi,bj) = cg3d_b(i,j,ks,bi,bj) |
152 |
& +freeSurfFac*etaN(i,j,bi,bj)/deltaTfreesurf |
& +freeSurfFac*etaN(i,j,bi,bj)/deltaTfreesurf |