/[MITgcm]/MITgcm/model/src/calc_oce_mxlayer.F
ViewVC logotype

Diff of /MITgcm/model/src/calc_oce_mxlayer.F

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

revision 1.1 by jmc, Sun Jun 3 22:50:47 2007 UTC revision 1.2 by jmc, Wed Jun 20 23:06:51 2007 UTC
# Line 135  C     where the local stratification exc Line 135  C     where the local stratification exc
135  C     (from surface down to here) by factor hMixCriteria  C     (from surface down to here) by factor hMixCriteria
136    
137  c       hMixCriteria  = 2. _d 0  c       hMixCriteria  = 2. _d 0
138    C-Note: dRhoSmall is hard coded for now but should become run-time parameter
139            dRhoSmall = 1. _d -2
140          DO j=1-Oly,sNy+Oly          DO j=1-Oly,sNy+Oly
141           DO i=1-Olx,sNx+Olx           DO i=1-Olx,sNx+Olx
142             IF ( klowC(i,j,bi,bj) .GT. 0 ) THEN             IF ( klowC(i,j,bi,bj) .GT. 0 ) THEN
# Line 146  c       hMixCriteria  = 2. _d 0 Line 148  c       hMixCriteria  = 2. _d 0
148             ENDIF             ENDIF
149           ENDDO           ENDDO
150          ENDDO          ENDDO
151          DO k = 3,Nr          DO k = 2,Nr-1
152  C-    potential density (reference level = surface level)  C-    potential density (reference level = surface level)
153           CALL FIND_RHO(           CALL FIND_RHO(
154       I             bi, bj, 1-OLx, sNx+OLx, 1-OLy, sNy+OLy, K, 1,       I             bi, bj, 1-OLx, sNx+OLx, 1-OLy, sNy+OLy, K, 1,
# Line 155  C-    potential density (reference level Line 157  C-    potential density (reference level
157    
158           DO j=1-Oly,sNy+Oly           DO j=1-Oly,sNy+Oly
159            DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
160             IF ( k.LE.klowC(i,j,bi,bj)             IF ( k.LT.klowC(i,j,bi,bj)
161       &          .AND. rhoMxL(i,j).GE.0. ) THEN       &          .AND. rhoMxL(i,j).GE.0. ) THEN
162               sigmAv = ( rhoLoc(i,j)-rhoSurf(i,j) ) / ( rC(1)-rC(k) )               sigmAv = ( rhoLoc(i,j)-rhoSurf(i,j)+dRhoSmall )
163               IF ( -sigmaR(i,j,k).GE.sigmAv*hMixCriteria ) THEN       &              / ( rC(1)-rC(k) )
164                 IF ( -sigmaR(i,j,k+1).GT.sigmAv*hMixCriteria ) THEN
165                 tmpFac = 0. _d 0                 tmpFac = 0. _d 0
166                 IF ( sigmAv.GT.0. _d 0 ) THEN                 IF ( sigmAv.GT.0. _d 0 ) THEN
167                   tmpFac = sigmaR(i,j,k-1)/sigmaR(i,j,k)                   tmpFac = hMixCriteria*sigmaR(i,j,k)/sigmaR(i,j,k+1)
168                   tmpFac = ( tmpFac*hMixCriteria - 1. _d 0 )                   IF ( tmpFac .GT. 1. _d 0 ) THEN
169       &                         / ( hMixCriteria - 1. _d 0 )                     tmpFac = 1. _d 0
170                   tmpFac = MAX( 0. _d 0, MIN( tmpFac, 1. _d 0 ) )       &             + ( tmpFac - 1. _d 0 )/( hMixCriteria - 1. _d 0 )
171                     ENDIF
172                     tmpFac = MAX( 0. _d 0, MIN( tmpFac, 2. _d 0 ) )
173                 ENDIF                 ENDIF
174                 hMixLayer(i,j,bi,bj) = rF(1)-rC(k-1)+tmpFac*drC(k)                 hMixLayer(i,j,bi,bj) = rF(1)-rF(k+1)
175         &                              - drF(k)*tmpFac*0.5 _d 0
176                 rhoMxL(i,j) = -1.                 rhoMxL(i,j) = -1.
177               ENDIF               ENDIF
178             ENDIF             ENDIF

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22