From f4ed1ea69240262b3ef3add9567c6de0b6723808 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 9 Jan 2020 14:08:14 +0100
Subject: [PATCH] Philippe 09/01/2020: removed unused dummy arguments for DZF,
 DZM, MZF and MZM Shuman's functions

---
 src/MNH/advecmet.f90                   |  17 ++---
 src/MNH/advecmet_4th.f90               |  17 ++---
 src/MNH/advecscalar.f90                |  14 +---
 src/MNH/advecscalar_4th.f90            |  13 +---
 src/MNH/advection_uvw.f90              |  10 +--
 src/MNH/advection_uvw_cen.f90          |  10 +--
 src/MNH/advecuvw.f90                   |  24 ++----
 src/MNH/advecuvw_2nd.f90               |  24 ++----
 src/MNH/advecuvw_4th.f90               |  31 ++------
 src/MNH/advecuvw_weno_k.f90            |  42 +++++------
 src/MNH/anel_balancen.f90              |   6 +-
 src/MNH/anti_diff.f90                  |  27 +++----
 src/MNH/compute_exner_from_ground.f90  |   4 +-
 src/MNH/compute_exner_from_top.f90     |   4 +-
 src/MNH/compute_r00.f90                |   6 +-
 src/MNH/contrav.f90                    |   6 +-
 src/MNH/convection.f90                 |   6 +-
 src/MNH/dflux_corr.f90                 |   4 +-
 src/MNH/diagnos_les_mf.f90             |  34 ++++-----
 src/MNH/dyn_sources.f90                |  32 ++++----
 src/MNH/eddy_fluxn.f90                 |   6 +-
 src/MNH/endstep.f90                    |  12 +--
 src/MNH/exchange.f90                   |   6 +-
 src/MNH/fct_met.f90                    |  37 ++++-----
 src/MNH/fct_scalar.f90                 |  13 +---
 src/MNH/flash_geom_elec.f90            |   6 +-
 src/MNH/forcing.f90                    |  30 ++++----
 src/MNH/gdiv.f90                       |  17 +----
 src/MNH/gradient_m.f90                 |  14 ++--
 src/MNH/gradient_u.f90                 |  15 ++--
 src/MNH/gradient_uv.f90                |  13 +---
 src/MNH/gradient_uw.f90                |  17 ++---
 src/MNH/gradient_v.f90                 |  15 ++--
 src/MNH/gradient_vw.f90                |  17 ++---
 src/MNH/gradient_w.f90                 |  27 +++----
 src/MNH/gravity.f90                    |  13 +---
 src/MNH/ini_field_elec.f90             |   8 +-
 src/MNH/ini_spawn_lsn.f90              |   8 +-
 src/MNH/ini_tke_eps.f90                |  11 ++-
 src/MNH/initial_guess.f90              |  13 +---
 src/MNH/interp3d.f90                   |  15 ++--
 src/MNH/ion_drift.f90                  |   8 +-
 src/MNH/lap_m.f90                      |   7 +-
 src/MNH/les_budget.f90                 |   6 +-
 src/MNH/les_budget_tendn.f90           |  11 +--
 src/MNH/les_cloud_masksn.f90           |  11 +--
 src/MNH/les_ini_timestepn.f90          |  11 +--
 src/MNH/lesn.f90                       |  19 +++--
 src/MNH/metrics.f90                    |  14 +---
 src/MNH/mode_prandtl.f90               |  65 ++++++++--------
 src/MNH/modeln.f90                     |   6 +-
 src/MNH/mpdata.f90                     |  18 ++---
 src/MNH/mpdata_scalar.f90              |   8 +-
 src/MNH/num_diff.f90                   |   8 +-
 src/MNH/ppm.f90                        |  20 ++---
 src/MNH/prandtl.f90                    |  40 +++++-----
 src/MNH/pressure.f90                   |   6 +-
 src/MNH/pressure_in_prep.f90           |  11 +--
 src/MNH/pressurez.f90                  |   6 +-
 src/MNH/qlap.f90                       |   6 +-
 src/MNH/rel_forcingn.f90               |   6 +-
 src/MNH/relaxation.f90                 |   7 +-
 src/MNH/resolved_cloud.f90             |   8 +-
 src/MNH/resolved_elecn.f90             |   8 +-
 src/MNH/rmc01.f90                      |  11 +--
 src/MNH/set_bogus_vortex.f90           |   4 +-
 src/MNH/set_cstn.f90                   |   4 +-
 src/MNH/set_geosbal.f90                |   8 +-
 src/MNH/set_mass.f90                   |  10 +--
 src/MNH/set_refz.f90                   |   4 +-
 src/MNH/set_rsou.f90                   |   4 +-
 src/MNH/shallow_mf_pack.f90            |   4 +-
 src/MNH/shuman.f90                     |  32 ++------
 src/MNH/spawn_lsn.f90                  |   8 +-
 src/MNH/spawn_pressure2.f90            |   6 +-
 src/MNH/tke_eps_sources.f90            |  12 +--
 src/MNH/tridiag_thermo.f90             |  11 +--
 src/MNH/tridiag_w.f90                  |  10 +--
 src/MNH/turb.f90                       |  14 ++--
 src/MNH/turb_hor.f90                   |  21 +-----
 src/MNH/turb_hor_dyn_corr.f90          |  20 ++---
 src/MNH/turb_hor_splt.f90              |   7 +-
 src/MNH/turb_hor_sv_corr.f90           |  11 +--
 src/MNH/turb_hor_sv_flux.f90           |  14 ++--
 src/MNH/turb_hor_thermo_corr.f90       |   8 +-
 src/MNH/turb_hor_thermo_flux.f90       |  58 +++++++-------
 src/MNH/turb_hor_tke.f90               |  13 +---
 src/MNH/turb_hor_uv.f90                |   6 +-
 src/MNH/turb_hor_uw.f90                |  26 +++----
 src/MNH/turb_hor_vw.f90                |  26 +++----
 src/MNH/turb_ver.f90                   |   6 --
 src/MNH/turb_ver_dyn_flux.f90          |  58 +++++++-------
 src/MNH/turb_ver_sv_corr.f90           |  17 ++---
 src/MNH/turb_ver_sv_flux.f90           |  20 ++---
 src/MNH/turb_ver_thermo_corr.f90       |  66 ++++++++--------
 src/MNH/turb_ver_thermo_flux.f90       | 100 ++++++++++++-------------
 src/MNH/two_wayn.f90                   |   4 +-
 src/MNH/ver_dyn.f90                    |   4 +-
 src/MNH/ver_int_dyn.f90                |   4 +-
 src/MNH/ver_int_thermo.f90             |   7 +-
 src/MNH/ver_interp_field.f90           |  18 ++---
 src/MNH/ver_interp_to_mixed_grid.f90   |   6 +-
 src/MNH/ver_prep_mesonh_case.f90       |   2 +-
 src/MNH/viscosity.f90                  |   6 +-
 src/MNH/wguess.f90                     |   8 +-
 src/MNH/write_lfifm1_for_diag.f90      |  34 ++++-----
 src/MNH/write_lfifm1_for_diag_supp.f90 |  22 +++---
 src/MNH/zdiffusetup.f90                |   4 +-
 108 files changed, 691 insertions(+), 1001 deletions(-)

diff --git a/src/MNH/advecmet.f90 b/src/MNH/advecmet.f90
index 0297798cf..f16414b42 100644
--- a/src/MNH/advecmet.f90
+++ b/src/MNH/advecmet.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/22 19:02:00
-!-----------------------------------------------------------------
 !     #######################
       MODULE MODI_ADVECMET 
 !     #######################
@@ -162,12 +157,10 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS
 !*       0.2   Declarations of local variables :
 !
 INTEGER :: JRR           ! Loop index for  moist variables
-INTEGER :: IKU
 !
 !  
 !-------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
 !*       1.     COMPUTES THE ADVECTIVE TENDENCIES
 !     	        ---------------------------------
 !
@@ -181,7 +174,7 @@ PRTHS(:,:,:) = PRTHS(:,:,:)                            &
 IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ADVY_BU_RTH')
 !
 PRTHS(:,:,:) = PRTHS(:,:,:)                            &
-              -DZF(1,IKU,1, PRWCT(:,:,:) * MZM (1,IKU,1,PTHT(:,:,:)) )
+              -DZF( PRWCT(:,:,:) * MZM (PTHT(:,:,:)) )
 IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ADVZ_BU_RTH')
 !
                                         ! Case with KRR moist variables 
@@ -213,7 +206,7 @@ IF (LBUDGET_RH) CALL BUDGET (PRRS(:,:,:,7),12,'ADVY_BU_RRH')
 !
 DO JRR=1,KRR
   PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR)                            &
-                   -DZF(1,IKU,1, PRWCT(:,:,:) * MZM (1,IKU,1,PRT(:,:,:,JRR)) )
+                   -DZF( PRWCT(:,:,:) * MZM (PRT(:,:,:,JRR)) )
 END DO
 !
 IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVZ_BU_RRV')
@@ -235,7 +228,7 @@ IF (SIZE(PTKET,1) /= 0) THEN
   IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ADVY_BU_RTKE')
 !
    PRTKES(:,:,:) = PRTKES(:,:,:)                           &
-                 -DZF(1,IKU,1, PRWCT(:,:,:) * MZM (1,IKU,1,PTKET(:,:,:)) )
+                 -DZF( PRWCT(:,:,:) * MZM (PTKET(:,:,:)) )
   IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ADVZ_BU_RTKE')
 END IF
 !
diff --git a/src/MNH/advecmet_4th.f90 b/src/MNH/advecmet_4th.f90
index b708b8cf0..a0bd62e15 100644
--- a/src/MNH/advecmet_4th.f90
+++ b/src/MNH/advecmet_4th.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2005-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/22 19:00:38
-!-----------------------------------------------------------------
 !     ###############################
       MODULE MODI_ADVECMET_4TH
 !     ###############################
@@ -199,7 +194,6 @@ TYPE(HALO2LIST_ll), POINTER :: TPHALO2LIST ! list for diffusion
 INTEGER :: JRR           ! Loop index for  moist variables
 INTEGER:: IIB,IJB        ! Begining useful area  in x,y,z directions
 INTEGER:: IIE,IJE        ! End useful area in x,y,z directions
-INTEGER :: IKU
 !
 LOGICAL     :: GTKEALLOC                 ! true if TKE arrays are not zero-sized
 !
@@ -216,7 +210,6 @@ REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) :: ZMEANX, ZMEANY ! flux
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
 !
 GTKEALLOC = SIZE(PTKET,1) /= 0
-IKU=SIZE(XZHAT)
 !
 !-------------------------------------------------------------------------------
 !
@@ -244,7 +237,7 @@ PRTHS(:,:,:) = PRTHS(:,:,:)                      &
 IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ADVY_BU_RTH')
 !
 PRTHS(:,:,:) = PRTHS(:,:,:)                           &
-              -DZF(1,IKU,1, PRWCT(:,:,:) * MZM4(PTHT(:,:,:)) )
+              -DZF( PRWCT(:,:,:) * MZM4(PTHT(:,:,:)) )
 IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ADVZ_BU_RTH')
 !
 ! Turbulence variables
@@ -267,7 +260,7 @@ IF ( GTKEALLOC ) THEN
   IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ADVY_BU_RTKE')
 !
    PRTKES(:,:,:) = PRTKES(:,:,:) 	                  &
-                 -DZF(1,IKU,1, PRWCT(:,:,:) * MZM4(PTKET(:,:,:)) )
+                 -DZF( PRWCT(:,:,:) * MZM4(PTKET(:,:,:)) )
   IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ADVZ_BU_RTKE')
 ENDIF
 !
@@ -304,7 +297,7 @@ DO JRR=1, KRR
   IF (JRR==7 .AND. LBUDGET_RH) CALL BUDGET (PRRS(:,:,:,7),12,'ADVY_BU_RRH')
 !
   PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR)                            &
-                    -DZF(1,IKU,1, PRWCT(:,:,:) * MZM4(PRT(:,:,:,JRR)) )
+                    -DZF( PRWCT(:,:,:) * MZM4(PRT(:,:,:,JRR)) )
   IF (JRR==1 .AND. LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVZ_BU_RRV')
   IF (JRR==2 .AND. LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7 ,'ADVZ_BU_RRC')
   IF (JRR==3 .AND. LBUDGET_RR) CALL BUDGET (PRRS(:,:,:,3),8 ,'ADVZ_BU_RRR')
diff --git a/src/MNH/advecscalar.f90 b/src/MNH/advecscalar.f90
index 0377dc0db..44e315a3d 100644
--- a/src/MNH/advecscalar.f90
+++ b/src/MNH/advecscalar.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     #######################
       MODULE MODI_ADVECSCALAR 
 !     #######################
@@ -129,7 +124,6 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRSVS
 !*       0.2   Declarations of local variables :
 !
 INTEGER :: JSV           ! Loop index for Scalar Variables
-INTEGER :: IKU
 !
 !  
 !-------------------------------------------------------------------------------
@@ -137,8 +131,6 @@ INTEGER :: IKU
 !*       1.     COMPUTES THE ADVECTIVE TENDENCIES
 !     	        ---------------------------------
 !
-IKU=SIZE(XZHAT)
-! 
                                         ! Case with KSV Scalar Variables
 DO JSV=1,KSV
   PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV)                            &
@@ -162,7 +154,7 @@ END IF
 !
 DO JSV=1,KSV
   PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV)                            &
-                    -DZF(1,IKU,1, PRWCT(:,:,:) * MZM (1,IKU,1, PSVT(:,:,:,JSV)) ) 
+                    -DZF( PRWCT(:,:,:) * MZM (PSVT(:,:,:,JSV)) )
 END DO
 IF (LBUDGET_SV) THEN
   DO JSV=1,KSV
diff --git a/src/MNH/advecscalar_4th.f90 b/src/MNH/advecscalar_4th.f90
index 1cf233594..9fa8e7847 100644
--- a/src/MNH/advecscalar_4th.f90
+++ b/src/MNH/advecscalar_4th.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2005-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ###############################
       MODULE MODI_ADVECSCALAR_4TH
 !     ###############################
@@ -161,7 +156,6 @@ TYPE(HALO2LIST_ll), POINTER :: TZHALO2LIST
 !
 INTEGER :: IGRID ! localisation on the model grid
 REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZMEANX, ZMEANY ! fluxes
-INTEGER :: IKU
 !
 !-------------------------------------------------------------------------------
 !
@@ -169,7 +163,6 @@ INTEGER :: IKU
 !               ------------------------------
 !
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
-IKU=SIZE(XZHAT)
 !
 !-------------------------------------------------------------------------------
 !
@@ -200,7 +193,7 @@ DO JSV=1,KSV
   IF (LBUDGET_SV) CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ADVY_BU_RSV')
 !
   PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV)                           &
-                    -DZF(1,IKU,1,  PRWCT(:,:,:) * MZM4(PSVT(:,:,:,JSV)) )
+                    -DZF( PRWCT(:,:,:) * MZM4(PSVT(:,:,:,JSV)) )
   IF (LBUDGET_SV) CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ADVZ_BU_RSV')
 ENDDO
 !
diff --git a/src/MNH/advection_uvw.f90 b/src/MNH/advection_uvw.f90
index cce091935..4cde606ac 100644
--- a/src/MNH/advection_uvw.f90
+++ b/src/MNH/advection_uvw.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -174,7 +174,6 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZMZM_RHODJ
 INTEGER :: ISPLIT              ! Number of splitting loops
 INTEGER :: JSPL                ! Loop index
 REAL    :: ZTSTEP              ! Sub Time step 
-INTEGER :: IIU, IJU, IKU ! array sizes
 !
 INTEGER                     :: IINFO_ll    ! return code of parallel routine
 TYPE(LIST_ll), POINTER      :: TZFIELD_ll  ! list of fields to exchange
@@ -189,14 +188,9 @@ TYPE(LIST_ll), POINTER      :: TZFIELDS0_ll ! list of fields to exchange
 !
 IKE = SIZE(PWT,3) - JPVEXT
 !
-IIU = SIZE(PWT,1)
-IJU = SIZE(PWT,2)
-IKU = SIZE(PWT,3)
-!
-!
 ZMXM_RHODJ = MXM(PRHODJ)
 ZMYM_RHODJ = MYM(PRHODJ)
-ZMZM_RHODJ = MZM(1,IKU,1,PRHODJ)
+ZMZM_RHODJ = MZM(PRHODJ)
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/advection_uvw_cen.f90 b/src/MNH/advection_uvw_cen.f90
index e675af5bf..5bdf52091 100644
--- a/src/MNH/advection_uvw_cen.f90
+++ b/src/MNH/advection_uvw_cen.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2013-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -169,19 +169,13 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZMZM_RHODJ
 !
 INTEGER                     :: IINFO_ll    ! return code of parallel routine
 TYPE(LIST_ll), POINTER      :: TZFIELDS_ll ! list of fields to exchange
-INTEGER :: IKU
-INTEGER :: IIB,IIE,IJB,IJE,IKB,IKE ! index values for the physical subdomain
 
 !
 !-------------------------------------------------------------------------------
 !
-CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
-IKU = SIZE(XZHAT)
-IKB=1+JPVEXT
-IKE=IKU-JPVEXT
 ZMXM_RHODJ = MXM(PRHODJ)
 ZMYM_RHODJ = MYM(PRHODJ)
-ZMZM_RHODJ = MZM(1,IKU,1,PRHODJ)
+ZMZM_RHODJ = MZM(PRHODJ)
 !
 !*       1.     COMPUTES THE CONTRAVARIANT COMPONENTS
 !	        -------------------------------------
diff --git a/src/MNH/advecuvw.f90 b/src/MNH/advecuvw.f90
index d0f32702b..087ca0ecf 100644
--- a/src/MNH/advecuvw.f90
+++ b/src/MNH/advecuvw.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ####################
       MODULE MODI_ADVECUVW 
 !     ####################
@@ -134,13 +129,8 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PRWCT     ! of momentum
 !
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS, PRVS, PRWS ! Sources of Momentum
 !
-INTEGER :: IKU
-!
-!  
 !-------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
-!
 !*       1.     COMPUTES THE ADVECTIVE TENDANCIES
 !	        ---------------------------------
 !
@@ -153,7 +143,7 @@ PRUS(:,:,:) = PRUS(:,:,:)                              &
 IF (LBUDGET_U)  CALL BUDGET (PRUS,1,'ADVY_BU_RU')
 !
 PRUS(:,:,:) = PRUS(:,:,:)                              &
-             -DZF(1,IKU,1, MXM(PRWCT(:,:,:))*MZM(1,IKU,1,PUT(:,:,:)) )
+             -DZF( MXM(PRWCT(:,:,:))*MZM(PUT(:,:,:)) )
 IF (LBUDGET_U)  CALL BUDGET (PRUS,1,'ADVZ_BU_RU')
 !
 !
@@ -166,20 +156,20 @@ PRVS(:,:,:) = PRVS(:,:,:)                              &
 IF (LBUDGET_V)  CALL BUDGET (PRVS,2,'ADVY_BU_RV')
 !
 PRVS(:,:,:) = PRVS(:,:,:)                              &
-             -DZF(1,IKU,1, MYM(PRWCT(:,:,:))*MZM(1,IKU,1,PVT(:,:,:)) )
+             -DZF( MYM(PRWCT(:,:,:))*MZM(PVT(:,:,:)) )
 IF (LBUDGET_V)  CALL BUDGET (PRVS,2,'ADVZ_BU_RV')
 !
 !
 PRWS(:,:,:) = PRWS(:,:,:)                              &
-             -DXF( MZM(1,IKU,1,PRUCT(:,:,:))*MXM(PWT(:,:,:)) ) 
+             -DXF( MZM(PRUCT(:,:,:))*MXM(PWT(:,:,:)) )
 IF (LBUDGET_W)  CALL BUDGET (PRWS,3,'ADVX_BU_RW')
 !
 PRWS(:,:,:) = PRWS(:,:,:)                              &
-             -DYF( MZM(1,IKU,1,PRVCT(:,:,:))*MYM(PWT(:,:,:)) ) 
+             -DYF( MZM(PRVCT(:,:,:))*MYM(PWT(:,:,:)) )
 IF (LBUDGET_W)  CALL BUDGET (PRWS,3,'ADVY_BU_RW')
 !
 PRWS(:,:,:) = PRWS(:,:,:)                              &
-             -DZM(1,IKU,1, MZF(1,IKU,1,PRWCT(:,:,:))*MZF(1,IKU,1,PWT(:,:,:)) )
+             -DZM( MZF(PRWCT(:,:,:))*MZF(PWT(:,:,:)) )
 IF (LBUDGET_W)  CALL BUDGET (PRWS,3,'ADVZ_BU_RW')
 !
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/advecuvw_2nd.f90 b/src/MNH/advecuvw_2nd.f90
index 9b0999450..a8313c2f5 100644
--- a/src/MNH/advecuvw_2nd.f90
+++ b/src/MNH/advecuvw_2nd.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ####################
       MODULE MODI_ADVECUVW_2ND 
 !     ####################
@@ -117,13 +112,8 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PRWCT     ! of momentum
 !
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS, PRVS, PRWS ! Sources of Momentum
 !
-INTEGER :: IKU
-!
-!  
 !-------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
-!
 !*       1.     COMPUTES THE ADVECTIVE TENDANCIES
 !	        ---------------------------------
 !
@@ -134,7 +124,7 @@ PRUS(:,:,:) = PRUS(:,:,:)                              &
              -DYF( MXM(PRVCT(:,:,:))*MYM(PUT(:,:,:)) ) 
 !
 PRUS(:,:,:) = PRUS(:,:,:)                              &
-             -DZF(1,IKU,1, MXM(PRWCT(:,:,:))*MZM(1,IKU,1,PUT(:,:,:)) )
+             -DZF( MXM(PRWCT(:,:,:))*MZM(PUT(:,:,:)) )
 !
 !
 PRVS(:,:,:) = PRVS(:,:,:)                              &
@@ -144,17 +134,17 @@ PRVS(:,:,:) = PRVS(:,:,:)                              &
              -DYM( MYF(PRVCT(:,:,:))*MYF(PVT(:,:,:)) )  
 !
 PRVS(:,:,:) = PRVS(:,:,:)                              &
-             -DZF(1,IKU,1, MYM(PRWCT(:,:,:))*MZM(1,IKU,1,PVT(:,:,:)) )
+             -DZF( MYM(PRWCT(:,:,:))*MZM(PVT(:,:,:)) )
 !
 !
 PRWS(:,:,:) = PRWS(:,:,:)                              &
-             -DXF( MZM(1,IKU,1,PRUCT(:,:,:))*MXM(PWT(:,:,:)) ) 
+             -DXF( MZM(PRUCT(:,:,:))*MXM(PWT(:,:,:)) )
 !
 PRWS(:,:,:) = PRWS(:,:,:)                              &
-             -DYF( MZM(1,IKU,1,PRVCT(:,:,:))*MYM(PWT(:,:,:)) ) 
+             -DYF( MZM(PRVCT(:,:,:))*MYM(PWT(:,:,:)) )
 !
 PRWS(:,:,:) = PRWS(:,:,:)                              &
-             -DZM(1,IKU,1, MZF(1,IKU,1,PRWCT(:,:,:))*MZF(1,IKU,1,PWT(:,:,:)) )
+             -DZM( MZF(PRWCT(:,:,:))*MZF(PWT(:,:,:)) )
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/advecuvw_4th.f90 b/src/MNH/advecuvw_4th.f90
index 468515c42..546f079c4 100644
--- a/src/MNH/advecuvw_4th.f90
+++ b/src/MNH/advecuvw_4th.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2005-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ###########################
       MODULE MODI_ADVECUVW_4TH
 !     ###########################
@@ -143,10 +138,6 @@ TYPE(HALO2LIST_ll), POINTER :: TPHALO2LIST ! list for diffusion
 !
 !*       0.2   Declarations of local variables :
 !
-INTEGER:: IIB,IJB        ! Begining useful area  in x,y,z directions
-INTEGER:: IIE,IJE        ! End useful area in x,y,z directions
-INTEGER :: IKU
-!
 TYPE(HALO2LIST_ll), POINTER :: TZHALO2LIST
 !
 INTEGER :: IGRID ! localisation on the model grid
@@ -154,14 +145,6 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZMEANX, ZMEANY ! fluxes
 !
 !-------------------------------------------------------------------------------
 !
-!*       1.     COMPUTES THE DOMAIN DIMENSIONS
-!               ------------------------------
-!
-CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
-!
-IKU=SIZE(XZHAT)
-!-------------------------------------------------------------------------------
-!
 !*       2.     CALL THE ADVEC_4TH_ORDER_ALGO ROUTINE FOR MOMENTUM
 !               --------------------------------------------------
 !
@@ -181,7 +164,7 @@ PRUS(:,:,:) = PRUS(:,:,:)                          &
              -DYF( MXM(PRVCT(:,:,:))*ZMEANY(:,:,:) ) 
 !
 PRUS(:,:,:) = PRUS(:,:,:)                             &
-             -DZF(1,IKU,1, MXM(PRWCT(:,:,:))*MZM4(PUT(:,:,:)) )
+             -DZF( MXM(PRWCT(:,:,:))*MZM4(PUT(:,:,:)) )
 !
 !
 IGRID = 3
@@ -200,7 +183,7 @@ PRVS(:,:,:) = PRVS(:,:,:)                          &
              -DYM( MYF(PRVCT(:,:,:))*ZMEANY(:,:,:) )  
 !
 PRVS(:,:,:) = PRVS(:,:,:)                             &
-             -DZF(1,IKU,1, MYM(PRWCT(:,:,:))*MZM4(PVT(:,:,:)) )
+             -DZF( MYM(PRWCT(:,:,:))*MZM4(PVT(:,:,:)) )
 !
 !
 IGRID = 4
@@ -214,13 +197,13 @@ IGRID = 4
 !!$ENDIF
 !
 PRWS(:,:,:) = PRWS(:,:,:)                          &
-             -DXF( MZM(1,IKU,1,PRUCT(:,:,:))*ZMEANX(:,:,:) ) 
+             -DXF( MZM(PRUCT(:,:,:))*ZMEANX(:,:,:) )
 !
 PRWS(:,:,:) = PRWS(:,:,:)                          &
-             -DYF( MZM(1,IKU,1,PRVCT(:,:,:))*ZMEANY(:,:,:) ) 
+             -DYF( MZM(PRVCT(:,:,:))*ZMEANY(:,:,:) )
 !
 PRWS(:,:,:) = PRWS(:,:,:)                             &
-             -DZM(1,IKU,1, MZF(1,IKU,1,PRWCT(:,:,:))*MZF4(PWT(:,:,:)) )
+             -DZM( MZF(PRWCT(:,:,:))*MZF4(PWT(:,:,:)) )
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/advecuvw_weno_k.f90 b/src/MNH/advecuvw_weno_k.f90
index 44c2dd4a6..704b470ea 100644
--- a/src/MNH/advecuvw_weno_k.f90
+++ b/src/MNH/advecuvw_weno_k.f90
@@ -1,7 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
+!-----------------------------------------------------------------
 !     ###########################
       MODULE MODI_ADVECUVW_WENO_K
 !     ###########################
@@ -98,10 +99,6 @@ INTEGER                     :: IINFO_ll    ! return code of parallel routine
 !
 REAL, DIMENSION(SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3)) :: ZMEAN, ZWORK
 !
-INTEGER :: K_SCHEME
-INTEGER :: IKU
-INTEGER :: IWORK
-!
 !------------------------- ADVECTION OF MOMENTUM ------------------------------
 !
 !
@@ -109,7 +106,6 @@ TZHALO2_UT => TPHALO2LIST                   ! 1rst add3dfield in model_n
 TZHALO2_VT => TPHALO2LIST%NEXT              ! 2nd  add3dfield in model_n
 TZHALO2_WT => TPHALO2LIST%NEXT%NEXT         ! 3rst add3dfield in model_n
 !
-IKU=SIZE(PUT,3)
 !      -------------------------------------------------------
 !
 SELECT CASE(KWENO_ORDER)
@@ -122,7 +118,7 @@ CASE(1) ! WENO 1
 !
   PRUS = PRUS - DYF(UP_MY(PUT,MXM(PRVCT)))
 !
-  PRUS = PRUS - DZF(1,IKU,1,UP_MZ(PUT,MXM(PRWCT)))
+  PRUS = PRUS - DZF(UP_MZ(PUT,MXM(PRWCT)))
 !
 ! V component
 !
@@ -130,15 +126,15 @@ CASE(1) ! WENO 1
 !
   PRVS = PRVS - DYM(UP_VY(PVT,MYF(PRVCT)))
 !
-  PRVS = PRVS - DZF(1,IKU,1,UP_MZ(PVT,MYM(PRWCT)))
+  PRVS = PRVS - DZF(UP_MZ(PVT,MYM(PRWCT)))
 !
 ! W component
 !
-  PRWS = PRWS - DXF(UP_MX(PWT,MZM(1,IKU,1,PRUCT)))
+  PRWS = PRWS - DXF(UP_MX(PWT,MZM(PRUCT)))
 !
-  PRWS = PRWS - DYF(UP_MY(PWT,MZM(1,IKU,1,PRVCT)))
+  PRWS = PRWS - DYF(UP_MY(PWT,MZM(PRVCT)))
 !
-  PRWS = PRWS - DZM(1,IKU,1,UP_WZ(PWT,MZF(1,IKU,1,PRWCT)))
+  PRWS = PRWS - DZM(UP_WZ(PWT,MZF(PRWCT)))
 !
 !
 CASE(3) ! WENO 3
@@ -156,7 +152,7 @@ CASE(3) ! WENO 3
     PRUS = PRUS - DYF(ZMEAN)
   END IF
 !
-  PRUS = PRUS - DZF(1,IKU,1,WENO_K_2_MZ(PUT, MXM(PRWCT)))
+  PRUS = PRUS - DZF(WENO_K_2_MZ(PUT, MXM(PRWCT)))
 !
 ! V component
 !
@@ -169,22 +165,22 @@ CASE(3) ! WENO 3
     CALL ADVEC_WENO_K_2_VY(HLBCY, PVT, ZWORK, ZMEAN, TZHALO2_VT%HALO2)
     PRVS = PRVS - DYM(ZMEAN)
 !
-    PRVS = PRVS - DZF(1,IKU,1,WENO_K_2_MZ(PVT, MYM(PRWCT)))
+    PRVS = PRVS - DZF(WENO_K_2_MZ(PVT, MYM(PRWCT)))
   END IF
 !
 ! W component
 !
-  ZWORK = MZM(1,IKU,1,PRUCT)
+  ZWORK = MZM(PRUCT)
   CALL ADVEC_WENO_K_2_MX(HLBCX, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
   PRWS = PRWS - DXF(ZMEAN)
 !
   IF (.NOT.L2D) THEN
-    ZWORK = MZM(1,IKU,1,PRVCT)
+    ZWORK = MZM(PRVCT)
     CALL ADVEC_WENO_K_2_MY(HLBCY, PWT, ZWORK, ZMEAN, TZHALO2_WT%HALO2)
     PRWS = PRWS - DYF(ZMEAN)
   END IF
 !
-  PRWS = PRWS - DZM(1,IKU,1,WENO_K_2_WZ(PWT,MZF(1,IKU,1,PRWCT)))
+  PRWS = PRWS - DZM(WENO_K_2_WZ(PWT,MZF(PRWCT)))
 !
 !
 CASE(5) ! WENO 5
@@ -205,7 +201,7 @@ CASE(5) ! WENO 5
 !
   ZMEAN = WENO_K_3_MZ(PUT, MXM(PRWCT))
   CALL GET_HALO(ZMEAN)! Update HALO - maybe not necessary (T.Lunet)
-  PRUS = PRUS - DZF(1,IKU,1,ZMEAN) 
+  PRUS = PRUS - DZF(ZMEAN)
 !
 ! V component, only called in 3D case
 !
@@ -223,27 +219,27 @@ CASE(5) ! WENO 5
 !
     ZMEAN = WENO_K_3_MZ(PVT, MYM(PRWCT))
     CALL GET_HALO(ZMEAN)! Update HALO - maybe not necessary (T.Lunet)
-    PRVS = PRVS - DZF(1,IKU,1,ZMEAN) 
+    PRVS = PRVS - DZF(ZMEAN)
 !
   END IF
 !
 ! W component
 !
-  ZWORK = MZM(1,IKU,1,PRUCT)
+  ZWORK = MZM(PRUCT)
   CALL ADVEC_WENO_K_3_MX(HLBCX, PWT, ZWORK, ZMEAN)
   CALL GET_HALO(ZMEAN)! Update HALO
   PRWS = PRWS - DXF(ZMEAN)
 !
   IF (.NOT.L2D) THEN! 3D Case
-    ZWORK = MZM(1,IKU,1,PRVCT)
+    ZWORK = MZM(PRVCT)
     CALL ADVEC_WENO_K_3_MY(HLBCY, PWT, ZWORK, ZMEAN)
     CALL GET_HALO(ZMEAN)! Update HALO
     PRWS = PRWS - DYF(ZMEAN)
   END IF
 !
-  ZMEAN = WENO_K_3_WZ(PWT,MZF(1,IKU,1,PRWCT))
+  ZMEAN = WENO_K_3_WZ(PWT,MZF(PRWCT))
   CALL GET_HALO(ZMEAN)! Update HALO - maybe not necessary (T.Lunet)
-  PRWS = PRWS - DZM(1,IKU,1,ZMEAN)
+  PRWS = PRWS - DZM(ZMEAN)
 !
 !
 END SELECT
diff --git a/src/MNH/anel_balancen.f90 b/src/MNH/anel_balancen.f90
index 21c83f052..743c5b5c7 100644
--- a/src/MNH/anel_balancen.f90
+++ b/src/MNH/anel_balancen.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -233,7 +233,7 @@ CALL MPPDB_CHECK3D(XWT,"anel_balancen3.1-after update halo::XWT",PRECISION)
 !
 ZRU(:,:,:) = MXM(XRHODJ) * XUT(:,:,:)
 ZRV(:,:,:) = MYM(XRHODJ) * XVT(:,:,:)
-ZRW(:,:,:) = MZM(1,IKU,1,XRHODJ) * XWT(:,:,:)
+ZRW(:,:,:) = MZM(XRHODJ) * XWT(:,:,:)
 ZTH(:,:,:) = XTHT(:,:,:)
 ALLOCATE(ZRR(SIZE(XRHODJ,1),SIZE(XRHODJ,2),SIZE(XRHODJ,3),SIZE(XRT,4)))
 ZRR(:,:,:,:) = XRT(:,:,:,:)
@@ -288,7 +288,7 @@ DEALLOCATE(ZBFY,ZTRIGSX,ZTRIGSY,ZRR,ZBF_SXP2_YP1_Z)
 !20131112 appli update_halo_ll and associated operations
 XUT(:,:,:) = ZRU(:,:,:) / MXM(XRHODJ)
 XVT(:,:,:) = ZRV(:,:,:) / MYM(XRHODJ)
-XWT(:,:,:) = ZRW(:,:,:) / MZM(1,IKU,1,XRHODJ)
+XWT(:,:,:) = ZRW(:,:,:) / MZM(XRHODJ)
 !20131112 appli update_halo_ll to XUT,XVT,XWT
 CALL ADD3DFIELD_ll( TZFIELDS_ll, XUT, 'ANEL_BALANCE_n::XUT' )
 CALL ADD3DFIELD_ll( TZFIELDS_ll, XVT, 'ANEL_BALANCE_n::XVT' )
diff --git a/src/MNH/anti_diff.f90 b/src/MNH/anti_diff.f90
index d2dd37c19..56372bfec 100644
--- a/src/MNH/anti_diff.f90
+++ b/src/MNH/anti_diff.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/12/12 15:06:20
-!-----------------------------------------------------------------
 !     ##########################
       MODULE MODI_ANTI_DIFF 
 !     ##########################
@@ -156,44 +151,44 @@ IKE=IKU-JPVEXT
            (MXM(PAS(:,:,:))+ZEPSILON) 
   ZB(:,:,:)=PRAVCT(:,:,:)*DYM(PAS(:,:,:)/PRHODJ(:,:,:))/      &
            (MYM(PAS(:,:,:))+ZEPSILON) 
-  ZC(:,:,:)=PRAWCT(:,:,:)*DZM(1,IKU,1,PAS(:,:,:)/PRHODJ(:,:,:))/      &
-           (MZM(1,IKU,1,PAS(:,:,:))+ZEPSILON) 
+  ZC(:,:,:)=PRAWCT(:,:,:)*DZM(PAS(:,:,:)/PRHODJ(:,:,:))/      &
+           (MZM(PAS(:,:,:))+ZEPSILON)
 !
 !       1.2 Calculation antidiffusion velocities  
 !           ------------------------------------
 !
 ! u-component antidiffusive velocity
 !
-  PRAUCT(:,:,:)=PTSTEP/2.* (                                         & 
+  PRAUCT(:,:,:)=PTSTEP/2.* (                                      &
                           ZA*(                                    &
                                      MXM(PRHODJ)*SIGN(1.,PRAUCT)  &
                                     /ZDBLTST-                     &
                                      PRAUCT                       &
                                     )-                            &
-                          PRAUCT*MXM(MYF(ZB)+MZF(1,IKU,1,ZC))             &
+                          PRAUCT*MXM(MYF(ZB)+MZF(ZC))             &
                         )
 !  
 ! v-component antidiffusive velocity
 !
-  PRAVCT(:,:,:)=PTSTEP/2.* (                                         & 
+  PRAVCT(:,:,:)=PTSTEP/2.* (                                      &
                           ZB*(                                    &
                                      MYM(PRHODJ)*SIGN(1.,PRAVCT)  &
                                     /ZDBLTST-                     &
                                      PRAVCT                       &
                                     )-                            &
-                          PRAVCT*MYM(MXF(ZA)+MZF(1,IKU,1,ZC))             &
+                          PRAVCT*MYM(MXF(ZA)+MZF(ZC))             &
                         )
 !  
 !  
 ! w-component antidiffusive velocity
 !
-  PRAWCT(:,:,:)=PTSTEP/2.* (                                         & 
+  PRAWCT(:,:,:)=PTSTEP/2.* (                                      &
                           ZC*(                                    &
-                                     MZM(1,IKU,1,PRHODJ)*SIGN(1.,PRAWCT)  &
+                                     MZM(PRHODJ)*SIGN(1.,PRAWCT)  &
                                     /ZDBLTST-                     &
                                      PRAWCT                       &
                                      )-                           &
-                          PRAWCT*MZM(1,IKU,1,MXF(ZA)+MYF(ZB))             &
+                          PRAWCT*MZM(MXF(ZA)+MYF(ZB))             &
                         )
 ! 
 !       1.3 Limit of the antidiffusive velocities to satisfy CFL<1
diff --git a/src/MNH/compute_exner_from_ground.f90 b/src/MNH/compute_exner_from_ground.f90
index cbb64d037..60225dbf1 100644
--- a/src/MNH/compute_exner_from_ground.f90
+++ b/src/MNH/compute_exner_from_ground.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1996-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1996-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -150,7 +150,7 @@ ZGSCPD = XG/XCPD
 !*       2.   COMPUTATION OF THE EXNER FUNCTION AT FLUX POINTS
 !             ------------------------------------------------
 !
-ZZM=MZF(1,IKU,1,PZFLUX)
+ZZM=MZF(PZFLUX)
 PEXNFLUX(:,:,IKB)=PEXNSURF2D(:,:)
 IF (LCARTESIAN .OR. LTHINSHELL) THEN
   ZD1=0.
diff --git a/src/MNH/compute_exner_from_top.f90 b/src/MNH/compute_exner_from_top.f90
index e195e725d..4048672a1 100644
--- a/src/MNH/compute_exner_from_top.f90
+++ b/src/MNH/compute_exner_from_top.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1996-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1996-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -149,7 +149,7 @@ ZGSCPD = XG/XCPD
 !*       2.   COMPUTATION OF THE EXNER FUNCTION AT FLUX POINTS
 !             ------------------------------------------------
 !
-ZZM=MZF(1,IKU,1,PZFLUX)
+ZZM=MZF(PZFLUX)
 PEXNFLUX(:,:,IKE+1)=PEXNTOP2D(:,:)
 IF (LCARTESIAN .OR. LTHINSHELL) THEN
   ZD1=0.
diff --git a/src/MNH/compute_r00.f90 b/src/MNH/compute_r00.f90
index 326ad848a..f04fff457 100644
--- a/src/MNH/compute_r00.f90
+++ b/src/MNH/compute_r00.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -113,7 +113,6 @@ LOGICAL                            :: GSTART
 INTEGER                            :: INBR_START
 REAL                               :: ZXMAX,ZYMAX,ZZMAX  ! domain extrema
 INTEGER, DIMENSION(100)            :: NBRFILES 
-INTEGER                            :: IKU
 TYPE(TFIELDDATA)                   :: TZFIELD
 TYPE(TFILEDATA),POINTER            :: TZTRACFILE
 !
@@ -124,7 +123,6 @@ TYPE(TFILEDATA),POINTER            :: TZTRACFILE
 !
 TZTRACFILE => NULL()
 ZSPVAL=-1.E+11
-IKU=SIZE(XZHAT)
 !
 !-------------------------------------------------------------------------------
 !
@@ -193,7 +191,7 @@ ZXOR=0.5 * (XXHAT(2)+XXHAT(3))
 ZYOR=0.5 * (XYHAT(2)+XYHAT(3))
 ZDX= XXHAT(3)-XXHAT(2)
 ZDY= XYHAT(3)-XYHAT(2)
-ZZL=MZF(1,IKU,1,XZZ)
+ZZL=MZF(XZZ)
 ZZL(:,:,NKU)=2*XZZ(:,:,NKU)-ZZL(:,:,NKU-1)
 ZXMAX=ZXOR+(NIU-3)*ZDX
 ZYMAX=ZYOR+(NJU-3)*ZDY
diff --git a/src/MNH/contrav.f90 b/src/MNH/contrav.f90
index 8154936aa..a5b30eff1 100644
--- a/src/MNH/contrav.f90
+++ b/src/MNH/contrav.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -70,9 +70,6 @@ END MODULE MODI_CONTRAV
 !!
 !!    EXTERNAL 
 !!    --------
-!!      MXF, MYF, MZM         : Shuman functions (mean operators)
-!!       
-!!      Module MODI_SHUMAN    : Interface for Shuman functions   
 !!
 !!
 !!    IMPLICIT ARGUMENTS
@@ -112,7 +109,6 @@ USE MODD_GRID_n, ONLY: XZZ
 USE MODD_ARGSLIST_ll, ONLY : HALO2LIST_ll
 USE MODE_ll
 !
-USE MODI_SHUMAN
 USE MODI_GET_HALO
 !
 USE MODE_MPPDB
diff --git a/src/MNH/convection.f90 b/src/MNH/convection.f90
index 2738ac854..f80a0c089 100644
--- a/src/MNH/convection.f90
+++ b/src/MNH/convection.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -396,9 +396,9 @@ END IF
 !*       1.  Center all fields on thermo levels
 !            ----------------------------------
 !
-ZWORK(:,:,:) = MZF(1,IKU,1, PZZ(:,:,:) ) 
+ZWORK(:,:,:) = MZF( PZZ(:,:,:) )
 ZZZ(:,:,:)   = ZWORK(:,:,:) 
-ZWORK(:,:,:) = MZF(1,IKU,1, PWT(:,:,:) ) 
+ZWORK(:,:,:) = MZF( PWT(:,:,:) )
 ZWT(:,:,:)   = ZWORK(:,:,:)
 ZWORK(:,:,:) = MXF( PUT(:,:,:) ) 
 ZUT(:,:,:)   = ZWORK(:,:,:)
diff --git a/src/MNH/dflux_corr.f90 b/src/MNH/dflux_corr.f90
index 20b2b79cb..fec030ec7 100644
--- a/src/MNH/dflux_corr.f90
+++ b/src/MNH/dflux_corr.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -204,7 +204,7 @@ PFY(:,:,:) = (0.5+SIGN(0.5,PRVCT(:,:,:)))*MIN( PFY(:,:,:),ZFOUT(:,:,:) )  &
 ZFOUT(:,:,2:IKU) = -ZBETAOUT(:,:,1:IKU-1) ! Second limiter
 ZFOUT(:,:,1)     = 0.0
 !
-PFZ(:,:,:) = PRWCT(:,:,:) * MZM (1,IKU,1,PAT(:,:,:))  
+PFZ(:,:,:) = PRWCT(:,:,:) * MZM (PAT(:,:,:))
 PFZ(:,:,:) = (0.5+SIGN(0.5,PRWCT(:,:,:)))*MIN( PFZ(:,:,:),ZFOUT(:,:,:) )  &
             +(0.5-SIGN(0.5,PRWCT(:,:,:)))*MAX( PFZ(:,:,:),ZBETAOUT(:,:,:) )
 !
diff --git a/src/MNH/diagnos_les_mf.f90 b/src/MNH/diagnos_les_mf.f90
index 31fa13da7..f537b04f3 100644
--- a/src/MNH/diagnos_les_mf.f90
+++ b/src/MNH/diagnos_les_mf.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2009-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2009-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -151,83 +151,83 @@ CALL SECOND_MNH2(ZTIME1)
 
     
     ZWORK(:,:,:)=RESHAPE(PWTHMF(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT(MZF(1,KKU,1,ZWORK)  ,ZTHLMFFLX_LES  )
+    CALL LES_VER_INT(MZF(ZWORK)  ,ZTHLMFFLX_LES  )
     CALL LES_MEAN_ll(ZTHLMFFLX_LES,LLES_CURRENT_CART_MASK, &
                     X_LES_SUBGRID_WTHLMF(:,NLES_CURRENT_TCOUNT,1))
     
     ZWORK(:,:,:)=RESHAPE(PWRTMF(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZRTMFFLX_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZRTMFFLX_LES  )
     CALL LES_MEAN_ll (ZRTMFFLX_LES , LLES_CURRENT_CART_MASK,          &
                     X_LES_SUBGRID_WRTMF(:,NLES_CURRENT_TCOUNT,1)     )
                     
     ZWORK(:,:,:)=RESHAPE(PWUMF(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZUMFFLX_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZUMFFLX_LES  )
     CALL LES_MEAN_ll (ZUMFFLX_LES , LLES_CURRENT_CART_MASK,              &
                     X_LES_SUBGRID_WUMF(:,NLES_CURRENT_TCOUNT,1)     )
                     
     ZWORK(:,:,:)=RESHAPE(PWVMF(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZVMFFLX_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZVMFFLX_LES  )
     CALL LES_MEAN_ll (ZVMFFLX_LES , LLES_CURRENT_CART_MASK,                   &
                     X_LES_SUBGRID_WVMF(:,NLES_CURRENT_TCOUNT,1)     )
                     
     ZWORK(:,:,:)=RESHAPE(PWTHVMF(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZTHVMFFLX_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZTHVMFFLX_LES  )
     CALL LES_MEAN_ll (ZTHVMFFLX_LES , LLES_CURRENT_CART_MASK,    &
                     X_LES_SUBGRID_WTHVMF(:,NLES_CURRENT_TCOUNT,1)     )
                     
 
     ZWORK(:,:,:)=RESHAPE(PTHL_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZTHLUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZTHLUP_MF_LES  )
     CALL LES_MEAN_ll (ZTHLUP_MF_LES , LLES_CURRENT_CART_MASK,    &
                    X_LES_SUBGRID_THLUP_MF(:,NLES_CURRENT_TCOUNT,1)     )
                    
     ZWORK(:,:,:)=RESHAPE(PRT_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZRTUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZRTUP_MF_LES  )
     CALL LES_MEAN_ll (ZRTUP_MF_LES , LLES_CURRENT_CART_MASK,       &
                     X_LES_SUBGRID_RTUP_MF(:,NLES_CURRENT_TCOUNT,1)     )
                     
     ZWORK(:,:,:)=RESHAPE(PRV_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZRVUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZRVUP_MF_LES  )
     CALL LES_MEAN_ll (ZRVUP_MF_LES , LLES_CURRENT_CART_MASK,       &
                     X_LES_SUBGRID_RVUP_MF(:,NLES_CURRENT_TCOUNT,1)     )
                     
     ZWORK(:,:,:)=RESHAPE(PRC_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZRCUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZRCUP_MF_LES  )
     CALL LES_MEAN_ll (ZRCUP_MF_LES , LLES_CURRENT_CART_MASK,        &
                     X_LES_SUBGRID_RCUP_MF(:,NLES_CURRENT_TCOUNT,1)     )
                     
     ZWORK(:,:,:)=RESHAPE(PRI_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZRIUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZRIUP_MF_LES  )
     CALL LES_MEAN_ll (ZRIUP_MF_LES , LLES_CURRENT_CART_MASK,        &
                     X_LES_SUBGRID_RIUP_MF(:,NLES_CURRENT_TCOUNT,1)     )            
                     
     ZWORK(:,:,:)=RESHAPE(PEMF(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZEMF_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZEMF_MF_LES  )
     CALL LES_MEAN_ll (ZEMF_MF_LES , LLES_CURRENT_CART_MASK,       &
                    X_LES_SUBGRID_MASSFLUX(:,NLES_CURRENT_TCOUNT,1)     )
                    
     ZWORK(:,:,:)=RESHAPE(PDETR(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZDETR_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZDETR_MF_LES  )
     CALL LES_MEAN_ll (ZDETR_MF_LES , LLES_CURRENT_CART_MASK,       &
                    X_LES_SUBGRID_DETR(:,NLES_CURRENT_TCOUNT,1)         )
                    
     ZWORK(:,:,:)=RESHAPE(PENTR(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZENTR_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZENTR_MF_LES  )
     CALL LES_MEAN_ll (ZENTR_MF_LES , LLES_CURRENT_CART_MASK,       &
                    X_LES_SUBGRID_ENTR(:,NLES_CURRENT_TCOUNT,1)     )
                    
     ZWORK(:,:,:)=RESHAPE(PW_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZWUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZWUP_MF_LES  )
     CALL LES_MEAN_ll (ZWUP_MF_LES , LLES_CURRENT_CART_MASK,       &
                    X_LES_SUBGRID_WUP_MF(:,NLES_CURRENT_TCOUNT,1)     )
                    
     ZWORK(:,:,:)=RESHAPE(PFRAC_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZFRACUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZFRACUP_MF_LES  )
     CALL LES_MEAN_ll (ZFRACUP_MF_LES , LLES_CURRENT_CART_MASK,       &
                    X_LES_SUBGRID_FRACUP(:,NLES_CURRENT_TCOUNT,1)     )
                    
     ZWORK(:,:,:)=RESHAPE(PTHV_UP(:,:),(/ KIU,KJU,KKU /) )
-    CALL LES_VER_INT( MZF(1,KKU,1,ZWORK)  ,ZTHVUP_MF_LES  )
+    CALL LES_VER_INT( MZF(ZWORK)  ,ZTHVUP_MF_LES  )
     CALL LES_MEAN_ll (ZTHVUP_MF_LES , LLES_CURRENT_CART_MASK,       &
                    X_LES_SUBGRID_THVUP_MF(:,NLES_CURRENT_TCOUNT,1)     )
                    
diff --git a/src/MNH/dyn_sources.f90 b/src/MNH/dyn_sources.f90
index 5bdb5483a..380910715 100644
--- a/src/MNH/dyn_sources.f90
+++ b/src/MNH/dyn_sources.f90
@@ -1,12 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-!-----------------------------------------------------------------
 !     #######################
       MODULE MODI_DYN_SOURCES
 !     #######################
@@ -240,28 +236,28 @@ IF ((.NOT.L1D).AND.(.NOT.LCARTESIAN) )  THEN
 !
   ELSE                           !  NO THINSHELL approximation
 !
-    ZWORK3(:,:,:) = 1.0 / ( XRADIUS + MZF(1,IKU,1,PZZ(:,:,:)) )
+    ZWORK3(:,:,:) = 1.0 / ( XRADIUS + MZF(PZZ(:,:,:)) )
     ZWORK1(:,:,:) = SPREAD( PCURVX(:,:),DIM=3,NCOPIES=IKU )
     ZWORK2(:,:,:) = SPREAD( PCURVY(:,:),DIM=3,NCOPIES=IKU )
     CALL MPPDB_CHECK3DM("DYN_SOOURCES:ZWORK3,ZWORK1,ZWORK2",PRECISION,&
                       & ZWORK3,ZWORK1,ZWORK2,&
                       & MXM( MYF(ZRVT*PVT) * ZWORK2 * ZWORK3 ) , &
-                      & MXM( ( MYF(PVT) * ZWORK1 - MZF(1,IKU,1,PWT) ) * ZWORK3 ) ,&
-                      & MYF(PVT) * ZWORK1 - MZF(1,IKU,1,PWT) , &
-                      & MYF(PVT) , MZF(1,IKU,1,PWT) , MXM(PWT) , MYM(PWT) )
+                      & MXM( ( MYF(PVT) * ZWORK1 - MZF(PWT) ) * ZWORK3 ) ,&
+                      & MYF(PVT) * ZWORK1 - MZF(PWT) , &
+                      & MYF(PVT) , MZF(PWT) , MXM(PWT) , MYM(PWT) )
     CALL MPPDB_CHECK3DM("DYN_SOOURCES:SUITE",PRECISION,&
          &  MXM(ZRVT),MXM(PVT),MXM(PWT),MXM(ZWORK1),MXM(ZWORK2),MXM(ZWORK3)  )
 !
     PRUS(:,:,:) = PRUS                                              &
     + MXM( MYF(ZRVT*PVT) * ZWORK2 * ZWORK3 )                        &
-    + ZRUT * MXM( ( MYF(PVT) * ZWORK1 - MZF(1,IKU,1,PWT) ) * ZWORK3 ) 
+    + ZRUT * MXM( ( MYF(PVT) * ZWORK1 - MZF(PWT) ) * ZWORK3 )
 !
     PRVS(:,:,:) = PRVS                                              &
     - MYM( MXF(ZRUT*PUT) * ZWORK1 * ZWORK3 )                        &
-    - ZRVT * MYM( (MXF(PUT) * ZWORK2 + MZF(1,IKU,1,PWT) ) * ZWORK3 )
+    - ZRVT * MYM( (MXF(PUT) * ZWORK2 + MZF(PWT) ) * ZWORK3 )
 !
     PRWS(:,:,:) = PRWS                                              &
-    +MZM(1,IKU,1, ( MXF(ZRUT*PUT) + MYF(ZRVT*PVT) ) * ZWORK3 ) 
+    +MZM( ( MXF(ZRUT*PUT) + MYF(ZRVT*PVT) ) * ZWORK3 )
 !
   END IF
 !
@@ -288,11 +284,11 @@ IF (LCORIO)   THEN
     ZWORK1(:,:,:) = SPREAD( PCORIOX(:,:),DIM=3,NCOPIES=IKU) * PRHODJ(:,:,:) 
     ZWORK2(:,:,:) = SPREAD( PCORIOY(:,:),DIM=3,NCOPIES=IKU) * PRHODJ(:,:,:)
 !
-    PRUS(:,:,:) = PRUS - MXM( ZWORK2 * MZF(1,IKU,1,PWT) ) 
+    PRUS(:,:,:) = PRUS - MXM( ZWORK2 * MZF(PWT) )
 !
-    PRVS(:,:,:) = PRVS - MYM( ZWORK1 * MZF(1,IKU,1,PWT) )
+    PRVS(:,:,:) = PRVS - MYM( ZWORK1 * MZF(PWT) )
 !
-    PRWS(:,:,:) = PRWS + MZM( 1,IKU,1,ZWORK2 * MXF(PUT) + ZWORK1 * MYF(PVT) )
+    PRWS(:,:,:) = PRWS + MZM( ZWORK2 * MXF(PUT) + ZWORK1 * MYF(PVT) )
 !
   END IF
 !
@@ -334,8 +330,8 @@ IF( .NOT.L1D ) THEN
 !
     PRTHS(:,:,:) = PRTHS(:,:,:) +  PRHODJ(:,:,:)                             &
       * ( ( XRD + XRV * PRT(:,:,:,1) ) * ZCPD_OV_RD / ZWORK1(:,:,:)  - 1. )  &
-      * PTHT(:,:,:)/PEXNREF(:,:,:)*MZF(1,IKU,1,PWT(:,:,:))*(ZG_OV_CPD/PTHVREF(:,:,:) &
-      -ZD1*4./7.*PEXNREF(:,:,:)/( XRADIUS+MZF(1,IKU,1,PZZ(:,:,:)) ))
+      * PTHT(:,:,:)/PEXNREF(:,:,:)*MZF(PWT(:,:,:))*(ZG_OV_CPD/PTHVREF(:,:,:) &
+      -ZD1*4./7.*PEXNREF(:,:,:)/( XRADIUS+MZF(PZZ(:,:,:)) ))
 !
   END IF
 !
diff --git a/src/MNH/eddy_fluxn.f90 b/src/MNH/eddy_fluxn.f90
index e2b92e8a9..9dab9b12c 100644
--- a/src/MNH/eddy_fluxn.f90
+++ b/src/MNH/eddy_fluxn.f90
@@ -1,6 +1,6 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2004-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     #######################
@@ -232,7 +232,7 @@ ZBETA(:,:,:) = GX_M_U(1,IKU,1,ZCORIOZ(:,:,:),XDXX,XDZZ,XDZX)
 ZCORIOZ(:,:,:)= MXM(ZCORIOZ(:,:,:))
 ! Dry Brunt Vaisal frequency
 
-ZWORK32(:,:,:)=DZM(1,IKU,1,PTHM(:,:,:))/ MZM(1,IKU,1,PTHM(:,:,:))
+ZWORK32(:,:,:)=DZM(PTHM(:,:,:))/ MZM(PTHM(:,:,:))
 DO JK=1,(IKE+1)
    DO JJ=1,(IJE+1)
       DO JI=1,(IIE+1)
diff --git a/src/MNH/endstep.f90 b/src/MNH/endstep.f90
index 9a3da2c54..2906923ac 100644
--- a/src/MNH/endstep.f90
+++ b/src/MNH/endstep.f90
@@ -1,12 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/endstep.f90,v $ $Revision: 1.2.2.2.2.2.16.1.2.5 $ $Date: 2014/04/22 14:31:38 $
-!-----------------------------------------------------------------
 !     ###################
       MODULE MODI_ENDSTEP
 !     ###################
@@ -280,14 +276,12 @@ REAL, DIMENSION(:,:),     INTENT(INOUT) :: PZWS                  ! significant w
 !*      0.2  DECLARATIONS OF LOCAL VARIABLES
 !
 INTEGER:: JSV                  ! loop counters
-INTEGER :: IKU
 INTEGER :: IIB, IIE  ! index of first and last inner mass points along x
 INTEGER :: IJB, IJE  ! index of first and last inner mass points along y
 !
 !------------------------------------------------------------------------------
 !
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
-IKU=SIZE(XZHAT)
 !
 !*      1.   ASSELIN FILTER
 !
@@ -544,7 +538,7 @@ IF (LBU_ENABLE) THEN
 !
   IF (LBUDGET_U)   CALL BUDGET (PUS*MXM(PRHODJ)/PTSTEP,1,'ENDF_BU_RU')
   IF (LBUDGET_V)   CALL BUDGET (PVS*MYM(PRHODJ)/PTSTEP,2,'ENDF_BU_RV')
-  IF (LBUDGET_W)   CALL BUDGET (PWS*MZM(1,IKU,1,PRHODJ)/PTSTEP,3,'ENDF_BU_RW')
+  IF (LBUDGET_W)   CALL BUDGET (PWS*MZM(PRHODJ)/PTSTEP,3,'ENDF_BU_RW')
   IF (LBUDGET_TH)  CALL BUDGET (PTHS*PRHODJ/PTSTEP,4,'ENDF_BU_RTH')
   IF (LBUDGET_TKE) CALL BUDGET (PTKES*PRHODJ/PTSTEP,5,'ENDF_BU_RTKE')
   IF (LBUDGET_RV)  CALL BUDGET (PRS(:,:,:,1)*PRHODJ/PTSTEP,6,'ENDF_BU_RRV')
diff --git a/src/MNH/exchange.f90 b/src/MNH/exchange.f90
index b6d8bb8b3..2f606e359 100644
--- a/src/MNH/exchange.f90
+++ b/src/MNH/exchange.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -130,14 +130,12 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS,PRSVS         !
 INTEGER   :: IINFO_ll              ! return code of parallel routine
 INTEGER   :: JRR,JSV              ! loop counters
 !
-INTEGER   :: IKU
 INTEGER   :: ILUOUT         ! logical unit numbers of output-listing
 INTEGER   :: IRESP          ! IRESP  : return-code if a problem appears
                                     !in LFI subroutines at the open of the file
 REAL      :: ZRATIO, ZMASSTOT, ZMASSPOS
 !------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
 ILUOUT = TLUOUT%NLU
 !
 !*       1.     TRANSFORMS THE SOURCE TERMS INTO PROGNOSTIC VARIABLES
@@ -147,7 +145,7 @@ ILUOUT = TLUOUT%NLU
 !
 PRUS(:,:,:) = PRUS(:,:,:)*PTSTEP / MXM(PRHODJ)
 PRVS(:,:,:) = PRVS(:,:,:)*PTSTEP / MYM(PRHODJ)
-PRWS(:,:,:) = PRWS(:,:,:)*PTSTEP / MZM(1,IKU,1,PRHODJ)
+PRWS(:,:,:) = PRWS(:,:,:)*PTSTEP / MZM(PRHODJ)
 !
 !        1.b Meteorological scalar variables
 !
diff --git a/src/MNH/fct_met.f90 b/src/MNH/fct_met.f90
index 653b238a2..b484dc593 100644
--- a/src/MNH/fct_met.f90
+++ b/src/MNH/fct_met.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 newsrc 2006/06/06 12:00:47
-!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_FCT_MET
 !     ######################
@@ -153,10 +148,8 @@ REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) ::  &
 REAL                                                    :: ZMINR,ZMINTKE
                                                   ! Absolute minimum values of
                                                   ! water substances, TKE
-INTEGER :: IKU                                                  
 !-------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
 !*       1.   FLUX-CORRECTED TRANSPORT ADVECTION SCHEME for the HMET group
 !
 !
@@ -175,7 +168,7 @@ IKU=SIZE(XZHAT)
   IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ADVY_BU_RTH')
 !
   PRTHS(:,:,:) = PRTHS(:,:,:)                            &
-                - DZF(1,IKU,1,PRWCT(:,:,:)*MZM (1,IKU,1,PTHT(:,:,:)))     
+                - DZF(PRWCT(:,:,:)*MZM (PTHT(:,:,:)))
   IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ADVZ_BU_RTH')
 !
 !*       1.2 No condensation case: Vapor ---> advected by a FCT scheme
@@ -196,7 +189,7 @@ IKU=SIZE(XZHAT)
     IF (LBUDGET_RV)                          & 
                               CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVY_BU_RRV')
 !
-    PRRS(:,:,:,1) = PRRS(:,:,:,1) - DZF(1,IKU,1,ZFZ(:,:,:))
+    PRRS(:,:,:,1) = PRRS(:,:,:,1) - DZF(ZFZ(:,:,:))
     IF (LBUDGET_RV)                          &
                               CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVZ_BU_RRV')
   END IF 
@@ -212,7 +205,7 @@ IKU=SIZE(XZHAT)
 !
   ZFX(:,:,:) = PRUCT(:,:,:) * MXM (PRT(:,:,:,2))    !
   ZFY(:,:,:) = PRVCT(:,:,:) * MYM (PRT(:,:,:,2))    ! CENtred scheme for rc
-  ZFZ(:,:,:) = PRWCT(:,:,:) * MZM (1,IKU,1,PRT(:,:,:,2))    !
+  ZFZ(:,:,:) = PRWCT(:,:,:) * MZM (PRT(:,:,:,2))    !
 !
   ZRTFX(:,:,:) = ZRTFX(:,:,:) - ZFX(:,:,:)        !
   ZRTFY(:,:,:) = ZRTFY(:,:,:) - ZFY(:,:,:)        !  rv fluxes deduction
@@ -228,8 +221,8 @@ IKU=SIZE(XZHAT)
   IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVY_BU_RRV')
   IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7 ,'ADVY_BU_RRC')
 !
-  PRRS(:,:,:,1) = PRRS(:,:,:,1) - DZF(1,IKU,1,ZRTFZ(:,:,:))
-  PRRS(:,:,:,2) = PRRS(:,:,:,2) - DZF(1,IKU,1,  ZFZ(:,:,:))
+  PRRS(:,:,:,1) = PRRS(:,:,:,1) - DZF(ZRTFZ(:,:,:))
+  PRRS(:,:,:,2) = PRRS(:,:,:,2) - DZF(  ZFZ(:,:,:))
   IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVZ_BU_RRV')
   IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7 ,'ADVZ_BU_RRC')
 !
@@ -248,7 +241,7 @@ IKU=SIZE(XZHAT)
 !
   ZFX(:,:,:) = PRUCT(:,:,:) * MXM (PRT(:,:,:,2))    !
   ZFY(:,:,:) = PRVCT(:,:,:) * MYM (PRT(:,:,:,2))    ! CENtred scheme for rc
-  ZFZ(:,:,:) = PRWCT(:,:,:) * MZM (1,IKU,1,PRT(:,:,:,2))    !
+  ZFZ(:,:,:) = PRWCT(:,:,:) * MZM (PRT(:,:,:,2))    !
 !
   ZRTFX(:,:,:) = ZRTFX(:,:,:) - ZFX(:,:,:)        !
   ZRTFY(:,:,:) = ZRTFY(:,:,:) - ZFY(:,:,:)        ! rv+ri fluxes deduction
@@ -260,13 +253,13 @@ IKU=SIZE(XZHAT)
   PRRS(:,:,:,2) = PRRS(:,:,:,2) - DYF(  ZFY(:,:,:))
   IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7 ,'ADVY_BU_RRC')
 !
-  PRRS(:,:,:,2) = PRRS(:,:,:,2) - DZF(1,IKU,1,  ZFZ(:,:,:))
+  PRRS(:,:,:,2) = PRRS(:,:,:,2) - DZF(  ZFZ(:,:,:))
   IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7 ,'ADVZ_BU_RRC')
 !
 !
   ZFX(:,:,:) = PRUCT(:,:,:) * MXM (PRT(:,:,:,4))    !
   ZFY(:,:,:) = PRVCT(:,:,:) * MYM (PRT(:,:,:,4))    ! CENtred scheme for ri
-  ZFZ(:,:,:) = PRWCT(:,:,:) * MZM (1,IKU,1,PRT(:,:,:,4))    !
+  ZFZ(:,:,:) = PRWCT(:,:,:) * MZM (PRT(:,:,:,4))    !
 !
   ZRTFX(:,:,:) = ZRTFX(:,:,:) - ZFX(:,:,:)        !
   ZRTFY(:,:,:) = ZRTFY(:,:,:) - ZFY(:,:,:)        !  rv fluxes deduction
@@ -282,8 +275,8 @@ IKU=SIZE(XZHAT)
   IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVY_BU_RRV')
   IF (LBUDGET_RI) CALL BUDGET (PRRS(:,:,:,4),9 ,'ADVY_BU_RRI')
 !
-  PRRS(:,:,:,1) = PRRS(:,:,:,1) - DZF(1,IKU,1,ZRTFZ(:,:,:))
-  PRRS(:,:,:,4) = PRRS(:,:,:,4) - DZF(1,IKU,1,  ZFZ(:,:,:))
+  PRRS(:,:,:,1) = PRRS(:,:,:,1) - DZF(ZRTFZ(:,:,:))
+  PRRS(:,:,:,4) = PRRS(:,:,:,4) - DZF(  ZFZ(:,:,:))
   IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6 ,'ADVZ_BU_RRV')
   IF (LBUDGET_RI) CALL BUDGET (PRRS(:,:,:,4),9 ,'ADVZ_BU_RRI')
 !
@@ -303,7 +296,7 @@ IKU=SIZE(XZHAT)
   PRRS(:,:,:,3) = PRRS(:,:,:,3) - DYF(  ZFY(:,:,:)) 
   IF (LBUDGET_RR) CALL BUDGET (PRRS(:,:,:,3),8 ,'ADVY_BU_RRR')
 !
-  PRRS(:,:,:,3) = PRRS(:,:,:,3) - DZF(1,IKU,1,  ZFZ(:,:,:)) 
+  PRRS(:,:,:,3) = PRRS(:,:,:,3) - DZF(  ZFZ(:,:,:))
   IF (LBUDGET_RR) CALL BUDGET (PRRS(:,:,:,3),8 ,'ADVZ_BU_RRR')
 !
   END IF
@@ -332,7 +325,7 @@ IKU=SIZE(XZHAT)
     IF (JRR==7.AND.LBUDGET_RH) &
                                     CALL BUDGET (PRRS(:,:,:,7),12,'ADVY_BU_RRH')
 !
-    PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR) - DZF(1,IKU,1,ZFZ(:,:,:))
+    PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR) - DZF(ZFZ(:,:,:))
     IF (JRR==5.AND.LBUDGET_RS) &
                                     CALL BUDGET (PRRS(:,:,:,5),10,'ADVZ_BU_RRS')
     IF (JRR==6.AND.LBUDGET_RG) &
@@ -359,7 +352,7 @@ IKU=SIZE(XZHAT)
     PRTKES(:,:,:) = PRTKES(:,:,:) - DYF(ZFY(:,:,:))   
     IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ADVY_BU_RTKE')
 !
-    PRTKES(:,:,:) = PRTKES(:,:,:) - DZF(1,IKU,1,ZFZ(:,:,:)) 
+    PRTKES(:,:,:) = PRTKES(:,:,:) - DZF(ZFZ(:,:,:))
     IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ADVZ_BU_RTKE')
 !
   END IF
diff --git a/src/MNH/fct_scalar.f90 b/src/MNH/fct_scalar.f90
index 75df10804..b37661bd0 100644
--- a/src/MNH/fct_scalar.f90
+++ b/src/MNH/fct_scalar.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 adiab 2006/06/06 12:01:31
-!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_FCT_SCALAR
 !     ######################
@@ -140,11 +135,9 @@ INTEGER                                  :: JSV
 !
 REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3))  &
                      :: ZFX  ,ZFY  ,ZFZ    ! Advective flux components for each
-INTEGER :: IKU                     
 !
 !-------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
 !*       1.   FLUX-CORRECTED TRANSPORT ADVECTION SCHEME for the HSV group
 !
 !
@@ -163,7 +156,7 @@ IKU=SIZE(XZHAT)
     IF (LBUDGET_SV)                               &
                             CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ADVY_BU_RSV')
 !
-    PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV) - DZF(1,IKU,1,ZFZ(:,:,:)) 
+    PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV) - DZF(ZFZ(:,:,:))
     IF (LBUDGET_SV)                               &
                             CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ADVZ_BU_RSV')
   END DO
diff --git a/src/MNH/flash_geom_elec.f90 b/src/MNH/flash_geom_elec.f90
index 55b5db9c4..3cd873895 100644
--- a/src/MNH/flash_geom_elec.f90
+++ b/src/MNH/flash_geom_elec.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2010-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -181,7 +181,6 @@ REAL, DIMENSION(:,:), OPTIONAL, INTENT(IN) :: PSEA  ! Land-sea mask
 INTEGER :: IIB, IIE  ! index values of the first and last inner mass points along x
 INTEGER :: IJB, IJE  ! index values of the first and last inner mass points along y
 INTEGER :: IKB, IKE  ! index values of the first and last inner mass points along z
-INTEGER :: IKU
 INTEGER :: II, IJ, IK, IL, IM, IPOINT  ! loop indexes
 INTEGER :: IX, IY, IZ
 INTEGER :: IXOR, IYOR  ! origin of the extended subdomain
@@ -336,7 +335,6 @@ CALL MYPROC_ELEC_ll(IPROC)
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 IKB = 1 + JPVEXT
 IKE = SIZE(PRT,3) - JPVEXT
-IKU = SIZE(PRT,3)
 !
 ! global indexes of the local subdomains origin
 CALL GET_GLOBALDIMS_ll (NIMAX_ll,NJMAX_ll)
@@ -383,7 +381,7 @@ IF (GEFIRSTCALL) THEN
 !
   ZXMASS(IIB:IIE) = 0.5 * (XXHAT(IIB:IIE) + XXHAT(IIB+1:IIE+1))
   ZYMASS(IJB:IJE) = 0.5 * (XYHAT(IJB:IJE) + XYHAT(IJB+1:IJE+1))
-  ZZMASS = MZF(1,IKU,1,PZZ)
+  ZZMASS = MZF(PZZ)
   ZPRES_COEF = EXP(ZZMASS/8400.)
   ZSCOORD_SEG(:,:,:) = 0.0
   ISAVE_STATUS = 1
diff --git a/src/MNH/forcing.f90 b/src/MNH/forcing.f90
index e2cecf24f..3163cb1ae 100644
--- a/src/MNH/forcing.f90
+++ b/src/MNH/forcing.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -474,7 +474,7 @@ ELSE
 !
   ALLOCATE(ZZA(SIZE(PWT,1),SIZE(PWT,2),SIZE(PWT,3)))
   ALLOCATE(ZZF(SIZE(PWT,1),SIZE(PWT,2),SIZE(PWT,3)))
-  ZZA(:,:,:)   = MZF(1,IKU,1, PZZ(:,:,:) )
+  ZZA(:,:,:)   = MZF( PZZ(:,:,:) )
   ZZA(:,:,IKU) = 2.0*PZZ(:,:,IKU) - ZZA(:,:,IKU-1)
   ZDZHAT_INV_IKU = 1.0 / ( PZHAT(IKU)-PZHAT(IKU-1) )
 !
@@ -544,7 +544,7 @@ ELSE
   END DO
   CALL GET_HALO(ZWF)
 !
-  ZZF(:,:,:)   = MZF(1,IKU,1, PZZ(:,:,:) )
+  ZZF(:,:,:)   = MZF( PZZ(:,:,:) )
   ZZF(:,:,IKU) = 2.0*PZZ(:,:,IKU)-ZZF(:,:,IKU-1)
 !
   DO JL=1,IKU-1
@@ -583,7 +583,7 @@ END IF
 !!
 !! Ligne to add if you want W in Pa/s in namelist instead of m/s (omega = - w/(rho*g))
 !!
-!ZWF(:,:,:) = - ZWF(:,:,:)/(XG*MZM(1,IKU,1,(PRHODJ(:,:,:)/PJ(:,:,:))))
+!ZWF(:,:,:) = - ZWF(:,:,:)/(XG*MZM((PRHODJ(:,:,:)/PJ(:,:,:))))
 !
 !!============================
 !
@@ -634,49 +634,49 @@ ALLOCATE(ZRWCF(SIZE(PWT,1),SIZE(PWT,2),SIZE(PWT,3)))
 !*       4.1    integration of vertical motion (upstream scheme)
 !
 IF (LVERT_MOTION_FRC) THEN
-  ZDZZ(:,:,:) = DZM(1,IKU,1,MZF(1,IKU,1,PZZ(:,:,:)))
+  ZDZZ(:,:,:) = DZM(MZF(PZZ(:,:,:)))
   ZDZZ(:,:,IKU) = PZZ(:,:,IKU) - PZZ(:,:,IKU-1) ! same delta z in IKU and IKU -1
 !
-  ZRWCF(:,:,:) =   ZWF(:,:,:) * MZM(1,IKU,1,PRHODJ(:,:,:)) / ZDZZ(:,:,:)
+  ZRWCF(:,:,:) =   ZWF(:,:,:) * MZM(PRHODJ(:,:,:)) / ZDZZ(:,:,:)
   ZRWCF(:,:,1) = - ZRWCF(:,:,3)     ! Mirror hypothesis
 !
 ! forced vertical transport of U and V
 !
-  ZDZZ(:,:,:) = MXF(ZRWCF(:,:,:)) *DZM(1,IKU,1,PUT(:,:,:))
+  ZDZZ(:,:,:) = MXF(ZRWCF(:,:,:)) *DZM(PUT(:,:,:))
   PRUS(:,:,:) = PRUS(:,:,:) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
-  ZDZZ(:,:,:) = MYF(ZRWCF(:,:,:)) *DZM(1,IKU,1,PVT(:,:,:))
+  ZDZZ(:,:,:) = MYF(ZRWCF(:,:,:)) *DZM(PVT(:,:,:))
   PRVS(:,:,:) = PRVS(:,:,:) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
 !
 ! forced vertical transport of W
 !
   IF( .NOT.L1D ) THEN
-    ZDZZ(:,:,:) = MZF(1,IKU,1,ZRWCF(:,:,:)) *DZF(1,IKU,1,PWT(:,:,:))
+    ZDZZ(:,:,:) = MZF(ZRWCF(:,:,:)) *DZF(PWT(:,:,:))
     PRWS(:,:,:) = PRWS(:,:,:) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
   END IF
 !
 ! forced vertical transport of THETA
 !
-  ZDZZ(:,:,:) = ZRWCF(:,:,:)  *DZM(1,IKU,1,PTHT(:,:,:))
+  ZDZZ(:,:,:) = ZRWCF(:,:,:)  *DZM(PTHT(:,:,:))
   PRTHS(:,:,:) = PRTHS(:,:,:) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
 !
 ! forced vertical transport of TKE (if allocated)
 !
   IF( SIZE(PTKET) == SIZE(ZDZZ) ) THEN
-    ZDZZ(:,:,:) = ZRWCF(:,:,:)  *DZM(1,IKU,1,PTKET(:,:,:))
+    ZDZZ(:,:,:) = ZRWCF(:,:,:)  *DZM(PTKET(:,:,:))
     PRTKES(:,:,:) = PRTKES(:,:,:) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
   END IF
 !
 ! forced vertical transport of water variables
 !
   DO JL = 1 , SIZE(PRRS,4)
-    ZDZZ(:,:,:) = ZRWCF(:,:,:) *DZM(1,IKU,1,PRT(:,:,:,JL))
+    ZDZZ(:,:,:) = ZRWCF(:,:,:) *DZM(PRT(:,:,:,JL))
     PRRS(:,:,:,JL) = PRRS(:,:,:,JL) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
   END DO
 !
 ! forced vertical transport of scalar variables
 !
   DO JL = 1 , SIZE(PRSVS,4)
-    ZDZZ(:,:,:) = ZRWCF(:,:,:) *DZM(1,IKU,1,PSVT(:,:,:,JL))
+    ZDZZ(:,:,:) = ZRWCF(:,:,:) *DZM(PSVT(:,:,:,JL))
     PRSVS(:,:,:,JL) = PRSVS(:,:,:,JL) - UPSTREAM_Z(ZDZZ(:,:,:),ZRWCF(:,:,:))
   END DO
 !
@@ -757,7 +757,7 @@ PVFRC_PAST(:,:,:) = ZVF(:,:,:)
 !
 IF( LRELAX_THRV_FRC .OR. LRELAX_UV_FRC ) THEN
 !
-  ZDZZ(:,:,:) = DZM(1,IKU,1,MZF(1,IKU,1,PZZ(:,:,:)))
+  ZDZZ(:,:,:) = DZM(MZF(PZZ(:,:,:)))
   ZDZZ(:,:,IKU) = PZZ(:,:,IKU) - PZZ(:,:,IKU-1)
 !
 ! define the mask where the relaxation is to be applied
@@ -772,7 +772,7 @@ IF( LRELAX_THRV_FRC .OR. LRELAX_UV_FRC ) THEN
 !callabortstop
       CALL PRINT_MSG(NVERB_FATAL,'GEN','FORCING','wrong CRELAX_HEIGHT_TYPE option')
   END SELECT
-  WHERE ( MZF(1,IKU,1,PZZ(:,:,:)) .LE. XRELAX_HEIGHT_FRC )
+  WHERE ( MZF(PZZ(:,:,:)) .LE. XRELAX_HEIGHT_FRC )
     GRELAX_MASK_FRC = .FALSE.
   END WHERE
 !
diff --git a/src/MNH/gdiv.f90 b/src/MNH/gdiv.f90
index f11b44f7c..b22065908 100644
--- a/src/MNH/gdiv.f90
+++ b/src/MNH/gdiv.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ################
       MODULE MODI_GDIV
 !     ################
@@ -71,13 +66,6 @@ END MODULE MODI_GDIV
 !!    EXTERNAL
 !!    --------
 !!      SUBROUTINE CONTRAV : compute the contavariant components 
-!!    Shuman operators :
-!!      FUNCTION DXF : compute finite difference along x for a variable 
-!!    localized at a flux side
-!!      FUNCTION DYF : compute finite difference along y for a variable 
-!!    localized at a flux side
-!!      FUNCTION DZF : compute finite difference along z for a variable 
-!!    localized at a flux side
 !!
 !!    IMPLICIT ARGUMENTS
 !!    ------------------ 
@@ -114,7 +102,6 @@ END MODULE MODI_GDIV
 !
 USE MODD_PARAMETERS
 USE MODD_CONF
-USE MODI_SHUMAN
 USE MODI_CONTRAV
 !
 USE MODE_ll
diff --git a/src/MNH/gradient_m.f90 b/src/MNH/gradient_m.f90
index 3fed55910..8442b1acf 100644
--- a/src/MNH/gradient_m.f90
+++ b/src/MNH/gradient_m.f90
@@ -1,12 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_GRADIENT_M
 !     ###################### 
@@ -194,7 +190,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_M_M ! result mass point
 !
 IF (.NOT. LFLAT) THEN 
   PGX_M_M(:,:,:)= (DXF(MXM(PA(:,:,:)))   -                     &
-                   MZF(KKA,KKU,KL,MXF(PDZX)*DZM(KKA,KKU,KL,PA(:,:,:)) &
+                   MZF(MXF(PDZX)*DZM(PA(:,:,:)) &
                   /PDZZ(:,:,:)) )        /MXF(PDXX(:,:,:))
 ELSE
   PGX_M_M(:,:,:)=DXF(MXM(PA(:,:,:))) / MXF(PDXX(:,:,:)) 
@@ -291,7 +287,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_M_M ! result mass point
 !
 !
 IF (.NOT. LFLAT) THEN 
-  PGY_M_M(:,:,:)= (DYF(MYM(PA))-MZF(KKA,KKU,KL,MYF(PDZY)*DZM(KKA,KKU,KL,PA)&
+  PGY_M_M(:,:,:)= (DYF(MYM(PA))-MZF(MYF(PDZY)*DZM(PA)&
                 /PDZZ) ) /MYF(PDYY)
 ELSE
   PGY_M_M(:,:,:)= DYF(MYM(PA))/MYF(PDYY)
@@ -381,7 +377,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_M_M ! result mass point
 !*       1.    DEFINITION of GZ_M_M
 !              --------------------
 !
-PGZ_M_M(:,:,:)= MZF(KKA,KKU,KL, DZM(KKA,KKU,KL,PA(:,:,:))/PDZZ(:,:,:) )
+PGZ_M_M(:,:,:)= MZF( DZM(PA(:,:,:))/PDZZ(:,:,:) )
 !
 !----------------------------------------------------------------------------
 !
diff --git a/src/MNH/gradient_u.f90 b/src/MNH/gradient_u.f90
index 20526e75e..8b9fa7ff3 100644
--- a/src/MNH/gradient_u.f90
+++ b/src/MNH/gradient_u.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_GRADIENT_U
 !     ######################
@@ -147,7 +142,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_U_M ! result mass point
 !
 IF (.NOT. LFLAT) THEN
   PGX_U_M(:,:,:)= ( DXF(PA)        -                 &
-                    MZF(KKA,KKU,KL,MXF(PDZX*DZM(KKA,KKU,KL,PA)) / PDZZ )  &
+                    MZF(MXF(PDZX*DZM(PA)) / PDZZ )  &
                   ) / MXF(PDXX)
 ELSE
   PGX_U_M(:,:,:)= DXF(PA) /  MXF(PDXX)
@@ -245,7 +240,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_U_UV ! result UV point
 !              ---------------------
 !
 IF (.NOT. LFLAT) THEN
-  PGY_U_UV(:,:,:)=  (DYM(PA)- MZF(KKA,KKU,KL, MYM( DZM(KKA,KKU,KL,PA)/&
+  PGY_U_UV(:,:,:)=  (DYM(PA)- MZF( MYM( DZM(PA)/&
                  MXM(PDZZ) ) *MXM(PDZY) )   ) / MXM(PDYY)
 ELSE
   PGY_U_UV(:,:,:)= DYM(PA) / MXM(PDYY)
@@ -332,7 +327,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_U_UW ! result UW point
 !*       1.    DEFINITION of GZ_U_UW
 !              ---------------------
 !
-PGZ_U_UW(:,:,:)= DZM(KKA,KKU,KL,PA) / MXM(PDZZ)
+PGZ_U_UW(:,:,:)= DZM(PA) / MXM(PDZZ)
 !
 !----------------------------------------------------------------------------
 !
diff --git a/src/MNH/gradient_uv.f90 b/src/MNH/gradient_uv.f90
index b7c3e35fa..c350c786f 100644
--- a/src/MNH/gradient_uv.f90
+++ b/src/MNH/gradient_uv.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     #######################
       MODULE MODI_GRADIENT_UV
 !     #######################
@@ -133,7 +128,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_UV_V ! result V point
 !
 IF (.NOT. LFLAT) THEN
   PGX_UV_V(:,:,:)= ( DXF(PA)        -                         &
-                    MZF(KKA,KKU,KL, MXF( MYM(PDZX)*DZM(KKA,KKU,KL,PA)/MYM(PDZZ) ) ) &
+                    MZF( MXF( MYM(PDZX)*DZM(PA)/MYM(PDZZ) ) ) &
                    ) / MXF(MYM(PDXX))
 ELSE
   PGX_UV_V(:,:,:)= DXF(PA) /  MXF(MYM(PDXX))
@@ -237,7 +232,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_UV_U ! result U point
 !
 IF (.NOT. LFLAT) THEN
   PGY_UV_U(:,:,:)= ( DYF(PA)        -                         &
-                    MZF(KKA,KKU,KL, MYF( MXM(PDZY)*DZM(KKA,KKU,KL,PA)/MXM(PDZZ) ) ) &
+                    MZF( MYF( MXM(PDZY)*DZM(PA)/MXM(PDZZ) ) ) &
                    ) / MYF(MXM(PDYY))
 ELSE
   PGY_UV_U(:,:,:)= DYF(PA) / MYF(MXM(PDYY))
diff --git a/src/MNH/gradient_uw.f90 b/src/MNH/gradient_uw.f90
index 5ef1c9622..d9ec4ec0e 100644
--- a/src/MNH/gradient_uw.f90
+++ b/src/MNH/gradient_uw.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     #######################
       MODULE MODI_GRADIENT_UW
 !     #######################
@@ -132,10 +127,10 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_UW_W ! result W point
 !
 IF (.NOT. LFLAT) THEN
   PGX_UW_W(:,:,:)= ( DXF(PA)        -                          &
-                    MZF(KKA,KKU,KL, MXF(MZF(KKA,KKU,KL, PDZX)*DZF(KKA,KKU,KL,PA)) / MZF(KKA,KKU,KL,PDZZ) )  &
-                  ) / MXF(MZM(KKA,KKU,KL,PDXX))
+                    MZF( MXF(MZF( PDZX)*DZF(PA)) / MZF(PDZZ) )  &
+                  ) / MXF(MZM(PDXX))
 ELSE
-  PGX_UW_W(:,:,:)= DXF(PA) /  MXF(MZM(KKA,KKU,KL,PDXX))
+  PGX_UW_W(:,:,:)= DXF(PA) /  MXF(MZM(PDXX))
 END IF
 !
 !----------------------------------------------------------------------------
@@ -222,7 +217,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_UW_U ! result U point
 !*       1.    DEFINITION of GZ_UW_U
 !              ---------------------
 !
-PGZ_UW_U(:,:,:)= DZF(KKA,KKU,KL,PA) / MXM(MZF(KKA,KKU,KL,PDZZ))
+PGZ_UW_U(:,:,:)= DZF(PA) / MXM(MZF(PDZZ))
 !
 !----------------------------------------------------------------------------
 !
diff --git a/src/MNH/gradient_v.f90 b/src/MNH/gradient_v.f90
index 98a7349d7..1e609b305 100644
--- a/src/MNH/gradient_v.f90
+++ b/src/MNH/gradient_v.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_GRADIENT_V
 !     ######################
@@ -146,7 +141,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_V_M ! result mass point
 !
 IF (.NOT. LFLAT) THEN
   PGY_V_M(:,:,:)= (DYF(PA)        -                      &
-                   MZF(KKA,KKU,KL, MYF(PDZY*DZM(KKA,KKU,KL,PA))/PDZZ )         &
+                   MZF( MYF(PDZY*DZM(PA))/PDZZ )         &
                   ) / MYF(PDYY)
 ELSE
   PGY_V_M(:,:,:)= DYF(PA) / MYF(PDYY)
@@ -243,7 +238,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_V_UV ! result UV point
 !              ---------------------
 !
 IF (.NOT. LFLAT) THEN
-  PGX_V_UV(:,:,:)= ( DXM(PA)- MZF(KKA,KKU,KL, MXM( DZM(KKA,KKU,KL,PA)/&
+  PGX_V_UV(:,:,:)= ( DXM(PA)- MZF( MXM( DZM(PA)/&
                     MYM(PDZZ) ) *MYM(PDZX) )   )   / MYM(PDXX)
 ELSE
   PGX_V_UV(:,:,:)= DXM(PA) / MYM(PDXX)
@@ -331,7 +326,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_V_VW ! result VW point
 !*       1.    DEFINITION of GZ_V_VW
 !              ---------------------
 !
-PGZ_V_VW(:,:,:)= DZM(KKA,KKU,KL,PA) / MYM(PDZZ)
+PGZ_V_VW(:,:,:)= DZM(PA) / MYM(PDZZ)
 !
 !----------------------------------------------------------------------------
 !
diff --git a/src/MNH/gradient_vw.f90 b/src/MNH/gradient_vw.f90
index 6d82cb972..c9016aa32 100644
--- a/src/MNH/gradient_vw.f90
+++ b/src/MNH/gradient_vw.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     #######################
       MODULE MODI_GRADIENT_VW
 !     #######################
@@ -132,10 +127,10 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_VW_W ! result W point
 !
 IF (.NOT. LFLAT) THEN
   PGY_VW_W(:,:,:)= ( DYF(PA)        -                          &
-                    MZF(KKA,KKU,KL, MYF(MZF(KKA,KKU,KL,PDZY)*DZF(KKA,KKU,KL,PA)) / MZF(KKA,KKU,KL,PDZZ) )  &
-                  ) / MYF(MZM(KKA,KKU,KL,PDYY))
+                    MZF( MYF(MZF(PDZY)*DZF(PA)) / MZF(PDZZ) )  &
+                  ) / MYF(MZM(PDYY))
 ELSE
-  PGY_VW_W(:,:,:)= DYF(PA) /  MYF(MZM(KKA,KKU,KL,PDYY))
+  PGY_VW_W(:,:,:)= DYF(PA) /  MYF(MZM(PDYY))
 END IF
 !
 !----------------------------------------------------------------------------
@@ -222,7 +217,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_VW_V ! result V point
 !*       1.    DEFINITION of GZ_VW_V
 !              ---------------------
 !
-PGZ_VW_V(:,:,:)= DZF(KKA,KKU,KL,PA) / MYM(MZF(KKA,KKU,KL,PDZZ))
+PGZ_VW_V(:,:,:)= DZF(PA) / MYM(MZF(PDZZ))
 !
 !----------------------------------------------------------------------------
 !
diff --git a/src/MNH/gradient_w.f90 b/src/MNH/gradient_w.f90
index a1bfeed20..2547e5a17 100644
--- a/src/MNH/gradient_w.f90
+++ b/src/MNH/gradient_w.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_GRADIENT_W
 !     ######################
@@ -131,7 +126,7 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGZ_W_M ! result mass point
 !*       1.    DEFINITION of GZ_W_M
 !              --------------------
 !
-PGZ_W_M(:,:,:)= DZF(KKA,KKU,KL,PA(:,:,:))/(MZF(KKA,KKU,KL,PDZZ(:,:,:)))
+PGZ_W_M(:,:,:)= DZF(PA(:,:,:))/(MZF(PDZZ(:,:,:)))
 !
 !----------------------------------------------------------------------------
 !
@@ -214,11 +209,11 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGX_W_UW ! result UW point
 !              ---------------------
 !
 IF (.NOT. LFLAT) THEN
-  PGX_W_UW(:,:,:)= DXM(PA(:,:,:))/(MZM(KKA,KKU,KL,PDXX(:,:,:)))    &
-                 -DZM(KKA,KKU,KL,MXM(MZF(KKA,KKU,KL,PA(:,:,:))))*PDZX(:,:,:)  &
-                  /( MZM(KKA,KKU,KL,PDXX(:,:,:))*MXM(PDZZ(:,:,:)) )
+  PGX_W_UW(:,:,:)= DXM(PA(:,:,:))/(MZM(PDXX(:,:,:)))    &
+                 -DZM(MXM(MZF(PA(:,:,:))))*PDZX(:,:,:)  &
+                  /( MZM(PDXX(:,:,:))*MXM(PDZZ(:,:,:)) )
 ELSE
-  PGX_W_UW(:,:,:)= DXM(PA(:,:,:))/(MZM(KKA,KKU,KL,PDXX(:,:,:)))
+  PGX_W_UW(:,:,:)= DXM(PA(:,:,:))/(MZM(PDXX(:,:,:)))
 END IF
 !
 !----------------------------------------------------------------------------
@@ -302,11 +297,11 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PGY_W_VW ! result VW point
 !              ---------------------
 !
 IF (.NOT. LFLAT) THEN
-  PGY_W_VW(:,:,:)= DYM(PA(:,:,:))/(MZM(KKA,KKU,KL,PDYY(:,:,:)))    &
-                 -DZM(KKA,KKU,KL,MYM(MZF(KKA,KKU,KL,PA(:,:,:))))*PDZY(:,:,:)  &
-                  /( MZM(KKA,KKU,KL,PDYY(:,:,:))*MYM(PDZZ(:,:,:)) )
+  PGY_W_VW(:,:,:)= DYM(PA(:,:,:))/(MZM(PDYY(:,:,:)))    &
+                 -DZM(MYM(MZF(PA(:,:,:))))*PDZY(:,:,:)  &
+                  /( MZM(PDYY(:,:,:))*MYM(PDZZ(:,:,:)) )
 ELSE
-  PGY_W_VW(:,:,:)= DYM(PA(:,:,:))/(MZM(KKA,KKU,KL,PDYY(:,:,:)))
+  PGY_W_VW(:,:,:)= DYM(PA(:,:,:))/(MZM(PDYY(:,:,:)))
 END IF
 !
 !----------------------------------------------------------------------------
diff --git a/src/MNH/gravity.f90 b/src/MNH/gravity.f90
index 271d59102..5ea69414c 100644
--- a/src/MNH/gravity.f90
+++ b/src/MNH/gravity.f90
@@ -1,12 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-!-----------------------------------------------------------------
 !     ###################
       MODULE MODI_GRAVITY    
 !     ###################
@@ -141,7 +137,6 @@ REAL       ::  ZRV_OV_RD    ! = RV / RD
 INTEGER    ::  JWATER       ! loop index on the different types of water
 REAL, DIMENSION(SIZE(PTHT,1),SIZE(PTHT,2),SIZE(PTHT,3)) ::           &
                               ZWORK1, ZWORK2
-INTEGER :: IKU
 !
 !-------------------------------------------------------------------------------
 !
@@ -149,8 +144,6 @@ INTEGER :: IKU
 !*       1.     COMPUTES THE GRAVITY TERM
 !	        -------------------------
 !
-IKU=SIZE(PTHT,3)
-!
 IF( .NOT.L1D ) THEN     ! no buoyancy for 1D case
 !
   IF(KRR > 0) THEN
@@ -179,7 +172,7 @@ IF( .NOT.L1D ) THEN     ! no buoyancy for 1D case
 !
 !   compute the gravity term
 !
-  PRWS(:,:,:) = PRWS + XG * MZM(1,IKU,1, ( (ZWORK2/PTHVREF) - 1. ) * PRHODJ )
+  PRWS(:,:,:) = PRWS + XG * MZM( ( (ZWORK2/PTHVREF) - 1. ) * PRHODJ )
 !
 !    the extrapolation for the PTHT and the THVREF must be the same at the
 !    ground
diff --git a/src/MNH/ini_field_elec.f90 b/src/MNH/ini_field_elec.f90
index a4fa7cd9b..c5dcbb79a 100644
--- a/src/MNH/ini_field_elec.f90
+++ b/src/MNH/ini_field_elec.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2002-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -100,7 +100,6 @@ CHARACTER(LEN=4), DIMENSION(2) :: ZLBCY  ! y-direction LBC type
 !
 INTEGER :: JK     ! loop over the vertical levels
 INTEGER :: IINFO_ll ! 
-INTEGER :: IKB,IKE,IKU      ! Indices for the first and last point along vertical
 !
 REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZZMASS, ZWORK, ZWORK1, ZWORK2
 !
@@ -112,9 +111,6 @@ TYPE(LIST_ll),POINTER  :: TZFIELDS_ll ! list of fields to exchange
 !*      1.    INITIALIZATIONS
 !             ---------------
 ! 
-IKB = 1 + JPVEXT
-IKE = SIZE(PZZ,3) - JPVEXT
-IKU = SIZE(PZZ,3)
 ZLBCX = 'OPEN'  ! forced LBC
 ZLBCY = 'OPEN'  ! forced LBC
 !
@@ -172,7 +168,7 @@ XEFIELDW(:,:,SIZE(PDZZ,3)) = 2. * XEFIELDW(:,:,SIZE(PDZZ,3)-1) -  &
                                   XEFIELDW(:,:,SIZE(PDZZ,3)-2)
 
 ! Computing the mobility of small positive (negative) ions at Mass-point
-ZZMASS = MZF(1,IKU,1, PZZ )   ! altitude at mass point
+ZZMASS = MZF( PZZ )   ! altitude at mass point
 
 DO JK = 2,SIZE(PZZ,3)-1
   XMOBIL_POS(:,:,JK) = XF_POS * EXP( XEXPMOB* ZZMASS(:,:,JK) )
diff --git a/src/MNH/ini_spawn_lsn.f90 b/src/MNH/ini_spawn_lsn.f90
index 75354a3f5..3e31fdc9b 100644
--- a/src/MNH/ini_spawn_lsn.f90
+++ b/src/MNH/ini_spawn_lsn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1997-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1997-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -501,9 +501,9 @@ IF ( GVERT_INTERP ) THEN
   !
   IKU = SIZE(PZZ,3)
   !
-  ZZLS2=MZF(1,IKU,1,ZZLS1)
+  ZZLS2=MZF(ZZLS1)
   ZZLS2(:,:,IKU)=2.*ZZLS2(:,:,IKU-1)-ZZLS2(:,:,IKU-2)
-  ZZSS=MZF(1,IKU,1,PZZ)
+  ZZSS=MZF(PZZ)
   ZZSS(:,:,IKU)=2.*ZZSS(:,:,IKU-1)-ZZSS(:,:,IKU-2)
   !
   CALL COEF_VER_INTERP_LIN(ZZLS2,ZZSS,IKLIN,ZCOEFLIN)
@@ -707,7 +707,7 @@ IF ( GVERT_INTERP ) THEN
   !
   ZZLS1=MYM(ZZLS2)
   ZZLS1(:,1,:)=2.*ZZLS1(:,2,:)-ZZLS1(:,3,:)
-  ZZSS=MZF(1,IKU,1,PZZ)
+  ZZSS=MZF(PZZ)
   ZZSS(:,:,IKU)=2.*ZZSS(:,:,IKU-1)-ZZSS(:,:,IKU-2)
   ZZSS=MYM(ZZSS)
   ZZSS(:,1,:)=2.*ZZSS(:,2,:)-ZZSS(:,3,:)
diff --git a/src/MNH/ini_tke_eps.f90 b/src/MNH/ini_tke_eps.f90
index f0aba674f..c76c795b5 100644
--- a/src/MNH/ini_tke_eps.f90
+++ b/src/MNH/ini_tke_eps.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -117,7 +117,7 @@ TYPE(LIST_ll), POINTER                      :: TPINITHALO3D_ll ! pointer for the
 !
 !*       0.2    Declaration of local variables
 !
-INTEGER ::         IKB,IKE,IKU! index value for the first and last inner
+INTEGER ::         IKB,IKE    ! index value for the first and last inner
                               ! mass points
 INTEGER ::         JKK        ! vertical loop index
 REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZDELTZ ! vertical
@@ -128,7 +128,6 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZDELTZ ! vertical
 ! 
 IKB=1+JPVEXT
 IKE=SIZE(PTHT,3)-JPVEXT
-IKU=SIZE(PTHT,3)
 !
 !*       1.     TKE DETERMINATION
 !               -----------------
@@ -150,9 +149,9 @@ IF (HGETTKET == 'INIT' ) THEN
   !
   ! determines TKE
   PTKET(:,:,:)=(XLINI**2/XCED)*(  &
-                  XCMFS*( DZF(1,IKU,1,MXF(MZM(1,IKU,1,PUT)))**2                  &
-                         +DZF(1,IKU,1,MYF(MZM(1,IKU,1,PVT)))**2) / ZDELTZ        &
-                 -(XG/PTHVREF)*XCSHF*DZF(1,IKU,1,MZM(1,IKU,1,PTHT))              &
+                  XCMFS*( DZF(MXF(MZM(PUT)))**2                  &
+                         +DZF(MYF(MZM(PVT)))**2) / ZDELTZ        &
+                 -(XG/PTHVREF)*XCSHF*DZF(MZM(PTHT))              &
                                ) / ZDELTZ
   ! positivity control
   WHERE (PTKET < XTKEMIN) PTKET=XTKEMIN
diff --git a/src/MNH/initial_guess.f90 b/src/MNH/initial_guess.f90
index f7d74b647..cc86efe65 100644
--- a/src/MNH/initial_guess.f90
+++ b/src/MNH/initial_guess.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$ $Date$
-!-----------------------------------------------------------------
-!-----------------------------------------------------------------
 !     #########################
       MODULE MODI_INITIAL_GUESS
 !     #########################
@@ -188,12 +183,10 @@ REAL, DIMENSION(:,:,:,:), INTENT(IN)  :: PRT, PSVT
 !*       0.2   declarations of local variables
 !
 INTEGER                               :: JRR, JSV
-INTEGER                               :: IKU
 REAL                                  :: ZINVTSTEP
 !
 !-------------------------------------------------------------------------------
 !
-IKU=SIZE(XZHAT)
 !*       1.     COMPUTES THE INVERSE OF THE APPLICABLE TIMESTEP
 !   	        -----------------------------------------------
 !
@@ -207,7 +200,7 @@ ZINVTSTEP = 1./PTSTEP
 ! forward-in-time time-marching scheme
 PRUS = PUT * ZINVTSTEP * MXM(PRHODJ)
 PRVS = PVT * ZINVTSTEP * MYM(PRHODJ)
-PRWS = PWT * ZINVTSTEP * MZM(1,IKU,1,PRHODJ)
+PRWS = PWT * ZINVTSTEP * MZM(PRHODJ)
 !
 ! *** meteorological variables
 !
diff --git a/src/MNH/interp3d.f90 b/src/MNH/interp3d.f90
index b5c2faa9d..d6a05a70b 100644
--- a/src/MNH/interp3d.f90
+++ b/src/MNH/interp3d.f90
@@ -1,14 +1,11 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1997-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-!-----------------------------------------------------------------
+!###################
 MODULE MODI_INTERP3D
-!#################################
+!###################
 !
 INTERFACE
       SUBROUTINE INTERP3D(PFIELD,KGRID,PSVAL,PPLEV,PFIELDAP)
@@ -88,7 +85,6 @@ INTEGER      :: IIE,IJE,IPU      ! End of usefull area
 INTEGER      :: IIB,IJB,IKB      ! Begining of usefull area 
 REAL, DIMENSION(SIZE(XPABST,1),SIZE(XPABST,2),SIZE(XPABST,3)) :: ZPTH  ! pressure for grid points corresponding to KGRID type 
 REAL  :: ZREF,ZXP,ZXM,ZDIXEPS ! pressure values and epsilon value
-INTEGER :: IKU
 !-------------------------------------------------------------------------------
 !
 !*         1.    
@@ -96,7 +92,6 @@ INTEGER :: IKU
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 IPU=SIZE(PFIELDAP,3)
 IKB=1 +JPVEXT
-IKU=SIZE(XZHAT)
 ZDIXEPS=10.*EPSILON(1.)
 !
 SELECT CASE (KGRID)
@@ -109,7 +104,7 @@ SELECT CASE (KGRID)
     ZPTH(:,:,:)=MYM(XPABST(:,:,:))
     ZPTH(:,1,:)=2.*ZPTH(:,2,:) - ZPTH(:,3,:)
   CASE(4)
-    ZPTH(:,:,:)=MZM(1,IKU,1,XPABST(:,:,:))
+    ZPTH(:,:,:)=MZM(XPABST(:,:,:))
     ZPTH(:,:,1)=2.*ZPTH(:,:,2) - ZPTH(:,:,3)
 END SELECT
 !
diff --git a/src/MNH/ion_drift.f90 b/src/MNH/ion_drift.f90
index 73edec604..b3187ca83 100644
--- a/src/MNH/ion_drift.f90
+++ b/src/MNH/ion_drift.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2010-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -74,7 +74,6 @@ REAL, DIMENSION(:,:,:,:),       INTENT(INOUT) :: PSVT
 INTEGER :: IIB, IIE  ! index of first and last inner mass points along x
 INTEGER :: IJB, IJE  ! index of first and last inner mass points along y
 INTEGER :: IKB, IKE  ! index of first and last inner mass points along z
-INTEGER :: IKU
 REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZDRIFTX
 REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZDRIFTY
 REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZDRIFTZ
@@ -95,7 +94,6 @@ NULLIFY(TZFIELDS_ll)
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 IKB = 1 + JPVEXT
 IKE = SIZE(PSVT,3) - JPVEXT
-IKU = SIZE(PSVT,3)
 !
 !
 !-------------------------------------------------------------------------------
@@ -166,7 +164,7 @@ ZDRIFTY(:,:,:) = -MYM(ZDRIFTY(:,:,:)) ! Put components at flux sides
 ! z-component of div term
 ZDRIFTZ(:,:,:) = PSVT(:,:,:,NSV_ELECBEG) * XMOBIL_POS(:,:,:)
 ZDRIFTZ(:,:,:) = ZDRIFTZ(:,:,:) * XEFIELDW(:,:,:)
-ZDRIFTZ(:,:,:) = -MZM(1,IKU,1,ZDRIFTZ(:,:,:)) ! Put components at flux sides
+ZDRIFTZ(:,:,:) = -MZM(ZDRIFTZ(:,:,:)) ! Put components at flux sides
 !
 IF (LWEST_ll( ))  ZDRIFTX(IIB-1,:,:) = ZDRIFTX(IIB,:,:)
 IF (LEAST_ll( ))  ZDRIFTX(IIE+1,:,:) = ZDRIFTX(IIE,:,:)
@@ -192,7 +190,7 @@ ZDRIFTY(:,:,:) = +MYM(ZDRIFTY(:,:,:)) ! Put components at flux sides
 ! z-component of div term
 ZDRIFTZ(:,:,:) = PSVT(:,:,:,NSV_ELECEND) * XMOBIL_NEG(:,:,:)
 ZDRIFTZ(:,:,:) = ZDRIFTZ(:,:,:) * XEFIELDW(:,:,:)
-ZDRIFTZ(:,:,:) = +MZM(1,IKU,1,ZDRIFTZ(:,:,:)) ! Put components at flux sides
+ZDRIFTZ(:,:,:) = +MZM(ZDRIFTZ(:,:,:)) ! Put components at flux sides
 
 !
 IF (LWEST_ll( ))  ZDRIFTX(IIB-1,:,:) = ZDRIFTX(IIB,:,:)
diff --git a/src/MNH/lap_m.f90 b/src/MNH/lap_m.f90
index a16fd8061..f1936c828 100644
--- a/src/MNH/lap_m.f90
+++ b/src/MNH/lap_m.f90
@@ -1,7 +1,8 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2007-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
+!-----------------------------------------------------------------
 !     #################
       MODULE MODI_LAP_M
 !     #################
@@ -211,7 +212,7 @@ IF(.NOT. L2D) THEN
    ZV = MYM(PRHODJ) * ZV
 ENDIF
 !
-ZW = MZM(1,IKU,1,PRHODJ) * GZ_M_W(1,IKU,1,PY,PDZZ)
+ZW = MZM(PRHODJ) * GZ_M_W(1,IKU,1,PY,PDZZ)
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/les_budget.f90 b/src/MNH/les_budget.f90
index c11a00da0..5219c5930 100644
--- a/src/MNH/les_budget.f90
+++ b/src/MNH/les_budget.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2002-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -398,7 +398,7 @@ INTEGER :: IINFO_ll
         ZRHODJ(:,:,:) = MYM(XCURRENT_RHODJ)
         ZS(:,:,:) =  PVARS(:,:,:) / ZRHODJ * XCURRENT_TSTEP
       CASE ('Z')
-        ZRHODJ(:,:,:) = MZM(1,IKU,1,XCURRENT_RHODJ)
+        ZRHODJ(:,:,:) = MZM(XCURRENT_RHODJ)
         ZS(:,:,:) =  PVARS(:,:,:) / ZRHODJ * XCURRENT_TSTEP
       CASE DEFAULT
         ZRHODJ(:,:,:) =     XCURRENT_RHODJ
@@ -416,7 +416,7 @@ INTEGER :: IINFO_ll
       CASE ('Y')
         ZS(:,:,:) = MYF(ZS)
       CASE ('Z')
-        ZS(:,:,:) = MZF(1,IKU,1,ZS)
+        ZS(:,:,:) = MZF(ZS)
     END SELECT
 
     CALL LES_ANOMALY_FIELD(ZS,PANOM)
diff --git a/src/MNH/les_budget_tendn.f90 b/src/MNH/les_budget_tendn.f90
index 88f033d8e..35652009d 100644
--- a/src/MNH/les_budget_tendn.f90
+++ b/src/MNH/les_budget_tendn.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 les 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !      #######################
 MODULE MODI_LES_BUDGET_TEND_n
 !      #######################
@@ -134,7 +129,7 @@ ALLOCATE(ZSV_ANOM   (IIU,IJU,NLES_K,NSV))
 
 CALL LES_ANOMALY_FIELD(MXF(XUT),ZU_ANOM)
 CALL LES_ANOMALY_FIELD(MYF(XVT),ZV_ANOM)
-CALL LES_ANOMALY_FIELD(MZF(1,IKU,1,XWT),ZW_ANOM)
+CALL LES_ANOMALY_FIELD(MZF(XWT),ZW_ANOM)
 CALL LES_ANOMALY_FIELD(ZTHL,ZTHL_ANOM)
 CALL LES_ANOMALY_FIELD(ZRT,ZRT_ANOM)
 DO JSV=1,NSV
diff --git a/src/MNH/les_cloud_masksn.f90 b/src/MNH/les_cloud_masksn.f90
index daeb189e9..9b9bbf3b2 100644
--- a/src/MNH/les_cloud_masksn.f90
+++ b/src/MNH/les_cloud_masksn.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2006-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 les 2006/10/16 14:59:17
-!-----------------------------------------------------------------
 !     #######################
       SUBROUTINE  LES_CLOUD_MASKS_n
 !     #######################
@@ -170,7 +165,7 @@ ZWORK1D=0.
 ZWORK3D=0.  
 ZWORK3DB=0.
 !
-CALL LES_VER_INT(MZF(1,IKU,1,XWT), ZW_LES)
+CALL LES_VER_INT(MZF(XWT), ZW_LES)
 IF (NSV_CS>0) THEN
   DO JSV=NSV_CSBEG, NSV_CSEND
     CALL LES_VER_INT(  XSVT(:,:,:,JSV),  &
diff --git a/src/MNH/les_ini_timestepn.f90 b/src/MNH/les_ini_timestepn.f90
index 9ab794369..f1d8cb6a3 100644
--- a/src/MNH/les_ini_timestepn.f90
+++ b/src/MNH/les_ini_timestepn.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 les 2006/08/30 18:38:45
-!-----------------------------------------------------------------
 !      #######################
 MODULE MODI_LES_INI_TIMESTEP_n
 !      #######################
@@ -377,7 +372,7 @@ CALL THL_RT_FROM_TH_R(LUSERV, LUSERC, LUSERR,             &
 !
 CALL LES_ANOMALY_FIELD(MXF(XUT),XU_ANOM)
 CALL LES_ANOMALY_FIELD(MYF(XVT),XV_ANOM)
-CALL LES_ANOMALY_FIELD(MZF(1,IKU,1,XWT),XW_ANOM)
+CALL LES_ANOMALY_FIELD(MZF(XWT),XW_ANOM)
 CALL LES_ANOMALY_FIELD(ZTHL,XTHL_ANOM)
 IF (LUSERV) CALL LES_ANOMALY_FIELD(ZRT,XRT_ANOM)
 DO JSV=1,NSV
diff --git a/src/MNH/lesn.f90 b/src/MNH/lesn.f90
index 3eae3fc04..dd9fa4260 100644
--- a/src/MNH/lesn.f90
+++ b/src/MNH/lesn.f90
@@ -1,8 +1,7 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
-! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/lesn.f90,v $
 !-----------------------------------------------------------------
 !     #################
       SUBROUTINE  LES_n
@@ -485,7 +484,7 @@ ELSE
 END IF
 !
 ! computation of mass flux
-ZMASSF=MZM(1,IKU,1,ZRHO)*XWT
+ZMASSF=MZM(ZRHO)*XWT
 !
 !-------------------------------------------------------------------------------
 !
@@ -516,11 +515,11 @@ CALL LES_VER_INT( GZ_M_M(1,IKU,1,XPABST,XDZZ), ZDPDZ_LES )
 !
 CALL LES_VER_INT( MXF(XUT)  ,ZU_LES  )
 CALL LES_VER_INT( MYF(XVT)  ,ZV_LES  )
-CALL LES_VER_INT( MZF(1,IKU,1,XWT)  ,ZW_LES  )
-CALL LES_VER_INT( MZF(1,IKU,1,ZMASSF) ,ZMF_LES)
+CALL LES_VER_INT( MZF(XWT)  ,ZW_LES  )
+CALL LES_VER_INT( MZF(ZMASSF) ,ZMF_LES)
 CALL LES_VER_INT(     XTHT  ,ZTH_LES )
-CALL LES_VER_INT( MXF(MZF(1,IKU,1,GZ_U_UW(1,IKU,1,XUT,XDZZ))), ZDUDZ_LES )
-CALL LES_VER_INT( MYF(MZF(1,IKU,1,GZ_V_VW(1,IKU,1,XVT,XDZZ))), ZDVDZ_LES )
+CALL LES_VER_INT( MXF(MZF(GZ_U_UW(1,IKU,1,XUT,XDZZ))), ZDUDZ_LES )
+CALL LES_VER_INT( MYF(MZF(GZ_V_VW(1,IKU,1,XVT,XDZZ))), ZDVDZ_LES )
 CALL LES_VER_INT( GZ_W_M(1,IKU,1,XWT,XDZZ), ZDWDZ_LES )
 CALL LES_VER_INT( ZEXN, ZEXN_LES)  
 !
@@ -870,7 +869,7 @@ END DO
 !
 IF (NLES_CURRENT_TCOUNT==1) THEN
   ALLOCATE(ZZ_LES    (IIU,IJU,NLES_K))
-  CALL LES_VER_INT( MZF(1,IKU,1,XZZ)  ,ZZ_LES   )
+  CALL LES_VER_INT( MZF(XZZ)  ,ZZ_LES   )
   CALL LES_MEAN_ll ( ZZ_LES, LLES_CURRENT_CART_MASK, XLES_Z  )
   DEALLOCATE(ZZ_LES)
   CALL LES_MEAN_ll ( XZS,    LLES_CURRENT_CART_MASK(:,:,1), XLES_ZS )
@@ -885,7 +884,7 @@ END IF
 !
 CALL SPEC_VER_INT(IMI, MXF(XUT)  ,ZU_SPEC  )
 CALL SPEC_VER_INT(IMI, MYF(XVT)  ,ZV_SPEC  )
-CALL SPEC_VER_INT(IMI, MZF(1,IKU,1,XWT)  ,ZW_SPEC  )
+CALL SPEC_VER_INT(IMI, MZF(XWT)  ,ZW_SPEC  )
 CALL SPEC_VER_INT(IMI,     XTHT  ,ZTH_SPEC )
 IF (LUSERC) CALL SPEC_VER_INT(IMI,     ZTHL  ,ZTHL_SPEC)
 IRR = 0
diff --git a/src/MNH/metrics.f90 b/src/MNH/metrics.f90
index 6d292f948..b973e0920 100644
--- a/src/MNH/metrics.f90
+++ b/src/MNH/metrics.f90
@@ -1,14 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$ $Date$
-!-----------------------------------------------------------------
-!-----------------------------------------------------------------
-!-----------------------------------------------------------------
 !     ###################
       MODULE MODI_METRICS
 !     ###################
@@ -162,7 +156,7 @@ ELSE
   ZD1=1.
 END IF
 IF (.NOT.LCARTESIAN) THEN
-  ZDZZ(:,:,:) = MZF(1,IKU,1, 1.+ ZD1*PZZ(:,:,:)/XRADIUS)
+  ZDZZ(:,:,:) = MZF( 1.+ ZD1*PZZ(:,:,:)/XRADIUS)
   DO JK=1,IKU ; DO JJ=1,IJU ; DO JI=1,IIU
     PDXX(JI,JJ,JK) = ZDZZ(JI,JJ,JK) * PDXHAT(JI) /PMAP(JI,JJ)
     PDYY(JI,JJ,JK) = ZDZZ(JI,JJ,JK) * PDYHAT(JJ) /PMAP(JI,JJ)
@@ -201,7 +195,7 @@ PDZY(:,:,:) = DYM(PZZ(:,:,:))
 !*       4.  COMPUTE PDZZ  :
 !            -------------
 !
-PDZZ(:,:,:) = DZM(1,IKU,1,MZF(1,IKU,1,PZZ(:,:,:)))
+PDZZ(:,:,:) = DZM(MZF(PZZ(:,:,:)))
 PDZZ(:,:,IKU) = PZZ(:,:,IKU) - PZZ(:,:,IKU-1)  ! same delta z in IKU and IKU -1
 PDZZ(:,:,1)   = PDZZ(:,:,2)                    ! same delta z in 1   and 2
 !20131024
diff --git a/src/MNH/mode_prandtl.f90 b/src/MNH/mode_prandtl.f90
index 2215306e4..c564649d9 100644
--- a/src/MNH/mode_prandtl.f90
+++ b/src/MNH/mode_prandtl.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 mode 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !    #################### 
      MODULE MODE_PRANDTL
 !    #################### 
@@ -378,7 +373,7 @@ FUNCTION M3_WTH_W2TH(KKA,KKU,KKL,PREDTH1,PREDR1,PD,PKEFF,PTKE)
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-M3_WTH_W2TH(:,:,:) = XCSHF*PKEFF*1.5/MZM(KKA,KKU,KKL,PTKE)              &
+M3_WTH_W2TH(:,:,:) = XCSHF*PKEFF*1.5/MZM(PTKE)              &
   * (1. - 0.5*PREDR1*(1.+PREDR1)/PD ) / (1.+PREDTH1)
 !
 M3_WTH_W2TH(:,:,IKB-1)=M3_WTH_W2TH(:,:,IKB)
@@ -404,7 +399,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_WTH_W2TH_O_DDTDZ(:,:,:) = &
- - XCSHF*PKEFF*1.5/MZM(KKA,KKU,KKL,PTKE)/(1.+PREDTH1)**2*XCTV*PBLL_O_E*PETHETA  &
+ - XCSHF*PKEFF*1.5/MZM(PTKE)/(1.+PREDTH1)**2*XCTV*PBLL_O_E*PETHETA  &
  * (1. - 0.5*PREDR1*(1.+PREDR1)/PD*( 1.+(1.+PREDTH1)*(1.5+PREDR1+PREDTH1)/PD) )
 !
 D_M3_WTH_W2TH_O_DDTDZ(:,:,IKB-1)=D_M3_WTH_W2TH_O_DDTDZ(:,:,IKB)
@@ -430,7 +425,7 @@ FUNCTION M3_WTH_W2R(KKA,KKU,KKL,PREDTH1,PREDR1,PD,PKEFF,PTKE,PBLL_O_E,PEMOIST,PD
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-M3_WTH_W2R(:,:,:) = - XCSHF*PKEFF*0.75*XCTV*PBLL_O_E/MZM(KKA,KKU,KKL,PTKE)*PEMOIST*PDTDZ/PD
+M3_WTH_W2R(:,:,:) = - XCSHF*PKEFF*0.75*XCTV*PBLL_O_E/MZM(PTKE)*PEMOIST*PDTDZ/PD
 !
 M3_WTH_W2R(:,:,IKB-1)=M3_WTH_W2R(:,:,IKB)
 M3_WTH_W2R(:,:,IKE+1)=M3_WTH_W2R(:,:,IKE)
@@ -454,7 +449,7 @@ FUNCTION D_M3_WTH_W2R_O_DDTDZ(KKA,KKU,KKL,PREDTH1,PREDR1,PD,PKEFF,PTKE,PBLL_O_E,
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-D_M3_WTH_W2R_O_DDTDZ(:,:,:) = - XCSHF*PKEFF*0.75*XCTV*PBLL_O_E/MZM(KKA,KKU,KKL,PTKE)*PEMOIST/PD &
+D_M3_WTH_W2R_O_DDTDZ(:,:,:) = - XCSHF*PKEFF*0.75*XCTV*PBLL_O_E/MZM(PTKE)*PEMOIST/PD &
                                      * (1. -  PREDTH1*(1.5+PREDTH1+PREDR1)/PD)
 !
 D_M3_WTH_W2R_O_DDTDZ(:,:,IKB-1)=D_M3_WTH_W2R_O_DDTDZ(:,:,IKB)
@@ -484,7 +479,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 M3_WTH_WR2(:,:,:) = - XCSHF*PKEFF*0.25*PBLL_O_E*XCTV*PEMOIST**2       &
-                           *MZM(KKA,KKU,KKL,PBETA*PLEPS/(PSQRT_TKE*PTKE))/XCTD*PDTDZ/PD
+                           *MZM(PBETA*PLEPS/(PSQRT_TKE*PTKE))/XCTD*PDTDZ/PD
 !
 M3_WTH_WR2(:,:,IKB-1)=M3_WTH_WR2(:,:,IKB)
 M3_WTH_WR2(:,:,IKE+1)=M3_WTH_WR2(:,:,IKE)
@@ -512,7 +507,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_WTH_WR2_O_DDTDZ(:,:,:) = - XCSHF*PKEFF*0.25*PBLL_O_E*XCTV*PEMOIST**2 &
-                           *MZM(KKA,KKU,KKL,PBETA*PLEPS/(PSQRT_TKE*PTKE))/XCTD/PD     &
+                           *MZM(PBETA*PLEPS/(PSQRT_TKE*PTKE))/XCTD/PD     &
                            * (1. -  PREDTH1*(1.5+PREDTH1+PREDR1)/PD)
 !
 D_M3_WTH_WR2_O_DDTDZ(:,:,IKB-1)=D_M3_WTH_WR2_O_DDTDZ(:,:,IKB)
@@ -538,9 +533,9 @@ FUNCTION M3_WTH_WTHR(KKA,KKU,KKL,PREDR1,PD,PKEFF,PTKE,PSQRT_TKE,PBETA,PLEPS,PEMO
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-!M3_WTH_WTHR(:,:,:) = XCSHF*PKEFF*PEMOIST/MZM(KKA,KKU,KKL,PBETA*PTKE*PSQRT_TKE) &
+!M3_WTH_WTHR(:,:,:) = XCSHF*PKEFF*PEMOIST/MZM(PBETA*PTKE*PSQRT_TKE) &
 !                         *0.5*PLEPS/XCTD*(1+PREDR1)/PD
-M3_WTH_WTHR(:,:,:) = XCSHF*PKEFF*PEMOIST*MZM(KKA,KKU,KKL,PBETA/PTKE*PSQRT_TKE) &
+M3_WTH_WTHR(:,:,:) = XCSHF*PKEFF*PEMOIST*MZM(PBETA/PTKE*PSQRT_TKE) &
                          *0.5*PLEPS/XCTD*(1+PREDR1)/PD
 !
 M3_WTH_WTHR(:,:,IKB-1)=M3_WTH_WTHR(:,:,IKB)
@@ -585,7 +580,7 @@ FUNCTION M3_TH2_W2TH(KKA,KKU,KKL,PREDTH1,PREDR1,PD,PDTDZ,PLM,PLEPS,PTKE)
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-M3_TH2_W2TH(:,:,:) = - MZF(KKA,KKU,KKL,(1.-0.5*PREDR1*(1.+PREDR1)/PD)/(1.+PREDTH1)*PDTDZ) &
+M3_TH2_W2TH(:,:,:) = - MZF((1.-0.5*PREDR1*(1.+PREDR1)/PD)/(1.+PREDTH1)*PDTDZ) &
                        * 1.5*PLM*PLEPS/PTKE*XCTV
 !
 M3_TH2_W2TH(:,:,IKB-1)=M3_TH2_W2TH(:,:,IKB)
@@ -611,15 +606,15 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 IF (OUSERV) THEN
-!  D_M3_TH2_W2TH_O_DDTDZ(:,:,:) = - 1.5*PLM*PLEPS/PTKE*XCTV * MZF(KKA,KKU,KKL,                    &
+!  D_M3_TH2_W2TH_O_DDTDZ(:,:,:) = - 1.5*PLM*PLEPS/PTKE*XCTV * MZF(                    &
 !          (1.-0.5*PREDR1*(1.+PREDR1)/PD)*(1.-(1.5+PREDTH1+PREDR1)*(1.+PREDTH1)/PD )  &
 !        / (1.+PREDTH1)**2                                        )
-  D_M3_TH2_W2TH_O_DDTDZ(:,:,:) = - 1.5*PLM*PLEPS/PTKE*XCTV * MZF(KKA,KKU,KKL,    &
+  D_M3_TH2_W2TH_O_DDTDZ(:,:,:) = - 1.5*PLM*PLEPS/PTKE*XCTV * MZF(    &
           (1.-0.5*PREDR1*(1.+PREDR1)/PD)*(1.-(1.5+PREDTH1+PREDR1)*   &
              PREDTH1*(1.+PREDTH1)/PD ) / (1.+PREDTH1)**2      )
 
 ELSE
-  D_M3_TH2_W2TH_O_DDTDZ(:,:,:) = - 1.5*PLM*PLEPS/PTKE*XCTV * MZF(KKA,KKU,KKL,1./(1.+PREDTH1)**2)
+  D_M3_TH2_W2TH_O_DDTDZ(:,:,:) = - 1.5*PLM*PLEPS/PTKE*XCTV * MZF(1./(1.+PREDTH1)**2)
 END IF
 !
 D_M3_TH2_W2TH_O_DDTDZ(:,:,IKB-1)=D_M3_TH2_W2TH_O_DDTDZ(:,:,IKB)
@@ -643,7 +638,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 M3_TH2_WTH2(:,:,:) = PLEPS*0.5/XCTD/PSQRT_TKE          &
-  * MZF(KKA,KKU,KKL, (1.+0.5*PREDTH1+1.5*PREDR1+0.5*PREDR1**2)/PD )
+  * MZF( (1.+0.5*PREDTH1+1.5*PREDR1+0.5*PREDR1**2)/PD )
 !
 M3_TH2_WTH2(:,:,IKB-1)=M3_TH2_WTH2(:,:,IKB)
 M3_TH2_WTH2(:,:,IKE+1)=M3_TH2_WTH2(:,:,IKE)
@@ -668,7 +663,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_TH2_WTH2_O_DDTDZ(:,:,:) = PLEPS*0.5/XCTD/PSQRT_TKE*XCTV                        &
- * MZF(KKA,KKU,KKL, PBLL_O_E*PETHETA* (0.5/PD                                                   &
+ * MZF( PBLL_O_E*PETHETA* (0.5/PD                                                   &
              - (1.5+PREDTH1+PREDR1)*(1.+0.5*PREDTH1+1.5*PREDR1+0.5*PREDR1**2)/PD**2 &
                            )  )
 !
@@ -694,7 +689,7 @@ FUNCTION M3_TH2_W2R(KKA,KKU,KKL,PD,PLM,PLEPS,PTKE,PBLL_O_E,PEMOIST,PDTDZ)
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-M3_TH2_W2R(:,:,:) = 0.75*XCTV**2*MZF(KKA,KKU,KKL,PBLL_O_E*PEMOIST/PD*PDTDZ**2)*PLM*PLEPS/PTKE
+M3_TH2_W2R(:,:,:) = 0.75*XCTV**2*MZF(PBLL_O_E*PEMOIST/PD*PDTDZ**2)*PLM*PLEPS/PTKE
 !
 M3_TH2_W2R(:,:,IKB-1)=M3_TH2_W2R(:,:,IKB)
 M3_TH2_W2R(:,:,IKE+1)=M3_TH2_W2R(:,:,IKE)
@@ -721,7 +716,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_TH2_W2R_O_DDTDZ(:,:,:) = 0.75*XCTV**2*PLM*PLEPS/PTKE &
- * MZF(KKA,KKU,KKL, PBLL_O_E*PEMOIST/PD*PDTDZ*(2.-PREDTH1*(1.5+PREDTH1+PREDR1)/PD) )
+ * MZF( PBLL_O_E*PEMOIST/PD*PDTDZ*(2.-PREDTH1*(1.5+PREDTH1+PREDR1)/PD) )
 !
 D_M3_TH2_W2R_O_DDTDZ(:,:,IKB-1)=D_M3_TH2_W2R_O_DDTDZ(:,:,IKB)
 D_M3_TH2_W2R_O_DDTDZ(:,:,IKE+1)=D_M3_TH2_W2R_O_DDTDZ(:,:,IKE)
@@ -744,7 +739,7 @@ FUNCTION M3_TH2_WR2(KKA,KKU,KKL,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ)
 IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
-M3_TH2_WR2(:,:,:) = 0.25*XCTV**2*MZF(KKA,KKU,KKL,(PBLL_O_E*PEMOIST*PDTDZ)**2/PD)*PLEPS/PSQRT_TKE/XCTD
+M3_TH2_WR2(:,:,:) = 0.25*XCTV**2*MZF((PBLL_O_E*PEMOIST*PDTDZ)**2/PD)*PLEPS/PSQRT_TKE/XCTD
 !
 M3_TH2_WR2(:,:,IKB-1)=M3_TH2_WR2(:,:,IKB)
 M3_TH2_WR2(:,:,IKE+1)=M3_TH2_WR2(:,:,IKE)
@@ -770,7 +765,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_TH2_WR2_O_DDTDZ(:,:,:) = 0.25*XCTV**2*PLEPS/PSQRT_TKE/XCTD &
-  *  MZF(KKA,KKU,KKL, (PBLL_O_E*PEMOIST)**2*PDTDZ/PD*(2.-PREDTH1*(1.5+PREDTH1+PREDR1)/PD) )
+  *  MZF( (PBLL_O_E*PEMOIST)**2*PDTDZ/PD*(2.-PREDTH1*(1.5+PREDTH1+PREDR1)/PD) )
 !
 D_M3_TH2_WR2_O_DDTDZ(:,:,IKB-1)=D_M3_TH2_WR2_O_DDTDZ(:,:,IKB)
 D_M3_TH2_WR2_O_DDTDZ(:,:,IKE+1)=D_M3_TH2_WR2_O_DDTDZ(:,:,IKE)
@@ -795,7 +790,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 M3_TH2_WTHR(:,:,:) = - 0.5*XCTV*PLEPS/PSQRT_TKE/XCTD &
- * MZF(KKA,KKU,KKL, PBLL_O_E*PEMOIST*PDTDZ*(1.+PREDR1)/PD )
+ * MZF( PBLL_O_E*PEMOIST*PDTDZ*(1.+PREDR1)/PD )
 !
 M3_TH2_WTHR(:,:,IKB-1)=M3_TH2_WTHR(:,:,IKB)
 M3_TH2_WTHR(:,:,IKE+1)=M3_TH2_WTHR(:,:,IKE)
@@ -821,7 +816,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_TH2_WTHR_O_DDTDZ(:,:,:) = - 0.5*XCTV*PLEPS/PSQRT_TKE/XCTD &
- * MZF(KKA,KKU,KKL, PBLL_O_E*PEMOIST*(1.+PREDR1)/PD * (1. -PREDTH1*(1.5+PREDTH1+PREDR1)/PD) )
+ * MZF( PBLL_O_E*PEMOIST*(1.+PREDR1)/PD * (1. -PREDTH1*(1.5+PREDTH1+PREDR1)/PD) )
 !
 D_M3_TH2_WTHR_O_DDTDZ(:,:,IKB-1)=D_M3_TH2_WTHR_O_DDTDZ(:,:,IKB)
 D_M3_TH2_WTHR_O_DDTDZ(:,:,IKE+1)=D_M3_TH2_WTHR_O_DDTDZ(:,:,IKE)
@@ -844,7 +839,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 M3_THR_WTHR(:,:,:) = 0.5*PLEPS/PSQRT_TKE/XCTD &
- * MZF(KKA,KKU,KKL, (1.+PREDTH1)*(1.+PREDR1)/PD )
+ * MZF( (1.+PREDTH1)*(1.+PREDR1)/PD )
 !
 M3_THR_WTHR(:,:,IKB-1)=M3_THR_WTHR(:,:,IKB)
 M3_THR_WTHR(:,:,IKE+1)=M3_THR_WTHR(:,:,IKE)
@@ -869,7 +864,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_THR_WTHR_O_DDTDZ(:,:,:) = 0.5*PLEPS/PSQRT_TKE/XCTD * XCTV &
- * MZF(KKA,KKU,KKL, PETHETA*PBLL_O_E/PD*(1.+PREDR1)*(1.-(1.+PREDTH1)*(1.5+PREDTH1+PREDR1)/PD) )
+ * MZF( PETHETA*PBLL_O_E/PD*(1.+PREDR1)*(1.-(1.+PREDTH1)*(1.5+PREDTH1+PREDR1)/PD) )
 !
 D_M3_THR_WTHR_O_DDTDZ(:,:,IKB-1)=D_M3_THR_WTHR_O_DDTDZ(:,:,IKB)
 D_M3_THR_WTHR_O_DDTDZ(:,:,IKE+1)=D_M3_THR_WTHR_O_DDTDZ(:,:,IKE)
@@ -894,7 +889,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 M3_THR_WTH2(:,:,:) = - 0.25*PLEPS/PSQRT_TKE/XCTD*XCTV &
- * MZF(KKA,KKU,KKL, (1.+PREDR1)*PBLL_O_E*PETHETA*PDRDZ/PD )
+ * MZF( (1.+PREDR1)*PBLL_O_E*PETHETA*PDRDZ/PD )
 !
 M3_THR_WTH2(:,:,IKB-1)=M3_THR_WTH2(:,:,IKB)
 M3_THR_WTH2(:,:,IKE+1)=M3_THR_WTH2(:,:,IKE)
@@ -920,7 +915,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_THR_WTH2_O_DDTDZ(:,:,:) = - 0.25*PLEPS/PSQRT_TKE/XCTD*XCTV**2 &
- * MZF(KKA,KKU,KKL, -(1.+PREDR1)*(PBLL_O_E*PETHETA/PD)**2*PDRDZ*(1.5+PREDTH1+PREDR1) )
+ * MZF( -(1.+PREDR1)*(PBLL_O_E*PETHETA/PD)**2*PDRDZ*(1.5+PREDTH1+PREDR1) )
 !
 D_M3_THR_WTH2_O_DDTDZ(:,:,IKB-1)=D_M3_THR_WTH2_O_DDTDZ(:,:,IKB)
 D_M3_THR_WTH2_O_DDTDZ(:,:,IKE+1)=D_M3_THR_WTH2_O_DDTDZ(:,:,IKE)
@@ -945,7 +940,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_THR_WTH2_O_DDRDZ(:,:,:) = - 0.25*PLEPS/PSQRT_TKE/XCTD*XCTV          &
- * MZF(KKA,KKU,KKL, PBLL_O_E*PETHETA/PD                                              &
+ * MZF( PBLL_O_E*PETHETA/PD                                              &
        *(-(1.+PREDR1)*PREDR1/PD*(1.5+PREDTH1+PREDR1)+(1.+2.*PREDR1))     &
       )
 !
@@ -971,7 +966,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 M3_THR_W2TH(:,:,:) = - 0.75*PLM*PLEPS/PTKE * XCTV      &
- * MZF(KKA,KKU,KKL, (1.+PREDR1)*PDRDZ/PD )
+ * MZF( (1.+PREDR1)*PDRDZ/PD )
 !
 M3_THR_W2TH(:,:,IKB-1)=M3_THR_W2TH(:,:,IKB)
 M3_THR_W2TH(:,:,IKE+1)=M3_THR_W2TH(:,:,IKE)
@@ -998,7 +993,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_THR_W2TH_O_DDTDZ(:,:,:) = - 0.75*PLM*PLEPS/PTKE * XCTV**2    &
- * MZF(KKA,KKU,KKL, -PETHETA*PBLL_O_E*(1.+PREDR1)*PDRDZ*(1.5+PREDTH1+PREDR1)/PD**2 )
+ * MZF( -PETHETA*PBLL_O_E*(1.+PREDR1)*PDRDZ*(1.5+PREDTH1+PREDR1)/PD**2 )
 
 !
 D_M3_THR_W2TH_O_DDTDZ(:,:,IKB-1)=D_M3_THR_W2TH_O_DDTDZ(:,:,IKB)
@@ -1023,7 +1018,7 @@ IKB = 1+JPVEXT_TURB
 IKE = SIZE(PD,3)-JPVEXT_TURB
 
 D_M3_THR_W2TH_O_DDRDZ(:,:,:) = - 0.75*PLM*PLEPS/PTKE * XCTV     &
- * MZF(KKA,KKU,KKL, -(1.+PREDR1)*PREDR1*(1.5+PREDTH1+PREDR1)/PD**2          &
+ * MZF( -(1.+PREDR1)*PREDR1*(1.5+PREDTH1+PREDR1)/PD**2          &
         +(1.+2.*PREDR1)/PD                                      &
       )
 
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 989170411..919e8bb40 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -990,7 +990,7 @@ IF (NBUMOD==IMI .AND. CBUTYPE=='MASK' ) THEN
   IF (LBU_RV)   XBURHODJV(:,NBUTIME,:) = XBURHODJV(:,NBUTIME,:)    &
                             + MASK_COMPRESS(MYM(XRHODJ))
   IF (LBU_RW)   XBURHODJW(:,NBUTIME,:) = XBURHODJW(:,NBUTIME,:)    &
-                            + MASK_COMPRESS(MZM(1,IKU,1,XRHODJ))
+                            + MASK_COMPRESS(MZM(XRHODJ))
   IF (ALLOCATED(XBURHODJ))                                         &
                 XBURHODJ (:,NBUTIME,:) = XBURHODJ (:,NBUTIME,:)    &
                               + MASK_COMPRESS(XRHODJ)
@@ -1002,7 +1002,7 @@ IF (NBUMOD==IMI .AND. CBUTYPE=='CART' ) THEN
   IF (LBU_RV)   XBURHODJV(:,:,:) = XBURHODJV(:,:,:)    &
                 + CART_COMPRESS(MYM(XRHODJ))
   IF (LBU_RW)   XBURHODJW(:,:,:) = XBURHODJW(:,:,:)    &
-                + CART_COMPRESS(MZM(1,IKU,1,XRHODJ))
+                + CART_COMPRESS(MZM(XRHODJ))
   IF (ALLOCATED(XBURHODJ))                             &
                 XBURHODJ (:,:,:) = XBURHODJ (:,:,:)    &
                 + CART_COMPRESS(XRHODJ)
diff --git a/src/MNH/mpdata.f90 b/src/MNH/mpdata.f90
index 961d2d98a..8b676d70d 100644
--- a/src/MNH/mpdata.f90
+++ b/src/MNH/mpdata.f90
@@ -1,6 +1,6 @@
-!MNH_LIC Copyright 1995-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ##################
@@ -148,7 +148,6 @@ INTEGER :: JRR               ! Loop index for moist variables
 !
 INTEGER:: IIB,IJB            ! Begining useful area  in x,y,z directions
 INTEGER:: IIE,IJE            ! End useful area in x,y,z directions
-INTEGER:: IKU
 !  
 REAL, DIMENSION(SIZE(PTHM,1),SIZE(PTHM,2),SIZE(PTHM,3))   :: ZGUESS  ! Guess 
                              ! variable (to be removed in the future !)
@@ -179,7 +178,6 @@ NULLIFY(TZFIELDS_ll)
 !*       0.3 PROLOGUE
 !
 CALL GET_PHYSICAL_ll(IIB,IJB,IIE,IJE)
-IKU=SIZE(PTHM,3)
 !
 YRX(1) = 'RRV'
 YRX(2) = 'RRC'
@@ -212,7 +210,7 @@ LBUDGET_R(7) = LBUDGET_RH
   ZRVARS(:,:,:) = PRTHS(:,:,:)
   ZFADVU(:,:,:) = -DXF(FXM( PTHM(:,:,:),PRUCT(:,:,:) )  )
   ZFADVV(:,:,:) = -DYF(FYM( PTHM(:,:,:),PRVCT(:,:,:) )  )
-  ZFADVW(:,:,:) = -DZF(1,IKU,1,FZM( PTHM(:,:,:),PRWCT(:,:,:) )  )
+  ZFADVW(:,:,:) = -DZF(FZM( PTHM(:,:,:),PRWCT(:,:,:) )  )
 !
   PRTHS(:,:,:) = PRTHS(:,:,:) + ZFADVU(:,:,:) + ZFADVV(:,:,:) + ZFADVW(:,:,:)
 !
@@ -249,7 +247,7 @@ LBUDGET_R(7) = LBUDGET_RH
     ZFADVV(:,:,:) = ZFADVV(:,:,:) + ZFADV(:,:,:) 
     PRTHS(:,:,:) = PRTHS(:,:,:) + ZFADV(:,:,:)
 !
-    ZFADV(:,:,:) = -DZF(1,IKU,1,FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
+    ZFADV(:,:,:) = -DZF(FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
     IF(LWEST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIB,:,:)=0.
     IF(LEAST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIE,:,:)=0.
     IF(LSOUTH_ll() .AND. HLBCY(1) /= 'CYCL') ZFADV(:,IJB,:)=0.
@@ -280,7 +278,7 @@ LBUDGET_R(7) = LBUDGET_RH
     ZRVARS(:,:,:) = PRRS(:,:,:,JRR)
     ZFADVU(:,:,:) = -DXF(FXM( PRM(:,:,:,JRR),PRUCT(:,:,:) )  )
     ZFADVV(:,:,:) = -DYF(FYM( PRM(:,:,:,JRR),PRVCT(:,:,:) )  )
-    ZFADVW(:,:,:) = -DZF(1,IKU,1,FZM( PRM(:,:,:,JRR),PRWCT(:,:,:) )  )
+    ZFADVW(:,:,:) = -DZF(FZM( PRM(:,:,:,JRR),PRWCT(:,:,:) )  )
 !
     PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR) + ZFADVU(:,:,:) + ZFADVV(:,:,:) +  &
                                      ZFADVW(:,:,:)
@@ -313,7 +311,7 @@ LBUDGET_R(7) = LBUDGET_RH
       ZFADVV(:,:,:) = ZFADVV(:,:,:) + ZFADV(:,:,:) 
       PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR) + ZFADV(:,:,:)
 !
-      ZFADV(:,:,:) = -DZF(1,IKU,1,FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
+      ZFADV(:,:,:) = -DZF(FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
       IF(LWEST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIB,:,:)=0.
       IF(LEAST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIE,:,:)=0.
       IF(LSOUTH_ll() .AND. HLBCY(1) /= 'CYCL') ZFADV(:,IJB,:)=0.
@@ -348,7 +346,7 @@ LBUDGET_R(7) = LBUDGET_RH
     ZRVARS(:,:,:) = PRTKES(:,:,:)
     ZFADVU(:,:,:) = -DXF(FXM( PTKEM(:,:,:),PRUCT(:,:,:) )  )
     ZFADVV(:,:,:) = -DYF(FYM( PTKEM(:,:,:),PRVCT(:,:,:) )  )
-    ZFADVW(:,:,:) = -DZF(1,IKU,1,FZM( PTKEM(:,:,:),PRWCT(:,:,:) )  )
+    ZFADVW(:,:,:) = -DZF(FZM( PTKEM(:,:,:),PRWCT(:,:,:) )  )
 !
     PRTKES(:,:,:) = PRTKES(:,:,:) + ZFADVU(:,:,:) + ZFADVV(:,:,:) + ZFADVW(:,:,:)
 !
@@ -380,7 +378,7 @@ LBUDGET_R(7) = LBUDGET_RH
       ZFADVV(:,:,:) = ZFADVV(:,:,:) + ZFADV(:,:,:) 
       PRTKES(:,:,:) = PRTKES(:,:,:) + ZFADV(:,:,:)
 !
-      ZFADV(:,:,:) = -DZF(1,IKU,1,FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
+      ZFADV(:,:,:) = -DZF(FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
       IF(LWEST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIB,:,:)=0.
       IF(LEAST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIE,:,:)=0.
       IF(LSOUTH_ll() .AND. HLBCY(1) /= 'CYCL') ZFADV(:,IJB,:)=0.
diff --git a/src/MNH/mpdata_scalar.f90 b/src/MNH/mpdata_scalar.f90
index ae29c69b0..48b6e1215 100644
--- a/src/MNH/mpdata_scalar.f90
+++ b/src/MNH/mpdata_scalar.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -144,7 +144,6 @@ INTEGER :: JSV               ! Loop index for Scalar Variables
 !
 INTEGER:: IIB,IJB            ! Begining useful area  in x,y,z directions
 INTEGER:: IIE,IJE            ! End useful area in x,y,z directions
-INTEGER:: IKU
 !  
 REAL, DIMENSION(SIZE(PSVM,1),SIZE(PSVM,2),SIZE(PSVM,3))   :: ZGUESS  ! Guess 
                              ! variable (to be removed in the future !)
@@ -170,7 +169,6 @@ NULLIFY(TZFIELDS_ll)
 !*       0. PROLOGUE
 !
 CALL GET_PHYSICAL_ll(IIB,IJB,IIE,IJE)
-IKU=SIZE(PSVM,3)
 !
 !
 !-------------------------------------------------------------------------------
@@ -183,7 +181,7 @@ IKU=SIZE(PSVM,3)
     ZRVARS(:,:,:) = PRSVS(:,:,:,JSV)
     ZFADVU(:,:,:) = -DXF(FXM( PSVM(:,:,:,JSV),PRUCT(:,:,:) )  )
     ZFADVV(:,:,:) = -DYF(FYM( PSVM(:,:,:,JSV),PRVCT(:,:,:) )  )
-    ZFADVW(:,:,:) = -DZF(1,IKU,1,FZM( PSVM(:,:,:,JSV),PRWCT(:,:,:) )  )
+    ZFADVW(:,:,:) = -DZF(FZM( PSVM(:,:,:,JSV),PRWCT(:,:,:) )  )
 !
     PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV) + ZFADVU(:,:,:) + ZFADVV(:,:,:) +  &
                                                           ZFADVW(:,:,:)
@@ -222,7 +220,7 @@ IKU=SIZE(PSVM,3)
       ZFADVV(:,:,:) = ZFADVV(:,:,:) + ZFADV(:,:,:) 
       PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV) + ZFADV(:,:,:)
 !
-      ZFADV(:,:,:) = -DZF(1,IKU,1,FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
+      ZFADV(:,:,:) = -DZF(FZM( ZGUESS(:,:,:),ZRAWCT(:,:,:) )  )
       IF(LWEST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIB,:,:)=0.
       IF(LEAST_ll()  .AND. HLBCX(1) /= 'CYCL') ZFADV(IIE,:,:)=0.
       IF(LSOUTH_ll() .AND. HLBCY(1) /= 'CYCL') ZFADV(:,IJB,:)=0.
diff --git a/src/MNH/num_diff.f90 b/src/MNH/num_diff.f90
index 23751bff8..46ac17c14 100644
--- a/src/MNH/num_diff.f90
+++ b/src/MNH/num_diff.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -280,7 +280,6 @@ INTEGER :: JRR           ! Loop index for  moist variables
 INTEGER :: JSV           ! Loop index for Scalar Variables
 INTEGER:: IIB,IJB        ! Begining useful area  in x,y directions
 INTEGER:: IIE,IJE        ! End useful area in x,y directions
-INTEGER :: IKU
 !
 LOGICAL     :: GTKEALLOC                 ! true if TKE arrays are not zero-sized
 !
@@ -294,7 +293,6 @@ INTEGER :: IGRID ! localisation on the model grid
 !*       1.     COMPUTES THE DOMAIN DIMENSIONS
 !               ------------------------------
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
-IKU=SIZE(PUM,3)
 !
 GTKEALLOC = SIZE(PTKEM,1) /= 0
 !
@@ -337,10 +335,10 @@ IF (ONUMDIFU) THEN
 !!$ IF(NHALO == 1) THEN
   TZHALO2LIST => TZHALO2LIST%NEXT
   TZHALO2LSLIST => TZHALO2LSLIST%NEXT
-  CALL NUM_DIFF_ALGO(PRWS, PWM, IGRID, MZM(1,IKU,1,PRHODJ), PDK2U, PDK4U, &
+  CALL NUM_DIFF_ALGO(PRWS, PWM, IGRID, MZM(PRHODJ), PDK2U, PDK4U, &
                      PLSWM, TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
 !!$ ELSE
-!!$  CALL NUM_DIFF_ALGO(PRWS, PWM, IGRID, MZM(1,IKU,1,PRHODJ), PDK2U, PDK4U, PLSWM )
+!!$  CALL NUM_DIFF_ALGO(PRWS, PWM, IGRID, MZM(PRHODJ), PDK2U, PDK4U, PLSWM )
 !!$ ENDIF
 ENDIF
 !
diff --git a/src/MNH/ppm.f90 b/src/MNH/ppm.f90
index caec0f6ca..367925a30 100644
--- a/src/MNH/ppm.f90
+++ b/src/MNH/ppm.f90
@@ -1,6 +1,6 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 ! Modifications:
@@ -1083,7 +1083,6 @@ REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: PR
 !
 INTEGER:: IKB    ! Begining useful area in x,y,z directions
 INTEGER:: IKE    ! End useful area in x,y,z directions
-INTEGER:: IKU
 !
 ! terms used in parabolic interpolation, dmq, qL, qR, dq, q6
 REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: ZQL,ZQR
@@ -1103,7 +1102,6 @@ REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: ZFPOS, ZFNEG
 !
 IKB = 1 + JPVEXT
 IKE = SIZE(PSRC,3) - JPVEXT
-IKU = SIZE(PSRC,3)
 !
 !-------------------------------------------------------------------------------
 !
@@ -1196,7 +1194,7 @@ ZFNEG(:,:,IKE+1) = (ZQR(:,:,IKE)-PSRC(:,:,IKE+1))*PCR(:,:,IKE+1) + &
 !
 ! advect the actual field in Z direction by W*dt
 !
-PR = DZF(1,IKU,1, PCR*MZM(1,IKU,1,PRHO)*( ZFPOS*(0.5+SIGN(0.5,PCR)) + & 
+PR = DZF( PCR*MZM(PRHO)*( ZFPOS*(0.5+SIGN(0.5,PCR)) + &
                           ZFNEG*(0.5-SIGN(0.5,PCR)) ) )
 !Unnecessary CALL GET_HALO(PR)
 !
@@ -1846,7 +1844,6 @@ REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: PR
 !
 INTEGER:: IKB    ! Begining useful area in x,y,z directions
 INTEGER:: IKE    ! End useful area in x,y,z directions
-INTEGER:: IKU
 !
 ! advection fluxes
 REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: ZFPOS, ZFNEG
@@ -1861,7 +1858,6 @@ REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: ZPHAT
 !
 IKB = 1 + JPVEXT
 IKE = SIZE(PSRC,3) - JPVEXT
-IKU = SIZE(PSRC,3)
 !
 !-------------------------------------------------------------------------------
 !
@@ -1917,7 +1913,7 @@ ZFNEG(:,:,IKE+1) = (ZPHAT(:,:,IKE+1) - PSRC(:,:,IKE+1))*PCR(:,:,IKE+1) + &
 ! calculate the advection
 !
 PR = PSRC * PRHO - &
-     DZF(1,IKU,1, PCR*MZM(1,IKU,1,PRHO)*( ZFPOS(:,:,:)*(0.5+SIGN(0.5,PCR)) + & 
+     DZF( PCR*MZM(PRHO)*( ZFPOS(:,:,:)*(0.5+SIGN(0.5,PCR)) + &
                           ZFNEG*(0.5-SIGN(0.5,PCR)) ) )
 !
 ! in OPEN case fix boundary conditions
@@ -2481,7 +2477,6 @@ REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: PR
 !
 INTEGER:: IIB,IJB,IKB   ! Begining useful area in x,y,z directions
 INTEGER:: IIE,IJE,IKE   ! End useful area in x,y,z directions
-INTEGER:: IKU
 !
 ! variable at cell edges
 REAL, DIMENSION(SIZE(PCR,1),SIZE(PCR,2),SIZE(PCR,3)) :: ZPHAT, ZRVT
@@ -2507,11 +2502,10 @@ INTEGER :: II, IJ, IK
 CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
 IKB = 1 + JPVEXT
 IKE = SIZE(PSRC,3) - JPVEXT
-IKU =  SIZE(PSRC,3)
 !
 !-------------------------------------------------------------------------------
 !
-ZRVT = PCR/PTSTEP * MZM(1,IKU,1,PRHO)
+ZRVT = PCR/PTSTEP * MZM(PRHO)
 !
 ! calculate 4th order fluxes at cell edges in the inner domain !
 ZPHAT(:,:,IKB+1:IKE) = (7.0 * &
@@ -2618,7 +2612,7 @@ END WHERE
 !
 ! 1. calculate upwind tendency of the source
 !
-PR = PSRC*PRHO - PTSTEP*DZF(1,IKU,1,ZFUP)
+PR = PSRC*PRHO - PTSTEP*DZF(ZFUP)
 !
 !-------------------------------------------------------------------------------
 ! compute and apply the limiters
@@ -2746,7 +2740,7 @@ ZFCOR(:,:,IKB-1) = MIN( &
 !-------------------------------------------------------------------------------
 ! 6. apply the limited flux correction to scalar field
 !
-PR = PR - PTSTEP*DZF(1,IKU,1,ZFCOR)
+PR = PR - PTSTEP*DZF(ZFCOR)
 !
 !
 END FUNCTION PPM_S1_Z
diff --git a/src/MNH/prandtl.f90 b/src/MNH/prandtl.f90
index a90533596..283f2e02e 100644
--- a/src/MNH/prandtl.f90
+++ b/src/MNH/prandtl.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -283,8 +283,8 @@ IKB = KKA+JPVEXT_TURB*KKL
 IKE = KKU-JPVEXT_TURB*KKL 
 ISV  =SIZE(PSVM,4)
 !
-PETHETA(:,:,:) = MZM(KKA,KKU,KKL, ETHETA(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PATHETA,PSRCM) )
-PEMOIST(:,:,:) = MZM(KKA,KKU,KKL, EMOIST(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PAMOIST,PSRCM) )
+PETHETA(:,:,:) = MZM( ETHETA(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PATHETA,PSRCM) )
+PEMOIST(:,:,:) = MZM( EMOIST(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PAMOIST,PSRCM) )
 PETHETA(:,:,KKA) = 2.*PETHETA(:,:,IKB) - PETHETA(:,:,IKB+KKL)
 PEMOIST(:,:,KKA) = 2.*PEMOIST(:,:,IKB) - PEMOIST(:,:,IKB+KKL)
 !
@@ -292,7 +292,7 @@ PEMOIST(:,:,KKA) = 2.*PEMOIST(:,:,IKB) - PEMOIST(:,:,IKB+KKL)
 !
 !          1.3 1D Redelsperger numbers
 !
-PBLL_O_E(:,:,:) = MZM(KKA,KKU,KKL, XG / PTHVREF(:,:,:) * PLM(:,:,:) * PLEPS(:,:,:) / PTKEM(:,:,:) )  
+PBLL_O_E(:,:,:) = MZM( XG / PTHVREF(:,:,:) * PLM(:,:,:) * PLEPS(:,:,:) / PTKEM(:,:,:) )
 IF (KRR /= 0) THEN                ! moist case
   PREDTH1(:,:,:)= XCTV*PBLL_O_E(:,:,:) * PETHETA(:,:,:) * &
                    & GZ_M_W(KKA,KKU,KKL,PTHLM,PDZZ)
@@ -376,22 +376,22 @@ ELSE IF (L2D) THEN                      ! 3D case in a 2D model
 !
   IF (KRR /= 0) THEN                 ! moist 3D case
     PRED2TH3(:,:,:)= PREDTH1(:,:,:)**2+(XCTV*PBLL_O_E(:,:,:)*PETHETA(:,:,:) )**2 * &
-      MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 )
+      MZM( GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 )
     PRED2TH3(:,:,IKB)=PRED2TH3(:,:,IKB+KKL)
 !
     PRED2R3(:,:,:)= PREDR1(:,:,:)**2 + (XCTV*PBLL_O_E(:,:,:)*PEMOIST(:,:,:))**2 * &
-        MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)**2 )
+        MZM( GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)**2 )
     PRED2R3(:,:,IKB)=PRED2R3(:,:,IKB+KKL)
 !
     PRED2THR3(:,:,:)= PREDR1(:,:,:) * PREDTH1(:,:,:) +  XCTV**2*PBLL_O_E(:,:,:)**2 *   &
                   PEMOIST(:,:,:) * PETHETA(:,:,:) *                         &
-      MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)*     &
+      MZM( GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)*     &
                      GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX))
     PRED2THR3(:,:,IKB)=PRED2THR3(:,:,IKB+KKL)
 !
   ELSE                 ! dry 3D case in a 2D model
     PRED2TH3(:,:,:) = PREDTH1(:,:,:)**2 +  XCTV**2*PBLL_O_E(:,:,:)**2 *     &
-      MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 )
+      MZM( GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 )
     PRED2TH3(:,:,IKB)=PRED2TH3(:,:,IKB+KKL)
 !
     PRED2R3(:,:,:) = 0.
@@ -404,18 +404,18 @@ ELSE                                 ! 3D case in a 3D model
 !
   IF (KRR /= 0) THEN                 ! moist 3D case
     PRED2TH3(:,:,:)= PREDTH1(:,:,:)**2 +  ( XCTV*PBLL_O_E(:,:,:)*PETHETA(:,:,:) )**2 * &
-      MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 &
+      MZM( GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 &
       + GY_M_M(KKA,KKU,KKL,PTHLM,PDYY,PDZZ,PDZY)**2 )
     PRED2TH3(:,:,IKB)=PRED2TH3(:,:,IKB+KKL)
 !
     PRED2R3(:,:,:)= PREDR1(:,:,:)**2 + (XCTV*PBLL_O_E(:,:,:)*PEMOIST(:,:,:))**2 *      &
-        MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)**2 + &
+        MZM( GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)**2 + &
         GY_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDYY,PDZZ,PDZY)**2 )
     PRED2R3(:,:,IKB)=PRED2R3(:,:,IKB+KKL)
 !
     PRED2THR3(:,:,:)= PREDR1(:,:,:) * PREDTH1(:,:,:) +  XCTV**2*PBLL_O_E(:,:,:)**2 *   &
          PEMOIST(:,:,:) * PETHETA(:,:,:) *                            &
-         MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)*   &
+         MZM( GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)*   &
          GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)+                           &
          GY_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDYY,PDZZ,PDZY)*                    &
          GY_M_M(KKA,KKU,KKL,PTHLM,PDYY,PDZZ,PDZY) )
@@ -423,7 +423,7 @@ ELSE                                 ! 3D case in a 3D model
 !
   ELSE                 ! dry 3D case in a 3D model
     PRED2TH3(:,:,:) = PREDTH1(:,:,:)**2 +  XCTV**2*PBLL_O_E(:,:,:)**2 *                &
-      MZM(KKA,KKU,KKL, GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 &
+      MZM( GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)**2 &
       + GY_M_M(KKA,KKU,KKL,PTHLM,PDYY,PDZZ,PDZY)**2 )
     PRED2TH3(:,:,IKB)=PRED2TH3(:,:,IKB+KKL)
 !
@@ -455,20 +455,20 @@ ELSE  IF (L2D) THEN ! 3D case in a 2D model
 !
   DO JSV=1,ISV
     IF (KRR /= 0) THEN
-      ZW1 = MZM(KKA,KKU,KKL, (XG / PTHVREF * PLM * PLEPS / PTKEM)**2 ) *PETHETA
+      ZW1 = MZM( (XG / PTHVREF * PLM * PLEPS / PTKEM)**2 ) *PETHETA
     ELSE
-      ZW1 = MZM(KKA,KKU,KKL, (XG / PTHVREF * PLM * PLEPS / PTKEM)**2)
+      ZW1 = MZM( (XG / PTHVREF * PLM * PLEPS / PTKEM)**2)
     END IF
     PRED2THS3(:,:,:,JSV) = PREDTH1(:,:,:) * PREDS1(:,:,:,JSV)   +        &
                        ZW1*                                              &
-                       MZM(KKA,KKU,KKL,GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
+                       MZM(GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
                            GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)                  &
                           )
 !
     IF (KRR /= 0) THEN
       PRED2RS3(:,:,:,JSV) = PREDR1(:,:,:) * PREDS1(:,:,:,JSV)   +        &
                        ZW1 * PEMOIST *                                   &
-                       MZM(KKA,KKU,KKL,GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
+                       MZM(GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
                            GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)           &
                           )
     ELSE
@@ -480,13 +480,13 @@ ELSE ! 3D case in a 3D model
 !
   DO JSV=1,ISV
     IF (KRR /= 0) THEN
-      ZW1 = MZM(KKA,KKU,KKL, (XG / PTHVREF * PLM * PLEPS / PTKEM)**2 ) *PETHETA
+      ZW1 = MZM( (XG / PTHVREF * PLM * PLEPS / PTKEM)**2 ) *PETHETA
     ELSE
-      ZW1 = MZM(KKA,KKU,KKL, (XG / PTHVREF * PLM * PLEPS / PTKEM)**2)
+      ZW1 = MZM( (XG / PTHVREF * PLM * PLEPS / PTKEM)**2)
     END IF
     PRED2THS3(:,:,:,JSV) = PREDTH1(:,:,:) * PREDS1(:,:,:,JSV)   +        &
                        ZW1*                                              &
-                       MZM(KKA,KKU,KKL,GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
+                       MZM(GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
                            GX_M_M(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)                  &
                           +GY_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY)*       &
                            GY_M_M(KKA,KKU,KKL,PTHLM,PDYY,PDZZ,PDZY)                  &
@@ -495,7 +495,7 @@ ELSE ! 3D case in a 3D model
     IF (KRR /= 0) THEN
       PRED2RS3(:,:,:,JSV) = PREDR1(:,:,:) * PREDS1(:,:,:,JSV)   +        &
                        ZW1 * PEMOIST *                                   &
-                       MZM(KKA,KKU,KKL,GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
+                       MZM(GX_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*       &
                            GX_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)           &
                           +GY_M_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY)*       &
                            GY_M_M(KKA,KKU,KKL,PRM(:,:,:,1),PDYY,PDZZ,PDZY)           &
diff --git a/src/MNH/pressure.f90 b/src/MNH/pressure.f90
index 0ec507eec..f06d79f0a 100644
--- a/src/MNH/pressure.f90
+++ b/src/MNH/pressure.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -509,10 +509,10 @@ END IF
 !
 IF(CEQNSYS=='MAE' .OR. CEQNSYS=='DUR') THEN
   PRUS = PRUS - MXM(PRHODJ * XCPD * ZTHETAV) * ZDV_SOURCE
-  PRWS = PRWS - MZM(1,IKU,1,PRHODJ * XCPD * ZTHETAV) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
+  PRWS = PRWS - MZM(PRHODJ * XCPD * ZTHETAV) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
 ELSEIF(CEQNSYS=='LHE') THEN
   PRUS = PRUS - MXM(PRHODJ) * ZDV_SOURCE
-  PRWS = PRWS - MZM(1,IKU,1,PRHODJ) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
+  PRWS = PRWS - MZM(PRHODJ) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
 END IF
 !
 IF(.NOT. L2D) THEN
diff --git a/src/MNH/pressure_in_prep.f90 b/src/MNH/pressure_in_prep.f90
index e012d515b..6219e352f 100644
--- a/src/MNH/pressure_in_prep.f90
+++ b/src/MNH/pressure_in_prep.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
 !MNH_LIC for details. version 1.
@@ -117,9 +117,6 @@ REAL,DIMENSION(SIZE(PDXX,1),SIZE(PDXX,2),SIZE(PDXX,3)):: ZDIV ! residual diverge
 !* file management variables and counters
 !
 INTEGER      :: ILUOUT0  ! logical unit for listing file
-INTEGER      :: IRESP    ! error code
-INTEGER      :: IKB, IKE ! inner limits in Z direction
-INTEGER      :: IKU
 INTEGER      :: IINFO_ll
 REAL         :: ZMAXRES
 TYPE(LIST_ll), POINTER :: TZFIELDS_ll   ! list of fields to exchange
@@ -133,10 +130,6 @@ INTEGER               :: I,J,K
 !
 ILUOUT0 = TLUOUT0%NLU
 !
-IKB=1+JPVEXT
-IKE=NKMAX+JPVEXT
-IKU=IKE+JPVEXT
-!
 ZU(:,:,:) = XUT(:,:,:)
 ZV(:,:,:) = XVT(:,:,:)
 ZW(:,:,:) = XWT(:,:,:)
@@ -192,7 +185,7 @@ CALL MPPDB_CHECK3D(XVT,"PressInP4-beforeupdhalo::XVT",PRECISION)
 !
   ZRU(:,:,:) = XUT(:,:,:) * MXM(XRHODJ)
   ZRV(:,:,:) = XVT(:,:,:) * MYM(XRHODJ)
-  ZRW(:,:,:) = XWT(:,:,:) * MZM(1,IKU,1,XRHODJ)
+  ZRW(:,:,:) = XWT(:,:,:) * MZM(XRHODJ)
 !
   CALL ADD3DFIELD_ll( TZFIELDS_ll, ZRU, 'PRESSURE_IN_PREP::ZRU' )
   CALL ADD3DFIELD_ll( TZFIELDS_ll, ZRV, 'PRESSURE_IN_PREP::ZRV' )
diff --git a/src/MNH/pressurez.f90 b/src/MNH/pressurez.f90
index b4c3096c3..0b32958a2 100644
--- a/src/MNH/pressurez.f90
+++ b/src/MNH/pressurez.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -569,10 +569,10 @@ END IF
 CALL MPPDB_CHECK3DM("before MXM PRESSUREZ :PRU/V/WS",PRECISION,PRUS,PRVS,PRWS)
 IF(CEQNSYS=='MAE' .OR. CEQNSYS=='DUR') THEN
   PRUS = PRUS - MXM(PRHODJ * XCPD * ZTHETAV) * ZDV_SOURCE
-  PRWS = PRWS - MZM(1,IKU,1,PRHODJ * XCPD * ZTHETAV) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
+  PRWS = PRWS - MZM(PRHODJ * XCPD * ZTHETAV) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
 ELSEIF(CEQNSYS=='LHE') THEN
   PRUS = PRUS - MXM(PRHODJ) * ZDV_SOURCE
-  PRWS = PRWS - MZM(1,IKU,1,PRHODJ) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
+  PRWS = PRWS - MZM(PRHODJ) * GZ_M_W(1,IKU,1,ZPHIT,PDZZ)
 END IF
 !
 IF(.NOT. L2D) THEN
diff --git a/src/MNH/qlap.f90 b/src/MNH/qlap.f90
index 75f8c728f..d4da491d9 100644
--- a/src/MNH/qlap.f90
+++ b/src/MNH/qlap.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -236,13 +236,13 @@ IF ( CEQNSYS == 'DUR' .OR. CEQNSYS == 'MAE' ) THEN
   IF(.NOT. L2D) THEN 
     ZV = MYM(PRHODJ * XCPD * PTHETAV) *  ZV
   END IF
-  ZW = MZM(1,IKU,1,PRHODJ * XCPD * PTHETAV) *  GZ_M_W(1,IKU,1,PY,PDZZ)
+  ZW = MZM(PRHODJ * XCPD * PTHETAV) *  GZ_M_W(1,IKU,1,PY,PDZZ)
 ELSEIF ( CEQNSYS == 'LHE' ) THEN 
   ZU = MXM(PRHODJ) * ZU
   IF(.NOT. L2D) THEN 
     ZV = MYM(PRHODJ) * ZV
   ENDIF
-  ZW = MZM(1,IKU,1,PRHODJ) * GZ_M_W(1,IKU,1,PY,PDZZ)
+  ZW = MZM(PRHODJ) * GZ_M_W(1,IKU,1,PY,PDZZ)
 END IF
 !
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/rel_forcingn.f90 b/src/MNH/rel_forcingn.f90
index e057e1223..fe55e6705 100644
--- a/src/MNH/rel_forcingn.f90
+++ b/src/MNH/rel_forcingn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2010-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -143,11 +143,9 @@ REAL, DIMENSION(SIZE(PRTHS,1),SIZE(PRTHS,2),SIZE(PRTHS,3)) :: ZXADVTHFRC,ZXADVRV
 REAL, DIMENSION(SIZE(PRTHS,1),SIZE(PRTHS,2),SIZE(PRTHS,3)) :: ZTHREL,ZRVREL
 LOGICAL,DIMENSION(SIZE(PTHM,1),SIZE(PTHM,2),SIZE(PTHM,3)) :: GRELAX_MASK_FRC ! MAsk for relaxation
 REAL :: ZRELAX_HEIGHT_TOP,ZRELAX_HEIGHT_BOT, ZRELAX_TIME
-INTEGER :: IKU
 
 !----------------------------------------------------------------------------
 !
-IKU = SIZE(PTHM,3)
 !*        1.   PREPARATION OF FORCING
 !              ----------------------
 !
@@ -234,7 +232,7 @@ END IF
  ! Corresponds to CASE=FIXE of forcing.f90
  !
   GRELAX_MASK_FRC(:,:,:) = .TRUE.
-  WHERE ((MZF(1,IKU,1,PZZ).LT.ZRELAX_HEIGHT_BOT).OR.(MZF(1,IKU,1,PZZ).GT.ZRELAX_HEIGHT_TOP)) 
+  WHERE ((MZF(PZZ).LT.ZRELAX_HEIGHT_BOT).OR.(MZF(PZZ).GT.ZRELAX_HEIGHT_TOP))
     GRELAX_MASK_FRC = .FALSE.
   END WHERE
 !
diff --git a/src/MNH/relaxation.f90 b/src/MNH/relaxation.f90
index 13e62a4ab..b9cf5c3bb 100644
--- a/src/MNH/relaxation.f90
+++ b/src/MNH/relaxation.f90
@@ -1,7 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
+!-----------------------------------------------------------------
 !     ######################
       MODULE MODI_RELAXATION 
 !     ######################
@@ -442,7 +443,7 @@ IJU_ll=IJU_ll+2*JPHEXT
 !
 ZRHODJU(:,:,:) = MXM(PRHODJ)
 ZRHODJV(:,:,:) = MYM(PRHODJ)
-ZRHODJW(:,:,:) = MZM(1,IKU,1,PRHODJ)
+ZRHODJW(:,:,:) = MZM(PRHODJ)
 !
 GHORELAXR(1) = OHORELAX_RV
 GHORELAXR(2) = OHORELAX_RC
diff --git a/src/MNH/resolved_cloud.f90 b/src/MNH/resolved_cloud.f90
index 6116fa3f9..4d2822276 100644
--- a/src/MNH/resolved_cloud.f90
+++ b/src/MNH/resolved_cloud.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -900,7 +900,7 @@ SELECT CASE ( HCLOUD )
     DO JK=IKB,IKE
       ZDZZ(:,:,JK)=PZZ(:,:,JK+1)-PZZ(:,:,JK)    
     ENDDO
-    ZZZ = MZF(1,IKU,1, PZZ )
+    ZZZ = MZF( PZZ )
     IF(LRED .AND. LADJ_BEFORE) THEN
       CALL ICE_ADJUST (1,IKU,1, KRR, CFRAC_ICE_ADJUST, 'ADJU',                 &
                       OSUBG_COND, OSIGMAS, PTSTEP,PSIGQSAT,                    &
@@ -979,7 +979,7 @@ SELECT CASE ( HCLOUD )
     DO JK=IKB,IKE
       ZDZZ(:,:,JK)=PZZ(:,:,JK+1)-PZZ(:,:,JK)    
     ENDDO
-    ZZZ = MZF(1,IKU,1, PZZ )
+    ZZZ = MZF( PZZ )
     IF(LRED .AND. LADJ_BEFORE) THEN
             CALL ICE_ADJUST (1,IKU,1, KRR, CFRAC_ICE_ADJUST, 'ADJU',                 &
                       OSUBG_COND, OSIGMAS, PTSTEP,PSIGQSAT,                    &
@@ -1065,7 +1065,7 @@ SELECT CASE ( HCLOUD )
     DO JK=IKB,IKE
       ZDZZ(:,:,JK)=PZZ(:,:,JK+1)-PZZ(:,:,JK)    
     ENDDO
-    ZZZ = MZF(1,IKU,1, PZZ )
+    ZZZ = MZF( PZZ )
      IF (LPTSPLIT) THEN
         CALL LIMA (1, IKU, 1,                                              &
                    PTSTEP, TPFILE, OCLOSE_OUT,                             &
diff --git a/src/MNH/resolved_elecn.f90 b/src/MNH/resolved_elecn.f90
index 71ceb8c62..6d82e6e5b 100644
--- a/src/MNH/resolved_elecn.f90
+++ b/src/MNH/resolved_elecn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2009-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2009-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -299,7 +299,6 @@ INTEGER :: IJB           !
 INTEGER :: IJE           !
 INTEGER :: IKB           !
 INTEGER :: IKE           !
-INTEGER :: IKU
 INTEGER :: IINFO_ll      ! return code of parallel routine
 INTEGER :: IPROC         ! my proc number
 INTEGER :: IERR          ! error status
@@ -371,7 +370,6 @@ END IF
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 IKB = 1 + JPVEXT
 IKE = SIZE(PZZ,3) - JPVEXT
-IKU = SIZE(PZZ,3)
 !
 !
 !------------------------------------------------------------------------------
@@ -703,7 +701,7 @@ SELECT CASE (HCLOUD)
 !
 !*       5.2    Perform the saturation adjustment over cloud ice and cloud water
 !
-    ZZZ = MZF(1,IKU,1, PZZ )
+    ZZZ = MZF( PZZ )
     CALL ICE_ADJUST_ELEC (KRR, KMI, HRAD, HTURBDIM,                           &
                           HSCONV, HMF_CLOUD,                                  &
                           OSUBG_COND, OSIGMAS, PTSTEP,PSIGQSAT,               &
@@ -767,7 +765,7 @@ SELECT CASE (HCLOUD)
 !
 !*       6.2    Perform the saturation adjustment over cloud ice and cloud water
 !
-    ZZZ = MZF(1,IKU,1, PZZ )
+    ZZZ = MZF( PZZ )
     CALL ICE_ADJUST_ELEC (KRR, KMI, HRAD,                                     &
                           HTURBDIM, HSCONV, HMF_CLOUD,                        &
                           OSUBG_COND, OSIGMAS, PTSTEP,PSIGQSAT,               &
diff --git a/src/MNH/rmc01.f90 b/src/MNH/rmc01.f90
index 1b7ea4ed8..cf77c5033 100644
--- a/src/MNH/rmc01.f90
+++ b/src/MNH/rmc01.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 turb 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !     ################
       MODULE MODI_RMC01
 !     ################
@@ -144,7 +139,7 @@ IKT=SIZE(PZZ,3)
 IKTE=IKT-JPVEXT_TURB
 !
 ! altitude of mass points
-ZZZ=MZF(KKA,KKU,KKL,PZZ)
+ZZZ=MZF(PZZ)
 ! replace by height of mass points
 DO JK=1,IKT
   ZZZ(:,:,JK) = ZZZ(:,:,JK) - PZZ(:,:,IKB)
diff --git a/src/MNH/set_bogus_vortex.f90 b/src/MNH/set_bogus_vortex.f90
index 5f22d60d9..b0a881e28 100644
--- a/src/MNH/set_bogus_vortex.f90
+++ b/src/MNH/set_bogus_vortex.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2001-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2001-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -236,7 +236,7 @@ ZRADBOGMAX=ZRADBOGMAX*1000.  ! conversion from km to m
 !
 ALLOCATE(ZZHAT3D(1,1,IKU),ZZHATM(1,1,IKU)) ! to compute altitude of mass points
 ZZHAT3D(1,1,:) = XZHAT(:)
-ZZHATM = MZF(1,IKU,1,ZZHAT3D)
+ZZHATM = MZF(ZZHAT3D)
 DEALLOCATE(ZZHAT3D)
 !
 ! Definition de l angle de convergence
diff --git a/src/MNH/set_cstn.f90 b/src/MNH/set_cstn.f90
index 3ec1a28b5..986526c82 100644
--- a/src/MNH/set_cstn.f90
+++ b/src/MNH/set_cstn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -312,7 +312,7 @@ ELSE
 ZZS_LS(:,:)=ZHEIGHT(1)
 ENDIF
 CALL VERT_COORD(LSLEVE,ZZS_LS,ZZS_LS,XLEN1,XLEN2,XZHAT,ZZFLUX_MX)
-ZZMASS_MX(:,:,:)=MZF(1,IKU,1,ZZFLUX_MX)
+ZZMASS_MX(:,:,:)=MZF(ZZFLUX_MX)
 ZZMASS_MX(:,:,IKU)=1.5*ZZFLUX_MX(:,:,IKU)-0.5*ZZFLUX_MX(:,:,IKU-1)
 !
 CALL MPPDB_CHECK3D(ZZMASS_MX,"SET_CSTN::ZZMASS_MX",PRECISION)
diff --git a/src/MNH/set_geosbal.f90 b/src/MNH/set_geosbal.f90
index ac57ba40c..28e528d8b 100644
--- a/src/MNH/set_geosbal.f90
+++ b/src/MNH/set_geosbal.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2010-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -385,11 +385,11 @@ ELSE                                 ! conformal projection
 !
   PCORIOZ(:,:,:)   = SPREAD(  2. * XOMEGA * SIN(XLAT(:,:)*ZRADSDG),3,IKU)
   ZDXX(:,:,:) = MXM(                                                        &
-             MZF(1,IKU,1,SPREAD(SPREAD( 1.+ ZD1*XZHAT(:)/XRADIUS ,1,IIU),2,IJU ))  &
+             MZF(SPREAD(SPREAD( 1.+ ZD1*XZHAT(:)/XRADIUS ,1,IIU),2,IJU ))  &
                     * SPREAD( SPREAD(XDXHAT(1:IIU),2,IJU) /XMAP(:,:),3,IKU)   )
                                                    ! dxx (without orography)
   ZDYY(:,:,:) = MYM(                                                        &
-              MZF(1,IKU,1,SPREAD(SPREAD( 1.+ ZD1*XZHAT(:)/XRADIUS,1,IIU),2,IJU ))  &
+              MZF(SPREAD(SPREAD( 1.+ ZD1*XZHAT(:)/XRADIUS,1,IIU),2,IJU ))  &
                     * SPREAD( SPREAD(XDYHAT(1:IJU),1,IIU) /XMAP(:,:),3,IKU)   )
                                                    ! dyy (without orography)
 END IF
@@ -648,7 +648,7 @@ ZTHV3D(:,:,:) = SPREAD(SPREAD(PTHVM(:),1,IIU),2,IJU)  ! initialize  with
 !*       4.     INTERPOLATE THETAV, MR ON MODEL GRID (WITH OROGRAPHY)
 !               ------------------------------------------------------------
 !
-ZZM(:,:,:)   = MZF(1,IKU,1,XZZ)                       ! compute height at mass level
+ZZM(:,:,:)   = MZF(XZZ)                       ! compute height at mass level
                                               ! of grid with orography
 !
 ZZM(:,:,IKU) = 2. * XZZ(:,:,IKU) - ZZM(:,:,IKU-1) ! extrapolate on IKU mass level
diff --git a/src/MNH/set_mass.f90 b/src/MNH/set_mass.f90
index acb2014ea..a7b266aaa 100644
--- a/src/MNH/set_mass.f90
+++ b/src/MNH/set_mass.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2010-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -331,8 +331,8 @@ ELSE                                 ! conformal projection
     ZDXX(JI,JJ,JK) = ( 1.+ ZD1*XZHAT(JK)/XRADIUS ) * ( XDXHAT(JI) /XMAP(JI,JJ) ) ! XDXHAT(JI)
     ZDYY(JI,JJ,JK) = ( 1.+ ZD1*XZHAT(JK)/XRADIUS ) * ( XDYHAT(JJ) /XMAP(JI,JJ) ) ! XDYHAT(JJ)
   ENDDO ; ENDDO ; ENDDO ;
-  ZDXX  = MXM(MZF(1,IKU,1,ZDXX))
-  ZDYY  = MYM(MZF(1,IKU,1,ZDYY))
+  ZDXX  = MXM(MZF(ZDXX))
+  ZDYY  = MYM(MZF(ZDYY))
 END IF
 !
 SELECT CASE(HFUNU)
@@ -482,8 +482,8 @@ CALL CLEANLIST_ll(TZFIELDS_ll)
 !
 ! Interpolation of the wind      
 !
-  ZRHODU_MX=MZF(1,IKU,1,ZUW3D_FL)*ZRHOD_MX
-  ZRHODV_MX=MZF(1,IKU,1,ZVW3D_FL)*ZRHOD_MX
+  ZRHODU_MX=MZF(ZUW3D_FL)*ZRHOD_MX
+  ZRHODV_MX=MZF(ZVW3D_FL)*ZRHOD_MX
   CALL MPPDB_CHECK3DM("SET_MASS:ZRHODU_MX,ZRHODV_MX,PZFLUX_MX,PZMASS_MX",PRECISION,&
                    &  ZRHODU_MX,ZRHODV_MX,PZFLUX_MX,PZMASS_MX  )
   CALL VER_INT_DYN(OSHIFT,ZRHODU_MX,ZRHODV_MX,PZFLUX_MX,PZMASS_MX,PZS_MX,ZRHODUA,ZRHODVA)
diff --git a/src/MNH/set_refz.f90 b/src/MNH/set_refz.f90
index b8b10b3b7..f6e82cd85 100644
--- a/src/MNH/set_refz.f90
+++ b/src/MNH/set_refz.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -174,7 +174,7 @@ IKE=IKU-JPVEXT
 !*       2.    ALTITUDE OF THE MASS POINTS
 !              ---------------------------
 !
-ZZMASS(:,:,:)=MZF(1,IKU,1,XZZ(:,:,:))
+ZZMASS(:,:,:)=MZF(XZZ(:,:,:))
 ZZMASS(:,:,IKU)=1.5*XZZ(:,:,IKU)-0.5*XZZ(:,:,IKU-1)
 !
 !20131024 check zzmass and pthv
diff --git a/src/MNH/set_rsou.f90 b/src/MNH/set_rsou.f90
index 5a787a31b..353c6298b 100644
--- a/src/MNH/set_rsou.f90
+++ b/src/MNH/set_rsou.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -1117,7 +1117,7 @@ ELSE
   ENDIF
 ENDIF
 CALL VERT_COORD(LSLEVE,ZZS_LS,ZZS_LS,XLEN1,XLEN2,XZHAT,ZZFLUX_MX)
-ZZMASS_MX(:,:,:)=MZF(1,IKU,1,ZZFLUX_MX)
+ZZMASS_MX(:,:,:)=MZF(ZZFLUX_MX)
 ZZMASS_MX(:,:,IKU)=1.5*ZZFLUX_MX(:,:,IKU)-0.5*ZZFLUX_MX(:,:,IKU-1)
 !
 !*        3.2  Interpolate and extrapolate U and V on w- mixed grid levels
diff --git a/src/MNH/shallow_mf_pack.f90 b/src/MNH/shallow_mf_pack.f90
index 5e76f58c5..96fff3772 100644
--- a/src/MNH/shallow_mf_pack.f90
+++ b/src/MNH/shallow_mf_pack.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2010-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -282,7 +282,7 @@ ZSVM(:,:,:) = 0.
 ! wind on mass points
 ZUMM=MXF(PUM)
 ZVMM=MYF(PVM)
-ZWMM=MZF(1,IKU,1,PWM)
+ZWMM=MZF(PWM)
 !
 !!! 2. Pack input variables
 !
diff --git a/src/MNH/shuman.f90 b/src/MNH/shuman.f90
index 526fa0491..a0f0e3a59 100644
--- a/src/MNH/shuman.f90
+++ b/src/MNH/shuman.f90
@@ -41,18 +41,14 @@ REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PDYM   ! result at flux
                                                             ! side
 END FUNCTION DYM
 !
-FUNCTION DZF(KKA,KKU,KL,PA)  RESULT(PDZF)
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
+FUNCTION DZF(PA)  RESULT(PDZF)
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at flux
                                                             !  side
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PDZF   ! result at mass
                                                             ! localization 
 END FUNCTION DZF
 !
-FUNCTION DZM(KKA,KKU,KL,PA)  RESULT(PDZM)
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
+FUNCTION DZM(PA)  RESULT(PDZM)
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at mass
                                                             ! localization
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PDZM   ! result at flux
@@ -83,18 +79,14 @@ REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at mass l
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PMYM   ! result at flux localization 
 END  FUNCTION MYM
 !
-FUNCTION MZF(KKA,KKU,KL,PA)  RESULT(PMZF)
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
+FUNCTION MZF(PA)  RESULT(PMZF)
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at flux
                                                             !  side
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PMZF   ! result at mass
                                                             ! localization 
 END FUNCTION MZF
 !
-FUNCTION MZM(KKA,KKU,KL,PA)  RESULT(PMZM)
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
+FUNCTION MZM(PA)  RESULT(PMZM)
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at mass localization
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PMZM   ! result at flux localization 
 END FUNCTION MZM
@@ -505,7 +497,7 @@ END DO
 !
 END FUNCTION MYM
 !     ###############################
-      FUNCTION MZF(KKA,KKU,KL,PA)  RESULT(PMZF)
+      FUNCTION MZF(PA)  RESULT(PMZF)
 !     ###############################
 !
 !!****  *MZF* -  Shuman operator : mean operator in z direction for a 
@@ -555,8 +547,6 @@ IMPLICIT NONE
 !*       0.1   Declarations of argument and result
 !              ------------------------------------
 !
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at flux
                                                             !  side
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PMZF   ! result at mass
@@ -601,7 +591,7 @@ END DO
 !
 END FUNCTION MZF
 !     ###############################
-      FUNCTION MZM(KKA,KKU,KL,PA)  RESULT(PMZM)
+      FUNCTION MZM(PA)  RESULT(PMZM)
 !     ###############################
 !
 !!****  *MZM* -  Shuman operator : mean operator in z direction for a 
@@ -651,8 +641,6 @@ IMPLICIT NONE
 !*       0.1   Declarations of argument and result
 !              ------------------------------------
 !
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at mass localization
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PMZM   ! result at flux localization 
 !
@@ -1098,7 +1086,7 @@ END DO
 !
 END FUNCTION DYM
 !     ###############################
-      FUNCTION DZF(KKA,KKU,KL,PA)  RESULT(PDZF)
+      FUNCTION DZF(PA)  RESULT(PDZF)
 !     ###############################
 !
 !!****  *DZF* -  Shuman operator : finite difference operator in z direction
@@ -1148,8 +1136,6 @@ IMPLICIT NONE
 !*       0.1   Declarations of argument and result
 !              ------------------------------------
 !
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at flux
                                                             !  side
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PDZF   ! result at mass
@@ -1194,7 +1180,7 @@ END DO
 !
 END FUNCTION DZF
 !     ###############################
-      FUNCTION DZM(KKA,KKU,KL,PA)  RESULT(PDZM)
+      FUNCTION DZM(PA)  RESULT(PDZM)
 !     ###############################
 !
 !!****  *DZM* -  Shuman operator : finite difference operator in z direction
@@ -1244,8 +1230,6 @@ IMPLICIT NONE
 !*       0.1   Declarations of argument and result
 !              ------------------------------------
 !
-INTEGER,              INTENT(IN)                  :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,              INTENT(IN)                  :: KL     ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN)                :: PA     ! variable at mass
                                                             ! localization
 REAL, DIMENSION(SIZE(PA,1),SIZE(PA,2),SIZE(PA,3)) :: PDZM   ! result at flux
diff --git a/src/MNH/spawn_lsn.f90 b/src/MNH/spawn_lsn.f90
index 36a034149..4bf203690 100644
--- a/src/MNH/spawn_lsn.f90
+++ b/src/MNH/spawn_lsn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1997-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1997-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -378,9 +378,9 @@ END IF
 IF ( GVERT_INTERP ) THEN
   IKU = SIZE(PZZ,3)
   !
-  ZZLS2=MZF(1,IKU,1,ZZLS1)
+  ZZLS2=MZF(ZZLS1)
   ZZLS2(:,:,IKU)=2.*ZZLS2(:,:,IKU-1)-ZZLS2(:,:,IKU-2)
-  ZZSS=MZF(1,IKU,1,PZZ)
+  ZZSS=MZF(PZZ)
   ZZSS(:,:,IKU)=2.*ZZSS(:,:,IKU-1)-ZZSS(:,:,IKU-2)
   !
   CALL COEF_VER_INTERP_LIN(ZZLS2,ZZSS,IKLIN,ZCOEFLIN)
@@ -455,7 +455,7 @@ IF ( GVERT_INTERP ) THEN
   !
   ZZLS1=MYM(ZZLS2)
   ZZLS1(:,1,:)=2.*ZZLS1(:,2,:)-ZZLS1(:,3,:)
-  ZZSS=MZF(1,IKU,1,PZZ)
+  ZZSS=MZF(PZZ)
   ZZSS(:,:,IKU)=2.*ZZSS(:,:,IKU-1)-ZZSS(:,:,IKU-2)
   ZZSS=MYM(ZZSS)
   ZZSS(:,1,:)=2.*ZZSS(:,2,:)-ZZSS(:,3,:)
diff --git a/src/MNH/spawn_pressure2.f90 b/src/MNH/spawn_pressure2.f90
index 0a55faaef..0b763ec65 100644
--- a/src/MNH/spawn_pressure2.f90
+++ b/src/MNH/spawn_pressure2.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1997-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1997-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -339,9 +339,9 @@ IKE=IKU-JPVEXT
 !
   ALLOCATE(ZGRIDA(IIU,IJU,IKU))
   ALLOCATE(ZGRIDB(IIU,IJU,IKU))
-  ZGRIDA(:,:,:)=MZF(1,IKU,1,PZZ_LS(:,:,:))
+  ZGRIDA(:,:,:)=MZF(PZZ_LS(:,:,:))
   ZGRIDA(:,:,IKU)=2.*ZGRIDA(:,:,IKU-1)-ZGRIDA(:,:,IKU-2)
-  ZGRIDB(:,:,:)=MZF(1,IKU,1,PZZ(:,:,:))
+  ZGRIDB(:,:,:)=MZF(PZZ(:,:,:))
   ZGRIDB(:,:,IKU)=2.*ZGRIDB(:,:,IKU-1)-ZGRIDB(:,:,IKU-2)
   CALL COEF_VER_INTERP_LIN(ZGRIDA(:,:,:),ZGRIDB(:,:,:))
 !
diff --git a/src/MNH/tke_eps_sources.f90 b/src/MNH/tke_eps_sources.f90
index ebb68aa19..b67e85026 100644
--- a/src/MNH/tke_eps_sources.f90
+++ b/src/MNH/tke_eps_sources.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -317,7 +317,7 @@ ZSOURCE(:,:,:) = PRTKES(:,:,:) / PRHODJ(:,:,:)  +  PRTKESM(:,:,:) / PRHODJ(:,:,:
 ! matrix inverted in TRIDIAG 
 !
 ZA(:,:,:)     = - PTSTEP * XCET * &
-                MZM(KKA,KKU,KKL,ZKEFF) * MZM(KKA,KKU,KKL,PRHODJ) / PDZZ**2
+                MZM(ZKEFF) * MZM(PRHODJ) / PDZZ**2
 !
 ! Compute TKE at time t+deltat: ( stored in ZRES )
 !
@@ -349,20 +349,20 @@ IF ( LLES_CALL .OR.                         &
 ! Compute the cartesian vertical flux of TKE in ZFLX
 !
 
-  ZFLX(:,:,:)   = - XCET * MZM(KKA,KKU,KKL,ZKEFF) *   &
-                  DZM(KKA,KKU,KKL,PIMPL * ZRES + PEXPL * PTKEM ) / PDZZ
+  ZFLX(:,:,:)   = - XCET * MZM(ZKEFF) *   &
+                  DZM(PIMPL * ZRES + PEXPL * PTKEM ) / PDZZ
 !
   ZFLX(:,:,IKB) = 0.
   ZFLX(:,:,KKA) = 0.
 !
 ! Compute the whole turbulent TRansport of TKE:
 !
-  PTR(:,:,:)= PTR - DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL,PRHODJ) * ZFLX / PDZZ ) /PRHODJ
+  PTR(:,:,:)= PTR - DZF( MZM(PRHODJ) * ZFLX / PDZZ ) /PRHODJ
 !
 ! Storage in the LES configuration
 !
   IF (LLES_CALL) THEN
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,ZFLX), X_LES_SUBGRID_WTke )
+    CALL LES_MEAN_SUBGRID( MZF(ZFLX), X_LES_SUBGRID_WTke )
     CALL LES_MEAN_SUBGRID( -PTR, X_LES_SUBGRID_ddz_WTke )
   END IF
 !
diff --git a/src/MNH/tridiag_thermo.f90 b/src/MNH/tridiag_thermo.f90
index 0da3f156b..2a02b6346 100644
--- a/src/MNH/tridiag_thermo.f90
+++ b/src/MNH/tridiag_thermo.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2003-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 newsrc 2006/06/02 17:32:30
-!-----------------------------------------------------------------
 !     ###################
       MODULE MODI_TRIDIAG_THERMO
 !     ###################
@@ -199,7 +194,7 @@ IKB=KKA+JPVEXT_TURB*KKL
 IKE=KKU-JPVEXT_TURB*KKL
 
 !
-ZMZM_RHODJ  = MZM(KKA,KKU,KKL,PRHODJ)
+ZMZM_RHODJ  = MZM(PRHODJ)
 ZRHODJ_DFDDTDZ_O_DZ2 = ZMZM_RHODJ*PDFDDTDZ/PDZZ**2
 !
 ZA=0.
diff --git a/src/MNH/tridiag_w.f90 b/src/MNH/tridiag_w.f90
index 477384a71..c995d91f1 100644
--- a/src/MNH/tridiag_w.f90
+++ b/src/MNH/tridiag_w.f90
@@ -1,7 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2011-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
+!-----------------------------------------------------------------
 !     ###################
       MODULE MODI_TRIDIAG_W
 !     ###################
@@ -175,7 +176,7 @@ REAL, DIMENSION(SIZE(PVARM,1),SIZE(PVARM,2),SIZE(PVARM,3))  :: ZY ,ZGAM
 REAL, DIMENSION(SIZE(PVARM,1),SIZE(PVARM,2))                :: ZBET
                                          ! 2D work array
 INTEGER                              :: JK            ! loop counter
-INTEGER                              :: IKB,IKE,IKU   ! inner vertical limits
+INTEGER                              :: IKB,IKE       ! inner vertical limits
 !
 ! ---------------------------------------------------------------------------
 !                                              
@@ -184,9 +185,8 @@ INTEGER                              :: IKB,IKE,IKU   ! inner vertical limits
 !
 IKB=1+JPVEXT
 IKE=SIZE(PVARM,3)-JPVEXT 
-IKU=SIZE(PVARM,3)
 !
-ZMZM_RHODJ  = MZM(1,IKU,1,PRHODJ)
+ZMZM_RHODJ  = MZM(PRHODJ)
 ZRHODJ_DFDDWDZ_O_DZ2 = PRHODJ*PDFDDWDZ/PMZF_DZZ**2
 !
 ZA=0.
diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90
index f875c2e36..0444bb066 100644
--- a/src/MNH/turb.f90
+++ b/src/MNH/turb.f90
@@ -1,4 +1,4 @@
-  !MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+  !MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -747,8 +747,8 @@ SELECT CASE (HTURBLEN)
 !           ------------------
 
   CASE ('RM17')
-    ZDUDZ = MXF(MZF(1,KKU,1,GZ_U_UW(1,KKU,1,PUT,PDZZ)))
-    ZDVDZ = MYF(MZF(1,KKU,1,GZ_V_VW(1,KKU,1,PVT,PDZZ)))
+    ZDUDZ = MXF(MZF(GZ_U_UW(1,KKU,1,PUT,PDZZ)))
+    ZDVDZ = MYF(MZF(GZ_V_VW(1,KKU,1,PVT,PDZZ)))
     ZSHEAR = SQRT(ZDUDZ*ZDUDZ + ZDVDZ*ZDVDZ)
     CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,PLEM)
 !
@@ -1010,7 +1010,7 @@ IF (LBUDGET_RI) CALL BUDGET (PRRS(:,:,:,4),9,'HTURB_BU_RRI')
 !  6.1 Contribution of mass-flux in the TKE buoyancy production if 
 !      cloud computation is not statistical 
 
-       PTHP = PTHP + XG / PTHVREF * MZF(KKA,KKU,KKL, PFLXZTHVMF )
+       PTHP = PTHP + XG / PTHVREF * MZF( PFLXZTHVMF )
 
 !  6.2 TKE evolution equation
 
@@ -1173,13 +1173,13 @@ IF (LLES_CALL) THEN
     CALL LES_MEAN_SUBGRID(2./3.*PTKET,X_LES_SUBGRID_U2)
     X_LES_SUBGRID_V2 = X_LES_SUBGRID_U2
     X_LES_SUBGRID_W2 = X_LES_SUBGRID_U2
-    CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(KKA,KKU,KKL,&
+    CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(&
                & GZ_M_W(KKA,KKU,KKL,PTHLT,PDZZ)),X_LES_RES_ddz_Thl_SBG_W2)
     IF (KRR>=1) &
-    CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(KKA,KKU,KKL,&
+    CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(&
                & GZ_M_W(KKA,KKU,KKL,PRT(:,:,:,1),PDZZ)),X_LES_RES_ddz_Rt_SBG_W2)
     DO JSV=1,NSV
-      CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(KKA,KKU,KKL,&
+      CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(&
  & GZ_M_W(KKA,KKU,KKL,PSVT(:,:,:,JSV),PDZZ)),X_LES_RES_ddz_Sv_SBG_W2(:,:,:,JSV))
     END DO
   END IF
diff --git a/src/MNH/turb_hor.f90 b/src/MNH/turb_hor.f90
index 389d45e49..522bb30b0 100644
--- a/src/MNH/turb_hor.f90
+++ b/src/MNH/turb_hor.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -184,20 +184,8 @@ END MODULE MODI_TURB_HOR
 !!
 !!    EXTERNAL
 !!    --------
-!!      GX_M_U, GY_M_V
-!!      GX_M_M, GY_M_M, GZ_M_M
-!!      GY_U_UV,GX_V_UV
-!!      GX_U_M, GY_V_M, GZ_W_M
-!!      GX_W_UW,GY_W_UW
-!!                             :  Cartesian vertical gradient operators 
-!!                               
 !!
-!!      MXM,MXF,MYM,MYF,MZM,MZF
-!!                             :  Shuman functions (mean operators)     
-!!      DXM,DXF.DYM,DYF,DZM,DZF
-!!                             :  Shuman functions (difference operators)     
 !!
-!!       
 !!    IMPLICIT ARGUMENTS
 !!    ------------------
 !!      Module MODD_CST : contains physical constants
@@ -259,13 +247,6 @@ USE MODD_IO, ONLY: TFILEDATA
 USE MODD_PARAMETERS
 USE MODD_LES
 !
-!
-USE MODI_GRADIENT_M
-USE MODI_GRADIENT_U
-USE MODI_GRADIENT_V
-USE MODI_GRADIENT_W
-USE MODI_SHUMAN 
-!
 USE MODI_TURB_HOR_THERMO_FLUX
 USE MODI_TURB_HOR_THERMO_CORR
 USE MODI_TURB_HOR_DYN_CORR
diff --git a/src/MNH/turb_hor_dyn_corr.f90 b/src/MNH/turb_hor_dyn_corr.f90
index fc74e743e..f897784a3 100644
--- a/src/MNH/turb_hor_dyn_corr.f90
+++ b/src/MNH/turb_hor_dyn_corr.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -278,7 +278,7 @@ GX_U_M_PUM = GX_U_M(1,IKU,1,PUM,PDXX,PDZZ,PDZX)
 IF (.NOT. L2D) GY_V_M_PVM = GY_V_M(1,IKU,1,PVM,PDYY,PDZZ,PDZY)
 GZ_W_M_PWM = GZ_W_M(1,IKU,1,PWM,PDZZ)
 !
-ZMZF_DZZ = MZF(1,IKU,1,PDZZ)
+ZMZF_DZZ = MZF(PDZZ)
 !
 CALL ADD3DFIELD_ll( TZFIELDS_ll, ZFLX, 'TURB_HOR_DYN_CORR::ZFLX' )
 
@@ -395,7 +395,7 @@ CALL MPPDB_CHECK3DM("before turb_corr:PRUS,PRHODJ,ZFLX,PDXX,PDZX,PINV_PDZZ",PREC
 
   PRUS(:,:,:)=PRUS                                            &
               -DXM(PRHODJ * ZFLX / MXF(PDXX) )                &
-              +DZF(1,IKU,1, PDZX / MZM(1,IKU,1,PDXX) * MXM( MZM(1,IKU,1,PRHODJ*ZFLX) * PINV_PDZZ ) )
+              +DZF( PDZX / MZM(PDXX) * MXM( MZM(PRHODJ*ZFLX) * PINV_PDZZ ) )
 CALL MPPDB_CHECK3DM("after  turb_corr:PRUS,PRHODJ,ZFLX,PDXX,PDZX,PINV_PDZZ",PRECISION,&
                    & PRUS,PRHODJ,ZFLX,PDXX,PDZX,PINV_PDZZ )
 ELSE
@@ -488,8 +488,8 @@ IF (.NOT. L2D) THEN
   IF (.NOT. LFLAT) THEN
     PRVS(:,:,:)=PRVS                                          &
                 -DYM(PRHODJ * ZFLX / MYF(PDYY) )              &
-                +DZF(1,IKU,1, PDZY / MZM(1,IKU,1,PDYY) *                      &
-                MYM( MZM(1,IKU,1,PRHODJ*ZFLX) * PINV_PDZZ ) )
+                +DZF( PDZY / MZM(PDYY) *                      &
+                MYM( MZM(PRHODJ*ZFLX) * PINV_PDZZ ) )
   ELSE
     PRVS(:,:,:)=PRVS -DYM(PRHODJ * ZFLX / MYF(PDYY) )
   END IF
@@ -572,13 +572,13 @@ END IF
 !
 ! Complete the W tendency
 !
-!PRWS(:,:,:)=PRWS(:,:,:) - DZM(1,IKU,1, PRHODJ*ZFLX/MZF(1,IKU,1,PDZZ) )
+!PRWS(:,:,:)=PRWS(:,:,:) - DZM( PRHODJ*ZFLX/MZF(PDZZ) )
 ZDFDDWDZ(:,:,:)    = - XCMFS * PK(:,:,:) * (4./3.)
 ZDFDDWDZ(:,:,:IKB) = 0.
 !
 CALL TRIDIAG_W(PWM,ZFLX,ZDFDDWDZ,PTSTEP,ZMZF_DZZ,PRHODJ,ZWP)
 !
-PRWS = PRWS(:,:,:) + MZM(1,IKU,1,PRHODJ(:,:,:))*(ZWP(:,:,:)-PWM(:,:,:))/PTSTEP
+PRWS = PRWS(:,:,:) + MZM(PRHODJ(:,:,:))*(ZWP(:,:,:)-PWM(:,:,:))/PTSTEP
 !
 !* recomputes flux using guess of W
 !
@@ -606,17 +606,17 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   CALL LES_MEAN_SUBGRID( ZFLX, X_LES_SUBGRID_W2 ) 
   CALL LES_MEAN_SUBGRID( -ZWORK, X_LES_RES_ddxa_W_SBG_UaW , .TRUE.)
   CALL LES_MEAN_SUBGRID( GZ_M_M(1,IKU,1,PTHLM,PDZZ)*ZFLX, X_LES_RES_ddxa_Thl_SBG_UaW , .TRUE.)
-  CALL LES_MEAN_SUBGRID(ZFLX*MZF(1,IKU,1,GZ_M_W(1,IKU,1,PTHLM,PDZZ)),X_LES_RES_ddz_Thl_SBG_W2)
+  CALL LES_MEAN_SUBGRID(ZFLX*MZF(GZ_M_W(1,IKU,1,PTHLM,PDZZ)),X_LES_RES_ddz_Thl_SBG_W2)
   IF (KRR>=1) THEN
     CALL LES_MEAN_SUBGRID( GZ_M_M(1,IKU,1,PRM(:,:,:,1),PDZZ)*ZFLX, &
                            X_LES_RES_ddxa_Rt_SBG_UaW , .TRUE.)
-    CALL LES_MEAN_SUBGRID(ZFLX*MZF(1,IKU,1,GZ_M_W(1,IKU,1,PRM(:,:,:,1),PDZZ)), &
+    CALL LES_MEAN_SUBGRID(ZFLX*MZF(GZ_M_W(1,IKU,1,PRM(:,:,:,1),PDZZ)), &
                            X_LES_RES_ddz_Rt_SBG_W2)
   END IF
   DO JSV=1,NSV
     CALL LES_MEAN_SUBGRID( GZ_M_M(1,IKU,1,PSVM(:,:,:,JSV),PDZZ)*ZFLX, &
                            X_LES_RES_ddxa_Sv_SBG_UaW(:,:,:,JSV) , .TRUE.)
-    CALL LES_MEAN_SUBGRID(ZFLX*MZF(1,IKU,1,GZ_M_W(1,IKU,1,PSVM(:,:,:,JSV),PDZZ)), &
+    CALL LES_MEAN_SUBGRID(ZFLX*MZF(GZ_M_W(1,IKU,1,PSVM(:,:,:,JSV),PDZZ)), &
                            X_LES_RES_ddz_Sv_SBG_W2(:,:,:,JSV))
   END DO
   CALL SECOND_MNH(ZTIME2)
diff --git a/src/MNH/turb_hor_splt.f90 b/src/MNH/turb_hor_splt.f90
index 9fdace16e..cb43941a8 100644
--- a/src/MNH/turb_hor_splt.f90
+++ b/src/MNH/turb_hor_splt.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -355,7 +355,7 @@ REAL,ALLOCATABLE,DIMENSION(:,:,:) :: ZMZM_PRHODJ  ! MZM(PRHODJ)
 !
 INTEGER :: JSPLT ! current split
 !
-INTEGER :: IKB, IKE, IIB, IIE, IJB, IJE, IKU
+INTEGER :: IKB, IKE, IIB, IIE, IJB, IJE
 INTEGER :: JRR, JSV
 !
 INTEGER :: ISV
@@ -376,7 +376,6 @@ TYPE(LIST_ll), POINTER, SAVE :: TZFIELDS_ll
 !
 IKB = 1.+JPVEXT
 IKE = SIZE(PUM,3) - JPVEXT
-IKU = SIZE(PUM,3)
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 ISV=SIZE(PSVM,4)
 !
@@ -389,7 +388,7 @@ ALLOCATE(ZMZM_PRHODJ(SIZE(PRHODJ,1),SIZE(PRHODJ,2),SIZE(PRHODJ,3)))
 ZINV_PDXX = 1./PDXX
 ZINV_PDYY = 1./PDYY
 ZINV_PDZZ = 1./PDZZ
-ZMZM_PRHODJ = MZM(1,IKU,1,PRHODJ)
+ZMZM_PRHODJ = MZM(PRHODJ)
 !
 ZK(:,:,:)         = PLM(:,:,:) * SQRT(PTKEM(:,:,:))
 !
diff --git a/src/MNH/turb_hor_sv_corr.f90 b/src/MNH/turb_hor_sv_corr.f90
index 77489e8c6..bc3b86878 100644
--- a/src/MNH/turb_hor_sv_corr.f90
+++ b/src/MNH/turb_hor_sv_corr.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 turb 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !    ############################
      MODULE MODI_TURB_HOR_SV_CORR
 !    ############################
@@ -180,7 +175,7 @@ DO JSV=1,NSV
     END IF
     CALL LES_MEAN_SUBGRID( -2.*ZCSVD*SQRT(PTKEM)*ZFLX/PLEPS, &
                            X_LES_SUBGRID_DISS_Sv2(:,:,:,JSV), .TRUE. )
-    CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,PWM)*ZFLX, X_LES_RES_W_SBG_Sv2(:,:,:,JSV), .TRUE. )
+    CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLX, X_LES_RES_W_SBG_Sv2(:,:,:,JSV), .TRUE. )
   END IF
   !
   ! covariance SvThv
diff --git a/src/MNH/turb_hor_sv_flux.f90 b/src/MNH/turb_hor_sv_flux.f90
index 2ff88559c..efc04b01e 100644
--- a/src/MNH/turb_hor_sv_flux.f90
+++ b/src/MNH/turb_hor_sv_flux.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -268,7 +268,7 @@ DO JSV=1,ISV
   IF (LLES_CALL .AND. KSPLT==1) THEN
     CALL SECOND_MNH(ZTIME1)
     CALL LES_MEAN_SUBGRID( MXF(ZFLXX), X_LES_SUBGRID_USv(:,:,:,JSV) ) 
-    CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MXF(GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)*MZM(1,IKU,1,ZFLXX))), &
+    CALL LES_MEAN_SUBGRID( MZF(MXF(GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)*MZM(ZFLXX))), &
                            X_LES_RES_ddxa_W_SBG_UaSv(:,:,:,JSV) , .TRUE. )
     CALL LES_MEAN_SUBGRID( GX_M_M(1,IKU,1,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*MXF(ZFLXX), &
                            X_LES_RES_ddxa_Sv_SBG_UaSv(:,:,:,JSV), .TRUE. )
@@ -323,7 +323,7 @@ DO JSV=1,ISV
   IF (LLES_CALL .AND. KSPLT==1) THEN
     CALL SECOND_MNH(ZTIME1)
     CALL LES_MEAN_SUBGRID( MYF(ZFLXY), X_LES_SUBGRID_VSv(:,:,:,JSV) ) 
-    CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*MZM(1,IKU,1,ZFLXY))), &
+    CALL LES_MEAN_SUBGRID( MZF(MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*MZM(ZFLXY))), &
                            X_LES_RES_ddxa_W_SBG_UaSv(:,:,:,JSV) , .TRUE. )
     CALL LES_MEAN_SUBGRID( GY_M_M(1,IKU,1,PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY)*MYF(ZFLXY), &
                            X_LES_RES_ddxa_Sv_SBG_UaSv(:,:,:,JSV) , .TRUE. )
@@ -340,8 +340,8 @@ DO JSV=1,ISV
       PRSVS(:,:,:,JSV)=   PRSVS(:,:,:,JSV)                                          &
         -DXF( MXM(PRHODJ) * ZFLXX * PINV_PDXX  )                                    &
         -DYF( MYM(PRHODJ) * ZFLXY * PINV_PDYY  )                                    &
-        +DZF( 1,IKU,1,PMZM_PRHODJ * PINV_PDZZ *                                             &
-              ( MXF( MZM(1,IKU,1,ZFLXX * PINV_PDXX) * PDZX ) + MYF( MZM(1,IKU,1,ZFLXY * PINV_PDYY) * PDZY ) ) &
+        +DZF( PMZM_PRHODJ * PINV_PDZZ *                                             &
+              ( MXF( MZM(ZFLXX * PINV_PDXX) * PDZX ) + MYF( MZM(ZFLXY * PINV_PDYY) * PDZY ) ) &
             )
     ELSE
       PRSVS(:,:,:,JSV)=   PRSVS(:,:,:,JSV)                                          &
@@ -352,8 +352,8 @@ DO JSV=1,ISV
     IF (.NOT. LFLAT) THEN
       PRSVS(:,:,:,JSV)=   PRSVS(:,:,:,JSV)                                          &
         -DXF( MXM(PRHODJ) * ZFLXX * PINV_PDXX  )                                    &
-        +DZF(1,IKU,1, PMZM_PRHODJ * PINV_PDZZ *                                             &
-              ( MXF( MZM(1,IKU,1,ZFLXX * PINV_PDXX) * PDZX ) )                              &
+        +DZF( PMZM_PRHODJ * PINV_PDZZ *                                             &
+              ( MXF( MZM(ZFLXX * PINV_PDXX) * PDZX ) )                              &
             )
     ELSE
       PRSVS(:,:,:,JSV)=   PRSVS(:,:,:,JSV)                                          &
diff --git a/src/MNH/turb_hor_thermo_corr.f90 b/src/MNH/turb_hor_thermo_corr.f90
index e6f89e6d9..8c9462a2c 100644
--- a/src/MNH/turb_hor_thermo_corr.f90
+++ b/src/MNH/turb_hor_thermo_corr.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -289,7 +289,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) &
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
     CALL LES_MEAN_SUBGRID( ZFLX, X_LES_SUBGRID_Thl2, .TRUE. ) 
-    CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,PWM)*ZFLX, X_LES_RES_W_SBG_Thl2, .TRUE. ) 
+    CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLX, X_LES_RES_W_SBG_Thl2, .TRUE. )
     CALL LES_MEAN_SUBGRID( -2.*XCTD*SQRT(PTKEM)*ZFLX/PLEPS ,X_LES_SUBGRID_DISS_Thl2, .TRUE. )
     ZA(:,:,:)   =  ETHETA(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PATHETA,PSRCM)
     CALL LES_MEAN_SUBGRID( ZA*ZFLX, X_LES_SUBGRID_ThlThv, .TRUE. ) 
@@ -377,7 +377,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) &
     IF (LLES_CALL) THEN
       CALL SECOND_MNH(ZTIME1)
       CALL LES_MEAN_SUBGRID( ZFLX, X_LES_SUBGRID_ThlRt, .TRUE. ) 
-      CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,PWM)*ZFLX, X_LES_RES_W_SBG_ThlRt, .TRUE. ) 
+      CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLX, X_LES_RES_W_SBG_ThlRt, .TRUE. )
       CALL LES_MEAN_SUBGRID( -XCTD*SQRT(PTKEM)*ZFLX/PLEPS ,X_LES_SUBGRID_DISS_ThlRt, .TRUE. )
       CALL LES_MEAN_SUBGRID( ZA*ZFLX, X_LES_SUBGRID_RtThv, .TRUE. ) 
       CALL LES_MEAN_SUBGRID( -XG/PTHVREF/3.*ZA*ZFLX, X_LES_SUBGRID_RtPz,.TRUE.)
@@ -445,7 +445,7 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) &
     IF (LLES_CALL) THEN
       CALL SECOND_MNH(ZTIME1)
       CALL LES_MEAN_SUBGRID( ZFLX, X_LES_SUBGRID_Rt2, .TRUE. ) 
-      CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,PWM)*ZFLX, X_LES_RES_W_SBG_Rt2, .TRUE. ) 
+      CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLX, X_LES_RES_W_SBG_Rt2, .TRUE. )
       CALL LES_MEAN_SUBGRID( ZA*ZFLX, X_LES_SUBGRID_RtThv, .TRUE. ) 
       CALL LES_MEAN_SUBGRID( -XG/PTHVREF/3.*ZA*ZFLX, X_LES_SUBGRID_RtPz,.TRUE.)
       CALL LES_MEAN_SUBGRID( -2.*XCTD*SQRT(PTKEM)*ZFLX/PLEPS, X_LES_SUBGRID_DISS_Rt2, .TRUE. )
diff --git a/src/MNH/turb_hor_thermo_flux.f90 b/src/MNH/turb_hor_thermo_flux.f90
index 188e932c6..c2983d6e2 100644
--- a/src/MNH/turb_hor_thermo_flux.f90
+++ b/src/MNH/turb_hor_thermo_flux.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -265,7 +265,7 @@ ZFLX(:,:,IKB-1:IKB-1) = 2. * MXM(  SPREAD( PSFTHM(:,:)* PDIRCOSXW(:,:), 3,1) )
 IF (.NOT. LFLAT) THEN
   PRTHLS(:,:,:) =  PRTHLS                                                   &
                 - DXF( MXM(PRHODJ) * ZFLX * PINV_PDXX )                          &
-                + DZF(1,IKU,1, PMZM_PRHODJ *MXF(PDZX*(MZM(1,IKU,1,ZFLX * PINV_PDXX))) * PINV_PDZZ )
+                + DZF( PMZM_PRHODJ *MXF(PDZX*(MZM(ZFLX * PINV_PDXX))) * PINV_PDZZ )
 ELSE
   PRTHLS(:,:,:) =  PRTHLS - DXF( MXM(PRHODJ) * ZFLX * PINV_PDXX )
 END IF
@@ -275,24 +275,24 @@ END IF
 IF ( KRRL >= 1 ) THEN
   IF (.NOT. LFLAT) THEN
     ZFLXC = 2.*( MXF( MXM( PRHODJ*PATHETA*PSRCM )*ZFLX )                       &
-                +MZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MXF(                         &
-                                               PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) ) )&
+                +MZF( MZM( PRHODJ*PATHETA*PSRCM )*MXF(                         &
+                                               PDZX*(MZM( ZFLX*PINV_PDXX )) ) )&
                )
     IF ( KRRI >= 1 ) THEN
       PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                    &
         (- DXF( MXM( PRHODJ*PATHETA*PSRCM )*ZFLX*PINV_PDXX )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MXF( PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) )&
+         + DZF( MZM( PRHODJ*PATHETA*PSRCM )*MXF( PDZX*(MZM( ZFLX*PINV_PDXX )) )&
                                            *PINV_PDZZ )                        &
         )*(1.0-PFRAC_ICE(:,:,:))
       PRRS(:,:,:,4) = PRRS(:,:,:,4) +  2. *                                    &
         (- DXF( MXM( PRHODJ*PATHETA*PSRCM )*ZFLX*PINV_PDXX )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MXF( PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) )&
+         + DZF( MZM( PRHODJ*PATHETA*PSRCM )*MXF( PDZX*(MZM( ZFLX*PINV_PDXX )) )&
                                            *PINV_PDZZ )                        &
         )*PFRAC_ICE(:,:,:)
     ELSE
       PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                    &
         (- DXF( MXM( PRHODJ*PATHETA*PSRCM )*ZFLX*PINV_PDXX )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MXF( PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) )&
+         + DZF( MZM( PRHODJ*PATHETA*PSRCM )*MXF( PDZX*(MZM( ZFLX*PINV_PDXX )) )&
                                            *PINV_PDZZ )                        &
         )
     END IF
@@ -331,7 +331,7 @@ END IF
 IF (KSPLT==1 .AND. LLES_CALL) THEN
   CALL SECOND_MNH(ZTIME1)
   CALL LES_MEAN_SUBGRID( MXF(ZFLX), X_LES_SUBGRID_UThl ) 
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MXF(GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)*MZM(1,IKU,1,ZFLX))),&
+  CALL LES_MEAN_SUBGRID( MZF(MXF(GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)*MZM(ZFLX))),&
                          X_LES_RES_ddxa_W_SBG_UaThl , .TRUE. )
   CALL LES_MEAN_SUBGRID( GX_M_M(1,IKU,1,PTHLM,PDXX,PDZZ,PDZX)*MXF(ZFLX),&
                          X_LES_RES_ddxa_Thl_SBG_UaThl , .TRUE. )
@@ -370,7 +370,7 @@ IF (KRR/=0) THEN
   IF (.NOT. LFLAT) THEN
     PRRS(:,:,:,1) = PRRS(:,:,:,1)                                             &
                   - DXF( MXM(PRHODJ) * ZFLX * PINV_PDXX )                          &
-                  + DZF(1,IKU,1, PMZM_PRHODJ *MXF(PDZX*(MZM(1,IKU,1,ZFLX * PINV_PDXX))) * PINV_PDZZ )
+                  + DZF( PMZM_PRHODJ *MXF(PDZX*(MZM(ZFLX * PINV_PDXX))) * PINV_PDZZ )
   ELSE
     PRRS(:,:,:,1) = PRRS(:,:,:,1) - DXF( MXM(PRHODJ) * ZFLX * PINV_PDXX )
   END IF
@@ -381,24 +381,24 @@ IF (KRR/=0) THEN
     IF (.NOT. LFLAT) THEN
       ZFLXC = ZFLXC            &
             + 2.*( MXF( MXM( PRHODJ*PAMOIST*PSRCM )*ZFLX )                     &
-                  +MZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MXF(                       &
-                                               PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) ) )&
+                  +MZF( MZM( PRHODJ*PAMOIST*PSRCM )*MXF(                       &
+                                               PDZX*(MZM( ZFLX*PINV_PDXX )) ) )&
                  )
       IF ( KRRI >= 1 ) THEN
         PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                  &
         (- DXF( MXM( PRHODJ*PAMOIST*PSRCM )*ZFLX*PINV_PDXX )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MXF( PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) )&
+         + DZF( MZM( PRHODJ*PAMOIST*PSRCM )*MXF( PDZX*(MZM( ZFLX*PINV_PDXX )) )&
                                            *PINV_PDZZ )                        &
         )*(1.0-PFRAC_ICE(:,:,:))
         PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                  &
         (- DXF( MXM( PRHODJ*PAMOIST*PSRCM )*ZFLX*PINV_PDXX )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MXF( PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) )&
+         + DZF( MZM( PRHODJ*PAMOIST*PSRCM )*MXF( PDZX*(MZM( ZFLX*PINV_PDXX )) )&
                                            *PINV_PDZZ )                        &
         )*PFRAC_ICE(:,:,:)
       ELSE
         PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                  &
         (- DXF( MXM( PRHODJ*PAMOIST*PSRCM )*ZFLX*PINV_PDXX )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MXF( PDZX*(MZM(1,IKU,1, ZFLX*PINV_PDXX )) )&
+         + DZF( MZM( PRHODJ*PAMOIST*PSRCM )*MXF( PDZX*(MZM( ZFLX*PINV_PDXX )) )&
                                            *PINV_PDZZ )                        &
         )
       END IF
@@ -434,7 +434,7 @@ IF (KRR/=0) THEN
   IF (KSPLT==1 .AND. LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
     CALL LES_MEAN_SUBGRID( MXF(ZFLX), X_LES_SUBGRID_URt ) 
-    CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MXF(GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)*MZM(1,IKU,1,ZFLX))),&
+    CALL LES_MEAN_SUBGRID( MZF(MXF(GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)*MZM(ZFLX))),&
                            X_LES_RES_ddxa_W_SBG_UaRt , .TRUE. )
     CALL LES_MEAN_SUBGRID( GX_M_M(1,IKU,1,PTHLM,PDXX,PDZZ,PDZX)*MXF(ZFLX),&
                            X_LES_RES_ddxa_Thl_SBG_UaRt , .TRUE. )
@@ -518,7 +518,7 @@ IF (.NOT. L2D) THEN
   IF (.NOT. LFLAT) THEN
     PRTHLS(:,:,:) =  PRTHLS                                                         &
                   - DYF( MYM(PRHODJ) * ZFLX * PINV_PDYY )                           &
-                  + DZF(1,IKU,1, PMZM_PRHODJ *MYF(PDZY*(MZM(1,IKU,1,ZFLX * PINV_PDYY))) * PINV_PDZZ )
+                  + DZF( PMZM_PRHODJ *MYF(PDZY*(MZM(ZFLX * PINV_PDYY))) * PINV_PDZZ )
   ELSE
     PRTHLS(:,:,:) =  PRTHLS - DYF( MYM(PRHODJ) * ZFLX * PINV_PDYY )
   END IF
@@ -530,24 +530,24 @@ END IF
 IF ( KRRL >= 1 .AND. .NOT. L2D) THEN
   IF (.NOT. LFLAT) THEN
     ZFLXC = 2.*( MYF( MYM( PRHODJ*PATHETA*PSRCM )*ZFLX )                       &
-                +MZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MYF(                         &
-                                               PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) ) )&
+                +MZF( MZM( PRHODJ*PATHETA*PSRCM )*MYF(                         &
+                                               PDZY*(MZM( ZFLX*PINV_PDYY )) ) )&
                )
     IF ( KRRI >= 1 ) THEN
       PRRS(:,:,:,2) = PRRS(:,:,:,2) + 2. *                                     &
         (- DYF( MYM( PRHODJ*PATHETA*PSRCM )*ZFLX*PINV_PDYY )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MYF( PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) )&
+         + DZF( MZM( PRHODJ*PATHETA*PSRCM )*MYF( PDZY*(MZM( ZFLX*PINV_PDYY )) )&
                                            *PINV_PDZZ )                        &
         )*(1.0-PFRAC_ICE(:,:,:))
       PRRS(:,:,:,4) = PRRS(:,:,:,4) + 2. *                                     &
         (- DYF( MYM( PRHODJ*PATHETA*PSRCM )*ZFLX*PINV_PDYY )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MYF( PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) )&
+         + DZF( MZM( PRHODJ*PATHETA*PSRCM )*MYF( PDZY*(MZM( ZFLX*PINV_PDYY )) )&
                                            *PINV_PDZZ )                        &
         )*PFRAC_ICE(:,:,:)
     ELSE
       PRRS(:,:,:,2) = PRRS(:,:,:,2) + 2. *                                     &
         (- DYF( MYM( PRHODJ*PATHETA*PSRCM )*ZFLX*PINV_PDYY )                   &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PATHETA*PSRCM )*MYF( PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) )&
+         + DZF( MZM( PRHODJ*PATHETA*PSRCM )*MYF( PDZY*(MZM( ZFLX*PINV_PDYY )) )&
                                            *PINV_PDZZ )                        &
         )
     END IF
@@ -586,7 +586,7 @@ END IF
 IF (KSPLT==1 .AND. LLES_CALL) THEN
   CALL SECOND_MNH(ZTIME1)
   CALL LES_MEAN_SUBGRID( MYF(ZFLX), X_LES_SUBGRID_VThl ) 
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*MZM(1,IKU,1,ZFLX))),&
+  CALL LES_MEAN_SUBGRID( MZF(MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*MZM(ZFLX))),&
                          X_LES_RES_ddxa_W_SBG_UaThl , .TRUE. )
   CALL LES_MEAN_SUBGRID( GY_M_M(1,IKU,1,PTHLM,PDYY,PDZZ,PDZY)*MYF(ZFLX),&
                          X_LES_RES_ddxa_Thl_SBG_UaThl , .TRUE. )
@@ -633,7 +633,7 @@ IF (KRR/=0) THEN
       PRRS(:,:,:,1) = PRRS(:,:,:,1)                                              &
                     - DYF( MYM(PRHODJ) * ZFLX * PINV_PDYY )                           &
 
-                    + DZF(1,IKU,1, PMZM_PRHODJ *MYF(PDZY*(MZM(1,IKU,1,ZFLX * PINV_PDYY))) * PINV_PDZZ )
+                    + DZF( PMZM_PRHODJ *MYF(PDZY*(MZM(ZFLX * PINV_PDYY))) * PINV_PDZZ )
     ELSE
       PRRS(:,:,:,1) = PRRS(:,:,:,1) - DYF( MYM(PRHODJ) * ZFLX * PINV_PDYY )
     END IF
@@ -645,24 +645,24 @@ IF (KRR/=0) THEN
     IF (.NOT. LFLAT) THEN
       ZFLXC = ZFLXC            &
             + 2.*( MXF( MYM( PRHODJ*PAMOIST*PSRCM )*ZFLX )                     &
-                +  MZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MYF(                       &
-                                               PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) ) )&
+                +  MZF( MZM( PRHODJ*PAMOIST*PSRCM )*MYF(                       &
+                                               PDZY*(MZM( ZFLX*PINV_PDYY )) ) )&
                  )
       IF ( KRRI >= 1 ) THEN
         PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                  &
         (- DYF( MYM( PRHODJ*PAMOIST*PSRCM )*ZFLX/PDYY )                        &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MYF( PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) )&
+         + DZF( MZM( PRHODJ*PAMOIST*PSRCM )*MYF( PDZY*(MZM( ZFLX*PINV_PDYY )) )&
                                            * PINV_PDZZ )                       &
         )*(1.0-PFRAC_ICE(:,:,:))
         PRRS(:,:,:,4) = PRRS(:,:,:,4) +  2. *                                  &
         (- DYF( MYM( PRHODJ*PAMOIST*PSRCM )*ZFLX/PDYY )                        &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MYF( PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) )&
+         + DZF( MZM( PRHODJ*PAMOIST*PSRCM )*MYF( PDZY*(MZM( ZFLX*PINV_PDYY )) )&
                                            * PINV_PDZZ )                       &
         )*PFRAC_ICE(:,:,:)
       ELSE
         PRRS(:,:,:,2) = PRRS(:,:,:,2) +  2. *                                  &
         (- DYF( MYM( PRHODJ*PAMOIST*PSRCM )*ZFLX/PDYY )                        &
-         + DZF(1,IKU,1, MZM(1,IKU,1, PRHODJ*PAMOIST*PSRCM )*MYF( PDZY*(MZM(1,IKU,1, ZFLX*PINV_PDYY )) )&
+         + DZF( MZM( PRHODJ*PAMOIST*PSRCM )*MYF( PDZY*(MZM( ZFLX*PINV_PDYY )) )&
                                            * PINV_PDZZ )                       &
         )
       END IF
@@ -698,7 +698,7 @@ IF (KRR/=0) THEN
   IF (KSPLT==1 .AND. LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
     CALL LES_MEAN_SUBGRID( MYF(ZFLX), X_LES_SUBGRID_VRt ) 
-    CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*MZM(1,IKU,1,ZFLX))),&
+    CALL LES_MEAN_SUBGRID( MZF(MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*MZM(ZFLX))),&
                            X_LES_RES_ddxa_W_SBG_UaRt , .TRUE. )
     CALL LES_MEAN_SUBGRID( GY_M_M(1,IKU,1,PTHLM,PDYY,PDZZ,PDZY)*MYF(ZFLX), &
                            X_LES_RES_ddxa_Thl_SBG_UaRt , .TRUE. )
diff --git a/src/MNH/turb_hor_tke.f90 b/src/MNH/turb_hor_tke.f90
index 24ad7f953..ec8e9e2b6 100644
--- a/src/MNH/turb_hor_tke.f90
+++ b/src/MNH/turb_hor_tke.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 turb 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !    ####################  
      MODULE MODI_TURB_HOR_TKE
 !    ####################  
@@ -183,7 +178,7 @@ ZFLX(:,:,IKU) =  ZFLX(:,:,IKU-1)
 !
 IF (.NOT. LFLAT) THEN
   PTRH =-(  DXF( MXM(PRHODJ) * ZFLX                             * PINV_PDXX)&
-          - DZF(1,IKU,1, PMZM_PRHODJ * MXF( PDZX * MZM(1,IKU,1,ZFLX*PINV_PDXX)) * PINV_PDZZ)&
+          - DZF( PMZM_PRHODJ * MXF( PDZX * MZM(ZFLX*PINV_PDXX)) * PINV_PDZZ)&
          ) /PRHODJ
 ELSE
   PTRH =-(  DXF( MXM(PRHODJ) * ZFLX                             * PINV_PDXX)&
@@ -230,7 +225,7 @@ IF (.NOT. L2D) THEN
 !
   IF (.NOT. LFLAT) THEN
     PTRH = PTRH - (  DYF( MYM(PRHODJ) * ZFLX                              * PINV_PDYY )  &
-                   - DZF(1,IKU,1, PMZM_PRHODJ * MYF( PDZY * MZM(1,IKU,1,ZFLX*PINV_PDYY) ) * PINV_PDZZ )  &
+                   - DZF( PMZM_PRHODJ * MYF( PDZY * MZM(ZFLX*PINV_PDYY) ) * PINV_PDZZ )  &
                   ) /PRHODJ
   ELSE
     PTRH = PTRH - (  DYF( MYM(PRHODJ) * ZFLX                              * PINV_PDYY )  &
diff --git a/src/MNH/turb_hor_uv.f90 b/src/MNH/turb_hor_uv.f90
index 70210144d..e73d5bfdf 100644
--- a/src/MNH/turb_hor_uv.f90
+++ b/src/MNH/turb_hor_uv.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -294,7 +294,7 @@ END IF
 IF (.NOT. LFLAT) THEN
   PRUS(:,:,:) = PRUS(:,:,:)                                &
               - DYF(ZFLX * MXM(MYM(PRHODJ) * PINV_PDYY) )         &
-              + DZF(1,IKU,1, MYF( MZM(1,IKU,1,ZFLX)*MXM(PDZY/MZM(1,IKU,1,PDYY)))   &
+              + DZF( MYF( MZM(ZFLX)*MXM(PDZY/MZM(PDYY)))   &
                     * MXM(PMZM_PRHODJ * PINV_PDZZ) )
 ELSE
   PRUS(:,:,:) = PRUS(:,:,:) - DYF(ZFLX * MXM(MYM(PRHODJ) * PINV_PDYY) )
@@ -304,7 +304,7 @@ END IF
 IF (.NOT. LFLAT) THEN
   PRVS(:,:,:) = PRVS(:,:,:)                             &
                 - DXF(ZFLX * MYM(MXM(PRHODJ) * PINV_PDXX) )    &
-                + DZF(1,IKU,1, MXF( MZM(1,IKU,1,ZFLX)*MYM(PDZX/MZM(1,IKU,1,PDXX))) & 
+                + DZF( MXF( MZM(ZFLX)*MYM(PDZX/MZM(PDXX))) &
                       * MYM(PMZM_PRHODJ * PINV_PDZZ) )
 ELSE
   PRVS(:,:,:) = PRVS(:,:,:) - DXF(ZFLX * MYM(MXM(PRHODJ) * PINV_PDXX) )
diff --git a/src/MNH/turb_hor_uw.f90 b/src/MNH/turb_hor_uw.f90
index 8860fdfd5..2631fe365 100644
--- a/src/MNH/turb_hor_uw.f90
+++ b/src/MNH/turb_hor_uw.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -211,7 +211,7 @@ GX_W_UW_PWM = GX_W_UW(1,IKU,1,PWM,PDXX,PDZZ,PDZX)
 ! residual part of < U'W'> depending on dw/dx
 !
 ZFLX(:,:,:) =                                                      &
-  - XCMFS * MXM(MZM(1,IKU,1,PK)) * GX_W_UW_PWM
+  - XCMFS * MXM(MZM(PK)) * GX_W_UW_PWM
 !!         &  to be tested
 !!  - (2./3.) * XCMFB * MZM( ZVPTU * MXM( PLM / SQRT(PTKEM) * XG / PTHVREF ) )
 !
@@ -240,22 +240,22 @@ END IF
 !
 ! compute the source for rho*U due to this residual flux ( the other part is
 ! taken into account in TURB_VER)
-PRUS(:,:,:) = PRUS(:,:,:) - DZF(1,IKU,1, ZFLX* MXM( PMZM_PRHODJ ) / MXM( PDZZ ) )
+PRUS(:,:,:) = PRUS(:,:,:) - DZF( ZFLX* MXM( PMZM_PRHODJ ) / MXM( PDZZ ) )
 !
 !computation of the source for rho*W due to this flux
 IF (.NOT. LFLAT) THEN
   PRWS(:,:,:) = PRWS(:,:,:)                              &
-        -DXF( MZM(1,IKU,1, MXM(PRHODJ) * PINV_PDXX) * ZFLX)           &
-        +DZM(1,IKU,1, PRHODJ * MXF( MZF(1,IKU,1, ZFLX*PDZX ) * PINV_PDXX ) / MZF(1,IKU,1,PDZZ) )
+        -DXF( MZM( MXM(PRHODJ) * PINV_PDXX) * ZFLX)           &
+        +DZM( PRHODJ * MXF( MZF( ZFLX*PDZX ) * PINV_PDXX ) / MZF(PDZZ) )
 ELSE
-  PRWS(:,:,:) = PRWS(:,:,:) -DXF( MZM(1,IKU,1, MXM(PRHODJ) * PINV_PDXX) * ZFLX)
+  PRWS(:,:,:) = PRWS(:,:,:) -DXF( MZM( MXM(PRHODJ) * PINV_PDXX) * ZFLX)
 END IF
 ! 
 IF (KSPLT==1) THEN
   !
   !Contribution to the dynamic production of TKE:
   !
-  ZWORK(:,:,:) =-MZF(1,IKU,1, MXF(                               &
+  ZWORK(:,:,:) =-MZF( MXF(                               &
      ZFLX *( GZ_U_UW(1,IKU,1,PUM,PDZZ) + GX_W_UW_PWM ) ) )
   !
   !
@@ -282,17 +282,17 @@ END IF
 !
 IF (LLES_CALL .AND. KSPLT==1) THEN
   CALL SECOND_MNH(ZTIME1)
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MXF(ZFLX)), X_LES_SUBGRID_WU , .TRUE. ) 
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MXF(GZ_U_UW(1,IKU,1,PUM,PDZZ)*ZFLX)), X_LES_RES_ddxa_U_SBG_UaU , .TRUE.)
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MXF(GX_W_UW_PWM*ZFLX)), X_LES_RES_ddxa_W_SBG_UaW , .TRUE.)
-  CALL LES_MEAN_SUBGRID( MXF(GX_M_U(1,IKU,1,PTHLM,PDXX,PDZZ,PDZX)*MZF(1,IKU,1,ZFLX)),&
+  CALL LES_MEAN_SUBGRID( MZF(MXF(ZFLX)), X_LES_SUBGRID_WU , .TRUE. )
+  CALL LES_MEAN_SUBGRID( MZF(MXF(GZ_U_UW(1,IKU,1,PUM,PDZZ)*ZFLX)), X_LES_RES_ddxa_U_SBG_UaU , .TRUE.)
+  CALL LES_MEAN_SUBGRID( MZF(MXF(GX_W_UW_PWM*ZFLX)), X_LES_RES_ddxa_W_SBG_UaW , .TRUE.)
+  CALL LES_MEAN_SUBGRID( MXF(GX_M_U(1,IKU,1,PTHLM,PDXX,PDZZ,PDZX)*MZF(ZFLX)),&
                          X_LES_RES_ddxa_Thl_SBG_UaW , .TRUE.)
   IF (KRR>=1) THEN
-    CALL LES_MEAN_SUBGRID( MXF(GX_M_U(1,IKU,1,PRM(:,:,:,1),PDXX,PDZZ,PDZX)*MZF(1,IKU,1,ZFLX)), &
+    CALL LES_MEAN_SUBGRID( MXF(GX_M_U(1,IKU,1,PRM(:,:,:,1),PDXX,PDZZ,PDZX)*MZF(ZFLX)), &
                            X_LES_RES_ddxa_Rt_SBG_UaW , .TRUE.)
   END IF
   DO JSV=1,NSV
-    CALL LES_MEAN_SUBGRID( MXF(GX_M_U(1,IKU,1,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*MZF(1,IKU,1,ZFLX)), &
+    CALL LES_MEAN_SUBGRID( MXF(GX_M_U(1,IKU,1,PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX)*MZF(ZFLX)), &
                            X_LES_RES_ddxa_Sv_SBG_UaW(:,:,:,JSV) , .TRUE.)
   END DO
   CALL SECOND_MNH(ZTIME2)
diff --git a/src/MNH/turb_hor_vw.f90 b/src/MNH/turb_hor_vw.f90
index a730e736f..f8354f58f 100644
--- a/src/MNH/turb_hor_vw.f90
+++ b/src/MNH/turb_hor_vw.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -207,7 +207,7 @@ IF (.NOT. L2D) GY_W_VW_PWM = GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)
 !
 IF (.NOT. L2D) THEN
   ZFLX(:,:,:) =                                                      &
-    - XCMFS * MYM(MZM(1,IKU,1,PK)) * GY_W_VW_PWM
+    - XCMFS * MYM(MZM(PK)) * GY_W_VW_PWM
   !! &  to be tested
   !!  - (2./3.) * XCMFB * MZM( ZVPTV * MYM( PLM / SQRT(PTKEM) * XG / PTHVREF ) )
 ELSE
@@ -242,16 +242,16 @@ END IF
 ! compute the source for rho*V due to this residual flux ( the other part is
 ! taken into account in TURB_VER)
 IF (.NOT. L2D) &
-PRVS(:,:,:) = PRVS(:,:,:) - DZF(1,IKU,1, ZFLX* MYM( PMZM_PRHODJ ) / MYM ( PDZZ ) )
+PRVS(:,:,:) = PRVS(:,:,:) - DZF( ZFLX* MYM( PMZM_PRHODJ ) / MYM ( PDZZ ) )
 !
 !computation of the source for rho*W due to this flux
 IF (.NOT. L2D) THEN 
   IF (.NOT. LFLAT) THEN
     PRWS(:,:,:) = PRWS(:,:,:)                              &
-          -DYF( MZM(1,IKU,1, MYM(PRHODJ) * PINV_PDYY) * ZFLX)           &
-          +DZM(1,IKU,1, PRHODJ * MYF( MZF(1,IKU,1, ZFLX*PDZY ) * PINV_PDYY ) / MZF(1,IKU,1,PDZZ) )
+          -DYF( MZM( MYM(PRHODJ) * PINV_PDYY) * ZFLX)           &
+          +DZM( PRHODJ * MYF( MZF( ZFLX*PDZY ) * PINV_PDYY ) / MZF(PDZZ) )
   ELSE
-    PRWS(:,:,:) = PRWS(:,:,:) - DYF( MZM(1,IKU,1, MYM(PRHODJ) * PINV_PDYY) * ZFLX)
+    PRWS(:,:,:) = PRWS(:,:,:) - DYF( MZM( MYM(PRHODJ) * PINV_PDYY) * ZFLX)
   END IF
 END IF
 !
@@ -260,7 +260,7 @@ IF (KSPLT==1) THEN
   !Contribution to the dynamic production of TKE:
   !
   IF (.NOT. L2D) THEN
-    ZWORK(:,:,:) =-MZF(1,IKU,1, MYF( ZFLX *( GZ_V_VW(1,IKU,1,PVM,PDZZ) + GY_W_VW_PWM ) ) )
+    ZWORK(:,:,:) =-MZF( MYF( ZFLX *( GZ_V_VW(1,IKU,1,PVM,PDZZ) + GY_W_VW_PWM ) ) )
   !
   !
   ! evaluate the dynamic production at w(IKB+1) in PDP(IKB)
@@ -287,19 +287,19 @@ END IF
 !
 IF (LLES_CALL .AND. KSPLT==1) THEN
   CALL SECOND_MNH(ZTIME1)
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MYF(ZFLX)), X_LES_SUBGRID_WV , .TRUE. ) 
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MYF(GZ_V_VW(1,IKU,1,PVM,PDZZ)*ZFLX)),&
+  CALL LES_MEAN_SUBGRID( MZF(MYF(ZFLX)), X_LES_SUBGRID_WV , .TRUE. )
+  CALL LES_MEAN_SUBGRID( MZF(MYF(GZ_V_VW(1,IKU,1,PVM,PDZZ)*ZFLX)),&
                          X_LES_RES_ddxa_V_SBG_UaV , .TRUE.)
-  CALL LES_MEAN_SUBGRID( MZF(1,IKU,1,MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*ZFLX)),&
+  CALL LES_MEAN_SUBGRID( MZF(MYF(GY_W_VW(1,IKU,1,PWM,PDYY,PDZZ,PDZY)*ZFLX)),&
                          X_LES_RES_ddxa_W_SBG_UaW , .TRUE.)
-  CALL LES_MEAN_SUBGRID( MXF(GY_M_V(1,IKU,1,PTHLM,PDYY,PDZZ,PDZY)*MZF(1,IKU,1,ZFLX)),&
+  CALL LES_MEAN_SUBGRID( MXF(GY_M_V(1,IKU,1,PTHLM,PDYY,PDZZ,PDZY)*MZF(ZFLX)),&
                          X_LES_RES_ddxa_Thl_SBG_UaW , .TRUE.)
   IF (KRR>=1) THEN
-    CALL LES_MEAN_SUBGRID( MXF(GY_M_V(1,IKU,1,PRM(:,:,:,1),PDYY,PDZZ,PDZY)*MZF(1,IKU,1,ZFLX)), &
+    CALL LES_MEAN_SUBGRID( MXF(GY_M_V(1,IKU,1,PRM(:,:,:,1),PDYY,PDZZ,PDZY)*MZF(ZFLX)), &
                            X_LES_RES_ddxa_Rt_SBG_UaW , .TRUE.)
   END IF
   DO JSV=1,NSV
-    CALL LES_MEAN_SUBGRID( MXF(GY_M_V(1,IKU,1,PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY)*MZF(1,IKU,1,ZFLX)), &
+    CALL LES_MEAN_SUBGRID( MXF(GY_M_V(1,IKU,1,PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY)*MZF(ZFLX)), &
                            X_LES_RES_ddxa_Sv_SBG_UaW(:,:,:,JSV), .TRUE.)
   END DO
   CALL SECOND_MNH(ZTIME2)
diff --git a/src/MNH/turb_ver.f90 b/src/MNH/turb_ver.f90
index fcde4fe3c..1a7b33ed0 100644
--- a/src/MNH/turb_ver.f90
+++ b/src/MNH/turb_ver.f90
@@ -225,13 +225,7 @@ END MODULE MODI_TURB_VER
 !!                               field to be derivated
 !!                               _(M,UW,...) represent the localization of the 
 !!                               field	derivated
-!!                               
 !!
-!!      MXM,MXF,MYM,MYF,MZM,MZF
-!!                             :  Shuman functions (mean operators)     
-!!      DXF,DYF,DZF,DZM
-!!                             :  Shuman functions (difference operators)     
-!!                               
 !!      SUBROUTINE TRIDIAG     : to compute the splitted implicit evolution
 !!                               of a variable located at a mass point
 !!
diff --git a/src/MNH/turb_ver_dyn_flux.f90 b/src/MNH/turb_ver_dyn_flux.f90
index 267bd058d..58b0edcf1 100644
--- a/src/MNH/turb_ver_dyn_flux.f90
+++ b/src/MNH/turb_ver_dyn_flux.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -428,7 +428,7 @@ ZDIRSINZW(:,:) = SQRT(1.-PDIRCOSZW(:,:)**2)
 !  compute the coefficients for the uncentred gradient computation near the 
 !  ground
 !
-ZKEFF(:,:,:) = MZM(KKA,KKU,KKL, PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
+ZKEFF(:,:,:) = MZM( PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
 !
 ZUSLOPEM(:,:,1)=PUSLOPEM(:,:)
 ZVSLOPEM(:,:,1)=PVSLOPEM(:,:)
@@ -444,7 +444,7 @@ ZVSLOPEM(:,:,1)=PVSLOPEM(:,:)
 ! Preparation of the arguments for TRIDIAG_WIND 
 !
 ZA(:,:,:)    = -PTSTEP * XCMFS *                              &
-              MXM( ZKEFF ) * MXM(MZM(KKA,KKU,KKL, PRHODJ )) / &
+              MXM( ZKEFF ) * MXM(MZM( PRHODJ )) / &
               MXM( PDZZ )**2
 !
 !
@@ -498,7 +498,7 @@ PRUS(:,:,:)=PRUS(:,:,:)+MXM(PRHODJ(:,:,:))*(ZRES(:,:,:)-PUM(:,:,:))/PTSTEP
 ! vertical flux of the U wind component
 !
 ZFLXZ(:,:,:)     = -XCMFS * MXM(ZKEFF) * &
-                  DZM (KKA,KKU,KKL,PIMPL*ZRES + PEXPL*PUM) / MXM(PDZZ)
+                  DZM (PIMPL*ZRES + PEXPL*PUM) / MXM(PDZZ)
 !
 ! surface flux 
 ZFLXZ(:,:,IKB:IKB)   =   MXM(PDZZ(:,:,IKB:IKB))  *                &
@@ -531,7 +531,7 @@ PWU(:,:,:) = ZFLXZ(:,:,:)
 ! Contribution to the dynamic production of TKE
 ! compute the dynamic production at the mass point
 !
-PDP(:,:,:) = - MZF(KKA,KKU,KKL, MXF ( ZFLXZ * GZ_U_UW(KKA,KKU,KKL,PUM,PDZZ) )  )
+PDP(:,:,:) = - MZF( MXF ( ZFLXZ * GZ_U_UW(KKA,KKU,KKL,PUM,PDZZ) )  )
 !
 ! evaluate the dynamic production at w(IKB+KKL) in PDP(IKB)
 PDP(:,:,IKB:IKB) = - MXF (                                                      &
@@ -543,8 +543,8 @@ PDP(:,:,IKB:IKB) = - MXF (
 ! 
 IF (LLES_CALL) THEN
   CALL SECOND_MNH(ZTIME1)
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MXF(ZFLXZ)), X_LES_SUBGRID_WU ) 
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MXF(GZ_U_UW(KKA,KKU,KKL,PUM,PDZZ) &
+  CALL LES_MEAN_SUBGRID( MZF(MXF(ZFLXZ)), X_LES_SUBGRID_WU )
+  CALL LES_MEAN_SUBGRID( MZF(MXF(GZ_U_UW(KKA,KKU,KKL,PUM,PDZZ) &
                           & *ZFLXZ)), X_LES_RES_ddxa_U_SBG_UaU )
   CALL LES_MEAN_SUBGRID( XCMFS * ZKEFF, X_LES_SUBGRID_Km )
   CALL SECOND_MNH(ZTIME2)
@@ -561,17 +561,17 @@ IF(HTURBDIM=='3DIM') THEN
   !
   IF (.NOT. LFLAT) THEN
     PRWS(:,:,:)= PRWS                                      &
-                -DXF( MZM(KKA,KKU,KKL, MXM(PRHODJ) /PDXX )  * ZFLXZ )  &
-                +DZM(KKA,KKU,KKL, PRHODJ / MZF(KKA,KKU,KKL,PDZZ ) *                &
-                      MXF( MZF(KKA,KKU,KKL, ZFLXZ*PDZX ) / PDXX )      &
+                -DXF( MZM( MXM(PRHODJ) /PDXX )  * ZFLXZ )  &
+                +DZM( PRHODJ / MZF(PDZZ ) *                &
+                      MXF( MZF( ZFLXZ*PDZX ) / PDXX )      &
                     )
   ELSE
-    PRWS(:,:,:)= PRWS -DXF( MZM(KKA,KKU,KKL, MXM(PRHODJ) /PDXX )  * ZFLXZ )
+    PRWS(:,:,:)= PRWS -DXF( MZM( MXM(PRHODJ) /PDXX )  * ZFLXZ )
   END IF
   !
   ! Complete the Dynamical production with the W wind component 
   !
-  ZA(:,:,:)=-MZF(KKA,KKU,KKL, MXF ( ZFLXZ * GX_W_UW(KKA,KKU,KKL, PWM,PDXX,PDZZ,PDZX) )  )
+  ZA(:,:,:)=-MZF( MXF ( ZFLXZ * GX_W_UW(KKA,KKU,KKL, PWM,PDXX,PDZZ,PDZX) )  )
   !
   !
   ! evaluate the dynamic production at w(IKB+KKL) in PDP(IKB)
@@ -593,17 +593,17 @@ IF(HTURBDIM=='3DIM') THEN
   ! 
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MXF(GX_W_UW(KKA,KKU,KKL,PWM,PDXX,&
+    CALL LES_MEAN_SUBGRID( MZF(MXF(GX_W_UW(KKA,KKU,KKL,PWM,PDXX,&
       PDZZ,PDZX)*ZFLXZ)), X_LES_RES_ddxa_W_SBG_UaW )
     CALL LES_MEAN_SUBGRID( MXF(GX_M_U(KKA,KKU,KKL,PTHLM,PDXX,PDZZ,PDZX)&
-      * MZF(KKA,KKU,KKL,ZFLXZ)), X_LES_RES_ddxa_Thl_SBG_UaW )
+      * MZF(ZFLXZ)), X_LES_RES_ddxa_Thl_SBG_UaW )
     IF (KRR>=1) THEN
       CALL LES_MEAN_SUBGRID(MXF(GX_U_M(KKA,KKU,KKL,PRM(:,:,:,1),PDXX,PDZZ,PDZX)&
-      *MZF(KKA,KKU,KKL,ZFLXZ)),X_LES_RES_ddxa_Rt_SBG_UaW )
+      *MZF(ZFLXZ)),X_LES_RES_ddxa_Rt_SBG_UaW )
     END IF
     DO JSV=1,NSV
       CALL LES_MEAN_SUBGRID( MXF(GX_U_M(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDXX,PDZZ,&
-      PDZX)*MZF(KKA,KKU,KKL,ZFLXZ)),X_LES_RES_ddxa_Sv_SBG_UaW(:,:,:,JSV) )
+      PDZX)*MZF(ZFLXZ)),X_LES_RES_ddxa_Sv_SBG_UaW(:,:,:,JSV) )
     END DO
     CALL SECOND_MNH(ZTIME2)
     XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
@@ -621,7 +621,7 @@ END IF
 ! Preparation of the arguments for TRIDIAG_WIND
 !!
 ZA(:,:,:)    = - PTSTEP * XCMFS *                              &
-              MYM( ZKEFF ) * MYM(MZM(KKA,KKU,KKL, PRHODJ )) /  &
+              MYM( ZKEFF ) * MYM(MZM( PRHODJ )) /  &
               MYM( PDZZ )**2
 !
 !
@@ -673,7 +673,7 @@ PRVS(:,:,:)=PRVS(:,:,:)+MYM(PRHODJ(:,:,:))*(ZRES(:,:,:)-PVM(:,:,:))/PTSTEP
 !  vertical flux of the V wind component
 !
 ZFLXZ(:,:,:)   = -XCMFS * MYM(ZKEFF) * &
-                DZM(KKA,KKU,KKL, PIMPL*ZRES + PEXPL*PVM ) / MYM(PDZZ)
+                DZM( PIMPL*ZRES + PEXPL*PVM ) / MYM(PDZZ)
 !
 ZFLXZ(:,:,IKB:IKB)   =   MYM(PDZZ(:,:,IKB:IKB))  *                       &
   ( ZSOURCE(:,:,IKB:IKB)                                                 &
@@ -705,7 +705,7 @@ PWV(:,:,:) = ZFLXZ(:,:,:)
 !  Contribution to the dynamic production of TKE
 ! compute the dynamic production contribution at the mass point
 !
-ZA(:,:,:) = - MZF(KKA,KKU,KKL, MYF ( ZFLXZ * GZ_V_VW(KKA,KKU,KKL,PVM,PDZZ) ) )
+ZA(:,:,:) = - MZF( MYF ( ZFLXZ * GZ_V_VW(KKA,KKU,KKL,PVM,PDZZ) ) )
 !
 ! evaluate the dynamic production at w(IKB+KKL) in PDP(IKB)
 ZA(:,:,IKB:IKB)  =                                                 &
@@ -720,8 +720,8 @@ PDP(:,:,:)=PDP(:,:,:)+ZA(:,:,:)
 !
 IF (LLES_CALL) THEN
   CALL SECOND_MNH(ZTIME1)
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MYF(ZFLXZ)), X_LES_SUBGRID_WV ) 
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MYF(GZ_V_VW(KKA,KKU,KKL,PVM,PDZZ)*&
+  CALL LES_MEAN_SUBGRID( MZF(MYF(ZFLXZ)), X_LES_SUBGRID_WV )
+  CALL LES_MEAN_SUBGRID( MZF(MYF(GZ_V_VW(KKA,KKU,KKL,PVM,PDZZ)*&
                     & ZFLXZ)), X_LES_RES_ddxa_V_SBG_UaV )
   CALL SECOND_MNH(ZTIME2)
   XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
@@ -737,18 +737,18 @@ IF(HTURBDIM=='3DIM') THEN
   IF (.NOT. L2D) THEN 
     IF (.NOT. LFLAT) THEN
       PRWS(:,:,:)= PRWS(:,:,:)                               &
-                  -DYF( MZM(KKA,KKU,KKL, MYM(PRHODJ) /PDYY ) * ZFLXZ )   &
-                  +DZM(KKA,KKU,KKL, PRHODJ / MZF(KKA,KKU,KKL,PDZZ ) *                &
-                        MYF( MZF(KKA,KKU,KKL, ZFLXZ*PDZY ) / PDYY )      &
+                  -DYF( MZM( MYM(PRHODJ) /PDYY ) * ZFLXZ )   &
+                  +DZM( PRHODJ / MZF(PDZZ ) *                &
+                        MYF( MZF( ZFLXZ*PDZY ) / PDYY )      &
                       )
     ELSE
-      PRWS(:,:,:)= PRWS(:,:,:) -DYF( MZM(KKA,KKU,KKL, MYM(PRHODJ) /PDYY ) * ZFLXZ )
+      PRWS(:,:,:)= PRWS(:,:,:) -DYF( MZM( MYM(PRHODJ) /PDYY ) * ZFLXZ )
     END IF
   END IF
   ! 
   ! Complete the Dynamical production with the W wind component 
   IF (.NOT. L2D) THEN
-    ZA(:,:,:) = - MZF(KKA,KKU,KKL, MYF ( ZFLXZ * GY_W_VW(KKA,KKU,KKL, PWM,PDYY,PDZZ,PDZY) )  )
+    ZA(:,:,:) = - MZF( MYF ( ZFLXZ * GY_W_VW(KKA,KKU,KKL, PWM,PDYY,PDZZ,PDZY) )  )
   !
   ! evaluate the dynamic production at w(IKB+KKL) in PDP(IKB)
     ZA(:,:,IKB:IKB) = - MYF (                                              &
@@ -771,13 +771,13 @@ IF(HTURBDIM=='3DIM') THEN
   !
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MYF(GY_W_VW(KKA,KKU,KKL,PWM,PDYY,&
+    CALL LES_MEAN_SUBGRID( MZF(MYF(GY_W_VW(KKA,KKU,KKL,PWM,PDYY,&
     PDZZ,PDZY)*ZFLXZ)), X_LES_RES_ddxa_W_SBG_UaW , .TRUE. )
     CALL LES_MEAN_SUBGRID( MYF(GY_M_V(KKA,KKU,KKL,PTHLM,PDYY,PDZZ,PDZY)&
-    *MZF(KKA,KKU,KKL,ZFLXZ)), X_LES_RES_ddxa_Thl_SBG_UaW , .TRUE. )
+    *MZF(ZFLXZ)), X_LES_RES_ddxa_Thl_SBG_UaW , .TRUE. )
     IF (KRR>=1) THEN
       CALL LES_MEAN_SUBGRID( MYF(GY_V_M(KKA,KKU,KKL,PRM(:,:,:,1),PDYY,PDZZ,&
-      PDZY)*MZF(KKA,KKU,KKL,ZFLXZ)),X_LES_RES_ddxa_Rt_SBG_UaW , .TRUE. )
+      PDZY)*MZF(ZFLXZ)),X_LES_RES_ddxa_Rt_SBG_UaW , .TRUE. )
     END IF
     CALL SECOND_MNH(ZTIME2)
     XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
diff --git a/src/MNH/turb_ver_sv_corr.f90 b/src/MNH/turb_ver_sv_corr.f90
index 280f94392..b62268e7e 100644
--- a/src/MNH/turb_ver_sv_corr.f90
+++ b/src/MNH/turb_ver_sv_corr.f90
@@ -1,13 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 turb 2006/05/18 13:07:25
-!-----------------------------------------------------------------
 !    #################### 
      MODULE MODI_TURB_VER_SV_CORR
 !    ####################
@@ -191,9 +186,9 @@ DO JSV=1,NSV
   IF (LLES_CALL) THEN
     ! approximation: diagnosed explicitely (without implicit term)
     ZFLXZ(:,:,:) =  PPSI_SV(:,:,:,JSV)*GZ_M_W(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDZZ)**2
-    ZFLXZ(:,:,:) = ZCSV / ZCSVD * PLM * PLEPS * MZF(KKA,KKU,KKL,ZFLXZ(:,:,:) )
+    ZFLXZ(:,:,:) = ZCSV / ZCSVD * PLM * PLEPS * MZF(ZFLXZ(:,:,:) )
     CALL LES_MEAN_SUBGRID( -2.*ZCSVD*SQRT(PTKEM)*ZFLXZ/PLEPS, X_LES_SUBGRID_DISS_Sv2(:,:,:,JSV) )
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM)*ZFLXZ, X_LES_RES_W_SBG_Sv2(:,:,:,JSV) )
+    CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLXZ, X_LES_RES_W_SBG_Sv2(:,:,:,JSV) )
   END IF
   !
   ! covariance ThvSv
@@ -204,7 +199,7 @@ DO JSV=1,NSV
     ZFLXZ(:,:,:)= ( XCSHF * PPHI3 + ZCSV * PPSI_SV(:,:,:,JSV) )              &
                   *  GZ_M_W(KKA,KKU,KKL,PTHLM,PDZZ)                          &
                   *  GZ_M_W(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDZZ)
-    ZFLXZ(:,:,:)= PLM * PLEPS / (2.*ZCTSVD) * MZF(KKA,KKU,KKL,ZFLXZ)
+    ZFLXZ(:,:,:)= PLM * PLEPS / (2.*ZCTSVD) * MZF(ZFLXZ)
     CALL LES_MEAN_SUBGRID( ZA*ZFLXZ, X_LES_SUBGRID_SvThv(:,:,:,JSV) ) 
     CALL LES_MEAN_SUBGRID( -XG/PTHVREF/3.*ZA*ZFLXZ, X_LES_SUBGRID_SvPz(:,:,:,JSV), .TRUE.)
     !
@@ -213,7 +208,7 @@ DO JSV=1,NSV
       ZFLXZ(:,:,:)= ( XCHF * PPSI3 + ZCSV * PPSI_SV(:,:,:,JSV) )             &
                     *  GZ_M_W(KKA,KKU,KKL,PRM(:,:,:,1),PDZZ)                 &
                     *  GZ_M_W(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDZZ)
-      ZFLXZ(:,:,:)= PLM * PLEPS / (2.*ZCQSVD) * MZF(KKA,KKU,KKL,ZFLXZ)
+      ZFLXZ(:,:,:)= PLM * PLEPS / (2.*ZCQSVD) * MZF(ZFLXZ)
       CALL LES_MEAN_SUBGRID( ZA*ZFLXZ, X_LES_SUBGRID_SvThv(:,:,:,JSV) , .TRUE.)
       CALL LES_MEAN_SUBGRID( -XG/PTHVREF/3.*ZA*ZFLXZ, X_LES_SUBGRID_SvPz(:,:,:,JSV), .TRUE.)
     END IF
diff --git a/src/MNH/turb_ver_sv_flux.f90 b/src/MNH/turb_ver_sv_flux.f90
index 7b412bcba..8c51e8e42 100644
--- a/src/MNH/turb_ver_sv_flux.f90
+++ b/src/MNH/turb_ver_sv_flux.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -377,7 +377,7 @@ IKTB =1+JPVEXT_TURB
 !
 ISV=SIZE(PSVM,4)
 !
-ZKEFF(:,:,:) = MZM(KKA,KKU,KKL, PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
+ZKEFF(:,:,:) = MZM( PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
 !
 IF(LBLOWSNOW) THEN
 ! See Vionnet (PhD, 2012) for a complete discussion around the value of the Schmidt number for blowing snow variables           
@@ -396,7 +396,7 @@ DO JSV=1,ISV
 !
 ! Preparation of the arguments for TRIDIAG 
   ZA(:,:,:)    = -PTSTEP*ZCSV*PPSI_SV(:,:,:,JSV) *   &
-                 ZKEFF * MZM(KKA,KKU,KKL,PRHODJ) /   &
+                 ZKEFF * MZM(PRHODJ) /   &
                  PDZZ**2
   ZSOURCE(:,:,:) = 0.
 !
@@ -431,8 +431,8 @@ DO JSV=1,ISV
   IF ( (OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL ) THEN
     ! Diagnostic of the cartesian vertical flux
     !
-    ZFLXZ(:,:,:) = -ZCSV * PPSI_SV(:,:,:,JSV) * MZM(KKA,KKU,KKL,PLM*SQRT(PTKEM)) / PDZZ * &
-                  DZM(KKA,KKU,KKL, PIMPL*ZRES(:,:,:) + PEXPL*PSVM(:,:,:,JSV) )
+    ZFLXZ(:,:,:) = -ZCSV * PPSI_SV(:,:,:,JSV) * MZM(PLM*SQRT(PTKEM)) / PDZZ * &
+                  DZM( PIMPL*ZRES(:,:,:) + PEXPL*PSVM(:,:,:,JSV) )
     ! surface flux
     !* in 3DIM case, a part of the flux goes vertically, and another goes horizontally
     ! (in presence of slopes)
@@ -476,13 +476,13 @@ DO JSV=1,ISV
   !
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_WSv(:,:,:,JSV) )
-    CALL LES_MEAN_SUBGRID( GZ_W_M(KKA,KKU,KKL,PWM,PDZZ)*MZF(KKA,KKU,KKL,ZFLXZ), &
+    CALL LES_MEAN_SUBGRID( MZF(ZFLXZ), X_LES_SUBGRID_WSv(:,:,:,JSV) )
+    CALL LES_MEAN_SUBGRID( GZ_W_M(KKA,KKU,KKL,PWM,PDZZ)*MZF(ZFLXZ), &
                            X_LES_RES_ddxa_W_SBG_UaSv(:,:,:,JSV) )
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,GZ_M_W(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDZZ)*ZFLXZ), &
+    CALL LES_MEAN_SUBGRID( MZF(GZ_M_W(KKA,KKU,KKL,PSVM(:,:,:,JSV),PDZZ)*ZFLXZ), &
                            X_LES_RES_ddxa_Sv_SBG_UaSv(:,:,:,JSV) )
-    CALL LES_MEAN_SUBGRID( -ZCSVP*SQRT(PTKEM)/PLM*MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_SvPz(:,:,:,JSV) )
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM*ZFLXZ), X_LES_RES_W_SBG_WSv(:,:,:,JSV) )
+    CALL LES_MEAN_SUBGRID( -ZCSVP*SQRT(PTKEM)/PLM*MZF(ZFLXZ), X_LES_SUBGRID_SvPz(:,:,:,JSV) )
+    CALL LES_MEAN_SUBGRID( MZF(PWM*ZFLXZ), X_LES_RES_W_SBG_WSv(:,:,:,JSV) )
     CALL SECOND_MNH(ZTIME2)
     XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
   END IF
diff --git a/src/MNH/turb_ver_thermo_corr.f90 b/src/MNH/turb_ver_thermo_corr.f90
index 3f443b6ff..00b51324d 100644
--- a/src/MNH/turb_ver_thermo_corr.f90
+++ b/src/MNH/turb_ver_thermo_corr.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -467,7 +467,7 @@ ZCOEFF(:,:,IKB+KKL)=   (PDZZ(:,:,IKB+2*KKL)+PDZZ(:,:,IKB+KKL)) /      &
 ZCOEFF(:,:,IKB)= - (PDZZ(:,:,IKB+2*KKL)+2.*PDZZ(:,:,IKB+KKL)) /      &
        ( (PDZZ(:,:,IKB+2*KKL)+PDZZ(:,:,IKB+KKL)) * PDZZ(:,:,IKB+KKL) )
 !
-ZKEFF(:,:,:) = MZM(KKA,KKU,KKL, PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
+ZKEFF(:,:,:) = MZM( PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
 !
 ! Flags for 3rd order quantities
 !
@@ -494,7 +494,7 @@ END IF
 !*       4.2  <THl THl> 
 !
 ! Compute the turbulent variance F and F' at time t-dt.
-  ZF      (:,:,:) = XCTV*PLM*PLEPS*MZF(KKA,KKU,KKL,PPHI3*PDTH_DZ**2)
+  ZF      (:,:,:) = XCTV*PLM*PLEPS*MZF(PPHI3*PDTH_DZ**2)
   ZDFDDTDZ(:,:,:) = 0.     ! this term, because of discretization, is treated separately
   !
   ! Effect of 3rd order terms in temperature flux (at mass point)
@@ -510,9 +510,9 @@ END IF
   ! d(w'2th')/dz
   IF (GFWTH) THEN
     ZF       = ZF       + M3_TH2_W2TH(KKA,KKU,KKL,PREDTH1,PREDR1,PD,PDTH_DZ,&
-     & PLM,PLEPS,PTKEM) * MZF(KKA,KKU,KKL,PFWTH)
+     & PLM,PLEPS,PTKEM) * MZF(PFWTH)
     ZDFDDTDZ = ZDFDDTDZ + D_M3_TH2_W2TH_O_DDTDZ(KKA,KKU,KKL,PREDTH1,PREDR1,PD,&
-     & PLM,PLEPS,PTKEM,GUSERV) * MZF(KKA,KKU,KKL,PFWTH)
+     & PLM,PLEPS,PTKEM,GUSERV) * MZF(PFWTH)
   END IF
   !
   IF (KRR/=0) THEN
@@ -527,9 +527,9 @@ END IF
     ! d(w'2r')/dz
     IF (GFWR) THEN
       ZF       = ZF       + M3_TH2_W2R(KKA,KKU,KKL,PD,PLM,PLEPS,PTKEM,PBLL_O_E,&
-       & PEMOIST,PDTH_DZ) * MZF(KKA,KKU,KKL,PFWR)
+       & PEMOIST,PDTH_DZ) * MZF(PFWR)
       ZDFDDTDZ = ZDFDDTDZ + D_M3_TH2_W2R_O_DDTDZ(KKA,KKU,KKL,PREDTH1,PREDR1,PD,&
-       & PLM,PLEPS,PTKEM,PBLL_O_E,PEMOIST,PDTH_DZ) * MZF(KKA,KKU,KKL,PFWR)
+       & PLM,PLEPS,PTKEM,PBLL_O_E,PEMOIST,PDTH_DZ) * MZF(PFWR)
     END IF
     !
     ! d(w'th'r')/dz
@@ -544,9 +544,9 @@ END IF
   !
   ZFLXZ(:,:,:)   = ZF                                                              &
   !     + PIMPL * XCTV*PLM*PLEPS                                                   &
-  !        *MZF(KKA,KKU,KKL,D_PHI3DTDZ2_O_DDTDZ(PPHI3,PREDTH1,PREDR1,PRED2TH3,PRED2THR3,PDTH_DZ,HTURBDIM,GUSERV)   &
-  !             *DZM(KKA,KKU,KKL,PTHLP - PTHLM) / PDZZ                                        ) &
-        + PIMPL * ZDFDDTDZ * MZF(KKA,KKU,KKL,DZM(KKA,KKU,KKL,PTHLP - PTHLM) / PDZZ )
+  !        *MZF(D_PHI3DTDZ2_O_DDTDZ(PPHI3,PREDTH1,PREDR1,PRED2TH3,PRED2THR3,PDTH_DZ,HTURBDIM,GUSERV)   &
+  !             *DZM(PTHLP - PTHLM) / PDZZ                                        ) &
+        + PIMPL * ZDFDDTDZ * MZF(DZM(PTHLP - PTHLM) / PDZZ )
   !
   ! special case near the ground ( uncentred gradient )
   ZFLXZ(:,:,IKB) = XCTV * PPHI3(:,:,IKB+KKL) * PLM(:,:,IKB)   &
@@ -590,7 +590,7 @@ END IF
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
     CALL LES_MEAN_SUBGRID( ZFLXZ, X_LES_SUBGRID_Thl2 ) 
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM)*ZFLXZ, X_LES_RES_W_SBG_Thl2 )
+    CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLXZ, X_LES_RES_W_SBG_Thl2 )
     CALL LES_MEAN_SUBGRID( -2.*XCTD*PSQRT_TKE*ZFLXZ/PLEPS, X_LES_SUBGRID_DISS_Thl2 ) 
     CALL LES_MEAN_SUBGRID( PETHETA*ZFLXZ, X_LES_SUBGRID_ThlThv ) 
     CALL LES_MEAN_SUBGRID( -XA3*PBETA*PETHETA*ZFLXZ, X_LES_SUBGRID_ThlPz, .TRUE. ) 
@@ -604,7 +604,7 @@ END IF
 !
 !
     ! Compute the turbulent variance F and F' at time t-dt.
-    ZF      (:,:,:) = XCTV*PLM*PLEPS*MZF(KKA,KKU,KKL,0.5*(PPHI3+PPSI3)*PDTH_DZ*PDR_DZ)
+    ZF      (:,:,:) = XCTV*PLM*PLEPS*MZF(0.5*(PPHI3+PPSI3)*PDTH_DZ*PDR_DZ)
     ZDFDDTDZ(:,:,:) = 0.     ! this term, because of discretization, is treated separately
     ZDFDDRDZ(:,:,:) = 0.     ! this term, because of discretization, is treated separately
     !
@@ -623,11 +623,11 @@ END IF
     ! d(w'2th')/dz
     IF (GFWTH) THEN
       ZF       = ZF       + M3_THR_W2TH(KKA,KKU,KKL,PREDR1,PD,PLM,PLEPS,PTKEM,&
-       & PDR_DZ) * MZF(KKA,KKU,KKL,PFWTH)
+       & PDR_DZ) * MZF(PFWTH)
       ZDFDDTDZ = ZDFDDTDZ + D_M3_THR_W2TH_O_DDTDZ(KKA,KKU,KKL,PREDTH1,PREDR1,&
-       & PD,PLM,PLEPS,PTKEM,PBLL_O_E,PDR_DZ,PETHETA) * MZF(KKA,KKU,KKL,PFWTH)
+       & PD,PLM,PLEPS,PTKEM,PBLL_O_E,PDR_DZ,PETHETA) * MZF(PFWTH)
       ZDFDDRDZ = ZDFDDRDZ + D_M3_THR_W2TH_O_DDRDZ(KKA,KKU,KKL,PREDTH1,PREDR1,&
-       & PD,PLM,PLEPS,PTKEM) * MZF(KKA,KKU,KKL,PFWTH)
+       & PD,PLM,PLEPS,PTKEM) * MZF(PFWTH)
     END IF
     !
     ! d(w'r'2)/dz
@@ -643,11 +643,11 @@ END IF
       ! d(w'2r')/dz
     IF (GFWR) THEN
       ZF       = ZF       + M3_THR_W2R(KKA,KKU,KKL,PREDTH1,PD,PLM,PLEPS,PTKEM,&
-      & PDTH_DZ) * MZF(KKA,KKU,KKL,PFWR)
+      & PDTH_DZ) * MZF(PFWR)
       ZDFDDTDZ = ZDFDDTDZ + D_M3_THR_W2R_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,&
-      & PLM,PLEPS,PTKEM) * MZF(KKA,KKU,KKL,PFWR)
+      & PLM,PLEPS,PTKEM) * MZF(PFWR)
       ZDFDDRDZ = ZDFDDRDZ + D_M3_THR_W2R_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,&
-      & PLM,PLEPS,PTKEM,PBLL_O_E,PDTH_DZ,PEMOIST) * MZF(KKA,KKU,KKL,PFWR)
+      & PLM,PLEPS,PTKEM,PBLL_O_E,PDTH_DZ,PEMOIST) * MZF(PFWR)
     END IF
     !
     ! d(w'th'r')/dz
@@ -662,15 +662,15 @@ END IF
     !
     ZFLXZ(:,:,:)   = ZF                                                     &
         + PIMPL * XCTV*PLM*PLEPS*0.5                                        &
-          * MZF(KKA,KKU,KKL, ( D_PHI3DTDZ_O_DDTDZ(PPHI3,PREDTH1,PREDR1,PRED2TH3,PRED2THR3,HTURBDIM,GUSERV) & ! d(phi3*dthdz)/ddthdz term
+          * MZF( ( D_PHI3DTDZ_O_DDTDZ(PPHI3,PREDTH1,PREDR1,PRED2TH3,PRED2THR3,HTURBDIM,GUSERV) & ! d(phi3*dthdz)/ddthdz term
                   +D_PSI3DTDZ_O_DDTDZ(PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,GUSERV) & ! d(psi3*dthdz)/ddthdz term
-                 ) *PDR_DZ  *DZM(KKA,KKU,KKL,PTHLP - PTHLM       ) / PDZZ               &
+                 ) *PDR_DZ  *DZM(PTHLP - PTHLM       ) / PDZZ               &
                 +( D_PHI3DRDZ_O_DDRDZ(PPHI3,PREDTH1,PREDR1,PRED2TH3,PRED2THR3,HTURBDIM,GUSERV) & ! d(phi3*drdz )/ddrdz term
                   +D_PSI3DRDZ_O_DDRDZ(PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,GUSERV) & ! d(psi3*drdz )/ddrdz term
-                 ) *PDTH_DZ *DZM(KKA,KKU,KKL,PRP   - PRM(:,:,:,1)) / PDZZ               &
+                 ) *PDTH_DZ *DZM(PRP   - PRM(:,:,:,1)) / PDZZ               &
                )                                                            &
-        + PIMPL * ZDFDDTDZ * MZF(KKA,KKU,KKL,DZM(KKA,KKU,KKL,PTHLP - PTHLM(:,:,:)) / PDZZ )         &
-        + PIMPL * ZDFDDRDZ * MZF(KKA,KKU,KKL,DZM(KKA,KKU,KKL,PRP   - PRM(:,:,:,1)) / PDZZ )
+        + PIMPL * ZDFDDTDZ * MZF(DZM(PTHLP - PTHLM(:,:,:)) / PDZZ )         &
+        + PIMPL * ZDFDDRDZ * MZF(DZM(PRP   - PRM(:,:,:,1)) / PDZZ )
     !
     ! special case near the ground ( uncentred gradient )
     ZFLXZ(:,:,IKB) =                                            & 
@@ -717,7 +717,7 @@ END IF
     IF (LLES_CALL) THEN
       CALL SECOND_MNH(ZTIME1)
       CALL LES_MEAN_SUBGRID( ZFLXZ, X_LES_SUBGRID_THlRt ) 
-      CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM)*ZFLXZ, X_LES_RES_W_SBG_ThlRt )
+      CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLXZ, X_LES_RES_W_SBG_ThlRt )
       CALL LES_MEAN_SUBGRID( -2.*XCTD*PSQRT_TKE*ZFLXZ/PLEPS, X_LES_SUBGRID_DISS_ThlRt ) 
       CALL LES_MEAN_SUBGRID( PETHETA*ZFLXZ, X_LES_SUBGRID_RtThv ) 
       CALL LES_MEAN_SUBGRID( -XA3*PBETA*PETHETA*ZFLXZ, X_LES_SUBGRID_RtPz, .TRUE. ) 
@@ -732,7 +732,7 @@ END IF
 !
 !
     ! Compute the turbulent variance F and F' at time t-dt.
-    ZF      (:,:,:) = XCTV*PLM*PLEPS*MZF(KKA,KKU,KKL,PPSI3*PDR_DZ**2)
+    ZF      (:,:,:) = XCTV*PLM*PLEPS*MZF(PPSI3*PDR_DZ**2)
     ZDFDDRDZ(:,:,:) = 0.     ! this term, because of discretization, is treated separately
     !
     ! Effect of 3rd order terms in temperature flux (at mass point)
@@ -748,9 +748,9 @@ END IF
     ! d(w'2r')/dz
     IF (GFWR) THEN
       ZF       = ZF       + M3_R2_W2R(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PDR_DZ,&
-      & PLM,PLEPS,PTKEM) * MZF(KKA,KKU,KKL,PFWR)
+      & PLM,PLEPS,PTKEM) * MZF(PFWR)
       ZDFDDRDZ = ZDFDDRDZ + D_M3_R2_W2R_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,&
-      & PD,PLM,PLEPS,PTKEM,GUSERV) * MZF(KKA,KKU,KKL,PFWR)
+      & PD,PLM,PLEPS,PTKEM,GUSERV) * MZF(PFWR)
     END IF
     !
     IF (KRR/=0) THEN
@@ -765,9 +765,9 @@ END IF
       ! d(w'2r')/dz
       IF (GFWTH) THEN
         ZF       = ZF       + M3_R2_W2TH(KKA,KKU,KKL,PD,PLM,PLEPS,PTKEM,&
-        & PBLL_O_E,PETHETA,PDR_DZ) * MZF(KKA,KKU,KKL,PFWTH)
+        & PBLL_O_E,PETHETA,PDR_DZ) * MZF(PFWTH)
         ZDFDDRDZ = ZDFDDRDZ + D_M3_R2_W2TH_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,&
-        & PD,PLM,PLEPS,PTKEM,PBLL_O_E,PETHETA,PDR_DZ) * MZF(KKA,KKU,KKL,PFWTH)
+        & PD,PLM,PLEPS,PTKEM,PBLL_O_E,PETHETA,PDR_DZ) * MZF(PFWTH)
       END IF
       !
       ! d(w'th'r')/dz
@@ -782,9 +782,9 @@ END IF
     !
     ZFLXZ(:,:,:)   = ZF                                                              &
           + PIMPL * XCTV*PLM*PLEPS                                                   &
-            *MZF(KKA,KKU,KKL,D_PSI3DRDZ2_O_DDRDZ(PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,PDR_DZ,HTURBDIM,GUSERV)    &
-                 *DZM(KKA,KKU,KKL,PRP - PRM(:,:,:,1)) / PDZZ                                   ) &
-          + PIMPL * ZDFDDRDZ * MZF(KKA,KKU,KKL,DZM(KKA,KKU,KKL,PRP - PRM(:,:,:,1)) / PDZZ )
+            *MZF(D_PSI3DRDZ2_O_DDRDZ(PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,PDR_DZ,HTURBDIM,GUSERV)    &
+                 *DZM(PRP - PRM(:,:,:,1)) / PDZZ                                   ) &
+          + PIMPL * ZDFDDRDZ * MZF(DZM(PRP - PRM(:,:,:,1)) / PDZZ )
     !
     ! special case near the ground ( uncentred gradient )
     ZFLXZ(:,:,IKB) = XCHV * PPSI3(:,:,IKB+KKL) * PLM(:,:,IKB)   &
@@ -824,7 +824,7 @@ END IF
     IF (LLES_CALL) THEN
       CALL SECOND_MNH(ZTIME1)
       CALL LES_MEAN_SUBGRID( ZFLXZ, X_LES_SUBGRID_Rt2 ) 
-      CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM)*ZFLXZ, X_LES_RES_W_SBG_Rt2 )
+      CALL LES_MEAN_SUBGRID( MZF(PWM)*ZFLXZ, X_LES_RES_W_SBG_Rt2 )
       CALL LES_MEAN_SUBGRID( PEMOIST*ZFLXZ, X_LES_SUBGRID_RtThv , .TRUE. ) 
       CALL LES_MEAN_SUBGRID( -XA3*PBETA*PEMOIST*ZFLXZ, X_LES_SUBGRID_RtPz, .TRUE. )
       CALL LES_MEAN_SUBGRID( -2.*XCTD*PSQRT_TKE*ZFLXZ/PLEPS, X_LES_SUBGRID_DISS_Rt2 ) 
diff --git a/src/MNH/turb_ver_thermo_flux.f90 b/src/MNH/turb_ver_thermo_flux.f90
index e833fef4b..59357bbfb 100644
--- a/src/MNH/turb_ver_thermo_flux.f90
+++ b/src/MNH/turb_ver_thermo_flux.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -488,7 +488,7 @@ GUSERV = (KRR/=0)
 !  compute the coefficients for the uncentred gradient computation near the 
 !  ground
 !
-ZKEFF(:,:,:) = MZM(KKA,KKU,KKL, PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
+ZKEFF(:,:,:) = MZM( PLM(:,:,:) * SQRT(PTKEM(:,:,:)) )
 !
 ! Flags for 3rd order quantities
 !
@@ -515,7 +515,7 @@ END IF
 !
 ! Compute the turbulent flux F and F' at time t-dt.
 !
-ZF      (:,:,:) = -XCSHF*PPHI3*ZKEFF*DZM(KKA,KKU,KKL,PTHLM)/PDZZ
+ZF      (:,:,:) = -XCSHF*PPHI3*ZKEFF*DZM(PTHLM)/PDZZ
 ZDFDDTDZ(:,:,:) = -XCSHF*ZKEFF*D_PHI3DTDZ_O_DDTDZ(PPHI3,PREDTH1,PREDR1,PRED2TH3,PRED2THR3,HTURBDIM,GUSERV)
 
 !
@@ -534,9 +534,9 @@ END IF
 IF (GFTH2) THEN
   Z3RDMOMENT= M3_WTH_WTH2(PREDTH1,PREDR1,PD,PBLL_O_E,PETHETA)
 !
-  ZF       = ZF       + Z3RDMOMENT * MZM(KKA,KKU,KKL,PFTH2)
+  ZF       = ZF       + Z3RDMOMENT * MZM(PFTH2)
   ZDFDDTDZ = ZDFDDTDZ + D_M3_WTH_WTH2_O_DDTDZ(Z3RDMOMENT,PREDTH1,PREDR1,&
-    & PD,PBLL_O_E,PETHETA) * MZM(KKA,KKU,KKL,PFTH2)
+    & PD,PBLL_O_E,PETHETA) * MZM(PFTH2)
 END IF
 !
 ! d(w'2r')/dz
@@ -550,9 +550,9 @@ END IF
 ! d(w'r'2)/dz
 IF (GFR2) THEN
   ZF       = ZF       + M3_WTH_WR2(KKA,KKU,KKL,PREDTH1,PREDR1,PD,ZKEFF,PTKEM,&
-    & PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PEMOIST,PDTH_DZ) * MZM(KKA,KKU,KKL,PFR2)
+    & PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PEMOIST,PDTH_DZ) * MZM(PFR2)
   ZDFDDTDZ = ZDFDDTDZ + D_M3_WTH_WR2_O_DDTDZ(KKA,KKU,KKL,PREDTH1,PREDR1,PD,&
-    & ZKEFF,PTKEM,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PEMOIST) * MZM(KKA,KKU,KKL,PFR2)
+    & ZKEFF,PTKEM,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PEMOIST) * MZM(PFR2)
 END IF
 !
 ! d(w'th'r')/dz
@@ -560,9 +560,9 @@ IF (GFTHR) THEN
   Z3RDMOMENT= M3_WTH_WTHR(KKA,KKU,KKL,PREDR1,PD,ZKEFF,PTKEM,PSQRT_TKE,PBETA,&
     & PLEPS,PEMOIST)
 !
-  ZF       = ZF       + Z3RDMOMENT * MZM(KKA,KKU,KKL,PFTHR)
+  ZF       = ZF       + Z3RDMOMENT * MZM(PFTHR)
   ZDFDDTDZ = ZDFDDTDZ + D_M3_WTH_WTHR_O_DDTDZ(Z3RDMOMENT,PREDTH1,&
-    & PREDR1,PD,PBLL_O_E,PETHETA) * MZM(KKA,KKU,KKL,PFTHR)
+    & PREDR1,PD,PBLL_O_E,PETHETA) * MZM(PFTHR)
 END IF
 !
 !* in 3DIM case, a part of the flux goes vertically, and another goes horizontally
@@ -593,7 +593,7 @@ PRTHLS(:,:,:)= PRTHLS(:,:,:)  +    &
 !  Conservative potential temperature flux : 
 !
 ZFLXZ(:,:,:)   = ZF                                                &
-               + PIMPL * ZDFDDTDZ * DZM(KKA,KKU,KKL,PTHLP - PTHLM) / PDZZ 
+               + PIMPL * ZDFDDTDZ * DZM(PTHLP - PTHLM) / PDZZ
 !
 ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) 
 !  
@@ -622,16 +622,16 @@ END IF
 !
 ! Contribution of the conservative temperature flux to the buoyancy flux
 IF (KRR /= 0) THEN
-  PTP(:,:,:)  =  PBETA * MZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL,PETHETA) * ZFLXZ )
+  PTP(:,:,:)  =  PBETA * MZF( MZM(PETHETA) * ZFLXZ )
   PTP(:,:,IKB)=  PBETA(:,:,IKB) * PETHETA(:,:,IKB) *   &
                  0.5 * ( ZFLXZ (:,:,IKB) + ZFLXZ (:,:,IKB+KKL) )  
 ELSE
-  PTP(:,:,:)=  PBETA * MZF(KKA,KKU,KKL, ZFLXZ )
+  PTP(:,:,:)=  PBETA * MZF( ZFLXZ )
 END IF
 !
 ! Buoyancy flux at flux points
 ! 
-PWTHV = MZM(KKA,KKU,KKL,PETHETA) * ZFLXZ
+PWTHV = MZM(PETHETA) * ZFLXZ
 PWTHV(:,:,IKB) = PETHETA(:,:,IKB) * ZFLXZ(:,:,IKB)
 !
 !*       2.3  Partial vertical divergence of the < Rc w > flux
@@ -639,14 +639,14 @@ PWTHV(:,:,IKB) = PETHETA(:,:,IKB) * ZFLXZ(:,:,IKB)
 IF ( KRRL >= 1 ) THEN
   IF ( KRRI >= 1 ) THEN
     PRRS(:,:,:,2) = PRRS(:,:,:,2) -                                        &
-                    DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL, PRHODJ*PATHETA*2.*PSRCM )*ZFLXZ/PDZZ )       &
+                    DZF( MZM( PRHODJ*PATHETA*2.*PSRCM )*ZFLXZ/PDZZ )       &
                     *(1.0-PFRAC_ICE(:,:,:))
     PRRS(:,:,:,4) = PRRS(:,:,:,4) -                                        &
-                    DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL, PRHODJ*PATHETA*2.*PSRCM )*ZFLXZ/PDZZ )       &
+                    DZF( MZM( PRHODJ*PATHETA*2.*PSRCM )*ZFLXZ/PDZZ )       &
                     *PFRAC_ICE(:,:,:)
   ELSE
     PRRS(:,:,:,2) = PRRS(:,:,:,2) -                                        &
-                    DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL, PRHODJ*PATHETA*2.*PSRCM )*ZFLXZ/PDZZ ) 
+                    DZF( MZM( PRHODJ*PATHETA*2.*PSRCM )*ZFLXZ/PDZZ )
   END IF
 END IF
 !
@@ -654,22 +654,22 @@ END IF
 ! 
 IF (LLES_CALL) THEN
   CALL SECOND_MNH(ZTIME1)
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_WThl ) 
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM*ZFLXZ), X_LES_RES_W_SBG_WThl )
-  CALL LES_MEAN_SUBGRID( GZ_W_M(KKA,KKU,KKL,PWM,PDZZ)*MZF(KKA,KKU,KKL,ZFLXZ),&
+  CALL LES_MEAN_SUBGRID( MZF(ZFLXZ), X_LES_SUBGRID_WThl )
+  CALL LES_MEAN_SUBGRID( MZF(PWM*ZFLXZ), X_LES_RES_W_SBG_WThl )
+  CALL LES_MEAN_SUBGRID( GZ_W_M(KKA,KKU,KKL,PWM,PDZZ)*MZF(ZFLXZ),&
       & X_LES_RES_ddxa_W_SBG_UaThl )
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PDTH_DZ*ZFLXZ), X_LES_RES_ddxa_Thl_SBG_UaThl )
-  CALL LES_MEAN_SUBGRID( -XCTP*PSQRT_TKE/PLM*MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_ThlPz ) 
-  CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MZM(KKA,KKU,KKL,PETHETA)*ZFLXZ), X_LES_SUBGRID_WThv ) 
+  CALL LES_MEAN_SUBGRID( MZF(PDTH_DZ*ZFLXZ), X_LES_RES_ddxa_Thl_SBG_UaThl )
+  CALL LES_MEAN_SUBGRID( -XCTP*PSQRT_TKE/PLM*MZF(ZFLXZ), X_LES_SUBGRID_ThlPz )
+  CALL LES_MEAN_SUBGRID( MZF(MZM(PETHETA)*ZFLXZ), X_LES_SUBGRID_WThv )
   IF (KRR>=1) THEN
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PDR_DZ*ZFLXZ), X_LES_RES_ddxa_Rt_SBG_UaThl )
+    CALL LES_MEAN_SUBGRID( MZF(PDR_DZ*ZFLXZ), X_LES_RES_ddxa_Rt_SBG_UaThl )
   END IF
   !* diagnostic of mixing coefficient for heat
-  ZA = DZM(KKA,KKU,KKL,PTHLP)
+  ZA = DZM(PTHLP)
   WHERE (ZA==0.) ZA=1.E-6
   ZA = - ZFLXZ / ZA * PDZZ
   ZA(:,:,IKB) = XCSHF*PPHI3(:,:,IKB)*ZKEFF(:,:,IKB)
-  ZA = MZF(KKA,KKU,KKL, ZA )
+  ZA = MZF( ZA )
   ZA = MIN(MAX(ZA,-1000.),1000.)
   CALL LES_MEAN_SUBGRID( ZA, X_LES_SUBGRID_Kh   ) 
   !
@@ -694,7 +694,7 @@ IF (HTOM=='TM06') CALL TM06_H(IKB,IKTB,IKTE,PTSTEP,PZZ,ZFLXZ,PBL_DEPTH)
 IF (KRR /= 0) THEN
   ! Compute the turbulent flux F and F' at time t-dt.
   !
-  ZF      (:,:,:) = -XCSHF*PPSI3*ZKEFF*DZM(KKA,KKU,KKL,PRM(:,:,:,1))/PDZZ
+  ZF      (:,:,:) = -XCSHF*PPSI3*ZKEFF*DZM(PRM(:,:,:,1))/PDZZ
   ZDFDDRDZ(:,:,:) = -XCSHF*ZKEFF*D_PSI3DRDZ_O_DDRDZ(PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,GUSERV)
   !
   ! Effect of 3rd order terms in temperature flux (at flux point)
@@ -712,9 +712,9 @@ IF (KRR /= 0) THEN
   IF (GFR2) THEN
     Z3RDMOMENT= M3_WR_WR2(PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST)
   !
-    ZF       = ZF       + Z3RDMOMENT * MZM(KKA,KKU,KKL,PFR2)
+    ZF       = ZF       + Z3RDMOMENT * MZM(PFR2)
     ZDFDDRDZ = ZDFDDRDZ + D_M3_WR_WR2_O_DDRDZ(Z3RDMOMENT,PREDR1,&
-     & PREDTH1,PD,PBLL_O_E,PEMOIST) * MZM(KKA,KKU,KKL,PFR2)
+     & PREDTH1,PD,PBLL_O_E,PEMOIST) * MZM(PFR2)
   END IF
   !
   ! d(w'2th')/dz
@@ -728,9 +728,9 @@ IF (KRR /= 0) THEN
   ! d(w'th'2)/dz
   IF (GFTH2) THEN
     ZF       = ZF       + M3_WR_WTH2(KKA,KKU,KKL,PREDR1,PREDTH1,PD,ZKEFF,PTKEM,&
-    & PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA,PDR_DZ) * MZM(KKA,KKU,KKL,PFTH2)
+    & PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA,PDR_DZ) * MZM(PFTH2)
     ZDFDDRDZ = ZDFDDRDZ + D_M3_WR_WTH2_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,&
-     &ZKEFF,PTKEM,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA) * MZM(KKA,KKU,KKL,PFTH2)
+     &ZKEFF,PTKEM,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA) * MZM(PFTH2)
   END IF
   !
   ! d(w'th'r')/dz
@@ -738,9 +738,9 @@ IF (KRR /= 0) THEN
     Z3RDMOMENT= M3_WR_WTHR(KKA,KKU,KKL,PREDTH1,PD,ZKEFF,PTKEM,PSQRT_TKE,PBETA,&
      & PLEPS,PETHETA)
   !
-    ZF       = ZF       + Z3RDMOMENT * MZM(KKA,KKU,KKL,PFTHR)
+    ZF       = ZF       + Z3RDMOMENT * MZM(PFTHR)
     ZDFDDRDZ = ZDFDDRDZ + D_M3_WR_WTHR_O_DDRDZ(KKA,KKU,KKL,Z3RDMOMENT,PREDR1, &
-     & PREDTH1,PD,PBLL_O_E,PEMOIST) * MZM(KKA,KKU,KKL,PFTHR)
+     & PREDTH1,PD,PBLL_O_E,PEMOIST) * MZM(PFTHR)
   END IF
   !
   !* in 3DIM case, a part of the flux goes vertically, and another goes horizontally
@@ -771,7 +771,7 @@ IF (KRR /= 0) THEN
   ! cons. mixing ratio flux :
   !
   ZFLXZ(:,:,:)   = ZF                                                &
-                 + PIMPL * ZDFDDRDZ * DZM(KKA,KKU,KKL,PRP - PRM(:,:,:,1)) / PDZZ 
+                 + PIMPL * ZDFDDRDZ * DZM(PRP - PRM(:,:,:,1)) / PDZZ
   !
   ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) 
   !
@@ -799,14 +799,14 @@ IF (KRR /= 0) THEN
   END IF
   !
   ! Contribution of the conservative water flux to the Buoyancy flux
-  ZA(:,:,:)   =  PBETA * MZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL,PEMOIST) * ZFLXZ )
+  ZA(:,:,:)   =  PBETA * MZF( MZM(PEMOIST) * ZFLXZ )
   ZA(:,:,IKB) =  PBETA(:,:,IKB) * PEMOIST(:,:,IKB) *   &
                  0.5 * ( ZFLXZ (:,:,IKB) + ZFLXZ (:,:,IKB+KKL) )
   PTP(:,:,:) = PTP(:,:,:) + ZA(:,:,:)
   !
   ! Buoyancy flux at flux points
   ! 
-  PWTHV          = PWTHV          + MZM(KKA,KKU,KKL,PEMOIST) * ZFLXZ
+  PWTHV          = PWTHV          + MZM(PEMOIST) * ZFLXZ
   PWTHV(:,:,IKB) = PWTHV(:,:,IKB) + PEMOIST(:,:,IKB) * ZFLXZ(:,:,IKB)
 !
 !*       3.3  Complete vertical divergence of the < Rc w > flux
@@ -814,14 +814,14 @@ IF (KRR /= 0) THEN
   IF ( KRRL >= 1 ) THEN
     IF ( KRRI >= 1 ) THEN
       PRRS(:,:,:,2) = PRRS(:,:,:,2) -                                        &
-                      DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL, PRHODJ*PAMOIST*2.*PSRCM )*ZFLXZ/PDZZ )       &
+                      DZF( MZM( PRHODJ*PAMOIST*2.*PSRCM )*ZFLXZ/PDZZ )       &
                       *(1.0-PFRAC_ICE(:,:,:))
       PRRS(:,:,:,4) = PRRS(:,:,:,4) -                                        &
-                      DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL, PRHODJ*PAMOIST*2.*PSRCM )*ZFLXZ/PDZZ )       &
+                      DZF( MZM( PRHODJ*PAMOIST*2.*PSRCM )*ZFLXZ/PDZZ )       &
                       *PFRAC_ICE(:,:,:)
     ELSE
       PRRS(:,:,:,2) = PRRS(:,:,:,2) -                                        &
-                      DZF(KKA,KKU,KKL, MZM(KKA,KKU,KKL, PRHODJ*PAMOIST*2.*PSRCM )*ZFLXZ/PDZZ ) 
+                      DZF( MZM( PRHODJ*PAMOIST*2.*PSRCM )*ZFLXZ/PDZZ )
     END IF
   END IF
 !
@@ -829,14 +829,14 @@ IF (KRR /= 0) THEN
 ! 
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_WRt ) 
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PWM*ZFLXZ), X_LES_RES_W_SBG_WRt )
-    CALL LES_MEAN_SUBGRID( GZ_W_M(KKA,KKU,KKL,PWM,PDZZ)*MZF(KKA,KKU,KKL,ZFLXZ),&
+    CALL LES_MEAN_SUBGRID( MZF(ZFLXZ), X_LES_SUBGRID_WRt )
+    CALL LES_MEAN_SUBGRID( MZF(PWM*ZFLXZ), X_LES_RES_W_SBG_WRt )
+    CALL LES_MEAN_SUBGRID( GZ_W_M(KKA,KKU,KKL,PWM,PDZZ)*MZF(ZFLXZ),&
     & X_LES_RES_ddxa_W_SBG_UaRt )
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PDTH_DZ*ZFLXZ), X_LES_RES_ddxa_Thl_SBG_UaRt )
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,PDR_DZ*ZFLXZ), X_LES_RES_ddxa_Rt_SBG_UaRt )
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,MZM(KKA,KKU,KKL,PEMOIST)*ZFLXZ), X_LES_SUBGRID_WThv , .TRUE. ) 
-    CALL LES_MEAN_SUBGRID( -XCTP*PSQRT_TKE/PLM*MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_RtPz ) 
+    CALL LES_MEAN_SUBGRID( MZF(PDTH_DZ*ZFLXZ), X_LES_RES_ddxa_Thl_SBG_UaRt )
+    CALL LES_MEAN_SUBGRID( MZF(PDR_DZ*ZFLXZ), X_LES_RES_ddxa_Rt_SBG_UaRt )
+    CALL LES_MEAN_SUBGRID( MZF(MZM(PEMOIST)*ZFLXZ), X_LES_SUBGRID_WThv , .TRUE. )
+    CALL LES_MEAN_SUBGRID( -XCTP*PSQRT_TKE/PLM*MZF(ZFLXZ), X_LES_SUBGRID_RtPz )
     CALL SECOND_MNH(ZTIME2)
     XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
   END IF
@@ -855,14 +855,14 @@ END IF
 IF ( ((OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN
   !  
   ! recover the Conservative potential temperature flux : 
-  ZA(:,:,:)   = DZM(KKA,KKU,KKL,PIMPL * PTHLP + PEXPL * PTHLM) / PDZZ *       &
-                  (-PPHI3*MZM(KKA,KKU,KKL,PLM*PSQRT_TKE)) * XCSHF 
+  ZA(:,:,:)   = DZM(PIMPL * PTHLP + PEXPL * PTHLM) / PDZZ *       &
+                  (-PPHI3*MZM(PLM*PSQRT_TKE)) * XCSHF
   ZA(:,:,IKB) = ( PIMPL*PSFTHP(:,:) + PEXPL*PSFTHM(:,:) ) &
                * PDIRCOSZW(:,:)
   !  
   ! compute <w Rc>
-  ZFLXZ(:,:,:) = MZM(KKA,KKU,KKL, PAMOIST * 2.* PSRCM ) * ZFLXZ(:,:,:) + &
-                 MZM(KKA,KKU,KKL, PATHETA * 2.* PSRCM ) * ZA(:,:,:)
+  ZFLXZ(:,:,:) = MZM( PAMOIST * 2.* PSRCM ) * ZFLXZ(:,:,:) + &
+                 MZM( PATHETA * 2.* PSRCM ) * ZA(:,:,:)
   ZFLXZ(:,:,KKA) = ZFLXZ(:,:,IKB) 
   !                 
   ! store the liquid water mixing ratio vertical flux
@@ -884,7 +884,7 @@ IF ( ((OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN
 !
   IF (LLES_CALL) THEN
     CALL SECOND_MNH(ZTIME1)
-    CALL LES_MEAN_SUBGRID( MZF(KKA,KKU,KKL,ZFLXZ), X_LES_SUBGRID_WRc ) 
+    CALL LES_MEAN_SUBGRID( MZF(ZFLXZ), X_LES_SUBGRID_WRc )
     CALL SECOND_MNH(ZTIME2)
     XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
   END IF
diff --git a/src/MNH/two_wayn.f90 b/src/MNH/two_wayn.f90
index 52a22f8d5..5b361e3f9 100644
--- a/src/MNH/two_wayn.f90
+++ b/src/MNH/two_wayn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1997-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1997-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -1286,7 +1286,7 @@ ZRHODJ(IXOR:IXEND,IYOR:IYEND,IKB) = 2.*ZRHODJ(IXOR:IXEND,IYOR:IYEND,IKB)
 ZRHODJ(IXOR:IXEND,IYOR:IYEND,IKB+1:IKU) = ZRHODJ(IXOR:IXEND,IYOR:IYEND,IKB+1:IKU)   &
                                          +ZRHODJ(IXOR:IXEND,IYOR:IYEND,IKB:IKU-1)
 !
-ZAVE_RHODJ=MZM(1,IKU,1,PRHODJ)
+ZAVE_RHODJ=MZM(PRHODJ)
 PRWS(IXOR:IXEND,IYOR:IYEND,:) = PRWS(IXOR:IXEND,IYOR:IYEND,:)        &
      - ZK2W * ZAVE_RHODJ(IXOR:IXEND,IYOR:IYEND,:) * ( PWM(IXOR:IXEND,IYOR:IYEND,:) &
                  -ZWM(IXOR:IXEND,IYOR:IYEND,:)/ZRHODJ(IXOR:IXEND,IYOR:IYEND,:) )
diff --git a/src/MNH/ver_dyn.f90 b/src/MNH/ver_dyn.f90
index 49b6ef429..925c2225b 100644
--- a/src/MNH/ver_dyn.f90
+++ b/src/MNH/ver_dyn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -80,7 +80,7 @@ END MODULE MODI_VER_DYN
 !!    subroutine VER_INT_DYN    : to initialize the horizontal momentum
 !!    subroutine WGUESS         : to initialize vertical momentum
 !!    subroutine ANEL_BALANCE1  : to apply the anelastic correction
-!!    functions MXM ,MYM ,MZM   : Shuman operators
+!!    functions  MXM, MYM       : Shuman operators
 !!
 !!
 !!    IMPLICIT ARGUMENTS
diff --git a/src/MNH/ver_int_dyn.f90 b/src/MNH/ver_int_dyn.f90
index 1065cdc10..912522f98 100644
--- a/src/MNH/ver_int_dyn.f90
+++ b/src/MNH/ver_int_dyn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -186,7 +186,7 @@ ZRHODV_SH(:,:,1) = ZRHODV_SH(:,:,2)
 !*       3.1   Altitude of the mass points on the MESO-NH grid
 !              -----------------------------------------------
 !
-ZZMASS(:,:,:)=MZF(1,IKU,1,XZZ(:,:,:))
+ZZMASS(:,:,:)=MZF(XZZ(:,:,:))
 ZZMASS(:,:,SIZE(XZZ,3))=1.5*XZZ(:,:,SIZE(XZZ,3))-0.5*XZZ(:,:,SIZE(XZZ,3)-1)
 !
 !*       3.2   Interpolation on the MESO-NH grid
diff --git a/src/MNH/ver_int_thermo.f90 b/src/MNH/ver_int_thermo.f90
index caace8ad5..1d3424a94 100644
--- a/src/MNH/ver_int_thermo.f90
+++ b/src/MNH/ver_int_thermo.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -198,7 +198,7 @@ REAL,DIMENSION(:,:,:), OPTIONAL, INTENT(OUT) :: PLSRVM  ! Large scale vapor
 !              ------------------------------
 !
 INTEGER                    ::ILUOUT0, IRESP
-INTEGER                    ::IKB,IKE,IIB,IIE,IJB,IJE,IKU
+INTEGER                    ::IKB,IKE,IIB,IIE,IJB,IJE
 INTEGER, DIMENSION(2)      ::IIJ
 INTEGER                    :: IK4000
 INTEGER                    ::JK
@@ -270,7 +270,6 @@ ILUOUT0 = TLUOUT0%NLU
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 IKB=JPVEXT+1
 IKE=SIZE(XZZ,3)-JPVEXT
-IKU=SIZE(XZZ,3)
 !
 !
 !-------------------------------------------------------------------------------
@@ -515,7 +514,7 @@ PDIAG = ZTIME2 - ZTIME1
 !
 !20140217 upgrade shuman fct MZF
 !$ZZMASS(:,:,:)=MZF(XZZ(:,:,:))
-ZZMASS(:,:,:)=MZF(1,IKU,1,XZZ(:,:,:))
+ZZMASS(:,:,:)=MZF(XZZ(:,:,:))
 !20131113 check
 CALL MPPDB_CHECK3D(ZZMASS,"ver_int_thermo6::ZZMASS",PRECISION)
 ZZMASS(:,:,SIZE(XZZ,3))=1.5*XZZ(:,:,SIZE(XZZ,3))-0.5*XZZ(:,:,SIZE(XZZ,3)-1)
diff --git a/src/MNH/ver_interp_field.f90 b/src/MNH/ver_interp_field.f90
index 1eb52591a..e380b7da0 100644
--- a/src/MNH/ver_interp_field.f90
+++ b/src/MNH/ver_interp_field.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1997-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1997-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -157,9 +157,9 @@ CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 !               -----------
 !
 !* shift of grids to mass points
-ZGRID1(:,:,:)=MZF(1,IKU,1,PZZ_LS(:,:,:))
+ZGRID1(:,:,:)=MZF(PZZ_LS(:,:,:))
 ZGRID1(:,:,IKU)=2.*ZGRID1(:,:,IKU-1)-ZGRID1(:,:,IKU-2)
-ZGRID2(:,:,:)=MZF(1,IKU,1,PZZ(:,:,:))
+ZGRID2(:,:,:)=MZF(PZZ(:,:,:))
 ZGRID2(:,:,IKU)=2.*ZGRID2(:,:,IKU-1)-ZGRID2(:,:,IKU-2)
 !* move the first physical level if above the target grid
 ZGRID1(:,:,1:IKB)=MIN(ZGRID1(:,:,1:IKB),ZGRID2(:,:,1:IKB))
@@ -199,9 +199,9 @@ CALL MPPDB_CHECK3D(PUT,"VERINTERPFIELD:PUT",PRECISION)
 !               -----------
 !
 !* shift of grids to mass points
-ZGRID1(:,:,:)=MZF(1,IKU,1,PZZ_LS(:,:,:))
+ZGRID1(:,:,:)=MZF(PZZ_LS(:,:,:))
 ZGRID1(:,:,IKU)=2.*ZGRID1(:,:,IKU-1)-ZGRID1(:,:,IKU-2)
-ZGRID2(:,:,:)=MZF(1,IKU,1,PZZ(:,:,:))
+ZGRID2(:,:,:)=MZF(PZZ(:,:,:))
 ZGRID2(:,:,IKU)=2.*ZGRID2(:,:,IKU-1)-ZGRID2(:,:,IKU-2)
 !* move the first physical level if above the target grid
 ZGRID1(:,:,1:IKB)=MIN(ZGRID1(:,:,1:IKB),ZGRID2(:,:,1:IKB))
@@ -246,9 +246,9 @@ PLSWM (:,:,:)  =  VER_INTERP_LIN(PLSWM (:,:,:),NKLIN(:,:,:),XCOEFLIN(:,:,:))
 !               -------------------------
 !
 !* shift of grids to mass points
-ZGRID1(:,:,:)=MZF(1,IKU,1,PZZ_LS(:,:,:))
+ZGRID1(:,:,:)=MZF(PZZ_LS(:,:,:))
 ZGRID1(:,:,IKU)=2.*ZGRID1(:,:,IKU-1)-ZGRID1(:,:,IKU-2)
-ZGRID2(:,:,:)=MZF(1,IKU,1,PZZ(:,:,:))
+ZGRID2(:,:,:)=MZF(PZZ(:,:,:))
 ZGRID2(:,:,IKU)=2.*ZGRID2(:,:,IKU-1)-ZGRID2(:,:,IKU-2)
 !
 CALL COEF_VER_INTERP_LIN(ZGRID1(:,:,:),ZGRID2(:,:,:))
@@ -292,9 +292,9 @@ END DO
 !               ------------
 !
 !* shift of grids to mass points
-ZGRID1(:,:,:)=MZF(1,IKU,1,PZZ_LS(:,:,:))
+ZGRID1(:,:,:)=MZF(PZZ_LS(:,:,:))
 ZGRID1(:,:,IKU)=2.*ZGRID1(:,:,IKU-1)-ZGRID1(:,:,IKU-2)
-ZGRID2(:,:,:)=MZF(1,IKU,1,PZZ(:,:,:))
+ZGRID2(:,:,:)=MZF(PZZ(:,:,:))
 ZGRID2(:,:,IKU)=2.*ZGRID2(:,:,IKU-1)-ZGRID2(:,:,IKU-2)
 !* move the first physical level if above the target grid
 ZGRID1(:,:,1:IKB)=MIN(ZGRID1(:,:,1:IKB),ZGRID2(:,:,1:IKB))
diff --git a/src/MNH/ver_interp_to_mixed_grid.f90 b/src/MNH/ver_interp_to_mixed_grid.f90
index 1b2d4d6a0..94b161a5d 100644
--- a/src/MNH/ver_interp_to_mixed_grid.f90
+++ b/src/MNH/ver_interp_to_mixed_grid.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -290,13 +290,13 @@ IF (HFILE=='ATM ') THEN
   ALLOCATE(XZFLUX_MX(IIU,IJU,IKU))
   ALLOCATE(XZMASS_MX(IIU,IJU,IKU))
   CALL VERT_COORD(LSLEVE,PZS_LS,PZSMT_LS,XLEN1,XLEN2,XZHAT,XZFLUX_MX)
-  XZMASS_MX(:,:,:)=MZF(1,IKU,1,XZFLUX_MX)
+  XZMASS_MX(:,:,:)=MZF(XZFLUX_MX)
   XZMASS_MX(:,:,IKU)=1.5*XZFLUX_MX(:,:,IKU)-0.5*XZFLUX_MX(:,:,IKU-1)
 ELSE IF (HFILE=='CHEM') THEN
   ALLOCATE(ZZFLUX_MX(IIU,IJU,IKU))
   ALLOCATE(ZZMASS_MX(IIU,IJU,IKU))
   CALL VERT_COORD(LSLEVE,PZS_LS,PZSMT_LS,XLEN1,XLEN2,XZHAT,ZZFLUX_MX)
-  ZZMASS_MX(:,:,:)=MZF(1,IKU,1,ZZFLUX_MX)
+  ZZMASS_MX(:,:,:)=MZF(ZZFLUX_MX)
   ZZMASS_MX(:,:,IKU)=1.5*ZZFLUX_MX(:,:,IKU)-0.5*ZZFLUX_MX(:,:,IKU-1)
 END IF
 !
diff --git a/src/MNH/ver_prep_mesonh_case.f90 b/src/MNH/ver_prep_mesonh_case.f90
index 15ea1cc31..e50abec0e 100644
--- a/src/MNH/ver_prep_mesonh_case.f90
+++ b/src/MNH/ver_prep_mesonh_case.f90
@@ -169,7 +169,7 @@ CALL VERT_COORD(LSLEVE_LS,XZS_LS,XZSMT_LS,XLEN1_LS,XLEN2_LS,XZHAT_LS,XZFLUX_LS)
 !
 !20140217 upgrade MZF
 !$XZMASS_LS(:,:,:)=MZF(XZFLUX_LS(:,:,:))
-XZMASS_LS(:,:,:)=MZF(1,ILU,1,XZFLUX_LS(:,:,:))
+XZMASS_LS(:,:,:)=MZF(XZFLUX_LS(:,:,:))
 !20131112 add update_halo for this type of calculation
 CALL MPPDB_CHECK3D(XZMASS_LS,"ver_prep_mesonh_case1.2a::XZMASS_LS",PRECISION)
 CALL ADD3DFIELD_ll( TZFIELDS_ll, XZMASS_LS, 'VER_PREP_MESONH_CASE::XZMASS_LS' )
diff --git a/src/MNH/viscosity.f90 b/src/MNH/viscosity.f90
index b3d3e6a44..d02759b83 100644
--- a/src/MNH/viscosity.f90
+++ b/src/MNH/viscosity.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -297,7 +297,7 @@ ENDIF
    IKB = JPVEXT + 1
    IKE = SIZE(PWT,3) - JPVEXT
 
-   ZTMP = MZF(1,IKU,1,PWT)
+   ZTMP = MZF(PWT)
 !
    IF (ODRAG) THEN
          WHERE (PDRAG==-1)
@@ -310,7 +310,7 @@ ENDIF
       ZTMP(:,:,IKE+IK) = ZTMP(:,:,IKE)
    END DO
 !
-   ZTMP = MZM(1,IKU,1, PNU * &
+   ZTMP = MZM( PNU * &
           LAP_M(HLBCX,HLBCY,PDXX,PDYY,PDZX,PDZY,PDZZ,PRHODJ,ZTMP) )
 !
    DO IK = 1,JPVEXT
diff --git a/src/MNH/wguess.f90 b/src/MNH/wguess.f90
index 189707fef..d6324d607 100644
--- a/src/MNH/wguess.f90
+++ b/src/MNH/wguess.f90
@@ -1,6 +1,6 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ##################
@@ -140,8 +140,8 @@ END DO
 !*       2.1   General case
 !              ------------
 !
-PRHODJW= PDZZ*ZRHODJWC + MXF(PDZX*MZM(1,IKU,1,PRHODJU/PDXX)) &
-                       + MYF(PDZY*MZM(1,IKU,1,PRHODJV/PDYY))
+PRHODJW= PDZZ*ZRHODJWC + MXF(PDZX*MZM(PRHODJU/PDXX)) &
+                       + MYF(PDZY*MZM(PRHODJV/PDYY))
 !
 !*       2.2   Copies on boundaries
 !              --------------------
diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90
index 6655d27e1..8f16be807 100644
--- a/src/MNH/write_lfifm1_for_diag.f90
+++ b/src/MNH/write_lfifm1_for_diag.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -491,8 +491,8 @@ ZVOZ(:,:,1)=ZVOZ(:,:,3)
 ZWORK31(:,:,:)=GX_M_M(1,IKU,1,XTHT,XDXX,XDZZ,XDZX)
 ZWORK32(:,:,:)=GY_M_M(1,IKU,1,XTHT,XDYY,XDZZ,XDZY)
 ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,XTHT,XDZZ)
-ZPOVO(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
-             + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+ZPOVO(:,:,:)= ZWORK31(:,:,:)*MZF(MYF(ZVOX(:,:,:)))     &
+             + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:)))     &
              + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
 ZPOVO(:,:,:)= ZPOVO(:,:,:)*1E6/XRHODREF(:,:,:)
 ZPOVO(:,:,1)  =-1.E+11
@@ -704,7 +704,7 @@ IF (LVAR_PR ) THEN
   ZWORK21(:,:) = 0.
   ZWORK22(:,:) = 0.
   ZWORK23(:,:) = 0.
-  ZWORK31(:,:,:) = DZF(1,IKU,1,XZZ(:,:,:))
+  ZWORK31(:,:,:) = DZF(XZZ(:,:,:))
   DO JK = IKB,IKE
     !* Calcul de qtot
     IF  (CCLOUD(1:3) == 'ICE' .OR. CCLOUD == 'LIMA') THEN
@@ -760,7 +760,7 @@ IF (LHU_FLX) THEN
       IKTOP(:,:)=JK
     END WHERE
   END DO
-  ZDELTAZ(:,:,:)=DZF(1,IKU,1,XZZ) 
+  ZDELTAZ(:,:,:)=DZF(XZZ)
   ZWORK21(:,:) = 0.
   ZWORK22(:,:) = 0.
   ZWORK25(:,:) = 0.  
@@ -2274,7 +2274,7 @@ IF (LTPZH .OR. LCOREF) THEN
       TZFIELD%LTIMEDEP   = .TRUE.
       CALL IO_Field_write(TPFILE,TZFIELD,ZWORK33)
       !
-      ZWORK33(:,:,:)=ZWORK33(:,:,:)+MZF(1,IKU,1,XZZ(:,:,:))*1E6/XRADIUS
+      ZWORK33(:,:,:)=ZWORK33(:,:,:)+MZF(XZZ(:,:,:))*1E6/XRADIUS
       TZFIELD%CMNHNAME   = 'MCOREF'
       TZFIELD%CSTDNAME   = ''
       TZFIELD%CLONGNAME  = 'MCOREF'
@@ -2584,7 +2584,7 @@ END IF
 !
 IF (LVORT) THEN
 ! Vorticity x
-  ZWORK31(:,:,:)=MYF(MZF(1,IKU,1,MXM(ZVOX(:,:,:))))
+  ZWORK31(:,:,:)=MYF(MZF(MXM(ZVOX(:,:,:))))
   TZFIELD%CMNHNAME   = 'UM1'
   TZFIELD%CSTDNAME   = ''
   TZFIELD%CLONGNAME  = 'UM1'
@@ -2598,7 +2598,7 @@ IF (LVORT) THEN
   CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31)
 !    
 ! Vorticity y
-  ZWORK32(:,:,:)=MZF(1,IKU,1,MXF(MYM(ZVOY(:,:,:))))
+  ZWORK32(:,:,:)=MZF(MXF(MYM(ZVOY(:,:,:))))
   TZFIELD%CMNHNAME   = 'VM1'
   TZFIELD%CSTDNAME   = ''
   TZFIELD%CLONGNAME  = 'VM1'
@@ -2638,7 +2638,7 @@ IF (LVORT) THEN
   ENDIF
 !    
 ! Vorticity z
-  ZWORK31(:,:,:)=MXF(MYF(MZM(1,IKU,1,ZVOZ(:,:,:))))
+  ZWORK31(:,:,:)=MXF(MYF(MZM(ZVOZ(:,:,:))))
   TZFIELD%CMNHNAME   = 'WM1'
   TZFIELD%CSTDNAME   = ''
   TZFIELD%CLONGNAME  = 'WM1'
@@ -2703,8 +2703,8 @@ IF (LMOIST_V .AND. (NRR>0) ) THEN
   ZWORK31(:,:,:)=GX_M_M(1,IKU,1,ZTHETAV,XDXX,XDZZ,XDZX)
   ZWORK32(:,:,:)=GY_M_M(1,IKU,1,ZTHETAV,XDYY,XDZZ,XDZY)
   ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,ZTHETAV,XDZZ)
-  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
-               + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(MYF(ZVOX(:,:,:)))     &
+               + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:)))     &
                + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
   ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:)
   TZFIELD%CMNHNAME   = 'POVOV'
@@ -2749,8 +2749,8 @@ IF (LMOIST_E .AND. (NRR>0) ) THEN
   ZWORK31(:,:,:)=GX_M_M(1,IKU,1,ZTHETAE,XDXX,XDZZ,XDZX)
   ZWORK32(:,:,:)=GY_M_M(1,IKU,1,ZTHETAE,XDYY,XDZZ,XDZY)
   ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,ZTHETAE,XDZZ)
-  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
-                + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(MYF(ZVOX(:,:,:)))     &
+                + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:)))     &
                 + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
   ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:)
   TZFIELD%CMNHNAME   = 'POVOE'
@@ -2796,8 +2796,8 @@ IF (LMOIST_ES .AND. (NRR>0) ) THEN
   ZWORK31(:,:,:)=GX_M_M(1,IKU,1,ZTHETAES,XDXX,XDZZ,XDZX)
   ZWORK32(:,:,:)=GY_M_M(1,IKU,1,ZTHETAES,XDYY,XDZZ,XDZY)
   ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,ZTHETAES,XDZZ)
-  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
-                + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+  ZWORK34(:,:,:)= ZWORK31(:,:,:)*MZF(MYF(ZVOX(:,:,:)))     &
+                + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:)))     &
                 + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
   ZWORK34(:,:,:)=ZWORK34(:,:,:)*1E6/XRHODREF(:,:,:)
   TZFIELD%CMNHNAME   = 'POVOES'
@@ -3496,7 +3496,7 @@ ENDIF
 !* B-V frequency to assess thermal tropopause
 !
 IF (LBV_FR) THEN
-  ZWORK32(:,:,:)=DZM(1,IKU,1,XTHT(:,:,:))/ MZM(1,IKU,1,XTHT(:,:,:))
+  ZWORK32(:,:,:)=DZM(XTHT(:,:,:))/ MZM(XTHT(:,:,:))
   DO JK=1,IKU
    DO JJ=1,IJU
     DO JI=1,IIU
@@ -3522,7 +3522,7 @@ IF (LBV_FR) THEN
   CALL IO_Field_write(TPFILE,TZFIELD,ZWORK31)
 !  
   IF (NRR > 0) THEN
-    ZWORK32(:,:,:)=DZM(1,IKU,1,ZTHETAE(:,:,:))/ MZM(1,IKU,1,ZTHETAE(:,:,:))
+    ZWORK32(:,:,:)=DZM(ZTHETAE(:,:,:))/ MZM(ZTHETAE(:,:,:))
     DO JK=1,IKU
      DO JJ=1,IJU
       DO JI=1,IIU
diff --git a/src/MNH/write_lfifm1_for_diag_supp.f90 b/src/MNH/write_lfifm1_for_diag_supp.f90
index 4908ec514..a55567a21 100644
--- a/src/MNH/write_lfifm1_for_diag_supp.f90
+++ b/src/MNH/write_lfifm1_for_diag_supp.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2000-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -420,7 +420,7 @@ IF (LCLD_COV .AND. LUSERC) THEN
   ZCLMR=1.E-4         ! detection of clouds for cloud mixing ratio > .1g/kg
 !
   GMASK2(:,:)=.TRUE.
-  ZWORK31(:,:,:)= MZM(1,IKU,1, XRT(:,:,:,2) ) ! cloud mixing ratio at zz levels
+  ZWORK31(:,:,:)= MZM( XRT(:,:,:,2) ) ! cloud mixing ratio at zz levels
   DO JK=IKE,IKB,-1
     WHERE ( (GMASK2(:,:)).AND.(ZWORK31(:,:,JK)>ZCLMR) )
       GMASK2(:,:)=.FALSE.
@@ -430,7 +430,7 @@ IF (LCLD_COV .AND. LUSERC) THEN
 !
   IF (LUSERI) THEN
     GMASK2(:,:)=.TRUE.
-    ZWORK31(:,:,:)= MZM(1,IKU,1, XRT(:,:,:,4) ) ! cloud mixing ratio at zz levels
+    ZWORK31(:,:,:)= MZM( XRT(:,:,:,4) ) ! cloud mixing ratio at zz levels
     DO JK=IKE,IKB,-1
       WHERE ( (GMASK2(:,:)).AND.(ZWORK31(:,:,JK)>ZCLMR) )
         GMASK2(:,:)=.FALSE.
@@ -466,7 +466,7 @@ IF (LCLD_COV .AND. LUSERC) THEN
 !  Higher top of the different species of clouds
 !
   IWORK1(:,:)=IKB  ! initialization with the ground values
-  ZWORK31(:,:,:)=MZM(1,IKU,1,ZTEMP(:,:,:)) ! temperature (K) at zz levels
+  ZWORK31(:,:,:)=MZM(ZTEMP(:,:,:)) ! temperature (K) at zz levels
   IF(CRAD/='NONE')  ZWORK31(:,:,IKB)=XTSRAD(:,:)
   ZWORK21(:,:)=0.
   ZWORK22(:,:)=0.
@@ -1124,7 +1124,7 @@ ALLOCATE(ZWORK34(IIU,IJU,IKU))
 ! *********************
 ! Geopotential in meters
 ! *********************
-  ZWORK31(:,:,:) = MZF(1,IKU,1,XZZ(:,:,:))
+  ZWORK31(:,:,:) = MZF(XZZ(:,:,:))
   CALL PINTER(ZWORK31, XPABST, XZZ, ZTEMP, ZWRES, ZPRES, &
            IIU, IJU, IKU, IKB, IPRES, 'LOG', 'RHU.')
   DO JK=1,IPRES
@@ -1203,8 +1203,8 @@ ALLOCATE(ZWORK34(IIU,IJU,IKU))
   ZWORK31(:,:,:)=GX_M_M(1,IKU,1,XTHT,XDXX,XDZZ,XDZX)
   ZWORK32(:,:,:)=GY_M_M(1,IKU,1,XTHT,XDYY,XDZZ,XDZY)
   ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,XTHT,XDZZ)
-  ZPOVO(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
-  + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+  ZPOVO(:,:,:)= ZWORK31(:,:,:)*MZF(MYF(ZVOX(:,:,:)))     &
+  + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:)))     &
    + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
   ZPOVO(:,:,:)= ZPOVO(:,:,:)*1E6/XRHODREF(:,:,:)
   ZPOVO(:,:,1)  =-1.E+11
@@ -1352,8 +1352,8 @@ IF (LISOAL .AND.XISOAL(1)/=0.) THEN
   ZWORK31(:,:,:)=GX_M_M(1,IKU,1,XTHT,XDXX,XDZZ,XDZX)
   ZWORK32(:,:,:)=GY_M_M(1,IKU,1,XTHT,XDYY,XDZZ,XDZY)
   ZWORK33(:,:,:)=GZ_M_M(1,IKU,1,XTHT,XDZZ)
-  ZPOVO(:,:,:)= ZWORK31(:,:,:)*MZF(1,IKU,1,MYF(ZVOX(:,:,:)))     &
-  + ZWORK32(:,:,:)*MZF(1,IKU,1,MXF(ZVOY(:,:,:)))     &
+  ZPOVO(:,:,:)= ZWORK31(:,:,:)*MZF(MYF(ZVOX(:,:,:)))     &
+  + ZWORK32(:,:,:)*MZF(MXF(ZVOY(:,:,:)))     &
    + ZWORK33(:,:,:)*(MYF(MXF(ZVOZ(:,:,:))) + ZCORIOZ(:,:,:))
   ZPOVO(:,:,:)= ZPOVO(:,:,:)*1E6/XRHODREF(:,:,:)
   ZPOVO(:,:,1)  =-1.E+11
@@ -1450,7 +1450,7 @@ IF (LCOARSE) THEN
   CALL BLOCKAVG(ZWORK31,IDX,IDX,ZUU_AVG)
   ZWORK31=MYF(ZVT_PRM*ZVT_PRM)
   CALL BLOCKAVG(ZWORK31,IDX,IDX,ZVV_AVG)
-  ZWORK31=MZF(1,IKU,1,ZWT_PRM*ZWT_PRM)
+  ZWORK31=MZF(ZWT_PRM*ZWT_PRM)
   CALL BLOCKAVG(ZWORK31,IDX,IDX,ZWW_AVG)
   CALL BLOCKAVG(XTKET,IDX,IDX,ZWORK31)
   ZWORK31=0.5*( ZUU_AVG+ZVV_AVG+ZWW_AVG ) + ZWORK31
@@ -1480,7 +1480,7 @@ IF (LCOARSE) THEN
   CALL MOVINGAVG(ZWORK31,IDX,IDX,ZUU_AVG)
   ZWORK31=MYF(ZVT_PRM*ZVT_PRM)
   CALL MOVINGAVG(ZWORK31,IDX,IDX,ZVV_AVG)
-  ZWORK31=MZF(1,IKU,1,ZWT_PRM*ZWT_PRM)
+  ZWORK31=MZF(ZWT_PRM*ZWT_PRM)
   CALL MOVINGAVG(ZWORK31,IDX,IDX,ZWW_AVG)
   CALL MOVINGAVG(XTKET,IDX,IDX,ZWORK31)
   ZWORK31=0.5*( ZUU_AVG+ZVV_AVG+ZWW_AVG ) + ZWORK31
diff --git a/src/MNH/zdiffusetup.f90 b/src/MNH/zdiffusetup.f90
index 3b7abb83c..955853512 100644
--- a/src/MNH/zdiffusetup.f90
+++ b/src/MNH/zdiffusetup.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2006-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2006-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -151,7 +151,7 @@ ALLOCATE (ZN4HGTI_HALO2(IIB-2:IIE+2,IJB-2:IJE+2),ZN4HGTJ_HALO2(IIB-2:IIE+2,IJB-2
 NULLIFY(TZHGTMASS_ll,TZHGTHALO2_ll)
 
 ! Compute height field at mass points
-ZZMASS = MZF(1,IKU,1,PZZ)
+ZZMASS = MZF(PZZ)
 
 CALL INIT_HALO2_ll(TZHGTHALO2_ll,1,IIU,IJU,IKU)
 CALL ADD3DFIELD_ll( TZHGTMASS_ll, ZZMASS, 'ZDIFFUSETUP::ZZMASS' )
-- 
GitLab