diff --git a/src/arome/ext/aro_turb_mnh.F90 b/src/arome/ext/aro_turb_mnh.F90
index 377c38fc9d5b9d1c9113868f043d044e4cb065d4..619f5392b5d864563c3e3d78198a6397c599778f 100644
--- a/src/arome/ext/aro_turb_mnh.F90
+++ b/src/arome/ext/aro_turb_mnh.F90
@@ -452,7 +452,6 @@ CALL TURB (CST,CSTURB,TBUCONF,TURBN, YLDIMPHYEX,&
    & OCOMPUTE_SRC, 1.0, &
    & OOCEAN,ODEEPOC, .FALSE.,   &
    & 'NONE',CMICRO,           &
-   & ZIMPL,                                    &
    & 2*PTSTEP,ZTFILE,                                      &
    & ZDXX,ZDYY,ZDZZ,ZDZX,ZDZY,ZZZ,          &
    & ZDIRCOSXW,ZDIRCOSYW,ZDIRCOSZW,ZCOSSLOPE,ZSINSLOPE,    &
diff --git a/src/arome/ext/aroini_turb.h b/src/arome/ext/aroini_turb.h
index eeb0a5ab3191974f4ce769e92768c6a5cbe97e63..fd98cf451465248c9477f7a7f0a226299fd9f887 100644
--- a/src/arome/ext/aroini_turb.h
+++ b/src/arome/ext/aroini_turb.h
@@ -1,8 +1,9 @@
 INTERFACE
-SUBROUTINE AROINI_TURB(PLINI,OHARATU,OSTATNW)
+SUBROUTINE AROINI_TURB(PLINI,OHARATU,OSTATNW,OSUBG_COND)
 USE PARKIND1  ,ONLY : JPRB
 REAL(KIND=JPRB),INTENT(IN)::PLINI
 LOGICAL, INTENT(IN) ::OHARATU
 LOGICAL, INTENT(IN) ::OSTATNW
+LOGICAL, INTENT(IN) :: OSUBG_COND
 END SUBROUTINE AROINI_TURB
 END INTERFACE
diff --git a/src/arome/ext/suphmpa.F90 b/src/arome/ext/suphmpa.F90
index cafaf9bef0750a63d837caa4e03e7df539f2fe16..681a037ce1a16bcc9c8c0e6c584cdf839ba53438 100644
--- a/src/arome/ext/suphmpa.F90
+++ b/src/arome/ext/suphmpa.F90
@@ -106,7 +106,7 @@ ASSOCIATE(XDETR_LUP=>YDPARAR%XDETR_LUP, XCMF=>YDPARAR%XCMF, &
  & LAROBU_ENABLE=>YDPARAR%LAROBU_ENABLE, LCRIAUTI=>YDPARAR%LCRIAUTI, &
  & XKRC_MF=>YDPARAR%XKRC_MF, XALPHA_MF=>YDPARAR%XALPHA_MF, &
  & XPRES_UV=>YDPARAR%XPRES_UV, NRR=>YDPARAR%NRR, XCRAD_MF=>YDPARAR%XCRAD_MF, &
- & CMF_UPDRAFT=>YDPARAR%CMF_UPDRAFT, LHARATU=>YDPARAR%LHARATU, LSUBG_COND=>YDPARAR%LSUBG_COND,&
+ & CMF_UPDRAFT=>YDPARAR%CMF_UPDRAFT, LHARATU=>YDPARAR%LHARATU, LOSUBG_COND=>YDPARAR%LOSUBG_COND,&
  & LSTATNW=>YDPARAR%LSTATNW, &
  & LMPA=>YDARPHY%LMPA, LKFBCONV=>YDARPHY%LKFBCONV, LMFSHAL=>YDARPHY%LMFSHAL, &
  & LGRADHPHY=>YDARPHY%LGRADHPHY, &
@@ -166,7 +166,7 @@ CALL AROINI_BUDGET(LAROBU_ENABLE)
 
 !       4. Initialisation of Turbulence scheme
 
-CALL AROINI_TURB(XLINI,LHARATU,LSTATNW,LSUBG_COND)
+CALL AROINI_TURB(XLINI,LHARATU,LSTATNW,LOSUBG_COND)
 
 !       5. Initialisation of Mass Flux Shallow convection scheme
 
diff --git a/src/common/turb/mode_turb_hor.F90 b/src/common/turb/mode_turb_hor.F90
index 576cb3268940d000d05144e872c027511602b730..8679d4cc79dd48b6a430d2385f7fb2c869dc7a3e 100644
--- a/src/common/turb/mode_turb_hor.F90
+++ b/src/common/turb/mode_turb_hor.F90
@@ -7,9 +7,9 @@ IMPLICIT NONE
 CONTAINS
              SUBROUTINE TURB_HOR(D,CST,CSTURB,TURBN,                 &
                       KSPLT, KRR, KRRL, KRRI, PTSTEP,                &
-                      OOCEAN,OCOMPUTE_SRC,                           &
+                      OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,                 &
                       TPFILE,                                        &
-                      PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,                  &
+                      PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,PRSNOW,           &
                       PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,                 &
                       PCOSSLOPE,PSINSLOPE,                           &
                       PINV_PDXX, PINV_PDYY, PINV_PDZZ, PMZM_PRHODJ,  &
@@ -169,13 +169,16 @@ INTEGER,                INTENT(IN)   :: KRR           ! number of moist var.
 INTEGER,                INTENT(IN)   :: KRRL          ! number of liquid water var.
 INTEGER,                INTENT(IN)   :: KRRI          ! number of ice water var.
 REAL,                   INTENT(IN)   ::  PTSTEP       !
-LOGICAL,                  INTENT(IN) ::  OOCEAN ! switch for ocean version
+LOGICAL,                INTENT(IN)   ::  OOCEAN ! switch for ocean version
 LOGICAL,                INTENT(IN)   ::  OCOMPUTE_SRC ! flag to define dimensions of SIGS and SRCT variables
+LOGICAL,                INTENT(IN)   ::  OBLOWSNOW    ! switch to activate pronostic blowing snow
+
 TYPE(TFILEDATA),          INTENT(IN)    ::  TPFILE       ! Output file
 !
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PDXX, PDYY, PDZZ, PDZX, PDZY 
                                                          ! Metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PZZ          ! vertical grid
+REAL,                     INTENT(IN)    ::  PRSNOW       ! Ratio for diffusion coeff. scalar (blowing snow)
 REAL, DIMENSION(:,:),     INTENT(IN)    ::  PDIRCOSXW, PDIRCOSYW, PDIRCOSZW
 ! Director Cosinus along x, y and z directions at surface w-point
 REAL, DIMENSION(:,:),   INTENT(IN)   ::  PCOSSLOPE       ! cosinus of the angle 
@@ -347,10 +350,10 @@ REAL, DIMENSION(:,:,:),   INTENT(INOUT) ::  PSIGS
 !
 !*      15.   HORIZONTAL FLUXES OF PASSIVE SCALARS
 !
-      CALL      TURB_HOR_SV_FLUX(TURBN,KSPLT,                        &
+      CALL      TURB_HOR_SV_FLUX(TURBN,KSPLT,OBLOWSNOW,              &
                       TPFILE,                                        &
                       PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ,  &
-                      PDXX,PDYY,PDZZ,PDZX,PDZY,                      &
+                      PDXX,PDYY,PDZZ,PDZX,PDZY,PRSNOW,               &
                       PDIRCOSXW,PDIRCOSYW,                           &
                       PRHODJ,PWM,                                    &
                       PSFSVM,                                        &
@@ -359,8 +362,8 @@ REAL, DIMENSION(:,:,:),   INTENT(INOUT) ::  PSIGS
 !
       IF (KSPLT==1 .AND. LLES_CALL)                                  &
       CALL      TURB_HOR_SV_CORR(D,CST,CSTURB,                       &
-                      KRR,KRRL,KRRI,OOCEAN,OCOMPUTE_SRC,             &
-                      PDXX,PDYY,PDZZ,PDZX,PDZY,                      &
+                      KRR,KRRL,KRRI,OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,   &
+                      PDXX,PDYY,PDZZ,PDZX,PDZY,PRSNOW,               &
                       PLM,PLEPS,PTKEM,PTHVREF,                       &
                       PTHLM,PRM,                                     &
                       PLOCPEXNM,PATHETA,PAMOIST,PSRCM,               &
diff --git a/src/common/turb/mode_turb_hor_splt.F90 b/src/common/turb/mode_turb_hor_splt.F90
index 75d35905d1b82a084d9692c390a6b6a6ee15e78e..afc97c422506d361940a8d98631ab9c71e4cad07 100644
--- a/src/common/turb/mode_turb_hor_splt.F90
+++ b/src/common/turb/mode_turb_hor_splt.F90
@@ -7,7 +7,7 @@ IMPLICIT NONE
 CONTAINS
            SUBROUTINE TURB_HOR_SPLT(D,CST,CSTURB,TURBN,              &
                       KSPLIT, KRR,KRRL,KRRI,KSV, PTSTEP,HLBCX,HLBCY, &
-                      OOCEAN,OCOMPUTE_SRC,                           &
+                      OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,PRSNOW,          &
                       TPFILE,                                        &
                       PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,                  &
                       PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,                 &
@@ -191,7 +191,8 @@ REAL,                   INTENT(IN)   ::  PTSTEP       ! timestep
 CHARACTER (LEN=*), DIMENSION(:), INTENT(IN)       ::  HLBCX,HLBCY
 LOGICAL,                INTENT(IN)   ::  OOCEAN       ! switch for Ocean model version
 LOGICAL,                INTENT(IN)   ::  OCOMPUTE_SRC ! flag to define dimensions of SIGS and SRCT variables
-
+LOGICAL,                INTENT(IN)   ::  OBLOWSNOW    ! switch to activate pronostic blowing snow
+REAL,                   INTENT(IN)   ::  PRSNOW       ! Ratio for diffusion coeff. scalar (blowing snow)
 TYPE(TFILEDATA),          INTENT(IN)    ::  TPFILE       ! Output file
 !
 REAL, DIMENSION(D%NIT,D%NJT,D%NKT),   INTENT(IN)    ::  PDXX, PDYY, PDZZ, PDZX, PDZY 
@@ -365,10 +366,10 @@ IF (KSPLIT>1 .AND. CPROGRAM=='MESONH') THEN
 !
 ! compute the turbulent tendencies for the small time step
     CALL TURB_HOR(D,CST,CSTURB,TURBN,                             &
-                   JSPLT, KRR, KRRL, KRRI, PTSTEP,    &
-                   OOCEAN,OCOMPUTE_SRC,                           &
+                   JSPLT, KRR, KRRL, KRRI, PTSTEP,                &
+                   OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,                 &
                    TPFILE,                                        &
-                   PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,                  &
+                   PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,PRSNOW,           &
                    PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,                 &
                    PCOSSLOPE,PSINSLOPE,                           &
                    ZINV_PDXX, ZINV_PDYY, ZINV_PDZZ, ZMZM_PRHODJ,  &
@@ -508,9 +509,9 @@ ELSE
 !
   CALL TURB_HOR(D,CST,CSTURB,TURBN,                            &
                 1, KRR, KRRL, KRRI,  PTSTEP,                   &
-                OOCEAN,OCOMPUTE_SRC,                           &
+                OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,                 &
                 TPFILE,                                        &
-                PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,                  &
+                PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,PRSNOW,           &
                 PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,                 &
                 PCOSSLOPE,PSINSLOPE,                           &
                 ZINV_PDXX, ZINV_PDYY, ZINV_PDZZ, ZMZM_PRHODJ,  &
diff --git a/src/common/turb/mode_turb_hor_sv_corr.F90 b/src/common/turb/mode_turb_hor_sv_corr.F90
index be965cc091f49954e9790cf901363c366936a85c..693d1979c2c2877d2b81d77368b17af4ae664c3c 100644
--- a/src/common/turb/mode_turb_hor_sv_corr.F90
+++ b/src/common/turb/mode_turb_hor_sv_corr.F90
@@ -6,8 +6,8 @@ MODULE MODE_TURB_HOR_SV_CORR
 IMPLICIT NONE
 CONTAINS
       SUBROUTINE TURB_HOR_SV_CORR(D,CST,CSTURB,                      &
-                      KRR,KRRL,KRRI,OOCEAN,OCOMPUTE_SRC,             &
-                      PDXX,PDYY,PDZZ,PDZX,PDZY,                      &
+                      KRR,KRRL,KRRI,OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,   &
+                      PDXX,PDYY,PDZZ,PDZX,PDZY,PRSNOW,               &
                       PLM,PLEPS,PTKEM,PTHVREF,                       &
                       PTHLM,PRM,                                     &
                       PLOCPEXNM,PATHETA,PAMOIST,PSRCM,               &
@@ -55,7 +55,6 @@ USE MODD_DIMPHYEX,   ONLY: DIMPHYEX_t
 USE MODD_PARAMETERS
 USE MODD_NSV, ONLY : NSV,NSV_LGBEG,NSV_LGEND
 USE MODD_LES
-USE MODD_BLOWSNOW
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -83,6 +82,8 @@ INTEGER,                  INTENT(IN)    ::  KRRL         ! number of liquid var.
 INTEGER,                  INTENT(IN)    ::  KRRI         ! number of ice var.
 LOGICAL,                  INTENT(IN)    ::  OOCEAN       ! switch for Ocean model version
 LOGICAL,                  INTENT(IN)    ::  OCOMPUTE_SRC ! flag to define dimensions of SIGS and SRCT variables
+LOGICAL,                  INTENT(IN)    ::  OBLOWSNOW    ! switch to activate pronostic blowing snow
+REAL,                     INTENT(IN)    ::  PRSNOW       ! Ratio for diffusion coeff. scalar (blowing snow)
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PDXX, PDYY, PDZZ, PDZX, PDZY 
                                                          ! Metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PLM          ! mixing length
@@ -121,9 +122,9 @@ REAL :: ZCSV          !constant for the scalar flux
 IKU=SIZE(PTKEM,3)
 CALL SECOND_MNH(ZTIME1)
 !
-IF(LBLOWSNOW) THEN
+IF(OBLOWSNOW) THEN
 ! See Vionnet (PhD, 2012) for a complete discussion around the value of the Schmidt number for blowing snow variables        
-   ZCSV= CSTURB%XCHF/XRSNOW 
+   ZCSV= CSTURB%XCHF/PRSNOW 
 ELSE
    ZCSV= CSTURB%XCHF
 ENDIF
diff --git a/src/common/turb/mode_turb_hor_sv_flux.F90 b/src/common/turb/mode_turb_hor_sv_flux.F90
index d490806f6ca91cb1edbc016c0f5df6bb8d0e8d5d..67f7859194a5396afcbf41cf120c1326aae9e869 100644
--- a/src/common/turb/mode_turb_hor_sv_flux.F90
+++ b/src/common/turb/mode_turb_hor_sv_flux.F90
@@ -6,10 +6,10 @@
 MODULE MODE_TURB_HOR_SV_FLUX
 IMPLICIT NONE
 CONTAINS
-      SUBROUTINE TURB_HOR_SV_FLUX(TURBN,KSPLT,                       &
+      SUBROUTINE TURB_HOR_SV_FLUX(TURBN,KSPLT,OBLOWSNOW,             &
                       TPFILE,                                        &
                       PK,PINV_PDXX,PINV_PDYY,PINV_PDZZ,PMZM_PRHODJ,  &
-                      PDXX,PDYY,PDZZ,PDZX,PDZY,                      &
+                      PDXX,PDYY,PDZZ,PDZX,PDZY,PRSNOW,               &
                       PDIRCOSXW,PDIRCOSYW,                           &
                       PRHODJ,PWM,                                    &
                       PSFSVM,                                        &
@@ -69,7 +69,6 @@ USE MODD_IO,             ONLY: TFILEDATA
 USE MODD_PARAMETERS
 USE MODD_NSV,            ONLY: NSV_LGBEG, NSV_LGEND
 USE MODD_LES
-USE MODD_BLOWSNOW
 !
 USE MODE_IO_FIELD_WRITE, ONLY: IO_FIELD_WRITE
 !
@@ -93,9 +92,11 @@ IMPLICIT NONE
 TYPE(TURB_t),             INTENT(IN)    :: TURBN
 INTEGER,                  INTENT(IN)    ::  KSPLT        ! split process index
 TYPE(TFILEDATA),          INTENT(IN)    ::  TPFILE       ! Output file
+LOGICAL,                  INTENT(IN)    ::  OBLOWSNOW    ! switch to activate pronostic blowing snow
 !
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PK          ! Turbulent diffusion doef.
                                                         ! PK = PLM * SQRT(PTKEM)
+REAL,                     INTENT(IN)    ::  PRSNOW       ! Ratio for diffusion coeff. scalar (blowing snow)
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PINV_PDXX   ! 1./PDXX
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PINV_PDYY   ! 1./PDYY
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PINV_PDZZ   ! 1./PDZZ
@@ -149,9 +150,9 @@ IKU = SIZE(PSVM,3)
 !
 ISV = SIZE(PSVM,4)
 !
-IF(LBLOWSNOW) THEN
+IF(OBLOWSNOW) THEN
 ! See Vionnet (PhD, 2012) for a complete discussion around the value of the Schmidt number for blowing snow variables              
-   ZCSV= XCHF/XRSNOW
+   ZCSV= XCHF/PRSNOW
 ELSE
    ZCSV= XCHF
 ENDIF
diff --git a/src/common/turb/modi_turb.F90 b/src/common/turb/modi_turb.F90
index e8572e60dd456c22adf798c43315f77f26b9101c..84215a3663eeb13d54d069b5a4679a83b5911ba2 100644
--- a/src/common/turb/modi_turb.F90
+++ b/src/common/turb/modi_turb.F90
@@ -95,10 +95,10 @@ REAL, DIMENSION(D%NIT,D%NJT,D%NKT),   INTENT(IN) ::  PTKET       ! TKE
 REAL, DIMENSION(D%NIT,D%NJT,D%NKT,KSV), INTENT(IN) ::  PSVT        ! passive scal. var.
 REAL, DIMENSION(D%NIT,D%NJT,D%NKT),   INTENT(IN) ::  PSRCT       ! Second-order flux
                       ! s'rc'/2Sigma_s2 at time t-1 multiplied by Lambda_3
-REAL, DIMENSION(MERGE(D%NIT,0,HTOM=='TM06'),&
-                MERGE(D%NJT,0,HTOM=='TM06')),INTENT(INOUT) :: PBL_DEPTH  ! BL height for TOMS
-REAL, DIMENSION(MERGE(D%NIT,0,ORMC01),&
-                MERGE(D%NJT,0,ORMC01)),INTENT(INOUT) :: PSBL_DEPTH ! SBL depth for RMC01
+REAL, DIMENSION(MERGE(D%NIT,0,TURBN%CTOM=='TM06'),&
+                MERGE(D%NJT,0,TURBN%CTOM=='TM06')),INTENT(INOUT) :: PBL_DEPTH  ! BL height for TOMS
+REAL, DIMENSION(MERGE(D%NIT,0,TURBN%LRMC01),&
+                MERGE(D%NJT,0,TURBN%LRMC01)),INTENT(INOUT) :: PSBL_DEPTH ! SBL depth for RMC01
 !
 !    variables for cloud mixing length
 REAL, DIMENSION(MERGE(D%NIT,0,KMODEL_CL==KMI .AND. HTURBLEN_CL/='NONE'),&
diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90
index 2d0d318e15eba1ca8fb92f6565d3979570a2a741..8c445ed9dbcab9b8974b2ed6a12591911dcd2f69 100644
--- a/src/common/turb/turb.F90
+++ b/src/common/turb/turb.F90
@@ -1078,7 +1078,7 @@ IF( TURBN%CTURBDIM == '3DIM' ) THEN
 #else
     CALL TURB_HOR_SPLT(D,CST,CSTURB, TURBN,                    &
           KSPLIT, KRR, KRRL, KRRI, KSV, PTSTEP,HLBCX,HLBCY,    &
-          OOCEAN,OCOMPUTE_SRC,                                 &
+          OOCEAN,OCOMPUTE_SRC,OBLOWSNOW,PRSNOW,                &
           TPFILE,                                              &
           PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ,                        &
           PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,                       &