diff --git a/src/arome/ext/aro_rain_ice.F90 b/src/arome/ext/aro_rain_ice.F90 index a22cb6da8e117aef7b43c3111fea0fa505e53fbd..374c0113870a906dc313886ccec1cbc91b031596 100644 --- a/src/arome/ext/aro_rain_ice.F90 +++ b/src/arome/ext/aro_rain_ice.F90 @@ -435,12 +435,22 @@ ELSEIF (CMICRO=='OLD4') THEN ELSE ZKGN_SBGR(:,:) = RAIN_ICE_PARAM%XFRMIN(11) ENDIF - LLMICRO(:,:,:)=PRT(:,:,:,2)>RAIN_ICE_DESCR%XRTMIN(2) .OR. & - PRT(:,:,:,3)>RAIN_ICE_DESCR%XRTMIN(3) .OR. & - PRT(:,:,:,4)>RAIN_ICE_DESCR%XRTMIN(4) .OR. & - PRT(:,:,:,5)>RAIN_ICE_DESCR%XRTMIN(5) .OR. & - PRT(:,:,:,6)>RAIN_ICE_DESCR%XRTMIN(6) .OR. & - PRT(:,:,:,7)>RAIN_ICE_DESCR%XRTMIN(7) + IF(OCND2) THEN + LLMICRO(:,:,:)=PSSIO(:,:,:)>RAIN_ICE_PARAM%XFRMIN(12) .OR. & + PRT(:,:,:,2)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,3)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,4)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,5)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,6)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,7)>RAIN_ICE_PARAM%XFRMIN(13) + ELSE + LLMICRO(:,:,:)=PRT(:,:,:,2)>RAIN_ICE_DESCR%XRTMIN(2) .OR. & + PRT(:,:,:,3)>RAIN_ICE_DESCR%XRTMIN(3) .OR. & + PRT(:,:,:,4)>RAIN_ICE_DESCR%XRTMIN(4) .OR. & + PRT(:,:,:,5)>RAIN_ICE_DESCR%XRTMIN(5) .OR. & + PRT(:,:,:,6)>RAIN_ICE_DESCR%XRTMIN(6) .OR. & + PRT(:,:,:,7)>RAIN_ICE_DESCR%XRTMIN(7) + ENDIF ISIZE=COUNT(LLMICRO) CALL RAIN_ICE_OLD(YLDIMPHYEX, CST, PARAM_ICE, RAIN_ICE_PARAM, & & RAIN_ICE_DESCR, TBUCONF, & @@ -486,11 +496,20 @@ ELSE ELSE ZKGN_SBGR(:,:) = RAIN_ICE_PARAM%XFRMIN(11) ENDIF - LLMICRO(:,:,:)=PRT(:,:,:,2)>RAIN_ICE_DESCR%XRTMIN(2) .OR. & - PRT(:,:,:,3)>RAIN_ICE_DESCR%XRTMIN(3) .OR. & - PRT(:,:,:,4)>RAIN_ICE_DESCR%XRTMIN(4) .OR. & - PRT(:,:,:,5)>RAIN_ICE_DESCR%XRTMIN(5) .OR. & - PRT(:,:,:,6)>RAIN_ICE_DESCR%XRTMIN(6) + IF(OCND2) THEN + LLMICRO(:,:,:)=PSSIO(:,:,:)>RAIN_ICE_PARAM%XFRMIN(12) .OR. & + PRT(:,:,:,2)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,3)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,4)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,5)>RAIN_ICE_PARAM%XFRMIN(13) .OR. & + PRT(:,:,:,6)>RAIN_ICE_PARAM%XFRMIN(13) + ELSE + LLMICRO(:,:,:)=PRT(:,:,:,2)>RAIN_ICE_DESCR%XRTMIN(2) .OR. & + PRT(:,:,:,3)>RAIN_ICE_DESCR%XRTMIN(3) .OR. & + PRT(:,:,:,4)>RAIN_ICE_DESCR%XRTMIN(4) .OR. & + PRT(:,:,:,5)>RAIN_ICE_DESCR%XRTMIN(5) .OR. & + PRT(:,:,:,6)>RAIN_ICE_DESCR%XRTMIN(6) + ENDIF ISIZE=COUNT(LLMICRO) CALL RAIN_ICE_OLD(YLDIMPHYEX, CST, PARAM_ICE, RAIN_ICE_PARAM, & & RAIN_ICE_DESCR, TBUCONF, & diff --git a/src/common/micro/mode_rain_ice_old_icenumber2.F90 b/src/common/micro/mode_rain_ice_old_icenumber2.F90 index 7284d3e2fad9d80dc92212b8e5426a3335c950f1..a3ec0c1876c8ffbd20c59928dcafe710ed5369d7 100644 --- a/src/common/micro/mode_rain_ice_old_icenumber2.F90 +++ b/src/common/micro/mode_rain_ice_old_icenumber2.F90 @@ -12,7 +12,11 @@ MODULE MODE_RAIN_ICE_OLD_ICENUMBER2 REAL, INTENT(IN) :: T3D REAL, PARAMETER:: ICE_DENSITY = 890.0 +#ifdef REPRO48 + REAL, PARAMETER:: PI = 3.1415926536 +#else REAL, PARAMETER:: PI = 4.0*ATAN(1.) +#endif INTEGER IDX_REI REAL CORR, REICE, DEICE DOUBLE PRECISION LAMBDA