From c1af72d1002cb95cae77187f1fda914b33f5d74e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Riette?= <sebastien.riette@meteo.fr>
Date: Thu, 15 Dec 2022 16:39:26 +0100
Subject: [PATCH] Merge with last commit

---
 src/common/turb/modi_les_mean_subgrid.F90   | 30 ---------------------
 src/testprogs/rain_ice/main_rain_ice.F90    |  2 --
 src/testprogs/turb_mnh/getdata_turb_mod.F90 |  7 +++++
 src/testprogs/turb_mnh/main_turb.F90        | 28 +++++++++++++------
 4 files changed, 27 insertions(+), 40 deletions(-)
 delete mode 100644 src/common/turb/modi_les_mean_subgrid.F90

diff --git a/src/common/turb/modi_les_mean_subgrid.F90 b/src/common/turb/modi_les_mean_subgrid.F90
deleted file mode 100644
index 9459d3d81..000000000
--- a/src/common/turb/modi_les_mean_subgrid.F90
+++ /dev/null
@@ -1,30 +0,0 @@
-!     ######spl
-MODULE MODI_LES_MEAN_SUBGRID
-!      #####################
-!
-INTERFACE LES_MEAN_SUBGRID
-!
-      SUBROUTINE LES_MEAN_SUBGRID_3D(PA, PA_MEAN, OSUM)
-
-REAL,    DIMENSION(:,:,:), INTENT(IN)    :: PA
-!
-REAL,    DIMENSION(:,:,:), INTENT(INOUT) :: PA_MEAN
-!
-LOGICAL, OPTIONAL,         INTENT(IN)    :: OSUM
-!
-END SUBROUTINE LES_MEAN_SUBGRID_3D
-!
-
-      SUBROUTINE LES_MEAN_SUBGRID_SURF(PA, PA_MEAN, OSUM)
-
-REAL,    DIMENSION(:,:), INTENT(IN)    :: PA
-!
-REAL,    DIMENSION(:),   INTENT(INOUT) :: PA_MEAN
-!
-LOGICAL, OPTIONAL,       INTENT(IN)    :: OSUM
-!
-END SUBROUTINE LES_MEAN_SUBGRID_SURF
-!
-END INTERFACE
-!
-END MODULE MODI_LES_MEAN_SUBGRID
diff --git a/src/testprogs/rain_ice/main_rain_ice.F90 b/src/testprogs/rain_ice/main_rain_ice.F90
index 1948e8166..b9c3522f2 100644
--- a/src/testprogs/rain_ice/main_rain_ice.F90
+++ b/src/testprogs/rain_ice/main_rain_ice.F90
@@ -342,7 +342,6 @@ USE MODD_RAIN_ICE_PARAM
 USE MODD_PARAM_ICE
 USE MODD_TURB_N, ONLY: TURB_GOTO_MODEL, CSUBG_MF_PDF
 
-USE MODD_REF
 USE MODI_INI_RAIN_ICE
 
 IMPLICIT NONE
@@ -411,7 +410,6 @@ XVDEPOSC=0.02    ! deposition speed (2 cm.s-1)
 !
 !        2. Set implicit default values for MODD_RAIN_ICE_DESCR 
 !                     et MODD_RAIN_ICE_PARAM
-XTHVREFZ=300.
 !
 CALL INI_RAIN_ICE (KULOUT, CMICRO)
 !update values from namparar
