From 0b0270cc68158677a1bca971da0f644ee4ad6cac Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 3 Jan 2023 13:21:56 +0100
Subject: [PATCH] Philippe 03/01/2023: correct intent of PDZX and PDZY
 variables (IN->INOUT) (modified by update_halo in contrav)

---
 src/MNH/advection_metsv.f90   |  8 +++---
 src/MNH/advection_uvw.f90     |  8 +++---
 src/MNH/advection_uvw_cen.f90 |  8 +++---
 src/MNH/conjgrad.f90          | 26 +++++++++---------
 src/MNH/conresol.f90          | 26 +++++++++---------
 src/MNH/conresolz.f90         | 26 +++++++++---------
 src/MNH/contrav.f90           | 18 ++++++-------
 src/MNH/gdiv.f90              | 50 +++++++++++++++++------------------
 src/MNH/ini_elecn.f90         | 26 +++++++++---------
 src/MNH/ini_field_elec.f90    | 26 +++++++++---------
 src/MNH/lap_m.f90             | 26 +++++++++---------
 src/MNH/pressure_in_prep.f90  | 22 +++++++--------
 src/MNH/pressurez.f90         |  8 +++---
 src/MNH/qlap.f90              | 50 +++++++++++++++++------------------
 src/MNH/richardson.f90        | 26 +++++++++---------
 src/MNH/viscosity.f90         | 24 ++++++++---------
 16 files changed, 193 insertions(+), 185 deletions(-)

diff --git a/src/MNH/advection_metsv.f90 b/src/MNH/advection_metsv.f90
index 408861cdd..2fb15696c 100644
--- a/src/MNH/advection_metsv.f90
+++ b/src/MNH/advection_metsv.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -47,7 +47,8 @@ REAL, DIMENSION(:,:,:,:), INTENT(IN)    :: PRT , PSVT
                                                   ! Variables at t
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PTHVREF   ! Virtual Temperature
                                           ! of the reference state
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ,PDZX,PDZY
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDZX,PDZY
                                                   !  metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRTHS, PRTKES
 REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS , PRSVS
@@ -234,7 +235,8 @@ REAL, DIMENSION(:,:,:,:), INTENT(IN)    :: PRT , PSVT
                                                   ! Variables at t
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PTHVREF   ! Virtual Temperature
                                           ! of the reference state
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ,PDZX,PDZY
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDZX,PDZY
                                                   !  metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRTHS, PRTKES
 REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS , PRSVS
diff --git a/src/MNH/advection_uvw.f90 b/src/MNH/advection_uvw.f90
index 3603c22ca..d41bc35c8 100644
--- a/src/MNH/advection_uvw.f90
+++ b/src/MNH/advection_uvw.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -31,7 +31,8 @@ REAL,                     INTENT(IN)    :: PTSTEP
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PUT , PVT  , PWT
                                                   ! Variables at t
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PRHODJ
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ,PDZX,PDZY
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDZX,PDZY
                                                   !  metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS , PRVS, PRWS
                                                   ! Sources terms 
@@ -143,7 +144,8 @@ REAL,                     INTENT(IN)    :: PTSTEP
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PUT , PVT  , PWT
                                                   ! Variables at t
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PRHODJ               
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ,PDZX,PDZY
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDZX,PDZY
                                                   !  metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS , PRVS, PRWS
                                                   ! Sources terms
diff --git a/src/MNH/advection_uvw_cen.f90 b/src/MNH/advection_uvw_cen.f90
index 69f0e1206..ddd55cc8b 100644
--- a/src/MNH/advection_uvw_cen.f90
+++ b/src/MNH/advection_uvw_cen.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2013-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2013-2023 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.
@@ -30,7 +30,8 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PUM, PVM, PWM
                                                   ! Variables at t-dt
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDUM, PDVM, PDWM
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PUT , PVT  , PWT, PRHODJ
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ,PDZX,PDZY
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDZX,PDZY
                                                   !  metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS , PRVS  , PRWS
                                                   ! Sources terms 
@@ -133,7 +134,8 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PUM, PVM, PWM
                                                   ! Variables at t-dt
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDUM, PDVM, PDWM
 REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PUT , PVT  , PWT, PRHODJ
-REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ,PDZX,PDZY
+REAL, DIMENSION(:,:,:),   INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PDZX,PDZY
                                                   !  metric coefficients
 REAL, DIMENSION(:,:,:),   INTENT(INOUT) :: PRUS , PRVS  , PRWS
                                                   ! Sources terms 
