/[MITgcm]/MITgcm/pkg/mom_common/mom_calc_visc.F
ViewVC logotype

Diff of /MITgcm/pkg/mom_common/mom_calc_visc.F

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

revision 1.45 by jmc, Sun Jul 28 21:04:25 2013 UTC revision 1.46 by jmc, Thu Aug 1 20:13:38 2013 UTC
# Line 158  C--   Set flags which are used in this S Line 158  C--   Set flags which are used in this S
158  C     useVariableVisc, useHarmonicVisc and useBiharmonicVisc  C     useVariableVisc, useHarmonicVisc and useBiharmonicVisc
159  C     are now set early on (in S/R SET_PARAMS)  C     are now set early on (in S/R SET_PARAMS)
160    
161        IF ( useVariableVisc ) THEN  c     IF ( useVariableVisc ) THEN
162  C---- variable viscosity :  C---- variable viscosity :
163    
164         recip_dt = 1. _d 0         recip_dt = 1. _d 0
# Line 215  C---- variable viscosity : Line 215  C---- variable viscosity :
215    
216         DO j=1-OLy,sNy+OLy         DO j=1-OLy,sNy+OLy
217          DO i=1-OLx,sNx+OLx          DO i=1-OLx,sNx+OLx
218            viscAh_D(i,j) = viscAhD  C-    viscosity arrays have been initialised everywhere before calling this S/R
219            viscAh_Z(i,j) = viscAhZ  c         viscAh_D(i,j) = viscAhD
220            viscA4_D(i,j) = viscA4D  c         viscAh_Z(i,j) = viscAhZ
221            viscA4_Z(i,j) = viscA4Z  c         viscA4_D(i,j) = viscA4D
222    c         viscA4_Z(i,j) = viscA4Z
223    
224            visca4_zsmg(i,j) = 0. _d 0            visca4_zsmg(i,j) = 0. _d 0
225            viscah_zsmg(i,j) = 0. _d 0            viscah_zsmg(i,j) = 0. _d 0
# Line 238  C---- variable viscosity : Line 239  C---- variable viscosity :
239          ENDDO          ENDDO
240         ENDDO         ENDDO
241    
242  C-     Initialise to zero gradient of vorticity & divergence:  C-    Initialise to zero gradient of vorticity & divergence:
243         DO j=1-OLy,sNy+OLy         DO j=1-OLy,sNy+OLy
244          DO i=1-OLx,sNx+OLx          DO i=1-OLx,sNx+OLx
245            divDx(i,j) = 0.            divDx(i,j) = 0.
# Line 248  C-     Initialise to zero gradient of vo Line 249  C-     Initialise to zero gradient of vo
249          ENDDO          ENDDO
250         ENDDO         ENDDO
251    
252         IF (calcLeith) THEN         IF ( calcLeith ) THEN
253  C      horizontal gradient of horizontal divergence:  C--   horizontal gradient of horizontal divergence:
   
254  C-       gradient in x direction:  C-       gradient in x direction:
255           IF (useCubedSphereExchange) THEN           IF (useCubedSphereExchange) THEN
256  C        to compute d/dx(hDiv), fill corners with appropriate values:  C        to compute d/dx(hDiv), fill corners with appropriate values:
# Line 275  C        to compute d/dy(hDiv), fill cor Line 275  C        to compute d/dy(hDiv), fill cor
275            ENDDO            ENDDO
276           ENDDO           ENDDO
277    
278  C      horizontal gradient of vertical vorticity:  C--   horizontal gradient of vertical vorticity:
279  C-       gradient in x direction:  C-       gradient in x direction:
280           DO j=2-OLy,sNy+OLy           DO j=2-OLy,sNy+OLy
281            DO i=2-OLx,sNx+OLx-1            DO i=2-OLx,sNx+OLx-1
# Line 299  C-       gradient in y direction: Line 299  C-       gradient in y direction:
299            ENDDO            ENDDO
300           ENDDO           ENDDO
301    
302    C--   end if calcLeith
303         ENDIF         ENDIF
304    
305         DO j=2-OLy,sNy+OLy-1         DO j=2-OLy,sNy+OLy-1
# Line 523  C  BiHarmonic on Zeta points Line 524  C  BiHarmonic on Zeta points
524    
525  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_NONHYDROSTATIC
526         IF ( nonHydrostatic ) THEN         IF ( nonHydrostatic ) THEN
527  C--   Pass Viscosities to calc_gw, if constant, not necessary  C--   Pass Viscosities to calc_gw (if constant, not necessary)
528    
529          IF ( k.LT.Nr ) THEN          IF ( k.LT.Nr ) THEN
530  C     Prepare for next level (next call)  C     Prepare for next level (next call)
# Line 560  C     Note that previous call of this fu Line 561  C     Note that previous call of this fu
561         ENDIF         ENDIF
562  #endif /* ALLOW_NONHYDROSTATIC */  #endif /* ALLOW_NONHYDROSTATIC */
563    
564        ELSE  c     ELSE
565  C---- use constant viscosity (useVariableVisc=F):  C---- use constant viscosity (useVariableVisc=F):
566    c      DO j=1-OLy,sNy+OLy
567         DO j=1-OLy,sNy+OLy  c       DO i=1-OLx,sNx+OLx
568          DO i=1-OLx,sNx+OLx  c        viscAh_D(i,j) = viscAhD
569           viscAh_D(i,j)=viscAhD  c        viscAh_Z(i,j) = viscAhZ
570           viscAh_Z(i,j)=viscAhZ  c        viscA4_D(i,j) = viscA4D
571           viscA4_D(i,j)=viscA4D  c        viscA4_Z(i,j) = viscA4Z
572           viscA4_Z(i,j)=viscA4Z  c       ENDDO
573          ENDDO  c      ENDDO
        ENDDO  
   
