/[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.4 by jmc, Sat Feb 8 02:10:57 2003 UTC revision 1.5 by jmc, Fri Apr 11 13:35:03 2003 UTC
# Line 226  C     Calculate velocity field "volume t Line 226  C     Calculate velocity field "volume t
226    
227        CALL MOM_VI_CALC_RELVORT3(bi,bj,k,uFld,vFld,hFacZ,vort3,myThid)        CALL MOM_VI_CALC_RELVORT3(bi,bj,k,uFld,vFld,hFacZ,vort3,myThid)
228    
229        CALL MOM_VI_CALC_ABSVORT3(bi,bj,k,vort3,omega3,myThid)  c     CALL MOM_VI_CALC_ABSVORT3(bi,bj,k,vort3,omega3,myThid)
230    
231        IF (momViscosity) THEN        IF (momViscosity) THEN
232  C      Calculate del^2 u and del^2 v for bi-harmonic term  C      Calculate del^2 u and del^2 v for bi-harmonic term
# Line 325  c       ENDDO Line 325  c       ENDDO
325  c      ENDDO  c      ENDDO
326  c     ENDIF  c     ENDIF
327    
 C--   Set du/dt on boundaries to zero  
       DO j=jMin,jMax  
        DO i=iMin,iMax  
         gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)*_maskW(i,j,k,bi,bj)  
        ENDDO  
       ENDDO  
   
328    
329  C---- Meridional momentum equation starts here  C---- Meridional momentum equation starts here
330    
# Line 398  c       ENDDO Line 391  c       ENDDO
391  c      ENDDO  c      ENDDO
392  c     ENDIF  c     ENDIF
393    
 C--   Set dv/dt on boundaries to zero  
       DO j=jMin,jMax  
        DO i=iMin,iMax  
         gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)  
        ENDDO  
       ENDDO  
   
394  C--   Horizontal Coriolis terms  C--   Horizontal Coriolis terms
395        CALL MOM_VI_CORIOLIS(bi,bj,K,uFld,vFld,omega3,r_hFacZ,        IF (useCoriolis) THEN
396       &                     uCf,vCf,myThid)         CALL MOM_VI_CORIOLIS(bi,bj,K,uFld,vFld,omega3,r_hFacZ,
397        DO j=jMin,jMax       &                      uCf,vCf,myThid)
398         DO i=iMin,iMax         DO j=jMin,jMax
399          gU(i,j,k,bi,bj) = (gU(i,j,k,bi,bj)+uCf(i,j))          DO i=iMin,iMax
400       &                    *_maskW(i,j,k,bi,bj)           gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+uCf(i,j)
401          gV(i,j,k,bi,bj) = (gV(i,j,k,bi,bj)+vCf(i,j))           gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+vCf(i,j)
402       &                    *_maskS(i,j,k,bi,bj)          ENDDO
403         ENDDO         ENDDO
404        ENDDO        ENDIF
405  c     CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,r_hFacZ,uCf,myThid)  
406        CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)        IF (momAdvection) THEN
407  c     CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)  C--   Horizontal advection of relative vorticity
408        DO j=jMin,jMax  c      CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,r_hFacZ,uCf,myThid)
409         DO i=iMin,iMax         CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)
410          gU(i,j,k,bi,bj) = (gU(i,j,k,bi,bj)+uCf(i,j))  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)
411       &                    *_maskW(i,j,k,bi,bj)         DO j=jMin,jMax
412            DO i=iMin,iMax
413             gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+uCf(i,j)
414            ENDDO
415         ENDDO         ENDDO
416        ENDDO  c      CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,r_hFacZ,vCf,myThid)
417  c     CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,r_hFacZ,vCf,myThid)         CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid)
418        CALL MOM_VI_V_CORIOLIS(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)
419  c     CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid)         DO j=jMin,jMax
420        DO j=jMin,jMax          DO i=iMin,iMax
421         DO i=iMin,iMax           gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+vCf(i,j)
422          gV(i,j,k,bi,bj) = (gV(i,j,k,bi,bj)+vCf(i,j))          ENDDO
      &                    *_maskS(i,j,k,bi,bj)  
423         ENDDO         ENDDO
       ENDDO  
