From 6f1d302121ec3e139f5ae756e4cb2fc861135130 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Vi=C3=A9?= <benoit.vie@meteo.fr>
Date: Wed, 7 Sep 2022 14:46:30 +0200
Subject: [PATCH] include latest bugfixes from personal folder

---
 src/MNH/ini_lima_cold_mixed.f90          |  2 +-
 src/MNH/lima_conversion_melting_snow.f90 |  2 +-
 src/MNH/lima_droplets_riming_snow.f90    |  8 +++-----
 src/MNH/lima_ice_aggregation_snow.f90    |  4 ++--
 src/MNH/lima_ice_deposition.f90          |  3 +--
 src/MNH/lima_snow_deposition.f90         | 11 +++++------
 6 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/src/MNH/ini_lima_cold_mixed.f90 b/src/MNH/ini_lima_cold_mixed.f90
index 1de589480..cc0a3cbb8 100644
--- a/src/MNH/ini_lima_cold_mixed.f90
+++ b/src/MNH/ini_lima_cold_mixed.f90
@@ -771,7 +771,7 @@ XITAUTS_THRESHOLD = 7.5
 !*       6.4    Constants for snow aggregation
 !
 XCOLEXIS = 0.05    ! Temperature factor of the I+S collection efficiency
-XFIAGGS  = XNS*(XPI/4.0)*0.25*XCS*(ZRHO00**XCEXVT)*MOMG(XALPHAS,XNUS,XDS+2.0)
+XFIAGGS  = (XPI/4.0)*0.25*XCS*(ZRHO00**XCEXVT)*MOMG(XALPHAS,XNUS,XDS+2.0)
 XEXIAGGS = -XDS - 2.0
 XAGGS_CLARGE1 = XKER_ZRNIC_A2*ZGAMI(2)
 XAGGS_CLARGE2 = XKER_ZRNIC_A2*ZGAMS(2)
