From b171c0a1555ab720097db7992eaf4df2ffdf964d Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 28 Jan 2020 10:38:52 +0100
Subject: [PATCH] Philippe 28/01/2020: budget: transform modi_ini_budget in
 mode_ini_budget

---
 src/MNH/ini_budget.f90 | 74 +++++++-----------------------------------
 src/MNH/ini_modeln.f90 |  4 +--
 2 files changed, 14 insertions(+), 64 deletions(-)

diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90
index dda75ce4b..ada397064 100644
--- a/src/MNH/ini_budget.f90
+++ b/src/MNH/ini_budget.f90
@@ -3,68 +3,16 @@
 !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_INI_BUDGET
-!     ###################### 
-INTERFACE
-      SUBROUTINE INI_BUDGET(KLUOUT,PTSTEP,KSV,KRR,            &
-      ONUMDIFU,ONUMDIFTH,ONUMDIFSV,                                   &
-      OHORELAX_UVWTH,OHORELAX_RV,OHORELAX_RC,OHORELAX_RR,             &
-      OHORELAX_RI,OHORELAX_RS, OHORELAX_RG, OHORELAX_RH,OHORELAX_TKE, & 
-      OHORELAX_SV,OVE_RELAX,OCHTRANS,ONUDGING,ODRAGTREE,ODEPOTREE,    &
-      HRAD,HDCONV,HSCONV,HTURB,HTURBDIM,HCLOUD                        )
-!
-INTEGER,         INTENT(IN) :: KLUOUT   ! Logical unit number for prints
-REAL, INTENT(IN) :: PTSTEP              ! time step
-INTEGER, INTENT(IN) :: KSV              ! number of scalar variables
-INTEGER, INTENT(IN) :: KRR              ! number of moist variables
-LOGICAL, INTENT(IN) :: ONUMDIFU         ! switch to activate the numerical
-                                        ! diffusion for momentum
-LOGICAL, INTENT(IN) :: ONUMDIFTH        ! for meteorological scalar variables
-LOGICAL, INTENT(IN) :: ONUMDIFSV        ! for tracer scalar variables
-LOGICAL, INTENT(IN) :: OHORELAX_UVWTH  ! switch for the
-                       ! horizontal relaxation for U,V,W,TH
-LOGICAL, INTENT(IN) :: OHORELAX_RV     ! switch for the
-                       ! horizontal relaxation for Rv
-LOGICAL, INTENT(IN) :: OHORELAX_RC     ! switch for the
-                       ! horizontal relaxation for Rc
-LOGICAL, INTENT(IN) :: OHORELAX_RR     ! switch for the
-                       ! horizontal relaxation for Rr
-LOGICAL, INTENT(IN) :: OHORELAX_RI     ! switch for the
-                       ! horizontal relaxation for Ri
-LOGICAL, INTENT(IN) :: OHORELAX_RS     ! switch for the
-                       ! horizontal relaxation for Rs
-LOGICAL, INTENT(IN) :: OHORELAX_RG     ! switch for the
-                       ! horizontal relaxation for Rg
-LOGICAL, INTENT(IN) :: OHORELAX_RH     ! switch for the
-                       ! horizontal relaxation for Rh
-LOGICAL, INTENT(IN) :: OHORELAX_TKE    ! switch for the
-                       ! horizontal relaxation for tke
-LOGICAL,DIMENSION(:),INTENT(IN):: OHORELAX_SV     ! switch for the
-                       ! horizontal relaxation for scalar variables
-LOGICAL, INTENT(IN) :: OVE_RELAX        ! switch to activate the vertical 
-                                        ! relaxation
-LOGICAL, INTENT(IN) :: OCHTRANS         ! switch to activate convective 
-                                        !transport for SV
-LOGICAL, INTENT(IN) :: ONUDGING         ! switch to activate nudging
-LOGICAL, INTENT(IN) :: ODRAGTREE        ! switch to activate vegetation drag
-LOGICAL, INTENT(IN) :: ODEPOTREE        ! switch to activate droplet deposition on tree
-CHARACTER (LEN=*), INTENT(IN) :: HRAD   ! type of the radiation scheme
-CHARACTER (LEN=*), INTENT(IN) :: HDCONV ! type of the deep convection scheme
-CHARACTER (LEN=*), INTENT(IN) :: HSCONV ! type of the deep convection scheme
-CHARACTER (LEN=*), INTENT(IN) :: HTURB  ! type of the turbulence scheme
-CHARACTER (LEN=*), INTENT(IN) :: HTURBDIM! dimensionnality of the turbulence 
-                                        ! scheme
-CHARACTER (LEN=*), INTENT(IN) :: HCLOUD ! type of microphysical scheme
-!
-      END SUBROUTINE INI_BUDGET
-!
-END INTERFACE
-!
-END MODULE MODI_INI_BUDGET
-!
-!
-!
+module mode_ini_budget
+
+  implicit none
+
+  private
+
+  public :: Ini_budget
+
+contains
+
 !     #################################################################
       SUBROUTINE INI_BUDGET(KLUOUT,PTSTEP,KSV,KRR,            &
       ONUMDIFU,ONUMDIFTH,ONUMDIFSV,                                   &
@@ -3469,3 +3417,5 @@ ELSE IF (JSV >= NSV_CHEMBEG .AND. JSV <= NSV_CHEMEND) THEN
 !-------------------------------------------------------------------------------
 !
 END SUBROUTINE INI_BUDGET
+
+end module mode_ini_budget
diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index a60f92ef3..9019a9f4a 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_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.
@@ -391,6 +391,7 @@ USE MODD_TURB_n
 USE MODD_VAR_ll,            only: IP
 
 USE MODE_GATHER_ll
+use mode_ini_budget,        only: Ini_budget
 USE MODE_INI_ONE_WAY_n
 USE MODE_IO
 USE MODE_IO_FIELD_READ,     only: IO_Field_read
@@ -419,7 +420,6 @@ USE MODI_INI_AEROSET6
 USE MODI_INI_AIRCRAFT_BALLOON
 USE MODI_INI_AIRCRAFT_BALLOON
 USE MODI_INI_BIKHARDT_n
-USE MODI_INI_BUDGET
 USE MODI_INI_CPL
 USE MODI_INI_DEEP_CONVECTION
 USE MODI_INI_DRAG
-- 
GitLab