55 |
INTEGER i,j,k |
INTEGER i,j,k |
56 |
_RL uTrans(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL uTrans(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
57 |
_RL vTrans(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
_RL vTrans(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
58 |
|
_RL wSurf |
59 |
CEOP |
CEOP |
60 |
|
|
61 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
144 |
O wVel, |
O wVel, |
145 |
I myThid ) |
I myThid ) |
146 |
|
|
147 |
|
#ifdef NONLIN_FRSURF |
148 |
|
IF ( k.EQ.Nr .AND. myTime.NE. 0. _d 0 .AND. |
149 |
|
& useRealFreshWaterFlux .AND. |
150 |
|
& buoyancyRelation .EQ. 'OCEANICP' ) THEN |
151 |
|
|
152 |
|
IF ( myTime.NE.startTime ) THEN |
153 |
|
DO j=1,sNy |
154 |
|
DO i=1,sNx |
155 |
|
wVel(i,j,k,bi,bj) = wVel(i,j,k,bi,bj) |
156 |
|
& -convertEmP2rUnit*EmPmR(i,j,bi,bj)*maskC(i,j,k,bi,bj) |
157 |
|
ENDDO |
158 |
|
ENDDO |
159 |
|
ELSEIF (nonlinFreeSurf.GE.0) THEN |
160 |
|
C needs previous time-step value of E-P-R, that has not been loaded |
161 |
|
C and was not in pickup-file ; try to use etaN & etaH instead. |
162 |
|
DO j=1,sNy |
163 |
|
DO i=1,sNx |
164 |
|
wSurf = hDivFlow(i,j,bi,bj)*recip_rA(i,j,bi,bj) |
165 |
|
& + (etaN(i,j,bi,bj)-etaH(i,j,bi,bj)) |
166 |
|
& /(implicDiv2Dflow*deltaTfreesurf) |
167 |
|
wVel(i,j,k,bi,bj) = wVel(i,j,k,bi,bj) |
168 |
|
& + wSurf*maskC(i,j,k,bi,bj) |
169 |
|
ENDDO |
170 |
|
ENDDO |
171 |
|
ENDIF |
172 |
|
|
173 |
|
ENDIF |
174 |
|
#endif /* NONLIN_FRSURF */ |
175 |
|
|
176 |
#ifdef ALLOW_OBCS |
#ifdef ALLOW_OBCS |
177 |
#ifdef ALLOW_NONHYDROSTATIC |
#ifdef ALLOW_NONHYDROSTATIC |
178 |
C-- Apply OBC to W if in N-H mode |
C-- Apply OBC to W if in N-H mode |