diff --git a/src/MNH/ini_surfstationn.f90 b/src/MNH/ini_surfstationn.f90
index d0a1671b6857cc2641207cf0defbfecbc83abb2a..f53ee35d11e73fd6873e8e7abf40d90a227579af 100644
--- a/src/MNH/ini_surfstationn.f90
+++ b/src/MNH/ini_surfstationn.f90
@@ -94,7 +94,6 @@ USE MODE_ll
 USE MODE_MSG
 !
 USE MODI_INI_STATION_N
-!USE MODN_STATION_n
 !
 IMPLICIT NONE
 !
@@ -165,7 +164,7 @@ END SUBROUTINE DEFAULT_STATION_n
 SUBROUTINE ALLOCATE_STATION_n(TSTATION,KMI)
 !
 TYPE(STATION), INTENT(INOUT) :: TSTATION   ! 
-INTEGER                      :: KMI        ! Model Index 
+INTEGER,       INTENT(IN)    :: KMI        ! Model Index
 !
 if ( tstation%step < xtstep ) then
   call Print_msg( NVERB_ERROR, 'GEN', 'INI_SURFSTATION_n', 'TSTATION%STEP smaller than XTSTEP' )
diff --git a/src/MNH/init_aerosol_properties.f90 b/src/MNH/init_aerosol_properties.f90
index 6526ffba71b3a4cf50164b9954aaba4a68d95c65..dd7c5655077d86e07f51df49c0e18f7118f1931e 100644
--- a/src/MNH/init_aerosol_properties.f90
+++ b/src/MNH/init_aerosol_properties.f90
@@ -88,9 +88,9 @@ INTEGER  :: ILUOUT0 ! Logical unit number for output-listing
 INTEGER  :: IRESP   ! Return code of FM-routines
 !
 REAL :: X1, X2, X3, X4, X5
-REAL, DIMENSION(7) :: diameters=(/ 0.01E-6, 0.05E-6, 0.1E-6, 0.2E-6, 0.5E-6, 1.E-6, 2.E-6 /)
-REAL, DIMENSION(3) :: sigma=(/ 2., 2.5, 3. /)
-CHARACTER(LEN=7), DIMENSION(3) :: types=(/ 'NH42SO4', 'NaCl   ', '       ' /)
+! REAL, DIMENSION(7) :: diameters=(/ 0.01E-6, 0.05E-6, 0.1E-6, 0.2E-6, 0.5E-6, 1.E-6, 2.E-6 /)
+! REAL, DIMENSION(3) :: sigma=(/ 2., 2.5, 3. /)
+! CHARACTER(LEN=7), DIMENSION(3) :: types=(/ 'NH42SO4', 'NaCl   ', '       ' /)
 !REAL, DIMENSION(1) :: diameters=(/ 0.25E-6 /)
 !CHARACTER(LEN=7), DIMENSION(1) :: types=(/ '       ' /)
 INTEGER :: II, IJ, IK
diff --git a/src/MNH/init_mnh.f90 b/src/MNH/init_mnh.f90
index 5ab71c596506fb22baee5fbb1393d0dc7f40a3f1..9fe0836d00fcc2caa41a735c227bcfba2aa610e1 100644
--- a/src/MNH/init_mnh.f90
+++ b/src/MNH/init_mnh.f90
@@ -84,7 +84,6 @@ USE MODD_LUNIT
 USE MODD_LUNIT_n
 USE MODD_MNH_SURFEX_n
 USE MODD_PARAMETERS
-USE MODD_REF
 !
 use mode_field,            only: Alloc_field_scalars, Fieldlist_goto_model
 USE MODE_IO_FILE,          ONLY: IO_File_open
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 77fbdf092c5b4d1d6dceeba9cbdb856a3ea70148..038399dcd59eb8675f4ac3afa39931b8c9ab396b 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -314,7 +314,7 @@ USE MODD_FRC_n
 USE MODD_GET_n
 USE MODD_GRID,           ONLY: XLONORI,XLATORI
 USE MODD_GRID_n
-USE MODD_IBM_PARAM_n    !, ONLY : LIBM, LIBM_TROUBLE, CIBM_ADV,  XT_IBM_FORC, XIBM_LS
+USE MODD_IBM_PARAM_n,    ONLY: CIBM_ADV, LIBM, LIBM_TROUBLE, XIBM_LS
 USE MODD_ICE_C1R3_DESCR, ONLY: XRTMIN_C1R3=>XRTMIN
 USE MODD_IO,             ONLY: LIO_NO_WRITE, TFILEDATA, TFILE_SURFEX, TFILE_DUMMY
 USE MODD_LBC_n
