diff --git a/src/MNH/ice4_slow.f90 b/src/MNH/ice4_slow.f90 index e08dd1e77adff5823c7c2cb6404cfc1162d39af4..b9e202b14bf8b2691bd6b890ef75c962d28a2c3e 100644 --- a/src/MNH/ice4_slow.f90 +++ b/src/MNH/ice4_slow.f90 @@ -173,11 +173,13 @@ IF(LDSOFT) THEN ENDDO ELSE PRVDEPS(:) = 0. - WHERE(ZMASK(:)==1.) - PRVDEPS(:) = ( PRST(:)*PSSI(:)/PAI(:)) * & - ( X0DEPS*PLBDAS(:)**XEX0DEPS + (X1DEPS*PCJ(:)*(1+(PLBDAS(:)/(2*XFVELOS)**XALPHAS))**(-XNUS+XEX1DEPS) & - *(PLBDAS(:))**(XBS+XEX1DEPS))) - END WHERE + DO JL=1, KSIZE + IF (ZMASK(JL)==1.) THEN + PRVDEPS(JL) = ( PRST(JL)*PSSI(JL)/PAI(JL) ) * & + ( X0DEPS*PLBDAS(JL)**XEX0DEPS + X1DEPS*PCJ(JL) * (1+(XFVELOS/(2*PLBDAS(JL)))**XALPHAS)**(-XNUS+XEX1DEPS) & + *(PLBDAS(JL))**(XBS+XEX1DEPS) ) + END IF + END DO ENDIF DO JL=1, KSIZE PA_RS(JL) = PA_RS(JL) + PRVDEPS(JL) diff --git a/src/MNH/ice4_tendencies.f90 b/src/MNH/ice4_tendencies.f90 index ec33e100cfc60bec6ad576d781283372e52c165f..2832464bf64ed83229d3779531ef93c206db078d 100644 --- a/src/MNH/ice4_tendencies.f90 +++ b/src/MNH/ice4_tendencies.f90 @@ -411,7 +411,9 @@ ELSE ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZT(:))),XLBDAS_MIN)*XTRANS_MP_GAMMAS END WHERE ELSE - ZLBDAS(:) = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN) + WHERE (ZRST(:).GE.XRTMIN(5)) + ZLBDAS(:) = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN) + END WHERE END IF CALL ICE4_RSRIMCG_OLD(KSIZE, ODSOFT, PCOMPUTE==1., & &PRHODREF, & @@ -487,7 +489,9 @@ IF(KSIZE>0) THEN ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZT(:))),XLBDAS_MIN)*XTRANS_MP_GAMMAS END WHERE ELSE - ZLBDAS(:) = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN) + WHERE (ZRST(:).GE.XRTMIN(5)) + ZLBDAS(:) = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(:)*ZRST(:))**XLBEXS),XLBDAS_MIN) + END WHERE END IF ZLBDAG(:)=0. WHERE(ZRGT(:)>0.) diff --git a/src/MNH/rain_ice_red.f90 b/src/MNH/rain_ice_red.f90 index 137cfce6d9d0a41ec35d57f92df3f59844223a02..d5b71cb0cc027853f94cd73c2fe63da9f11e7fe1 100644 --- a/src/MNH/rain_ice_red.f90 +++ b/src/MNH/rain_ice_red.f90 @@ -590,7 +590,9 @@ DO JK = 1, KKT END IF END IF ELSE - ZLBDAS(JI,JJ,JK) = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(JI,JJ,JK)*PRST(JI,JJ,JK))**XLBEXS),XLBDAS_MIN) + IF (PRST(JI,JJ,JK).GT.XRTMIN(5)) THEN + ZLBDAS(JI,JJ,JK) = MAX(MIN(XLBDAS_MAX,XLBS*(PRHODREF(JI,JJ,JK)*PRST(JI,JJ,JK))**XLBEXS),XLBDAS_MIN) + END IF END IF END DO END DO