From 0cf61be61bf2f64e2f03b9c3264f6fd0e88b09df Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Wed, 4 Jan 2023 11:53:14 +0100
Subject: [PATCH] Quentin 04/01/2023: add new file

---
 src/arome/ext/aroini_mfshal.F90 | 86 +++++++++++++++++++++++++++++++++
 src/arome/ext/aroini_mfshal.h   | 34 +++++++++++++
 2 files changed, 120 insertions(+)
 create mode 100644 src/arome/ext/aroini_mfshal.F90
 create mode 100644 src/arome/ext/aroini_mfshal.h

diff --git a/src/arome/ext/aroini_mfshal.F90 b/src/arome/ext/aroini_mfshal.F90
new file mode 100644
index 000000000..d0a043722
--- /dev/null
+++ b/src/arome/ext/aroini_mfshal.F90
@@ -0,0 +1,86 @@
+SUBROUTINE AROINI_MFSHAL(PALP_PERT,PABUO,PBENTR,PBDETR,PCMF,PENTR_MF,PCRAD_MF,PENTR_DRY,&
+ &          PDETR_DRY,PDETR_LUP,PKCF_MF,PKRC_MF,PTAUSIGMF,PPRES_UV,PFRAC_UP_MAX,&
+ &          PALPHA_MF,PSIGMA_MF,PA1,PB,PC,PBETA1,PR,PLAMBDA)
+ 
+USE PARKIND1, ONLY : JPRB
+USE YOMHOOK , ONLY : LHOOK, DR_HOOK
+!**** *AROINI_MFSHAL*   - 
+!     Purpose.
+!     --------
+!           Call Méso-NH routine INI_CMFSHALL 
+!              (setup of constants for Mass Flux scheme of Pergaud et al)
+!
+!**   Interface.
+!     ----------
+!        *CALL* *AROINI_MFSHAL
+
+!        Explicit arguments :
+!        --------------------
+!        None
+
+!        Implicit arguments :
+!        --------------------
+!        
+
+!     Method.
+!     -------
+!        See documentation
+
+!     Externals.
+!     ----------
+
+!     Reference.
+!     ----------
+!        Documentation AROME 
+
+!     Author.
+!     -------
+!        S. Malardel
+
+!     Modifications.
+!     --------------
+!        Original : 07-10-30
+!     ------------------------------------------------------------------
+
+USE MODI_INI_CMFSHALL
+
+IMPLICIT NONE
+
+REAL,   INTENT(IN)   :: PALP_PERT
+REAL,   INTENT(IN)   :: PABUO
+REAL,   INTENT(IN)   :: PBENTR
+REAL,   INTENT(IN)   :: PBDETR
+REAL,   INTENT(IN)   :: PCMF
+REAL,   INTENT(IN)   :: PENTR_MF
+REAL,   INTENT(IN)   :: PCRAD_MF
+REAL,   INTENT(IN)   :: PENTR_DRY
+REAL,   INTENT(IN)   :: PDETR_DRY
+REAL,   INTENT(IN)   :: PDETR_LUP
+REAL,   INTENT(IN)   :: PKCF_MF
+REAL,   INTENT(IN)   :: PKRC_MF
+REAL,   INTENT(IN)   :: PTAUSIGMF
+REAL,   INTENT(IN)   :: PPRES_UV
+REAL,   INTENT(IN)   :: PFRAC_UP_MAX
+REAL,   INTENT(IN)   :: PALPHA_MF
+REAL,   INTENT(IN)   :: PSIGMA_MF
+REAL,   INTENT(IN)   :: PA1
+REAL,   INTENT(IN)   :: PB
+REAL,   INTENT(IN)   :: PC
+REAL,   INTENT(IN)   :: PBETA1   
+REAL,   INTENT(IN)   :: PR   
+REAL,   INTENT(IN)   :: PLAMBDA   
+
+!     ------------------------------------------------------------------
+
+!         1. Set implicit default values for MODD_CMFSHALL
+
+REAL(KIND=JPRB) :: ZHOOK_HANDLE
+IF (LHOOK) CALL DR_HOOK('AROINI_MFSHAL',0,ZHOOK_HANDLE)
+CALL INI_CMFSHALL(PALP_PERT,PABUO,PBENTR,PBDETR,PCMF,PENTR_MF,PCRAD_MF,PENTR_DRY,&
+ &          PDETR_DRY,PDETR_LUP,PKCF_MF,PKRC_MF,PTAUSIGMF,PPRES_UV,PFRAC_UP_MAX,&
+ &          PALPHA_MF,PSIGMA_MF,PA1,PB,PC,PBETA1,PR,PLAMBDA)
+
+!     ------------------------------------------------------------------
+IF (LHOOK) CALL DR_HOOK('AROINI_MFSHAL',1,ZHOOK_HANDLE)
+RETURN
+END SUBROUTINE AROINI_MFSHAL
diff --git a/src/arome/ext/aroini_mfshal.h b/src/arome/ext/aroini_mfshal.h
new file mode 100644
index 000000000..2d1b49422
--- /dev/null
+++ b/src/arome/ext/aroini_mfshal.h
@@ -0,0 +1,34 @@
+INTERFACE
+SUBROUTINE AROINI_MFSHAL(PALP_PERT,PABUO,PBENTR,PBDETR,PCMF,PENTR_MF,PCRAD_MF,PENTR_DRY,&
+ &          PDETR_DRY,PDETR_LUP,PKCF_MF,PKRC_MF,PTAUSIGMF,PPRES_UV,PFRAC_UP_MAX,&
+ &          PALPHA_MF,PSIGMA_MF,PA1,PB,PC,PBETA1,PR,PLAMBDA)
+
+      USE PARKIND1, ONLY : JPRB
+      USE YOMHOOK , ONLY : LHOOK, DR_HOOK
+
+REAL(KIND=JPRB),   INTENT(IN)   :: PALP_PERT
+REAL(KIND=JPRB),   INTENT(IN)   :: PABUO
+REAL(KIND=JPRB),   INTENT(IN)   :: PBENTR
+REAL(KIND=JPRB),   INTENT(IN)   :: PBDETR
+REAL(KIND=JPRB),   INTENT(IN)   :: PCMF
+REAL(KIND=JPRB),   INTENT(IN)   :: PENTR_MF
+REAL(KIND=JPRB),   INTENT(IN)   :: PCRAD_MF
+REAL(KIND=JPRB),   INTENT(IN)   :: PENTR_DRY
+REAL(KIND=JPRB),   INTENT(IN)   :: PDETR_DRY
+REAL(KIND=JPRB),   INTENT(IN)   :: PDETR_LUP
+REAL(KIND=JPRB),   INTENT(IN)   :: PKCF_MF
+REAL(KIND=JPRB),   INTENT(IN)   :: PKRC_MF
+REAL(KIND=JPRB),   INTENT(IN)   :: PTAUSIGMF
+REAL(KIND=JPRB),   INTENT(IN)   :: PPRES_UV
+REAL(KIND=JPRB),   INTENT(IN)   :: PFRAC_UP_MAX
+REAL(KIND=JPRB),   INTENT(IN)   :: PALPHA_MF
+REAL(KIND=JPRB),   INTENT(IN)   :: PSIGMA_MF
+REAL(KIND=JPRB),   INTENT(IN)   :: PA1
+REAL(KIND=JPRB),   INTENT(IN)   :: PB
+REAL(KIND=JPRB),   INTENT(IN)   :: PC
+REAL(KIND=JPRB),   INTENT(IN)   :: PBETA1   
+REAL(KIND=JPRB),   INTENT(IN)   :: PR
+REAL(KIND=JPRB),   INTENT(IN)   :: PLAMBDA   
+
+END SUBROUTINE AROINI_MFSHAL
+END INTERFACE
-- 
GitLab