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

Diff of /MITgcm/pkg/mom_vecinv/mom_vecinv.F

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

revision 1.6 by jmc, Thu Apr 17 13:42:53 2003 UTC revision 1.7 by jmc, Sun Aug 3 02:49:35 2003 UTC
# Line 31  C     == Global variables == Line 31  C     == Global variables ==
31  #include "EEPARAMS.h"  #include "EEPARAMS.h"
32  #include "PARAMS.h"  #include "PARAMS.h"
33  #include "GRID.h"  #include "GRID.h"
34    #ifdef ALLOW_TIMEAVE
35    #include "TIMEAVE_STATV.h"
36    #endif
37    
38  C     == Routine arguments ==  C     == Routine arguments ==
39  C     fVerU   - Flux of momentum in the vertical  C     fVerU   - Flux of momentum in the vertical
# Line 53  C     myThid - Instance number for this Line 56  C     myThid - Instance number for this
56        INTEGER myThid        INTEGER myThid
57        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
58    
59    #ifndef DISABLE_MOM_VECINV
60    
61  C     == Functions ==  C     == Functions ==
62        LOGICAL  DIFFERENT_MULTIPLE        LOGICAL  DIFFERENT_MULTIPLE
63        EXTERNAL DIFFERENT_MULTIPLE        EXTERNAL DIFFERENT_MULTIPLE
# Line 220  C     Calculate velocity field "volume t Line 225  C     Calculate velocity field "volume t
225         ENDDO         ENDDO
226        ENDDO        ENDDO
227    
228    C note (jmc) : Dissipation and Vort3 advection do not necesary
229    C              use the same maskZ (and hFacZ)  => needs 2 call(s)
230    c     CALL MOM_VI_HFACZ_DISS(bi,bj,k,hFacZ,r_hFacZ,myThid)
231    
232        CALL MOM_VI_CALC_KE(bi,bj,k,uFld,vFld,KE,myThid)        CALL MOM_VI_CALC_KE(bi,bj,k,uFld,vFld,KE,myThid)
233    
234        CALL MOM_VI_CALC_HDIV(bi,bj,k,uFld,vFld,hDiv,myThid)        CALL MOM_VI_CALC_HDIV(bi,bj,k,uFld,vFld,hDiv,myThid)
# Line 260  C      or in terms of tension and strain Line 269  C      or in terms of tension and strain
269         ENDIF         ENDIF
270        ENDIF        ENDIF
271    
272    C-    Return to standard hfacZ (min-4) and mask vort3 accordingly:
273    c     CALL MOM_VI_MASK_VORT3(bi,bj,k,hFacZ,r_hFacZ,vort3,myThid)
274    
275  C---- Zonal momentum equation starts here  C---- Zonal momentum equation starts here
276    
277  C--   Vertical flux (fVer is at upper face of "u" cell)  C--   Vertical flux (fVer is at upper face of "u" cell)
# Line 308  C-    No-slip BCs impose a drag at botto Line 320  C-    No-slip BCs impose a drag at botto
320         ENDDO         ENDDO
321        ENDIF        ENDIF
322    
 C--   Forcing term (moved to timestep.F)  
 c     IF (momForcing)  
 c    &  CALL EXTERNAL_FORCING_U(  
 c    I     iMin,iMax,jMin,jMax,bi,bj,k,  
 c    I     myCurrentTime,myThid)  
   
323  C--   Metric terms for curvilinear grid systems  C--   Metric terms for curvilinear grid systems
324  c     IF (usingSphericalPolarMTerms) THEN  c     IF (usingSphericalPolarMTerms) THEN
325  C      o Spherical polar grid metric terms  C      o Spherical polar grid metric terms
# Line 325  c       ENDDO Line 331  c       ENDDO
331  c      ENDDO  c      ENDDO
332  c     ENDIF  c     ENDIF
333    
   
334  C---- Meridional momentum equation starts here  C---- Meridional momentum equation starts here
335    
336  C--   Vertical flux (fVer is at upper face of "v" cell)  C--   Vertical flux (fVer is at upper face of "v" cell)
# Line 374  C-    No-slip BCs impose a drag at botto Line 379  C-    No-slip BCs impose a drag at botto
379         ENDDO         ENDDO
380        ENDIF        ENDIF
381    
 C--   Forcing term (moved to timestep.F)  
 c     IF (momForcing)  
 c    & CALL EXTERNAL_FORCING_V(  
 c    I     iMin,iMax,jMin,jMax,bi,bj,k,  
 c    I     myCurrentTime,myThid)  
   
