From a5067118c568b18b4929ea1a3525aa8a0c4910e1 Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Tue, 3 Mar 2020 14:01:32 +0100
Subject: [PATCH] Benoit V. 03/03/2020: increase the security of physical tests
 (blindage)

---
 src/MNH/set_conc_lima.f90 | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/MNH/set_conc_lima.f90 b/src/MNH/set_conc_lima.f90
index c111ac643..f9be36c90 100644
--- a/src/MNH/set_conc_lima.f90
+++ b/src/MNH/set_conc_lima.f90
@@ -79,7 +79,7 @@ END MODULE MODI_SET_CONC_LIMA
 !!      Original    15/11/00
 !!                        2014 G.Delautier : remplace MODD_RAIN_C2R2_PARAM par MODD_RAIN_C2R2_KHKO_PARAM        *
 !!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
-!!
+!!  B.Vié : 03/03/2020  secure physical tests
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -90,6 +90,7 @@ USE MODD_PARAM_LIMA_COLD, ONLY : XAI, XBI
 USE MODD_NSV,             ONLY : NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_CCN_ACTI, NSV_LIMA_NI, NSV_LIMA_IFN_NUCL
 USE MODD_CST,             ONLY : XPI, XRHOLW, XRHOLI
 USE MODD_CONF,            ONLY : NVERB
+USE MODD_CONF_n,          ONLY : NRR
 USE MODD_LUNIT_n,         ONLY : TLUOUT
 
 !
@@ -122,7 +123,7 @@ ILUOUT = TLUOUT%NLU
 !*       2.    INITIALIZATION
 !              --------------
 !
-IF (LWARM) THEN
+IF (LWARM .AND. NRR.GE.2) THEN
 !
 !  droplets
 !
@@ -150,7 +151,7 @@ IF (LWARM) THEN
    END IF
 END IF
 !
-IF (LWARM .AND. LRAIN) THEN
+IF (LWARM .AND. LRAIN .AND. NRR.GE.3) THEN
 !
 !  drops
 !
@@ -160,7 +161,7 @@ IF (LWARM .AND. LRAIN) THEN
    ELSE ! init from KESS, ICE3...
       WHERE ( PRT(:,:,:,3) > 1.E-11 )
          PSVT(:,:,:,NSV_LIMA_NR) = MAX( SQRT(SQRT(PRHODREF(:,:,:)*PRT(:,:,:,3) &
-              *ZCONCR)),XCTMIN(3) )
+              *ZCONCR)),1. )
       END WHERE
       WHERE ( PRT(:,:,:,3) <= 1.E-11 )
          PRT(:,:,:,3)  = 0.0
@@ -173,7 +174,7 @@ IF (LWARM .AND. LRAIN) THEN
    END IF
 END IF
 !
-IF (LCOLD) THEN
+IF (LCOLD .AND. NRR.GE.4) THEN
 !
 ! ice crystals
 !
@@ -184,7 +185,7 @@ IF (LCOLD) THEN
 !           ( XRHOLI * XAI*(10.E-06)**XBI * PRT(:,:,:,4) ), &
 !           ZCONCI )
 ! Correction
-      PSVT(:,:,:,NSV_LIMA_NI) = MIN(PRT(:,:,:,4)/(XAI*(10.E-06)**XBI),ZCONCI )
+      PSVT(:,:,:,NSV_LIMA_NI) = MIN(PRT(:,:,:,4)/(0.82*(10.E-06)**2.5),ZCONCI )
    END WHERE
    WHERE ( PRT(:,:,:,4) <= 1.E-11 )
       PRT(:,:,:,4)  = 0.0
-- 
GitLab