@@ -342,15 +342,14 @@ USE MODD_PARAM_LIMA,     ONLY: MSEDC => LSEDC, MWARM => LWARM, MRAIN => LRAIN, &
                                XRTMIN_LIMA=>XRTMIN, MACTTKE=>LACTTKE
 USE MODD_PARAM_MFSHALL_n
 USE MODD_PARAM_n
-USE MODD_PASPOL,      ONLY : LPASPOL
 USE MODD_PAST_FIELD_n
 USE MODD_PRECIP_n
 use modd_precision,      only: MNHTIME
 USE MODD_PROFILER_n
 USE MODD_RADIATIONS_n,   ONLY: XTSRAD,XSCAFLASWD,XDIRFLASWD,XDIRSRFSWD, XAER, XDTHRAD
 USE MODD_RAIN_ICE_DESCR, ONLY: XRTMIN
-USE MODD_RECYCL_PARAM_n
-USE MODD_REF
+USE MODD_RECYCL_PARAM_n, ONLY: LRECYCL
+USE MODD_REF,            ONLY: LCOUPLES
 USE MODD_REF_n
 USE MODD_SALT,           ONLY: LSALT
 USE MODD_SERIES,         ONLY: LSERIES
diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90
index f84c5f7115ed0172c39f011b8227c0ac61290faa..3e3167691431dd68287e8573c951d8aa8ea3b985 100644
--- a/src/MNH/prep_real_case.f90
+++ b/src/MNH/prep_real_case.f90
@@ -1057,15 +1057,15 @@ ZDIAG =  ZDIAG + ZTIME2 - ZTIME1
 !*       16.    INITIALIZE LEVELSET FOR IBM
 !              ---------------------------
 !
-CALL GET_DIM_EXT_ll('B',NIU,NJU)
-NKU=NKMAX+2*JPVEXT
-!
 IF (LIBM_LSF) THEN
   !
   IF (.NOT.LCARTESIAN) THEN
     CALL PRINT_MSG(NVERB_FATAL,'GEN','PREP_IDEAL_CASE','IBM can only be used with cartesian coordinates')
   ENDIF
   !
+  CALL GET_DIM_EXT_ll('B',NIU,NJU)
+  NKU=NKMAX+2*JPVEXT
+  !
   ALLOCATE(XIBM_LS(NIU,NJU,NKU,4))
   !
   CALL IBM_INIT_LS(XIBM_LS)
diff --git a/src/MNH/rad_bound.f90 b/src/MNH/rad_bound.f90
index 1dd85e1bfbfc91572a88c33f221f0e1949f178eb..dc1d30b31fcafdd78d4f54baf87d8cb859ac844b 100644
--- a/src/MNH/rad_bound.f90
+++ b/src/MNH/rad_bound.f90
@@ -162,9 +162,9 @@ END MODULE MODI_RAD_BOUND
 USE MODD_CONF         
 USE MODD_CTURB
 USE MODD_PARAMETERS
+USE MODD_RECYCL_PARAM_n, ONLY: LRECYCL, XRCOEFF
 !
 USE MODE_ll
-USE MODD_RECYCL_PARAM_n
 !
 USE MODI_CPHASE_PROFILE
 !
diff --git a/src/MNH/read_exsegn.f90 b/src/MNH/read_exsegn.f90
index 9732fe407344187ce025c2e31f4e4b63b165b56a..793e407af8923876d115ba8af9d4002d89a919b5 100644
--- a/src/MNH/read_exsegn.f90
+++ b/src/MNH/read_exsegn.f90
@@ -324,13 +324,11 @@ USE MODD_FOREFIRE
 #endif
 USE MODD_GET_n
 USE MODD_GR_FIELD_n
-!USE MODD_IBM_PARAM_n
 USE MODD_IO,   ONLY: TFILEDATA
 USE MODD_LUNIT_n, ONLY: TLUOUT
 USE MODD_NSV,NSV_USER_n=>NSV_USER
 USE MODD_PARAMETERS
 USE MODD_PASPOL