diff --git a/src/MNH/conjgrad.f90 b/src/MNH/conjgrad.f90
index c38478a7f..f80d9042e 100644
--- a/src/MNH/conjgrad.f90
+++ b/src/MNH/conjgrad.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -18,12 +18,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at time t
@@ -147,12 +147,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at time t
diff --git a/src/MNH/conresol.f90 b/src/MNH/conresol.f90
index 61ae8417a..d7493a23e 100644
--- a/src/MNH/conresol.f90
+++ b/src/MNH/conresol.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1999-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1999-2023 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.
@@ -18,12 +18,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual pot. temp. at time t
@@ -146,12 +146,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual pot. temp. at time t
diff --git a/src/MNH/conresolz.f90 b/src/MNH/conresolz.f90
index ad63b26a5..fb1dc51bd 100644
--- a/src/MNH/conresolz.f90
+++ b/src/MNH/conresolz.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1999-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1999-2023 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.
@@ -20,12 +20,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual pot. temp. at time t
@@ -156,12 +156,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual pot. temp. at time t
diff --git a/src/MNH/contrav.f90 b/src/MNH/contrav.f90
index edb6dcd24..be1726c65 100644
--- a/src/MNH/contrav.f90
+++ b/src/MNH/contrav.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -21,8 +21,8 @@ REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PRWT       ! Cartesian comp along z
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDXX       ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDYY       ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZZ       ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZX       ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZY       ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZY     ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRUCT      ! Contrav comp along x-bar
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRVCT      ! Contrav comp along y-bar
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRWCT      ! Contrav comp along z-bar
@@ -43,8 +43,8 @@ REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PRWT       ! Cartesian comp along z
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDXX       ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDYY       ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZZ       ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZX       ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZY       ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZX       ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZY       ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRUCT      ! Contrav comp along x-bar
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRVCT      ! Contrav comp along y-bar
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRWCT      ! Contrav comp along z-bar
@@ -151,8 +151,8 @@ REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PRWT     ! Cartesian comp along z
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDXX     ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDYY     ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZZ     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZX     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZY     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZY     ! Metric coefficients
 !
 !
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRUCT    ! Contrav comp along x-bar
@@ -554,8 +554,8 @@ REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PRWT     ! Cartesian comp along z
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDXX     ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDYY     ! Metric coefficients
 REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZZ     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZX     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZY     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZY     ! Metric coefficients
 !
 !
 REAL, DIMENSION(:,:,:),  INTENT(OUT)   ::  PRUCT    ! Contrav comp along x-bar
diff --git a/src/MNH/gdiv.f90 b/src/MNH/gdiv.f90
index 1ae26eddf..445c1d908 100644
--- a/src/MNH/gdiv.f90
+++ b/src/MNH/gdiv.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -16,12 +16,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type
 ! 
-                                                 ! Metric coefficients:       
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:       
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
                                                  ! Field components
 REAL, DIMENSION(:,:,:), INTENT(INOUT)  :: PU        ! along x             
@@ -40,12 +40,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:       
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
                                                  ! Field components
 REAL, DIMENSION(:,:,:), INTENT(INOUT)  :: PU        ! along x
@@ -139,12 +139,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type
 ! 
-                                                 ! Metric coefficients:       
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:       
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
                                                  ! Field components
 REAL, DIMENSION(:,:,:), INTENT(INOUT)  :: PU        ! along x             
@@ -410,12 +410,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:       
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
                                                  ! Field components
 REAL, DIMENSION(:,:,:), INTENT(INOUT)  :: PU        ! along x
diff --git a/src/MNH/ini_elecn.f90 b/src/MNH/ini_elecn.f90
index 27ed168cd..1489ba1af 100644
--- a/src/MNH/ini_elecn.f90
+++ b/src/MNH/ini_elecn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2009-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2009-2023 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.
@@ -20,12 +20,12 @@ CHARACTER (LEN=4), INTENT(IN) :: HCLOUD   ! microphysics scheme
 TYPE(TFILEDATA),   INTENT(IN) :: TPINIFILE! Initial file
 REAL,              INTENT(IN) :: PTSTEP   ! Time STEP
 !
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ     ! height z
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX    ! metric coefficient dxx
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY    ! metric coefficient dyy
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ    ! metric coefficient dzz
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZX    ! metric coefficient dzx
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZY    ! metric coefficient dzy
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PZZ     ! height z
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX    ! metric coefficient dxx
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY    ! metric coefficient dyy
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ    ! metric coefficient dzz
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX    ! metric coefficient dzx
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY    ! metric coefficient dzy
 !
 END SUBROUTINE INI_ELEC_n
 END INTERFACE