574  C---- variable/constant viscosity : end if/else block  C---- variable/constant viscosity : end if/else block
575        ENDIF  c     ENDIF
576    
577  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
578        IF (useDiagnostics) THEN        IF (useDiagnostics) THEN
# Line 597  C---- variable/constant viscosity : end Line 596  C---- variable/constant viscosity : end
596         CALL DIAGNOSTICS_FILL(viscAh_ZLth,'VAHZLTH ',k,1,2,bi,bj,myThid)         CALL DIAGNOSTICS_FILL(viscAh_ZLth,'VAHZLTH ',k,1,2,bi,bj,myThid)
597         CALL DIAGNOSTICS_FILL(viscA4_ZLth,'VA4ZLTH ',k,1,2,bi,bj,myThid)         CALL DIAGNOSTICS_FILL(viscA4_ZLth,'VA4ZLTH ',k,1,2,bi,bj,myThid)
598    
599         CALL DIAGNOSTICS_FILL(viscAh_DLthD,'VAHDLTHD'         CALL DIAGNOSTICS_FILL(viscAh_DLthD,'VAHDLTHD',
600       &   ,k,1,2,bi,bj,myThid)       &                       k,1,2,bi,bj,myThid)
601         CALL DIAGNOSTICS_FILL(viscA4_DLthD,'VA4DLTHD'         CALL DIAGNOSTICS_FILL(viscA4_DLthD,'VA4DLTHD',
602       &   ,k,1,2,bi,bj,myThid)       &                       k,1,2,bi,bj,myThid)
603         CALL DIAGNOSTICS_FILL(viscAh_ZLthD,'VAHZLTHD'         CALL DIAGNOSTICS_FILL(viscAh_ZLthD,'VAHZLTHD',
604       &   ,k,1,2,bi,bj,myThid)       &                       k,1,2,bi,bj,myThid)
605         CALL DIAGNOSTICS_FILL(viscA4_ZLthD,'VA4ZLTHD'         CALL DIAGNOSTICS_FILL(viscA4_ZLthD,'VA4ZLTHD',
606       &   ,k,1,2,bi,bj,myThid)       &                       k,1,2,bi,bj,myThid)
607    
608         CALL DIAGNOSTICS_FILL(viscAh_DSmg,'VAHDSMAG',k,1,2,bi,bj,myThid)         CALL DIAGNOSTICS_FILL(viscAh_DSmg,'VAHDSMAG',k,1,2,bi,bj,myThid)
609         CALL DIAGNOSTICS_FILL(viscA4_DSmg,'VA4DSMAG',k,1,2,bi,bj,myThid)         CALL DIAGNOSTICS_FILL(viscA4_DSmg,'VA4DSMAG',k,1,2,bi,bj,myThid)
# Line 615  C---- variable/constant viscosity : end Line 614  C---- variable/constant viscosity : end
614    
615        RETURN        RETURN
616        END        END
   

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46

  ViewVC Help
Powered by ViewVC 1.1.22