-!USE MODD_RECYCL_PARAM_n
 USE MODD_SALT
 USE MODD_VAR_ll,  ONLY: NPROC
 USE MODD_VISCOSITY
diff --git a/src/MNH/resolved_cloud.f90 b/src/MNH/resolved_cloud.f90
index aa2e2070c2fe1a2b4339e22a396a15041189ca58..3fbd94617e542666295f0cc9876d5c998355d4bd 100644
--- a/src/MNH/resolved_cloud.f90
+++ b/src/MNH/resolved_cloud.f90
@@ -296,8 +296,7 @@ USE MODD_NSV,            ONLY: NSV_C1R3END, NSV_C2R2BEG, NSV_C2R2END,
 USE MODD_PARAM_C2R2,     ONLY: LSUPSAT
 USE MODD_PARAMETERS,     ONLY: JPHEXT, JPVEXT
 USE MODD_PARAM_ICE,      ONLY: CSEDIM, LADJ_BEFORE, LADJ_AFTER, CFRAC_ICE_ADJUST, LRED
-USE MODD_PARAM_LIMA,     ONLY: LCOLD, XCONC_CCN_TOT, NMOD_CCN, NMOD_IFN, NMOD_IMM, LPTSPLIT, &
-                               YRTMIN=>XRTMIN, YCTMIN=>XCTMIN, MACTIT=>LACTIT, LSPRO, LADJ
+USE MODD_PARAM_LIMA,     ONLY: LADJ, LCOLD, LPTSPLIT, LSPRO, NMOD_CCN, NMOD_IFN, NMOD_IMM
 USE MODD_RAIN_ICE_DESCR, ONLY: XRTMIN
 USE MODD_SALT,           ONLY: LSALT
 USE MODD_TURB_n,         ONLY: CSUBG_AUCV_RI, CCONDENS, CLAMBDA3, CSUBG_MF_PDF
@@ -470,7 +469,6 @@ INTEGER                               :: ISVEND ! last  scalar index for microph
 REAL, DIMENSION(:),       ALLOCATABLE :: ZRSMIN ! Minimum value for tendencies
 LOGICAL, DIMENSION(SIZE(PZZ,1),SIZE(PZZ,2),SIZE(PZZ,3)):: LLMICRO ! mask to limit computation
 REAL, DIMENSION(SIZE(PZZ,1),SIZE(PZZ,2),SIZE(PZZ,3), KRR) :: ZFPR
-REAL, DIMENSION(SIZE(PZZ,1),SIZE(PZZ,2),SIZE(PZZ,3)) :: ZNPRO,ZSSPRO
 !
 INTEGER                               :: JMOD, JMOD_IFN
 LOGICAL                               :: GWEST,GEAST,GNORTH,GSOUTH
diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90
index 4473947be7b07690c51b881457c2b92821e27685..228241e2ce6e40965f1766ef2b8396210a08c4c9 100644
--- a/src/MNH/turb.f90
+++ b/src/MNH/turb.f90
@@ -366,7 +366,6 @@ USE MODD_LES
 USE MODD_NSV
 USE MODD_PARAMETERS, ONLY: JPVEXT_TURB
 USE MODD_PARAM_LIMA
-USE MODD_REF
 USE MODD_TURB_n, ONLY: XCADAP
 !
 USE MODI_GRADIENT_M
diff --git a/src/MNH/turb_ver_thermo_flux.f90 b/src/MNH/turb_ver_thermo_flux.f90
index 8b1aed683e89334264efa2e19823d7ba609e1042..cf539984e7751f862a6251a3e80b048274740073 100644
--- a/src/MNH/turb_ver_thermo_flux.f90
+++ b/src/MNH/turb_ver_thermo_flux.f90
@@ -341,7 +341,7 @@ USE MODD_CTURB
 use modd_field,          only: tfielddata, TYPEREAL
 USE MODD_GRID_n,         ONLY: XZS, XXHAT, XYHAT
 USE MODD_IO,             ONLY: TFILEDATA
-USE MODD_METRICS_n
+USE MODD_METRICS_n,      ONLY: XDXX, XDYY, XDZX, XDZY, XDZZ
 USE MODD_PARAMETERS
 USE MODD_TURB_n,         ONLY: LHGRAD, XCOEFHGRADTHL, XCOEFHGRADRM, XALTHGRAD, XCLDTHOLD
 USE MODD_CONF