@@ -130,12 +130,12 @@ CHARACTER (LEN=4), INTENT(IN) :: HCLOUD   ! microphysics scheme
 TYPE(TFILEDATA),   INTENT(IN) :: TPINIFILE! Initial file
 REAL,              INTENT(IN) :: PTSTEP   ! Time STEP
 !
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ     ! height z
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX    ! metric coefficient dxx
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY    ! metric coefficient dyy
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ    ! metric coefficient dzz
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZX    ! metric coefficient dzx
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZY    ! metric coefficient dzy
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PZZ     ! height z
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX    ! metric coefficient dxx
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY    ! metric coefficient dyy
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ    ! metric coefficient dzz
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX    ! metric coefficient dzx
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY    ! metric coefficient dzy
 !
 !*       0.2   declarations of local variables
 !
diff --git a/src/MNH/ini_field_elec.f90 b/src/MNH/ini_field_elec.f90
index c5dcbb79a..49206a1d8 100644
--- a/src/MNH/ini_field_elec.f90
+++ b/src/MNH/ini_field_elec.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2002-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2002-2023 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.
@@ -11,12 +11,12 @@ INTERFACE
 !
       SUBROUTINE INI_FIELD_ELEC (PDXX, PDYY, PDZZ, PDZX, PDZY, PZZ)
 !
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDXX     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDYY     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDZZ     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDZX     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDZY     ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PZZ      ! vertical grid
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDXX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDYY     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZZ     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZY     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PZZ      ! vertical grid
 !
 END SUBROUTINE INI_FIELD_ELEC
 END INTERFACE
@@ -85,12 +85,12 @@ IMPLICIT NONE
 !
 !*	0.1	Declaration of dummy arguments
 !
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDXX  ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDYY  ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDZZ  ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDZX  ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PDZY  ! Metric coefficients
-REAL, DIMENSION(:,:,:),  INTENT(IN) ::  PZZ   ! vertical grid
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDXX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDYY     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PDZZ     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZX     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(INOUT) ::  PDZY     ! Metric coefficients
+REAL, DIMENSION(:,:,:),  INTENT(IN)    ::  PZZ      ! vertical grid
 !
 !*	0.2	Declaration of local variables
 !
diff --git a/src/MNH/lap_m.f90 b/src/MNH/lap_m.f90
index f1936c828..5eceef4f0 100644
--- a/src/MNH/lap_m.f90
+++ b/src/MNH/lap_m.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2007-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2007-2023 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.
@@ -17,12 +17,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density_reference * J
 !
@@ -119,12 +119,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 !
diff --git a/src/MNH/pressure_in_prep.f90 b/src/MNH/pressure_in_prep.f90
index 6219e352f..e5d004e09 100644
--- a/src/MNH/pressure_in_prep.f90
+++ b/src/MNH/pressure_in_prep.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2023 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.
@@ -11,11 +11,11 @@ INTERFACE
 !
       SUBROUTINE PRESSURE_IN_PREP(PDXX,PDYY,PDZX,PDZY,PDZZ)
 !
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDXX     ! metric coefficient dxx
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDYY     ! metric coefficient dyy 
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDZX     ! metric coefficient dzx 
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDZY     ! metric coefficient dzy 
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz  
+REAL,DIMENSION(:,:,:), INTENT(IN)    :: PDXX     ! metric coefficient dxx
+REAL,DIMENSION(:,:,:), INTENT(IN)    :: PDYY     ! metric coefficient dyy 
+REAL,DIMENSION(:,:,:), INTENT(INOUT) :: PDZX     ! metric coefficient dzx 
+REAL,DIMENSION(:,:,:), INTENT(INOUT) :: PDZY     ! metric coefficient dzy 
+REAL,DIMENSION(:,:,:), INTENT(IN)    :: PDZZ     ! metric coefficient dzz  
 !
 END SUBROUTINE PRESSURE_IN_PREP
 !