424    
425        IF (momAdvection) THEN  C--   Vertical shear terms (-w*du/dr & -w*dv/dr)
426  C--   Vertical shear terms (Coriolis)         CALL MOM_VI_U_VERTSHEAR(bi,bj,K,uVel,wVel,uCf,myThid)
427        CALL MOM_VI_U_VERTSHEAR(bi,bj,K,uVel,wVel,uCf,myThid)         DO j=jMin,jMax
428        DO j=jMin,jMax          DO i=iMin,iMax
429         DO i=iMin,iMax           gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+uCf(i,j)
430          gU(i,j,k,bi,bj) = (gU(i,j,k,bi,bj)+uCf(i,j))          ENDDO
      &                    *_maskW(i,j,k,bi,bj)  
431         ENDDO         ENDDO
432        ENDDO         CALL MOM_VI_V_VERTSHEAR(bi,bj,K,vVel,wVel,vCf,myThid)
433        CALL MOM_VI_V_VERTSHEAR(bi,bj,K,vVel,wVel,vCf,myThid)         DO j=jMin,jMax
434        DO j=jMin,jMax          DO i=iMin,iMax
435         DO i=iMin,iMax           gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+vCf(i,j)
436          gV(i,j,k,bi,bj) = (gV(i,j,k,bi,bj)+vCf(i,j))          ENDDO
      &                    *_maskS(i,j,k,bi,bj)  
437         ENDDO         ENDDO
       ENDDO  
438    
439  C--   Bernoulli term  C--   Bernoulli term
440        CALL MOM_VI_U_GRAD_KE(bi,bj,K,KE,uCf,myThid)         CALL MOM_VI_U_GRAD_KE(bi,bj,K,KE,uCf,myThid)
441        DO j=jMin,jMax         DO j=jMin,jMax
442         DO i=iMin,iMax          DO i=iMin,iMax
443          gU(i,j,k,bi,bj) = (gU(i,j,k,bi,bj)+uCf(i,j))           gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+uCf(i,j)
444       &                    *_maskW(i,j,k,bi,bj)          ENDDO
445         ENDDO         ENDDO
446        ENDDO         CALL MOM_VI_V_GRAD_KE(bi,bj,K,KE,vCf,myThid)
447        CALL MOM_VI_V_GRAD_KE(bi,bj,K,KE,vCf,myThid)         DO j=jMin,jMax
448            DO i=iMin,iMax
449             gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+vCf(i,j)
450            ENDDO
451           ENDDO
452    C--   end if momAdvection
453          ENDIF
454    
455    C--   Set du/dt & dv/dt on boundaries to zero
456        DO j=jMin,jMax        DO j=jMin,jMax
457         DO i=iMin,iMax         DO i=iMin,iMax
458          gV(i,j,k,bi,bj) = (gV(i,j,k,bi,bj)+vCf(i,j))          gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)*_maskW(i,j,k,bi,bj)
459       &                    *_maskS(i,j,k,bi,bj)          gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)
460         ENDDO         ENDDO
461        ENDDO        ENDDO
462        ENDIF  
463    
464        IF (        IF (
465       &  DIFFERENT_MULTIPLE(diagFreq,myCurrentTime,       &  DIFFERENT_MULTIPLE(diagFreq,myCurrentTime,
# Line 480  C--   Bernoulli term Line 472  C--   Bernoulli term
472         CALL WRITE_LOCAL_RL('Du','I10',1,uDiss,bi,bj,k,myIter,myThid)         CALL WRITE_LOCAL_RL('Du','I10',1,uDiss,bi,bj,k,myIter,myThid)
473         CALL WRITE_LOCAL_RL('Dv','I10',1,vDiss,bi,bj,k,myIter,myThid)         CALL WRITE_LOCAL_RL('Dv','I10',1,vDiss,bi,bj,k,myIter,myThid)
474         CALL WRITE_LOCAL_RL('Z3','I10',1,vort3,bi,bj,k,myIter,myThid)         CALL WRITE_LOCAL_RL('Z3','I10',1,vort3,bi,bj,k,myIter,myThid)
475         CALL WRITE_LOCAL_RL('W3','I10',1,omega3,bi,bj,k,myIter,myThid)  c      CALL WRITE_LOCAL_RL('W3','I10',1,omega3,bi,bj,k,myIter,myThid)
476         CALL WRITE_LOCAL_RL('KE','I10',1,KE,bi,bj,k,myIter,myThid)         CALL WRITE_LOCAL_RL('KE','I10',1,KE,bi,bj,k,myIter,myThid)
477         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)
478        ENDIF        ENDIF

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22