diff --git a/src/common/micro/mode_ice4_pack.F90 b/src/common/micro/mode_ice4_pack.F90 index 60da0e31e7a2cf12b82091ff56b7e99ad398b3a3..c434a4a2e4052032603e4bb144334e85320e6ace 100644 --- a/src/common/micro/mode_ice4_pack.F90 +++ b/src/common/micro/mode_ice4_pack.F90 @@ -234,7 +234,7 @@ IF(PARAMI%LPACK_MICRO) THEN ! Setup packing parameters OUTER_LOOP: DO JK = ISTK, IKTE - IF (ANY(ODMICRO(:,JK))) THEN + IF (ANY(ODMICRO(IIJB:IIJE,JK))) THEN DO JIJ = ISTIJ, IIJE IF (ODMICRO(JIJ,JK)) THEN IC=IC+1 diff --git a/src/common/micro/rain_ice.F90 b/src/common/micro/rain_ice.F90 index 48a652e514305cc6c94ba9a2e0a6ee3a2bf9875b..92a9ed01e90675c09fef4e17632f63c0380a5578 100644 --- a/src/common/micro/rain_ice.F90 +++ b/src/common/micro/rain_ice.F90 @@ -493,7 +493,12 @@ ENDIF ! ---------------------- ! IF(PARAMI%LPACK_MICRO) THEN - ISIZE=COUNT(LLMICRO) ! Number of points with active microphysics + ISIZE=0 + DO JK=1,D%NKT + DO JIJ=1,D%NIJT + IF(LLMICRO(JIJ,JK)) ISIZE=ISIZE+1 ! Number of points with active microphysics + END DO + END DO !PARAMI%NPROMICRO is the requested size for cache_blocking loop !IPROMA is the effective size !This parameter must be computed here because it is used for array dimensioning in ice4_pack