From 211673776afbbe81edc74debddddf94a426755a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Riette?= <sebastien.riette@meteo.fr>
Date: Thu, 8 Jun 2023 18:10:07 +0200
Subject: [PATCH] S. Riette 8 Jun 2023: bf for OCND2

---
 src/arome/ext/aro_rain_ice.F90                | 41 ++++++++++++++-----
 .../micro/mode_rain_ice_old_icenumber2.F90    |  4 ++
 2 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/src/arome/ext/aro_rain_ice.F90 b/src/arome/ext/aro_rain_ice.F90
index a22cb6da8..374c01138 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 7284d3e2f..a3ec0c187 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
-- 
GitLab