/[MITgcm]/MITgcm/pkg/ggl90/ggl90_calc.F
ViewVC logotype

Diff of /MITgcm/pkg/ggl90/ggl90_calc.F

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

revision 1.27 by mlosch, Thu Feb 19 15:44:12 2015 UTC revision 1.28 by mlosch, Sat Feb 21 01:46:39 2015 UTC
# Line 85  c     _RL     Nsquare Line 85  c     _RL     Nsquare
85  c     _RL     SQRTTKE  c     _RL     SQRTTKE
86        _RL     SQRTTKE(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL     SQRTTKE(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
87        _RL     RiNumber        _RL     RiNumber
88    #ifdef ALLOW_GGL90_IDEMIX
89        _RL     IDEMIX_RiNumber        _RL     IDEMIX_RiNumber
90    #endif
91        _RL     TKEdissipation        _RL     TKEdissipation
92        _RL     tempU, tempV, prTemp        _RL     tempU, tempV, prTemp
93        _RL     MaxLength, tmpmlx, tmpVisc        _RL     MaxLength, tmpmlx, tmpVisc
# Line 140  C     Initialize local fields Line 142  C     Initialize local fields
142        DO k = 1, Nr        DO k = 1, Nr
143         DO j=1-OLy,sNy+OLy         DO j=1-OLy,sNy+OLy
144          DO i=1-OLx,sNx+OLx          DO i=1-OLx,sNx+OLx
145             rMixingLength(i,j,k)     = 0. _d 0
146             mxLength_Dn(i,j,k)       = 0. _d 0
147             GGL90visctmp(i,j,k)      = 0. _d 0
148           KappaE(i,j,k)            = 0. _d 0           KappaE(i,j,k)            = 0. _d 0
149           TKEPrandtlNumber(i,j,k)  = 1. _d 0           TKEPrandtlNumber(i,j,k)  = 1. _d 0
150           GGL90mixingLength(i,j,k) = GGL90mixingLengthMin           GGL90mixingLength(i,j,k) = GGL90mixingLengthMin
# Line 149  C     Initialize local fields Line 154  C     Initialize local fields
154           b3d(i,j,k) = 1. _d 0           b3d(i,j,k) = 1. _d 0
155           c3d(i,j,k) = 0. _d 0           c3d(i,j,k) = 0. _d 0
156  #endif  #endif
157             Nsquare(i,j,k) = 0. _d 0
158             SQRTTKE(i,j,k) = 0. _d 0
159          ENDDO          ENDDO
160         ENDDO         ENDDO
161        ENDDO        ENDDO
# Line 158  C     Initialize local fields Line 165  C     Initialize local fields
165          rMixingLength(i,j,1) = 0. _d 0          rMixingLength(i,j,1) = 0. _d 0
166          mxLength_Dn(i,j,1) = GGL90mixingLengthMin          mxLength_Dn(i,j,1) = GGL90mixingLengthMin
167          SQRTTKE(i,j,1) = SQRT( GGL90TKE(i,j,1,bi,bj) )          SQRTTKE(i,j,1) = SQRT( GGL90TKE(i,j,1,bi,bj) )
168    #ifdef ALLOW_GGL90_HORIZDIFF
169            xA(i,j)  = 0. _d 0
170            yA(i,j)  = 0. _d 0
171            dfx(i,j) = 0. _d 0
172            dfy(i,j) = 0. _d 0
173            gTKE(i,j) = 0. _d 0
174    #endif /* ALLOW_GGL90_HORIZDIFF */
175         ENDDO         ENDDO
176        ENDDO        ENDDO
177    
# Line 432  c              GGL9rdiffKr etc. is robus Line 446  c              GGL9rdiffKr etc. is robus
446    
447  C     compute Prandtl number (always greater than 0)  C     compute Prandtl number (always greater than 0)
448           RiNumber = MAX(Nsquare(i,j,k),0. _d 0)/(verticalShear+GGL90eps)           RiNumber = MAX(Nsquare(i,j,k),0. _d 0)/(verticalShear+GGL90eps)
 CML         IDEMIX_RiNumber = 1./GGL90eps  
449  #ifdef ALLOW_GGL90_IDEMIX  #ifdef ALLOW_GGL90_IDEMIX
450    CML         IDEMIX_RiNumber = 1./GGL90eps
451           IDEMIX_RiNumber = MAX( KappaM*Nsquare(i,j,k), 0. _d 0)/           IDEMIX_RiNumber = MAX( KappaM*Nsquare(i,j,k), 0. _d 0)/
452       &    (GGL90eps+IDEMIX_tau_d(i,j,k,bi,bj)*IDEMIX_E(i,j,k,bi,bj)**2)       &    (GGL90eps+IDEMIX_tau_d(i,j,k,bi,bj)*IDEMIX_E(i,j,k,bi,bj)**2)
453           prTemp         = MIN(5.*RiNumber, 6.6*IDEMIX_RiNumber)           prTemp         = MIN(5.*RiNumber, 6.6*IDEMIX_RiNumber)
454  #else  #else
455             prTemp = 1. _d 0        
456           IF ( RiNumber .GE. 0.2 _d 0 ) prTemp = 5. _d 0 * RiNumber           IF ( RiNumber .GE. 0.2 _d 0 ) prTemp = 5. _d 0 * RiNumber
457  #endif /* ALLOW_GGL90_IDEMIX */  #endif /* ALLOW_GGL90_IDEMIX */
458           TKEPrandtlNumber(i,j,k) = MIN(10. _d 0,prTemp)           TKEPrandtlNumber(i,j,k) = MIN(10. _d 0,prTemp)

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

  ViewVC Help
Powered by ViewVC 1.1.22