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 |
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, |
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 |