From 275c8706b960f0bf4f732f2ab94ac0c8e72003e8 Mon Sep 17 00:00:00 2001 From: Quentin Rodier <quentin.rodier@meteo.fr> Date: Wed, 19 Jul 2023 16:37:56 +0200 Subject: [PATCH] Expand by hand functions COUNT() for ISIZE micro + add limits for ANY() on ice4_pack --- src/common/micro/mode_ice4_pack.F90 | 2 +- src/common/micro/rain_ice.F90 | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/micro/mode_ice4_pack.F90 b/src/common/micro/mode_ice4_pack.F90 index 60da0e31e..c434a4a2e 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 48a652e51..92a9ed01e 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 -- GitLab