diff --git a/src/testprogs/turb_mnh/getdata_turb_mod.F90 b/src/testprogs/turb_mnh/getdata_turb_mod.F90
index ecdc7fb25..30fa20586 100644
--- a/src/testprogs/turb_mnh/getdata_turb_mod.F90
+++ b/src/testprogs/turb_mnh/getdata_turb_mod.F90
@@ -17,6 +17,7 @@ SUBROUTINE GETDATA_TURB (NPROMA, NGPBLKS, NFLEVG, KRR, KRRL, KRRI, KSV, KLEV, &
                         &PTHM_B, ZRM_B, &
                         &PRUS_B, PRVS_B, PRWS_B, PRTHS_B, ZRRS_B, ZRSVS_B, PRTKES_OUT_B, &
                         &PFLXZTHVMF_B, &
+                        &PHGRAD_B, PZS_B, &
                         !OUT (allocation)
                         &PSIGS_B, &
                         &ZWTH_B,ZWRC_B,ZWSV_B,PDP_B,PTP_B,PTDIFF_B,PTDISS_B, &
@@ -89,6 +90,8 @@ REAL, ALLOCATABLE   :: ZRRS_B             (:,:,:,:,:) !(KLON,1,KLEV+2,KRR)
 REAL, ALLOCATABLE   :: ZRSVS_B            (:,:,:,:,:) !(KLON,1,KLEV+2,KSV)
 REAL, ALLOCATABLE   :: PRTKES_OUT_B       (:,:,:,:)
 REAL, ALLOCATABLE   :: PFLXZTHVMF_B       (:,:,:,:)
+REAL, ALLOCATABLE   :: PHGRAD_B           (:,:,:,:,:) !(KLON,1,KLEV+2,KGRADIENTS)
+REAL, ALLOCATABLE   :: PZS_B              (:,:,:)
 
 !OUT
 REAL, ALLOCATABLE   :: PSIGS_B            (:,:,:,:)
@@ -264,6 +267,8 @@ ALLOCATE (ZRRS_B             (NPROMA,1,NFLEVG,KRR,NGPBLKS))
 ALLOCATE (ZRSVS_B            (NPROMA,1,NFLEVG,KSV,NGPBLKS))
 ALLOCATE (PRTKES_OUT_B       (NPROMA,1,NFLEVG,NGPBLKS))
 ALLOCATE (PFLXZTHVMF_B       (NPROMA,1,NFLEVG,NGPBLKS))
+ALLOCATE (PHGRAD_B           (NPROMA,1,NFLEVG,0,NGPBLKS))
+ALLOCATE (PZS_B              (NPROMA,1,NGPBLKS))
 
 ALLOCATE (PSIGS_B            (NPROMA,1,NFLEVG,NGPBLKS))
 ALLOCATE (ZWTH_B             (NPROMA,1,NFLEVG,NGPBLKS))
@@ -349,6 +354,8 @@ CALL SET (ZRRS_B             )
 CALL SET (ZRSVS_B            )
 CALL SET (PRTKES_OUT_B       )
 CALL SET (PFLXZTHVMF_B       )
+CALL SET (PHGRAD_B           )
+CALL SET (PZS_B              )
 
 CALL SET (PSIGS_B            )
 CALL SET (ZWTH_B             )
diff --git a/src/testprogs/turb_mnh/main_turb.F90 b/src/testprogs/turb_mnh/main_turb.F90
index be441426a..214a91a11 100644
--- a/src/testprogs/turb_mnh/main_turb.F90
+++ b/src/testprogs/turb_mnh/main_turb.F90
@@ -6,6 +6,7 @@ USE COMPUTE_DIFF
 USE MODD_DIMPHYEX,   ONLY: DIMPHYEX_t
 USE MODD_CST,        ONLY: CST
 USE MODD_CTURB
+USE MODD_LES,        ONLY: TLES
 USE MODD_TURB_n,     ONLY: TURBN
 USE MODD_IO,         ONLY: TFILEDATA
 USE MODI_TURB
@@ -66,6 +67,8 @@ REAL, ALLOCATABLE   :: ZRRS               (:,:,:,:,:) !(KLON,1,KLEV+2,KRR)
 REAL, ALLOCATABLE   :: ZRSVS              (:,:,:,:,:) !(KLON,1,KLEV+2,KSV)
 REAL, ALLOCATABLE   :: PRTKES_OUT         (:,:,:,:)
 REAL, ALLOCATABLE   :: PFLXZTHVMF         (:,:,:,:)
+REAL, ALLOCATABLE   :: PHGRAD             (:,:,:,:,:) !(KLON,1,KLEV+2,KGRADIENTS)
+REAL, ALLOCATABLE   :: PZS                (:,:,:)
 
 !OUT
 REAL, ALLOCATABLE   :: PSIGS              (:,:,:,:)
@@ -116,10 +119,11 @@ INTEGER :: NPROMA, NGPBLKS, NFLEVG
 INTEGER :: IBL, JLON, JLEV
 
 TYPE(DIMPHYEX_t)         :: D, D0
-INTEGER                  :: IMI, ISPLIT, KSV_LGBEG, KSV_LGEND
+INTEGER                  :: IMI, ISPLIT, KSV_LGBEG, KSV_LGEND, KGRADIENTS
+INTEGER                  :: KSV_LIMA_NR, KSV_LIMA_NS, KSV_LIMA_NG, KSV_LIMA_NH
 CHARACTER(LEN=4),DIMENSION(2)  :: HLBCX, HLBCY
 CHARACTER(LEN=6)   ::  HPROGRAM
-LOGICAL            :: O2D, ONOMIXLG, OFLAT, LLES_CALL, OCOUPLES, OBLOWSNOW, OCOMPUTE_SRC, OOCEAN, ODEEPOC
+LOGICAL            :: O2D, ONOMIXLG, OFLAT, OCOUPLES, OBLOWSNOW, OCOMPUTE_SRC, OOCEAN, ODEEPOC
 TYPE(TFILEDATA)    :: ZTFILE
 REAL :: ZCEI_MAX, ZCEI_MIN, ZCOEF_AMPL_SAT
 CHARACTER (LEN=4)   :: CMICRO  
@@ -187,6 +191,7 @@ CALL GETDATA_TURB (NPROMA, NGPBLKS, NFLEVG, KRR, KRRL, KRRI, KSV, KLEV, &
                   &PTHM, ZRM, &
                   &PRUS, PRVS, PRWS, PRTHS, ZRRS, ZRSVS, PRTKES_OUT, &
                   &PFLXZTHVMF, &
+                  &PHGRAD, PZS, &
                   !OUT only (needed to allocate the array to be passed to the subroutine)
                   &PSIGS, &
                   &ZWTH,ZWRC,ZWSV,PDP,PTP,PTDIFF,PTDISS, &
@@ -217,7 +222,6 @@ HPROGRAM='AROME '
 O2D=.FALSE.
 ONOMIXLG=.FALSE.
 OFLAT=.FALSE.
-LLES_CALL=.FALSE.
 OCOUPLES=.FALSE.
 OBLOWSNOW=.FALSE.
 OCOMPUTE_SRC=SIZE(PSIGS, 3)/=0
@@ -228,6 +232,12 @@ ZTFILE%LOPENED=.FALSE.
 ZCEI_MAX=1.0
 ZCEI_MIN=0.0
 ZCOEF_AMPL_SAT=0.0
+KGRADIENTS=0
+KSV_LIMA_NR=0
+KSV_LIMA_NS=0
+KSV_LIMA_NG=0
+KSV_LIMA_NH=0
+TLES%LLES=.FALSE.
 !
 PTSTEP = 25.0000000000000
 
@@ -330,17 +340,19 @@ JBLK2 =      (NGPBLKS * (ITID+1)) / NTID
     YLSTACK%U = 0
 #endif
 
-CALL TURB (CST,CSTURB,TBUCONF,TURBN, D,&
-   & IMI, KRR, KRRL, KRRI, HLBCX, HLBCY,&
+CALL TURB (CST,CSTURB,TBUCONF,TURBN, D, TLES,&
+   & IMI, KRR, KRRL, KRRI, HLBCX, HLBCY, KGRADIENTS, 1,&
    & ISPLIT,IMI, KSV, KSV_LGBEG, KSV_LGEND, &
-   & HPROGRAM, O2D, ONOMIXLG, OFLAT, LLES_CALL,OCOUPLES,OBLOWSNOW,& 
+   & HPROGRAM, &
+   & KSV_LIMA_NR, KSV_LIMA_NS, KSV_LIMA_NG, KSV_LIMA_NH,&
+   & O2D, ONOMIXLG, OFLAT, OCOUPLES,OBLOWSNOW,.FALSE.,& 
    & OCOMPUTE_SRC, 1.0, &
    & OOCEAN,ODEEPOC, .FALSE.,   &
    & 'NONE',CMICRO,           &
    & 2*PTSTEP,ZTFILE,                                      &
    & ZDXX(:,:,:,IBL),ZDYY(:,:,:,IBL),ZDZZ(:,:,:,IBL),ZDZX(:,:,:,IBL),ZDZY(:,:,:,IBL),ZZZ(:,:,:,IBL),          &
    & ZDIRCOSXW,ZDIRCOSYW,ZDIRCOSZW,ZCOSSLOPE,ZSINSLOPE,    &
-   & PRHODJ(:,:,:,IBL),PTHVREF(:,:,:,IBL),                              &
+   & PRHODJ(:,:,:,IBL),PTHVREF(:,:,:,IBL), PHGRAD, PZS,                             &
    & PSFTH(:,:,IBL),PSFRV(:,:,IBL),PSFSV(:,:,:,IBL),PSFU(:,:,IBL),PSFV(:,:,IBL),                          &
    & PPABSM(:,:,:,IBL),PUM(:,:,:,IBL),PVM(:,:,:,IBL),PWM(:,:,:,IBL),PTKEM(:,:,:,IBL),ZSVM(:,:,:,:,IBL),PSRCM(:,:,:,IBL),                  &
    & PLENGTHM(:,:,:,IBL),PLENGTHH(:,:,:,IBL),MFMOIST(:,:,:,IBL),                            &
@@ -462,10 +474,10 @@ TURBN%CTURBLEN='BL89'
 TURBN%LSTATNW=.FALSE.
 TURBN%LTURB_DIAG=.FALSE.
 TURBN%LTURB_FLX=.FALSE.
-TURBN%LHGRAD=.FALSE.
 TURBN%LSUBG_COND=.TRUE.
 TURBN%LRMC01=.FALSE.
 TURBN%CTOM='NONE'
+TURBN%LLEONARD=.FALSE.
 
 XCED  = 0.85
 XCEP  = 2.11 
-- 
GitLab