/[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.32 by dimitri, Sat Dec 4 05:59:50 2004 UTC revision 1.40 by jmc, Thu Jun 9 15:57:45 2005 UTC
# Line 114  C--   (at least in part) Line 114  C--   (at least in part)
114        fVerV(1,1,kUp) = fVerV(1,1,kUp)        fVerV(1,1,kUp) = fVerV(1,1,kUp)
115  #endif  #endif
116    
117        writeDiag = DIFFERENT_MULTIPLE(diagFreq, myTime,        writeDiag = DIFFERENT_MULTIPLE(diagFreq, myTime, deltaTClock)
      &                                         myTime-deltaTClock)  
118    
119  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
120        IF (useMNC .AND. snapshot_mnc .AND. writeDiag) THEN        IF (useMNC .AND. snapshot_mnc .AND. writeDiag) THEN
121          IF ((bi .EQ. 1).AND.(bj .EQ. 1).AND.(k .EQ. 1)) THEN          IF ((bi .EQ. 1).AND.(bj .EQ. 1).AND.(k .EQ. 1)) THEN
122            CALL MNC_CW_SET_UDIM('mom_vi', -1, myThid)            CALL MNC_CW_SET_UDIM('mom_vi', -1, myThid)
123            CALL MNC_CW_I_W_S('I','mom_vi',0,0,'iter',myIter,myThid)            CALL MNC_CW_RL_W_S('D','mom_vi',0,0,'T',myTime,myThid)
124            CALL MNC_CW_SET_UDIM('mom_vi', 0, myThid)            CALL MNC_CW_SET_UDIM('mom_vi', 0, myThid)
125              CALL MNC_CW_I_W_S('I','mom_vi',0,0,'iter',myIter,myThid)
126          ENDIF          ENDIF
127          DO i = 1,9          DO i = 1,9
128            offsets(i) = 0            offsets(i) = 0
# Line 210  C      Calculate del^2 u and del^2 v for Line 210  C      Calculate del^2 u and del^2 v for
210       &     .OR. viscA4D.NE.0. .OR. viscA4Z.NE.0.       &     .OR. viscA4D.NE.0. .OR. viscA4Z.NE.0.
211       &     .OR. viscA4Grid.NE.0.       &     .OR. viscA4Grid.NE.0.
212       &     .OR. viscC4leith.NE.0.       &     .OR. viscC4leith.NE.0.
213         &     .OR. viscC4leithD.NE.0.
214       &    ) THEN       &    ) THEN
215           CALL MOM_VI_DEL2UV(bi,bj,k,hDiv,vort3,hFacZ,           CALL MOM_VI_DEL2UV(bi,bj,k,hDiv,vort3,hFacZ,
216       O                      del2u,del2v,       O                      del2u,del2v,
# Line 224  C      in terms of vorticity and diverge Line 225  C      in terms of vorticity and diverge
225       &    .OR. viscA4D.NE.0. .OR. viscA4Z.NE.0.       &    .OR. viscA4D.NE.0. .OR. viscA4Z.NE.0.
226       &    .OR. viscAhGrid.NE.0. .OR. viscA4Grid.NE.0.       &    .OR. viscAhGrid.NE.0. .OR. viscA4Grid.NE.0.
227       &    .OR. viscC2leith.NE.0. .OR. viscC4leith.NE.0.       &    .OR. viscC2leith.NE.0. .OR. viscC4leith.NE.0.
228         &    .OR. viscC2leithD.NE.0. .OR. viscC4leithD.NE.0.
229       &    ) THEN       &    ) THEN
230           CALL MOM_VI_HDISSIP(bi,bj,k,hDiv,vort3,hFacZ,dStar,zStar,           CALL MOM_VI_HDISSIP(bi,bj,k,hDiv,vort3,hFacZ,dStar,zStar,
231       O                       guDiss,gvDiss,       O                       guDiss,gvDiss,
232       &                       myThid)       &                       myThid)
233         ENDIF         ENDIF
234  C      or in terms of tension and strain  C      or in terms of tension and strain
235         IF (viscAstrain.NE.0. .OR. viscAtension.NE.0.) THEN         IF (viscAstrain.NE.0. .OR. viscAtension.NE.0.
236         O      .OR. viscC2smag.ne.0) THEN
237           CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,           CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,
238       O                         tension,       O                         tension,
239       I                         myThid)       I                         myThid)
# Line 367  c      ENDDO Line 370  c      ENDDO
370  c     ENDIF  c     ENDIF
371    
372  C--   Horizontal Coriolis terms  C--   Horizontal Coriolis terms
373        IF (useCoriolis .AND. .NOT.useCDscheme  c     IF (useCoriolis .AND. .NOT.useCDscheme
374       &    .AND. .NOT. useAbsVorticity) THEN  c    &    .AND. .NOT. useAbsVorticity) THEN
375         CALL MOM_VI_CORIOLIS(bi,bj,k,uFld,vFld,hFacZ,r_hFacZ,  C- jmc: change it to keep the Coriolis terms when useAbsVorticity=T & momAdvection=F
376       &                      uCf,vCf,myThid)        IF ( useCoriolis .AND.
377         &     .NOT.( useCDscheme .OR. useAbsVorticity.AND.momAdvection )
378         &   ) THEN
379           IF (useAbsVorticity) THEN
380            CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,hFacZ,r_hFacZ,
381         &                         uCf,myThid)
382            CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,hFacZ,r_hFacZ,
383         &                         vCf,myThid)
384           ELSE
385            CALL MOM_VI_CORIOLIS(bi,bj,k,uFld,vFld,hFacZ,r_hFacZ,
386         &                       uCf,vCf,myThid)
387           ENDIF
388         DO j=jMin,jMax         DO j=jMin,jMax
389          DO i=iMin,iMax          DO i=iMin,iMax
390           gU(i,j,k,bi,bj) = uCf(i,j) - phxFac*dPhiHydX(i,j)           gU(i,j,k,bi,bj) = uCf(i,j) - phxFac*dPhiHydX(i,j)
# Line 405  C--   Horizontal advection of relative v Line 419  C--   Horizontal advection of relative v
419         IF (useAbsVorticity) THEN         IF (useAbsVorticity) THEN
420          CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,hFacZ,r_hFacZ,          CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,hFacZ,r_hFacZ,
421       &                         uCf,myThid)       &                         uCf,myThid)
422           ELSEIF (highOrderVorticity) THEN
423            CALL MOM_VI_U_CORIOLIS_C4(bi,bj,k,vFld,vort3,r_hFacZ,
424         &                         uCf,myThid)
425         ELSE         ELSE
426          CALL MOM_VI_U_CORIOLIS(bi,bj,k,vFld,vort3,hFacZ,r_hFacZ,          CALL MOM_VI_U_CORIOLIS(bi,bj,k,vFld,vort3,hFacZ,r_hFacZ,
427       &                         uCf,myThid)       &                         uCf,myThid)
428         ENDIF         ENDIF
 c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid)  
429         DO j=jMin,jMax         DO j=jMin,jMax
430          DO i=iMin,iMax          DO i=iMin,iMax
431           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)
# Line 418  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K Line 434  c      CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K
434         IF (useAbsVorticity) THEN         IF (useAbsVorticity) THEN
435          CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,hFacZ,r_hFacZ,          CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,hFacZ,r_hFacZ,
436       &                         vCf,myThid)       &                         vCf,myThid)
437           ELSEIF (highOrderVorticity) THEN
438            CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3,r_hFacZ,
439         &                         vCf,myThid)
440         ELSE         ELSE
441          CALL MOM_VI_V_CORIOLIS(bi,bj,k,uFld,vort3,hFacZ,r_hFacZ,          CALL MOM_VI_V_CORIOLIS(bi,bj,k,uFld,vort3,hFacZ,r_hFacZ,
442       &                         vCf,myThid)       &                         vCf,myThid)
443         ENDIF         ENDIF
 c      CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid)  
444         DO j=jMin,jMax         DO j=jMin,jMax
445          DO i=iMin,iMax          DO i=iMin,iMax
446           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)

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.22