35 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
36 |
#include "PARAMS.h" |
#include "PARAMS.h" |
37 |
#include "GRID.h" |
#include "GRID.h" |
38 |
|
#include "SURFACE.h" |
39 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
40 |
#ifdef ALLOW_MOM_COMMON |
#ifdef ALLOW_MOM_COMMON |
41 |
# include "MOM_VISC.h" |
# include "MOM_VISC.h" |
93 |
_RL uCf(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL uCf(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
94 |
_RL vCf(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL vCf(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
95 |
_RS hFacZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS hFacZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
96 |
|
_RS h0FacZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
97 |
_RS r_hFacZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS r_hFacZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
98 |
_RL uFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL uFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
99 |
_RL vFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL vFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
252 |
C-- For viscous term, compute horizontal divergence, tension & strain |
C-- For viscous term, compute horizontal divergence, tension & strain |
253 |
C and mask relative vorticity (free-slip case): |
C and mask relative vorticity (free-slip case): |
254 |
|
|
255 |
|
DO j=1-OLy,sNy+OLy |
256 |
|
DO i=1-OLx,sNx+OLx |
257 |
|
h0FacZ(i,j) = hFacZ(i,j) |
258 |
|
ENDDO |
259 |
|
ENDDO |
260 |
|
#ifdef NONLIN_FRSURF |
261 |
|
IF ( no_slip_sides .AND. nonlinFreeSurf.GT.0 ) THEN |
262 |
|
DO j=2-OLy,sNy+OLy |
263 |
|
DO i=2-OLx,sNx+OLx |
264 |
|
h0FacZ(i,j) = MIN( |
265 |
|
& MIN( h0FacW(i,j,k,bi,bj), h0FacW(i,j-1,k,bi,bj) ), |
266 |
|
& MIN( h0FacS(i,j,k,bi,bj), h0FacS(i-1,j,k,bi,bj) ) ) |
267 |
|
ENDDO |
268 |
|
ENDDO |
269 |
|
ENDIF |
270 |
|
#endif /* NONLIN_FRSURF */ |
271 |
|
|
272 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
273 |
CADJ STORE vort3(:,:) = |
CADJ STORE vort3(:,:) = |
274 |
CADJ & comlev1_bibj_k, key = imomkey, byte = isbyte |
CADJ & comlev1_bibj_k, key = imomkey, byte = isbyte |
397 |
IF ( no_slip_sides ) THEN |
IF ( no_slip_sides ) THEN |
398 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
399 |
CALL MOM_U_SIDEDRAG( bi, bj, k, |
CALL MOM_U_SIDEDRAG( bi, bj, k, |
400 |
I uFld, del2u, hFacZ, |
I uFld, del2u, h0FacZ, |
401 |
I viscAh_Z, viscA4_Z, |
I viscAh_Z, viscA4_Z, |
402 |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
403 |
O vF, |
O vF, |
456 |
IF ( no_slip_sides ) THEN |
IF ( no_slip_sides ) THEN |
457 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
458 |
CALL MOM_V_SIDEDRAG( bi, bj, k, |
CALL MOM_V_SIDEDRAG( bi, bj, k, |
459 |
I vFld, del2v, hFacZ, |
I vFld, del2v, h0FacZ, |
460 |
I viscAh_Z, viscA4_Z, |
I viscAh_Z, viscA4_Z, |
461 |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
462 |
O vF, |
O vF, |