diff --git a/src/MNH/lima_conversion_melting_snow.f90 b/src/MNH/lima_conversion_melting_snow.f90
index 9b6bf0912..454df3eba 100644
--- a/src/MNH/lima_conversion_melting_snow.f90
+++ b/src/MNH/lima_conversion_melting_snow.f90
@@ -114,7 +114,7 @@ WHERE( (PRST(:)>XRTMIN(5)) .AND. (PT(:)>XTT) .AND. LDCOMPUTE(:) )
 !
    ZW(:)  = XFSCVMG*MAX( 0.0,( -ZW(:) * PCST(:) *                        &
                                ( X0DEPS*PLBDS(:)**XEX0DEPS +             &
-                                 X1DEPS*PCJ(:)*PLBDS(:)**(XEX1DEPS+XBS)* &
+                                 X1DEPS*PCJ(:)*PLBDS(:)**XEX1DEPS *      &
                                    (1+0.5*(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)) ))
 ! On ne tient pas compte de la collection de pluie et gouttelettes par la neige si T>0 !!!! 
 ! Note that no heat is exchanged because the graupeln produced are still icy!!!
diff --git a/src/MNH/lima_droplets_riming_snow.f90 b/src/MNH/lima_droplets_riming_snow.f90
index ae585bbf1..b9d765365 100644
--- a/src/MNH/lima_droplets_riming_snow.f90
+++ b/src/MNH/lima_droplets_riming_snow.f90
@@ -132,7 +132,7 @@ DO JI = 1, SIZE(PRCT)
    IF ( PRCT(JI)>XRTMIN(2) .AND. PRST(JI)>XRTMIN(5) .AND. PT(JI)<XTT .AND. LDCOMPUTE(JI) ) THEN
 !
       ZVEC1(JI) = PLBDS(JI)
-      ZVEC1W(JI)= ( XFVELOS**XALPHAS + PLBDS(JI)**XALPHAS ) ** (1./XALPHAS) ! modified equivalent lambda 
+      ZVEC1W(JI)= ( XFVELOS**XALPHAS + PLBDS(JI)**XALPHAS ) ** (1./XALPHAS) ! modified equivalent lambda
 !
 !        2.     perform the linear interpolation of the normalized
 !               "2+XDS"-moment of the incomplete gamma function using the modified equivalent lambda
@@ -142,9 +142,8 @@ DO JI = 1, SIZE(PRCT)
       IVEC2(JI) = INT( ZVEC2(JI) )
       ZVEC2(JI) = ZVEC2(JI) - REAL( IVEC2(JI) )
 !
-      ZVEC1(JI) =  XGAMINC_RIM1( IVEC2(JI)+1 )* ZVEC2(JI)      &
+      ZZW1(JI)  =  XGAMINC_RIM1( IVEC2(JI)+1 )* ZVEC2(JI)      &
                  - XGAMINC_RIM1( IVEC2(JI)   )*(ZVEC2(JI) - 1.0)
-      ZZW1(JI) = ZVEC1(JI)
 !
 !        3.     perform the linear interpolation of the normalized
 !               "XBS"-moment of the incomplete gamma function
@@ -154,9 +153,8 @@ DO JI = 1, SIZE(PRCT)
       IVEC2(JI) = INT( ZVEC2(JI) )
       ZVEC2(JI) = ZVEC2(JI) - REAL( IVEC2(JI) )
 !
-      ZVEC1(JI) = XGAMINC_RIM2( IVEC2(JI)+1 )* ZVEC2(JI)      &
+      ZZW2(JI)  = XGAMINC_RIM2( IVEC2(JI)+1 )* ZVEC2(JI)      &
                 - XGAMINC_RIM2( IVEC2(JI)   )*(ZVEC2(JI) - 1.0)
-      ZZW2(JI) = ZVEC1(JI)
 !
 !        4.     riming
 !
diff --git a/src/MNH/lima_ice_aggregation_snow.f90 b/src/MNH/lima_ice_aggregation_snow.f90
index 8268c17d6..beb9ac95b 100644
--- a/src/MNH/lima_ice_aggregation_snow.f90
+++ b/src/MNH/lima_ice_aggregation_snow.f90
@@ -108,9 +108,9 @@ IF (NMOM_I.EQ.1) THEN
    WHERE ( PRIT(:)>XRTMIN(4) .AND. PRST(:)>XRTMIN(5) .AND. LDCOMPUTE(:) )
       ZZW1(:) = XFIAGGS * EXP( XCOLEXIS*(PT(:)-XTT) ) &
                         * PRIT(:)                     &
-                        * PRST(:) * (1+(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEXIAGGS/XALPHAS) &
+                        * PCST(:) * (1+(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEXIAGGS/XALPHAS) &
                         * PRHODREF(:)**(-XCEXVT+1.) &
-                        * ((PLBDS(:))**(XBS+XEXIAGGS))
+                        * PLBDS(:)**XEXIAGGS
 !
       P_RI_AGGS(:) = - ZZW1(:)
    END WHERE
diff --git a/src/MNH/lima_ice_deposition.f90 b/src/MNH/lima_ice_deposition.f90
index 2b46227b8..b9ca8ed75 100644
--- a/src/MNH/lima_ice_deposition.f90
+++ b/src/MNH/lima_ice_deposition.f90
@@ -78,8 +78,7 @@ USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN, XALPHAI, XALPHAS, XNUI, XNUS,&
 USE MODD_PARAM_LIMA_COLD, ONLY : XCXS, XCCS,                                  &
                                  XLBDAS_MAX, XDSCNVI_LIM, XLBDASCNVI_MAX,     &
                                  XC0DEPSI, XC1DEPSI, XR0DEPSI, XR1DEPSI,      &
-                                 XSCFAC, X1DEPS, X0DEPS, XEX1DEPS, XEX0DEPS,  &
-                                 XDICNVS_LIM, XLBDAICNVS_LIM,                 &
+                                 XSCFAC, XDICNVS_LIM, XLBDAICNVS_LIM,         &
                                  XC0DEPIS, XC1DEPIS, XR0DEPIS, XR1DEPIS,      &
                                  XCOLEXIS, XAGGS_CLARGE1, XAGGS_CLARGE2,      &
                                  XAGGS_RLARGE1, XAGGS_RLARGE2,                &
diff --git a/src/MNH/lima_snow_deposition.f90 b/src/MNH/lima_snow_deposition.f90
index 0531a3a4a..3bd8d0141 100644
--- a/src/MNH/lima_snow_deposition.f90
+++ b/src/MNH/lima_snow_deposition.f90
@@ -110,7 +110,6 @@ REAL, DIMENSION(:),   INTENT(OUT)   :: P_RS_DEPS
 LOGICAL, DIMENSION(SIZE(PRHODREF)) :: GMICRO ! Computations only where necessary
 REAL,    DIMENSION(SIZE(PRHODREF)) :: ZZW, ZZW2, ZZX ! Work array
 !
-!
 !-------------------------------------------------------------------------------
 !
 P_RI_CNVI(:) = 0.
@@ -128,9 +127,9 @@ IF (NMOM_I.EQ.1) THEN
 !
       ZZW(:) = 0.0
       WHERE ( PRST(:)>XRTMIN(5) )
-         ZZW(:) = PRST(:) * PSSI(:) / PAI(:) * &
-              ( X0DEPS*PLBDS(:)**XEX0DEPS +                  &
-                X1DEPS*PLBDS(:)**(XEX1DEPS+XBS)*PCJ(:) *     &
+         ZZW(:) = PCST(:) * PSSI(:) / PAI(:) * &
+              ( X0DEPS*PLBDS(:)**XEX0DEPS +             &
+                X1DEPS*PLBDS(:)**XEX1DEPS *PCJ(:) *     &
                      (1+0.5*(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS) )
          ZZW(:) =    ZZW(:)*(0.5+SIGN(0.5,ZZW(:))) - ABS(ZZW(:))*(0.5-SIGN(0.5,ZZW(:)))
       END WHERE
@@ -165,8 +164,8 @@ ELSE
 !
       ZZW(:) = 0.0
       WHERE ( PRST(:)>XRTMIN(5) .AND. PCST(:)>XCTMIN(5) )
-         ZZW(:) = ( PCST(:)*PSSI(:)/(PAI(:)) ) *           &
-              ( X0DEPS*PLBDS(:)**XEX0DEPS +                &
+         ZZW(:) = ( PCST(:)*PSSI(:)/PAI(:) ) *     &
+              ( X0DEPS*PLBDS(:)**XEX0DEPS +        &
               ( X1DEPS*PCJ(:)*PLBDS(:)**XEX1DEPS * &
                    (1+0.5*(XFVELOS/PLBDS(:))**XALPHAS)**(-XNUS+XEX1DEPS/XALPHAS)) )
          ZZW(:) =    ZZW(:)*(0.5+SIGN(0.5,ZZW(:))) - ABS(ZZW(:))*(0.5-SIGN(0.5,ZZW(:)))
-- 
GitLab