382  C--   Metric terms for curvilinear grid systems  C--   Metric terms for curvilinear grid systems
383  c     IF (usingSphericalPolarMTerms) THEN  c     IF (usingSphericalPolarMTerms) THEN
384  C      o Spherical polar grid metric terms  C      o Spherical polar grid metric terms
# Line 393  c     ENDIF Line 392  c     ENDIF
392    
393  C--   Horizontal Coriolis terms  C--   Horizontal Coriolis terms
394        IF (useCoriolis .AND. .NOT.useCDscheme) THEN        IF (useCoriolis .AND. .NOT.useCDscheme) THEN
395         CALL MOM_VI_CORIOLIS(bi,bj,K,uFld,vFld,omega3,r_hFacZ,         CALL MOM_VI_CORIOLIS(bi,bj,k,uFld,vFld,omega3,hFacZ,r_hFacZ,
396       &                      uCf,vCf,myThid)       &                      uCf,vCf,myThid)
397         DO j=jMin,jMax         DO j=jMin,jMax
398          DO i=iMin,iMax          DO i=iMin,iMax
# Line 406  C--   Horizontal Coriolis terms Line 405  C--   Horizontal Coriolis terms
405        IF (momAdvection) THEN        IF (momAdvection) THEN
406  C--   Horizontal advection of relative vorticity  C--   Horizontal advection of relative vorticity
407  c      CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,r_hFacZ,uCf,myThid)  c      CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,r_hFacZ,uCf,myThid)
408         CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)         CALL MOM_VI_U_CORIOLIS(bi,bj,k,vFld,vort3,hFacZ,r_hFacZ,
409         &                        uCf,myThid)
410  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)
411         DO j=jMin,jMax         DO j=jMin,jMax
412          DO i=iMin,iMax          DO i=iMin,iMax
# Line 414  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K Line 414  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K
414          ENDDO          ENDDO
415         ENDDO         ENDDO
416  c      CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,r_hFacZ,vCf,myThid)  c      CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,r_hFacZ,vCf,myThid)
417         CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid)         CALL MOM_VI_V_CORIOLIS(bi,bj,k,uFld,vort3,hFacZ,r_hFacZ,
418         &                        vCf,myThid)
419  c      CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid)  c      CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid)
420         DO j=jMin,jMax         DO j=jMin,jMax
421          DO i=iMin,iMax          DO i=iMin,iMax
# Line 422  c      CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K Line 423  c      CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K
423          ENDDO          ENDDO
424         ENDDO         ENDDO
425    
426    #ifdef ALLOW_TIMEAVE
427           IF (taveFreq.GT.0.) THEN
428             CALL TIMEAVE_CUMUL_1K1T(uZetatave,vCf,deltaTClock,
429         &                           Nr, k, bi, bj, myThid)
430             CALL TIMEAVE_CUMUL_1K1T(vZetatave,uCf,deltaTClock,
431         &                           Nr, k, bi, bj, myThid)
432           ENDIF
433    #endif
434    
435  C--   Vertical shear terms (-w*du/dr & -w*dv/dr)  C--   Vertical shear terms (-w*du/dr & -w*dv/dr)
436         CALL MOM_VI_U_VERTSHEAR(bi,bj,K,uVel,wVel,uCf,myThid)         CALL MOM_VI_U_VERTSHEAR(bi,bj,K,uVel,wVel,uCf,myThid)
437         DO j=jMin,jMax         DO j=jMin,jMax
# Line 477  c      CALL WRITE_LOCAL_RL('W3','I10',1, Line 487  c      CALL WRITE_LOCAL_RL('W3','I10',1,
487         CALL WRITE_LOCAL_RL('D','I10',1,hdiv,bi,bj,k,myIter,myThid)         CALL WRITE_LOCAL_RL('D','I10',1,hdiv,bi,bj,k,myIter,myThid)
488        ENDIF        ENDIF
489    
490    #endif /* DISABLE_MOM_VECINV */
491    
492        RETURN        RETURN
493        END        END

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22