@@ -97,11 +97,11 @@ IMPLICIT NONE
 !*       0.1   Declaration of dummy arguments
 !              ------------------------------
 !
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDXX     ! metric coefficient dxx
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDYY     ! metric coefficient dyy 
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDZX     ! metric coefficient dzx 
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDZY     ! metric coefficient dzy 
-REAL,DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz  
+REAL,DIMENSION(:,:,:), INTENT(IN)    :: PDXX     ! metric coefficient dxx
+REAL,DIMENSION(:,:,:), INTENT(IN)    :: PDYY     ! metric coefficient dyy 
+REAL,DIMENSION(:,:,:), INTENT(INOUT) :: PDZX     ! metric coefficient dzx 
+REAL,DIMENSION(:,:,:), INTENT(INOUT) :: PDZY     ! metric coefficient dzy 
+REAL,DIMENSION(:,:,:), INTENT(IN)    :: PDZZ     ! metric coefficient dzz  
 !
 !*       0.2   Declaration of local variables
 !              ------------------------------
diff --git a/src/MNH/pressurez.f90 b/src/MNH/pressurez.f90
index 5d6a7a860..8413e2068 100644
--- a/src/MNH/pressurez.f90
+++ b/src/MNH/pressurez.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -39,7 +39,8 @@ REAL, INTENT(IN)    :: PRELAX                    ! relaxation coefficient for
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ     ! density of reference state
                                                  ! * J
 !
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX,PDYY,PDZZ,PDZX,PDZY ! metric coefficients
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX,PDZY ! metric coefficients
 !
 REAL, INTENT(IN) :: PDXHATM                     ! mean grid increment in the x
                                                 ! direction
@@ -293,7 +294,8 @@ REAL, INTENT(IN)    :: PRELAX                    ! relaxation coefficient for
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ     ! density of reference state
                                                  ! * J
 !
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX,PDYY,PDZZ,PDZX,PDZY ! metric coefficients
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX,PDYY,PDZZ
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX,PDZY ! metric coefficients
 !
 REAL, INTENT(IN) :: PDXHATM                     ! mean grid increment in the x
                                                 ! direction
diff --git a/src/MNH/qlap.f90 b/src/MNH/qlap.f90
index a16622cf6..4cd3f0faf 100644
--- a/src/MNH/qlap.f90
+++ b/src/MNH/qlap.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -17,12 +17,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at time t
@@ -44,12 +44,12 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PQLAP ! final divergence
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at time t
@@ -165,12 +165,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at time t
@@ -435,12 +435,12 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PQLAP ! final divergence
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at time t
diff --git a/src/MNH/richardson.f90 b/src/MNH/richardson.f90
index fbce9d7c3..b2a1d2f55 100644
--- a/src/MNH/richardson.f90
+++ b/src/MNH/richardson.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -18,12 +18,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at 
@@ -148,12 +148,12 @@ IMPLICIT NONE
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX    ! x-direction LBC type 
 CHARACTER (LEN=4), DIMENSION(2), INTENT(IN) :: HLBCY    ! y-direction LBC type 
 !
-                                                 ! Metric coefficients:
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDXX      ! d*xx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDYY      ! d*yy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZX      ! d*zx 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZY      ! d*zy 
-REAL, DIMENSION(:,:,:), INTENT(IN)  :: PDZZ      ! d*zz
+                                                   ! Metric coefficients:
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX      ! d*xx 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY      ! d*yy 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX      ! d*zx 
+REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY      ! d*zy 
+REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ      ! d*zz
 !
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PRHODJ    ! density of reference * J
 REAL, DIMENSION(:,:,:), INTENT(IN)  :: PTHETAV   ! virtual potential temp. at 
diff --git a/src/MNH/viscosity.f90 b/src/MNH/viscosity.f90
index 4a9607c8c..c909bd9b0 100644
--- a/src/MNH/viscosity.f90
+++ b/src/MNH/viscosity.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2023 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.
@@ -51,11 +51,11 @@ INTERFACE
 !
       REAL, DIMENSION(:,:), INTENT(IN) :: PDRAG ! Array -1/1 defining where the no-slipcondition is applied
 ! metric coefficients
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZX
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZY
+     REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX
+     REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY
+     REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ
+     REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX
+     REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY
 !
 ! output source terms
      REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PRUS, PRVS, PRWS
@@ -150,12 +150,12 @@ SUBROUTINE VISCOSITY(HLBCX, HLBCY, KRR, KSV, PNU, PPRANDTL,          &
 !
 !
 REAL, DIMENSION(:,:), INTENT(IN) :: PDRAG ! Array -1/1 defining where the no-slip condition is applied
-
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZX
-     REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZY
+! metric coefficients
+     REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDXX
+     REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDYY
+     REAL, DIMENSION(:,:,:), INTENT(IN)    :: PDZZ
+     REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZX
+     REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PDZY
 !
 ! output source terms
      REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PRUS, PRVS, PRWS
-- 
GitLab