| 26 |
CEOI |
CEOI |
| 27 |
|
|
| 28 |
#include "MOM_FLUXFORM_OPTIONS.h" |
#include "MOM_FLUXFORM_OPTIONS.h" |
| 29 |
|
#ifdef ALLOW_MOM_COMMON |
| 30 |
|
# include "MOM_COMMON_OPTIONS.h" |
| 31 |
|
#endif |
| 32 |
|
|
| 33 |
CBOP |
CBOP |
| 34 |
C !ROUTINE: MOM_FLUXFORM |
C !ROUTINE: MOM_FLUXFORM |
| 50 |
C == Global variables == |
C == Global variables == |
| 51 |
IMPLICIT NONE |
IMPLICIT NONE |
| 52 |
#include "SIZE.h" |
#include "SIZE.h" |
|
#include "DYNVARS.h" |
|
|
#include "FFIELDS.h" |
|
| 53 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
| 54 |
#include "PARAMS.h" |
#include "PARAMS.h" |
| 55 |
#include "GRID.h" |
#include "GRID.h" |
| 56 |
|
#include "DYNVARS.h" |
| 57 |
|
#include "FFIELDS.h" |
| 58 |
#include "SURFACE.h" |
#include "SURFACE.h" |
| 59 |
|
#ifdef ALLOW_MOM_COMMON |
| 60 |
|
# include "MOM_VISC.h" |
| 61 |
|
#endif |
| 62 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
| 63 |
# include "tamc.h" |
# include "tamc.h" |
| 64 |
# include "tamc_keys.h" |
# include "tamc_keys.h" |
| 165 |
_RL mtFacV |
_RL mtFacV |
| 166 |
_RL mtNHFacV |
_RL mtNHFacV |
| 167 |
_RL sideMaskFac |
_RL sideMaskFac |
| 168 |
LOGICAL bottomDragTerms,harmonic,biharmonic,useVariableViscosity |
LOGICAL bottomDragTerms |
| 169 |
CEOP |
CEOP |
| 170 |
#ifdef MOM_BOUNDARY_CONSERVE |
#ifdef MOM_BOUNDARY_CONSERVE |
| 171 |
COMMON / MOM_FLUXFORM_LOCAL / uBnd, vBnd |
COMMON / MOM_FLUXFORM_LOCAL / uBnd, vBnd |
| 369 |
#endif /* MOM_BOUNDARY_CONSERVE */ |
#endif /* MOM_BOUNDARY_CONSERVE */ |
| 370 |
|
|
| 371 |
IF (momViscosity) THEN |
IF (momViscosity) THEN |
| 372 |
CALL MOM_CALC_VISC( |
CALL MOM_CALC_VISC( bi, bj, k, |
| 373 |
I bi,bj,k, |
O viscAh_Z, viscAh_D, viscA4_Z, viscA4_D, |
| 374 |
O viscAh_Z,viscAh_D,viscA4_Z,viscA4_D, |
I hDiv, vort3, tension, strain, KE, hFacZ, |
| 375 |
O harmonic,biharmonic,useVariableViscosity, |
I myThid ) |
|
I hDiv,vort3,tension,strain,KE,hFacZ, |
|
|
I myThid) |
|
| 376 |
ENDIF |
ENDIF |
| 377 |
|
|
| 378 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
| 484 |
C--- Calculate eddy fluxes (dissipation) between cells for zonal flow. |
C--- Calculate eddy fluxes (dissipation) between cells for zonal flow. |
| 485 |
|
|
| 486 |
C Bi-harmonic term del^2 U -> v4F |
C Bi-harmonic term del^2 U -> v4F |
| 487 |
IF (biharmonic) |
IF ( useBiharmonicVisc ) |
| 488 |
& CALL MOM_U_DEL2U(bi,bj,k,uFld,hFacZ,v4f,myThid) |
& CALL MOM_U_DEL2U(bi,bj,k,uFld,hFacZ,v4f,myThid) |
| 489 |
|
|
| 490 |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
| 533 |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
| 534 |
IF (no_slip_sides) THEN |
IF (no_slip_sides) THEN |
| 535 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
| 536 |
CALL MOM_U_SIDEDRAG( |
CALL MOM_U_SIDEDRAG( bi, bj, k, |
|
I bi,bj,k, |
|
| 537 |
I uFld, v4f, hFacZ, |
I uFld, v4f, hFacZ, |
| 538 |
I viscAh_Z,viscA4_Z, |
I viscAh_Z, viscA4_Z, |
| 539 |
I harmonic,biharmonic,useVariableViscosity, |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
| 540 |
O vF, |
O vF, |
| 541 |
I myThid) |
I myThid ) |
| 542 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 543 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 544 |
gUdiss(i,j) = gUdiss(i,j) + vF(i,j) |
gUdiss(i,j) = gUdiss(i,j) + vF(i,j) |
| 709 |
IF (momViscosity) THEN |
IF (momViscosity) THEN |
| 710 |
C--- Calculate eddy fluxes (dissipation) between cells for meridional flow. |
C--- Calculate eddy fluxes (dissipation) between cells for meridional flow. |
| 711 |
C Bi-harmonic term del^2 V -> v4F |
C Bi-harmonic term del^2 V -> v4F |
| 712 |
IF (biharmonic) |
IF ( useBiharmonicVisc ) |
| 713 |
& CALL MOM_V_DEL2V(bi,bj,k,vFld,hFacZ,v4f,myThid) |
& CALL MOM_V_DEL2V(bi,bj,k,vFld,hFacZ,v4f,myThid) |
| 714 |
|
|
| 715 |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
| 758 |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
| 759 |
IF (no_slip_sides) THEN |
IF (no_slip_sides) THEN |
| 760 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
| 761 |
CALL MOM_V_SIDEDRAG( |
CALL MOM_V_SIDEDRAG( bi, bj, k, |
|
I bi,bj,k, |
|
| 762 |
I vFld, v4f, hFacZ, |
I vFld, v4f, hFacZ, |
| 763 |
I viscAh_Z,viscA4_Z, |
I viscAh_Z,viscA4_Z, |
| 764 |
I harmonic,biharmonic,useVariableViscosity, |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
| 765 |
O vF, |
O vF, |
| 766 |
I myThid) |
I myThid ) |
| 767 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 768 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 769 |
gvDiss(i,j) = gvDiss(i,j) + vF(i,j) |
gvDiss(i,j) = gvDiss(i,j) + vF(i,j) |