/[MITgcm]/MITgcm/pkg/mom_fluxform/mom_fluxform.F
ViewVC logotype

Diff of /MITgcm/pkg/mom_fluxform/mom_fluxform.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.24 by jmc, Sun Sep 4 19:29:03 2005 UTC revision 1.28 by baylor, Tue Sep 27 13:38:21 2005 UTC
# Line 121  C     uDudxFac, AhDudxFac, etc ... indiv Line 121  C     uDudxFac, AhDudxFac, etc ... indiv
121        _RL  rTransU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  rTransU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
122        _RL  rTransV(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  rTransV(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
123        _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
124  c     _RL viscAh_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL viscAh_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
125  c     _RL viscAh_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL viscAh_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
126  c     _RL viscA4_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL viscA4_D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
127  c     _RL viscA4_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL viscA4_Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
128  c     _RL vort3(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL vort3(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
129  c     _RL hDiv(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL hDiv(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
130        _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
131        _RL tension(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL tension(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
132        _RL  uDudxFac        _RL  uDudxFac
# Line 145  c     _RL hDiv(1-OLx:sNx+OLx,1-OLy:sNy+O Line 145  c     _RL hDiv(1-OLx:sNx+OLx,1-OLy:sNy+O
145        _RL  ArDvdrFac        _RL  ArDvdrFac
146        _RL  fvFac        _RL  fvFac
147        _RL  mtFacV        _RL  mtFacV
148        LOGICAL bottomDragTerms        LOGICAL bottomDragTerms,harmonic,biharmonic,useVariableViscosity
149  CEOP  CEOP
150    
151  C     Initialise intermediate terms  C     Initialise intermediate terms
# Line 231  C     Calculate velocity field "volume t Line 231  C     Calculate velocity field "volume t
231         ENDDO         ENDDO
232        ENDDO        ENDDO
233    
234        IF (bottomDragTerms) THEN        CALL MOM_CALC_KE(bi,bj,k,2,uFld,vFld,KE,myThid)
235          CALL MOM_CALC_KE(bi,bj,k,3,uFld,vFld,KE,myThid)        CALL MOM_CALC_HDIV(bi,bj,k,2,uFld,vFld,hDiv,myThid)
236        ENDIF        CALL MOM_CALC_RELVORT3(bi,bj,k,uFld,vFld,hFacZ,vort3,myThid)
237          CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,tension,myThid)
238        IF (viscAstrain.NE.0. .OR. viscAtension.NE.0.) THEN        CALL MOM_CALC_STRAIN(bi,bj,k,uFld,vFld,hFacZ,strain,myThid)
          CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,  
      O                         tension,  
      I                         myThid)  
          CALL MOM_CALC_STRAIN(bi,bj,k,uFld,vFld,hFacZ,  
      O                        strain,  
      I                        myThid)  
       ENDIF  
239    
240  C---  First call (k=1): compute vertical adv. flux fVerU(kUp) & fVerV(kUp)  C---  First call (k=1): compute vertical adv. flux fVerU(kUp) & fVerV(kUp)
241        IF (momAdvection.AND.k.EQ.1) THEN        IF (momAdvection.AND.k.EQ.1) THEN
# Line 270  C---  Calculate vertical transports (at Line 263  C---  Calculate vertical transports (at
263       I                        myTime, myIter, myThid)       I                        myTime, myIter, myThid)
264        ENDIF        ENDIF
265    
266  c     IF (momViscosity) THEN        IF (momViscosity) THEN
267  c    &  CALL MOM_CALC_VISCOSITY(bi,bj,k,         CALL MOM_CALC_VISC(
268  c    I                         uFld,vFld,       I        bi,bj,k,
269  c    O                         viscAh_D,viscAh_Z,myThid)       O        viscAh_Z,viscAh_D,viscA4_Z,viscA4_D,
270         O        harmonic,biharmonic,useVariableViscosity,
271         I        hDiv,vort3,tension,strain,KE,hFacZ,
272         I        myThid)
273          ENDIF
274    
275  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
276    
# Line 359  C-    endif momAdvection. Line 356  C-    endif momAdvection.
356  C---  Calculate eddy fluxes (dissipation) between cells for zonal flow.  C---  Calculate eddy fluxes (dissipation) between cells for zonal flow.
357    
358  C     Bi-harmonic term del^2 U -> v4F  C     Bi-harmonic term del^2 U -> v4F
359          IF ( viscA4.NE.0. )          IF (biharmonic)
360       &  CALL MOM_U_DEL2U(bi,bj,k,uFld,hFacZ,v4f,myThid)       &  CALL MOM_U_DEL2U(bi,bj,k,uFld,hFacZ,v4f,myThid)
361    
362  C     Laplacian and bi-harmonic terms, Zonal  Fluxes -> fZon  C     Laplacian and bi-harmonic terms, Zonal  Fluxes -> fZon
363          CALL MOM_U_XVISCFLUX(bi,bj,k,uFld,v4F,fZon,myThid)          CALL MOM_U_XVISCFLUX(bi,bj,k,uFld,v4F,fZon,
364         I    viscAh_D,viscA4_D,myThid)
365    
366  C     Laplacian and bi-harmonic termis, Merid Fluxes -> fMer  C     Laplacian and bi-harmonic termis, Merid Fluxes -> fMer
367          CALL MOM_U_YVISCFLUX(bi,bj,k,uFld,v4F,hFacZ,fMer,myThid)          CALL MOM_U_YVISCFLUX(bi,bj,k,uFld,v4F,hFacZ,fMer,
368         I    viscAh_Z,viscA4_Z,myThid)
369    
370  C     Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw  C     Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw
371         IF (.NOT.implicitViscosity) THEN         IF (.NOT.implicitViscosity) THEN
# Line 404  C--   Tendency is minus divergence of th Line 403  C--   Tendency is minus divergence of th
403  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
404          IF (no_slip_sides) THEN          IF (no_slip_sides) THEN
405  C-     No-slip BCs impose a drag at walls...  C-     No-slip BCs impose a drag at walls...
406           CALL MOM_U_SIDEDRAG(bi,bj,k,uFld,v4F,hFacZ,vF,myThid)           CALL MOM_U_SIDEDRAG(
407         I        bi,bj,k,
408         I        uFld, v4f, hFacZ,
409         I        viscAh_Z,viscA4_Z,
410         I        harmonic,biharmonic,useVariableViscosity,
411         O        vF,
412         I        myThid)
413           DO j=jMin,jMax           DO j=jMin,jMax
414            DO i=iMin,iMax            DO i=iMin,iMax
415             gUdiss(i,j) = gUdiss(i,j) + vF(i,j)             gUdiss(i,j) = gUdiss(i,j) + vF(i,j)
# Line 538  C-    endif momAdvection. Line 543  C-    endif momAdvection.
543        IF (momViscosity) THEN        IF (momViscosity) THEN
544  C---  Calculate eddy fluxes (dissipation) between cells for meridional flow.  C---  Calculate eddy fluxes (dissipation) between cells for meridional flow.
545  C     Bi-harmonic term del^2 V -> v4F  C     Bi-harmonic term del^2 V -> v4F
546          IF ( viscA4.NE.0. )          IF (biharmonic)
547       &  CALL MOM_V_DEL2V(bi,bj,k,vFld,hFacZ,v4f,myThid)       &  CALL MOM_V_DEL2V(bi,bj,k,vFld,hFacZ,v4f,myThid)
548    
549  C     Laplacian and bi-harmonic terms, Zonal  Fluxes -> fZon  C     Laplacian and bi-harmonic terms, Zonal  Fluxes -> fZon
550          CALL MOM_V_XVISCFLUX(bi,bj,k,vFld,v4f,hFacZ,fZon,myThid)          CALL MOM_V_XVISCFLUX(bi,bj,k,vFld,v4f,hFacZ,fZon,
551         I    viscAh_Z,viscA4_Z,myThid)
552    
553  C     Laplacian and bi-harmonic termis, Merid Fluxes -> fMer  C     Laplacian and bi-harmonic termis, Merid Fluxes -> fMer
554          CALL MOM_V_YVISCFLUX(bi,bj,k,vFld,v4f,fMer,myThid)          CALL MOM_V_YVISCFLUX(bi,bj,k,vFld,v4f,fMer,
555         I    viscAh_D,viscA4_D,myThid)
556    
557  C     Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw  C     Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw
558         IF (.NOT.implicitViscosity) THEN         IF (.NOT.implicitViscosity) THEN
# Line 583  C--   Tendency is minus divergence of th Line 590  C--   Tendency is minus divergence of th
590  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
591        IF (no_slip_sides) THEN        IF (no_slip_sides) THEN
592  C-     No-slip BCs impose a drag at walls...  C-     No-slip BCs impose a drag at walls...
593           CALL MOM_V_SIDEDRAG(bi,bj,k,vFld,v4F,hFacZ,vF,myThid)           CALL MOM_V_SIDEDRAG(
594         I        bi,bj,k,
595         I        vFld, v4f, hFacZ,
596         I        viscAh_Z,viscA4_Z,
597         I        harmonic,biharmonic,useVariableViscosity,
598         O        vF,
599         I        myThid)
600           DO j=jMin,jMax           DO j=jMin,jMax
601            DO i=iMin,iMax            DO i=iMin,iMax
602             gvDiss(i,j) = gvDiss(i,j) + vF(i,j)             gvDiss(i,j) = gvDiss(i,j) + vF(i,j)
# Line 687  C--   Set du/dt & dv/dt on boundaries to Line 700  C--   Set du/dt & dv/dt on boundaries to
700    
701  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
702        IF ( useDiagnostics ) THEN        IF ( useDiagnostics ) THEN
703         IF (bottomDragTerms)          CALL DIAGNOSTICS_FILL(KE,    'momKE   ',k,1,2,bi,bj,myThid)
704       &  CALL DIAGNOSTICS_FILL(KE,    'momKE   ',k,1,2,bi,bj,myThid)          CALL DIAGNOSTICS_FILL(hDiv,  'momHDiv ',k,1,2,bi,bj,myThid)
705            CALL DIAGNOSTICS_FILL(vort3, 'momVort3',k,1,2,bi,bj,myThid)
706            CALL DIAGNOSTICS_FILL(strain,'Strain  ',k,1,2,bi,bj,myThid)
707            CALL DIAGNOSTICS_FILL(tension,'Tension ',k,1,2,bi,bj,myThid)
708          CALL DIAGNOSTICS_FILL(gU(1-Olx,1-Oly,k,bi,bj),          CALL DIAGNOSTICS_FILL(gU(1-Olx,1-Oly,k,bi,bj),
709       &                               'Um_Advec',k,1,2,bi,bj,myThid)       &                               'Um_Advec',k,1,2,bi,bj,myThid)
710          CALL DIAGNOSTICS_FILL(gV(1-Olx,1-Oly,k,bi,bj),          CALL DIAGNOSTICS_FILL(gV(1-Olx,1-Oly,k,bi,bj),

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22