diff --git a/src/arome/ext/suphmpa.F90 b/src/arome/ext/suphmpa.F90
new file mode 100644
index 0000000000000000000000000000000000000000..daf5547b6fb37826f7425725a6a4e4d3f211ea44
--- /dev/null
+++ b/src/arome/ext/suphmpa.F90
@@ -0,0 +1,262 @@
+SUBROUTINE SUPHMPA(YDGEOMETRY,YDLDDH,YDML_GCONF,YDML_PHY_MF,KULOUT)
+
+!**** *SUPHMPA*   - Initialize common meso_NH MODD_ used in physics for AROME
+
+!     Purpose.
+!     --------
+!           Initialize MODD_PARAMETERS, MODD_CST, MODD_CONF,
+!           MODD_RAIN_ICE_DESCR, MODD_RAIN_ICE_PARAM, MODD_BUDGET  
+!           parameters used in meso_NH Physics and aladin/meso_NH physics
+!           interface 
+
+!**   Interface.
+!     ----------
+!        *CALL* *SUPHMPA(KULOUT)
+
+!        Explicit arguments :
+!        --------------------
+!        KULOUT : Logical unit for the output
+
+!        Implicit arguments :
+!        --------------------
+!        COMMON YOMPHY2
+
+!     Method.
+!     -------
+!        See documentation
+
+!     Externals.
+!     ----------
+
+!     Reference.
+!     ----------
+!        Documentation AROME 
+
+!     Author.
+!     -------
+!       R. Zaaboul
+!        Original : 28-Feb-2006
+
+!     Modifications.
+!     --------------
+!           E. BAZILE : 01-09-2006 : Modified for LCVPPKF.
+!        Y. Seity : 28-March-2007 Move chemistry setup under suphmse       
+!        O.Riviere: 01/10/2008 removal of call to now obsolete aro_iniapft
+!        S.Riette: 24 Aug 2011 add call to AROINI_NEB
+!        Y.Seity: 9 Feb 2014 : add autoconversion setup (*CRIAUT*)
+!        Y.Seity: 12 Nov  2014 : add test on NGFL_EZDIAG
+!        S. Riette (Jan 2015): new ICE3 and ICE4 parameters with new aroini_micro interface
+!     ------------------------------------------------------------------
+
+USE MODEL_GENERAL_CONF_MOD , ONLY : MODEL_GENERAL_CONF_TYPE
+USE MODEL_PHYSICS_MF_MOD , ONLY : MODEL_PHYSICS_MF_TYPE
+USE GEOMETRY_MOD , ONLY : GEOMETRY
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
+
+
+USE YOMLDDH   , ONLY : TLDDH
+USE YOMCT0 ,ONLY : LTWOTL, LELAM
+
+USE MODD_BUDGET, ONLY : TBUCONF_ASSOCIATE
+
+!     ------------------------------------------------------------------
+
+IMPLICIT NONE
+
+TYPE(GEOMETRY)    ,INTENT(IN)    :: YDGEOMETRY
+TYPE(TLDDH)       ,INTENT(INOUT) :: YDLDDH
+TYPE(MODEL_GENERAL_CONF_TYPE),INTENT(INOUT):: YDML_GCONF
+TYPE(MODEL_PHYSICS_MF_TYPE),INTENT(INOUT):: YDML_PHY_MF
+INTEGER(KIND=JPIM),INTENT(IN)    :: KULOUT
+
+!     ------------------------------------------------------------------
+
+INTEGER(KIND=JPIM)   :: ILON
+INTEGER(KIND=JPIM)   :: ILEV
+INTEGER(KIND=JPIM)   :: ISV
+INTEGER(KIND=JPIM)   :: IRR
+
+REAL(KIND=JPRB) :: ZTSTEP
+REAL(KIND=JPRB) :: ZHOOK_HANDLE
+
+!-- Next five strings are kept in modules in MNH, not in AROME !!!
+!   ( here they are hardcoded for use in AROINI_BUDGET )
+
+CHARACTER (LEN=4)   :: CLUOUT     ! name of output listing
+CHARACTER (LEN=4)   :: CLTURB     ! Kind of turbulence parameterization
+CHARACTER (LEN=4)   :: CLTURBDIM  ! dimensionality of the turbulence scheme
+CHARACTER (LEN=4)   :: CLRAD      ! Kind of radiation scheme
+CHARACTER (LEN=4)   :: CLDCONV    ! Kind of deep convection scheme
+CHARACTER (LEN=4)   :: CLSCONV    ! Kind of shallow convection scheme
+CHARACTER (LEN=4)   :: CLCLOUD    ! Kind of microphysical scheme
+CHARACTER (LEN=4)   :: CLMET_ADV_SCHEME ! type of advection scheme for meteorological scalar variables
+CHARACTER (LEN=4)   :: CLSV_ADV_SCHEME  ! type of advection scheme for tracer scalar variables
+
+LOGICAL :: LLNOTMAP
+!     ------------------------------------------------------------------
+
+#include "sucvmnh.intfb.h"
+#include "aroini_cstmnh.h"
+#include "aroini_micro.h"
+#include "aro_subudget.h"
+#include "aroini_budget.h"
+#include "aroini_turb.h"
+#include "abor1.intfb.h"
+#include "aroini_mfshal.h"
+
+#include "aroini_micro_lima.h"
+
+IF (LHOOK) CALL DR_HOOK('SUPHMPA',0,ZHOOK_HANDLE)
+ASSOCIATE(YDDIM=>YDGEOMETRY%YRDIM,YDDIMV=>YDGEOMETRY%YRDIMV,YDGEM=>YDGEOMETRY%YRGEM, YDMP=>YDGEOMETRY%YRMP, &
+  & YDPHY=>YDML_PHY_MF%YRPHY,YDRIP=>YDML_GCONF%YRRIP,YDARPHY=>YDML_PHY_MF%YRARPHY,YDPARAR=>YDML_PHY_MF%YRPARAR)
+ASSOCIATE(XDETR_LUP=>YDPARAR%XDETR_LUP, XCMF=>YDPARAR%XCMF, &
+ & XBDETR=>YDPARAR%XBDETR, XLINI=>YDPARAR%XLINI, XABUO=>YDPARAR%XABUO, &
+ & XLAMBDA=>YDPARAR%XLAMBDA, RT0CRIAUTI=>YDPARAR%RT0CRIAUTI, &
+ & XKCF_MF=>YDPARAR%XKCF_MF, XALP_PERT=>YDPARAR%XALP_PERT, &
+ & NSPLITR=>YDPARAR%NSPLITR, NSPLITG=>YDPARAR%NSPLITG, XSIGMA_MF=>YDPARAR%XSIGMA_MF, XA1=>YDPARAR%XA1, &
+ & CMICRO=>YDPARAR%CMICRO, XENTR_DRY=>YDPARAR%XENTR_DRY, &
+ & XENTR_MF=>YDPARAR%XENTR_MF, CSEDIM=>YDPARAR%CSEDIM, NSV=>YDPARAR%NSV, &
+ & XFRAC_UP_MAX=>YDPARAR%XFRAC_UP_MAX, XB=>YDPARAR%XB, XC=>YDPARAR%XC, &
+ & XTAUSIGMF=>YDPARAR%XTAUSIGMF, RCRIAUTC=>YDPARAR%RCRIAUTC, &
+ & XDETR_DRY=>YDPARAR%XDETR_DRY, XR=>YDPARAR%XR, RCRIAUTI=>YDPARAR%RCRIAUTI, &
+ & LOWARM=>YDPARAR%LOWARM, XBENTR=>YDPARAR%XBENTR, XBETA1=>YDPARAR%XBETA1, &
+ & LAROBU_ENABLE=>YDPARAR%LAROBU_ENABLE, LCRIAUTI=>YDPARAR%LCRIAUTI, &
+ & XKRC_MF=>YDPARAR%XKRC_MF, XALPHA_MF=>YDPARAR%XALPHA_MF, &
+ & XPRES_UV=>YDPARAR%XPRES_UV, NRR=>YDPARAR%NRR, XCRAD_MF=>YDPARAR%XCRAD_MF, &
+ & CMF_UPDRAFT=>YDPARAR%CMF_UPDRAFT, LHARATU=>YDPARAR%LHARATU, &
+ & LMPA=>YDARPHY%LMPA, LKFBCONV=>YDARPHY%LKFBCONV, LMFSHAL=>YDARPHY%LMFSHAL, &
+ & LMICRO=>YDARPHY%LMICRO, LTURB=>YDARPHY%LTURB, LGRADHPHY=>YDARPHY%LGRADHPHY, &
+ & NPROMA=>YDDIM%NPROMA, &
+ & LEDKF=>YDPHY%LEDKF, LCVPPKF=>YDPHY%LCVPPKF, &
+ & NFLEVG=>YDDIMV%NFLEVG, &
+ & LSDDH=>YDLDDH%LSDDH, TSTEP=>YDRIP%TSTEP, &
+ & XTSTEP_TS=>YDPARAR%XTSTEP_TS, CSNOWRIMING=>YDPARAR%CSNOWRIMING, XMRSTEP=>YDPARAR%XMRSTEP,&
+ & NMAXITER_MICRO=>YDPARAR%NMAXITER_MICRO, LFEEDBACKT=>YDPARAR%LFEEDBACKT, LEVLIMIT=>YDPARAR%LEVLIMIT, &
+ & LNULLWETG=>YDPARAR%LNULLWETG, LWETGPOST=>YDPARAR%LWETGPOST, LNULLWETH=>YDPARAR%LNULLWETH,&
+ & LWETHPOST=>YDPARAR%LWETHPOST, XFRACM90=>YDPARAR%XFRACM90, LCONVHG=>YDPARAR%LCONVHG, &
+ & CSUBG_RC_RR_ACCR=>YDPARAR%CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP=>YDPARAR%CSUBG_RR_EVAP, &
+ & CSUBG_PR_PDF=>YDPARAR%CSUBG_PR_PDF, LCRFLIMIT=>YDPARAR%LCRFLIMIT, &
+ & CFRAC_ICE_ADJUST=>YDPARAR%CFRAC_ICE_ADJUST, XSPLIT_MAXCFL=>YDPARAR%XSPLIT_MAXCFL,&
+ & CFRAC_ICE_SHALLOW_MF=>YDPARAR%CFRAC_ICE_SHALLOW_MF, LSEDIM_AFTER=>YDPARAR%LSEDIM_AFTER,&
+ & LDEPOSC=>YDPARAR%LDEPOSC, XVDEPOSC=>YDPARAR%XVDEPOSC)
+!     ------------------------------------------------------------------
+!     ------------------------------------------------------------------
+!       1. Initialisation of MesoNH constantes
+
+IF (LELAM) THEN
+  LLNOTMAP=.NOT.YDGEOMETRY%YREGEO%LMAP
+ELSE
+  LLNOTMAP=.TRUE.
+ENDIF
+CALL AROINI_CSTMNH (KULOUT,LTWOTL,LLNOTMAP)
+
+!       2. Initialisation for microphysics scheme
+
+ZTSTEP=TSTEP
+IF (CMICRO == 'LIMA') THEN
+   CALL AROINI_MICRO (KULOUT,ZTSTEP,LOWARM,'ICE3',NSPLITR,CSEDIM,LCRIAUTI,&
+        &             RCRIAUTI,RT0CRIAUTI,RCRIAUTC, XTSTEP_TS, CSNOWRIMING, XMRSTEP,&
+ &                    NMAXITER_MICRO, LFEEDBACKT, LEVLIMIT, LNULLWETG, LWETGPOST, LNULLWETH,&
+ &                    LWETHPOST, XFRACM90, LCONVHG, CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP, CSUBG_PR_PDF,&
+ &                    LCRFLIMIT, CFRAC_ICE_ADJUST, XSPLIT_MAXCFL,&
+ &                    CFRAC_ICE_SHALLOW_MF, LSEDIM_AFTER, LDEPOSC, XVDEPOSC)
+   CALL AROINI_MICRO_LIMA (KULOUT,4,ZTSTEP,LOWARM,CMICRO,NSPLITR,NSPLITG,CSEDIM,LCRIAUTI,&
+        &                 RCRIAUTI,RT0CRIAUTI,RCRIAUTC)
+ELSE
+CALL AROINI_MICRO (KULOUT,ZTSTEP,LOWARM,CMICRO,NSPLITR,CSEDIM,LCRIAUTI,&
+ &                 RCRIAUTI,RT0CRIAUTI,RCRIAUTC,XTSTEP_TS, CSNOWRIMING, XMRSTEP,&
+ &                 NMAXITER_MICRO, LFEEDBACKT, LEVLIMIT, LNULLWETG, LWETGPOST, LNULLWETH,&
+ &                 LWETHPOST, XFRACM90, LCONVHG, CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP, CSUBG_PR_PDF,&
+ &                 LCRFLIMIT, CFRAC_ICE_ADJUST, XSPLIT_MAXCFL,&
+ &                 CFRAC_ICE_SHALLOW_MF, LSEDIM_AFTER, LDEPOSC, XVDEPOSC)
+ ENDIF
+
+!       3. Initialisation of Budget
+
+ILON = NPROMA
+ILEV = NFLEVG
+ISV  = NSV
+IRR  = NRR
+
+CALL TBUCONF_ASSOCIATE()
+IF (LMPA.AND.LSDDH) THEN
+LAROBU_ENABLE=.TRUE.
+CALL ARO_SUBUDGET(ILON,ILEV,ZTSTEP)
+ENDIF
+ 
+!! WARNING:
+!!    Values of CLRAD,CLDCONV,CLTURB,CLTURBDIM, CLCLOUD
+!!    are hard coded here. In MNH they are saved
+!!    in modules.
+ 
+CLUOUT     = 'AIBUO'
+CLRAD      = 'NONE'
+CLSCONV    = CMF_UPDRAFT
+CLMET_ADV_SCHEME='XXXX'
+CLSV_ADV_SCHEME='XXXX'
+
+IF(LKFBCONV.OR.LCVPPKF) THEN
+  CLDCONV    = 'KAFR'
+ELSE
+  CLDCONV    = 'NONE'
+ENDIF
+ 
+IF(LTURB) THEN
+  CLTURB    = 'XXXX'
+  CLTURBDIM = '1DIM'
+ELSE
+  CLTURB    = 'NONE'
+  CLTURBDIM = 'NONE'
+ENDIF
+ 
+IF(LMICRO) THEN
+  CLCLOUD = CMICRO
+ELSE
+  CLCLOUD = 'NONE'
+ENDIF
+ 
+IF (LMPA.AND.LSDDH) THEN
+CALL AROINI_BUDGET(LAROBU_ENABLE,CLUOUT,KULOUT,ZTSTEP,ISV,IRR,&
+                   & CLRAD,CLDCONV,CLSCONV,CLTURB,CLTURBDIM,&
+                   & CLCLOUD,CLMET_ADV_SCHEME, CLSV_ADV_SCHEME)
+
+
+ENDIF
+
+
+!       4. Initialisation of Turbulence scheme
+
+CALL AROINI_TURB(XLINI,LHARATU)
+
+!       5. Initialisation of Mass Flux Shallow convection scheme
+
+IF(LMFSHAL.OR.LEDKF) CALL AROINI_MFSHAL(XALP_PERT,XABUO,XBENTR,XBDETR,XCMF,XENTR_MF,XCRAD_MF,XENTR_DRY,&
+ &          XDETR_DRY,XDETR_LUP,XKCF_MF,XKRC_MF,XTAUSIGMF,XPRES_UV,XFRAC_UP_MAX,&
+ &          XALPHA_MF,XSIGMA_MF,XA1,XB,XC,XBETA1,XR,XLAMBDA)
+
+IF (LMFSHAL.AND.YDML_GCONF%YGFL%NGFL_EZDIAG < 3) THEN
+  CALL ABOR1 ("With LMFSHAL NGFL_EZDIAG should be >= 3 !")
+ENDIF
+
+!       6. Initialisation of Convection scheme
+
+IF(LKFBCONV.OR.LCVPPKF) THEN
+  CALL SUCVMNH(YDML_PHY_MF,KULOUT)
+ENDIF
+
+!       7. Initialisation of nebulosity computation
+
+CALL AROINI_NEB
+
+!       8. Initialisation of The Horizontal Gradient on Z levels for 3D turbulence 
+!       Quand il y aura des initialisations 
+IF (LGRADHPHY .AND. .NOT. LELAM) THEN
+  CALL ABOR1 ("With LGRADHPHY, LELAM should be TRUE !")
+ENDIF
+
+! -----------------------------------------------------------------------
+END ASSOCIATE
+END ASSOCIATE
+IF (LHOOK) CALL DR_HOOK('SUPHMPA',1,ZHOOK_HANDLE)
+END SUBROUTINE SUPHMPA