diff --git a/src/arome/ext/apl_arome.F90 b/src/arome/ext/apl_arome.F90
index d8fb606880da690e798ff4f9a44a3d3fb4fa0408..e3e8f9c1b0b44cf24cdf9e3617652731dc91e794 100644
--- a/src/arome/ext/apl_arome.F90
+++ b/src/arome/ext/apl_arome.F90
@@ -1,47 +1,10 @@
-!OPTION! -pvctl noloopfusion
-SUBROUTINE APL_AROME(YDGEOMETRY,YDSURF, YDCFU, YDXFU, YDMODEL, KBL, KGPCOMP, KIDIA , KFDIA , KLON ,&
- & KTDIA  , KLEV , KSTEP ,&
- & KMAXDRAFT, KSGST, KNFRRC, PDT, LDXFUMSE, PINDX, PINDY ,&
- & PGEMU,PGELAM,POROG,PGM,PMU0,PMU0LU,PMU0M,PMU0N,PCLON, PSLON,PVO3ABC,PLSM,&
- & PAESEA , PAELAN , PAESOO , PAEDES , PAESUL, PAEVOL,&
- & PGP2DSDT, PGP2DSPP, &
- !---------------------------------------------------------------------
- ! - INPUT A M
- & PAPHIM,PAPHIFM,PAPRSM, PAPRSFM, PRDELPM, PDELPM, PTM, PQVM ,&
- & PCPM    , PRM     ,PALPHM , PLNPRM,&
- & PQCM    , PQIM    ,PQRM   , PQSM, PQGM, PQHM,&
- 
- & PLIMAM  , &
- & PTKEM   , PEFB1   ,PEFB2  , PEFB3,&
- & PSIGM,PSVM,&
- & PUM    , PVM, PWM, PEDR,&
- & PFORCEU,PFORCEV,PFORCET,PFORCEQ,&
- !---------------------------------------------------------------------
- !  - INOUT A S
- & PGPAR, PEMTD, PEMTU, PTRSO,&
- & PGDEOSI, PGUEOSI, PGMU0, PGMU0_MIN, PGMU0_MAX,&
- & PGDEOTI, PGDEOTI2, PGUEOTI, PGUEOTI2, PGEOLT, PGEOXT,&
- & PGRPROX, PGMIXP, PGFLUXC, PGRSURF,&
- & PTURB3D,&
- !  - OUT A S
- & PQLRAD, PQIRAD, PRH, PCLFS, PSIGS,&
- & PTENDT, PTENDR, PTENDU, PTENDV,PTENDW,&
-
- & PTENDLIMA, &
- & PTENDTKE, PTENDEFB1, PTENDEFB2, PTENDEFB3,&
- & PTENDEXT,PFRTH, PFRSO,PFRTHDS, PFRSODS, PFRSOPS, PFRSDNI,&
- & PFRSOPT, PFRTHC, PFRSOC, &
- !---------------------------------------------------------------------
- !  - IN FOR RADIATION IF NO SURFACE SCHEME
- & PALBIN,PEMIS,&
- !  - INOUT for easy diag
- & PEZDIAG,&
- !  - INOUT for CFU XFU
- & PCLCH,PCLCL,PCLCM,PCLCT,PFPLSL,PFPLSN,PFPLSG,PFPLSH,PSTRTU,PSTRTV,PFCS,PFCLL,&
- & PFCLN,PUCLS,PVCLS,PNUCLS,PNVCLS,PTCLS,PQCLS,PHUCLS,PUGST,PVGST,PFEVL,PFEVN, PPBLH,PSPSG,PSPSGR,&
- & PSDUR,PDIAGH,PFLASH,PSFORC,PTPWCLS,PDPRECIPS,PDPRECIPS2,PVISICLD,PVISIHYDRO,PMXCLWC,&
- ! daand: radflex
- & YDPROCSET ,YDDDH)
+#ifdef RS6K
+@PROCESS NOCHECK
+#endif
+SUBROUTINE APL_AROME(YDCST, YDMF_PHYS_BASE_STATE, YDMF_PHYS_NEXT_STATE, YDGEOMETRY, YDCPG_BNDS, YDCPG_OPTS, &
+& YDCPG_MISC, YDCPG_GPAR, YDCPG_PHY0, YDCPG_PHY9, YDMF_PHYS, YDCPG_DYN0, YDCPG_DYN9, YDMF_PHYS_SURF, &
+& YDCPG_SL1, YDVARS, YDGMV, YDSURF, YDCFU, YDXFU, YDMODEL, PGFL, PGP2DSDT, PGMVT1,  &
+& PGFLT1, PTRAJ_PHYS, YDDDH)
 
 !**** *APL_AROME * - CALL OF PHYSICAL PARAMETERISATIONS FOR ALARO/AROME
 
@@ -62,75 +25,30 @@ SUBROUTINE APL_AROME(YDGEOMETRY,YDSURF, YDCFU, YDXFU, YDMODEL, KBL, KGPCOMP, KID
 ! - NOM DES PARAMETRES DE DIMENSIONNEMENT DE LA PHYSIQUE.
 ! - DIMENSIONS.
 
-! KBL  : NUMERO DE BLOC NPROMA
-! KBL  : NPROMA-PACKETS NUMBER
-! KGPCOMP : NOMBRE TOTAL DE POINTS DE GRILLE SUR LE DOMAINE
-! KGPCOMP : TOTAL GRID POINTS NUMBER IN THE DOMAIN
-! KIDIA, KFDIA : BORNES BOUCLES HORIZONTALES   (IST,IEND DANS CPG).
-! KIDIA, KFDIA : START/END OF HORIZONTAL LOOP  (IST,IEND IN *CPG*).
-! KLON : DIMENSION HORIZONTALE                 (NPROMA DANS CPG).
-! KLON : HORIZONTAL DIMENSION                  (NPROMA IN *CPG*).
-! KTDIA : DEBUT BOUCLE VERTICALE DANS LA PHYSIQUE.
-! KTDIA : START OF THE VERTICAL LOOP IN THE PHYSICS (IF SOME LEVELS ARE
-!                     SKIPPED AT THE TOP OF THE MODEL).
-! KLEV : FIN BOUCLE VERTICE ET DIMENSION VERTICALE (NFLEVG DANS CPG).
-! KLEV : END OF VERTICAL LOOP AND VERTICAL DIMENSION(NFLEVG IN *CPG*).
-! KSTEP : TIME STEP NUMBER (starting with zero)
 ! KMAXDRAFT : MAX NUMBER OF DRAFTS (FOR DIMENSIONNING)
 ! KSGST : NUMBER OF SUBGRID SURFACE TEMPERATURES AND FLUXES (NTSSG IN *CPG*)
 ! KNFRRC : FREQUENCY FOR CLEAR SKY RADIATION CALCULATION
-! PDT : TIME STEP (in s) 
+! PDT : TIME STEP (in s)
 ! LDXFUMSE : T if CDCONF=X in order not to increment surfex timer in that case
 !-----------------------------------------------------------------------
-! PGEMU      : SINE OF GEOGRAPHICAL LATITUDE
+! YDVARS%GEOMETRY%GEMU%T0      : SINE OF GEOGRAPHICAL LATITUDE
 ! PGELAM     :  LONGITUDE
 ! POROG      : g * OROGRAPHY
 ! PGM        : MAP FACTOR (used in ALARO convection only)
-! PMU0       : COSINUS LOCAL INSTANTANE DE L'ANGLE ZENITHAL SOLAIRE.
-! PMU0LU     : COSINUS LOCAL INSTANTANE DE L'ANGLE ZENITHAL LUNAIRE.
-! PMU0       : LOCAL COSINE OF INSTANTANEOUS SOLAR ZENITH ANGLE.
-! PMU0M      : COSINUS LOCAL MOYEN DE L'ANGLE ZENITHAL.
-! PMU0M      : LOCAL COSINE OF AVERAGED SOLAR ZENITH ANGLE.
-! PMU0N      : COSINUS LOCAL AU PAS DE TEMPS SUIVANT DE L'ANGLE ZENITHAL SOLAIRE.
-! PMU0N      : NEXT TIME STEP COSINUS LOCAL INSTANTANE DE L'ANGLE ZENITHAL SOLAIRE.
 ! PCLON      : cosine of geographical longitude.
 ! PSLON      : sine of geographical longitude.
-! PVO3ABC    : OZONE COEFFICIENTS FOR ARPEGE PROFILES
-! PLSM       : -ATMOSPHERIC MODEL- LAND-SEA MASK (! MAY BE DIFFERENT FROM 
-!              THE SURFACE ONE) 
-! PAESEA     : MARINE AEROSOLS (IF NVCLIA >= 4)
-! PAELAN     : CONTINENTAL AEROSOLS (IF NVCLIA >= 4)
-! PAESOO     : SOOT AEROSOLS (IF NVCLIA >= 4)
-! PAEDES     : DESERT AEROSOLS (IF NVCLIA >= 4)
-! PAESUL     : SULFATE AEROSOLS  (IF LAEROSUL=.T.)
-! PAEVOL     : VOLCANO AEROSOLS  (IF LAEROVOL=.T.)
 ! PGP2DSDT   : STOCHASTIC PHYSICS PATTERNS
 
 ! FIELDS WITH SUBSCRIPT M FOR TIME T-DT IN 3TL OR T IN 2TL
 
-! PAPHIM     : GEOPOTENTIAL ON HALF-LEVELS
-! PAPHIFM    : GEOPOTENTIAL ON FULL-LEVELS
-! PAPRSM     : PRESSURE ON HALF LEVELS
-! PAPRSFM    : PRESSURE ON FULL LEVELS.
-! PRDELPM    : INVERSE OF PDELP 
 ! PDELPM     : LAYER THICKNESS IN PRESSURE UNITS
 
 ! PTM        : TEMPERATURE.
-! PQVM        : SPECIFIC HUMIDITY OF WATER VAPOR
 ! PCPM        : SPECIFIC HEAT AT CONSTANT PRESSURE FOR AIR
 ! PRM         : GAS CONSTANT FOR AIR
-! PALPHM      : "alpha" on layers
-! PLNPRM      : "delta" on layers
-
-! PQCM        : SPECIFIC HUMIDITY OF CLOUD WATER
-! PQIM        : SPECIFIC HUMIDITY OF ICE
-! PQRM        : SPECIFIC HUMIDITY OF RAIN
-! PQSM        : SPECIFIC HUMIDITY OF SNOW
-! PQGM        : SPECIFIC HUMIDITY OF GRAUPEL
-! PQHM        : SPECIFIC HUMIDITY OF HAIL
+
 ! PTKEM       : TURBULENT KINETIC ENERGY
 ! PSVM        : PASSIVE SCALARS
-! PSIGM       : SIGMA FOR SUBGRIDCOND
 ! PUM         : ZONAL WIND
 ! PVM         : MERIDIAN WIND
 ! PWM         : VERTICAL VELOCITY (m/s)
@@ -138,112 +56,33 @@ SUBROUTINE APL_AROME(YDGEOMETRY,YDSURF, YDCFU, YDXFU, YDMODEL, KBL, KGPCOMP, KID
 !-----------------------------------------------------------------------
 ! - INOUT
 
-! PGPAR       : BUFFER FOR 2D FIELDS - CONTAINS PRECIP, ALBEDO, EMISS, TS 
+! PGPAR       : BUFFER FOR 2D FIELDS - CONTAINS PRECIP, ALBEDO, EMISS, TS
 !             : SURFACE FLUXES
-! PEMTD       : DOWNWARD LONGWAVE EMISSIVITY
-! PEMTU       : UPWARD   LONGWAVE EMISSIVITY
-! PTRSO       : SHORTWAVE TRANSMISSIVITY
 
 ! ACRANEB2 intermittency storage
 
-! PGDEOSI   : DESCENDING INCREMENTAL OPTICAL DEPTHS, SOLAR
-! PGUEOSI   : ASCENDING  INCREMENTAL OPTICAL DEPTHS, SOLAR
-! PGMU0     : COSINE OF SOLAR ZENITH ANGLE, APPROXIMATE ACTUAL VALUE
-! PGMU0_MIN : COSINE OF SOLAR ZENITH ANGLE, MIN VALUE
-! PGMU0_MAX : COSINE OF SOLAR ZENITH ANGLE, MAX VALUE
-! PGDEOTI     : DESCENDING INCREMENTAL OPTICAL DEPTHS, dB/dT(T0) WEIGHTS
-! PGDEOTI2    : DESCENDING INCREMENTAL OPTICAL DEPTHS, B WEIGHTS WITH
 !               LINEAR T_e CORRECTION
-! PGUEOTI     : ASCENDING INCREMENTAL OPTICAL DEPTHS, dB/dT(T0) WEIGHTS
-! PGUEOTI2    : ASCENDING INCREMENTAL OPTICAL DEPTHS, B WEIGHTS WITH
 !               LINEAR T_e CORRECTION
-! PGEOLT      : LOCAL OPTICAL DEPTHS, dB/dT(T0) WEIGHTS
-! PGEOXT      : MAXIMUM OPTICAL DEPTHS FOR EBL-EAL, dB/dT(T0) WEIGHTS
-! PGRPROX     : CORRECTION TERM FOR ADJACENT EXCHANGES
-! PGMIXP      : NON-STATISTICAL WEIGHTS FOR BRACKETING
-! PGFLUXC     : OUT OF BRACKET PART OF CLEARSKY EBL, RESP. EBL-EAL FLUX
-! PGRSURF     : CORRECTIVE RATIO FOR SURFACE CTS CONTRIBUTION
-! PTURB3D     : MATRICE DE GRADIENTS HORIZONTAUX
 !-----------------------------------------------------------------------
 ! - OUTPUT (SUBSCRIPT S FOR T+DT)
 
-! PCLFS       : CLOUD FRACTION
-! PQLRAD      : SPECIFIC HUMIDITY OF CLOUD WATER FOR RTTOV
-! PQIRAD      : SPECIFIC HUMIDITY OF ICE FOR RTTOV
 ! PSIGS       : SIGMA FOR SUBGRIDCOND
 ! PTENDT      : TEMPERATURE TENDENCY
 ! PTENDR      : HYDROMETEORE TENDENCIES
-! PTENDU      : ZONAL WIND TENDENCY
-! PTENDV      : MERIDIAN WIND TENDENCY
 ! PTENDW      : VERTICAL VELOCITY TENDENCY
 ! PTENDTKE    : TKE TENDENCY
 ! PTENDEXT    : PASSIVE SCALARS TENDENCY
-! PFRTH       : LONGWAVE RADIATIVE FLUX
 ! PFRSO       : SHORTWAVE RADIATIVE FLUX
-! PFRTHDS     : LONGWAVE DOWNWARD SURFACE RADIATIVE FLUX
-! PFRSOPS     : SHORTWAVE DOWNWARD SURFACE RADIATIVE FLUX DIRECT
-! PFRSDNI     : SHORTWAVE DIRECT NORMAL IRRADIANCE
-! PFRSODS     : SHORTWAVE DOWNWARD SURFACE RADIATIVE FLUX GLOBAL
-! PFRSOPT     : SHORTWAVE DOWNWARD TOP RADIATIVE FLUX DIRECT
 ! - 2D (0:1)
-! PFRTHC      : LONGWAVE CLEAR SKY NET RADIATIVE FLUX
-! PFRSOC      : SHORTWAVE CLEAR SKY NET RADIATIVE FLUX
 
-! variables used in input for radiation in case no surface scheme is used 
+! variables used in input for radiation in case no surface scheme is used
 
-! PALBIN     : MODEL SURFACE SHORTWAVE ALBEDO.
-! PEMIS      : MODEL SURFACE LONGWAVE EMISSIVITY.
+! PSIC       : MODEL SEA ICE CONCENTRATION
 
 ! Part of GFL strcture dedicated to easy diagnostics (to be used as a print...)
 ! PEZDIAG    : MULPITPLE ARRAY TO BE FILLED BY THE USER BY 3D FIELDS
 !              (NGFL_EZDIAG ONES)
 ! output for CFU XFU
-! PCLCH      : HIGH CLOUD COVER (DIAGNOSTIC).
-! PCLCL      : LOW CLOUD COVER (DIAGNOSTIC).
-! PCLCM      : MEDIUM CLOUD COVER (DIAGNOSTIC).
-! PCLCT      : TOTAL CLOUD COVER (DIAGNOSTIC).
-! PFPLSL     : RESOLVED PRECIPITATION AS RAIN.
-! PFPLSN     : RESOLVED PRECIPITATION AS SNOW
-! PFPLSG     : RESOLVED PRECIPITATION AS GRAUPEL
-! PFPLSH     : RESOLVED PRECIPITATION AS HAIL
-! PSTRTU     : TURBULENT FLUX OF MOMENTUM "U".
-! PSTRTV     : TURBULENT FLUX OF MOMENTUM "V".
-! PFCS       : SENSIBLE HEAT FLUX AT SURFACE LEVEL.
-! PFCLL      : LATENT HEAT FLUX AT SURFACE LEVEL OVER WATER.
-! PFCLN      : LATENT HEAT FLUX AT SURFACE LEVEL OVER SNOW.
-! PUCLS      : SORTIE DIAGNOSTIQUE DU VENT EN X A HUV METEO.
-! PUCLS      : U-COMPONENT OF WIND AT 10 METERS (DIAGNOSTIC).
-! PVCLS      : SORTIE DIAGNOSTIQUE DU VENT EN Y A HUV METEO.
-! PVCLS      : V-COMPONENT OF WIND AT 10 METERS (DIAGNOSTIC).
-! PNUCLS     : SORTIE DIAGNOSTIQUE DU VENT NEUTRE EN X A HUV METEO.
-! PNUCLS     : U-COMPONENT OF NEUTRAL WIND AT 10 METERS (DIAGNOSTIC).
-! PNVCLS     : SORTIE DIAGNOSTIQUE DU VENT NEUTRE EN Y A HUV METEO.
-! PNVCLS     : V-COMPONENT OF NEUTRAL WIND AT 10 METERS (DIAGNOSTIC).
-! PTCLS      : SORTIE DIAGNOSTIQUE DE LA TEMPERATURE A HTQ METEO.
-! PTCLS      : TEMPERATURE AT 2 METERS (DIAGNOSTIC).
-! PQCLS      : SORTIE DIAGNOSTIQUE DE L'HUMIDITE SPECIFIQUE A HTQ METEO.
-! PQCLS      : SPECIFIC HUMIDITY AT 2 METERS (DIAGNOSTIC).
-! PHUCLS     : SORTIE DIAGNOSTIQUE DE L'HUMIDITE RELATIVE A HTQ METEO.
-! PHUCLS     : RELATIVE HUMIDITY AT 2 METERS (DIAGNOSTIC).
-! PUGST      : SORTIE DIAGNOSTIQUE DU VENT RAFALE EN X A HUV METEO.
-! PUGST      : U-COMPONENT OF WIND GUST AT 10 METERS (DIAGNOSTIC).
-! PVGST      : SORTIE DIAGNOSTIQUE DU VENT RAFALE EN Y A HUV METEO.
-! PVGST      : V-COMPONENT OF WIND GUST AT 10 METERS (DIAGNOSTIC).
-! PFEVL      : FLUX DE VAPEUR D'EAU SUR EAU LIQUIDE (OU SOL HUMIDE).
-! PFEVL      : WATER VAPOUR FLUX OVER LIQUID WATER (OR WET SOIL)
-! PFEVN      : FLUX DE VAPEUR D'EAU SUR NEIGE (OU GLACE) ET SOL GELE.
-! PFEVN      : WATER VAPOUR FLUX OVER SNOW (OR ICE) AND FROZEN SOIL.
-! PPBLH      : PSEUDO-HISTORICAL ARRAY FOR PBL HEIGHT
-! PSPSG      : SNOW COVER
-! PSPSGR     : SNOW DENSITY
-! PSDUR      : SUNSHINE DURATION [s]
-! PDIAGH     : HAIL DIAGNOSTIC
-! PFLASH     : LIGHTNING DIAGNOSTICS
-! PVISICLD   : VISIBILITY DUE TO CLOUD WATER AND CLOUD ICE
-! PVISIHYDRO : VISIBILITY DUE TO RAIN AND SNOW AND GRAUPEL
-! PMXCLWC    : CLOUD WATER LIQUID CONTENT AT HVISI METERS
-! PDPRECIPS  : PRECIPITATION TYPE
-! PDPRECIPS2 : PRECIPITATION TYPE FOR 2NDE PERIOD
 
 !-----------------------------------------------------------------------
 
@@ -277,7 +116,7 @@ SUBROUTINE APL_AROME(YDGEOMETRY,YDSURF, YDCFU, YDXFU, YDMODEL, KBL, KGPCOMP, KID
 !     Y. Seity   2007-05-07: add CFU and XFU calculations
 !                           and call aro_ground_diag
 !     S.Ivatek-S 2007-04-17: Over dimensioning of PGPAR by NGPAR+1 just
-!                            (KLON,NGPAR) is used boundary checking bf
+!                            (YDCPG_OPTS%KLON,NGPAR) is used boundary checking bf
 !     T.Kovacic  2007-03-16: Fourth dim. in APFT
 !     JJMorcrette, ECMWF, 20080325: dummy arguments for RADACT to allow for
 !                        using a new sulphate climatology in the ECMWF model
@@ -346,232 +185,91 @@ SUBROUTINE APL_AROME(YDGEOMETRY,YDSURF, YDCFU, YDXFU, YDMODEL, KBL, KGPCOMP, KID
 !     2020-10, J. Masek: Modified call to ACCLDIA.
 !     2020-12, F. Meier add call to latent heat nudging if LNUDGLH is TRUE
 !     2020-12, U. Andrae : Introduce SPP for HARMONIE-AROME
-!     R. El Khatib 24-Aug-2021 NPROMICRO specific cache-blocking factor for microphysics
+!     2021-12, F. Meier add call to windfarm parametrisation if LWINDFARM is TRUE
+!     R. El Khatib 08-Jul-2022 Contribution to the encapsulation of YOMCST and YOETHF
 ! End modifications
 !-------------------------------------------------------------------------------
 
+
 USE GEOMETRY_MOD       , ONLY : GEOMETRY
+USE MF_PHYS_TYPE_MOD   , ONLY : MF_PHYS_TYPE
+USE CPG_TYPE_MOD       , ONLY : CPG_MISC_TYPE, CPG_GPAR_TYPE, CPG_SL1_TYPE, CPG_DYN_TYPE, CPG_PHY_TYPE
+USE CPG_OPTS_TYPE_MOD   , ONLY : CPG_BNDS_TYPE, CPG_OPTS_TYPE
+USE MF_PHYS_SURFACE_TYPE_MOD,ONLY : MF_PHYS_SURF_TYPE
+USE FIELD_VARIABLES_MOD, ONLY : FIELD_VARIABLES
 USE SURFACE_FIELDS_MIX , ONLY : TSURF
 USE YOMXFU             , ONLY : TXFU
 USE YOMCFU             , ONLY : TCFU
 USE TYPE_MODEL         , ONLY : MODEL
 USE PARKIND1           , ONLY : JPIM     ,JPRB     ,JPRD
 USE YOMHOOK            , ONLY : LHOOK    ,DR_HOOK
-
-! AROME SPECIFIC
-
-
-! OTHERS
 USE YOESW      , ONLY : RSUN2
-USE YOMCST     , ONLY : RG       ,RCPD     ,RD       ,RATM     ,RTT      ,&
-          &             RCW      ,RCPV     ,RLVTT    ,RCS      ,RLSTT    ,RGAMW    ,&
-          &             RBETW    ,RALPW    ,RGAMS    ,RBETS    ,RALPS    ,RGAMD    ,&
-          &             RBETD    ,RALPD    ,RETV     ,RV       ,RKAPPA   ,RHOUR
+USE YOMCST     , ONLY : TCST
 USE YOMLUN     , ONLY : NULOUT
-USE YOMCT0     , ONLY : LTWOTL, LSFORCS
+USE YOMCT0     , ONLY : LTWOTL, LSFORCS, LSLAG, LNHDYN, LAROME
 USE YOMVERT    , ONLY : VP00
 USE YOMRIP0    , ONLY : NINDAT
 USE YOMNUDGLH , ONLY :  LNUDGLH, NSTARTNUDGLH, NSTOPNUDGLH, NINTNUDGLH, NTAUNUDGLH, &
           &             RAMPLIFY,RMAXNUDGLH,RMINNUDGLH,LNUDGLHCOMPT,NTIMESPLITNUDGLH
 USE YOMNSV     , ONLY : NSV_CO2
-USE DDH_MIX    , ONLY : ADD_FIELD_3D, NEW_ADD_FIELD_3D, TYP_DDH ! for new diag data flow
+USE DDH_MIX    , ONLY : NEW_ADD_FIELD_3D, NEW_ADD_FIELD_2D,&
+                    & NTOTSVAR, NTOTSURF, NTOTSVFS, TYP_DDH ! for new data flow
 USE YOMSPSDT   , ONLY : YSPPT_CONFIG, YSPPT
 USE SPP_MOD    , ONLY : YSPP_CONFIG, YSPP
 USE SPP_MOD_TYPE, ONLY : ALL_SPP_VARS, SET_ALL_SPP, CLEAR_ALL_SPP, APPLY_SPP
 USE YOMLSFORC  , ONLY : LMUSCLFA, NMUSCLFA, REMIS_FORC, RALB_FORC
-! daand: radflex
 USE INTFLEX_MOD, ONLY : LINTFLEX, LRADFLEX,&
                       & TYPE_INTPROC, TYPE_INTPROCSET,&
-                      & NEWINTFIELD, NEWINTPROC
+                      & NEWINTFIELD, NEWINTPROC, NEWINTPROCSET, CLEANINTPROCSET
+USE YOMGFL     , ONLY : GFL_WKA, GFL_WKA2
 USE YOMMP0     , ONLY : MYPROC     
+USE MF_PHYS_BASE_STATE_TYPE_MOD &
+             & , ONLY : MF_PHYS_BASE_STATE_TYPE
+USE MF_PHYS_NEXT_STATE_TYPE_MOD &
+             & , ONLY : MF_PHYS_NEXT_STATE_TYPE
+USE YOMGMV             , ONLY : TGMV
+USE SC2PRG_MOD         , ONLY : SC2PRG
 
+USE YOMCVER            , ONLY : LVERTFE  ,LVFE_GWMPA 
+USE YOMDYNA            , ONLY : LGWADV, L_RDRY_VD
+USE YOMSCM             , ONLY : LGSCM
+USE YOMTRAJ            , ONLY : TRAJ_PHYS_TYPE
 
+!     -------------------------------------------------------------------------
 
+IMPLICIT NONE
 
+TYPE(TCST),                     INTENT(IN)    :: YDCST
+TYPE (MF_PHYS_BASE_STATE_TYPE), INTENT(IN)    :: YDMF_PHYS_BASE_STATE
+TYPE (MF_PHYS_NEXT_STATE_TYPE), INTENT(INOUT) :: YDMF_PHYS_NEXT_STATE
+TYPE(GEOMETRY),                 INTENT(IN)    :: YDGEOMETRY
+TYPE(CPG_BNDS_TYPE),            INTENT(IN)    :: YDCPG_BNDS
+TYPE(CPG_OPTS_TYPE),            INTENT(IN)    :: YDCPG_OPTS
+TYPE(CPG_MISC_TYPE),            INTENT(INOUT) :: YDCPG_MISC
+TYPE(CPG_GPAR_TYPE),            INTENT(INOUT) :: YDCPG_GPAR
+TYPE(CPG_PHY_TYPE),             INTENT(IN)    :: YDCPG_PHY0
+TYPE(CPG_PHY_TYPE),             INTENT(IN)    :: YDCPG_PHY9
+TYPE(MF_PHYS_TYPE),             INTENT(IN)    :: YDMF_PHYS
+TYPE(CPG_DYN_TYPE),             INTENT(IN)    :: YDCPG_DYN0
+TYPE(CPG_DYN_TYPE),             INTENT(IN)    :: YDCPG_DYN9
+TYPE(MF_PHYS_SURF_TYPE),        INTENT(INOUT) :: YDMF_PHYS_SURF
+TYPE(CPG_SL1_TYPE),             INTENT(INOUT) :: YDCPG_SL1
+TYPE(FIELD_VARIABLES),          INTENT(INOUT) :: YDVARS
+TYPE(TGMV),                     INTENT(IN)    :: YDGMV
+TYPE(TSURF),                    INTENT(IN)    :: YDSURF
+TYPE(TCFU),                     INTENT(IN)    :: YDCFU
+TYPE(TXFU),                     INTENT(IN)    :: YDXFU
+TYPE(MODEL),                    INTENT(IN)    :: YDMODEL
 
+ 
+REAL(KIND=JPRB),                INTENT(INOUT) :: PGFL(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NDIM) 
+REAL(KIND=JPRB),                INTENT(IN)    :: PGP2DSDT(YDCPG_OPTS%KLON,YSPPT%YGPSDT(1)%NG2D,YSPPT%N2D)
+REAL(KIND=JPRB),                INTENT(INOUT) :: PGMVT1(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDGMV%YT1%NDIM) 
+REAL(KIND=JPRB),                INTENT(INOUT) :: PGFLT1(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NDIM1)
+TYPE (TRAJ_PHYS_TYPE),          INTENT(INOUT) :: PTRAJ_PHYS
 
+TYPE(TYP_DDH),                  INTENT(INOUT) :: YDDDH
 
-
-!SR phasing step, must be removed in 48t3
-USE SPP_MOD_TYPE, ONLY : TSPP_CONFIG_TYPE
-
-
-
-
-
-
-
-
-
-
-!     --------------------------------------------------------------------------
-
-IMPLICIT NONE
-
-TYPE(GEOMETRY)    ,INTENT(IN)    :: YDGEOMETRY
-TYPE(TSURF)       ,INTENT(INOUT) :: YDSURF
-TYPE(TXFU)        ,INTENT(INOUT) :: YDXFU
-TYPE(TCFU)        ,INTENT(INOUT) :: YDCFU
-TYPE(MODEL)       ,INTENT(INOUT) :: YDMODEL
-INTEGER(KIND=JPIM),INTENT(IN)    :: KLON
-INTEGER(KIND=JPIM),INTENT(IN)    :: KLEV
-INTEGER(KIND=JPIM),INTENT(IN)    :: KBL 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KGPCOMP 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KIDIA 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KFDIA 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KTDIA 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KSTEP 
-INTEGER(KIND=JPIM),INTENT(IN)    :: KMAXDRAFT
-INTEGER(KIND=JPIM),INTENT(IN)    :: KSGST
-INTEGER(KIND=JPIM),INTENT(IN)    :: KNFRRC
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PDT 
-LOGICAL           ,INTENT(IN)    :: LDXFUMSE 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PINDX(KLON) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PINDY(KLON) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PGEMU(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PGELAM(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PGM(KLON) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: POROG(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PMU0(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PMU0LU(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PMU0M(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PMU0N(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PCLON(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PSLON(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PVO3ABC(KLON,3) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PLSM(KLON) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAESEA(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAELAN(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAESOO(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAEDES(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAESUL(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAEVOL(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PGP2DSDT(KLON,YSPPT%YGPSDT(1)%NG2D,YSPPT%N2D)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGP2DSPP(KLON,YSPP%N2D)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAPHIM(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAPHIFM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAPRSM(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PAPRSFM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PRDELPM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PDELPM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PTM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQVM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PCPM(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PRM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PALPHM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PLNPRM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQCM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQIM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQRM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQSM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQGM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PQHM(KLON,KLEV) 
-
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PLIMAM(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NLIMA)
-REAL(KIND=JPRB)   ,INTENT(IN), TARGET :: PTKEM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PEFB1(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PEFB2(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PEFB3(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PSVM(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PSIGM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PUM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PVM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PWM(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PFORCEU(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PFORCEV(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PFORCET(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PFORCEQ(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGPAR(KLON,YDMODEL%YRML_PHY_MF%YRPARAR%NGPAR+1) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PEMTD(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PEMTU(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PTRSO(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGDEOSI(KLON,0:KLEV,2)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGUEOSI(KLON,0:KLEV,2)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGMU0(KLON,0:YDMODEL%YRML_PHY_MF%YRPHY%NSORAYFR-1)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGMU0_MIN(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGMU0_MAX(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGDEOTI(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGDEOTI2(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGUEOTI(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGUEOTI2(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGEOLT(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGEOXT(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGRPROX(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGMIXP(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGFLUXC(KLON,0:KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PGRSURF(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PTURB3D(KLON,YDMODEL%YRML_PHY_MF%YRARPHY%NGRADIENTS,KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PCLFS(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PQLRAD(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PEDR(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PQIRAD(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PSIGS(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDT(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDR(KLON,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDU(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDV(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDW(KLON,KLEV) 
- 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDLIMA(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NLIMA)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDTKE(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PRH(KLON,KLEV)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PTENDEFB1(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PTENDEFB2(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PTENDEFB3(KLON,KLEV) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTENDEXT(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PALBIN(KLON)
-! daand: radflex; made target
-REAL(KIND=JPRB)   ,INTENT(INOUT), TARGET :: PFRTH(KLON,0:KLEV,KSGST+1)
-REAL(KIND=JPRB)   ,INTENT(OUT), TARGET :: PFRSO(KLON,0:KLEV,KSGST+1)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRTHDS(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRSOPS(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRSDNI(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRSODS(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRSOPT(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRSOC(KLON,0:1)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFRTHC(KLON,0:1)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PEMIS(KLON) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PEZDIAG(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EZDIAG)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PCLCH(KLON) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PCLCL(KLON) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PCLCM(KLON) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PCLCT(KLON) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFPLSL(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFPLSN(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFPLSG(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFPLSH(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PSTRTU(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PSTRTV(KLON,0:KLEV) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFCS(KLON,KSGST+1) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFCLL(KLON,KSGST+1)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFCLN(KLON,KSGST+1)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFEVL(KLON,KSGST+1)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PFEVN(KLON,KSGST+1)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PUCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PVCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PNUCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PNVCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PTCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PQCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PHUCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PUGST(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PVGST(KLON)
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PPBLH(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PSPSG(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PSPSGR(KLON) 
-REAL(KIND=JPRB)   ,INTENT(INOUT) :: PSDUR(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PDIAGH(KLON) 
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTPWCLS(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLASH(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PDPRECIPS(KLON,YDMODEL%YRML_PHY_MF%YRPHY%YRDPRECIPS%NDTPREC)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PDPRECIPS2(KLON,YDMODEL%YRML_PHY_MF%YRPHY%YRDPRECIPS%NDTPREC2)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PVISICLD(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PVISIHYDRO(KLON)
-REAL(KIND=JPRB)   ,INTENT(OUT)   :: PMXCLWC(KLON)
-REAL(KIND=JPRB)   ,INTENT(IN)    :: PSFORC(KLON,YDMODEL%YRML_PHY_MF%YRPHYDS%NSFORC)
-! daand: radflex
-TYPE(TYPE_INTPROCSET), INTENT(INOUT) :: YDPROCSET
-TYPE(TYP_DDH)     ,INTENT(INOUT) :: YDDDH
 !*
 !     ------------------------------------------------------------------
 
@@ -592,7 +290,7 @@ TYPE(TYP_DDH)     ,INTENT(INOUT) :: YDDDH
 ! Local 3D arrays with extra levels for Meso-NH turbulence scheme :
 ! - first dimension is KFDIA not KDLON in order to limit array copies
 ! - suffixed with two underscore to be easily identified
-! These arrays are passed in argument as ZXXX__(:,1:KLEV) except for aro_turb_mnh where they are passed as ZXXX__.
+! These arrays are passed in argument as ZXXX__(:,1:YDCPG_OPTS%KFLEVG) except for aro_turb_mnh where they are passed as ZXXX__.
 
 ! Local 3D arrays with regular number of levels for Meso-NH interfaces :
 ! - first dimension is KFDIA not KDLON in order to limit array copies due to non-contiguous data.
@@ -620,11 +318,11 @@ TYPE(TYP_DDH)     ,INTENT(INOUT) :: YDDDH
 ! because the compiler will be able to use an optimized function to initialize/copy a segment of memory,
 ! and may be able to address simultaneously several cach lines :
 ! 1D array : 
-!   Z(KIDIA:KFDIA)=value
+!   Z(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=value
 ! 2D arrays :
-!  DO JLEV=1,KLEV
-!     ZX(KIDIA:KFDIA,JLEV)=xval
-!     ZY(KIDIA:KFDIA,JLEV)=yval
+!  DO JLEV=1,YDCPG_OPTS%KFLEVG
+!     ZX(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=xval
+!     ZY(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=yval
 !  ENDDO
 
 ! - if you need the bakup of an array, use a swapp mechanism, as what is done here for instance for
@@ -658,128 +356,130 @@ TYPE(TYP_DDH)     ,INTENT(INOUT) :: YDDDH
 !    CALL COMPUTE(ZARG)
 !    IF (JI > IFIRST) THEN
 !      ! Add increment
-!      ZSUM(KIDIA:KFDIA)=ZSUM(KIDIA:KFDIA)+ZINC(KIDIA:KFDIA)
+!      ZSUM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZSUM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)+ZINC(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
 !    ENDIF
 !  ENDDO
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-REAL(KIND=JPRB) :: ZRHODJM__(KFDIA,0:KLEV+1),      ZRHODREFM__(KFDIA,0:KLEV+1),   ZPABSM__(KFDIA,0:KLEV+1)
-REAL(KIND=JPRB) :: ZUM__(KFDIA,0:KLEV+1),          ZVM__(KFDIA,0:KLEV+1),         ZTHM__(KFDIA,0:KLEV+1)
-REAL(KIND=JPRB) :: ZUS__(KFDIA,0:KLEV+1),          ZVS__(KFDIA,0:KLEV+1),         ZWS__(KFDIA,0:KLEV+1)
-REAL(KIND=JPRB) :: ZTKES_OUT__(KFDIA,0:KLEV+1),    ZMF_UP__(KFDIA,0:KLEV+1),      ZTHVREFM__(KFDIA,0:KLEV+1)  ! thetav de l etat
-REAL(KIND=JPRB) :: ZTENDU_TURB__(KFDIA,0:KLEV+1),  ZTENDV_TURB__(KFDIA,0:KLEV+1), ZTENDTHL_TURB__(KFDIA,0:KLEV+1)
-REAL(KIND=JPRB) :: ZTENDRT_TURB__(KFDIA,0:KLEV+1), ZTKEM__(KFDIA,0:KLEV+1),       ZSRCS__(KFDIA,0:KLEV+1) 
-REAL(KIND=JPRB) :: ZHLC_HRC__(KFDIA,0:KLEV+1),     ZHLC_HCF__(KFDIA,0:KLEV+1), &
-                 & ZHLI_HRI__(KFDIA,0:KLEV+1),     ZHLI_HCF__(KFDIA,0:KLEV+1)
-
-REAL(KIND=JPRB) :: ZSIGS__(KFDIA,0:KLEV+1),        ZEDR__(KFDIA,0:KLEV+1)
+REAL(KIND=JPRB) :: ZRHODJM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),      ZRHODREFM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),   ZPABSM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB) :: ZUM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),          ZVM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),         ZTHM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB) :: ZUS__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),          ZVS__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),         ZWS__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB) :: ZTKES_OUT__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),    ZMF_UP__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),      ZTHVREFM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)  ! thetav de l etat
+REAL(KIND=JPRB) :: ZTENDU_TURB__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),  ZTENDV_TURB__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1), ZTENDTHL_TURB__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB) :: ZTENDRT_TURB__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1), ZTKEM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),       ZSRCS__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1) 
+REAL(KIND=JPRB) :: ZSIGS__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),        ZEDR__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
 ! THE DDH budgets
-REAL(KIND=JPRB) :: ZDP__(KFDIA,0:KLEV+1),          ZTP__(KFDIA,0:KLEV+1),         ZTPMF__(KFDIA,0:KLEV+1)
-REAL(KIND=JPRB) :: ZTDIFF__(KFDIA,0:KLEV+1),       ZTDISS__(KFDIA,0:KLEV+1)
+REAL(KIND=JPRB) :: ZDP__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),          ZTP__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),         ZTPMF__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB) :: ZTDIFF__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),       ZTDISS__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
 ! length scales for momentum and heat for mnh level definitions in case LHARATU=TRUE
-REAL(KIND=JPRB) :: ZLENGTHM__(KFDIA,0:KLEV+1), ZLENGTHH__(KFDIA,0:KLEV+1)
+REAL(KIND=JPRB) :: ZLENGTHM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1), ZLENGTHH__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
 
 REAL(KIND=JPRB), POINTER :: ZTHS__(:,:)
 ! horizontal gradients and diagnostics
-REAL(KIND=JPRB) :: ZTURB3D__(KFDIA,0:KLEV+1,YDMODEL%YRML_PHY_MF%YRARPHY%NGRADIENTS)
+REAL(KIND=JPRB) :: ZTURB3D__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1,YDMODEL%YRML_PHY_MF%YRARPHY%NGRADIENTS)
 ! WARNING ! Don't use ZTHSWAP__ or ZTHSAVE__ below because they may be swapped !
 ! Use only the pointer ZTHS__, and possibly ZTHSIN_ if you need the backup of input data.
-REAL(KIND=JPRB), TARGET  :: ZTHSWAP__(KFDIA,0:KLEV+1),        ZTHSAVE__(KFDIA,0:KLEV+1)
-REAL(KIND=JPRB), TARGET  :: ZFLXZTHVMF_SUM__(KFDIA,0:KLEV+1), ZWM__(KFDIA,0:KLEV+1)
+REAL(KIND=JPRB), TARGET  :: ZTHSWAP__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1),        ZTHSAVE__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB), TARGET  :: ZFLXZTHVMF_SUM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1), ZWM__(YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG+1)
 
 
 ! Updraft characteristics for Meso-NH world (input of ARO_SHALLOW_MF)
-REAL(KIND=JPRB) :: ZTHETAL_UP_(KFDIA,KLEV), ZTHETAV_UP_(KFDIA,KLEV), ZZFRAC_UP_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZRT_UP_(KFDIA,KLEV),     ZRC_UP_(KFDIA,KLEV),     ZRI_UP_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZZU_UP_(KFDIA,KLEV),     ZZV_UP_(KFDIA,KLEV),     ZZW_UP_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZZRV_UP_(KFDIA,KLEV),    ZTKES_(KFDIA,KLEV),      ZZZ_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZDZZ_(KFDIA,KLEV),       ZZZ_F_(KFDIA,KLEV),      ZDZZ_F_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZCIT_(KFDIA,KLEV),       ZMFM_(KFDIA,KLEV),       ZEXNREFM_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZSIGM_(KFDIA,KLEV),      ZNEBMNH_(KFDIA,KLEV),    ZEVAP_(KFDIA,KLEV)
+REAL(KIND=JPRB) :: ZTHETAL_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG), ZTHETAV_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG), ZZFRAC_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZRT_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZRC_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZRI_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZZU_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZZV_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZZW_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZZRV_UP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),    ZTKES_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZZZ_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZDZZ_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),       ZZZ_F_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZDZZ_F_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZCIT_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),       ZMFM_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),       ZEXNREFM_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZSIGM_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZNEBMNH_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),    ZEVAP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
 ! additions for MF scheme (Pergaud et al)
-REAL(KIND=JPRB) :: ZSIGMF_(KFDIA,KLEV),     ZRC_MF_(KFDIA,KLEV),     ZRI_MF_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZCF_MF_(KFDIA,KLEV),     ZAERD_(KFDIA,KLEV),      ZCVTENDT_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZCVTENDRV_(KFDIA,KLEV),  ZCVTENDRC_(KFDIA,KLEV),  ZCVTENDRI_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZMFS_(KFDIA,KLEV),       ZTHLS_(KFDIA,KLEV),      ZRTS_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZMFUS_(KFDIA,KLEV),      ZMFVS_(KFDIA,KLEV),      ZDEPTH_HEIGHT_(KFDIA,KLEV)
+REAL(KIND=JPRB) :: ZSIGMF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZRC_MF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZRI_MF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZCF_MF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZAERD_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZCVTENDT_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZCVTENDRV_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),  ZCVTENDRC_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),  ZCVTENDRI_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZMFS_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),       ZTHLS_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZRTS_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZMFUS_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZMFVS_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZDEPTH_HEIGHT_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB), TARGET :: ZFLXZTHVMF_(KFDIA,KLEV)
+REAL(KIND=JPRB), TARGET :: ZFLXZTHVMF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
 REAL(KIND=JPRB), POINTER :: ZARG_FLXZTHVMF_(:,:)
 
+! Subgrid autoconversions
+REAL(KIND=JPRB) :: ZHLC_HRC_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZHLC_HCF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG), &
+                   ZHLI_HRI_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),     ZHLI_HCF_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+
 
 ! WARNING ! Don't use ZRSWAP_ or ZRSAVE_ below because they may be swapped !
 ! Use only the pointer ZRS_, and possibly ZRSIN_ if you need the backup of input data.
 REAL(KIND=JPRB), POINTER :: ZRSIN_(:,:,:), ZRS_(:,:,:)
-REAL(KIND=JPRB), TARGET :: ZRSWAP_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
-REAL(KIND=JPRB), TARGET :: ZRSAVE_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+REAL(KIND=JPRB), TARGET :: ZRSWAP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+REAL(KIND=JPRB), TARGET :: ZRSAVE_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
 
 REAL(KIND=JPRB), POINTER  :: ZPTRWNU_(:,:), ZTHSIN_(:,:)
-REAL(KIND=JPRB), TARGET :: ZWNU_(KFDIA,KLEV)
+REAL(KIND=JPRB), TARGET :: ZWNU_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
 
 ! WARNING ! Don't use ZSVSWAP_ or ZSVSAVE_ below because they may be swapped !
 ! Use only the pointer ZSVS_, and possibly ZSVSIN_ if you need the backup of input data.
 REAL(KIND=JPRB), POINTER :: ZSVSIN_(:,:,:), ZSVS_(:,:,:)
-REAL(KIND=JPRB), TARGET :: ZSVSWAP_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
-REAL(KIND=JPRB), TARGET :: ZSVSAVE_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
+REAL(KIND=JPRB), TARGET :: ZSVSWAP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
+REAL(KIND=JPRB), TARGET :: ZSVSAVE_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
 
-REAL(KIND=JPRB) :: ZSVXXX_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
+REAL(KIND=JPRB) :: ZSVXXX_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
 
 ! WARNING ! Don't use ZSVMSWAP_ or ZSVMSAVE_ below because they may be swapped !
 ! Use only the pointer ZSVM_, and possibly ZSVMIN_ if you need the backup of input data.
 REAL(KIND=JPRB), POINTER :: ZSVMIN_(:,:,:), ZSVM_(:,:,:)
-REAL(KIND=JPRB), TARGET :: ZSVMSWAP_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT) 
-REAL(KIND=JPRB), TARGET :: ZSVMSAVE_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
-REAL(KIND=JPRB) :: ZSVMB_(KFDIA,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
+REAL(KIND=JPRB), TARGET :: ZSVMSWAP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT) 
+REAL(KIND=JPRB), TARGET :: ZSVMSAVE_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
+REAL(KIND=JPRB) :: ZSVMB_(YDCPG_BNDS%KFDIA,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT)
 
 ! WARNING ! Don't use ZLIMASWAP_ or ZLIMASAVE_ below because they may be swapped !
 ! Use only the pointer ZLIMAS_, and possibly ZLIMASIN_ if you need the backup of input data.
 REAL(KIND=JPRB), POINTER :: ZLIMAS_(:,:,:), ZLIMASIN_(:,:,:)
-REAL(KIND=JPRB), TARGET :: ZLIMASWAP_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NLIMA)
-REAL(KIND=JPRB), TARGET :: ZLIMASAVE_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NLIMA)
+REAL(KIND=JPRB), TARGET :: ZLIMASWAP_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NLIMA)
+REAL(KIND=JPRB), TARGET :: ZLIMASAVE_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NLIMA)
 
-REAL(KIND=JPRB) :: ZLIMAM_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NLIMA)
+REAL(KIND=JPRB) :: ZLIMAM_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NLIMA)
 !INTEGER(KIND=JPIM) :: KSV_TURB !CPtoclean?
-!CPtoclean REAL(KIND=JPRB) :: ZTURBM(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA)
-!CPtoclean REAL(KIND=JPRB) :: ZTURBS(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA)
+!CPtoclean REAL(KIND=JPRB) :: ZTURBM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA)
+!CPtoclean REAL(KIND=JPRB) :: ZTURBS(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA)
 !not (yet ?) used. REK
-!REAL(KIND=JPRB) :: ZSFTURB(KLON,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA) ! surf. flux of SV (=0)
-!REAL(KIND=JPRB) :: ZTENDSV_TURB2(KLON,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA)  ! SV (=0)
-REAL(KIND=JPRB) :: ZSFSVLIMA_(KFDIA,YDMODEL%YRML_GCONF%YGFL%NLIMA) ! surf. flux of LIMA vars
-REAL(KIND=JPRB) :: ZTENDSV_TURBLIMA_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NLIMA) ! LIMA
+!REAL(KIND=JPRB) :: ZSFTURB(YDCPG_OPTS%KLON,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA) ! surf. flux of SV (=0)
+!REAL(KIND=JPRB) :: ZTENDSV_TURB2(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT+YDMODEL%YRML_GCONF%YGFL%NLIMA)  ! SV (=0)
+REAL(KIND=JPRB) :: ZSFSVLIMA_(YDCPG_BNDS%KFDIA,YDMODEL%YRML_GCONF%YGFL%NLIMA) ! surf. flux of LIMA vars
+REAL(KIND=JPRB) :: ZTENDSV_TURBLIMA_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NLIMA) ! LIMA
 
 ! For radiation scheme
-REAL(KIND=JPRB) :: ZRM_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
-REAL(KIND=JPRB) :: ZPFPR_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+REAL(KIND=JPRB) :: ZRM_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+REAL(KIND=JPRB) :: ZPFPR_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
 
-REAL(KIND=JPRB) :: ZPEZDIAG_(KFDIA,KLEV,YDMODEL%YRML_GCONF%YGFL%NGFL_EZDIAG)
+REAL(KIND=JPRB) :: ZPEZDIAG_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NGFL_EZDIAG)
 
-REAL(KIND=JPRB) :: ZSFSV_(KFDIA,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT) ! surf. flux of scalars
+REAL(KIND=JPRB) :: ZSFSV_(YDCPG_BNDS%KFDIA,YDMODEL%YRML_GCONF%YGFL%NGFL_EXT) ! surf. flux of scalars
+REAL(KIND=JPRD) :: ZGEMU_D(YDCPG_OPTS%KLON)  ! double precision version of YDVARS%GEOMETRY%GEMU%T0, for RADACT
 
 ! Single scattering albedo of dust (points,lev,wvl) :
-REAL(KIND=JPRB) :: ZPIZA_DST_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NSWB_MNH)
+REAL(KIND=JPRB) :: ZPIZA_DST_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NSWB_MNH)
 ! Assymetry factor for dust (points,lev,wvl) :
-REAL(KIND=JPRB) :: ZCGA_DST_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NSWB_MNH)
+REAL(KIND=JPRB) :: ZCGA_DST_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NSWB_MNH)
 ! tau/tau_{550} dust (points,lev,wvl) :
-REAL(KIND=JPRB) :: ZTAUREL_DST_(KFDIA,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NSWB_MNH)
+REAL(KIND=JPRB) :: ZTAUREL_DST_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NSWB_MNH)
 
 
 ! surface flux of theta and surface flux of vapor ; surface flux of CO2
-REAL(KIND=JPRB) :: ZSFTH_(KFDIA),  ZSFRV_(KFDIA),          ZSFCO2_(KFDIA)
-REAL(KIND=JPRB) :: ZACPRG_(KFDIA), ZINPRG_NOTINCR_(KFDIA), ZINPRG_(KFDIA)
-REAL(KIND=JPRB) :: ZACPRR_(KFDIA), ZINPRR_NOTINCR_(KFDIA), ZINPRR_(KFDIA)
-REAL(KIND=JPRB) :: ZACPRS_(KFDIA), ZINPRS_NOTINCR_(KFDIA), ZINPRS_(KFDIA)
-REAL(KIND=JPRB) :: ZCFBTH_(KFDIA), ZINPRH_NOTINCR_(KFDIA), ZINPRH_(KFDIA)
-REAL(KIND=JPRB) :: ZZS_(KFDIA),    ZSSO_STDEV_(KFDIA),     ZALB_UV_(KIDIA)
-REAL(KIND=JPRB) :: ZLAT_(KIDIA),   ZLON_(KIDIA),           ZZENITH_(KIDIA)
-REAL(KIND=JPRB) :: ZGZ0_(KFDIA),   ZGZ0H_(KFDIA),          ZTOWNS_(KFDIA) 
-REAL(KIND=JPRB) :: ZCFAQ_(KFDIA),  ZCFBQ_(KFDIA),          ZCFATH_(KFDIA)
-REAL(KIND=JPRB) :: ZCFAU_(KFDIA),  ZCFBU_(KFDIA),          ZCFBV_(KFDIA)
-REAL(KIND=JPRB) :: ZBUDTH_ (KFDIA),ZBUDSO_(KFDIA),         ZFCLL_(KFDIA)
-REAL(KIND=JPRB) :: ZCD_(KFDIA),    ZSEA_(KFDIA),           ZTOWN_(KFDIA)
-REAL(KIND=JPRB) :: ZZTOP_(KFDIA),  ZCVTENDPR_(KFDIA),      ZCVTENDPRS_(KFDIA)
+REAL(KIND=JPRB) :: ZSFTH_(YDCPG_BNDS%KFDIA),  ZSFRV_(YDCPG_BNDS%KFDIA),          ZSFCO2_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZACPRG_(YDCPG_BNDS%KFDIA), ZINPRG_NOTINCR_(YDCPG_BNDS%KFDIA), ZINPRG_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZACPRR_(YDCPG_BNDS%KFDIA), ZINPRR_NOTINCR_(YDCPG_BNDS%KFDIA), ZINPRR_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZACPRS_(YDCPG_BNDS%KFDIA), ZINPRS_NOTINCR_(YDCPG_BNDS%KFDIA), ZINPRS_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZCFBTH_(YDCPG_BNDS%KFDIA), ZINPRH_NOTINCR_(YDCPG_BNDS%KFDIA), ZINPRH_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZZS_(YDCPG_BNDS%KFDIA),    ZSSO_STDEV_(YDCPG_BNDS%KFDIA),     ZALB_UV_(YDCPG_BNDS%KIDIA)
+REAL(KIND=JPRB) :: ZLAT_(YDCPG_BNDS%KIDIA),   ZLON_(YDCPG_BNDS%KIDIA),           ZZENITH_(YDCPG_BNDS%KIDIA)
+REAL(KIND=JPRB) :: ZGZ0_(YDCPG_BNDS%KFDIA),   ZGZ0H_(YDCPG_BNDS%KFDIA),          ZTOWNS_(YDCPG_BNDS%KFDIA) 
+REAL(KIND=JPRB) :: ZCFAQ_(YDCPG_BNDS%KFDIA),  ZCFBQ_(YDCPG_BNDS%KFDIA),          ZCFATH_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZCFAU_(YDCPG_BNDS%KFDIA),  ZCFBU_(YDCPG_BNDS%KFDIA),          ZCFBV_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZBUDTH_ (YDCPG_BNDS%KFDIA),ZBUDSO_(YDCPG_BNDS%KFDIA),         ZFCLL_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZCD_(YDCPG_BNDS%KFDIA),    ZSEA_(YDCPG_BNDS%KFDIA),           ZTOWN_(YDCPG_BNDS%KFDIA)
+REAL(KIND=JPRB) :: ZZTOP_(YDCPG_BNDS%KFDIA),  ZCVTENDPR_(YDCPG_BNDS%KFDIA),      ZCVTENDPRS_(YDCPG_BNDS%KFDIA)
 ! surface flux of x and y component of wind. are they really necessary ? REK
-REAL(KIND=JPRB) :: ZSFU_(KFDIA),   ZSFV_(KFDIA)
+REAL(KIND=JPRB) :: ZSFU_(YDCPG_BNDS%KFDIA),   ZSFV_(YDCPG_BNDS%KFDIA)
 
 ! local areas for OCND2 option:
 ! ZICLDFR = ice cloud fraction , ZWCLDFR = water or mixed-phase cloud fraction,
@@ -787,111 +487,126 @@ REAL(KIND=JPRB) :: ZSFU_(KFDIA),   ZSFV_(KFDIA)
 ! ZSSIU = Sub-saturation with respect to ice outside ZICLDFR,
 ! ZIFR = variable used for calulation of subgridscale ice
 ! Meso-NH world
-REAL(KIND=JPRB) :: ZICLDFR_(KFDIA,KLEV),    ZWCLDFR_(KFDIA,KLEV)
-REAL(KIND=JPRB) :: ZSSIO_(KFDIA,KLEV),      ZSSIU_(KFDIA,KLEV),      ZIFR_(KFDIA,KLEV)
+REAL(KIND=JPRB) :: ZICLDFR_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),    ZWCLDFR_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZSSIO_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZSSIU_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),      ZIFR_(YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
 
 ! Arpege-style dimensionning :
 ! --------------------------
 
 !Variables used in case LHARATU=TRUE
 ! length scales for momentum and heat and TKE
-REAL(KIND=JPRB) :: ZLENGTH_M(KLON,KLEV),ZLENGTH_H(KLON,KLEV)
-REAL(KIND=JPRB) :: ZTKEEDMF(KLON,KLEV)
-REAL(KIND=JPRB) :: ZTKEEDMFS(KLON,KLEV)
+REAL(KIND=JPRB) :: ZLENGTH_M(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG),ZLENGTH_H(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZTKEEDMF(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZTKEEDMFS(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZEMIS (KLON)
-REAL(KIND=JPRB) :: ZQICE(KLON,KLEV), ZQLIQ(KLON,KLEV)
+REAL(KIND=JPRB) :: ZEMIS (YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZTMP2(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG),ZTMP(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZQICE(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQLIQ(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZAER(KLON,KLEV,6)
-REAL(KIND=JPRB) :: ZAERINDS(KLON,KLEV)
+REAL(KIND=JPRB) :: ZAER(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,6)
+REAL(KIND=JPRB) :: ZAERINDS(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZRAER(YDCPG_OPTS%KLON,6,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZAERO(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,12)
 
-REAL(KIND=JPRB) :: ZQSAT(KLON,KLEV)
 
-REAL(KIND=JPRB) :: ZFRSOFS(KLON)
-REAL(KIND=JPRB) :: ZLH(KLON,KLEV), ZLSCPE(KLON,KLEV), ZGEOSLC(KLON,KLEV)
-REAL(KIND=JPRB) :: ZQDM(KLON,KLEV), ZQV(KLON,KLEV)
-REAL(KIND=JPRB) :: ZQCO2(KLON,KLEV)
-REAL(KIND=JPRB), TARGET :: ZTKEM4SLDDH(KLON,KLEV)
-REAL(KIND=JPRB), POINTER :: ZTKEM(:,:)
-REAL(KIND=JPRB) :: ZQW(KLON,KLEV), ZTW(KLON,KLEV)
+REAL(KIND=JPRB) :: ZQSAT(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZTENT(KLON,KLEV)
-REAL(KIND=JPRB) :: ZTENDT(KLON,KLEV) ! array to save heating profile for LHN
-REAL(KIND=JPRB) :: ZMAXTEND,ZMINTEND
-REAL(KIND=JPRB) :: ZDZZ(KLON,KLEV)
-REAL(KIND=JPRB) :: ZTPW(KLON,KLEV)
+REAL(KIND=JPRB) :: ZFRSOFS(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZLH(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZLSCPE(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZGEOSLC(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZQDM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQV(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-! POUR GROUND 
-REAL(KIND=JPRB) :: ZZS_FSWDIR(KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW), ZZS_FSWDIF(KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW)
-REAL(KIND=JPRB) :: ZTRSODIR (KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW), ZTRSODIF (KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW)
-
-REAL(KIND=JPRB) :: ZTRSOD(KLON)
-REAL(KIND=JPRB) :: ZSUDU(KLON), ZSDUR(KLON), ZDSRP(KLON)
-REAL(KIND=JPRB) :: ZCEMTR(KLON,2), ZCTRSO(KLON,2)
+REAL(KIND=JPRB) :: ZQCO2(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQCH4(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZQN2O(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQNO2(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQC11(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZQC12(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQC22(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQCL4(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZCHTIX(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG+1), ZCAPH(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG+1), ZTH(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG+1)
+REAL(KIND=JPRB) :: ZDUM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZGELAM(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB), TARGET :: ZTKEM4SLDDH(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZALBD(KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW), ZALBP(KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW)
-REAL(KIND=JPRB) :: ZALBD1(KLON), ZALBP1(KLON)
-REAL(KIND=JPRB) :: ZAPHIM(KLON,0:KLEV), ZAPHIFM(KLON,KLEV)
+REAL(KIND=JPRB), POINTER :: ZTKEM(:,:)
+REAL(KIND=JPRB) :: ZQW(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZTW(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZTM(KLON,KLEV), ZQVM(KLON,KLEV), ZQIM(KLON,KLEV)
-REAL(KIND=JPRB) :: ZQCM(KLON,KLEV),ZQHM(KLON,KLEV), ZQHGM(KLON,KLEV)
-REAL(KIND=JPRB) :: ZQRM(KLON,KLEV), ZQSM(KLON,KLEV), ZQGM(KLON,KLEV)
-REAL(KIND=JPRB) :: ZUPGENL(KLON,KLEV)
-REAL(KIND=JPRB) :: ZUPGENN(KLON,KLEV)
-REAL(KIND=JPRB) :: ZCLFR(KLON)
+REAL(KIND=JPRB) :: ZTENT(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZTENDTT(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG) ! array to save heating profile for LHN
+REAL(KIND=JPRB) :: ZMAXTEND,ZMINTEND
+REAL(KIND=JPRB) :: ZDZZ(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZTPW(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZCPM(KLON,KLEV), ZRHM(KLON,KLEV)
+! POUR GROUND 
+REAL(KIND=JPRB) :: ZZS_FSWDIR(YDCPG_OPTS%KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW), ZZS_FSWDIF(YDCPG_OPTS%KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW)
+REAL(KIND=JPRB) :: ZTRSODIR (YDCPG_OPTS%KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW), ZTRSODIF (YDCPG_OPTS%KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW)
+REAL(KIND=JPRB) :: ZTP2(YDCPG_OPTS%KLON), ZWS2(YDCPG_OPTS%KLON), ZWP2(YDCPG_OPTS%KLON), ZWSI2(YDCPG_OPTS%KLON), ZWPI2(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZWR2(YDCPG_OPTS%KLON), ZSNA2(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZTRSOD(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZSUDU(YDCPG_OPTS%KLON), ZSDUR(YDCPG_OPTS%KLON), ZDSRP(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZCEMTR(YDCPG_OPTS%KLON,2), ZCTRSO(YDCPG_OPTS%KLON,2)
+
+REAL(KIND=JPRB) :: ZALBD(YDCPG_OPTS%KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW), ZALBP(YDCPG_OPTS%KLON,YDMODEL%YRML_PHY_RAD%YRERAD%NSW)
+REAL(KIND=JPRB) :: ZALBD1(YDCPG_OPTS%KLON), ZALBP1(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZAPHIM(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG), ZAPHIFM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+
+REAL(KIND=JPRB) :: ZTM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQVM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQIM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZQCM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG),ZQHM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQHGM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZQRM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQSM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZQGM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZUPGENL(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZUPGENN(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZCLFR(YDCPG_OPTS%KLON)
+
+REAL(KIND=JPRB) :: ZCPM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZRHM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
 ! Variables concerning updraft rain/snow for EDMF
-REAL(KIND=JPRB) :: ZTENDTUP(KLON,KLEV), ZTENDQVUP(KLON,KLEV)
+REAL(KIND=JPRB) :: ZTENDTUP(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZTENDQVUP(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
 ! specific to new data flow for diagnostics
-REAL(KIND=JPRB) :: ZTENDTBAK(KLON,KLEV), ZTENDRBAK(KLON,KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
-REAL(KIND=JPRB) :: ZTMPAF(KLON,KLEV)
+REAL(KIND=JPRB) :: ZTENDTBAK(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZTENDRBAK(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+REAL(KIND=JPRB) :: ZTMPAF(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
 ! daand: radflex
-REAL(KIND=JPRB)  :: ZFPR(KLON,0:KLEV,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+REAL(KIND=JPRB)  :: ZFPR(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
 
 ! Target should not be necessary. REK
-REAL(KIND=JPRB), TARGET :: ZCON1(KLON,KLEV)
-REAL(KIND=JPRB), TARGET :: ZCON2(KLON,KLEV)
-REAL(KIND=JPRB), TARGET :: ZCON3(KLON,KLEV)
+REAL(KIND=JPRB), TARGET :: ZCON1(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB), TARGET :: ZCON2(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB), TARGET :: ZCON3(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
 ! Ajout pour MF Dual Scheme (KNMI et al)
 ! Updraft characteristics in Arpege/IFS world
-REAL(KIND=JPRB) :: ZMF_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZTHETAL_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZQT_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZTHTV_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZQC_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZQI_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZU_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZV_UP(KLON,0:KLEV,KMAXDRAFT)
-REAL(KIND=JPRB) :: ZTSURF(KLON), ZTN(KLON), ZQS(KLON)
+REAL(KIND=JPRB) :: ZMF_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZTHETAL_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZQT_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZTHTV_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZQC_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZQI_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZU_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZV_UP(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KMAXDRAFT)
+REAL(KIND=JPRB) :: ZTSURF(YDCPG_OPTS%KLON), ZTN(YDCPG_OPTS%KLON), ZQS(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZZEXNREFM(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG), ZZWCLDFR(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZFRSOLU(KLON), ZFRSODS(KLON)
-REAL(KIND=JPRB) :: ZFSDNN(KLON), ZFSDNV(KLON)
+REAL(KIND=JPRB) :: ZFRSOLU(YDCPG_OPTS%KLON), ZFRSODS(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: ZFSDNN(YDCPG_OPTS%KLON), ZFSDNV(YDCPG_OPTS%KLON)
 
-REAL(KIND=JPRB) :: ZSURFPREP(KLON), ZSURFSNOW(KLON)
+REAL(KIND=JPRB) :: ZSURFPREP(YDCPG_OPTS%KLON), ZSURFSNOW(YDCPG_OPTS%KLON)
 
-REAL(KIND=JPRB) :: ZQO3(KLON,0:KLEV)
+REAL(KIND=JPRB) :: ZQO3(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG)
 
-REAL(KIND=JPRB) :: ZZS_FTH_(KLON), ZZS_FRV_(KLON), ZZS_FU_(KLON), ZZS_FV_(KLON)
+REAL(KIND=JPRB) :: ZZS_FTH_(YDCPG_OPTS%KLON), ZZS_FRV_(YDCPG_OPTS%KLON), ZZS_FU_(YDCPG_OPTS%KLON), ZZS_FV_(YDCPG_OPTS%KLON)
 
 ! Surface forcing arrays for MUSC
-REAL(KIND=JPRB) :: ZRHODREFM(KLON), ZTHETAS(KLON)
+REAL(KIND=JPRB) :: ZRHODREFM(YDCPG_OPTS%KLON), ZTHETAS(YDCPG_OPTS%KLON)
 
 ! ACRANEB2 local variables
-REAL(KIND=JPRB) :: ZNEB0    (KLON,KLEV)  ! protected cloud fractions
-REAL(KIND=JPRB) :: ZCLCT_RAD(KLON)       ! total cloud cover for radiation
-REAL(KIND=JPRB) :: ZDECRD   (KLON)       ! decorrelation depth
+REAL(KIND=JPRB) :: ZNEB0    (YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)  ! protected cloud fractions
+REAL(KIND=JPRB) :: ZCLCT_RAD(YDCPG_OPTS%KLON)       ! total cloud cover for radiation
+REAL(KIND=JPRB) :: ZDECRD   (YDCPG_OPTS%KLON)       ! decorrelation depth
 
 ! Stochastic physics pattern & dummy tendencies for calling sppten
 ! Bof. REK
-REAL(KIND=JPRB) :: ZDUMMY(KLON,KLEV)
-REAL(KIND=JPRB) :: ZDUMMY1(KLON)
+REAL(KIND=JPRB) :: ZMULNOISE(YDCPG_OPTS%KLON,1)
+REAL(KIND=JPRB) :: ZDUMMY(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+REAL(KIND=JPRB) :: ZDUMMY1(YDCPG_OPTS%KLON)
+REAL(KIND=JPRB) :: PTENDENCYU(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,1),PTENDENCYV(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,1)
+REAL(KIND=JPRB) :: PTENDENCYT(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,1),PTENDENCYQ(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,1)
 
-REAL(KIND=JPRB) :: ZROZ(KLON,KLEV)
+REAL(KIND=JPRB) :: ZROZ(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 
 ! Can we remove ? REK
 REAL(KIND=JPRB) :: ZEPSM(0,0,0) ! Dissipation of TKE (eps) at time t-dt
@@ -904,17 +619,17 @@ INTEGER(KIND=JPIM) :: IJN  ! max. number of day/night slices within NRPOMA
 INTEGER(KIND=JPIM) :: IKL  !ordering of vert levels 1:MNH -1:AROME
 INTEGER(KIND=JPIM) :: IOFF_MFSHAL, IEZDIAG_CHEM
 INTEGER(KIND=JPIM) :: IKA,IKB,IKU,IKT,IKTE,IKTB ! vertical points as in mpa
-INTEGER(KIND=JPIM) :: JSG, JK, JR, JSW
+INTEGER(KIND=JPIM) :: JSG, JK, JR, JSW, JAE
 INTEGER(KIND=JPIM) :: IDRAFT,JDRAFT,INDRAFT
 INTEGER(KIND=JPIM) :: ISURFEX
-INTEGER(KIND=JPIM) :: IDAY,IYEAR,IMONTH
+INTEGER(KIND=JPIM) :: IDAY,IYEAR,IMONTH,IAERO
 
 INTEGER(KIND=JPIM) :: INIT0 ! Kind of safety/debugging initialization :
                             ! 0 = initialize to HUGE (debugging)
                             ! 1 = initialize to realistic value (discouraged)
                             ! -1 = no initialization (optimized code) - this is the default.
 
-INTEGER(KIND=JPIM) :: ICLPH(KLON)             !PBL top level
+INTEGER(KIND=JPIM) :: ICLPH(YDCPG_OPTS%KLON)             !PBL top level
 INTEGER(KIND=JPIM) :: JLHSTEP,ISTEP
 
 !       Real
@@ -922,21 +637,21 @@ REAL(KIND=JPRB) :: ZRHO
 REAL(KIND=JPRB) :: ZAEO, ZAEN, ZSALBCOR
 REAL(KIND=JPRB) :: ZDT, ZDT2, ZINVDT, ZINVG, ZRSCP, ZINVATM, Z_WMAX, Z_WMIN
  ! pas de temps pour la surface externalise
-REAL(KIND=JPRB) :: ZDTMSE,ZRHGMT,ZSTATI
+REAL(KIND=JPRB) :: ZDTMSE,ZRHGMT,ZSTATI,ZADTMS
 REAL(KIND=JPRB) :: ZDELTA
 REAL(KIND=JPRB) :: ZEPSNEB
 
 ! default values for initialization :
 REAL(KIND=JPRB) :: ZVALUE, ZVALUE_ONE, ZVALUE_T, ZVALUE_P, ZVALUE_L, ZVALUE_EPSILON
 
-REAL(KIND=JPRB) :: ZVETAH(0:KLEV)
+REAL(KIND=JPRB) :: ZVETAH(0:YDCPG_OPTS%KFLEVG)
 
 !       Boolean
 LOGICAL :: LLMSE, LLMSE_PARAM, LLMSE_DIAG
 LOGICAL :: LLAROME
 LOGICAL :: LLRAD
 LOGICAL :: LLSWAP_THS, LLSWAP_RS, LLSWAP_SVS, LLSWAP_SVM, LLSWAP_LIMAS ! logical to swap or not pointers in and out
-LOGICAL :: LLHN(KLON,KLEV)
+LOGICAL :: LLHN(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
 LOGICAL :: LNUDGLHNREAD
 
 !       Characters
@@ -946,7 +661,7 @@ CHARACTER(LEN=2),DIMENSION(7):: CLVARNAME=(/"QV","QL","QR","QI","QS","QG","QH"/)
 ! daand: radflex
 REAL(KIND=JPRB), POINTER :: ZFRSO(:,:), ZFRTH(:,:)
 TYPE(TYPE_INTPROC), POINTER :: YLRADPROC
-REAL(KIND=JPRB)   :: ZCAPE(KLON), ZDCAPE(KLON)
+REAL(KIND=JPRB)   :: ZCAPE(YDCPG_OPTS%KLON), ZDCAPE(YDCPG_OPTS%KLON)
 
 !
 ! Phaser team note from CY43T1:
@@ -959,29 +674,121 @@ REAL(KIND=JPRB), PARAMETER :: PPTKEMIN = 1.E-6
 
 
 ! Perturbed radiation-cloud interaction coef
-REAL(KIND=JPRB), DIMENSION (KLON) :: ZRADGR,ZRADSN
-REAL(KIND=JPRB) :: ZMU,ZVAL
-INTEGER(KIND=JPIM) :: JKO,JKE
-
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-
-
-
-
-
-
-
-
-
-
+REAL(KIND=JPRB), DIMENSION (YDCPG_OPTS%KLON) :: ZRADGR,ZRADSN
 
+TYPE(ALL_SPP_VARS) :: ZSPP_ALL
 
+!     ------------------------------------------------------------------
+LOGICAL :: LLDIAB
+LOGICAL :: LL_SAVE_PHSURF
+LOGICAL :: LLXFUMSE
+
+INTEGER(KIND=JPIM) :: IPTREXT,IEFB1,IEFB2,IEFB3
+INTEGER(KIND=JPIM) :: IPTR(YDMODEL%YRML_GCONF%YGFL%NUMFLDS)
+INTEGER(KIND=JPIM) :: IPTRLIMA
+INTEGER(KIND=JPIM) :: IRR ! pointer of 1st hydrometeors in ZTENDGFLR
+INTEGER(KIND=JPIM) :: IPTRTKE ! pointer of TKE in ZTENDGFLR
+
+INTEGER(KIND=JPIM) :: IPGFL(YDMODEL%YRML_GCONF%YGFL%NUMFLDS)
+
+INTEGER(KIND=JPIM) :: INSTEP_DEB,INSTEP_FIN
+INTEGER(KIND=JPIM) :: JROF, JSPP
+INTEGER(KIND=JPIM) :: ISLB1U9  ,ISLB1V9  ,ISLB1T9  ,ISLB1GFL9, ISLB1VD9
+
+!     --- UPPER AIR PHYSICAL TENDENCIES.
+REAL(KIND=JPRB) :: ZTENDH(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)     ! Enthalpy tendency.
+REAL(KIND=JPRB) :: ZTENDPTKE(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)  ! Pseudo progn. TKE
+
+! GFL tendencies for APL_AROME (assumes YDMODEL%YRML_GCONF%YGFL%NUMFLDS>=YDMODEL%YRML_PHY_MF%YRPARAR%NRR)
+! for now, use Jovi's trick :
+REAL(KIND=JPRB), TARGET :: ZTENDGFLR(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,0:YDMODEL%YRML_GCONF%YGFL%NUMFLDS)
+REAL(KIND=JPRB) :: ZTENDGFL(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDMODEL%YRML_GCONF%YGFL%NUMFLDS)   ! GFL tendencies
+
+!     --- UPPER AIR PHYSICAL TENDENCIES FOR AROME.
+!       (the previous one are not used in AROME)
+REAL(KIND=JPRB) :: ZTENDT (YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)        ! temperature tendency
+REAL(KIND=JPRB) :: ZTENDW (YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)        ! W  tendency
+REAL(KIND=JPRB) :: ZTENDD (YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)        ! d  tendency
+
+REAL(KIND=JPRB) :: ZTENDU (YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)    ! U tendency without deep convection contribution
+REAL(KIND=JPRB) :: ZTENDV (YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)    ! V tendency without deep convection contribution
+
+
+!     ---FOR AROME PHYSICS  ---
+REAL(KIND=JPRB) :: ZGWT1(YDCPG_OPTS%KLON,0:YDCPG_OPTS%KFLEVG)     ! vertical velocity calculated by cputqy_arome before convertion in d
+REAL(KIND=JPRB) :: ZTT1(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)       ! Temperature at t1
+
+! ZRTT1: appropriate version of R*T at t1 for gnhgw2svd
+!  Version of R must be consistent with definition of vertical divergence.
+REAL(KIND=JPRB) :: ZRTT1(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG)
+
+
+REAL (KIND=JPRB) :: ZSAV_GZ0F (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_UDOM (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZPRC_DPRECIPS2 (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%NDTPREC2)
+REAL (KIND=JPRB) :: ZRDG_LCVQ (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZSAV_DDAL (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZPRC_DPRECIPS (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%NDTPREC)
+REAL (KIND=JPRB) :: ZRDG_MU0M (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZRDG_CVGQ (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZRDG_MU0N (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_UDAL (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZSAV_UDGRO (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_HV (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_QSH  (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_DDOM (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZSAV_UNEBH (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZRDG_MU0 (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_ENTCH (YDCPG_OPTS%KLON, 1:YDCPG_OPTS%KFLEVG)
+REAL (KIND=JPRB) :: ZRDG_MU0LU (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_PBLH (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_GZ0HF (YDCPG_OPTS%KLON)
+REAL (KIND=JPRB) :: ZSAV_FHPS (YDCPG_OPTS%KLON)
+
+! required for INTFLEX
+TYPE(TYPE_INTPROCSET) :: YLPROCSET
+
+! SPP
+REAL(KIND=JPRB) :: ZGP2DSPP(YDCPG_OPTS%KLON,YSPP%N2D)
+
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_Q    (:,:)  
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_L    (:,:)  
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_R    (:,:)  
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_I    (:,:)  
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_S    (:,:)  
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_G    (:,:)  
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTEND_H    (:,:)  
+REAL(KIND=JPRB), TARGET :: ZDUM2 (1,1)
+
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDRA   (:,:,:) 
+
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDLIMA (:,:,:) 
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDTKE  (:,:) 
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDEFB1 (:,:) 
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDEFB2 (:,:)
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDEFB3 (:,:)
+REAL(KIND=JPRB), POINTER, CONTIGUOUS :: ZTENDEXT  (:,:,:)
+
+REAL(KIND=JPRB), POINTER :: ZP1EZDIAG(:,:,:)
 
+REAL(KIND=JPRB) :: ZHOOK_HANDLE
 
-!SR phasing step
-TYPE(TSPP_CONFIG_TYPE) :: YSPP1, YSPP2, YSPP3
-!     --------------------------------------------------------------------------
+!     ------------------------------------------------------------------
 
+#include "cpphinp.intfb.h"
+#include "cptend_flex.intfb.h"
+#include "cputqy_arome_expl.intfb.h"
+#include "cputqy_arome_loop.intfb.h"
+#include "cputqy.intfb.h"
+#include "cp_ptrslb1.intfb.h"
+#include "gnhgw2svdarome.intfb.h"
+#include "writephysio.intfb.h"
+#include "mf_phys_save_phsurf_part1.intfb.h"
+#include "mf_phys_save_phsurf_part2.intfb.h"
+#include "mf_phys_transfer.intfb.h"
+#include "mf_phys_precips.intfb.h"
+#include "apl_arome_calc_iptr.intfb.h"
+#include "apl_arome_calc_ipgfl.intfb.h"
 #include "abor1.intfb.h"
 #include "recmwf.intfb.h"
 #include "acraneb2.intfb.h"
@@ -991,8 +798,10 @@ TYPE(TSPP_CONFIG_TYPE) :: YSPP1, YSPP2, YSPP3
 #include "gpgeo.intfb.h"
 #include "gprcp.intfb.h"
 #include "radheat.intfb.h"
+#include "radghg.intfb.h"
 #include "suozon.intfb.h"
 #include "radaer.intfb.h"
+#include "radact.intfb.h"
 #include "radozc.intfb.h"
 #include "accldia.intfb.h"
 #include "vdfhghthl.intfb.h"
@@ -1000,12 +809,12 @@ TYPE(TSPP_CONFIG_TYPE) :: YSPP1, YSPP2, YSPP3
 #include "surf_ideal_flux.intfb.h"
 #include "ecr1d.intfb.h"
 #include "apl_arome2intflex.intfb.h"
-
 #include "aro_rain_ice.h"
 #include "nudglhprecip.intfb.h"
 #include "nudglh.intfb.h"
 #include "nudglhclimprof.intfb.h"
 #include "nudglhprep.intfb.h"
+#include "aro_windfarm.intfb.h"
 #include "aro_turb_mnh.h"
 #include "aro_adjust.h"
 #include "aro_mnhc.h"
@@ -1023,105 +832,176 @@ TYPE(TSPP_CONFIG_TYPE) :: YSPP1, YSPP2, YSPP3
 #include "acvisih.intfb.h"
 #include "aro_ground_diag_2isba.h"
 
+#ifdef REPRO48
+!To compensate a bug introduced in 48t3
+!Must be suppressed as soon as the bug is corrected
+#include "aroini_budget.h"
+#endif
+
 !     ------------------------------------------------------------------
 
 #include "fcttrm.func.h"
 
-!     --------------------------------------------------------------------------
 
+!     ------------------------------------------------------------------
 IF (LHOOK) CALL DR_HOOK('APL_AROME',0,ZHOOK_HANDLE)
 
-ASSOCIATE(YDDIM=>YDGEOMETRY%YRDIM,YDDIMV=>YDGEOMETRY%YRDIMV,YDGEM=>YDGEOMETRY%YRGEM, YDMP=>YDGEOMETRY%YRMP, &
- & YDVETA=>YDGEOMETRY%YRVETA, YDVFE=>YDGEOMETRY%YRVFE,  YDSTA=>YDGEOMETRY%YRSTA, YDLAP=>YDGEOMETRY%YRLAP, &
- & YDCSGLEG=>YDGEOMETRY%YRCSGLEG,  YDVSPLIP=>YDGEOMETRY%YRVSPLIP, YDVSLETA=>YDGEOMETRY%YRVSLETA, &
- & YDHSLMER=>YDGEOMETRY%YRHSLMER,  YDCSGEOM=>YDGEOMETRY%YRCSGEOM, YDCSGEOM_NB=>YDGEOMETRY%YRCSGEOM_NB, &
- & YDGSGEOM=>YDGEOMETRY%YRGSGEOM, YDGSGEOM_NB=>YDGEOMETRY%YRGSGEOM_NB,  YDSPGEOM=>YDGEOMETRY%YSPGEOM, &
- & YDPHY=>YDMODEL%YRML_PHY_MF%YRPHY, &
- & YLDDH=>YDMODEL%YRML_DIAG%YRLDDH,YDTOPH=>YDMODEL%YRML_PHY_MF%YRTOPH,  &
- & YDERDI=>YDMODEL%YRML_PHY_RAD%YRERDI,YDRIP=>YDMODEL%YRML_GCONF%YRRIP,YDARPHY=>YDMODEL%YRML_PHY_MF%YRARPHY,  &
- & YDERAD=>YDMODEL%YRML_PHY_RAD%YRERAD,YDPHY3=>YDMODEL%YRML_PHY_MF%YRPHY3,YDPHYDS=>YDMODEL%YRML_PHY_MF%YRPHYDS,  &
- & YDPHY0=>YDMODEL%YRML_PHY_MF%YRPHY0, YDVISI=>YDMODEL%YRML_PHY_MF%YRPHY%YRDVISI,&
- & YDPHY2=>YDMODEL%YRML_PHY_MF%YRPHY2,&
- & YGFL=>YDMODEL%YRML_GCONF%YGFL,YDMSE=>YDMODEL%YRML_PHY_MF%YRMSE, &
- & YDPARAR=>YDMODEL%YRML_PHY_MF%YRPARAR,YDPRECIPS=>YDMODEL%YRML_PHY_MF%YRPHY%YRDPRECIPS, &
- & YDSTOPH=>YDMODEL%YRML_PHY_STOCH%YRSTOPH)
-
-ASSOCIATE(MINPRR=>YDPARAR%MINPRR, MINPRS=>YDPARAR%MINPRS, MVQS=>YDPARAR%MVQS, &
- & MINPRG=>YDPARAR%MINPRG, LOTOWNC=>YDPARAR%LOTOWNC, LFPREC3D=>YDPARAR%LFPREC3D, &
- & NGPAR=>YDPARAR%NGPAR, CSUBG_PR_PDF=>YDPARAR%CSUBG_PR_PDF, &
- & NRRI=>YDPARAR%NRRI, NRRL=>YDPARAR%NRRL, CSUBG_AUCV_RC=>YDPARAR%CSUBG_AUCV_RC, &
- & CSUBG_AUCV_RI=>YDPARAR%CSUBG_AUCV_RI, CCONDENS=>YDPARAR%CCONDENS, &
- & CSUBG_MF_PDF=>YDPARAR%CSUBG_MF_PDF, &
- & LTOTPREC=>YDPARAR%LTOTPREC, CSUBG_RC_RR_ACCR=>YDPARAR%CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP=>YDPARAR%CSUBG_RR_EVAP, &
- & NPRINTFR=>YDPARAR%NPRINTFR, CMF_CLOUD=>YDPARAR%CMF_CLOUD, &
- & MALBDIR=>YDPARAR%MALBDIR, NSWB_MNH=>YDPARAR%NSWB_MNH, &
- & XSW_BANDS=>YDPARAR%XSW_BANDS, MACPRG=>YDPARAR%MACPRG, MSWDIR=>YDPARAR%MSWDIR, &
- & LMIXUV=>YDPARAR%LMIXUV, MSWDIF=>YDPARAR%MSWDIF, LOLSMC=>YDPARAR%LOLSMC, &
- & NDIAGWMAX=>YDPARAR%NDIAGWMAX, MACPRS=>YDPARAR%MACPRS, MACPRR=>YDPARAR%MACPRR, &
- & LSQUALL=>YDPARAR%LSQUALL, VSIGQSAT=>YDPARAR%VSIGQSAT, &
- & MALBSCA=>YDPARAR%MALBSCA,&
- & RADSN=>YDPARAR%RADSN, LOSEDIC=>YDPARAR%LOSEDIC, LDIAGWMAX=>YDPARAR%LDIAGWMAX, &
- & CSEDIM=>YDPARAR%CSEDIM, CLAMBDA3=>YDPARAR%CLAMBDA3, &
- & NPTP=>YDPARAR%NPTP, NSPLITR=>YDPARAR%NSPLITR, NSPLITG=>YDPARAR%NSPLITG, NSV=>YDPARAR%NSV, &
- & CFRAC_ICE_SHALLOW_MF=>YDPARAR%CFRAC_ICE_SHALLOW_MF, CFRAC_ICE_ADJUST=>YDPARAR%CFRAC_ICE_ADJUST, &
- & MVTS=>YDPARAR%MVTS, NREFROI2=>YDPARAR%NREFROI2, NREFROI1=>YDPARAR%NREFROI1, &
- & MVEMIS=>YDPARAR%MVEMIS, LOWARM=>YDPARAR%LOWARM, LOCND2=>YDPARAR%LOCND2, &
- & LOSIGMAS=>YDPARAR%LOSIGMAS, NRR=>YDPARAR%NRR, &
- & LOSUBG_COND=>YDPARAR%LOSUBG_COND, RADGR=>YDPARAR%RADGR, &
- & CMF_UPDRAFT=>YDPARAR%CMF_UPDRAFT, LHARATU=>YDPARAR%LHARATU, &
- & XMINLM=>YDPHY0%XMINLM, XMAXLM=>YDPHY0%XMAXLM, AERCS1=>YDPHY0%AERCS1, &
- & AERCS3=>YDPHY0%AERCS3, AERCS5=>YDPHY0%AERCS5, &
- & RDECRD1=>YDPHY0%RDECRD1, RDECRD2=>YDPHY0%RDECRD2, &
- & RDECRD3=>YDPHY0%RDECRD3, RDECRD4=>YDPHY0%RDECRD4, &
- & LMPA=>YDARPHY%LMPA, LUSECHEM=>YDARPHY%LUSECHEM, LKFBCONV=>YDARPHY%LKFBCONV, &
- & LMFSHAL=>YDARPHY%LMFSHAL, LMICRO=>YDARPHY%LMICRO, &
- & CCOUPLING=>YDARPHY%CCOUPLING, LTURB=>YDARPHY%LTURB, LGRADHPHY=>YDARPHY%LGRADHPHY, &
- & NSURFEX_ITER=>YDARPHY%NSURFEX_ITER, LRDUST=>YDARPHY%LRDUST, &
- & NGRADIENTS=>YDARPHY%NGRADIENTS, &
- & LRDEPOS=>YDARPHY%LRDEPOS, LSURFEX_CRITICAL=>YDARPHY%LSURFEX_CRITICAL, &
- & LRCO2=>YDARPHY%LRCO2, LMSE=>YDARPHY%LMSE, &
- & LSURFEX_KFROM=>YDARPHY%LSURFEX_KFROM, &
- & NSURFEXCTL=>YDMSE%NSURFEXCTL, XZSEPS=>YDMSE%XZSEPS, &
- & NDLUNG=>YDDIM%NDLUNG, NDGUNG=>YDDIM%NDGUNG, NPROMA=>YDDIM%NPROMA, &
- & NDLUXG=>YDDIM%NDLUXG, NDGUXG=>YDDIM%NDGUXG, &
- & NSFORC=>YDPHYDS%NSFORC, &
- & NGFL_EXT=>YGFL%NGFL_EXT, YLRAD=>YGFL%YLRAD, YIRAD=>YGFL%YIRAD, &
- & NGFL_EZDIAG=>YGFL%NGFL_EZDIAG, &
- & NLIMA=>YGFL%NLIMA, CMICRO=>YDPARAR%CMICRO,NPROMICRO=>YDPARAR%NPROMICRO, &
- & LKOGAN=>YDPARAR%LKOGAN, LHGT_QS=>YDPARAR%LHGT_QS, LMODICEDEP=>YDPARAR%LMODICEDEP, &
- & YSD_VAD=>YDSURF%YSD_VAD, &
- & QCO2=>YDPHY3%QCO2, &
- & NTEND_DIAG_POS=>YDPHY%NTEND_DIAG_POS, NTEND_DIAG_FREQ_RESET=>YDPHY%NTEND_DIAG_FREQ_RESET, &
- & NRAY=>YDPHY%NRAY, LRAYFM=>YDPHY%LRAYFM, &
- & LO3ABC=>YDPHY%LO3ABC, LRAY=>YDPHY%LRAY, &
- & LAEROVOL=>YDPHY%LAEROVOL, LRSTAER=>YDPHY%LRSTAER, LRNUEXP=>YDPHY%LRNUEXP, &
- & AMAGSTOPH_CASBS=> YDSTOPH%AMAGSTOPH_CASBS, LFORCENL=>YDSTOPH%LFORCENL, &
- & NFORCESTART=>YDSTOPH%NFORCESTART, NFORCEEND=>YDSTOPH%NFORCEEND, &
- & NTRADI=>YDTOPH%NTRADI, NTQSAT=>YDTOPH%NTQSAT, NTNEBU=>YDTOPH%NTNEBU,&
- & NAER=>YDERAD%NAER, &
- & LHLRADUPD=>YDPHY%LHLRADUPD, &
- & TSPHY=>YDPHY2%TSPHY,&
- & NMODE=>YDERAD%NMODE, &
- & NOZOCL=>YDERAD%NOZOCL, &
- & NRADFR=>YDERAD%NRADFR, &
- & NSW=>YDERAD%NSW, &
- & RCARDI=>YDERDI%RCARDI, &
- & LFLEXDIA=>YLDDH%LFLEXDIA, LDDH_OMP=>YLDDH%LDDH_OMP, LRSLDDH=>YLDDH%LRSLDDH, &
- & RDECLI=>YDRIP%RDECLI, &
- & RCODEC=>YDRIP%RCODEC, &
- & RHGMT=>YDRIP%RHGMT, &
- & RSIDEC=>YDRIP%RSIDEC, &
- & RSOVR=>YDRIP%RSOVR, &
- & RSTATI=>YDRIP%RSTATI, &
- & TSTEP=>YDRIP%TSTEP, &
- & STPREH=>YDSTA%STPREH, &
- & LXXDIAGH=>YDXFU%LXXDIAGH,&
- & LFLASH =>YDCFU%LFLASH,&
- & LDPRECIPS=>YDPHY%LDPRECIPS,LDPRECIPS2=>YDPHY%LDPRECIPS2,&
- & NDTPREC=>YDPRECIPS%NDTPREC,NDTPREC2=>YDPRECIPS%NDTPREC2,&
- & NDTPRECCUR=>YDPRECIPS%NDTPRECCUR,NDTPRECCUR2=>YDPRECIPS%NDTPRECCUR2,&
- & NGPTOT=>YDGEM%NGPTOT,&
- & NGPBLKS=>YDDIM%NGPBLKS)
+ASSOCIATE(YDDIM=>YDGEOMETRY%YRDIM, YDGEM=>YDGEOMETRY%YRGEM, YDSTA=>YDGEOMETRY%YRSTA, YDPHY=>YDMODEL%YRML_PHY_MF%YRPHY,     &
+& YLDDH=>YDMODEL%YRML_DIAG%YRLDDH, YDTOPH=>YDMODEL%YRML_PHY_MF%YRTOPH, YDERDI=>YDMODEL%YRML_PHY_RAD%YRERDI,                &
+& YDRIP=>YDMODEL%YRML_GCONF%YRRIP, YDARPHY=>YDMODEL%YRML_PHY_MF%YRARPHY, YDERAD=>YDMODEL%YRML_PHY_RAD%YRERAD,              &
+& YDPHY3=>YDMODEL%YRML_PHY_MF%YRPHY3, YDPHYDS=>YDMODEL%YRML_PHY_MF%YRPHYDS, YDPHY0=>YDMODEL%YRML_PHY_MF%YRPHY0,            &
+& YDVISI=>YDMODEL%YRML_PHY_MF%YRPHY%YRDVISI, YDPHY2=>YDMODEL%YRML_PHY_MF%YRPHY2, YGFL=>YDMODEL%YRML_GCONF%YGFL,            &
+& YDMSE=>YDMODEL%YRML_PHY_MF%YRMSE, YDPARAR=>YDMODEL%YRML_PHY_MF%YRPARAR, YDPRECIPS=>YDMODEL%YRML_PHY_MF%YRPHY%YRDPRECIPS, &
+& YDSTOPH=>YDMODEL%YRML_PHY_STOCH%YRSTOPH, YDPTRSLB1=>YDMODEL%YRML_DYN%YRPTRSLB1, YDMDDH=>YDMODEL%YRML_DIAG%YRMDDH,        &
+& YDDPHY=>YDMODEL%YRML_PHY_G%YRDPHY, YDLDDH=>YDMODEL%YRML_DIAG%YRLDDH, YDEPHY=> YDMODEL%YRML_PHY_EC%YREPHY                 &
+& )
+
+ASSOCIATE(MINPRR=>YDPARAR%MINPRR, MINPRS=>YDPARAR%MINPRS, MVQS=>YDPARAR%MVQS, MINPRG=>YDPARAR%MINPRG,                                 &
+& LOTOWNC=>YDPARAR%LOTOWNC, LFPREC3D=>YDPARAR%LFPREC3D, NRRI=>YDPARAR%NRRI, NRRL=>YDPARAR%NRRL, CSUBG_AUCV_RC=>YDPARAR%CSUBG_AUCV_RC, &
+& CSUBG_AUCV_RI=>YDPARAR%CSUBG_AUCV_RI, CCONDENS=>YDPARAR%CCONDENS, CSUBG_MF_PDF=>YDPARAR%CSUBG_MF_PDF,                               &
+& LTOTPREC=>YDPARAR%LTOTPREC, NPRINTFR=>YDPARAR%NPRINTFR, CMF_CLOUD=>YDPARAR%CMF_CLOUD, MALBDIR=>YDPARAR%MALBDIR,                     &
+& NSWB_MNH=>YDPARAR%NSWB_MNH, XSW_BANDS=>YDPARAR%XSW_BANDS, MACPRG=>YDPARAR%MACPRG, MSWDIR=>YDPARAR%MSWDIR,                           &
+& LMIXUV=>YDPARAR%LMIXUV, MSWDIF=>YDPARAR%MSWDIF, LOLSMC=>YDPARAR%LOLSMC, NDIAGWMAX=>YDPARAR%NDIAGWMAX,                               &
+& MACPRS=>YDPARAR%MACPRS, MACPRR=>YDPARAR%MACPRR, LSQUALL=>YDPARAR%LSQUALL, VSIGQSAT=>YDPARAR%VSIGQSAT,                               &
+& MALBSCA=>YDPARAR%MALBSCA, RADSN=>YDPARAR%RADSN, LOSEDIC=>YDPARAR%LOSEDIC, LDIAGWMAX=>YDPARAR%LDIAGWMAX,                             &
+& CSEDIM=>YDPARAR%CSEDIM, CLAMBDA3=>YDPARAR%CLAMBDA3,                                                                                 &
+& NPTP=>YDPARAR%NPTP, NSPLITR=>YDPARAR%NSPLITR, NSPLITG=>YDPARAR%NSPLITG, NSV=>YDPARAR%NSV,                                           &
+& CFRAC_ICE_SHALLOW_MF=>YDPARAR%CFRAC_ICE_SHALLOW_MF, CFRAC_ICE_ADJUST=>YDPARAR%CFRAC_ICE_ADJUST, MVTS=>YDPARAR%MVTS,                 &
+& NREFROI2=>YDPARAR%NREFROI2, NREFROI1=>YDPARAR%NREFROI1, MVEMIS=>YDPARAR%MVEMIS, LOWARM=>YDPARAR%LOWARM,                             &
+& LOCND2=>YDPARAR%LOCND2, LOSIGMAS=>YDPARAR%LOSIGMAS, NRR=>YDPARAR%NRR, LOSUBG_COND=>YDPARAR%LOSUBG_COND,       &
+& RADGR=>YDPARAR%RADGR, CMF_UPDRAFT=>YDPARAR%CMF_UPDRAFT, LHARATU=>YDPARAR%LHARATU, XMINLM=>YDPHY0%XMINLM,                            &
+& XMAXLM=>YDPHY0%XMAXLM, AERCS1=>YDPHY0%AERCS1, AERCS3=>YDPHY0%AERCS3, AERCS5=>YDPHY0%AERCS5, RDECRD1=>YDPHY0%RDECRD1,                &
+& RDECRD2=>YDPHY0%RDECRD2, RDECRD3=>YDPHY0%RDECRD3, RDECRD4=>YDPHY0%RDECRD4, LMPA=>YDARPHY%LMPA, LUSECHEM=>YDARPHY%LUSECHEM,          &
+& LKFBCONV=>YDARPHY%LKFBCONV, LMFSHAL=>YDARPHY%LMFSHAL, LMICRO=>YDARPHY%LMICRO, CCOUPLING=>YDARPHY%CCOUPLING,                         &
+& LTURB=>YDARPHY%LTURB, LGRADHPHY=>YDARPHY%LGRADHPHY, LRDUST=>YDARPHY%LRDUST,                     &
+& NGRADIENTS=>YDARPHY%NGRADIENTS, LRDEPOS=>YDARPHY%LRDEPOS,                               &
+& LRCO2=>YDARPHY%LRCO2, LMSE=>YDARPHY%LMSE, LSURFEX_KFROM=>YDARPHY%LSURFEX_KFROM, NSURFEXCTL=>YDMSE%NSURFEXCTL,                       &
+& XZSEPS=>YDMSE%XZSEPS, NDLUNG=>YDDIM%NDLUNG, NDGUNG=>YDDIM%NDGUNG, NPROMA=>YDDIM%NPROMA, NDLUXG=>YDDIM%NDLUXG,                       &
+& NDGUXG=>YDDIM%NDGUXG, NGFL_EXT=>YGFL%NGFL_EXT, YLRAD=>YGFL%YLRAD, YIRAD=>YGFL%YIRAD, NGFL_EZDIAG=>YGFL%NGFL_EZDIAG,                 &
+& NLIMA=>YGFL%NLIMA, CMICRO=>YDPARAR%CMICRO, NPROMICRO=>YDPARAR%NPROMICRO,                                                            &
+& YSD_VAD=>YDSURF%YSD_VAD, QCO2=>YDPHY3%QCO2, NRAY=>YDPHY%NRAY,                            &
+& LRAYFM=>YDPHY%LRAYFM, LO3ABC=>YDPHY%LO3ABC, LRAY=>YDPHY%LRAY, LRSTAER=>YDPHY%LRSTAER, LRNUEXP=>YDPHY%LRNUEXP,                       &
+& AMAGSTOPH_CASBS=> YDSTOPH%AMAGSTOPH_CASBS, LFORCENL=>YDSTOPH%LFORCENL, NFORCESTART=>YDSTOPH%NFORCESTART,                            &
+& NFORCEEND=>YDSTOPH%NFORCEEND, NTRADI=>YDTOPH%NTRADI, NTQSAT=>YDTOPH%NTQSAT, NTNEBU=>YDTOPH%NTNEBU, NAERMACC=>YDERAD%NAERMACC,       &
+& NAER=>YDERAD%NAER, LHLRADUPD=>YDPHY%LHLRADUPD, TSPHY=>YDPHY2%TSPHY, NOZOCL=>YDERAD%NOZOCL, NRADFR=>YDERAD%NRADFR,                   &
+& NSW=>YDERAD%NSW, RCARDI=>YDERDI%RCARDI, LFLEXDIA=>YLDDH%LFLEXDIA, LDDH_OMP=>YLDDH%LDDH_OMP, LRSLDDH=>YLDDH%LRSLDDH,                 &
+& RDECLI=>YDRIP%RDECLI, RCODEC=>YDRIP%RCODEC, RHGMT=>YDRIP%RHGMT, RSIDEC=>YDRIP%RSIDEC, RSOVR=>YDRIP%RSOVR,                           &
+& RSTATI=>YDRIP%RSTATI, TSTEP=>YDRIP%TSTEP, STPREH=>YDSTA%STPREH, LXXDIAGH=>YDXFU%LXXDIAGH, LFLASH =>YDCFU%LFLASH,                    &
+& LDPRECIPS=>YDPHY%LDPRECIPS, LDPRECIPS2=>YDPHY%LDPRECIPS2, NDTPREC=>YDPRECIPS%NDTPREC, NDTPREC2=>YDPRECIPS%NDTPREC2,                 &
+& NGPTOT=>YDGEM%NGPTOT, NGPBLKS=>YDDIM%NGPBLKS, NTSSG=>YDDPHY%NTSSG, YEZDIAG=>YGFL%YEZDIAG, YEXT=>YGFL%YEXT,                          &
+& YNOGW=>YGFL%YNOGW, YCHEM=>YGFL%YCHEM, YSP_SBD=>YDSURF%YSP_SBD, LEDR=>YDPHY%LEDR, LAGPHY=>YDEPHY%LAGPHY,                             &
+& YLIMA=>YGFL%YLIMA, LSPSDT => YSPPT_CONFIG%LSPSDT, LKOGAN=>YDPARAR%LKOGAN, LHGT_QS=>YDPARAR%LHGT_QS,                                 &
+& LMODICEDEP=>YDPARAR%LMODICEDEP, LWINDFARM=>YDPHY%LWINDFARM, LSTATNW=>YDPARAR%LSTATNW,                                               &
+ & RG=>YDCST%RG, RCPD=>YDCST%RCPD, RATM=>YDCST%RATM, RTT=>YDCST%RTT, RPI=>YDCST%RPI, &
+ & RCW=>YDCST%RCW, RCPV=>YDCST%RCPV, RLVTT=>YDCST%RLVTT, RCS=>YDCST%RCS, RLSTT=>YDCST%RLSTT, &
+ & RGAMW=>YDCST%RGAMW, RBETW=>YDCST%RBETW, RALPW=>YDCST%RALPW, RGAMS=>YDCST%RGAMS, &
+ & RBETS=>YDCST%RBETS, RALPS=>YDCST%RALPS, RGAMD=>YDCST%RGAMD, RBETD=>YDCST%RBETD, &
+ & RALPD=>YDCST%RALPD, RETV=>YDCST%RETV, RKAPPA=>YDCST%RKAPPA, RHOUR=>YDCST%RHOUR, RV=>YDCST%RV, RD=>YDCST%RD, &
+& LTOTPRECL=>YDPARAR%LTOTPRECL)
+
+CALL SC2PRG(1, YEZDIAG(:)%MP, YDMODEL%YRML_GCONF%YGFL%NGFL_EZDIAG, PGFL, ZP1EZDIAG)
+
+!     ------------------------------------------------------------------
+
+!        0.    constructor for procset
+IF (LINTFLEX) YLPROCSET=NEWINTPROCSET()
+
+!        1.    Preliminary calculations necessary
+!              for all types of physics.
+!              ------------------------------------
+#ifdef REPRO48
+!see comment associated to the include statement
+CALL AROINI_BUDGET(YDMODEL%YRML_DIAG%YRLDDH%LSDDH)
+#endif
+
+INSTEP_DEB=1
+INSTEP_FIN=1
+
+! initialisation for surfex if XFU
+LLXFUMSE=.FALSE.
+IF (YDCPG_OPTS%LCONFX) THEN
+  LLXFUMSE=.TRUE.
+ENDIF
+
+! SPP 
+IF ( YSPP_CONFIG%LSPP ) THEN
+ DO JSPP=1,YSPP%N2D
+   ZGP2DSPP(:,JSPP) = YSPP%GP_ARP(JSPP)%GP2D(:,1,YDCPG_BNDS%KBL)
+ ENDDO
+ENDIF
+
+! Complete physics is called.
+LLDIAB=(.NOT.LAGPHY)
+
+IF (LLDIAB) THEN
+  CALL CPPHINP(YDCPG_OPTS%LVERTFE, YDGEOMETRY, YDMODEL, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDVARS%GEOMETRY%GEMU%T0,            &
+  & YDVARS%GEOMETRY%GELAM%T0, YDVARS%U%T0, YDVARS%V%T0, YDVARS%Q%T0, YDVARS%Q%DL, YDVARS%Q%DM, YDVARS%CVGQ%DL, YDVARS%CVGQ%DM,  &
+  & YDCPG_PHY0%XYB%RDELP, YDCPG_DYN0%CTY%EVEL, YDVARS%CVGQ%T0, ZRDG_MU0, ZRDG_MU0LU, ZRDG_MU0M,                                 &
+  & ZRDG_MU0N, ZRDG_CVGQ)
+  ZRDG_LCVQ(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZRDG_CVGQ(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+ENDIF
+
+! * In some cases, some pseudo-historic surface buffers (like z0) should
+!   not be modified between the entrance and the output of APL_AROME
+!   (this is the case for example if LDCONFX=T).
+!   For the time being, we must save:
+!   - HV (group VV) : resistance to evapotranspiration
+!   - Z0F (group VD): gravity * surface roughness length
+!   - Z0H (group VV): gravity * roughness length for heat
+!   - PBLH (group VH): PBL height
+!   - SPSH (group VH):
+!   - QSH (group VH):
+
+LL_SAVE_PHSURF = .FALSE.
+
+IF (LLDIAB) THEN
+  LL_SAVE_PHSURF=YDCPG_OPTS%LCONFX
+  IF (LL_SAVE_PHSURF) THEN
+    CALL MF_PHYS_SAVE_PHSURF_PART1 (YDCPG_BNDS, YDCPG_OPTS, ZSAV_DDAL, ZSAV_DDOM, ZSAV_ENTCH,                           &
+    & ZSAV_FHPS, ZSAV_GZ0F, ZSAV_GZ0HF, ZSAV_HV, ZSAV_PBLH, ZSAV_QSH, ZSAV_UDAL, ZSAV_UDGRO,                            &
+    & ZSAV_UDOM, ZSAV_UNEBH, YDMF_PHYS_SURF%GSD_VF%PZ0F, YDMF_PHYS_SURF%GSD_VH%PPBLH, YDMF_PHYS_SURF%GSD_VH%PQSH,       &
+    & YDMF_PHYS_SURF%GSD_VH%PSPSH, YDMF_PHYS_SURF%GSD_VK%PUDGRO, YDMF_PHYS_SURF%GSD_VV%PHV, YDMF_PHYS_SURF%GSD_VV%PZ0H, &
+    & YDVARS%DAL%T0, YDVARS%DOM%T0, YDVARS%UAL%T0, YDVARS%UEN%T0, YDVARS%UNEBH%T0, YDVARS%UOM%T0,                       &
+    & YDMODEL)
+  ENDIF
+ENDIF
+
+
+CALL APL_AROME_CALC_IPGFL (YDGEOMETRY, YDCPG_BNDS, YDCPG_OPTS, YDMODEL, IPGFL)
+
+CALL MF_PHYS_TRANSFER (YDCPG_BNDS, YDCPG_OPTS, YDVARS, YDMODEL%YRML_PHY_MF%YRPHY, YDMODEL%YRML_GCONF%YGFL)
+
+CALL APL_AROME_CALC_IPTR (YDMODEL, IEFB1, IEFB2, IEFB3, IPTR, IPTREXT, IPTRLIMA, IPTRTKE, IRR)
+
+! If an incorrect address is used, then the initialization below will detect it :
+ZTENDGFLR(:,:,0)=HUGE(1._JPRB)
+
+ZTEND_Q    => ZTENDGFLR (:,:,IRR+0) ! 1 Q
+ZTEND_L    => ZTENDGFLR (:,:,IRR+1) ! 2 L
+ZTEND_R    => ZTENDGFLR (:,:,IRR+2) ! 3 R
+ZTEND_I    => ZTENDGFLR (:,:,IRR+3) ! 4 I
+ZTEND_S    => ZTENDGFLR (:,:,IRR+4) ! 5 S
+ZTEND_G    => ZTENDGFLR (:,:,IRR+5) ! 6 G
+IF (YDMODEL%YRML_PHY_MF%YRPARAR%NRR == 7) THEN
+  ZTEND_H    => ZTENDGFLR (:,:,IRR+6) ! 7 H
+ELSE
+  ZTEND_H    => ZDUM2
+ENDIF
+
+
+ZTENDRA   => ZTENDGFLR (:, :, IRR:IRR+YDMODEL%YRML_PHY_MF%YRPARAR%NRR-1)
+ZTENDLIMA => ZTENDGFLR (:, :, IPTRLIMA:IPTRLIMA+YDMODEL%YRML_GCONF%YGFL%NLIMA-1)
+ZTENDTKE  => ZTENDGFLR (:, :, IPTRTKE)
+ZTENDEFB1 => ZTENDGFLR (:, :, IEFB1)
+ZTENDEFB2 => ZTENDGFLR (:, :, IEFB2)
+ZTENDEFB3 => ZTENDGFLR (:, :, IEFB3)
+ZTENDEXT  => ZTENDGFLR (:, :, IPTREXT:IPTREXT+YDMODEL%YRML_GCONF%YGFL%NGFL_EXT-1)
+
+
+
+
+
+
 !     --------------------------------------------------------------------------
 
 !    ------------------------------------------------------------------
@@ -1160,38 +1040,38 @@ ELSE
   ZEPSNEB=1.E-06
 ENDIF
 
-NSV=0
-
 !         1.3 time step initialisation
-!             the mesoNH physics (turb and microphysics) is written 
+!             the mesoNH physics (turb and microphysics) is written
 !             for leap frog scheme
-!             !!! be carefull for 2TL or 3TL 
+!             !!! be carefull for 2TL or 3TL
 
 IF (LTWOTL) THEN
-  ZDT=PDT/2._JPRB
+  ZDT=YDCPG_OPTS%ZDTPHY/2._JPRB
 ELSE
-  IF (KSTEP/=0) THEN
-    ZDT=PDT/2._JPRB
+  IF (YDCPG_OPTS%KSTEP/=0) THEN
+    ZDT=YDCPG_OPTS%ZDTPHY/2._JPRB
   ELSE
-    ZDT=PDT
+    ZDT=YDCPG_OPTS%ZDTPHY
   ENDIF
 ENDIF
 
-ZINVDT=1/PDT
+ZINVDT=1/YDCPG_OPTS%ZDTPHY
 
 ZINVG=1._JPRB/RG 
 
 ! initialisation de ZDTMSE
-IF (LDXFUMSE) THEN
+IF (LLXFUMSE) THEN
   ZDTMSE=0.01_JPRB
-  ZSTATI=REAL(RSTATI,JPRB)-ZDTMSE/2._JPRB
+  ZSTATI=REAL(RSTATI,JPRB)-ZDTMSE*.5_JPRB
+  ZADTMS=0._JPRB
 ELSE
-  ZDTMSE=PDT
+  ZDTMSE=YDCPG_OPTS%ZDTPHY
   ZSTATI=REAL(RSTATI,JPRB)
+  ZADTMS=ZDTMSE
 ENDIF
 
 IF(LTWOTL) THEN
-  ZRHGMT=REAL(RHGMT,JPRB)-ZDTMSE/2._JPRB
+  ZRHGMT=REAL(RHGMT,JPRB)-ZDTMSE*.5_JPRB
 ELSE
   ZRHGMT=REAL(RHGMT,JPRB)
 ENDIF
@@ -1203,11 +1083,11 @@ LLMSE_DIAG=LLMSE.AND.(NSURFEXCTL >= 3)
 
 
 !  Vertical points
-IKA=KLEV
-IKB=KLEV
+IKA=YDCPG_OPTS%KFLEVG
+IKB=YDCPG_OPTS%KFLEVG
 IKU=1
-IKT=KLEV
-IKTE=KLEV
+IKT=YDCPG_OPTS%KFLEVG
+IKTE=YDCPG_OPTS%KFLEVG
 IKTB=1
 IKL=-1
 
@@ -1317,7 +1197,7 @@ IF (INIT0 >= 0) THEN
   ZFRSOFS(:)=ZVALUE
 
   ZQW(:,:)=ZVALUE
-  PRH(:,:)=ZVALUE
+  YDCPG_MISC%RH(:,:)=ZVALUE
   ZTW(:,:)=ZVALUE
 
   ZTRSODIF(:,:)=ZVALUE
@@ -1335,10 +1215,10 @@ IF (INIT0 >= 0) THEN
   ZQV(:,:)=ZVALUE
   ZSFSV_(:,:)=ZVALUE
 
-  PFRSOC(:,:)=ZVALUE
-  PFRTHC(:,:)=ZVALUE
-  PFRSOPS(:)=ZVALUE
-  PDIAGH(:)=ZVALUE
+  YDMF_PHYS%OUT%FRSOC(:,:)=ZVALUE
+  YDMF_PHYS%OUT%FRTHC(:,:)=ZVALUE
+  YDMF_PHYS%OUT%FRSOPS(:)=ZVALUE
+  YDMF_PHYS%OUT%DIAGH(:)=ZVALUE
 
   ZTENDSV_TURBLIMA_(:,:,:)=ZVALUE
 
@@ -1346,76 +1226,76 @@ ENDIF
 
 !  INITIALIZE (CUMULATED) TENDENCIES
 
-DO JLEV=1,KLEV
-  PTENDT(KIDIA:KFDIA,JLEV)=0.0_JPRB
-  PTENDU(KIDIA:KFDIA,JLEV)=0.0_JPRB
-  PTENDV(KIDIA:KFDIA,JLEV)=0.0_JPRB
-  PTENDW(KIDIA:KFDIA,JLEV)=0.0_JPRB
-  PTENDTKE(KIDIA:KFDIA,JLEV)=0.0_JPRB
+DO JLEV=1,YDCPG_OPTS%KFLEVG
+  ZTENDT(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.0_JPRB
+  YDMF_PHYS%OUT%TENDU(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.0_JPRB
+  YDMF_PHYS%OUT%TENDV(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.0_JPRB
+  ZTENDW(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.0_JPRB
+  ZTENDTKE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.0_JPRB
 ENDDO
 DO JRR=1,NRR
-  DO JLEV=1,KLEV
-    PTENDR(KIDIA:KFDIA,JLEV,JRR)=0.0_JPRB
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    ZTENDRA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JRR)=0.0_JPRB
   ENDDO
 ENDDO
 DO JGFL=1,NGFL_EXT
-  DO JLEV=1,KLEV
-    PTENDEXT(KIDIA:KFDIA,JLEV,JGFL)=0.0_JPRB
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    ZTENDEXT(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JGFL)=0.0_JPRB
   ENDDO
 ENDDO
 DO JGFL=1,NLIMA
-  DO JLEV=1,KLEV
-    PTENDLIMA(KIDIA:KFDIA,JLEV,JGFL)=0.0_JPRB
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    ZTENDLIMA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JGFL)=0.0_JPRB
   ENDDO
 ENDDO
 
 !  INITIALIZE CUMULATED STUFF
 
 ! Small array, OK. REK
-ZINPRH_(KIDIA:KFDIA)=0._JPRB
-ZINPRR_(KIDIA:KFDIA)=0._JPRB
-ZACPRR_(KIDIA:KFDIA)=0._JPRB
-ZINPRS_(KIDIA:KFDIA)=0._JPRB
-ZACPRS_(KIDIA:KFDIA)=0._JPRB
-ZINPRG_(KIDIA:KFDIA)=0._JPRB
+ZINPRH_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+ZINPRR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+ZACPRR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+ZINPRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+ZACPRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+ZINPRG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
 
 
-DO JLEV = 1,KLEV
-  DO JLON = KIDIA,KFDIA
-    ZZZ_F_(JLON,JLEV)=PAPHIFM(JLON,JLEV)*ZINVG
-    ZTENDT(JLON,JLEV)=0._JPRB
+DO JLEV = 1,YDCPG_OPTS%KFLEVG
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZZZ_F_(JLON,JLEV)=YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF(JLON,JLEV)*ZINVG
+    ZTENDTT(JLON,JLEV)=0._JPRB
   ENDDO
 ENDDO
 
 ! adhoc solution to avoid negative tke values
 ! when SL advective ddh is activated 
 IF (LRSLDDH) THEN
-  DO JLEV=1, KLEV
-    DO JLON = KIDIA, KFDIA
-      ZTKEM4SLDDH(JLON,JLEV)=MAX(PTKEM(JLON,JLEV),PPTKEMIN)
+  DO JLEV=1, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+      ZTKEM4SLDDH(JLON,JLEV)=MAX(YDMF_PHYS_BASE_STATE%TKE(JLON,JLEV),PPTKEMIN)
     ENDDO
   ENDDO
   ZTKEM => ZTKEM4SLDDH(:,:)
 ELSE
-  ZTKEM => PTKEM(:,:)
+  ZTKEM => YDMF_PHYS_BASE_STATE%TKE(:,:)
   !test TKE > 0.
-  IF (MINVAL(ZTKEM(KIDIA:KFDIA,1:KLEV)) <= 0._JPRB) THEN
+  IF (MINVAL(ZTKEM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)) <= 0._JPRB) THEN
     CALL ABOR1('TKE < 0 under APL_AROME check YTKE_NL%NREQIN')
   ENDIF
 ENDIF
 
-
-!test invalid combinations
-IF (LHARATU .AND. CMF_UPDRAFT == 'EDKF') THEN
-  CALL ABOR1('Combination LHARATU and EDKF not valid!')
-ENDIF
-
 !initialisation of first useful field for EZDIAG use in Chemistry/Dust
 IOFF_MFSHAL=1
 IF(LFPREC3D) IOFF_MFSHAL=2
 
+! 1.5 SPP settings
+IF (YSPP_CONFIG%LSPP) THEN
+  CALL SET_ALL_SPP(YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,NGFL_EZDIAG, &
+   &  YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA,ZGP2DSPP,ZP1EZDIAG,ZSPP_ALL)
+ENDIF
+
 !    ------------------------------------------------------------------
-!     2 - CHANGEMENTS DE VARIABLES ET INVERSION DES NIVEAUX 
+!     2 - CHANGEMENTS DE VARIABLES ET INVERSION DES NIVEAUX
 !     --------------------------------------------------------------------
 
 IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
@@ -1423,83 +1303,83 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
   ZRSCP=RD/RCPD
   ZINVATM=1/RATM
   !initialisation de ZZZ_
-  DO JLEV = 1,KLEV
-   !initialisation de qdm (utile localement pour calculer rho  
+  DO JLEV = 1,YDCPG_OPTS%KFLEVG
+   !initialisation de qdm (utile localement pour calculer rho
    !et convertir q en r 
     IF (NRR==7) THEN
-      DO JLON = KIDIA,KFDIA
-        ZQDM(JLON,JLEV)=1._JPRB-PQVM(JLON,JLEV)-PQCM(JLON,JLEV)-PQRM(JLON,JLEV)&
-         & -PQIM(JLON,JLEV)-PQSM(JLON,JLEV)-PQGM(JLON,JLEV)-PQHM(JLON,JLEV)   
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZQDM(JLON,JLEV)=1._JPRB-YDMF_PHYS_BASE_STATE%Q(JLON,JLEV)-YDMF_PHYS_BASE_STATE%L(JLON,JLEV)-YDMF_PHYS_BASE_STATE%R(JLON,JLEV)&
+         & -YDMF_PHYS_BASE_STATE%I(JLON,JLEV)-YDMF_PHYS_BASE_STATE%S(JLON,JLEV)-YDMF_PHYS_BASE_STATE%G(JLON,JLEV)-YDMF_PHYS_BASE_STATE%H(JLON,JLEV)   
       ENDDO
     ELSE
-      DO JLON = KIDIA,KFDIA
-        ZQDM(JLON,JLEV)=1._JPRB-PQVM(JLON,JLEV)-PQCM(JLON,JLEV)-PQRM(JLON,JLEV)&
-         & -PQIM(JLON,JLEV)-PQSM(JLON,JLEV)-PQGM(JLON,JLEV)
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZQDM(JLON,JLEV)=1._JPRB-YDMF_PHYS_BASE_STATE%Q(JLON,JLEV)-YDMF_PHYS_BASE_STATE%L(JLON,JLEV)-YDMF_PHYS_BASE_STATE%R(JLON,JLEV)&
+         & -YDMF_PHYS_BASE_STATE%I(JLON,JLEV)-YDMF_PHYS_BASE_STATE%S(JLON,JLEV)-YDMF_PHYS_BASE_STATE%G(JLON,JLEV)
       ENDDO
     ENDIF
-    DO JLON = KIDIA,KFDIA
-   !initialisation de ZRHODREFM__ (=qd*zrho) 
-      ZRHO=PAPRSFM(JLON,JLEV)/(PRM(JLON,JLEV)*PTM(JLON,JLEV))
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+   !initialisation de ZRHODREFM__ (=qd*zrho)
+      ZRHO=YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,JLEV)/(YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%R(JLON,JLEV)*YDMF_PHYS_BASE_STATE%T(JLON,JLEV))
       ZRHODREFM__(JLON,JLEV)=ZRHO*ZQDM(JLON,JLEV)
-      ZRHODJM__(JLON,JLEV)=PDELPM(JLON,JLEV)*ZINVG
+      ZRHODJM__(JLON,JLEV)=YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
   !initialisation de ZEXNREFM_
-      ZEXNREFM_(JLON,JLEV)=(PAPRSFM(JLON,JLEV)*ZINVATM)**(ZRSCP)
+      ZEXNREFM_(JLON,JLEV)=(YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,JLEV)*ZINVATM)**(ZRSCP)
  ! vent horizontal et TKE
-      ZPABSM__(JLON,JLEV)=PAPRSFM(JLON,JLEV)
-      ZUM__(JLON,JLEV)= PUM(JLON,JLEV)
-      ZVM__(JLON,JLEV)= PVM(JLON,JLEV)
-      ZWM__(JLON,JLEV)= PWM(JLON,JLEV)
+      ZPABSM__(JLON,JLEV)=YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,JLEV)
+      ZUM__(JLON,JLEV)= YDMF_PHYS_BASE_STATE%U(JLON,JLEV)
+      ZVM__(JLON,JLEV)= YDMF_PHYS_BASE_STATE%V(JLON,JLEV)
+      ZWM__(JLON,JLEV)= YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,JLEV)
       ZTKEM__(JLON,JLEV)= ZTKEM(JLON,JLEV)
-      ZZZ_(JLON,JLEV)=PAPHIM(JLON,JLEV)*ZINVG
+      ZZZ_(JLON,JLEV)=YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI(JLON,JLEV)*ZINVG
     ENDDO
   ENDDO
   !initialise sigma for subgrid condensation coming
   !from previous time step turbulence scheme
   IF (LOSIGMAS) THEN
-    DO JLEV = 1, KLEV 
-      ZSIGM_(KIDIA:KFDIA,JLEV)= PSIGM(KIDIA:KFDIA,JLEV)
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+      ZSIGM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)= YDMF_PHYS_BASE_STATE%SRC(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
     ENDDO
   ENDIF
-  !initialise convective mas flux for subgrid condensation coming 
+  !initialise convective mas flux for subgrid condensation coming
   !from previous time step convection scheme
   IF (LOSUBG_COND.AND..NOT.LOSIGMAS) THEN
     IF (LKFBCONV) THEN
-      DO JLEV = 1, KLEV 
-        ZMFM_(KIDIA:KFDIA,JLEV)=PSIGM(KIDIA:KFDIA,JLEV) 
+      DO JLEV = 1, YDCPG_OPTS%KFLEVG
+        ZMFM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=YDMF_PHYS_BASE_STATE%SRC(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
       ENDDO
     ELSE
-      DO JLEV = 1, KLEV
-        ZMFM_(KIDIA:KFDIA,JLEV)=0._JPRB
+      DO JLEV = 1, YDCPG_OPTS%KFLEVG
+        ZMFM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.
       ENDDO
     ENDIF
   ENDIF
-!!! initialisation des variables d etat MNH �t
+!!! initialisation des variables d etat MNH
 
   !initialisation de ZRM_ pour les hydrometeores (ri=qi/qd)
-  DO JLEV = 1, KLEV
-    DO JLON = KIDIA,KFDIA
-      ZTHM__(JLON,JLEV)=PTM(JLON,JLEV)/ZEXNREFM_(JLON,JLEV)
-      ZRM_(JLON,JLEV,1)=PQVM(JLON,JLEV)/ZQDM(JLON,JLEV)  
-      ZRM_(JLON,JLEV,2)=PQCM(JLON,JLEV)/ZQDM(JLON,JLEV)  
-      ZRM_(JLON,JLEV,3)=PQRM(JLON,JLEV)/ZQDM(JLON,JLEV)  
-      ZRM_(JLON,JLEV,4)=PQIM(JLON,JLEV)/ZQDM(JLON,JLEV)  
-      ZRM_(JLON,JLEV,5)=PQSM(JLON,JLEV)/ZQDM(JLON,JLEV)  
-      ZRM_(JLON,JLEV,6)=PQGM(JLON,JLEV)/ZQDM(JLON,JLEV)  
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZTHM__(JLON,JLEV)=YDMF_PHYS_BASE_STATE%T(JLON,JLEV)/ZEXNREFM_(JLON,JLEV)
+      ZRM_(JLON,JLEV,1)=YDMF_PHYS_BASE_STATE%Q(JLON,JLEV)/ZQDM(JLON,JLEV)  
+      ZRM_(JLON,JLEV,2)=YDMF_PHYS_BASE_STATE%L(JLON,JLEV)/ZQDM(JLON,JLEV)  
+      ZRM_(JLON,JLEV,3)=YDMF_PHYS_BASE_STATE%R(JLON,JLEV)/ZQDM(JLON,JLEV)  
+      ZRM_(JLON,JLEV,4)=YDMF_PHYS_BASE_STATE%I(JLON,JLEV)/ZQDM(JLON,JLEV)  
+      ZRM_(JLON,JLEV,5)=YDMF_PHYS_BASE_STATE%S(JLON,JLEV)/ZQDM(JLON,JLEV)  
+      ZRM_(JLON,JLEV,6)=YDMF_PHYS_BASE_STATE%G(JLON,JLEV)/ZQDM(JLON,JLEV)  
     ENDDO
   ENDDO
-  
+
   IF (NRR==7) THEN
-    DO JLEV = 1, KLEV
-      DO JLON = KIDIA,KFDIA
-        ZRM_(JLON,JLEV,7)=PQHM(JLON,JLEV)/ZQDM(JLON,JLEV)  
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZRM_(JLON,JLEV,7)=YDMF_PHYS_BASE_STATE%H(JLON,JLEV)/ZQDM(JLON,JLEV)  
       ENDDO
     ENDDO
   ENDIF
-   
+
   IF (NRR==6) THEN
     !initialisation de ZTHVREFM__
-    DO JLEV = 1, KLEV 
-      DO JLON = KIDIA,KFDIA
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         ZTHVREFM__(JLON,JLEV)=ZTHM__(JLON,JLEV)*&
          & (1._JPRB+ZRM_(JLON,JLEV,1)*(RV/RD))/&
          & (1._JPRB+ZRM_(JLON,JLEV,1)+ZRM_(JLON,JLEV,2) +&
@@ -1508,8 +1388,8 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
       ENDDO
     ENDDO
   ELSEIF (NRR==7) THEN
-    DO JLEV = 1, KLEV 
-      DO JLON = KIDIA,KFDIA
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         ZTHVREFM__(JLON,JLEV)=ZTHM__(JLON,JLEV)*&
          & (1._JPRB+ZRM_(JLON,JLEV,1)*(RV/RD))/&
          & (1._JPRB+ZRM_(JLON,JLEV,1)+ZRM_(JLON,JLEV,2) +&
@@ -1522,17 +1402,17 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
 
 !!! initialisation des variables d etat MNH a t+dt
 !!! division pas le pas de temps
-!!!(la multiplication par rhodj est faite plus tard, si necessaire, 
-!!! suivant les parametrisations)   
+!!!(la multiplication par rhodj est faite plus tard, si necessaire,
+!!! suivant les parametrisations)
 
   ! initialise pointers :
   CALL SWAP_THS
   ! vent horizontal
-  DO JLEV = 1, KLEV 
-    DO JLON=KIDIA,KFDIA
-      ZUS__(JLON,JLEV)= PUM(JLON,JLEV)*ZINVDT
-      ZVS__(JLON,JLEV)= PVM(JLON,JLEV)*ZINVDT
-      ZWS__(JLON,JLEV)= PWM(JLON,JLEV)*ZINVDT
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZUS__(JLON,JLEV)= YDMF_PHYS_BASE_STATE%U(JLON,JLEV)*ZINVDT
+      ZVS__(JLON,JLEV)= YDMF_PHYS_BASE_STATE%V(JLON,JLEV)*ZINVDT
+      ZWS__(JLON,JLEV)= YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,JLEV)*ZINVDT
       ZTKES_(JLON,JLEV)= ZTKEM(JLON,JLEV)*ZINVDT
       ZTHS__(JLON,JLEV)=ZTHM__(JLON,JLEV)*ZINVDT
     ENDDO
@@ -1542,8 +1422,8 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
   ! initialise pointers :
   CALL SWAP_RS
   DO JRR=1,NRR 
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         ZRS_(JLON,JLEV,JRR)=ZRM_(JLON,JLEV,JRR)*ZINVDT
       ENDDO
     ENDDO
@@ -1551,17 +1431,17 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
 
 !!! Initialisations temporaires d'arguments non-utilises
   !initialisation de ZCIT_
-  ZCIT_(KIDIA:KFDIA,1:IKT)=0.0_JPRB
+  ZCIT_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:IKT)=0.0_JPRB
   
-  !initialisation des tableaux de precipitations inst. and cumulated 
+  !initialisation des tableaux de precipitations inst. and cumulated
   !and surface fluxes for turbulence
   IF (LLMSE.OR.LSFORCS) THEN
-    ZACPRR_(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MACPRR)
-    ZACPRS_(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MACPRS)
-    ZACPRG_(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MACPRG)
-    ZINPRR_NOTINCR_(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MINPRR)
-    ZINPRS_NOTINCR_(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MINPRS)
-    ZINPRG_NOTINCR_(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MINPRG)
+    ZACPRR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ACPRR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZACPRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ACPRS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZACPRG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ACPRG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZINPRR_NOTINCR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%INPRR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZINPRS_NOTINCR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%INPRS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZINPRG_NOTINCR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%INPRG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
   ENDIF
 
   !initialisation des scalaires passifs
@@ -1569,10 +1449,10 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
   CALL SWAP_SVM
   CALL SWAP_SVS
   DO JGFL=1,NGFL_EXT
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA
-        ZSVM_(JLON,JLEV,JGFL)=PSVM(JLON,JLEV,JGFL)
-        ZSVS_(JLON,JLEV,JGFL)=PSVM(JLON,JLEV,JGFL)*ZINVDT
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZSVM_(JLON,JLEV,JGFL)=YDMF_PHYS_BASE_STATE%P1EXT(JLON,JLEV,JGFL)
+        ZSVS_(JLON,JLEV,JGFL)=YDMF_PHYS_BASE_STATE%P1EXT(JLON,JLEV,JGFL)*ZINVDT
       ENDDO
     ENDDO
   ENDDO
@@ -1581,10 +1461,10 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
   ! initialise pointers :
   CALL SWAP_LIMAS
   DO JGFL=1,NLIMA
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA
-        ZLIMAM_(JLON,JLEV,JGFL)=PLIMAM(JLON,JLEV,JGFL)
-        ZLIMAS_(JLON,JLEV,JGFL)=PLIMAM(JLON,JLEV,JGFL)*ZINVDT
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZLIMAM_(JLON,JLEV,JGFL)=YDMF_PHYS_BASE_STATE%P1LIMA(JLON,JLEV,JGFL)
+        ZLIMAS_(JLON,JLEV,JGFL)=YDMF_PHYS_BASE_STATE%P1LIMA(JLON,JLEV,JGFL)*ZINVDT
       ENDDO
     ENDDO
   ENDDO
@@ -1592,24 +1472,24 @@ IF (LMICRO.OR.LTURB.OR.LLMSE.OR.LKFBCONV) THEN
 ENDIF
 
 ! daand: radflex
-ZFRSO => PFRSO(:,:,1)
-ZFRTH => PFRTH(:,:,1)
+ZFRSO => YDMF_PHYS%OUT%FRSO(:,:,1)
+ZFRTH => YDMF_PHYS%OUT%FRTH(:,:,1)
 
 !    ------------------------------------------------------------------
 !     3 - PRINTS FOR DIAGNOSTICS IF NEEDED
 !    ------------------------------------------------------------------
 IF (LDIAGWMAX) THEN
-  IF (MOD(KSTEP+1,NDIAGWMAX)==0) THEN
+  IF (MOD(YDCPG_OPTS%KSTEP+1,NDIAGWMAX)==0) THEN
   ! calcul de wmax
-    DO JLEV = 1 , KLEV
+    DO JLEV = 1 , YDCPG_OPTS%KFLEVG
       Z_WMAX=0._JPRB
       Z_WMIN=0._JPRB
-      DO JLON=KIDIA,KFDIA
-        IF (PWM(JLON,JLEV)>Z_WMAX) THEN
-          Z_WMAX=PWM(JLON,JLEV)
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        IF (YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,JLEV)>Z_WMAX) THEN
+          Z_WMAX=YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,JLEV)
         ENDIF
-        IF (PWM(JLON,JLEV)<Z_WMIN) THEN
-          Z_WMIN=PWM(JLON,JLEV)
+        IF (YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,JLEV)<Z_WMIN) THEN
+          Z_WMIN=YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,JLEV)
         ENDIF
       ENDDO
     ENDDO
@@ -1618,15 +1498,15 @@ ENDIF
 
 IF (LFLEXDIA) THEN
   !save tendencies
-  ZTENDTBAK(KIDIA:KFDIA,1:KLEV)=PTENDT(KIDIA:KFDIA,1:KLEV)
+  ZTENDTBAK(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZTENDT(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
   DO JR=1,NRR
-    ZTENDRBAK(KIDIA:KFDIA,1:KLEV,JR)=PTENDR(KIDIA:KFDIA,1:KLEV,JR)
+    ZTENDRBAK(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,JR)=ZTENDRA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,JR)
   ENDDO
 ENDIF
 
 
 !    ------------------------------------------------------------------
-!     4 - ADJUSTMENT (CALLED IF THE MICROPHYSICS IS SWITCH ON) 
+!     4 - ADJUSTMENT (CALLED IF THE MICROPHYSICS IS SWITCH ON)
 !    ------------------------------------------------------------------
 
 IF (LMICRO) THEN
@@ -1637,157 +1517,131 @@ IF (LMICRO) THEN
 
   IF (LMFSHAL .AND. (CMF_CLOUD=='DIRE'.OR.CMF_CLOUD=='BIGA')) THEN
     IOFF_MFSHAL=IOFF_MFSHAL+3
-    IF (KSTEP==0) THEN
-      DO JLEV = 1, KLEV 
-        ZRC_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
-        ZRI_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
-        ZCF_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
+    IF (YDCPG_OPTS%KSTEP==0) THEN
+      DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+        ZRC_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+        ZRI_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+        ZCF_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
       ENDDO
     ELSE
-      DO JLEV = 1, KLEV 
-        ZRC_MF_(KIDIA:KFDIA,JLEV)=PEZDIAG(KIDIA:KFDIA,JLEV,1)
-        ZRI_MF_(KIDIA:KFDIA,JLEV)=PEZDIAG(KIDIA:KFDIA,JLEV,3)
-        ZCF_MF_(KIDIA:KFDIA,JLEV)=PEZDIAG(KIDIA:KFDIA,JLEV,2)
+      DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+        ZRC_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,1)
+        ZRI_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,3)
+        ZCF_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,2)
       ENDDO
     ENDIF
-    PEZDIAG(KIDIA:KFDIA,1:KLEV,1:3)=0._JPRB
+    ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:3)=0._JPRB
   ELSE
-    DO JLEV = 1, KLEV 
-      ZRC_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
-      ZRI_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
-      ZCF_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      ZRC_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+      ZRI_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+      ZCF_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
     ENDDO
   ENDIF
 
-  IF (MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF (MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'avant aro_adjust sous apl_arome'
     WRITE(NULOUT,*)'JLEV   ZZZ_F_   RHODJM   EXNREFM       PABSM       THM      SIGM         MFM    '
-    DO JLEV=1,KLEV+1 
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,7F10.3)') JLEV,ZZZ_F_(NPTP,JLEV),ZRHODJM__(NPTP,JLEV),&
        & ZEXNREFM_(NPTP,JLEV), ZPABSM__(NPTP,JLEV), ZTHM__(NPTP,JLEV), ZSIGM_(NPTP,JLEV), ZMFM_(NPTP,JLEV)
     ENDDO 
     WRITE (NULOUT,*)'JLEV  rhoQv  rhoQc   rhoQr   rhoQi   rhoQs   rhoQg'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,6E11.4)') JLEV,ZRM_(NPTP,JLEV,1),&
-       & ZRM_(NPTP,JLEV,2), ZRM_(NPTP,JLEV,3),ZRM_(NPTP,JLEV,4),ZRM_(NPTP,JLEV,5), ZRM_(NPTP,JLEV,6)  
+       & ZRM_(NPTP,JLEV,2), ZRM_(NPTP,JLEV,3),ZRM_(NPTP,JLEV,4),ZRM_(NPTP,JLEV,5), ZRM_(NPTP,JLEV,6)
     ENDDO
     WRITE (NULOUT,*)'JLEV  ZRC_MF_  ZRI_MF_  ZCF_MF_ ZTHSIN_  ZSRCS__ ZNEBMNH_'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,6E11.4)') JLEV,ZRC_MF_(NPTP,JLEV),&
        & ZRI_MF_(NPTP,JLEV),ZCF_MF_(NPTP,JLEV), ZTHSIN_(NPTP,JLEV),ZSRCS__(NPTP,JLEV), ZNEBMNH_(NPTP,JLEV)
     ENDDO
   ENDIF
 
   ! for now a copy is needed (see below, inside). I don't like than :-( REK
-  ZTHS__(KIDIA:KFDIA,1:KLEV)=ZTHSIN_(KIDIA:KFDIA,1:KLEV)
-  ZRS_(KIDIA:KFDIA,1:KLEV,1:NRR)=ZRSIN_(KIDIA:KFDIA,1:KLEV,1:NRR)
+  ZTHS__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZTHSIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NRR)=ZRSIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NRR)
 
   IF (CMICRO == 'LIMA') THEN
 
     CALL SWAP_LIMAS
     ! for now a copy is needed (see below, inside). I don't like than :-( REK
-    ZLIMAS_(KIDIA:KFDIA,1:KLEV,1:NLIMA)=ZLIMASIN_(KIDIA:KFDIA,1:KLEV,1:NLIMA)
-
-    CALL ARO_ADJUST_LIMA (KLEV,IKU,IKL,KFDIA,KLEV,NRR,NLIMA,KSTEP+1,&
-     & LOSUBG_COND, LOSIGMAS, LOCND2, &
-     & ZDT,VSIGQSAT,ZZZ_F_,&
-     & ZRHODJM__(:,1:KLEV),&
-     & ZRHODREFM__(:,1:KLEV),&
-     & ZEXNREFM_,&
-     & ZPABSM__(:,1:KLEV),&
-     & ZTHM__(:,1:KLEV),&
-     & ZRM_,&
-     & ZLIMAM_,&
-     & ZSIGM_,&
-     & ZMFM_,ZRC_MF_,&
-     & ZRI_MF_,ZCF_MF_,&
-     & ZTHS__(:,1:KLEV),ZRS_,&
-     & ZLIMAS_,&
-     & ZSRCS__(:,1:KLEV),ZNEBMNH_,&
-     & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH)
+    ZLIMAS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NLIMA)=ZLIMASIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NLIMA)
+
+    CALL ARO_ADJUST_LIMA (YDCPG_OPTS%KFLEVG, IKU, IKL, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NRR,                          &
+    & NLIMA, YDCPG_OPTS%KSTEP+1, LOSUBG_COND, LOSIGMAS, LOCND2, ZDT, VSIGQSAT, ZZZ_F_, ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG), &
+    & ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), ZEXNREFM_, ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), ZTHM__(:, 1:YDCPG_OPTS%KFLEVG),   &
+    & ZRM_, ZLIMAM_, ZSIGM_, ZMFM_, ZRC_MF_, ZRI_MF_, ZCF_MF_, ZTHS__(:, 1:YDCPG_OPTS%KFLEVG), ZRS_,                      &
+    & ZLIMAS_, ZSRCS__(:, 1:YDCPG_OPTS%KFLEVG), ZNEBMNH_, YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH       &
+    &                               )
   ELSE
 
-YSPP1%LPERT=.FALSE.
-YSPP2%LPERT=.FALSE.
-YSPP3%LPERT=.FALSE.
-
-!SR phasing step, YSPP1 and YSPP2 must be replaced by their values
 !    CALL ARO_ADJUST (KLON,KIDIA,KFDIA,KLEV,NRR,& !this is the target version
-    CALL ARO_ADJUST (KFDIA,KIDIA,KFDIA,KLEV,NRR,&
-     & CFRAC_ICE_ADJUST, CCONDENS, CLAMBDA3, LOSUBG_COND, &
-     & LOSIGMAS, CMICRO, LOCND2, LHGT_QS, CSUBG_MF_PDF, &
-     & ZDT,VSIGQSAT,ZZZ_F_,&
-     & ZRHODJM__(:,1:KLEV),&
-     & ZEXNREFM_,&
-     & ZRHODREFM__(:,1:KLEV),&
-     & ZPABSM__(:,1:KLEV),&
-     & ZTHM__(:,1:KLEV),&
-     & ZRM_,ZSIGM_,&
-     & ZMFM_,ZRC_MF_,&
-     & ZRI_MF_,ZCF_MF_,&
-     & ZTHS__(:,1:KLEV),ZRS_,&
-     & ZSRCS__(:,1:KLEV),ZNEBMNH_,&
-     & ZICLDFR_,ZWCLDFR_,ZSSIO_,ZSSIU_,ZIFR_,&
-     & ZHLC_HRC__(:,1:KLEV), ZHLC_HCF__(:,1:KLEV),&
-     & ZHLI_HRI__(:,1:KLEV), ZHLI_HCF__(:,1:KLEV),&
-     & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH,&
-     & YSPP1, YSPP2)
-!     & ZSPP_ALL%YSPP_PSIGQSAT,ZSPP_ALL%YSPP_ICE_CLD_WGT)
+    CALL ARO_ADJUST (YDCPG_BNDS%KFDIA, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NRR,                                           &
+    & CFRAC_ICE_ADJUST, CCONDENS, CLAMBDA3, LOSUBG_COND,                                                                              &
+    & LOSIGMAS, CMICRO, LOCND2, LHGT_QS, CSUBG_MF_PDF,                                                                                &
+    & ZDT, VSIGQSAT, ZZZ_F_, ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG), &
+    & ZEXNREFM_, ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), ZTHM__(:, 1:YDCPG_OPTS%KFLEVG), ZRM_, ZSIGM_, &
+    & ZMFM_, ZRC_MF_, ZRI_MF_, ZCF_MF_, ZTHS__(:, 1:YDCPG_OPTS%KFLEVG), ZRS_, ZSRCS__(:, 1:YDCPG_OPTS%KFLEVG),                        &
+    & ZNEBMNH_, &
+    & ZICLDFR_,ZWCLDFR_,ZSSIO_,ZSSIU_,ZIFR_,&
+    & ZHLC_HRC_, ZHLC_HCF_, ZHLI_HRI_, ZHLI_HCF_,                                                                                     &
+    & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH,&
+    & ZSPP_ALL%YSPP_PSIGQSAT,ZSPP_ALL%YSPP_ICE_CLD_WGT)
 
   ENDIF
   
-  IF (MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF (MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'apres aro_adjust sous apl_arome'
-    WRITE(NULOUT,*)'JLEV   ZZZ_F_   RHODJM   EXNREFM       PABSM       THM      SIGM         MFM    '   
-    DO JLEV=1,KLEV+1 
+    WRITE(NULOUT,*)'JLEV   ZZZ_F_   RHODJM   EXNREFM       PABSM       THM      SIGM         MFM    '
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,7F10.3)') JLEV,ZZZ_F_(NPTP,JLEV),ZRHODJM__(NPTP,JLEV),&
        & ZEXNREFM_(NPTP,JLEV), ZPABSM__(NPTP,JLEV), ZTHM__(NPTP,JLEV), ZSIGM_(NPTP,JLEV), ZMFM_(NPTP,JLEV)
     ENDDO 
     WRITE (NULOUT,*)'JLEV  rhoQv  rhoQc   rhoQr   rhoQi   rhoQs   rhoQg'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,6E11.4)') JLEV,ZRS_(NPTP,JLEV,1),&
-       & ZRS_(NPTP,JLEV,2), ZRS_(NPTP,JLEV,3),ZRS_(NPTP,JLEV,4),ZRS_(NPTP,JLEV,5), ZRS_(NPTP,JLEV,6)  
+       & ZRS_(NPTP,JLEV,2), ZRS_(NPTP,JLEV,3),ZRS_(NPTP,JLEV,4),ZRS_(NPTP,JLEV,5), ZRS_(NPTP,JLEV,6)
     ENDDO
     WRITE (NULOUT,*)'JLEV  ZRC_MF_  ZRI_MF_  ZCF_MF_ ZTHS__ ZSRCS__ ZNEBMNH_'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,6E11.4)')JLEV,ZRC_MF_(NPTP,JLEV),&
        & ZRI_MF_(NPTP,JLEV),ZCF_MF_(NPTP,JLEV), ZTHS__(NPTP,JLEV),ZSRCS__(NPTP,JLEV), ZNEBMNH_(NPTP,JLEV)
     ENDDO
   ENDIF
 
-  DO JLEV=1,KLEV
-    PCLFS(KIDIA:KFDIA,JLEV)=ZNEBMNH_(KIDIA:KFDIA,JLEV) 
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    YDVARS%A%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZNEBMNH_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV) 
   ENDDO
 
   !adjusted zthm and zrm
-  DO JLEV = 1, KLEV
-    DO JLON = KIDIA,KFDIA
-      ZTHM__(JLON,JLEV)=ZTHS__(JLON,JLEV)*PDT
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZTHM__(JLON,JLEV)=ZTHS__(JLON,JLEV)*YDCPG_OPTS%ZDTPHY
     ENDDO
   ENDDO
 
   DO JRR=1,NRR
-    DO JLEV = 1, KLEV
-      DO JLON = KIDIA,KFDIA
-        ZRM_(JLON,JLEV,JRR)=ZRS_(JLON,JLEV,JRR)*PDT
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZRM_(JLON,JLEV,JRR)=ZRS_(JLON,JLEV,JRR)*YDCPG_OPTS%ZDTPHY
       ENDDO
     ENDDO
   ENDDO
 
-
-  !initialisation de qdm utile pour 
-  !convertir tendance de r en tendance de q 
+  !initialisation de qdm utile pour
+  !convertir tendance de r en tendance de q
   IF (NRR==6) THEN
-    DO JLEV=1,KLEV
-      DO JLON= KIDIA, KFDIA
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JLON= YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
         ZQDM(JLON,JLEV)=1._JPRB/(1._JPRB+ZRM_(JLON,JLEV,1)+&
         &ZRM_(JLON,JLEV,2)+ZRM_(JLON,JLEV,3)+ZRM_(JLON,JLEV,4)+ZRM_(JLON,JLEV,5)+&
         &ZRM_(JLON,JLEV,6) )
       ENDDO
     ENDDO
   ELSEIF (NRR==7) THEN
-    DO JLEV=1,KLEV
-      DO JLON= KIDIA, KFDIA
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JLON= YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
         ZQDM(JLON,JLEV)=1._JPRB/(1._JPRB+ZRM_(JLON,JLEV,1)+&
         &ZRM_(JLON,JLEV,2)+ZRM_(JLON,JLEV,3)+ZRM_(JLON,JLEV,4)+ZRM_(JLON,JLEV,5)+&
         &ZRM_(JLON,JLEV,6)+ZRM_(JLON,JLEV,7) )
@@ -1795,8 +1649,8 @@ YSPP3%LPERT=.FALSE.
     ENDDO
   ENDIF 
   !reinitialisation des qi
-  DO JLEV = 1, KLEV
-    DO JLON = KIDIA,KFDIA
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       ZQVM(JLON,JLEV)=ZRM_(JLON,JLEV,1)*ZQDM(JLON,JLEV)
       ZQCM(JLON,JLEV)=ZRM_(JLON,JLEV,2)*ZQDM(JLON,JLEV)
       ZQRM(JLON,JLEV)=ZRM_(JLON,JLEV,3)*ZQDM(JLON,JLEV)
@@ -1807,158 +1661,170 @@ YSPP3%LPERT=.FALSE.
   ENDDO
 
   IF (NRR==7) THEN
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         ZQHM(JLON,JLEV)=ZRM_(JLON,JLEV,7)*ZQDM(JLON,JLEV)
       ENDDO
     ENDDO
   ELSE
-    ZQHM(KIDIA:KFDIA,1:KLEV)=0._JPRB
+    ZQHM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=0._JPRB
   ENDIF
 
   ! Tendances des variables LIMA
   DO JGFL=1,NLIMA
-    DO JLEV = 1, KLEV
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
       ! Réinitialisation des variables LIMA
-      DO JLON=KIDIA,KFDIA
-        ZLIMAM_(JLON,JLEV,JGFL)=ZLIMAS_(JLON,JLEV,JGFL)*PDT
-        PTENDLIMA(JLON,JLEV,JGFL)=PTENDLIMA(JLON,JLEV,JGFL)+(ZLIMAS_(JLON,JLEV,JGFL)-ZLIMASIN_(JLON,JLEV,JGFL))  
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZLIMAM_(JLON,JLEV,JGFL)=ZLIMAS_(JLON,JLEV,JGFL)*YDCPG_OPTS%ZDTPHY
+        ZTENDLIMA(JLON,JLEV,JGFL)=ZTENDLIMA(JLON,JLEV,JGFL)+(ZLIMAS_(JLON,JLEV,JGFL)-ZLIMASIN_(JLON,JLEV,JGFL))  
       ENDDO
     ENDDO
   ENDDO
 
   !modif de R et CP
-  ZQHGM(KIDIA:KFDIA,:)=ZQHM(KIDIA:KFDIA,:)+ZQGM(KIDIA:KFDIA,:)
-  CALL GPRCP(KLON,KIDIA,KFDIA,KLEV,PQ=ZQVM,PQI=ZQIM,PQL=ZQCM,PQR=ZQRM,PQS=ZQSM,PQG=ZQHGM,PCP=ZCPM,PR=ZRHM)  
+  ZQHGM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZQHM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)+ZQGM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)
+  CALL GPRCP(YDCPG_OPTS%KLON, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, PQ=ZQVM, PQI=ZQIM, &
+  & PQL=ZQCM, PQR=ZQRM, PQS=ZQSM, PQG=ZQHGM, PCP=ZCPM, PR=ZRHM)  
 
-  DO JLEV = 1,KLEV
-    DO JLON = KIDIA,KFDIA
+  DO JLEV = 1,YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       ZTM(JLON,JLEV)=ZTHM__(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
   !reinitialisation de ZRHODREFM__ (=qd*zrho)
-      ZRHO=PAPRSFM(JLON,JLEV)/(ZRHM(JLON,JLEV)*ZTM(JLON,JLEV))
+      ZRHO=YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,JLEV)/(ZRHM(JLON,JLEV)*ZTM(JLON,JLEV))
       ZRHODREFM__(JLON,JLEV)=ZRHO*ZQDM(JLON,JLEV)
     ENDDO
   ENDDO
 
   !geopotentiel calculation
  
-  ZAPHIM(KIDIA:KFDIA,KLEV)=PAPHIM(KIDIA:KFDIA,KLEV)
-  CALL GPGEO(KLON,KIDIA,KFDIA,KLEV,ZAPHIM,ZAPHIFM,ZTM,ZRHM,PLNPRM,PALPHM,YDGEOMETRY%YRVERT_GEOM)
+  ZAPHIM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+  CALL GPGEO(YDCPG_OPTS%KLON, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, ZAPHIM, ZAPHIFM,                &
+  & ZTM, ZRHM, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%LNPR, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%ALPH, YDGEOMETRY%YRVERT_GEOM&
+  &             )
    
   !calcul de l'altitude
-  DO JLEV = 1, KLEV
-    DO JLON = KIDIA,KFDIA
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       ZZZ_(JLON,JLEV)=ZAPHIM(JLON,JLEV)*ZINVG
       !initialisation de ZZZ_F_
       ZZZ_F_(JLON,JLEV)=ZAPHIFM(JLON,JLEV)*ZINVG
       ! tendency of T
-      PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV)+(ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV))*ZEXNREFM_(JLON,JLEV)
-      ZTENDT(JLON,JLEV)=ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV)
+      ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+(ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV))*ZEXNREFM_(JLON,JLEV)
+      ZTENDTT(JLON,JLEV)=ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV)
     ENDDO
   ENDDO
-  !inversion niveaux tendances des ri et conversion en qi en multipliant par qd 
+  !inversion niveaux tendances des ri et conversion en qi en multipliant par qd
   DO JR=1,NRR
-    DO JLEV=1,KLEV
-      DO JLON=KIDIA,KFDIA
-        PTENDR(JLON,JLEV,JR)=PTENDR(JLON,JLEV,JR)+(ZRS_(JLON,JLEV,JR)-ZRSIN_(JLON,JLEV,JR))*ZQDM(JLON,JLEV)
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDRA(JLON,JLEV,JR)=ZTENDRA(JLON,JLEV,JR)+(ZRS_(JLON,JLEV,JR)-ZRSIN_(JLON,JLEV,JR))*ZQDM(JLON,JLEV)
       ENDDO
     ENDDO
   ENDDO
   !initialisation de ZDZZ_
-  DO JLON = KIDIA,KFDIA
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ZDZZ_(JLON,1)=ZAPHIM(JLON,0)*ZINVG-ZZZ_(JLON,1)
   ENDDO
-  DO JLEV = 2, KLEV
-    DO JLON = KIDIA,KFDIA
+  DO JLEV = 2, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       ZDZZ_(JLON,JLEV)=ZZZ_(JLON,JLEV+IKL)-ZZZ_(JLON,JLEV)
     ENDDO
   ENDDO
 
 ELSE
 
-  ZTM (KIDIA:KFDIA,1:KLEV)=PTM(KIDIA:KFDIA,1:KLEV)
-  ZRHM(KIDIA:KFDIA,1:KLEV)=PRM(KIDIA:KFDIA,1:KLEV)
-  ZQVM(KIDIA:KFDIA,1:KLEV)=PQVM(KIDIA:KFDIA,1:KLEV)
-  ZQIM(KIDIA:KFDIA,1:KLEV)=PQIM(KIDIA:KFDIA,1:KLEV)
-  ZQCM(KIDIA:KFDIA,1:KLEV)=PQCM(KIDIA:KFDIA,1:KLEV)
-  ZQRM(KIDIA:KFDIA,1:KLEV)=PQRM(KIDIA:KFDIA,1:KLEV)
-  ZQSM(KIDIA:KFDIA,1:KLEV)=PQSM(KIDIA:KFDIA,1:KLEV)
-  ZQGM(KIDIA:KFDIA,1:KLEV)=PQGM(KIDIA:KFDIA,1:KLEV)
+  ZTM (YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%T(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZRHM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%R(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZQVM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%Q(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZQIM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%I(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZQCM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%L(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZQRM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%R(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZQSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%S(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZQGM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%G(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
   IF (NRR==7) THEN
-    ZQHM(KIDIA:KFDIA,1:KLEV)=PQHM(KIDIA:KFDIA,1:KLEV)
+    ZQHM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%H(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
   ELSE
-    ZQHM(KIDIA:KFDIA,1:KLEV)=0._JPRB
+    ZQHM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=0._JPRB
   ENDIF
-  ZCPM(KIDIA:KFDIA,KTDIA:KLEV)=PCPM(KIDIA:KFDIA,KTDIA:KLEV)
-  ZAPHIM(KIDIA:KFDIA,0:KLEV)=PAPHIM(KIDIA:KFDIA,0:KLEV)
-  ZAPHIFM(KIDIA:KFDIA,1:KLEV)=PAPHIFM(KIDIA:KFDIA,1:KLEV)
-  ZZZ_(KIDIA:KFDIA,1:KLEV)=PAPHIM(KIDIA:KFDIA,1:KLEV)*ZINVG
+  ZCPM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KTDIA:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%CP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KTDIA:YDCPG_OPTS%KFLEVG)
+  ZAPHIM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0:YDCPG_OPTS%KFLEVG)
+  ZAPHIFM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZZZ_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)*ZINVG
   !initialisation of PCLFS outside LMICRO to be zero in case LMICRO=F
-  PCLFS(KIDIA:KFDIA,1:KLEV)=0._JPRB
+  YDVARS%A%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=0._JPRB
 
 ENDIF ! ADJUSTMENT LMICRO
 
+!     ------------------------------------------------------------------
+!     NEBULOSITE (CONVECTIVE+STRATIFORME) A TROIS NIVEAUX.
+!     DIAGNOSTIC OF THREE LEVELS (CONVECTIVE+STRATIFORM) CLOUDINESS.
+
+! protect cloudiness from being 0 or 1  (needed for ACRANEB2 and ACNPART)
+DO JLEV=YDCPG_OPTS%KTDIA,YDCPG_OPTS%KFLEVG
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZNEB0(JLON,JLEV)=MAX(ZEPSNEB,MIN(1._JPRB-ZEPSNEB,YDVARS%A%T1(JLON,JLEV)))
+  ENDDO
+ENDDO
+
+! decorrelation depth for cloud overlaps
+
+IF (LRNUEXP) THEN
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZDECRD(JLON)=RDECRD1+RDECRD2*EXP(-((ASIN(YDVARS%GEOMETRY%GEMU%T0(JLON))-RDECRD3*RDECLI)/RDECRD4)**2)
+  ENDDO
+ENDIF
+
+! calculate high, medium, low and total cloud cover
+CALL ACNPART(YDCST, YDMODEL%YRML_PHY_MF,YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA,YDCPG_OPTS%KLON,NTNEBU,YDCPG_OPTS%KFLEVG,&
+ & YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI,YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF,YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF,ZDECRD,ZNEB0,&
+ & YDMF_PHYS%OUT%CLCH, YDMF_PHYS%OUT%CLCM, YDMF_PHYS%OUT%CLCL, YDCPG_MISC%CLCT, ZCLCT_RAD)
+
 IF (LFLEXDIA) THEN
-  DO JLEV = 1, KLEV
-    DO JLON=KIDIA,KFDIA 
-      ZTMPAF(JLON,JLEV)=(PTENDT(JLON,JLEV)-ZTENDTBAK(JLON,JLEV))*PDELPM(JLON,JLEV)*ZINVG*ZCPM(JLON,JLEV)
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA 
+      ZTMPAF(JLON,JLEV)=(ZTENDT(JLON,JLEV)-ZTENDTBAK(JLON,JLEV))*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG*ZCPM(JLON,JLEV)
     ENDDO
   ENDDO
-  IF (LDDH_OMP) THEN
-    CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMPAF,'TCTADJU',YDDDH)
-  ELSE
-    CALL ADD_FIELD_3D(YLDDH,ZTMPAF,'TCTADJU','T','ARP',.TRUE.,.TRUE.)
-  ENDIF
+  CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMPAF,'TCTADJU',YDDDH)
   DO JR=1,NRR
     CLNAME='T'//CLVARNAME(JR)//'ADJU'
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA 
-        ZTMPAF(JLON,JLEV)=(PTENDR(JLON,JLEV,JR)-ZTENDRBAK(JLON,JLEV,JR))*PDELPM(JLON,JLEV)*ZINVG
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA 
+        ZTMPAF(JLON,JLEV)=(ZTENDRA(JLON,JLEV,JR)-ZTENDRA(JLON,JLEV,JR))*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
       ENDDO
     ENDDO
-    IF (LDDH_OMP) THEN
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMPAF,CLNAME,YDDDH)
-    ELSE
-      CALL ADD_FIELD_3D(YLDDH,ZTMPAF,CLNAME,'T','ARP',.TRUE.,.TRUE.)
-    ENDIF
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA 
-        ZTMPAF(JLON,JLEV)=PCLFS(JLON,JLEV)*PDELPM(JLON,JLEV)
+    CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMPAF,CLNAME,YDDDH)
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA 
+        ZTMPAF(JLON,JLEV)=YDVARS%A%T1(JLON,JLEV)*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)
       ENDDO
     ENDDO
-    IF (LDDH_OMP) THEN
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMPAF,'VNT',YDDDH)
-    ELSE
-      CALL ADD_FIELD_3D(YLDDH,ZTMPAF,'VNT','V','ARP',.TRUE.,.TRUE.)
-    ENDIF
+    CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMPAF,'VNT',YDDDH)
   ENDDO
 ! specific to new data flow for diagnostics
-  IF (LDDH_OMP) THEN
-    DO JLEV = 1, KLEV
-      ZCON1(KIDIA:KFDIA,JLEV) = 1.0_JPRB
-      ZCON2(KIDIA:KFDIA,JLEV) = ZQDM(KIDIA:KFDIA,JLEV)
-    ENDDO
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA 
-        ZCON3(JLON,JLEV) = PCPM(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
-      ENDDO
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      ZCON1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV) = 1.0_JPRB
+      ZCON2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV) = ZQDM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+  ENDDO
+  DO JLEV = 1, YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA 
+        ZCON3(JLON,JLEV) = YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%CP(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
     ENDDO
-    ! missing interface !!! REK
-    CALL ARO_SUINTBUDGET_OMP(KLON,KLEV,KSTEP,ZCON1,ZCON2,ZCON3,YDDDH)
-  ELSE
-    ! missing interface !!! REK
-    CALL ARO_SUINTBUDGET(KLON,KLEV,KSTEP,KFDIA,ZQDM,ZEXNREFM_,PCPM)
-  ENDIF
+  ENDDO
+  ! missing interface !!! REK
+    CALL ARO_SUINTBUDGET_OMP(YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDCPG_OPTS%KSTEP, ZCON1, ZCON2, &
+    & ZCON3, YDDDH)
+
 ENDIF
 
 
-DO JLEV = 1, KLEV-1
-  DO JLON = KIDIA,KFDIA
+DO JLEV = 1, YDCPG_OPTS%KFLEVG-1
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ZDZZ_F_(JLON,JLEV)=ZZZ_F_(JLON,JLEV)-ZZZ_F_(JLON,JLEV-IKL)
   ENDDO
 ENDDO
-DO JLON = KIDIA,KFDIA
-  ZDZZ_F_(JLON,KLEV)=ZZZ_F_(JLON,KLEV)-POROG(JLON)*ZINVG
+DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+  ZDZZ_F_(JLON,YDCPG_OPTS%KFLEVG)=ZZZ_F_(JLON,YDCPG_OPTS%KFLEVG)-YDVARS%GEOMETRY%OROG%T0(JLON)*ZINVG
 ENDDO
 
 
@@ -1966,22 +1832,22 @@ ENDDO
 !     5 - COMPUTE DUST PROPERTIES FOR RADIATION IF LRDUST=T
 !     --------------------------------------------------------------------
 IF (LRDUST) THEN
-  PEZDIAG(KIDIA:KFDIA,1:KLEV,IOFF_MFSHAL:NGFL_EZDIAG)=0.0_JPRB
+  ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,IOFF_MFSHAL:NGFL_EZDIAG)=0.0_JPRB
   ! input dust scalar concentration in ppp from
   IEZDIAG_CHEM=NGFL_EZDIAG-IOFF_MFSHAL+1
   ! Swapp because IN and OUT will be needed simultaneously
   CALL SWAP_SVM
   ! input dust scalar concentration in ppp from
-  CALL ARO_MNHDUST (IKL,KFDIA,KLEV,NGFL_EXT, PDT,ZSVMIN_,ZZZ_,ZDZZ_,&
-   & ZPABSM__(:,1:KLEV),ZTHM__(:,1:KLEV),ZRHODREFM__(:,1:KLEV),&
-   & NSWB_MNH,KSTEP+1,ZSVM_,ZPIZA_DST_,ZCGA_DST_,ZTAUREL_DST_,ZAERD_,IEZDIAG_CHEM,&
-   & ZPEZDIAG_(:,:,IOFF_MFSHAL:NGFL_EZDIAG)           )
-  PEZDIAG(KIDIA:KFDIA,1:KLEV,IOFF_MFSHAL:NGFL_EZDIAG)=ZPEZDIAG_(KIDIA:KFDIA,1:KLEV,IOFF_MFSHAL:NGFL_EZDIAG)
+  CALL ARO_MNHDUST (IKL, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NGFL_EXT, YDCPG_OPTS%ZDTPHY, ZSVMIN_, ZZZ_, ZDZZ_,                                       &
+  & ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), ZTHM__(:, 1:YDCPG_OPTS%KFLEVG), ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG),                                  &
+  & NSWB_MNH, YDCPG_OPTS%KSTEP+1, ZSVM_, ZPIZA_DST_, ZCGA_DST_, ZTAUREL_DST_, ZAERD_, IEZDIAG_CHEM, ZPEZDIAG_(:, :, IOFF_MFSHAL:NGFL_EZDIAG)&
+  &                                                                                                                                                                  )
+  ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,IOFF_MFSHAL:NGFL_EZDIAG)=ZPEZDIAG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,IOFF_MFSHAL:NGFL_EZDIAG)
 ! return to tendency
   DO JGFL=1, NGFL_EXT
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
-        PTENDEXT(JLON,JLEV,JGFL)=PTENDEXT(JLON,JLEV,JGFL)+(ZSVM_(JLON,JLEV,JGFL)-ZSVMIN_(JLON,JLEV,JGFL))*ZINVDT
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDEXT(JLON,JLEV,JGFL)=ZTENDEXT(JLON,JLEV,JGFL)+(ZSVM_(JLON,JLEV,JGFL)-ZSVMIN_(JLON,JLEV,JGFL))*ZINVDT
       ENDDO
     ENDDO
   ENDDO
@@ -1989,33 +1855,35 @@ ENDIF ! LRDUST
 
 IF (LSFORCS) THEN   ! <== Surface forcing for MUSC
 
-  ZTSURF(KIDIA:KFDIA) = PTM(KIDIA:KFDIA,KLEV)
-  ZTN(KIDIA:KFDIA)    = PTM(KIDIA:KFDIA,KLEV)
-  ZQS(KIDIA:KFDIA)    = PQVM(KIDIA:KFDIA,KLEV)
-  DO JLON=KIDIA,KFDIA
-    ZRHODREFM(JLON) = PAPRSFM(JLON,KLEV)/(PTM(JLON,KLEV)*PRM(JLON,KLEV))
-    ZTHETAS(JLON)   = ZTSURF(JLON)*(RATM/PAPRSM(JLON,KLEV))**RKAPPA
+  ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA) = YDMF_PHYS_BASE_STATE%T(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+  ZTN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)    = YDMF_PHYS_BASE_STATE%T(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+  ZQS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)    = YDMF_PHYS_BASE_STATE%Q(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZRHODREFM(JLON) = YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,YDCPG_OPTS%KFLEVG)/(YDMF_PHYS_BASE_STATE%T(JLON,YDCPG_OPTS%KFLEVG)*YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%R(JLON,YDCPG_OPTS%KFLEVG))
+    ZTHETAS(JLON)   = ZTSURF(JLON)*(RATM/YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(JLON,YDCPG_OPTS%KFLEVG))**RKAPPA
   ENDDO
 
   LLAROME=.TRUE.
-  CALL SURF_IDEAL_FLUX(YDRIP,YDPHY0,YDPHYDS, LLAROME, KIDIA , KFDIA  , KLON, PAPHIFM(:,KLEV), &
-   & ZRHODREFM, PSFORC,ZTN,ZTSURF,PLSM,PQVM(:,KLEV), PUM(:,KLEV), PVM(:,KLEV), ZTHETAS, &
-   & ZSFTH_, ZSFRV_, ZSFU_, ZSFV_)
+  CALL SURF_IDEAL_FLUX(YDRIP, YDPHY0, YDPHYDS, LLAROME, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON,                             &
+  & YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF(:, YDCPG_OPTS%KFLEVG), ZRHODREFM, YDMF_PHYS_SURF%GSD_SFO%PGROUP,                                  &
+  & ZTN, ZTSURF, YDMF_PHYS_SURF%GSD_VF%PLSM, YDMF_PHYS_BASE_STATE%Q(:, YDCPG_OPTS%KFLEVG), YDMF_PHYS_BASE_STATE%U(:, YDCPG_OPTS%KFLEVG), &
+  & YDMF_PHYS_BASE_STATE%V(:, YDCPG_OPTS%KFLEVG), ZTHETAS, ZSFTH_, ZSFRV_, ZSFU_, ZSFV_)
 
 !* Compute PBL-diagnostics
    
    ZCAPE(:)=0._JPRB
    ZDCAPE(:)=0._JPRB
-  CALL ACCLDIA(YDXFU,YDPHY,YDMODEL%YRML_PHY_MF%YRPHY2,YDTOPH,KIDIA,KFDIA,KLON,KLEV,PUCLS,&
-   & PVCLS,PUM(:,1:KLEV),PVM(:,1:KLEV),ZCAPE,ZDCAPE,ZTKEM(:,1:KLEV),PAPHIFM(:,1:KLEV),POROG,&
-   & PUGST,PVGST,PPBLH,ICLPH)
+  CALL ACCLDIA(YDCST, YDCPG_OPTS%LXCLP, YDCPG_OPTS%LXTGST, YDCPG_OPTS%LXXGST, YDPHY, YDMODEL%YRML_PHY_MF%YRPHY2, YDTOPH, YDCPG_BNDS%KIDIA,    &
+  & YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDMF_PHYS%OUT%UCLS, YDMF_PHYS%OUT%VCLS, YDMF_PHYS_BASE_STATE%U(:, 1:YDCPG_OPTS%KFLEVG),     &
+  & YDMF_PHYS_BASE_STATE%V(:, 1:YDCPG_OPTS%KFLEVG), ZCAPE, ZDCAPE, ZTKEM(:, 1:YDCPG_OPTS%KFLEVG), YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF(:, 1:YDCPG_OPTS%KFLEVG), &
+  & YDVARS%GEOMETRY%OROG%T0, YDMF_PHYS%OUT%UGST, YDMF_PHYS%OUT%VGST, YDMF_PHYS%OUT%CLPH, ICLPH)
 
-  PPBLH(KIDIA:KFDIA)=MIN(XMAXLM,MAX(XMINLM,PPBLH(KIDIA:KFDIA))) 
+  YDMF_PHYS%OUT%CLPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=MIN(XMAXLM,MAX(XMINLM,YDMF_PHYS%OUT%CLPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA))) 
 
 ENDIF    ! <== End of surface forcing for MUSC
 
 !     --------------------------------------------------------------------
-!     6 - RADIATION LRAYFM (IFS) or LRAY (ACRANEB2) 
+!     6 - RADIATION LRAYFM (IFS) or LRAY (ACRANEB2)
 !     --------------------------------------------------------------------
 IF (LRAYFM.OR.LRAY) THEN
   ! prepare some input for both radiation schemes at every time step
@@ -2027,61 +1895,35 @@ IF (LRAYFM.OR.LRAY) THEN
   ENDIF
 
   ! compute saturated specific humidity
-  CALL ACTQSAT ( YDPHY,KIDIA,KFDIA,KLON,NTQSAT,KLEV, PAPRSFM, ZCPM, ZQVM, ZTM,&
-   & ZGEOSLC, ZLH, ZLSCPE, ZQSAT, ZQW, PRH, ZTW)  
-
-  IF (YSPP_CONFIG%LSPP.AND.YSPP_CONFIG%LPERT_RADGR) THEN
-   IF (YSPP_CONFIG%LLNN_MEAN1.OR.YSPP_CONFIG%LLNN_MEAN1_RADGR) THEN
-    ZMU = -0.5_JPRB * (YSPP_CONFIG%CMPERT_RADGR * YSPP_CONFIG%SDEV)**2
-   ELSE
-    ZMU = 0._JPRB
-   ENDIF
-   DO JLON=KIDIA,KFDIA
-    ZVAL = RADGR*EXP(ZMU+YSPP_CONFIG%CMPERT_RADGR*PGP2DSPP(JLON,YSPP%MP_RADGR))
-    ZRADGR(JLON) = MAX(YSPP_CONFIG%CLIP_RADGR(1),MIN(ZVAL,YSPP_CONFIG%CLIP_RADGR(2)))
-   ENDDO
-   IF ( YSPP_CONFIG%IEZDIAG_POS > 0 ) THEN
-    JKO=2*YSPP%MP_RADGR-1
-    JKE=2*YSPP%MP_RADGR
-    DO JLON=KIDIA,KFDIA
-     PEZDIAG(JLON,JKO,YSPP_CONFIG%IEZDIAG_POS) = PGP2DSPP(JLON,YSPP%MP_RADGR)
-     PEZDIAG(JLON,JKE,YSPP_CONFIG%IEZDIAG_POS) = ZRADGR(JLON)
-    ENDDO
-   ENDIF
+  CALL ACTQSAT (YDCST, YDPHY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, NTQSAT, YDCPG_OPTS%KFLEVG,   &
+                & YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF, ZCPM, ZQVM, ZTM, ZGEOSLC, ZLH, ZLSCPE, ZQSAT, ZQW, YDCPG_MISC%RH, &
+                & ZTW)  
+
+  IF (ZSPP_ALL%YSPP_RADGR%LPERT) THEN
+   CALL APPLY_SPP(ZSPP_ALL%YSPP_RADGR, &
+                & YDCPG_OPTS%KLON,YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA, &
+                & RADGR,ZRADGR)
   ELSE
-   DO JLON=KIDIA,KFDIA
+   DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ZRADGR(JLON) = RADGR
    ENDDO
   ENDIF
 
-  IF (YSPP_CONFIG%LSPP.AND.YSPP_CONFIG%LPERT_RADSN) THEN
-   IF (YSPP_CONFIG%LLNN_MEAN1.OR.YSPP_CONFIG%LLNN_MEAN1_RADSN) THEN
-    ZMU = -0.5_JPRB * (YSPP_CONFIG%CMPERT_RADSN * YSPP_CONFIG%SDEV)**2
-   ELSE
-    ZMU = 0._JPRB
-   ENDIF
-   DO JLON=KIDIA,KFDIA
-    ZVAL = RADSN*EXP(ZMU+YSPP_CONFIG%CMPERT_RADSN*PGP2DSPP(JLON,YSPP%MP_RADSN))
-    ZRADSN(JLON) = MAX(YSPP_CONFIG%CLIP_RADSN(1),MIN(ZVAL,YSPP_CONFIG%CLIP_RADSN(2)))
-   ENDDO
-   IF ( YSPP_CONFIG%IEZDIAG_POS > 0 ) THEN
-    JKO=2*YSPP%MP_RADSN-1
-    JKE=2*YSPP%MP_RADSN
-    DO JLON=KIDIA,KFDIA
-     PEZDIAG(JLON,JKO,YSPP_CONFIG%IEZDIAG_POS) = PGP2DSPP(JLON,YSPP%MP_RADSN)
-     PEZDIAG(JLON,JKE,YSPP_CONFIG%IEZDIAG_POS) = ZRADSN(JLON)
-    ENDDO
-   ENDIF
+  IF (ZSPP_ALL%YSPP_RADSN%LPERT) THEN
+   CALL APPLY_SPP(ZSPP_ALL%YSPP_RADSN, &
+                & YDCPG_OPTS%KLON,YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA, &
+                & RADSN,ZRADSN)
   ELSE
-   DO JLON=KIDIA,KFDIA
+   DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ZRADSN(JLON) = RADSN
    ENDDO
   ENDIF
-  ! initialisation des humidite (dans le rayonnement, l'eau liquide nuageuse 
+
+  ! initialisation des humidite (dans le rayonnement, l'eau liquide nuageuse
   ! et la glace sont donne par des hu par rapport au gaz.
   ! (qi/qa+qv pour ice par ex. C'est donc different de ri)
-  DO JLEV=KTDIA,KLEV
-    DO JLON=KIDIA,KFDIA 
+  DO JLEV=YDCPG_OPTS%KTDIA,YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA 
        ZQICE(JLON,JLEV)= MAX(0.0_JPRB,&
         & (ZQIM(JLON,JLEV) + ZQSM(JLON,JLEV)*ZRADSN(JLON) + ZQGM(JLON,JLEV)*ZRADGR(JLON))/&
         & (1.0_JPRB-ZQIM(JLON,JLEV)-ZQCM(JLON,JLEV)-ZQRM(JLON,JLEV)&
@@ -2096,117 +1938,162 @@ IF (LRAYFM.OR.LRAY) THEN
   ENDDO
 
   ! store cloud water content for RTTOV
-  IF (YIRAD%LGP) PQIRAD(KIDIA:KFDIA,:) = ZQICE(KIDIA:KFDIA,:)
-  IF (YLRAD%LGP) PQLRAD(KIDIA:KFDIA,:) = ZQLIQ(KIDIA:KFDIA,:)
+  IF (YIRAD%LGP) YDVARS%IRAD%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:) = ZQICE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)
+  IF (YLRAD%LGP) YDVARS%LRAD%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:) = ZQLIQ(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)
 
   ! Hannu Savijarvi diffuse -> direct albedo correction from hlradia,
-  ! Assuming that SURFEX does not make difference between  
+  ! Assuming that SURFEX does not make difference between
   ! dir/dif albedo as surfex/SURFEX/albedo_from_nir_vis.F90 defines
   ! PSCA_ALB(:,:) = PDIR_ALB(:,:)
-  
+
 ! Albedo dans les intervalles, direct (parallel) et diffus (diffuse).
   IF (NSW==6.OR.NSW==1) THEN
     IF (LLMSE) THEN
       DO JSW=1,NSW
-        ZALBP(KIDIA:KFDIA,JSW)=PGPAR(KIDIA:KFDIA,MALBDIR-1+JSW)
-        ZALBD(KIDIA:KFDIA,JSW)=PGPAR(KIDIA:KFDIA,MALBSCA-1+JSW)
+        ZALBP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=YDCPG_GPAR%ALBDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)
+        ZALBD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=YDCPG_GPAR%ALBSCA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)
         IF (LHLRADUPD) THEN
-          DO JLON=KIDIA,KFDIA
-            ZSALBCOR=0.2_JPRB/(1._JPRB+PMU0(JLON))-0.12_JPRB
+          DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+            ZSALBCOR=0.2_JPRB/(1._JPRB+ZRDG_MU0(JLON))-0.12_JPRB
             ZALBP(JLON,JSW)=ZALBD(JLON,JSW)+ZSALBCOR
           ENDDO
         ENDIF
       ENDDO
     ELSEIF (LSFORCS) THEN
       DO JSW=1,NSW
-        ZALBP(KIDIA:KFDIA,JSW)=RALB_FORC
-        ZALBD(KIDIA:KFDIA,JSW)=RALB_FORC
+        ZALBP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=RALB_FORC
+        ZALBD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=RALB_FORC
 !  direct>diffuse correction might be applied to RALB_FORC,too:
 !              ZALBP(JLON,JSW)=RALB_FORC+ZSALBCOR
       ENDDO
     ELSE
      !pour pouvoir tourner sans la surface
       DO JSW=1,NSW
-        ZALBP(KIDIA:KFDIA,JSW)=PALBIN(KIDIA:KFDIA)
-        ZALBD(KIDIA:KFDIA,JSW)=PALBIN(KIDIA:KFDIA)
+        ZALBP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=YDMF_PHYS_SURF%GSD_VF%PALBF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+        ZALBD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=YDMF_PHYS_SURF%GSD_VF%PALBF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
 !              ZALBP(JLON,JSW)=PALBIN(JLON)+ZSALBCOR
       ENDDO
     ENDIF
 
-  ! Spectral average albedo done with RSUN2 weights, 
+  ! Spectral average albedo done with RSUN2 weights,
   ! to be applied for HLRADIA, ACRANEB2 which use a single solar spectral band
     IF (LHLRADUPD) THEN
-      ZALBP1(KIDIA:KFDIA)=0._JPRB
-      ZALBD1(KIDIA:KFDIA)=0._JPRB
+      ZALBP1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+      ZALBD1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
       DO JSW=1,NSW
-        DO JLON=KIDIA,KFDIA
+        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
           ZALBP1(JLON)=ZALBP1(JLON)+RSUN2(JSW)*ZALBP(JLON,JSW)
           ZALBD1(JLON)=ZALBD1(JLON)+RSUN2(JSW)*ZALBD(JLON,JSW)
         ENDDO
       ENDDO
     ELSE
-       ZALBP1(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MALBDIR)
-       ZALBD1(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MALBSCA)
+       ZALBP1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ALBDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+       ZALBD1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ALBSCA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
     ENDIF
-
   ELSE
-
     CALL ABOR1 ('ALBEDO FOR NSW/= 1 or 6 not defined in apl_arome')
-
   ENDIF
 
   ! all albedo operations
 
   IF (LLMSE) THEN
-    ZEMIS(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MVEMIS)
-    ZTSURF(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MVTS)
+    ZEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%VEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%VTS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
     ! protection for E Zone, Where surface scheme send back EMIS and T =0
     ! the protection in aro_ground_paramn is not sufficient !!! WHY ??
-    DO JLON=KIDIA,KFDIA
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       IF (ZEMIS(JLON)==0._JPRB) THEN
         ZEMIS(JLON)=1.0_JPRB
         ZTSURF(JLON)=288.0_JPRB
       ENDIF
     ENDDO
   ELSEIF (LSFORCS) THEN
-    ZEMIS(KIDIA:KFDIA)=REMIS_FORC
+    ZEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=REMIS_FORC
   ELSE
-    ZEMIS(KIDIA:KFDIA)=0.5_JPRB ! value 0.5 is suspicious
-    ZTSURF(KIDIA:KFDIA)=ZTM(KIDIA:KFDIA,KLEV)
+    ZEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0.5_JPRB ! value 0.5 is suspicious
+    ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
   ENDIF !LLMSE EMIS
   
   ! initialization of aerosols
   IF (LRAY.AND.NRAY == 2.AND.LRADFLEX.AND.LRSTAER) THEN
 
     ! old ("standard") aerosols for LRAY only
-    ZAER(KIDIA:KFDIA,1:KTDIA-1,1)=0._JPRB
-    DO JLEV=KTDIA-1,KLEV
+    ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KTDIA-1,1)=0._JPRB
+    DO JLEV=YDCPG_OPTS%KTDIA-1,YDCPG_OPTS%KFLEVG
       ZVETAH(JLEV)=STPREH(JLEV)/VP00
     ENDDO
-    ZAEO=AERCS1*ZVETAH(KTDIA-1)+AERCS3*ZVETAH(KTDIA-1)**3+AERCS5*ZVETAH(KTDIA-1)**5
-    DO JLEV=KTDIA,KLEV
+    ZAEO=AERCS1*ZVETAH(YDCPG_OPTS%KTDIA-1)+AERCS3*ZVETAH(YDCPG_OPTS%KTDIA-1)**3+AERCS5*ZVETAH(YDCPG_OPTS%KTDIA-1)**5
+    DO JLEV=YDCPG_OPTS%KTDIA,YDCPG_OPTS%KFLEVG
       ZAEN=AERCS1*ZVETAH(JLEV)+AERCS3*ZVETAH(JLEV)**3+AERCS5*ZVETAH(JLEV)**5
-      ZAER(KIDIA:KFDIA,JLEV,1)=ZAEN-ZAEO
+      ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,1)=ZAEN-ZAEO
       ZAEO=ZAEN
     ENDDO
-    ZAER(KIDIA:KFDIA,1:KLEV,2:6)=0._JPRB
+    ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,2:6)=0._JPRB
   
   ELSE
     
-    IF (NAER >= 1 ) THEN
+    IF (NAER >= 1 .AND. NAERMACC == 0) THEN
       IF(YSD_VAD%NUMFLDS >= 4) THEN
-        CALL RADAER ( YDMODEL%YRML_PHY_RAD%YREAERD,YDERAD,YDPHY, KIDIA , KFDIA , KLON  , KLEV,&
-         & PAPRSM,PAPRSFM,ZTM,ZTSURF,PAESEA,PAELAN,PAESOO,PAEDES,PAESUL,PAEVOL,ZAER,ZAERINDS)
+        CALL RADAER ( YDMODEL%YRML_PHY_RAD%YREAERD, YDERAD, YDPHY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA,               &
+        & YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF, &
+        & ZTM, ZTSURF, YDMF_PHYS_SURF%GSD_VA%PSEA, YDMF_PHYS_SURF%GSD_VA%PLAN, YDMF_PHYS_SURF%GSD_VA%PSOO,           &
+        & YDMF_PHYS_SURF%GSD_VA%PDES, YDMF_PHYS_SURF%GSD_VA%PSUL, YDMF_PHYS_SURF%GSD_VA%PVOL, ZAER,                  &
+        & ZAERINDS)
       ELSE
         WRITE(NULOUT,*) 'YSD_VAD%NUMFLDS SHOULD BE >= 4, IT IS: ',YSD_VAD%NUMFLDS
         CALL ABOR1('APL_AROME: PB AEROSOLS!')
         ! NB : this abort excludes the use of radact. REK.
       ENDIF
+    ELSE
+      !AEROSOLS from MACC (NAERMACC=1)
+      ZDUM=1._JPRB
+      ! in E Zone, there are YDVARS%GEOMETRY%GEMU%T0 < 0.
+      ZGELAM=YDVARS%GEOMETRY%GELAM%T0
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        IF (ZGELAM(JLON)<0._JPRB) THEN
+              ZGELAM(JLON)=ZGELAM(JLON)+2*RPI
+        ENDIF
+      ENDDO
+      ! Init ZCHTIX
+      ! Warning YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE is 0:YDCPG_OPTS%KFLEVG here whereas in radintg it is
+      ! 1:YDCPG_OPTS%KFLEVG+1
+      DO JK=2,YDCPG_OPTS%KFLEVG
+        ZCAPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)=YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1)
+        ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)=(ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1)*YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1)&
+      & *(YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)-YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1))&
+      & +ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)*YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)*(YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1)&
+     & -YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1)))&
+     &*(1.0_JPRB/(YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1)*(YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)-YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK-1))))
+        ZCHTIX(1:YDCPG_OPTS%KLON,JK)=ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JK)
+      ENDDO
+      ! QUANTITIES AT BOUNDARIES
+      ZCAPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)=YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0)
+      ZCAPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG+1)=YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)
+      ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)=ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)-YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)*(ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)&
+       & -ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,2))/(YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)-YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1))
+      ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG+1)=ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      ZCHTIX(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG+1)=ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG+1)
+      ZCHTIX(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)=ZTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+      IAERO=SIZE(ZAERO,3)
+      ZGEMU_D=REAL(YDVARS%GEOMETRY%GEMU%T0,JPRD)
+      CALL RADACT(YDMODEL%YRML_PHY_RAD%YREAERD,YDERAD,YDMODEL%YRML_PHY_AER%YREAERSNK,YDRIP, &
+         & YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG,&
+         & 1 , YDCPG_OPTS%KLON , YDCPG_OPTS%KLON  ,0 , 1,&
+         & YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE , ZGELAM, ZGEMU_D, YDVARS%GEOMETRY%GECLO%T0, YDVARS%GEOMETRY%GESLO%T0, ZCHTIX,&
+         & ZQVM   , ZQSAT  , ZDUM  ,&
+         & ZRAER  , ZAERO,ZROZ  )
+      DO JAE=1,6
+        DO JK=1,YDCPG_OPTS%KFLEVG
+          DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+            ZAER(JLON,JK,JAE)=ZRAER(JLON,JAE,JK)
+          ENDDO
+        ENDDO
+      ENDDO
     ENDIF
 
     IF (LRDUST) THEN
       ! We use the extinction coefficient explicitly solved by ARO_MNHDUST
-      ZAER(KIDIA:KFDIA,1:KLEV,3) = ZAERD_(KIDIA:KFDIA,1:KLEV)
+      ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,3) = ZAERD_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
     ENDIF
 
   ENDIF
@@ -2215,156 +2102,143 @@ IF (LRAYFM.OR.LRAY) THEN
   ! initialization of ozone
   IF (NOZOCL == 1) THEN
     ! as in IFS
-    CALL RADOZC(KIDIA,KFDIA,KLON,KLEV,1,KLON,0,PAPRSM,PGEMU,ZROZ)
-    DO JK=1,KLEV
-      DO JLON=KIDIA,KFDIA
-        ZQO3(JLON,JK)=ZROZ(JLON,JK)/PDELPM(JLON,JK)
+    CALL RADOZC(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, 1, YDCPG_OPTS%KLON, &
+    & 0, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDVARS%GEOMETRY%GEMU%T0, ZROZ)
+    DO JK=1,YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZQO3(JLON,JK)=ZROZ(JLON,JK)/YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JK)
       ENDDO
     ENDDO
   ELSEIF (NOZOCL == 2) THEN
     ! as in ARPEGE (from clim profiles)
-    CALL SUOZON(KIDIA,KFDIA,KLON,KLEV,ZQO3,.FALSE.,PAPRSM,PRDELPM,LO3ABC,PVO3ABC)
+    CALL SUOZON(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, ZQO3,                                  &
+    & .FALSE., YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%RDELP, LO3ABC, YDMF_PHYS_SURF%GSD_VC%PA,   &
+    & YDMF_PHYS_SURF%GSD_VC%PB, YDMF_PHYS_SURF%GSD_VC%PC)
   ENDIF
+  IF (NOZOCL==3.OR.NOZOCL==4) THEN ! Clims MACC
+     CALL RADGHG (YDERAD,YDRIP,YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KLON, &
+     & YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE,YDVARS%GEOMETRY%GEMU%T0,&
+     & ZQCO2, ZQCH4, ZQN2O, ZQNO2, ZQC11, ZQC12, ZROZ, ZQC22, ZQCL4 )
+    DO JK=1,YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZQO3(JLON,JK)=ZROZ(JLON,JK)
+      ENDDO
+    ENDDO
+  ENDIF
+
 
 ELSE
 
   DO JSW=1,NSW
-    ZALBP(KIDIA:KFDIA,JSW)=0._JPRB 
-    ZALBD(KIDIA:KFDIA,JSW)=0._JPRB
+    ZALBP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=0._JPRB 
+    ZALBD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=0._JPRB
   ENDDO
 
 ENDIF
  !of preparation of input for LRAYFM, LRAY at every time step
- 
+
  IF (LRAYFM) THEN
    ! Intermittent call to radiation interface
-   IF (MOD(KSTEP,NRADFR) == 0) THEN 
-     CALL RECMWF (YDGEOMETRY%YRDIMV, YDMODEL,         &
-     & KIDIA   , KFDIA , KLON     , KLEV     ,           & 
-     & ZALBD   , ZALBP , PAPRSM   , PAPRSFM  ,           &
-     & PCLFS   , ZQO3  , ZAER     , PDELPM   , ZEMIS   , &
-     & PMU0M   , ZQV   , ZQSAT    , ZQICE    , ZQLIQ   , &
-     & ZQSM    , ZQRM  , PLSM     , ZTM      , ZTSURF  , &
-     & PGP2DSPP, PEZDIAG,                                &
-     & PEMTD   , PEMTU , PTRSO    , PFRTHC   , PFRTH   , & 
-     & PFRSOC  , PFRSO , ZZS_FSWDIR, ZZS_FSWDIF, ZFSDNN  , &
-     & ZFSDNV  , ZCTRSO, ZCEMTR   , ZTRSOD   , ZTRSODIR, &
-     & ZTRSODIF, ZPIZA_DST_,ZCGA_DST_,ZTAUREL_DST_,ZAERINDS,&
-     & PGELAM , PGEMU ,PGPAR , &
-     & PMU0LU , ZALBD1 , ZFRSOLU)
+   IF (MOD(YDCPG_OPTS%KSTEP,NRADFR) == 0) THEN 
+     CALL RECMWF (YDGEOMETRY%YRDIMV, YDMODEL, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, &
+     & YDCPG_OPTS%KSW, &
+     & NOZOCL   ,NAERMACC, IAERO, &
+     & ZALBD, ZALBP, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF,           &
+     & YDVARS%A%T1, ZQO3,ZQCO2 , ZQCH4    , ZQN2O   , &
+     & ZQNO2   , ZQC11   , ZQC12 , ZQC22    , ZQCL4   , &
+     & ZAER, ZAERO, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP, ZEMIS, &
+     & ZRDG_MU0M, ZQV, ZQSAT,                 &
+     & ZQICE, ZQLIQ, ZQSM, ZQRM, YDMF_PHYS_SURF%GSD_VF%PLSM, ZTM, ZTSURF, YDMF_PHYS%RAD%EMTD, YDMF_PHYS%RAD%EMTU,     &
+     & YDMF_PHYS%RAD%TRSW, YDMF_PHYS%OUT%FRTHC, YDMF_PHYS%OUT%FRTH, YDMF_PHYS%OUT%FRSOC, YDMF_PHYS%OUT%FRSO,          &
+     & ZZS_FSWDIR, ZZS_FSWDIF, ZFSDNN, ZFSDNV, ZCTRSO, ZCEMTR, ZTRSOD, ZTRSODIR, ZTRSODIF,                            &
+     & ZPIZA_DST_, ZCGA_DST_, ZTAUREL_DST_, ZAERINDS, YDVARS%GEOMETRY%GELAM%T0, YDVARS%GEOMETRY%GEMU%T0,              &
+     & YDCPG_GPAR%SWDIR, YDCPG_GPAR%SWDIF, ZRDG_MU0LU, ZALBD1, ZFRSOLU, &
+     & YSPP_RSWINHF=ZSPP_ALL%YSPP_RSWINHF, YSPP_RLWINHF=ZSPP_ALL%YSPP_RLWINHF)
    ELSE
-     IF (LLMSE) THEN 
-       DO JSW=1,NSW 
-         ZTRSODIR(KIDIA:KFDIA,JSW)=PGPAR(KIDIA:KFDIA,MSWDIR+JSW-1)
-         ZTRSODIF(KIDIA:KFDIA,JSW)=PGPAR(KIDIA:KFDIA,MSWDIF+JSW-1)
-       ENDDO 
+     IF (LLMSE) THEN
+       DO JSW=1,NSW
+         ZTRSODIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=YDCPG_GPAR%SWDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)
+         ZTRSODIF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=YDCPG_GPAR%SWDIF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)
+       ENDDO
      ENDIF
      ZCTRSO(:,:)=0._JPRB
    ENDIF
    ! daand: radflex
    IF (LRADFLEX) THEN
-     YLRADPROC => NEWINTPROC(YDPROCSET,'Radiation')
-     ZFRSO => NEWINTFIELD(YLRADPROC,KLON,KLEV,'FRSO','H','F')
-     ZFRTH => NEWINTFIELD(YLRADPROC,KLON,KLEV,'FRTH','H','F')
+     YLRADPROC => NEWINTPROC(YLPROCSET,'Radiation')
+     ZFRSO => NEWINTFIELD(YLRADPROC,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,'FRSO','H','F')
+     ZFRTH => NEWINTFIELD(YLRADPROC,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,'FRTH','H','F')
    ENDIF
 
-    DO JLEV=1,KLEV
-      ZTENT(KIDIA:KFDIA,JLEV)=0.0_JPRB
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      ZTENT(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.0_JPRB
     ENDDO
 
-   ZSUDU(KIDIA:KFDIA)=0.0_JPRB
+   ZSUDU(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0.0_JPRB
 
-   CALL RADHEAT&
-   & (  YDERAD,YDERDI,YDMODEL%YRML_PHY_MF, KIDIA  , KFDIA  , KLON   , KLEV,&
-   & PAPRSM  , ZEMIS  , PEMTD  , PMU0, ZQVM,&
-   & ZTENT  , PTRSO  , ZTRSOD , ZTSURF   , PDT,&
-   & ZTRSODIR,ZTRSODIF, ZALBD , ZALBP,&
-   ! daand: radflex; replaced PFRSO and PRFTH by pointers
-   & ZFRSO  , ZFRTH  , PFRSODS, PFRTHDS, ZCEMTR , ZCTRSO , PFRSOC , PFRTHC,&
-   & ZSUDU  , ZSDUR  , ZDSRP  , ZZS_FSWDIR , ZZS_FSWDIF    ,&
-   & PFRSOPS, ZFRSOFS, PFRSOPT )
+   CALL RADHEAT  (  YDERAD, YDERDI, YDMODEL%YRML_PHY_MF, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON,     &
+   & YDCPG_OPTS%KFLEVG, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, ZEMIS, YDMF_PHYS%RAD%EMTD, ZRDG_MU0, ZQVM,             &
+   & ZTENT, YDMF_PHYS%RAD%TRSW, ZTRSOD, ZTSURF, YDCPG_OPTS%ZDTPHY, ZTRSODIR, ZTRSODIF, ZALBD, ZALBP, ZFRSO,                  &
+   & ZFRTH, YDMF_PHYS%OUT%FRSODS, YDMF_PHYS%OUT%FRTHDS, ZCEMTR, ZCTRSO, YDMF_PHYS%OUT%FRSOC, YDMF_PHYS%OUT%FRTHC, &
+   & ZSUDU, ZSDUR, ZDSRP, ZZS_FSWDIR, ZZS_FSWDIF, YDMF_PHYS%OUT%FRSOPS, ZFRSOFS, YDMF_PHYS%OUT%FRSOPT             &
+   &                                                                                                                        )
 
   ! daand: radflex
   IF (LRADFLEX) THEN
     ! store for further calculations and diagnostics
     ! warning : pointers. REK
-    PFRSO(:,:,1)=ZFRSO
-    PFRTH(:,:,1)=ZFRTH
+    YDMF_PHYS%OUT%FRSO(:,:,1)=ZFRSO
+    YDMF_PHYS%OUT%FRTH(:,:,1)=ZFRTH
   ELSE
   ! daand: if LRADFLEX, the contribution to temperature is done by
   ! cptend_flex/cputqy
     ! update temperature tendency by radiative contribution
-    DO JLEV=1,KLEV
-      DO JLON = KIDIA, KFDIA
-        PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV)+ZTENT(JLON,JLEV)
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+        ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+ZTENT(JLON,JLEV)
       ENDDO
     ENDDO
   ENDIF
 
-  DO JLON = KIDIA, KFDIA
+  DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
     ! update sunshine duration [s]
-    PSDUR(JLON)=PSDUR(JLON)+ZSDUR(JLON)*TSTEP
+    !YDMF_PHYS_SURF%GSD_VD%PSUND(JLON)=YDMF_PHYS_SURF%GSD_VD%PSUND(JLON)+ZSDUR(JLON)*TSTEP
+    YDMF_PHYS_SURF%GSD_VD%PSUND(JLON)=YDMF_PHYS_SURF%GSD_VD%PSUND(JLON)+ZSDUR(JLON)*ZADTMS ! fix stepx case
     ! Estimate of the direct normal irradiance, with securities
-    IF (PMU0(JLON) > 3.0E-02_JPRB) THEN
-      PFRSDNI(JLON)=MAX(0.0_JPRB,PFRSOPS(JLON)/PMU0(JLON))
+    IF (ZRDG_MU0(JLON) > 3.0E-02_JPRB) THEN
+      YDMF_PHYS%OUT%FRSDNI(JLON)=MAX(0.0_JPRB,YDMF_PHYS%OUT%FRSOPS(JLON)/ZRDG_MU0(JLON))
     ELSE
-      PFRSDNI(JLON)=MAX(0.0_JPRB,PFRSOPS(JLON))
+      YDMF_PHYS%OUT%FRSDNI(JLON)=MAX(0.0_JPRB,YDMF_PHYS%OUT%FRSOPS(JLON))
     ENDIF
   ENDDO 
 
-  IF( MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF( MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'sous apl_arome apres rayonnement ZTENT=',ZTENT(NPTP,30:41)
     IF (LLMSE) THEN
       DO JSW=1, NSW
         WRITE(NULOUT,*)'ZSFSWDIR ZSFSWDIF ZFSDNN ZFSDNV PFRSO',&
-         & ZZS_FSWDIR(NPTP,JSW),ZZS_FSWDIF(NPTP,JSW),ZFSDNN(NPTP), ZFSDNV(NPTP),PFRSO(NPTP,KLEV,1)
+         & ZZS_FSWDIR(NPTP,JSW),ZZS_FSWDIF(NPTP,JSW),ZFSDNN(NPTP), ZFSDNV(NPTP),YDMF_PHYS%OUT%FRSO(NPTP,YDCPG_OPTS%KFLEVG,1)
         WRITE(NULOUT,*)'ZALBD ZALBP',ZALBD(NPTP,JSW),ZALBP(NPTP,JSW)
       ENDDO
     ENDIF
     WRITE(NULOUT,*)ZFSDNN(NPTP),ZFSDNV(NPTP)
-    WRITE (NULOUT,*)'TSURF EMIS ZFRTH',ZTSURF(NPTP),ZEMIS(NPTP),PFRTHDS(NPTP)
+    WRITE (NULOUT,*)'TSURF EMIS ZFRTH',ZTSURF(NPTP),ZEMIS(NPTP),YDMF_PHYS%OUT%FRTHDS(NPTP)
   ENDIF
 
   IF (LFLEXDIA) THEN
-    IF (LDDH_OMP) THEN
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,PFRSO(:,:,1),'FCTRAYSO',YDDDH)
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,PFRTH(:,:,1),'FCTRAYTH',YDDDH)
-    ELSE
-      CALL ADD_FIELD_3D(YLDDH,PFRSO(:,:,1),'FCTRAYSO','F','ARP',.TRUE.,.TRUE.)
-      CALL ADD_FIELD_3D(YLDDH,PFRTH(:,:,1),'FCTRAYTH','F','ARP',.TRUE.,.TRUE.)
-    ENDIF
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, YDMF_PHYS%OUT%FRSO(:, :, 1), 'FCTRAYSO', YDDDH&
+      &             )
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, YDMF_PHYS%OUT%FRTH(:, :, 1), 'FCTRAYTH', YDDDH&
+      &             )
   ENDIF
 
 ELSE
 
-  PFRSOC(KIDIA:KFDIA,0:1)=0.0_JPRB
-  PFRTHC(KIDIA:KFDIA,0:1)=0.0_JPRB
+  YDMF_PHYS%OUT%FRSOC(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0:1)=0.0_JPRB
+  YDMF_PHYS%OUT%FRTHC(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0:1)=0.0_JPRB
 
 ENDIF  ! LRAYFM
 
-!     ------------------------------------------------------------------
-!     NEBULOSITE (CONVECTIVE+STRATIFORME) A TROIS NIVEAUX.
-!     DIAGNOSTIC OF THREE LEVELS (CONVECTIVE+STRATIFORM) CLOUDINESS.
-
-! protect cloudiness from being 0 or 1 (needed for ACRANEB2 and ACNPART)
-DO JLEV=KTDIA,KLEV
-  DO JLON=KIDIA,KFDIA
-    ZNEB0(JLON,JLEV)=MAX(ZEPSNEB,MIN(1._JPRB-ZEPSNEB,PCLFS(JLON,JLEV)))
-  ENDDO
-ENDDO
-
-! decorrelation depth for cloud overlaps
-
-IF (LRNUEXP) THEN
-  DO JLON=KIDIA,KFDIA
-    ZDECRD(JLON)=RDECRD1+RDECRD2*EXP(-((ASIN(PGEMU(JLON))-RDECRD3*RDECLI)/RDECRD4)**2)
-  ENDDO
-ENDIF
-
-! calculate high, medium, low and total cloud cover
-CALL ACNPART(YDMODEL%YRML_PHY_MF,KIDIA,KFDIA,KLON,NTNEBU,KLEV,&
- & PAPHIM,PAPHIFM,PAPRSFM,ZDECRD,ZNEB0,&
- & PCLCH,PCLCM,PCLCL,PCLCT,ZCLCT_RAD)
 
 IF (LRAY.AND.NRAY == 2.AND.LRADFLEX) THEN
 
@@ -2376,8 +2250,8 @@ IF (LRAY.AND.NRAY == 2.AND.LRADFLEX) THEN
 
   ! initialization of cloud ice, cloud liquid and specific humidity
   ! (with respect to moist air, i.e. excluding hydrometeors)
-  DO JLEV=KTDIA,KLEV
-    DO JLON=KIDIA,KFDIA
+  DO JLEV=YDCPG_OPTS%KTDIA,YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       ZQICE(JLON,JLEV)=MAX(0.0_JPRB, ZQIM(JLON,JLEV)/&
        & (1.0_JPRB-ZQIM(JLON,JLEV)-ZQCM(JLON,JLEV)-ZQRM(JLON,JLEV)&
        & -ZQGM(JLON,JLEV)-ZQSM(JLON,JLEV)-ZQHM(JLON,JLEV)))
@@ -2391,46 +2265,63 @@ IF (LRAY.AND.NRAY == 2.AND.LRADFLEX) THEN
   ENDDO
 
   ! store cloud water content for RTTOV
-  IF (YIRAD%LGP) PQIRAD(KIDIA:KFDIA,:) = ZQICE(KIDIA:KFDIA,:)
-  IF (YLRAD%LGP) PQLRAD(KIDIA:KFDIA,:) = ZQLIQ(KIDIA:KFDIA,:)
+  IF (YIRAD%LGP) YDVARS%IRAD%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:) = ZQICE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)
+  IF (YLRAD%LGP) YDVARS%LRAD%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:) = ZQLIQ(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)
 
   ! initialization of ozone
   IF (NOZOCL == 1) THEN
     ! as in IFS
-    CALL RADOZC(KIDIA,KFDIA,KLON,KLEV,1,KLON,0,PAPRSM,PGEMU,ZROZ)
-    DO JK=1,KLEV
-      DO JLON=KIDIA,KFDIA
-        ZQO3(JLON,JK)=ZROZ(JLON,JK)/PDELPM(JLON,JK)
+    CALL RADOZC(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, 1, YDCPG_OPTS%KLON, &
+    & 0, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDVARS%GEOMETRY%GEMU%T0, ZROZ)
+    DO JK=1,YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZQO3(JLON,JK)=ZROZ(JLON,JK)/YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JK)
       ENDDO
     ENDDO
   ELSEIF (NOZOCL == 2) THEN
     ! as in ARPEGE (from clim profiles)
-    CALL SUOZON(KIDIA,KFDIA,KLON,KLEV,ZQO3,.FALSE.,PAPRSM,PRDELPM,LO3ABC,PVO3ABC)
+    CALL SUOZON(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, ZQO3,                                  &
+    & .FALSE., YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%RDELP, LO3ABC, YDMF_PHYS_SURF%GSD_VC%PA,   &
+    & YDMF_PHYS_SURF%GSD_VC%PB, YDMF_PHYS_SURF%GSD_VC%PC)
+  ENDIF
+  IF (NOZOCL==3.OR.NOZOCL==4) THEN ! Clims MACC
+     CALL RADGHG (YDERAD,YDRIP,YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KLON, &
+     & YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE,YDVARS%GEOMETRY%GEMU%T0,&
+     & ZQCO2, ZQCH4, ZQN2O, ZQNO2, ZQC11, ZQC12, ZROZ, ZQC22, ZQCL4 )
+    DO JK=1,YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZQO3(JLON,JK)=ZROZ(JLON,JK)
+      ENDDO
+    ENDDO
   ENDIF
 
+
   ! initialization of aerosols
   IF (LRAY.AND.NRAY == 2.AND.LRADFLEX.AND.LRSTAER) THEN
 
-    ZAER(KIDIA:KFDIA,1:KTDIA-1,1)=0._JPRB
+    ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KTDIA-1,1)=0._JPRB
     ! old ("standard") aerosols
-    DO JLEV=KTDIA-1,KLEV
+    DO JLEV=YDCPG_OPTS%KTDIA-1,YDCPG_OPTS%KFLEVG
       ZVETAH(JLEV)=STPREH(JLEV)/VP00
     ENDDO
-    ZAEO=AERCS1*ZVETAH(KTDIA-1)+AERCS3*ZVETAH(KTDIA-1)**3+AERCS5*ZVETAH(KTDIA-1)**5
-    DO JLEV=KTDIA,KLEV
+    ZAEO=AERCS1*ZVETAH(YDCPG_OPTS%KTDIA-1)+AERCS3*ZVETAH(YDCPG_OPTS%KTDIA-1)**3+AERCS5*ZVETAH(YDCPG_OPTS%KTDIA-1)**5
+    DO JLEV=YDCPG_OPTS%KTDIA,YDCPG_OPTS%KFLEVG
       ZAEN=AERCS1*ZVETAH(JLEV)+AERCS3*ZVETAH(JLEV)**3+AERCS5*ZVETAH(JLEV)**5
-      ZAER(KIDIA:KFDIA,JLEV,1)=ZAEN-ZAEO
+      ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,1)=ZAEN-ZAEO
       ZAEO=ZAEN
     ENDDO
-    ZAER(KIDIA:KFDIA,1:KLEV,2:6)=0._JPRB
+    ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,2:6)=0._JPRB
   
   ELSE
 
     IF (NAER >= 1) THEN
       IF (YSD_VAD%NUMFLDS >= 4) THEN
         ! initialisation of aerosols as in ARPEGE (from clim files)
-        CALL RADAER (YDMODEL%YRML_PHY_RAD%YREAERD,YDERAD,YDPHY, KIDIA , KFDIA , KLON  , KLEV,&
-         & PAPRSM,PAPRSFM,ZTM,ZTSURF,PAESEA,PAELAN,PAESOO,PAEDES,PAESUL,PAEVOL,ZAER,ZAERINDS)
+        CALL RADAER (YDMODEL%YRML_PHY_RAD%YREAERD, YDERAD, YDPHY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA,                &
+        & YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF, &
+        & ZTM, ZTSURF, YDMF_PHYS_SURF%GSD_VA%PSEA, YDMF_PHYS_SURF%GSD_VA%PLAN, YDMF_PHYS_SURF%GSD_VA%PSOO,           &
+        & YDMF_PHYS_SURF%GSD_VA%PDES, YDMF_PHYS_SURF%GSD_VA%PSUL, YDMF_PHYS_SURF%GSD_VA%PVOL, ZAER,                  &
+        & ZAERINDS)
       ELSE
         CALL ABOR1('APL_AROME: PB AEROSOLS!')
         ! NB : this abort excludes the use of radact. REK.
@@ -2439,19 +2330,19 @@ IF (LRAY.AND.NRAY == 2.AND.LRADFLEX) THEN
 
     IF (LRDUST) THEN
       ! We uses the extinction coefficient explicitely solved by ARO_MNHDUST
-      ZAER(KIDIA:KFDIA,1:KLEV,3) = ZAERD_(KIDIA:KFDIA,1:KLEV)
+      ZAER(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,3) = ZAERD_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
     ENDIF
 
   ENDIF ! (LRAY.AND.NRAY == 2.AND.LRADFLEX.AND.LRSTAER) THEN
 
   ! get diffuse and direct surface albedo, emissivity and temperature
   IF (.NOT.LHLRADUPD) THEN
-    ZALBD1(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MALBSCA)
-    ZALBP1(KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MALBDIR)
+    ZALBD1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ALBSCA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+    ZALBP1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%ALBDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
   ENDIF
-  ZEMIS  (KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MVEMIS)
-  ZTSURF (KIDIA:KFDIA)=PGPAR(KIDIA:KFDIA,MVTS)
-  DO JLON=KIDIA,KFDIA
+  ZEMIS  (YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%VEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+  ZTSURF (YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDCPG_GPAR%VTS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ! protection of E-zone (not to have zero emissivity and T_surf there)
     IF (ZEMIS(JLON) == 0._JPRB) THEN
       ZEMIS (JLON)=  1._JPRB
@@ -2462,343 +2353,238 @@ IF (LRAY.AND.NRAY == 2.AND.LRADFLEX) THEN
 !+++ End of redundant input preparations for ACRANEB
 
   ! initialization of CO2(+), differs from IFS radiation scheme!
-  ZQCO2(KIDIA:KFDIA,1:KLEV)=QCO2
+  ZQCO2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=QCO2
 
   ! daand: radflex
-  YLRADPROC => NEWINTPROC(YDPROCSET,'Radiation')
-  ZFRSO => NEWINTFIELD(YLRADPROC,KLON,KLEV, 'FRSO','H','F')
-  ZFRTH => NEWINTFIELD(YLRADPROC,KLON,KLEV, 'FRTH','H','F')
+  YLRADPROC => NEWINTPROC(YLPROCSET,'Radiation')
+  ZFRSO => NEWINTFIELD(YLRADPROC,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG, 'FRSO','H','F')
+  ZFRTH => NEWINTFIELD(YLRADPROC,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG, 'FRTH','H','F')
 
   ! call radiation scheme
-  IJN=KLON
-  CALL ACRANEB2(YDERDI,YDRIP,YDMODEL%YRML_PHY_MF,&
-   & KIDIA,KFDIA,KLON,NTRADI,KLEV,IJN,KSTEP,KNFRRC,&
-   & PAPRSM,PAPRSFM,PCPM,PRM,PDELPM,ZNEB0,&
-   & ZQV,ZQCO2,ZQICE,ZQLIQ,ZQO3,PTM,&
-   & ZALBD1,ZALBP1,ZEMIS,PGELAM,PGEMU,PMU0,PMU0LU,ZTSURF, &
-   & ZDECRD,ZCLCT_RAD,&
-   & PGDEOSI,PGUEOSI,PGMU0,PGMU0_MIN,PGMU0_MAX,&
-   & PGDEOTI,PGDEOTI2,PGUEOTI,PGUEOTI2,PGEOLT,PGEOXT,&
-   & PGRPROX,PGMIXP,PGFLUXC,PGRSURF,PSDUR,&
-   & ZFRSO,ZFRTH,&
-   & PFRSOC,PFRTHC,ZFRSODS,PFRSOPS,ZFRSOLU,PFRTHDS,ZAER)
+  IJN=YDCPG_OPTS%KLON
+  CALL ACRANEB2(YDERDI, YDRIP, YDMODEL%YRML_PHY_MF, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON,               &
+  & NTRADI, YDCPG_OPTS%KFLEVG, IJN, YDCPG_OPTS%KSTEP, YDCFU%NFRRC, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE,                  &
+  & YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF, YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%CP, YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%R,     &
+  & YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP, ZNEB0, ZQV, ZQCO2, ZQICE, ZQLIQ, ZQO3, YDMF_PHYS_BASE_STATE%T,             &
+  & ZALBD1, ZALBP1, ZEMIS, YDVARS%GEOMETRY%GELAM%T0, YDVARS%GEOMETRY%GEMU%T0, ZRDG_MU0, ZRDG_MU0LU,                    &
+  & ZTSURF, ZDECRD, ZCLCT_RAD, YDMF_PHYS%OPT%GDEOSI, YDMF_PHYS%OPT%GUEOSI, YDMF_PHYS%OPT%GMU0, YDMF_PHYS%OPT%GMU0_MIN, &
+  & YDMF_PHYS%OPT%GMU0_MAX, YDMF_PHYS%OPT%GDEOTI, YDMF_PHYS%OPT%GDEOTI2, YDMF_PHYS%OPT%GUEOTI, YDMF_PHYS%OPT%GUEOTI2,  &
+  & YDMF_PHYS%OPT%GEOLT, YDMF_PHYS%OPT%GEOXT, YDMF_PHYS%OPT%GRPROX, YDMF_PHYS%OPT%GMIXP, YDMF_PHYS%OPT%GFLUXC,         &
+  & YDMF_PHYS%OPT%GRSURF, YDMF_PHYS_SURF%GSD_VD%PSUND, ZFRSO, ZFRTH, YDMF_PHYS%OUT%FRSOC, YDMF_PHYS%OUT%FRTHC,         &
+  & ZFRSODS, YDMF_PHYS%OUT%FRSOPS, ZFRSOLU, YDMF_PHYS%OUT%FRTHDS, ZAER)
 
   ! daand: radflex
   ! store for further calculations and diagnostics
   ! warning : pointers. REK
-  PFRSO(:,:,1)=ZFRSO
-  PFRTH(:,:,1)=ZFRTH
+  YDMF_PHYS%OUT%FRSO(:,:,1)=ZFRSO
+  YDMF_PHYS%OUT%FRTH(:,:,1)=ZFRTH
 
   ! extract surface fluxes
-  DO JLON=KIDIA,KFDIA
-    PFRSODS(JLON)=ZFRSODS(JLON)+PFRSOPS(JLON)  ! downward surface sw flux
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    YDMF_PHYS%OUT%FRSODS(JLON)=ZFRSODS(JLON)+YDMF_PHYS%OUT%FRSOPS(JLON)  ! downward surface sw flux
   ENDDO
 
   IF (LLMSE) THEN
     IF (LHLRADUPD) THEN
       DO JSW = 1,NSW
-        DO JLON=KIDIA,KFDIA
-          ZZS_FSWDIR(JLON,JSW) = PFRSOPS(JLON)*RSUN2(JSW)
+        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+          ZZS_FSWDIR(JLON,JSW) = YDMF_PHYS%OUT%FRSOPS(JLON)*RSUN2(JSW)
           ZZS_FSWDIF(JLON,JSW) = ZFRSODS(JLON)*RSUN2(JSW)
          ENDDO
       ENDDO
     ELSE
-      ZZS_FSWDIR(KIDIA:KFDIA,1)=PFRSOPS(KIDIA:KFDIA) ! direct surface swdn flux
-      ZZS_FSWDIF(KIDIA:KFDIA,1)=ZFRSODS(KIDIA:KFDIA) ! diffuse surface swdn flux
+      ZZS_FSWDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)=YDMF_PHYS%OUT%FRSOPS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA) ! direct surface swdn flux
+      ZZS_FSWDIF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)=ZFRSODS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA) ! diffuse surface swdn flux
     ENDIF
   ENDIF
 
   ! Estimate of the direct normal irradiance, with securities
-  PFRSDNI(KIDIA:KFDIA)=PFRSOPS(KIDIA:KFDIA)
-  DO JLON = KIDIA, KFDIA
-    IF (PMU0(JLON) > 3.0E-02_JPRB) THEN
-      PFRSDNI(JLON)=PFRSOPS(JLON)/PMU0(JLON)
+  YDMF_PHYS%OUT%FRSDNI(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS%OUT%FRSOPS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+  DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+    IF (ZRDG_MU0(JLON) > 3.0E-02_JPRB) THEN
+      YDMF_PHYS%OUT%FRSDNI(JLON)=YDMF_PHYS%OUT%FRSOPS(JLON)/ZRDG_MU0(JLON)
     ENDIF
   ENDDO
-  DO JLON = KIDIA, KFDIA
-    PFRSDNI(JLON)=MAX(0.0_JPRB,PFRSDNI(JLON))
+  DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+    YDMF_PHYS%OUT%FRSDNI(JLON)=MAX(0.0_JPRB,YDMF_PHYS%OUT%FRSDNI(JLON))
   ENDDO
 
   IF (LFLEXDIA) THEN
-    IF (LDDH_OMP) THEN
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,PFRSO(:,:,1),'FCTRAYSO',YDDDH)
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,PFRTH(:,:,1),'FCTRAYSO',YDDDH)
-    ELSE
-      CALL ADD_FIELD_3D(YLDDH,PFRSO(:,:,1),'FCTRAYSO','F','ARP',.TRUE.,.TRUE.)
-      CALL ADD_FIELD_3D(YLDDH,PFRTH(:,:,1),'FCTRAYTH','F','ARP',.TRUE.,.TRUE.)
-    ENDIF
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, YDMF_PHYS%OUT%FRSO(:, :, 1), 'FCTRAYSO', YDDDH&
+      &             )
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, YDMF_PHYS%OUT%FRTH(:, :, 1), 'FCTRAYSO', YDDDH&
+      &             )
   ENDIF
 
 ENDIF
 
 IF (.NOT.(LRAY.AND.NRAY == 2.AND.LRADFLEX).AND..NOT.LRAYFM) THEN
   DO JSW = 1,NSW
-    ZZS_FSWDIR(KIDIA:KFDIA,JSW) = 0._JPRB
-    ZZS_FSWDIF(KIDIA:KFDIA,JSW) = 0._JPRB
+    ZZS_FSWDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW) = 0._JPRB
+    ZZS_FSWDIF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW) = 0._JPRB
   ENDDO
-  PFRSOPS(KIDIA:KFDIA)=0._JPRB
+  YDMF_PHYS%OUT%FRSOPS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
 ENDIF
 
 IF (LFLEXDIA) THEN
-  CALL ARO_STARTBU( KIDIA, KFDIA, KLEV, NRR,NGFL_EXT,ZRHODJM__(:,1:KLEV),&
-   & ZUS__(:,1:KLEV), ZVS__(:,1:KLEV), ZWS__(:,1:KLEV), ZTHS__(:,1:KLEV), &
-   & ZRS_, ZTKES_, YDDDH,YDMODEL%YRML_DIAG%YRLDDH,YDMODEL%YRML_DIAG%YRMDDH)
+  CALL ARO_STARTBU( YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NRR, NGFL_EXT, ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG),     &
+  & ZUS__(:, 1:YDCPG_OPTS%KFLEVG), ZVS__(:, 1:YDCPG_OPTS%KFLEVG), ZWS__(:, 1:YDCPG_OPTS%KFLEVG), ZTHS__(:, 1:YDCPG_OPTS%KFLEVG), &
+  & ZRS_, ZTKES_, YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH)
 ENDIF
 
 
 !    ------------------------------------------------------------------
-!     7 - CONVECTION. 
+!     7 - CONVECTION.
 !     --------------------------------------------------------------------
 
 IF(LKFBCONV) THEN
 
   ! No swapp needed becaus IN and OUT are not needed simultaneously
 
-  CALL BRI2ACCONV(YDMODEL%YRML_PHY_MF,YDGEOMETRY%YREGEO,KIDIA,KFDIA,KFDIA,KLEV,PGM(KIDIA:KFDIA),&
-   & ZPABSM__(:,1:KLEV),ZZZ_F_, ZTM(KIDIA:KFDIA,:), ZRM_(:,:,1),ZRM_(:,:,2), ZRM_(:,:,4), &
-   & ZRHODREFM__(:,1:KLEV), ZUM__(:,1:KLEV),ZVM__(:,1:KLEV), ZWM__(:,1:KLEV),ZMFS_,&
-   & ZCVTENDT_, ZCVTENDRV_,ZCVTENDRC_, ZCVTENDRI_,ZCVTENDPR_, ZCVTENDPRS_ &
-   & )
+  CALL BRI2ACCONV(YDMODEL%YRML_PHY_MF, YDGEOMETRY%YREGEO, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_BNDS%KFDIA,                          &
+  & YDCPG_OPTS%KFLEVG, YDVARS%GEOMETRY%GM%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG),                       &
+  & ZZZ_F_, ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, :), ZRM_(:, :, 1), ZRM_(:, :, 2), ZRM_(:, :, 4), ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), &
+  & ZUM__(:, 1:YDCPG_OPTS%KFLEVG), ZVM__(:, 1:YDCPG_OPTS%KFLEVG), ZWM__(:, 1:YDCPG_OPTS%KFLEVG),                                         &
+  & ZMFS_, ZCVTENDT_, ZCVTENDRV_, ZCVTENDRC_, ZCVTENDRI_, ZCVTENDPR_, ZCVTENDPRS_   )
 
-  IF(MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF(MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)"Pluie conv au sol", ZCVTENDPR_(NPTP), &
-     & MAXVAL(ZCVTENDPR_(KIDIA:KFDIA)) ,MINVAL(ZCVTENDPR_(KIDIA:KFDIA))
+     & MAXVAL(ZCVTENDPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)) ,MINVAL(ZCVTENDPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA))
   ENDIF
 
-  DO JLEV = 1,KLEV
-    DO JLON = KIDIA, KFDIA
-      PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV) + ZCVTENDT_(JLON,JLEV)
-      PTENDR(JLON,JLEV,1) = PTENDR(JLON,JLEV,1) + ZCVTENDRV_(JLON,JLEV)*ZQDM(JLON,JLEV)  
-      PTENDR(JLON,JLEV,2) = PTENDR(JLON,JLEV,2) + ZCVTENDRC_(JLON,JLEV)*ZQDM(JLON,JLEV)  
-      PTENDR(JLON,JLEV,4) = PTENDR(JLON,JLEV,4) + ZCVTENDRI_(JLON,JLEV)*ZQDM(JLON,JLEV)  
+  DO JLEV = 1,YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+      ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV) + ZCVTENDT_(JLON,JLEV)
+      ZTEND_Q(JLON,JLEV) = ZTEND_Q(JLON,JLEV) + ZCVTENDRV_(JLON,JLEV)*ZQDM(JLON,JLEV)  
+      ZTEND_L(JLON,JLEV) = ZTEND_L(JLON,JLEV) + ZCVTENDRC_(JLON,JLEV)*ZQDM(JLON,JLEV)  
+      ZTEND_I(JLON,JLEV) = ZTEND_I(JLON,JLEV) + ZCVTENDRI_(JLON,JLEV)*ZQDM(JLON,JLEV)  
       ZRS_(JLON,JLEV,1)=ZRS_(JLON,JLEV,1)+ZCVTENDRV_(JLON,JLEV)
       ZRS_(JLON,JLEV,2)=ZRS_(JLON,JLEV,2)+ZCVTENDRC_(JLON,JLEV)
       ZRS_(JLON,JLEV,4)=ZRS_(JLON,JLEV,4)+ZCVTENDRI_(JLON,JLEV)
-      ZTHS__(JLON,JLEV)=ZTHS__(JLON,JLEV)+ZCVTENDT_(JLON,JLEV)*(RATM/PAPRSFM(JLON,JLEV))**(RD/RCPD)  
+      ZTHS__(JLON,JLEV)=ZTHS__(JLON,JLEV)+ZCVTENDT_(JLON,JLEV)*(RATM/YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,JLEV))**(RD/RCPD)  
     ENDDO
   ENDDO
-  DO JLON =KIDIA, KFDIA
+  DO JLON =YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
     ZINPRR_(JLON)=ZINPRR_(JLON)+ZCVTENDPR_(JLON)-ZCVTENDPRS_(JLON)
-    ZACPRR_(JLON)=ZACPRR_(JLON)+(ZCVTENDPR_(JLON)-ZCVTENDPRS_(JLON))*PDT
+    ZACPRR_(JLON)=ZACPRR_(JLON)+(ZCVTENDPR_(JLON)-ZCVTENDPRS_(JLON))*YDCPG_OPTS%ZDTPHY
     ZINPRS_(JLON)=ZINPRS_(JLON)+ZCVTENDPRS_(JLON)
-    ZACPRS_(JLON)=ZACPRS_(JLON)+ZCVTENDPRS_(JLON)*PDT
+    ZACPRS_(JLON)=ZACPRS_(JLON)+ZCVTENDPRS_(JLON)*YDCPG_OPTS%ZDTPHY
   ENDDO
   ! avance temporelle et inversion niveau pour ZMFS_
-  ! on utilise PSIGS pour le flux de masse pour la condensation sous maille 
+  ! on utilise PSIGS pour le flux de masse pour la condensation sous maille
   ! car PSIGS n est utilise que si LOSIGMAS=T
   IF (LOSUBG_COND.AND..NOT.LOSIGMAS) THEN
-    PSIGS(KIDIA:KFDIA,1:KLEV)=ZMFS_(KIDIA:KFDIA,1:KLEV)
+    YDVARS%SRC%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZMFS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
   ENDIF
-  IF(MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF(MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)"aps CONV, TENRV, TENRC, TENRI"
-    DO JLEV=1,KLEV
-      WRITE(NULOUT,*)PTENDR(NPTP,JLEV,1),PTENDR(NPTP,JLEV,2),PTENDR(NPTP,JLEV,4)
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      WRITE(NULOUT,*)ZTEND_Q(NPTP,JLEV),ZTEND_L(NPTP,JLEV),ZTEND_I(NPTP,JLEV)
     ENDDO
   ENDIF
-  CALL ARO_CONVBU(KFDIA,KLEV,NRR,ZRHODJM__(:,1:KLEV),ZRS_,ZTHS__(:,1:KLEV), &
-   & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH)
+  CALL ARO_CONVBU(YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NRR, ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG), ZRS_, &
+  & ZTHS__(:, 1:YDCPG_OPTS%KFLEVG), YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH)
 
 ENDIF
 
 !    ------------------------------------------------------------------
-!     8 - SURFACE. 
+!     8 - SURFACE.
 !     --------------------------------------------------------------------
 
 IF (LLMSE) THEN
-! A loop around SURFEX in order to test OpenMP
-
-  SURFEX_LOOP : DO ISURFEX = 1, NSURFEX_ITER
-
-! Initialisations 
+! Initialisations
 
-  DO JLON=KIDIA,KFDIA
-    ZZS_(JLON)=POROG(JLON)*ZINVG 
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZZS_(JLON)=YDVARS%GEOMETRY%OROG%T0(JLON)*ZINVG 
   ENDDO
-  DO JLEV = 1,KLEV
-    DO JLON=KIDIA,KFDIA
-      ZDEPTH_HEIGHT_(JLON,JLEV)=ZZZ_F_(JLON,JLEV)-ZZS_(JLON)  
+  DO JLEV = 1,YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZDEPTH_HEIGHT_(JLON,JLEV)=ZZZ_F_(JLON,JLEV)-ZZS_(JLON)
     ENDDO
   ENDDO
-  IF (MINVAL(ZDEPTH_HEIGHT_(KIDIA:KFDIA,IKB)) <= 0._JPRB) THEN
-    DO JLON=KIDIA,KFDIA
+  IF (MINVAL(ZDEPTH_HEIGHT_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,IKB)) <= 0._JPRB) THEN
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       IF (ZDEPTH_HEIGHT_(JLON,IKB) <= 0._JPRB) THEN
-        WRITE (NULOUT,*)'sous apl_arome pb height en', JLON,ZAPHIFM(JLON,KLEV),POROG(JLON)
+        WRITE (NULOUT,*)'sous apl_arome pb height en', JLON,ZAPHIFM(JLON,YDCPG_OPTS%KFLEVG),YDVARS%GEOMETRY%OROG%T0(JLON)
       ENDIF
     ENDDO
   ENDIF
   ! Can't use a section of pointer. An explicit copy shows, by the way, that a copy is needed
   ! because data is not contiguous. REK
-  ZSVMB_(KIDIA:KFDIA,1:NGFL_EXT)=ZSVM_(KIDIA:KFDIA,IKB,1:NGFL_EXT)
-
-  IF (LSURFEX_CRITICAL) THEN
-
-!$OMP CRITICAL (ARO_GROUND_PARAM_LOCK)
-
-    IF (LLMSE_PARAM) THEN
-      CALL ARO_GROUND_PARAM( KBL,KGPCOMP,&
-       & KFDIA,KIDIA,KFDIA,KSTEP,&
-       & NRR,NSW,NGFL_EXT,NDGUNG, NDGUXG, NDLUNG, NDLUXG,LSURFEX_KFROM,&
-       & LMPA,CCOUPLING,LDXFUMSE,&
-       & NINDAT,ZRHGMT,ZSTATI,RSOVR,RCODEC,RSIDEC,&
-       & PINDX(KIDIA:KFDIA),PINDY(KIDIA:KFDIA),&
-       & ZUM__(:,IKB),&
-       & ZVM__(:,IKB),&
-       & ZTM(KIDIA:KFDIA,KLEV),ZRM_(:,IKB,1),&
-       & ZSVMB_,&
-       & RCARDI,ZRHODREFM__(:,IKB),&
-       & ZPABSM__(:,IKB),PAPRSM(KIDIA:KFDIA,KLEV),&
-       & ZDTMSE,ZDEPTH_HEIGHT_(:,IKB),ZZS_, XZSEPS,&
-       & PMU0(KIDIA:KFDIA),PMU0N(KIDIA:KFDIA),PGELAM(KIDIA:KFDIA),&
-       & PGEMU(KIDIA:KFDIA),XSW_BANDS,&
-       & ZINPRR_NOTINCR_,ZINPRS_NOTINCR_,&
-       & ZINPRG_NOTINCR_,&
-       & PFRTHDS(KIDIA:KFDIA),ZZS_FSWDIF(KIDIA:KFDIA,1:NSW),&
-       & ZZS_FSWDIR(KIDIA:KFDIA,1:NSW),&
-       & ZCFAQ_, ZCFATH_, ZCFAU_,ZCFBQ_, ZCFBTH_, ZCFBU_,ZCFBV_,&
-       & ZSFTH_,ZSFRV_,&
-       & ZSFSV_,ZSFCO2_,&
-       & ZSFU_,ZSFV_,&
-       & ZALBP(KIDIA:KFDIA,1:NSW),ZALBD(KIDIA:KFDIA,1:NSW),&
-       & ZEMIS(KIDIA:KFDIA),ZTSURF(KIDIA:KFDIA),PFRTH(KIDIA:KFDIA,KLEV,1))
-
-    ENDIF
-
-    IF (LRCO2) THEN
-      ZSFSV_(KIDIA:KFDIA,NSV_CO2)= ZSFCO2_(KIDIA:KFDIA)
-!print*,' FLUX CO2 =', MINVAL(ZSFSV_(KIDIA:KFDIA,NSV_CO2)),&
-!                    & MAXVAL(ZSFSV_(KIDIA:KFDIA,NSV_CO2))
-    ENDIF
-
-!!!!! TEST DDH ATTENTION
-!ZSFRV_(KIDIA:KFDIA) = 0._JPRB
-
-    IF (LLMSE_DIAG) THEN
-
-      CALL ARO_GROUND_DIAG( KBL, KGPCOMP,&
-       & KFDIA,KIDIA,KFDIA,KLEV, IKL,&
-       & NDGUNG, NDGUXG, NDLUNG, NDLUXG, LSURFEX_KFROM,&
-       & ZZS_,ZSFRV_,&
-       & ZUM__(:,IKTB:IKTE),&
-       & ZVM__(:,IKTB:IKTE),&
-       & ZDEPTH_HEIGHT_(:,IKTB:IKTE),&
-       & PFRTH(KIDIA:KFDIA,KLEV,1),PFRSO(KIDIA:KFDIA,KLEV,1),&
-       & PINDX(KIDIA:KFDIA),PINDY(KIDIA:KFDIA),&
-       & ZQS(KIDIA:KFDIA),ZGZ0_,ZGZ0H_,&
-       & PTCLS(KIDIA:KFDIA),PQCLS(KIDIA:KFDIA),PHUCLS(KIDIA:KFDIA),&
-       & PUCLS(KIDIA:KFDIA),PVCLS(KIDIA:KFDIA),&
-       & PNUCLS(KIDIA:KFDIA),PNVCLS(KIDIA:KFDIA),&
-       & PFCLL(KIDIA:KFDIA,1),PFCLN(KIDIA:KFDIA,1),&
-       & PFEVL(KIDIA:KFDIA,1),PFEVN(KIDIA:KFDIA,1),&
-       & ZSSO_STDEV_, PSPSG(KIDIA:KFDIA),&
-       & ZBUDTH_, ZBUDSO_,&
-       & ZFCLL_, ZTOWNS_,&
-       & ZCD_                         )
-      CALL ARO_GROUND_DIAG_2ISBA( KBL, KGPCOMP, &
-       & KFDIA, KIDIA, KFDIA, &
-       & NDGUNG, NDGUXG, NDLUNG, NDLUXG, LSURFEX_KFROM, &
-       & PINDX(KIDIA:KFDIA), PINDY(KIDIA:KFDIA), &
-       & PLSM, ZDUMMY1, ZDUMMY1, ZDUMMY1, ZTSURF(KIDIA:KFDIA), PSPSG(KIDIA:KFDIA), &
-       & ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), &
-       & ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), &
-       & ZDUMMY1(KIDIA:KFDIA), PSPSGR(KIDIA:KFDIA), ZDUMMY1 )
-
-    ENDIF
- 
-!$OMP END CRITICAL (ARO_GROUND_PARAM_LOCK)
-  ELSE
-
-    IF (LLMSE_PARAM) THEN
-
-      CALL ARO_GROUND_PARAM( KBL,KGPCOMP,&
-       & KFDIA,KIDIA,KFDIA,KSTEP,&
-       & NRR,NSW,NGFL_EXT,NDGUNG, NDGUXG, NDLUNG, NDLUXG,LSURFEX_KFROM,&
-       & LMPA,CCOUPLING,LDXFUMSE,&
-       & NINDAT,ZRHGMT,ZSTATI,RSOVR,RCODEC,RSIDEC,&
-       & PINDX(KIDIA:KFDIA),PINDY(KIDIA:KFDIA),&
-       & ZUM__(:,IKB),&
-       & ZVM__(:,IKB),&
-       & ZTM(KIDIA:KFDIA,KLEV),ZRM_(:,IKB,1),&
-       & ZSVMB_,&
-       & RCARDI,ZRHODREFM__(:,IKB),&
-       & ZPABSM__(:,IKB),PAPRSM(KIDIA:KFDIA,KLEV),&
-       & ZDTMSE,ZDEPTH_HEIGHT_(:,IKB),ZZS_, XZSEPS,&
-       & PMU0(KIDIA:KFDIA),PMU0N(KIDIA:KFDIA),PGELAM(KIDIA:KFDIA),&
-       & PGEMU(KIDIA:KFDIA),XSW_BANDS,&
-       & ZINPRR_NOTINCR_,ZINPRS_NOTINCR_,&
-       & ZINPRG_NOTINCR_,&
-       & PFRTHDS(KIDIA:KFDIA),ZZS_FSWDIF(KIDIA:KFDIA,1:NSW),&
-       & ZZS_FSWDIR(KIDIA:KFDIA,1:NSW),&
-       & ZCFAQ_, ZCFATH_, ZCFAU_,ZCFBQ_, ZCFBTH_, ZCFBU_,ZCFBV_,&
-       & ZSFTH_,ZSFRV_,&
-       & ZSFSV_,ZSFCO2_,&
-       & ZSFU_,ZSFV_,&
-       & ZALBP(KIDIA:KFDIA,1:NSW),ZALBD(KIDIA:KFDIA,1:NSW),&
-       & ZEMIS(KIDIA:KFDIA),ZTSURF(KIDIA:KFDIA),PFRTH(KIDIA:KFDIA,KLEV,1))
+  ZSVMB_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:NGFL_EXT)=ZSVM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,IKB,1:NGFL_EXT)
+
+  IF (LLMSE_PARAM) THEN
+
+      CALL ARO_GROUND_PARAM( YDCPG_BNDS%KBL, YDCPG_OPTS%KGPCOMP, YDCPG_BNDS%KFDIA, YDCPG_BNDS%KIDIA,                                                                     &
+      & YDCPG_BNDS%KFDIA, YDCPG_OPTS%KSTEP, NRR, NSW, NGFL_EXT, NDGUNG, NDGUXG, NDLUNG, NDLUXG,                                                                          &
+      & LSURFEX_KFROM, LMPA, CCOUPLING, LLXFUMSE, NINDAT, ZRHGMT, ZSTATI, RSOVR, RCODEC, RSIDEC, YDVARS%GEOMETRY%RINDX%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),            &
+      & YDVARS%GEOMETRY%RINDY%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZUM__(:, IKB), ZVM__(:, IKB), ZTM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG),            &
+      & ZRM_(:, IKB, 1), ZSVMB_, RCARDI, ZRHODREFM__(:, IKB), ZPABSM__(:, IKB), YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG), &
+      & ZDTMSE, ZDEPTH_HEIGHT_(:, IKB), ZZS_, XZSEPS, ZRDG_MU0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZRDG_MU0N(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                         &
+      & YDVARS%GEOMETRY%GELAM%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDVARS%GEOMETRY%GEMU%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                                         &
+      & XSW_BANDS, ZINPRR_NOTINCR_, ZINPRS_NOTINCR_, ZINPRG_NOTINCR_, YDMF_PHYS%OUT%FRTHDS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                                           &
+      & ZZS_FSWDIF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:NSW), ZZS_FSWDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:NSW),                                                      &
+      & ZCFAQ_, ZCFATH_, ZCFAU_, ZCFBQ_, ZCFBTH_, ZCFBU_, ZCFBV_, ZSFTH_, ZSFRV_, ZSFSV_, ZSFCO2_,                                                                       &
+      & ZSFU_, ZSFV_, ZALBP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:NSW), ZALBD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:NSW),                                                  &
+      & ZEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS%OUT%FRTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, 1) &
+      &     )
 
-    ENDIF
+  ENDIF
 
-    IF (LRCO2) THEN
-      ZSFSV_(KIDIA:KFDIA,NSV_CO2)= ZSFCO2_(KIDIA:KFDIA)
-!print*,' FLUX CO2 =', MINVAL(ZSFSV_(KIDIA:KFDIA,NSV_CO2)),&
-!                    & MAXVAL(ZSFSV_(KIDIA:KFDIA,NSV_CO2))
-    ENDIF
+  IF (LRCO2) THEN
+      ZSFSV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,NSV_CO2)= ZSFCO2_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+!print*,' FLUX CO2 =', MINVAL(ZSFSV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,NSV_CO2)),&
+!                    & MAXVAL(ZSFSV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,NSV_CO2))
+  ENDIF
 
 !!!!! TEST DDH ATTENTION
-!ZSFRV_(KIDIA:KFDIA) = 0._JPRB
-
-    IF (LLMSE_DIAG) THEN
-
-      CALL ARO_GROUND_DIAG( KBL, KGPCOMP,&
-       & KFDIA,KIDIA,KFDIA,KLEV, IKL,&
-       & NDGUNG, NDGUXG, NDLUNG, NDLUXG, LSURFEX_KFROM,&
-       & ZZS_,ZSFRV_,&
-       & ZUM__(:,IKTB:IKTE),&
-       & ZVM__(:,IKTB:IKTE),&
-       & ZDEPTH_HEIGHT_(:,IKTB:IKTE),&
-       & PFRTH(KIDIA:KFDIA,KLEV,1),PFRSO(KIDIA:KFDIA,KLEV,1),&
-       & PINDX(KIDIA:KFDIA),PINDY(KIDIA:KFDIA),&
-       & ZQS(KIDIA:KFDIA),ZGZ0_,ZGZ0H_,&
-       & PTCLS(KIDIA:KFDIA),PQCLS(KIDIA:KFDIA),PHUCLS(KIDIA:KFDIA),&
-       & PUCLS(KIDIA:KFDIA),PVCLS(KIDIA:KFDIA),&
-       & PNUCLS(KIDIA:KFDIA),PNVCLS(KIDIA:KFDIA),&
-       & PFCLL(KIDIA:KFDIA,1),PFCLN(KIDIA:KFDIA,1),&
-       & PFEVL(KIDIA:KFDIA,1),PFEVN(KIDIA:KFDIA,1),&
-       & ZSSO_STDEV_, PSPSG(KIDIA:KFDIA),&
-       & ZBUDTH_, ZBUDSO_,&
-       & ZFCLL_, ZTOWNS_,&
-       & ZCD_                         )
-
-      CALL ARO_GROUND_DIAG_2ISBA( KBL, KGPCOMP, &
-       & KFDIA, KIDIA, KFDIA, &
-       & NDGUNG, NDGUXG, NDLUNG, NDLUXG, LSURFEX_KFROM, &
-       & PINDX(KIDIA:KFDIA), PINDY(KIDIA:KFDIA), &
-       & PLSM, ZDUMMY1, ZDUMMY1, ZDUMMY1, ZTSURF(KIDIA:KFDIA), PSPSG(KIDIA:KFDIA), &
-       & ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), &
-       & ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), ZDUMMY1(KIDIA:KFDIA), &
-       & ZDUMMY1(KIDIA:KFDIA), PSPSGR(KIDIA:KFDIA), ZDUMMY1 )
+!ZSFRV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA) = 0._JPRB
+
+  IF (LLMSE_DIAG) THEN
+
+      CALL ARO_GROUND_DIAG( YDCPG_BNDS%KBL, YDCPG_OPTS%KGPCOMP, YDCPG_BNDS%KFDIA, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA,                             &
+      & YDCPG_OPTS%KFLEVG, IKL, NDGUNG, NDGUXG, NDLUNG, NDLUXG, LSURFEX_KFROM, ZZS_, ZSFRV_, ZUM__(:, IKTB:IKTE),                                 &
+      & ZVM__(:, IKTB:IKTE), ZDEPTH_HEIGHT_(:, IKTB:IKTE), YDMF_PHYS%OUT%FRTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, 1),           &
+      & YDMF_PHYS%OUT%FRSO(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, 1), YDVARS%GEOMETRY%RINDX%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), &
+      & YDVARS%GEOMETRY%RINDY%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZQS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                                      &
+      & ZGZ0_, ZGZ0H_, YDMF_PHYS%OUT%TCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS%OUT%QCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),              &
+      & YDMF_PHYS%OUT%RHCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS%OUT%UCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                            &
+      & YDMF_PHYS%OUT%VCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS%OUT%NUCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                            &
+      & YDMF_PHYS%OUT%NVCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS%OUT%FCLL(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1),                         &
+      & YDMF_PHYS%OUT%FCLN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1), YDMF_PHYS%OUT%FEVL(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1),                       &
+      & YDMF_PHYS%OUT%FEVN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1), ZSSO_STDEV_, YDMF_PHYS_SURF%GSP_SG%PF_T1,                                       &
+      & ZBUDTH_, ZBUDSO_, ZFCLL_, ZTOWNS_, ZCD_, YDMF_PHYS%OUT%SIC(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA))
+
+      CALL ARO_GROUND_DIAG_2ISBA( YDCPG_BNDS%KBL, YDCPG_OPTS%KGPCOMP, YDCPG_BNDS%KFDIA, YDCPG_BNDS%KIDIA,                                   &
+      & YDCPG_BNDS%KFDIA, NDGUNG, NDGUXG, NDLUNG, NDLUXG, LSURFEX_KFROM, YDVARS%GEOMETRY%RINDX%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),       &
+      & YDVARS%GEOMETRY%RINDY%T0(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS_SURF%GSD_VF%PLSM,                                            &
+      & ZDUMMY1, ZDUMMY1, ZDUMMY1, ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS_SURF%GSP_SG%PF_T1,                                  &
+      & ZTP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZWS2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZWP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), &
+      & ZWSI2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZWPI2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZWR2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), &
+      & ZDUMMY1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDMF_PHYS_SURF%GSP_SG%PR_T1, ZDUMMY1 )
  
-    ENDIF
-
   ENDIF
 
-  ENDDO SURFEX_LOOP
 
 !* Compute PBL-diagnostics
 
    ZCAPE(:)=0._JPRB
-   ZDCAPE(:)=0._JPRB   
-   CALL ACCLDIA(YDXFU,YDPHY,YDMODEL%YRML_PHY_MF%YRPHY2,YDTOPH, KIDIA,KFDIA,KLON,KLEV,PUCLS,&
-    & PVCLS,PUM(:,1:KLEV),PVM(:,1:KLEV), ZCAPE,ZDCAPE,ZTKEM(:,1:KLEV),PAPHIFM(:,1:KLEV),POROG,&
-    & PUGST,PVGST,PPBLH,ICLPH)
+   ZDCAPE(:)=0._JPRB
+   CALL ACCLDIA(YDCST, YDCPG_OPTS%LXCLP, YDCPG_OPTS%LXTGST, YDCPG_OPTS%LXXGST, YDPHY, YDMODEL%YRML_PHY_MF%YRPHY2, YDTOPH, YDCPG_BNDS%KIDIA,            &
+   & YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDMF_PHYS%OUT%UCLS, YDMF_PHYS%OUT%VCLS, YDMF_PHYS_BASE_STATE%U(:, 1:YDCPG_OPTS%KFLEVG),             &
+   & YDMF_PHYS_BASE_STATE%V(:, 1:YDCPG_OPTS%KFLEVG), ZCAPE, ZDCAPE, ZTKEM(:, 1:YDCPG_OPTS%KFLEVG), YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF(:, 1:YDCPG_OPTS%KFLEVG), &
+   & YDVARS%GEOMETRY%OROG%T0, YDMF_PHYS%OUT%UGST, YDMF_PHYS%OUT%VGST, YDMF_PHYS%OUT%CLPH, ICLPH)
 
-   PPBLH(KIDIA:KFDIA)=MIN(XMAXLM,MAX(XMINLM,PPBLH(KIDIA:KFDIA))) 
+   YDMF_PHYS%OUT%CLPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=MIN(XMAXLM,MAX(XMINLM,YDMF_PHYS%OUT%CLPH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA))) 
 
-   CALL ACVISIH(YDVISI,KIDIA,KFDIA,KLON,KTDIA,KLEV,PAPHIM,PAPHIFM,PAPRSFM,&
-    & ZTM,ZRHM,ZQCM,ZQIM,ZQRM,ZQSM,ZQGM,PVISICLD, PVISIHYDRO,PMXCLWC)
+   CALL ACVISIH(YDCST, YDVISI, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KTDIA, YDCPG_OPTS%KFLEVG, &
+   & YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI, YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF, YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF,                  &
+   & ZTM, ZRHM, ZQCM, ZQIM, ZQRM, ZQSM, ZQGM, YDMF_PHYS%OUT%VISICLD, YDMF_PHYS%OUT%VISIHYD, YDMF_PHYS%OUT%MXCLWC                 &
+   &                         )
 
 ELSE
 
-  ZSFSV_(KIDIA:KFDIA,:)=0._JPRB
+  ZSFSV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=0._JPRB
 
 ENDIF    !  <== End block "IF (LMSE)"
 
@@ -2806,14 +2592,14 @@ ENDIF    !  <== End block "IF (LMSE)"
 !                --------------------------------------------------------
 
 IF (LSQUALL.AND.LTURB) THEN
-  ! on n'a besoin que d'un flux sur V (U est nul). 
-  DO JLON=KIDIA,KFDIA
+  ! on n'a besoin que d'un flux sur V (U est nul).
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     IF (ABS(ZVM__(JLON,IKB)) <= 1.E-12) THEN
       ZSFV_(JLON)=0._JPRB
     ELSE
       ZSFV_(JLON)=-(ZVM__(JLON,IKB))**2 *&
        & (0.4_JPRB  /(LOG(ZZZ_F_(JLON,IKB)/0.2_JPRB) ) )**2&
-       & *ZVM__(JLON,IKB)/ABS(ZVM__(JLON,IKB))  
+       & *ZVM__(JLON,IKB)/ABS(ZVM__(JLON,IKB))
     ENDIF
   ENDDO
 ENDIF
@@ -2822,7 +2608,6 @@ ENDIF
 !    9.  Shallow Mass Flux Mixing
 !    ------------------------------------------------------------------
 
-
 IF (LMFSHAL) THEN
   IF (CMF_UPDRAFT=='DUAL') THEN
     ! Updraft computation from EDMF/ECMWF dual proposal
@@ -2834,28 +2619,42 @@ IF (LMFSHAL) THEN
                ! only 2 and 3 are used for tendency computation in ARO_SHALLOW_MF
     INDRAFT=3   ! 1 for test, 2 for dry, 3 for wet
 
-    IF (KMAXDRAFT < INDRAFT) THEN
+    IF (YDCPG_OPTS%KMAXDRAFT < INDRAFT) THEN
       CALL ABOR1('APL_AROME : KMAXDRAFT TOO SMALL !')
     ENDIF
 
-    DO JLON = KIDIA, KFDIA
-      ZZS_FTH_(JLON)=-1._JPRB*ZSFTH_(JLON)*(PAPRSM(JLON,KLEV)*ZINVATM)**(ZRSCP)
+    DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+      ZZS_FTH_(JLON)=-1._JPRB*ZSFTH_(JLON)*(YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(JLON,YDCPG_OPTS%KFLEVG)*ZINVATM)**(ZRSCP)
       ZZS_FRV_(JLON)=-1._JPRB*ZSFRV_(JLON)
     ENDDO
-    ZZS_FU_(KIDIA:KFDIA)=ZSFU_(KIDIA:KFDIA)
-    ZZS_FV_(KIDIA:KFDIA)=ZSFV_(KIDIA:KFDIA)
+    ZZS_FU_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZSFU_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    ZZS_FV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZSFV_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      ZZEXNREFM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZEXNREFM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+    ENDDO
+
+    ! If OCND2 and non-LIMA microphysics use water or mixed-phase cloud fraction for VDFHGHTHL, else use cloud fraction YDVARS%A%T1
+    IF (LOCND2.AND.LMICRO.AND.CMICRO/='LIMA') THEN
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZZWCLDFR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV) = ZWCLDFR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+      ENDDO
+    ELSE
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZZWCLDFR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV) = YDVARS%A%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+      ENDDO
+    ENDIF
 
     !  IF LHARATU=TRUE then TKE at t-dt is needed as input for vdfexcuhl so fill ZTKEEDMF with t-1 value  from PTKEM
 
     IF (LHARATU) THEN
-      DO JLEV=1,KLEV
-        ZTKEEDMF(KIDIA:KFDIA,JLEV)=ZTKEM(KIDIA:KFDIA,JLEV)
-        ZLENGTH_M(KIDIA:KFDIA,JLEV)=0.01_JPRB
-        ZLENGTH_H(KIDIA:KFDIA,JLEV)=0.01_JPRB
-      ENDDO
-      IF (MAXVAL(ZTKEM(KIDIA:KFDIA,1:KLEV)) > 3300._JPRB) THEN
-        DO JLEV=1, KLEV
-          DO JLON = KIDIA, KFDIA
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZTKEEDMF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZTKEM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+        ZLENGTH_M(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.01_JPRB
+        ZLENGTH_H(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0.01_JPRB
+      ENDDO
+      IF (MAXVAL(ZTKEM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)) > 3300._JPRB) THEN
+        DO JLEV=1, YDCPG_OPTS%KFLEVG
+          DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
             IF (ZTKEM(JLON,JLEV) > 3300._JPRB) THEN
               WRITE (NULOUT,*) 'TKE > 3300 ! '
             ENDIF
@@ -2864,44 +2663,42 @@ IF (LMFSHAL) THEN
       ENDIF
     ENDIF
 
-    CALL VDFHGHTHL(YDMODEL%YRML_PHY_G%YRVDF,YDMODEL%YRML_PHY_SLIN%YREPHLI, &
-     & YDMODEL%YRML_PHY_EC%YRECUMF,YDMODEL%YRML_PHY_EC%YREPHY,YDPARAR, &
-     & KSTEP,KIDIA,KFDIA,KLON,KLEV,INDRAFT,&
-     & PDT, PUM, PVM,&
-     & ZTM,ZQVM,ZQCM,ZQIM,PCLFS,&
-     & PAPRSM, PAPRSFM, ZAPHIFM,ZAPHIM,&
-     & ZZS_FTH_,ZZS_FRV_,ZZS_FU_,ZZS_FV_,&
-     & ZMF_UP,ZTHETAL_UP,ZQT_UP,ZTHTV_UP,ZQC_UP,ZQI_UP,&
-     & ZU_UP, ZV_UP,&
-     & PGP2DSPP, NGFL_EZDIAG, PEZDIAG, &
-     & ZTENDQVUP,ZTENDTUP,ZSURFPREP,ZSURFSNOW, &
-     & ZUPGENL,ZUPGENN, ZCLFR, &
-     & ZLENGTH_M, ZLENGTH_H, ZTKEEDMF)
+    CALL VDFHGHTHL(YDMODEL%YRML_PHY_G%YRVDF, YDMODEL%YRML_PHY_SLIN%YREPHLI, YDMODEL%YRML_PHY_EC%YRECUMF,          &
+    & YDMODEL%YRML_PHY_EC%YREPHY, YDPARAR, YDCPG_OPTS%KSTEP, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, &
+    & YDCPG_OPTS%KFLEVG, INDRAFT, YDCPG_OPTS%ZDTPHY, YDMF_PHYS_BASE_STATE%U, YDMF_PHYS_BASE_STATE%V, ZTM, ZQVM,              &
+    & ZQCM, ZQIM, ZZWCLDFR, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF,             &
+    & ZAPHIFM, ZAPHIM, ZZEXNREFM, ZZS_FTH_, ZZS_FRV_, ZZS_FU_, ZZS_FV_, ZMF_UP, ZTHETAL_UP, ZQT_UP, ZTHTV_UP,                &
+    & ZQC_UP, ZQI_UP, ZU_UP, ZV_UP, &
+    & ZSPP_ALL%YSPP_CLDDPTH,ZSPP_ALL%YSPP_CLDDPTHDP, &
+    & ZSPP_ALL%YSPP_RFAC_TWOC,ZSPP_ALL%YSPP_RZC_H,ZSPP_ALL%YSPP_RZL_INF, &
+    & ZTENDQVUP, ZTENDTUP, ZSURFPREP,             &
+    & ZSURFSNOW, ZUPGENL, ZUPGENN, ZCLFR, ZLENGTH_M, ZLENGTH_H, ZTKEEDMF)
+
 
     !  tendtup, tendqvup  tendencies for non-conserved AROME
     !  variables due to updraft precipitation/snow (and its evaporation)
-    DO JLEV = 2 ,KLEV
-      DO JLON = KIDIA,KFDIA
-        PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV) + ZTENDTUP(JLON,JLEV)
-        PTENDR(JLON,JLEV,1)=PTENDR(JLON,JLEV,1) + ZTENDQVUP(JLON,JLEV)
+    DO JLEV = 2 ,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV) + ZTENDTUP(JLON,JLEV)
+        ZTEND_Q(JLON,JLEV)=ZTEND_Q(JLON,JLEV) + ZTENDQVUP(JLON,JLEV)
       ENDDO
     ENDDO
-    
-    IF(LTOTPREC)THEN
+
+    IF (LTOTPREC.OR.LTOTPRECL) THEN
       !Add rain and snow tendencies from the sub-grid scheme to tendencies and sources,
-      !at all vertical levels, instead of diagnosing only surface precip. 
-      ZSURFPREP(KIDIA:KFDIA)=0.0_JPRB
-      ZSURFSNOW(KIDIA:KFDIA)=0.0_JPRB
-      DO JLEV= 1, KLEV
-        DO JLON = KIDIA, KFDIA
+      !at all vertical levels, instead of diagnosing only surface precip.
+      ZSURFPREP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0.0_JPRB
+      ZSURFSNOW(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0.0_JPRB
+      DO JLEV= 1, YDCPG_OPTS%KFLEVG
+        DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
           !Add rain and snow to sources:
           ZRS_(JLON,JLEV,3)=ZRS_(JLON,JLEV,3)+ZUPGENL(JLON,JLEV)
           ZRS_(JLON,JLEV,5)=ZRS_(JLON,JLEV,5)+ZUPGENN(JLON,JLEV)
           ZTHS__(JLON,JLEV)=ZTHS__(JLON,JLEV)+ZTENDTUP(JLON,JLEV)*(RATM/&
-           & PAPRSFM(JLON,JLEV))**(RD/RCPD)
+           & YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,JLEV))**(RD/RCPD)
           !Update rain/snow tendencies:
-          PTENDR(JLON,JLEV,3)=PTENDR(JLON,JLEV,3)+ZUPGENL(JLON,JLEV)
-          PTENDR(JLON,JLEV,5)=PTENDR(JLON,JLEV,5)+ZUPGENN(JLON,JLEV)
+          ZTEND_R(JLON,JLEV)=ZTEND_R(JLON,JLEV)+ZUPGENL(JLON,JLEV)
+          ZTEND_S(JLON,JLEV)=ZTEND_S(JLON,JLEV)+ZUPGENN(JLON,JLEV)
         ENDDO
       ENDDO 
     ENDIF
@@ -2909,8 +2706,8 @@ IF (LMFSHAL) THEN
   ELSE
     IDRAFT=3 ! only a wet updraft
     INDRAFT=1
-    ZSURFPREP(KIDIA:KFDIA)=0._JPRB
-    ZSURFSNOW(KIDIA:KFDIA)=0._JPRB
+    ZSURFPREP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+    ZSURFSNOW(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
   ENDIF
 
   DO JDRAFT=IDRAFT,3
@@ -2927,8 +2724,8 @@ IF (LMFSHAL) THEN
     IF (CMF_UPDRAFT=='DUAL') THEN
       ! Goes from one of the updraft from the IFS level world to the Méso-NH level world
       ! go from q to r)
-      DO JLEV = 1,KLEV
-        DO JLON = KIDIA,KFDIA
+      DO JLEV = 1,YDCPG_OPTS%KFLEVG
+        DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
           ZMF_UP__(JLON,JLEV) = ZMF_UP(JLON,JLEV,JDRAFT)
           ZZU_UP_(JLON,JLEV) = ZU_UP(JLON,JLEV,JDRAFT)
           ZZV_UP_(JLON,JLEV) = ZV_UP(JLON,JLEV,JDRAFT)
@@ -2939,11 +2736,11 @@ IF (LMFSHAL) THEN
           ZRI_UP_(JLON,JLEV)  = ZQI_UP(JLON,JLEV,JDRAFT)/(1.-ZQT_UP(JLON,JLEV,JDRAFT))
         ENDDO
       ENDDO
-      ZZW_UP_(KIDIA:KFDIA,1:IKT)=0._JPRB
-      ZZFRAC_UP_(KIDIA:KFDIA,1:IKT)=0._JPRB
+      ZZW_UP_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:IKT)=0._JPRB
+      ZZFRAC_UP_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:IKT)=0._JPRB
       IF (LHARATU) THEN
-        DO JLEV = 1,KLEV
-          DO JLON = KIDIA,KFDIA
+        DO JLEV = 1,YDCPG_OPTS%KFLEVG
+          DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
             ZLENGTHM__(JLON,JLEV) = MAX(0.01_JPRB,ZLENGTH_M(JLON,JLEV))
             ZLENGTHH__(JLON,JLEV) = MAX(0.01_JPRB,ZLENGTH_H(JLON,JLEV))
             ! TKE should be bigger than a minimum value:
@@ -2952,82 +2749,76 @@ IF (LMFSHAL) THEN
         ENDDO
       ENDIF
     ENDIF
-    IF(MOD(KSTEP+1,NPRINTFR)==0) THEN
+    IF(MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
       WRITE(NULOUT,*)"apres surface zsfth zsfrv",ZSFTH_(NPTP),ZSFRV_(NPTP)
     ENDIF
 
-    DO JLEV = 1, KLEV 
-      ZRC_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
-      ZRI_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
-      ZCF_MF_(KIDIA:KFDIA,JLEV)=0._JPRB
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG 
+      ZRC_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+      ZRI_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+      ZCF_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
     ENDDO
 
     IF (JDRAFT == IDRAFT) THEN
       ! Fill the sum at the first iteration
-      ZARG_FLXZTHVMF_ => ZFLXZTHVMF_SUM__(:,1:KLEV)
+      ZARG_FLXZTHVMF_ => ZFLXZTHVMF_SUM__(:,1:YDCPG_OPTS%KFLEVG)
     ELSE
       ! increment
-      ZARG_FLXZTHVMF_ => ZFLXZTHVMF_(:,1:KLEV)
+      ZARG_FLXZTHVMF_ => ZFLXZTHVMF_(:,1:YDCPG_OPTS%KFLEVG)
     ENDIF
 
-    CALL ARO_SHALLOW_MF (KKL=IKL, KLON=KFDIA, KLEV=KLEV, KFDIA=KFDIA, KRR=NRR, KRRL=NRRL,&
-     & KRRI=NRRI,KSV=NGFL_EXT,HMF_UPDRAFT=CMF_UPDRAFT, HMF_CLOUD=CMF_CLOUD,&
-     & HFRAC_ICE=CFRAC_ICE_SHALLOW_MF,&
-     & OMIXUV=LMIXUV, ONOMIXLG=.FALSE.,KSV_LGBEG=0,KSV_LGEND=0,&
-     & KTCOUNT=KSTEP+1, PTSTEP=ZDT,&
-     & PDX=YDGEOMETRY%YREGEO%EDELX, PDY=YDGEOMETRY%YREGEO%EDELY,&
-     & PZZ=ZZZ_,PZZF=ZZZ_F_,&
-     & PDZZF=ZDZZ_F_,&
-     & PRHODJ=ZRHODJM__(:,1:KLEV),&
-     & PRHODREF=ZRHODREFM__(:,1:KLEV),&
-     & PPABSM=ZPABSM__(:,1:KLEV),&
-     & PEXNM=ZEXNREFM_,&
-     & PSFTH=ZSFTH_,PSFRV=ZSFRV_,&
-     & PTHM=ZTHM__(:,1:KLEV),PRM=ZRM_,&
-     & PUM=ZUM__(:,1:KLEV),PVM=ZVM__(:,1:KLEV),&
-     & PTKEM=ZTKEM__(:,1:KLEV),PSVM=ZSVM_,&
-     & PDUDT_MF=ZMFUS_,PDVDT_MF=ZMFVS_,&
-     & PDTHLDT_MF=ZTHLS_,PDRTDT_MF=ZRTS_,&
-     & PDSVDT_MF=ZSVXXX_,&
-     & PSIGMF=ZSIGMF_,PRC_MF=ZRC_MF_,&
-     & PRI_MF=ZRI_MF_,&
-     & PCF_MF=ZCF_MF_,PFLXZTHVMF=ZARG_FLXZTHVMF_,&
-     & PTHL_UP=ZTHETAL_UP_,PRT_UP= ZRT_UP_,&
-     & PRV_UP=ZZRV_UP_,&
-     & PRC_UP=ZRC_UP_,PRI_UP=ZRI_UP_,&
-     & PU_UP=ZZU_UP_,PV_UP=ZZV_UP_,&
-     & PTHV_UP=ZTHETAV_UP_,PW_UP=ZZW_UP_,&
-     & PFRAC_UP=ZZFRAC_UP_,PEMF=ZMF_UP__(:,1:KLEV))
+    CALL ARO_SHALLOW_MF (KKL=IKL, KLON=YDCPG_BNDS%KFDIA, KLEV=YDCPG_OPTS%KFLEVG, KFDIA=YDCPG_BNDS%KFDIA, KRR=NRR, KRRL=NRRL,        &
+    & KRRI=NRRI, KSV=NGFL_EXT, HMF_UPDRAFT=CMF_UPDRAFT, HMF_CLOUD=CMF_CLOUD, HFRAC_ICE=CFRAC_ICE_SHALLOW_MF,                        &
+    & OMIXUV=LMIXUV, ONOMIXLG=.FALSE., KSV_LGBEG=0, KSV_LGEND=0, KTCOUNT=YDCPG_OPTS%KSTEP+1, PTSTEP=ZDT,                            &
+    & PDX=YDGEOMETRY%YREGEO%EDELX, PDY=YDGEOMETRY%YREGEO%EDELY,                                                                     &
+    & PZZ=ZZZ_, PZZF=ZZZ_F_, PDZZF=ZDZZ_F_, PRHODJ=ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG), PRHODREF=ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), &
+    & PPABSM=ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), PEXNM=ZEXNREFM_, PSFTH=ZSFTH_, PSFRV=ZSFRV_, PTHM=ZTHM__(:, 1:YDCPG_OPTS%KFLEVG),    &
+    & PRM=ZRM_, PUM=ZUM__(:, 1:YDCPG_OPTS%KFLEVG), PVM=ZVM__(:, 1:YDCPG_OPTS%KFLEVG), PTKEM=ZTKEM__(:, 1:YDCPG_OPTS%KFLEVG),        &
+    & PSVM=ZSVM_, PDUDT_MF=ZMFUS_, PDVDT_MF=ZMFVS_, PDTHLDT_MF=ZTHLS_, PDRTDT_MF=ZRTS_, PDSVDT_MF=ZSVXXX_,                          &
+    & PSIGMF=ZSIGMF_, PRC_MF=ZRC_MF_, PRI_MF=ZRI_MF_, PCF_MF=ZCF_MF_, PFLXZTHVMF=ZARG_FLXZTHVMF_, PTHL_UP=ZTHETAL_UP_,              &
+    & PRT_UP= ZRT_UP_, PRV_UP=ZZRV_UP_, PRC_UP=ZRC_UP_, PRI_UP=ZRI_UP_, PU_UP=ZZU_UP_, PV_UP=ZZV_UP_,                               &
+    & PTHV_UP=ZTHETAV_UP_, PW_UP=ZZW_UP_, PFRAC_UP=ZZFRAC_UP_, PEMF=ZMF_UP__(:, 1:YDCPG_OPTS%KFLEVG)                                &
+    & )
+
+    !wc No variance due to dry updraft yet.
+    ! Putting ZSIGMF to 0 for dry updraft might be obsolete 
+    IF (LSTATNW) THEN
+      IF (JDRAFT .EQ. 2) THEN
+        DO JLEV = 1,YDCPG_OPTS%KFLEVG
+          ZSIGMF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB
+        ENDDO
+      ENDIF
+    ENDIF
 
     IF (JDRAFT > IDRAFT) THEN
       ! Add increment
-      ZFLXZTHVMF_SUM__(KIDIA:KFDIA,1:KLEV)=ZFLXZTHVMF_SUM__(KIDIA:KFDIA,1:KLEV)+ZFLXZTHVMF_(KIDIA:KFDIA,1:KLEV)
+      ZFLXZTHVMF_SUM__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZFLXZTHVMF_SUM__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)+ZFLXZTHVMF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
     ENDIF
 
     ! traitement des sorties pour repasser dans le monde Aladin
 
     IF ((CMF_CLOUD=='DIRE'.OR.CMF_CLOUD=='BIGA').AND.JDRAFT==3) THEN
       ! sauvegarde pour le schema de nuage
-      DO JLEV = 1,KLEV
-        PEZDIAG(KIDIA:KFDIA,JLEV,1)=ZRC_MF_(KIDIA:KFDIA,JLEV)
-        PEZDIAG(KIDIA:KFDIA,JLEV,3)=ZRI_MF_(KIDIA:KFDIA,JLEV)
-        PEZDIAG(KIDIA:KFDIA,JLEV,2)=ZCF_MF_(KIDIA:KFDIA,JLEV)
+      DO JLEV = 1,YDCPG_OPTS%KFLEVG
+        ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,1)=ZRC_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+        ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,3)=ZRI_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
+        ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,2)=ZCF_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
       ENDDO
     ENDIF
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         ZUS__(JLON,JLEV)=ZUS__(JLON,JLEV)+ZMFUS_(JLON,JLEV)
         ZVS__(JLON,JLEV)=ZVS__(JLON,JLEV)+ZMFVS_(JLON,JLEV)
         ZTHS__(JLON,JLEV)=ZTHS__(JLON,JLEV)+ZTHLS_(JLON,JLEV)
         ZRS_(JLON,JLEV,1)=ZRS_(JLON,JLEV,1)+ZRTS_(JLON,JLEV)
         !calcul de tendance et inversion des niveaux pour le vent horizontal
-        PTENDU(JLON,JLEV)=PTENDU(JLON,JLEV)+ZMFUS_(JLON,JLEV)
-        PTENDV(JLON,JLEV)=PTENDV(JLON,JLEV)+ZMFVS_(JLON,JLEV)
+        YDMF_PHYS%OUT%TENDU(JLON,JLEV)=YDMF_PHYS%OUT%TENDU(JLON,JLEV)+ZMFUS_(JLON,JLEV)
+        YDMF_PHYS%OUT%TENDV(JLON,JLEV)=YDMF_PHYS%OUT%TENDV(JLON,JLEV)+ZMFVS_(JLON,JLEV)
         !conversion de la tendance de theta en tendance de T et inversion niveau
-        PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV)+ZTHLS_(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
-        ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+ZTHLS_(JLON,JLEV)
+        ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+ZTHLS_(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
+        ZTENDTT(JLON,JLEV)=ZTENDTT(JLON,JLEV)+ZTHLS_(JLON,JLEV)
         !inversion niveaux tendances des ri et conversion en qi en multipliant par qd
-        PTENDR(JLON,JLEV,1) = PTENDR(JLON,JLEV,1)+ZRTS_(JLON,JLEV)*ZQDM(JLON,JLEV)
+        ZTEND_Q(JLON,JLEV) = ZTEND_Q(JLON,JLEV)+ZRTS_(JLON,JLEV)*ZQDM(JLON,JLEV)
       ENDDO
     ENDDO
 
@@ -3049,11 +2840,11 @@ IF (LTURB) THEN
   CALL SWAP_SVS
   ! well let's keep the copy, though for now  OUT=IN anyway.
   IF (NGFL_EXT /=0 ) THEN
-    ZSVSIN_(KIDIA:KFDIA,1:KLEV,1:NGFL_EXT)=ZSVS_(KIDIA:KFDIA,1:KLEV,1:NGFL_EXT)
+    ZSVSIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NGFL_EXT)=ZSVS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NGFL_EXT)
   ENDIF
 
   !prints
-  IF(MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF(MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'avant d entrer dans turb sous apl_arome U'
     WRITE(NULOUT,*)MAXVAL(ZUM__(:,IKB)), MINVAL(ZUM__(:,IKB))
     WRITE(NULOUT,*)'avant d entrer dans turb sous apl_arome V'
@@ -3062,15 +2853,15 @@ IF (LTURB) THEN
     WRITE(NULOUT,*)MAXVAL(ZWM__(:,IKB)), MINVAL(ZWM__(:,IKB))
     WRITE(NULOUT,*)'avant d entrer dans turb sous apl_arome TKE'
     WRITE(NULOUT,*)MAXVAL(ZTKEM__(:,IKB)), MINVAL(ZTKEM__(:,IKB))
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,*)JLEV,ZUM__(NPTP,JLEV),ZVM__(NPTP,JLEV),ZWM__(NPTP,JLEV),ZTKEM__(NPTP,JLEV)
     ENDDO
     WRITE(NULOUT,*)'u v w tke a S'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,*)JLEV,ZUS__(NPTP,JLEV),ZVS__(NPTP,JLEV),ZWS__(NPTP,JLEV),ZTKES_(NPTP,JLEV)
     ENDDO
     WRITE(NULOUT,*)'ZTHS__ avant turb'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,*)JLEV,ZTHS__(NPTP,JLEV)
     ENDDO
   ENDIF
@@ -3081,9 +2872,9 @@ IF (LTURB) THEN
 !!$!
 !!$  IF (NGFL_EXT/=0) THEN
 !!$     DO JGFL=1,NGFL_EXT
-!!$        DO JLON=KIDIA,KFDIA
+!!$        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
 !!$           ZSFTURB(JLON,JGFL)=ZSFSV_(JLON,JGFL)
-!!$           DO JLEV = 1, KLEV
+!!$           DO JLEV = 1, YDCPG_OPTS%KFLEVG
 !!$              ZTURBM(JLON,JLEV,JGFL)=ZSVM_(JLON,1,JLEV,JGFL)
 !!$              ZTURBS(JLON,JLEV,JGFL)=ZSVSIN_(JLON,1,JLEV,JGFL)
 !!$           ENDDO
@@ -3093,9 +2884,9 @@ IF (LTURB) THEN
 !!$!
 !!$  IF (NLIMA/=0) THEN
 !!$     DO JGFL=1,NLIMA
-!!$        DO JLON=KIDIA,KFDIA
+!!$        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
 !!$           ZSFTURB(JLON,NGFL_EXT+JGFL)=0.
-!!$           DO JLEV = 1, KLEV
+!!$           DO JLEV = 1, YDCPG_OPTS%KFLEVG
 !!$              ZTURBM(JLON,JLEV,NGFL_EXT+JGFL)=ZLIMAM_(JLON,JLEV,JGFL)
 !!$              ZTURBS(JLON,JLEV,NGFL_EXT+JGFL)=ZLIMASIN_(JLON,JLEV,JGFL)
 !!$           ENDDO
@@ -3104,16 +2895,16 @@ IF (LTURB) THEN
 !!$  ENDIF
 
   ! Input variable indeed. REK
-  ZSFSVLIMA_(KIDIA:KFDIA,1:NLIMA)=0._JPRB
+  ZSFSVLIMA_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:NLIMA)=0._JPRB
 
   ! 10.2 calcul TURB
-  ZZTOP_(KIDIA:KFDIA)=ZAPHIM(KIDIA:KFDIA,0)*ZINVG
+  ZZTOP_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZAPHIM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0)*ZINVG
 
   IF (LGRADHPHY) THEN
-  !   
-    DO JLEV = 1,KLEV
-      DO JGR=1,NGRADIENTS
-        ZTURB3D__(KIDIA:KFDIA,JLEV,JGR)=PTURB3D(KIDIA:KFDIA,JGR,JLEV)
+  !
+  DO JGR=1,NGRADIENTS  
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+        ZTURB3D__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JGR)=YDMF_PHYS%GRA%G(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JGR)
       ENDDO
     ENDDO
   
@@ -3121,40 +2912,27 @@ IF (LTURB) THEN
 
 ! Appel avec les arguments modifiés pour variables LIMA :
 ! KSV_TURB, ZSFTURB, ZTURBM, ZTURBS, ZTENDSV_TURB
-  CALL ARO_TURB_MNH(KKA=IKA,KKU=IKU,KKL=IKL,KLON=KFDIA,KLEV=KLEV,&
-   & KRR=NRR, KRRL=NRRL,KRRI= NRRI,&
-   & KSV=NLIMA,KTCOUNT=KSTEP+1,KGRADIENTS=NGRADIENTS,&
-   &LDHARATU=LHARATU,CMICRO=CMICRO,PTSTEP=ZDT,&
-   & PZZ=ZZZ_,PZZF=ZZZ_F_,&
-   & PZZTOP=ZZTOP_,PRHODJ=ZRHODJM__,PTHVREF=ZTHVREFM__,&
-   & HINST_SFU='M',&
-   & PSFTH=ZSFTH_,PSFRV=ZSFRV_,&
-   & PSFSV=ZSFSVLIMA_,PSFU=ZSFU_,&
-   & PSFV=ZSFV_,PPABSM=ZPABSM__,&
-   & PUM=ZUM__,PVM=ZVM__,PWM=ZWM__,PTKEM=ZTKEM__,PEPSM=ZEPSM,&
-   & PSVM=ZLIMAM_,&
-   & PSRCM=ZSRCS__,PTHM=ZTHM__,&
-   & PRM=ZRM_,&
-   & PRUS=ZUS__,PRVS=ZVS__,PRWS=ZWS__,PRTHS=ZTHS__,&
-   & PRRS=ZRS_,&
-   & PRSVSIN=ZLIMASIN_,PRSVS=ZLIMAS_,&
-   & PRTKES=ZTKES_,PRTKES_OUT=ZTKES_OUT__,&
-   & PREPSS=ZEPSS,PHGRAD=ZTURB3D__,PSIGS=ZSIGS__,&
-   & OSUBG_COND=LOSUBG_COND,&
-   & PFLXZTHVMF=ZFLXZTHVMF_SUM__,&
-   & PLENGTHM=ZLENGTHM__,PLENGTHH=ZLENGTHH__,MFMOIST=ZMF_UP__,PDRUS_TURB=ZTENDU_TURB__, &
-   & PDRVS_TURB=ZTENDV_TURB__,PDRTHLS_TURB=ZTENDTHL_TURB__,PDRRTS_TURB=ZTENDRT_TURB__,&
-   & PDRSVS_TURB=ZTENDSV_TURBLIMA_,&
-   & PDP=ZDP__, PTP=ZTP__,PTPMF=ZTPMF__,PTDIFF=ZTDIFF__,PTDISS=ZTDISS__,PEDR=ZEDR__,YDDDH=YDDDH,&
-   & YDLDDH=YDMODEL%YRML_DIAG%YRLDDH,YDMDDH=YDMODEL%YRML_DIAG%YRMDDH)
+  CALL ARO_TURB_MNH(KKA=IKA, KKU=IKU, KKL=IKL, KLON=YDCPG_BNDS%KFDIA, KLEV=YDCPG_OPTS%KFLEVG, KRR=NRR,               &
+  & KRRL=NRRL, KRRI= NRRI, KSV=NLIMA, KTCOUNT=YDCPG_OPTS%KSTEP+1, KGRADIENTS=NGRADIENTS, LDHARATU=LHARATU,           &
+  & CMICRO=CMICRO,                                                                                                   &
+  & PTSTEP=ZDT, PZZ=ZZZ_, PZZF=ZZZ_F_, PZZTOP=ZZTOP_, PRHODJ=ZRHODJM__, PTHVREF=ZTHVREFM__,                          &
+  & HINST_SFU='M', PSFTH=ZSFTH_, PSFRV=ZSFRV_, PSFSV=ZSFSVLIMA_, PSFU=ZSFU_,                                         &
+  & PSFV=ZSFV_, PPABSM=ZPABSM__, PUM=ZUM__, PVM=ZVM__, PWM=ZWM__, PTKEM=ZTKEM__, PEPSM=ZEPSM, PSVM=ZLIMAM_,          &
+  & PSRCM=ZSRCS__, PTHM=ZTHM__, PRM=ZRM_, PRUS=ZUS__, PRVS=ZVS__, PRWS=ZWS__, PRTHS=ZTHS__, PRRS=ZRS_,               &
+  & PRSVSIN=ZLIMASIN_, PRSVS=ZLIMAS_, PRTKES=ZTKES_, PRTKES_OUT=ZTKES_OUT__, PREPSS=ZEPSS, PHGRAD=ZTURB3D__,         &
+  & PSIGS=ZSIGS__, OSUBG_COND=LOSUBG_COND, PFLXZTHVMF=ZFLXZTHVMF_SUM__, PLENGTHM=ZLENGTHM__, PLENGTHH=ZLENGTHH__,    &
+  & MFMOIST=ZMF_UP__, PDRUS_TURB=ZTENDU_TURB__, PDRVS_TURB=ZTENDV_TURB__, PDRTHLS_TURB=ZTENDTHL_TURB__,              &
+  & PDRRTS_TURB=ZTENDRT_TURB__, PDRSVS_TURB=ZTENDSV_TURBLIMA_, PDP=ZDP__, PTP=ZTP__, PTPMF=ZTPMF__, PTDIFF=ZTDIFF__, &
+  & PTDISS=ZTDISS__, PEDR=ZEDR__, YDDDH=YDDDH, YDLDDH=YDMODEL%YRML_DIAG%YRLDDH, YDMDDH=YDMODEL%YRML_DIAG%YRMDDH      &
+  &                                                 )
 
 
 ! Séparation des variables SV (NGFL_EXT + NLIMA)
 !!$  IF (NGFL_EXT/=0) THEN
 !!$     DO JGFL=1,NGFL_EXT
-!!$        DO JLON=KIDIA,KFDIA
+!!$        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
 !!$           ZSFSV_(JLON,JGFL)=ZSFTURB(JLON,JGFL)
-!!$           DO JLEV = 1, KLEV
+!!$           DO JLEV = 1, YDCPG_OPTS%KFLEVG
 !!$              ZSVM_(JLON,1,JLEV,JGFL)=ZTURBM(JLON,JLEV,JGFL)
 !!$              ZSVS_(JLON,1,JLEV,JGFL)=ZTURBS(JLON,JLEV,JGFL)
 !!$           ENDDO
@@ -3164,8 +2942,8 @@ IF (LTURB) THEN
 !!$!
 !!$  IF (NLIMA/=0) THEN
 !!$     DO JGFL=1,NLIMA
-!!$        DO JLON=KIDIA,KFDIA
-!!$           DO JLEV = 1, KLEV
+!!$        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+!!$           DO JLEV = 1, YDCPG_OPTS%KFLEVG
 !!$              ZLIMAM_(JLON,JLEV,JGFL)=ZTURBM(JLON,JLEV,NGFL_EXT+JGFL)
 !!$              ZLIMAS_(JLON,JLEV,JGFL)=ZTURBS(JLON,JLEV,NGFL_EXT+JGFL)
 !!$           ENDDO
@@ -3174,42 +2952,40 @@ IF (LTURB) THEN
 !!$  ENDIF
 
 
-  DO JLEV = 1 , KLEV
-     PEDR(KIDIA:KFDIA,JLEV)=ZEDR__(KIDIA:KFDIA,JLEV)
+  DO JLEV = 1 , YDCPG_OPTS%KFLEVG
+     YDMF_PHYS%OUT%EDR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZEDR__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
   ENDDO
    
   IF (LFLEXDIA) THEN
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
-        ZDP__(JLON,JLEV)=ZDP__(JLON,JLEV)*PDELPM(JLON,JLEV)*ZINVG
-        ZTP__(JLON,JLEV)=(ZTP__(JLON,JLEV)-ZTPMF__(JLON,JLEV))*PDELPM(JLON,JLEV)*ZINVG
-        ZTPMF__(JLON,JLEV)=ZTPMF__(JLON,JLEV)*PDELPM(JLON,JLEV)*ZINVG
-        ZTDIFF__(JLON,JLEV)=ZTDIFF__(JLON,JLEV)*PDELPM(JLON,JLEV)*ZINVG
-        ZTDISS__(JLON,JLEV)=ZTDISS__(JLON,JLEV)*PDELPM(JLON,JLEV)*ZINVG
-      ENDDO
-    ENDDO
-    IF (LDDH_OMP) THEN
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZDP__(:,1:KLEV),'TKEPRDY',YDDDH)
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTP__(:,1:KLEV),'TKEPRTH',YDDDH)
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTPMF__(:,1:KLEV),'TKEPRTHMF',YDDDH)
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTDIFF__(:,1:KLEV),'TKEDIFF',YDDDH)
-      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTDISS__(:,1:KLEV),'TKEDISS',YDDDH)
-    ELSE
-      CALL ADD_FIELD_3D(YLDDH,ZDP__(:,1:KLEV),'TKEPRDY','T','ARO',.TRUE.,.TRUE.)
-      CALL ADD_FIELD_3D(YLDDH,ZTP__(:,1:KLEV),'TKEPRTH','T','ARO',.TRUE.,.TRUE.)
-      CALL ADD_FIELD_3D(YLDDH,ZTPMF__(:,1:KLEV),'TKEPRTHMF','T','ARO',.TRUE.,.TRUE.)
-      CALL ADD_FIELD_3D(YLDDH,ZTDIFF__(:,1:KLEV),'TKEDIFF','T','ARO',.TRUE.,.TRUE.)
-      CALL ADD_FIELD_3D(YLDDH,ZTDISS__(:,1:KLEV),'TKEDISS','T','ARO',.TRUE.,.TRUE.)
-    ENDIF
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZDP__(JLON,JLEV)=ZDP__(JLON,JLEV)*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
+        ZTP__(JLON,JLEV)=(ZTP__(JLON,JLEV)-ZTPMF__(JLON,JLEV))*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
+        ZTPMF__(JLON,JLEV)=ZTPMF__(JLON,JLEV)*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
+        ZTDIFF__(JLON,JLEV)=ZTDIFF__(JLON,JLEV)*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
+        ZTDISS__(JLON,JLEV)=ZTDISS__(JLON,JLEV)*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
+      ENDDO
+    ENDDO
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, ZDP__(:, 1:YDCPG_OPTS%KFLEVG), 'TKEPRDY', &
+      & YDDDH            )
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, ZTP__(:, 1:YDCPG_OPTS%KFLEVG), 'TKEPRTH', &
+      & YDDDH            )
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, ZTPMF__(:, 1:YDCPG_OPTS%KFLEVG), 'TKEPRTHMF', &
+      & YDDDH)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, ZTDIFF__(:, 1:YDCPG_OPTS%KFLEVG), 'TKEDIFF', &
+      & YDDDH)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH, ZTDISS__(:, 1:YDCPG_OPTS%KFLEVG), 'TKEDISS', &
+      & YDDDH)
+
   ENDIF 
 
-  IF(MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF(MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'u v w a S apres turb'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,*)JLEV,ZUS__(NPTP,JLEV),ZVS__(NPTP,JLEV),ZWS__(NPTP,JLEV),ZTKES_OUT__(NPTP,JLEV)
     ENDDO
     WRITE(NULOUT,*)'THS TKES SIGS apres turb'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,*)JLEV,ZTHS__(NPTP,JLEV),ZTKES_OUT__(NPTP,JLEV),ZSIGS__(NPTP,JLEV)
     ENDDO
   ENDIF
@@ -3217,13 +2993,13 @@ IF (LTURB) THEN
   ! avance temporelle et inversion niveau pour ZSIGS__
   IF (LOSUBG_COND .AND. LOSIGMAS) THEN
     IF (CMF_CLOUD=='DIRE'.OR.CMF_CLOUD=='BIGA'.OR.CMF_CLOUD=='NONE') THEN
-      DO JLEV = 1,KLEV
-        PSIGS(KIDIA:KFDIA,JLEV)=ZSIGS__(KIDIA:KFDIA,JLEV)
+      DO JLEV = 1,YDCPG_OPTS%KFLEVG
+        YDVARS%SRC%T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZSIGS__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)
       ENDDO
     ELSEIF (CMF_CLOUD=='STAT') THEN
-      DO JLEV = 1,KLEV
-        DO JLON = KIDIA,KFDIA
-          PSIGS(JLON,JLEV)=SQRT(ZSIGS__(JLON,JLEV)**2+ZSIGMF_(JLON,JLEV)**2 )
+      DO JLEV = 1,YDCPG_OPTS%KFLEVG
+        DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+          YDVARS%SRC%T1(JLON,JLEV)=SQRT(ZSIGS__(JLON,JLEV)**2+ZSIGMF_(JLON,JLEV)**2 )
         ENDDO
       ENDDO
     ENDIF
@@ -3233,57 +3009,81 @@ IF (LTURB) THEN
   !10.3. traitement des sorties pour repasser dans le monde Aladin
   !calcul de tendance et inversion des niveaux pour le vent horizontal et la TKE
 
-  DO JLEV = 1,KLEV
-    DO JLON = KIDIA,KFDIA
-      PTENDU(JLON,JLEV)=PTENDU(JLON,JLEV)+ZTENDU_TURB__(JLON,JLEV)
-      PTENDV(JLON,JLEV)=PTENDV(JLON,JLEV)+ZTENDV_TURB__(JLON,JLEV)
+  DO JLEV = 1,YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS%OUT%TENDU(JLON,JLEV)=YDMF_PHYS%OUT%TENDU(JLON,JLEV)+ZTENDU_TURB__(JLON,JLEV)
+      YDMF_PHYS%OUT%TENDV(JLON,JLEV)=YDMF_PHYS%OUT%TENDV(JLON,JLEV)+ZTENDV_TURB__(JLON,JLEV)
       ! for the moment, turbulence do not compute w tendency:
-      PTENDW(JLON,JLEV)=0.0_JPRB
+      ZTENDW(JLON,JLEV)=0.0_JPRB
       ! PTENDW(JLON,JLEV)+(ZWS__(JLON,JLEV)-&
       ! & ZWS_AVE(JLON,1,JLEV))
       !conversion de la tendance de theta en tendance de T et inversion niveau
-      PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV)+ZTENDTHL_TURB__(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
+      ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+ZTENDTHL_TURB__(JLON,JLEV)*ZEXNREFM_(JLON,JLEV)
   !inversion niveaux tendances des rv et conversion en qv en multipliant par qd
-      PTENDR(JLON,JLEV,1)= PTENDR(JLON,JLEV,1)+ZTENDRT_TURB__(JLON,JLEV)*ZQDM(JLON,JLEV)
+      ZTEND_Q(JLON,JLEV)= ZTEND_Q(JLON,JLEV)+ZTENDRT_TURB__(JLON,JLEV)*ZQDM(JLON,JLEV)
     ENDDO
   ENDDO
 
 
   IF (LHARATU) THEN
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
-          PTENDTKE(JLON,JLEV)=PTENDTKE(JLON,JLEV)+(ZTKEEDMFS(JLON,JLEV)-ZTKES_(JLON,JLEV))
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+          ZTENDTKE(JLON,JLEV)=ZTENDTKE(JLON,JLEV)+(ZTKEEDMFS(JLON,JLEV)-ZTKES_(JLON,JLEV))
       ENDDO
     ENDDO
   ELSE
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
-         PTENDTKE(JLON,JLEV)=PTENDTKE(JLON,JLEV)+(ZTKES_OUT__(JLON,JLEV)-ZTKES_(JLON,JLEV))
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+         ZTENDTKE(JLON,JLEV)=ZTENDTKE(JLON,JLEV)+(ZTKES_OUT__(JLON,JLEV)-ZTKES_(JLON,JLEV))
       ENDDO
     ENDDO
   ENDIF
 
   DO JGFL=1,NGFL_EXT
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
-        PTENDEXT(JLON,JLEV,JGFL)=PTENDEXT(JLON,JLEV,JGFL)+(ZSVS_(JLON,JLEV,JGFL)-ZSVSIN_(JLON,JLEV,JGFL))
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDEXT(JLON,JLEV,JGFL)=ZTENDEXT(JLON,JLEV,JGFL)+(ZSVS_(JLON,JLEV,JGFL)-ZSVSIN_(JLON,JLEV,JGFL))
       ENDDO
     ENDDO
   ENDDO
 
 ! Tendances LIMA
   DO JGFL=1,NLIMA
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA
-        PTENDLIMA(JLON,JLEV,JGFL)=PTENDLIMA(JLON,JLEV,JGFL)+ZTENDSV_TURBLIMA_(JLON,JLEV,JGFL)
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDLIMA(JLON,JLEV,JGFL)=ZTENDLIMA(JLON,JLEV,JGFL)+ZTENDSV_TURBLIMA_(JLON,JLEV,JGFL)
 !        PTENDLIMA(JLON,JLEV,:)=PTENDLIMA(JLON,JLEV,:)+ (ZLIMAS_(JLON,JLEV,:)-ZLIMASIN_(JLON,JLEV,:))
       ENDDO
     ENDDO
   ENDDO
 
 ENDIF
+IF(LWINDFARM)THEN
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZP1EZDIAG(JLON,1,5)=0.0_JPRB
+    IF(GFL_WKA(JLON,YDCPG_BNDS%KBL)>0.0)THEN
+      JGFL=INT(GFL_WKA2(1,6,YDCPG_BNDS%KBL))*1_JPIM
+      CALL ARO_WINDFARM(YDGEOMETRY,YDMODEL,YDVARS%GEOMETRY%OROG%T0(JLON), &
+          & YDMF_PHYS_BASE_STATE%U(JLON,1:YDCPG_OPTS%KFLEVG),YDMF_PHYS_BASE_STATE%V(JLON,1:YDCPG_OPTS%KFLEVG),&
+          & YDMF_PHYS_BASE_STATE%YCPG_PHY%W(JLON,1:YDCPG_OPTS%KFLEVG),YDMF_PHYS_BASE_STATE%TKE(JLON,1:YDCPG_OPTS%KFLEVG),&
+          & YDMF_PHYS_BASE_STATE%YCPG_DYN%PHI(JLON,0:YDCPG_OPTS%KFLEVG),&
+          & YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(JLON,1:YDCPG_OPTS%KFLEVG),ZTENDU_TURB__(JLON,1:YDCPG_OPTS%KFLEVG),&
+          & ZTENDV_TURB__(JLON,1:YDCPG_OPTS%KFLEVG),ZTKES_OUT__(JLON,1:YDCPG_OPTS%KFLEVG),&
+          & GFL_WKA(JLON,YDCPG_BNDS%KBL),GFL_WKA2(1:JGFL,1:6,YDCPG_BNDS%KBL),YDCPG_OPTS%KFLEVG,&
+          & YDCPG_OPTS%KSTEP,JGFL,ZP1EZDIAG(JLON,1,5))
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        YDMF_PHYS%OUT%TENDU(JLON,JLEV)=YDMF_PHYS%OUT%TENDU(JLON,JLEV)+ZTENDU_TURB__(JLON,JLEV)
+        YDMF_PHYS%OUT%TENDV(JLON,JLEV)=YDMF_PHYS%OUT%TENDV(JLON,JLEV)+ZTENDV_TURB__(JLON,JLEV)
+        ZTENDTKE(JLON,JLEV)=ZTENDTKE(JLON,JLEV)+ZTKES_OUT__(JLON,JLEV)
+        !WRITE(*,*) 'windfarm tendencies dU/dt,dV/dt,dTKE/dt'
+        !WRITE(*,*)ZTENDU_TURB(JLON,1,JLEV),ZTENDV_TURB(JLON,1,JLEV),&
+        !        & ZZI_TKES(JLON,1,JLEV)
+      ENDDO
+    ENDIF
+  ENDDO
+ENDIF
 !    ------------------------------------------------------------------
-!     11 - MICROPHYSIQUE. 
+!     11 - MICROPHYSIQUE.
 !     --------------------------------------------------------------------
 
 IF (LMICRO) THEN
@@ -3294,93 +3094,94 @@ IF (LMICRO) THEN
   CALL SWAP_LIMAS
 
   ! for now a copy is needed (see below, inside). I don't like than :-( REK
-  ZTHS__(KIDIA:KFDIA,1:KLEV)=ZTHSIN_(KIDIA:KFDIA,1:KLEV)
-  ZRS_(KIDIA:KFDIA,1:KLEV,1:NRR)=ZRSIN_(KIDIA:KFDIA,1:KLEV,1:NRR)
+  ZTHS__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZTHSIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ZRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NRR)=ZRSIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NRR)
   ! for now a copy is needed (see below, inside). I don't like than :-( REK
-  ZLIMAS_(KIDIA:KFDIA,1:KLEV,1:NLIMA)=ZLIMASIN_(KIDIA:KFDIA,1:KLEV,1:NLIMA)
+  ZLIMAS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NLIMA)=ZLIMASIN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,1:NLIMA)
      
   !prints
-  IF (MOD(KSTEP+1,NPRINTFR)==0) THEN
+  IF (MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'avant rain_ice sous apl_arome'
     WRITE(NULOUT,*)'JLEV   ZZZ_F_      ZZZ_      ZRHODREF',&
-     & '    ZRHODJ      ZPABSM__        ZTHSIN_       ZTHM__      '   
-    DO JLEV=1,KLEV+1 
+     & '    ZRHODJ      ZPABSM__        ZTHSIN_       ZTHM__      '
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,7F10.3)')JLEV,ZZZ_F_(NPTP,JLEV),ZZZ_(NPTP,JLEV), ZRHODREFM__(NPTP,JLEV),&
        & ZRHODJM__(NPTP,JLEV), ZPABSM__(NPTP,JLEV), ZTHSIN_(NPTP,JLEV), ZTHM__(NPTP,JLEV)  
     ENDDO 
     WRITE(NULOUT,*)'JLEV        PDELPM        ZPABSM__         ZEXNREF','          ZSIGS__'
-    DO JLEV=2,KLEV
-      WRITE(NULOUT,'(I2,X,4f10.3)')JLEV, PDELPM(NPTP,JLEV),&
-       & ZPABSM__(NPTP,JLEV),ZEXNREFM_(NPTP,JLEV),ZSIGS__(NPTP,JLEV)  
+    DO JLEV=2,YDCPG_OPTS%KFLEVG
+      WRITE(NULOUT,'(I2,X,4f10.3)')JLEV, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(NPTP,JLEV),&
+       & ZPABSM__(NPTP,JLEV),ZEXNREFM_(NPTP,JLEV),ZSIGS__(NPTP,JLEV)
     ENDDO
     WRITE(NULOUT,*)'JLEV    PTM       PRM          PCPM'
-    DO JLEV=1,KLEV
-      WRITE(NULOUT,'(I2,X,3f10.3)')JLEV,ZTM(NPTP,KLEV+1-JLEV), ZRHM(NPTP,KLEV+1-JLEV) ,ZCPM(NPTP,KLEV+1-JLEV)  
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      WRITE(NULOUT,'(I2,X,3f10.3)')JLEV,ZTM(NPTP,YDCPG_OPTS%KFLEVG+1-JLEV), ZRHM(NPTP,YDCPG_OPTS%KFLEVG+1-JLEV) ,ZCPM(NPTP,YDCPG_OPTS%KFLEVG+1-JLEV)  
     ENDDO
     WRITE (NULOUT,*)'JLEV  rhoQv  rhoQc   rhoQr   rhoQi   rhoQs   rhoQg'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,6E11.4)')JLEV,ZRM_(NPTP,JLEV,1), ZRM_(NPTP,JLEV,2),&
-       & ZRM_(NPTP,JLEV,3),ZRM_(NPTP,JLEV,4),ZRM_(NPTP,JLEV,5), ZRM_(NPTP,JLEV,6)  
+       & ZRM_(NPTP,JLEV,3),ZRM_(NPTP,JLEV,4),ZRM_(NPTP,JLEV,5), ZRM_(NPTP,JLEV,6)
     ENDDO
     WRITE (NULOUT,*)'JLEV  ZRSQv  ZRSQc   ZRSQr   ZRSQi   ZRSQs   ZRSQg'
-    DO JLEV=1,KLEV
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
       WRITE(NULOUT,'(I2,X,6E11.4)')JLEV,ZRS_(NPTP,JLEV,1), ZRS_(NPTP,JLEV,2),&
-       & ZRSIN_(NPTP,JLEV,3),ZRSIN_(NPTP,JLEV,4),ZRSIN_(NPTP,JLEV,5), ZRSIN_(NPTP,JLEV,6)  
+       & ZRSIN_(NPTP,JLEV,3),ZRSIN_(NPTP,JLEV,4),ZRSIN_(NPTP,JLEV,5), ZRSIN_(NPTP,JLEV,6)
     ENDDO
     WRITE(NULOUT,*)'ZDT=',ZDT
-    WRITE(NULOUT,*)'NRR and co',NRR,KSTEP+1,NSPLITR,LOSUBG_COND, LOSIGMAS, CSUBG_AUCV_RC,LOWARM  
+    WRITE(NULOUT,*)'NRR and co',NRR,YDCPG_OPTS%KSTEP+1,NSPLITR,LOSUBG_COND, LOSIGMAS, CSUBG_AUCV_RC,LOWARM  
   ENDIF
-  
 
-  ZSEA_(KIDIA:KFDIA)=0.0_JPRB
+  ZSEA_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0.0_JPRB
   IF (LOLSMC) THEN
-    DO JLON = KIDIA, KFDIA
-      IF (PLSM(JLON) < 0.5) THEN
+    DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+      IF (YDMF_PHYS_SURF%GSD_VF%PLSM(JLON) < 0.5) THEN
         ZSEA_(JLON) = 1.0_JPRB
       ENDIF
     ENDDO
   ENDIF
-         
+
   IF (LOTOWNC) THEN
-    ZTOWN_(KIDIA:KFDIA) = ZTOWNS_(KIDIA:KFDIA)
+    ZTOWN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA) = ZTOWNS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
   ELSE
-    ZTOWN_(KIDIA:KFDIA)=0.0_JPRB
-  ENDIF  
+    ZTOWN_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0.0_JPRB
+  ENDIF
 
   IF (CMICRO == 'LIMA') THEN
 
     IF (LTURB) THEN
-      DO JLON=KIDIA,KFDIA
-        DO JLEV=1,KLEV
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        DO JLEV=1,YDCPG_OPTS%KFLEVG
           ZWNU_(JLON,JLEV) = ZWM__(JLON,JLEV) + 0.66*SQRT(ZTKEM__(JLON,JLEV))
         ENDDO
       ENDDO
-      ZPTRWNU_ => ZWNU_(1:KFDIA,1:KLEV)
+      ZPTRWNU_ => ZWNU_(1:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
     ELSE
-      ZPTRWNU_ => ZWM__(1:KFDIA,1:KLEV)
+      ZPTRWNU_ => ZWM__(1:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
     ENDIF
-    CALL ARO_LIMA(KLEV,IKU,IKL,KFDIA,KLEV,NRR,NLIMA,KSTEP+1,NSPLITR,NSPLITG, ZDT,ZDZZ_ ,&
-     & ZRHODJM__(:,1:KLEV),ZRHODREFM__(:,1:KLEV), ZEXNREFM_, ZPABSM__(:,1:KLEV), ZPTRWNU_, &
-     & ZTHM__(:,1:KLEV),ZRM_, ZLIMAM_,  ZTHS__(:,1:KLEV),ZRS_,  ZLIMAS_,  ZEVAP_, &
-     & ZINPRR_NOTINCR_, ZINPRS_NOTINCR_, ZINPRG_NOTINCR_, ZINPRH_NOTINCR_,ZPFPR_,&
-     & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH )
+    CALL ARO_LIMA(YDCPG_OPTS%KFLEVG, IKU, IKL, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NRR, NLIMA, YDCPG_OPTS%KSTEP+1,       &
+    & NSPLITR, NSPLITG, ZDT, ZDZZ_, ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG), ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG),               &
+    & ZEXNREFM_, ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), ZPTRWNU_, ZTHM__(:, 1:YDCPG_OPTS%KFLEVG), ZRM_,                        &
+    & ZLIMAM_, ZTHS__(:, 1:YDCPG_OPTS%KFLEVG), ZRS_, ZLIMAS_, ZEVAP_, ZINPRR_NOTINCR_,                                    &
+    & ZINPRS_NOTINCR_, ZINPRG_NOTINCR_, ZINPRH_NOTINCR_, ZPFPR_, YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH&
+    &              )
   ELSE
-    !CALL ARO_RAIN_ICE (NPROMICRO,KLEV,IKU,IKL,KLON,KLEV,KFDIA,NRR,KSTEP+1,NSPLITR,&      !this is the target version
-    CALL ARO_RAIN_ICE (NPROMICRO,KLEV,IKU,IKL,KFDIA,KLEV,KFDIA,NRR,KSTEP+1,NSPLITR,&
-     & LOSUBG_COND, CSUBG_AUCV_RC, CSUBG_AUCV_RI, LOSEDIC,CSEDIM, CMICRO, ZDT,ZDZZ_ ,&
-     & ZRHODJM__(:,1:KLEV),ZRHODREFM__(:,1:KLEV), ZEXNREFM_, ZPABSM__(:,1:KLEV),&
-     & ZHLC_HRC__(:,1:KLEV), ZHLC_HCF__(:,1:KLEV),&
-     & ZHLI_HRI__(:,1:KLEV), ZHLI_HCF__(:,1:KLEV),&
-     & ZTHM__(:,1:KLEV),ZRM_, ZSIGS__(:,1:KLEV), ZNEBMNH_, ZTHS__(:,1:KLEV),ZRS_,&
-     & ZEVAP_, ZCIT_,LOWARM,ZSEA_,ZTOWN_, &
-     & ZICLDFR_, ZWCLDFR_, ZSSIO_, ZSSIU_, ZIFR_, &
-     & LOCND2, LKOGAN, LMODICEDEP,&
-     & ZINPRR_NOTINCR_, ZINPRS_NOTINCR_, ZINPRG_NOTINCR_, ZINPRH_NOTINCR_,ZPFPR_,&
-     & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH,&
-     & YSPP1, YSPP2, YSPP3)
+    !CALL ARO_RAIN_ICE (NPROMICRO,KLEV,IKU,IKL,KLON,KLEV,KFDIA,NRR,KSTEP+1,&      !this is the target version
+    CALL ARO_RAIN_ICE (NPROMICRO,YDCPG_OPTS%KFLEVG,IKU,IKL,YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,YDCPG_BNDS%KFDIA,NRR,YDCPG_OPTS%KSTEP+1, &
+    & NSPLITR, LOSUBG_COND, CSUBG_AUCV_RC, CSUBG_AUCV_RI, LOSEDIC, CSEDIM, CMICRO, ZDT, ZDZZ_,                                  &
+    & ZRHODJM__(:, 1:YDCPG_OPTS%KFLEVG), ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), ZEXNREFM_, ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG),      &
+    & ZHLC_HRC_, ZHLC_HCF_, ZHLI_HRI_, ZHLI_HCF_,                                                                               &
+    & ZTHM__(:, 1:YDCPG_OPTS%KFLEVG),                                                                                           &
+    & ZRM_, ZSIGS__(:, 1:YDCPG_OPTS%KFLEVG), ZNEBMNH_, ZTHS__(:, 1:YDCPG_OPTS%KFLEVG), ZRS_, ZEVAP_,                            &
+    & ZCIT_, LOWARM, ZSEA_, ZTOWN_, &
+    & ZICLDFR_, ZWCLDFR_, ZSSIO_, ZSSIU_, ZIFR_, &
+    & LOCND2, LKOGAN, LMODICEDEP,&
+    & ZINPRR_NOTINCR_, ZINPRS_NOTINCR_, ZINPRG_NOTINCR_,                           &
+    & ZINPRH_NOTINCR_, ZPFPR_, &
+    & YDDDH, YDMODEL%YRML_DIAG%YRLDDH, YDMODEL%YRML_DIAG%YRMDDH,&
+    & ZSPP_ALL%YSPP_ICENU,ZSPP_ALL%YSPP_KGN_ACON,ZSPP_ALL%YSPP_KGN_SBGR)
   ENDIF
 
-  DO JLON=KIDIA,KFDIA
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ZINPRR_(JLON)=ZINPRR_(JLON)+ZINPRR_NOTINCR_(JLON)
     ZINPRS_(JLON)=ZINPRS_(JLON)+ZINPRS_NOTINCR_(JLON)
     ZINPRG_(JLON)=ZINPRG_(JLON)+ZINPRG_NOTINCR_(JLON)
@@ -3388,27 +3189,27 @@ IF (LMICRO) THEN
   ENDDO
 
   !conversion de la tendance de theta en tendance de T et inversion niveau
-  DO JLEV = 1,KLEV
-    DO JLON = KIDIA,KFDIA
-      PTENDT(JLON,JLEV)= PTENDT(JLON,JLEV)+(ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV))*ZEXNREFM_(JLON,JLEV)  
-      ZTENDT(JLON,JLEV)= ZTENDT(JLON,JLEV)+ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV)
+  DO JLEV = 1,YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZTENDT(JLON,JLEV)= ZTENDT(JLON,JLEV)+(ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV))*ZEXNREFM_(JLON,JLEV)  
+      ZTENDTT(JLON,JLEV)= ZTENDTT(JLON,JLEV)+ZTHS__(JLON,JLEV)-ZTHSIN_(JLON,JLEV)
     ENDDO
   ENDDO
-  
+
   !inversion niveaux tendances des ri et conversion en qi en multipliant par qd
   DO JR=1,NRR
-    DO JLEV=1,KLEV
-      DO JLON=KIDIA,KFDIA
-        PTENDR(JLON,JLEV,JR)=PTENDR(JLON,JLEV,JR)+(ZRS_(JLON,JLEV,JR)-ZRSIN_(JLON,JLEV,JR))*ZQDM(JLON,JLEV)  
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDRA(JLON,JLEV,JR)=ZTENDRA(JLON,JLEV,JR)+(ZRS_(JLON,JLEV,JR)-ZRSIN_(JLON,JLEV,JR))*ZQDM(JLON,JLEV)  
       ENDDO
     ENDDO
   ENDDO
 
   ! Tendances des variables LIMA
   DO JGFL=1,NLIMA
-    DO JLEV = 1, KLEV
-      DO JLON=KIDIA,KFDIA
-        PTENDLIMA(JLON,JLEV,JGFL)=PTENDLIMA(JLON,JLEV,JGFL)+(ZLIMAS_(JLON,JLEV,JGFL)-ZLIMASIN_(JLON,JLEV,JGFL))  
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDLIMA(JLON,JLEV,JGFL)=ZTENDLIMA(JLON,JLEV,JGFL)+(ZLIMAS_(JLON,JLEV,JGFL)-ZLIMASIN_(JLON,JLEV,JGFL))  
       ENDDO
     ENDDO
   ENDDO
@@ -3416,50 +3217,50 @@ IF (LMICRO) THEN
   IF (LINTFLEX) THEN
     !inversion of levels of upper-air precipitation
     DO JR=2,NRR ! no precip for qv
-      ZFPR(KIDIA:KFDIA,0,JR)=0._JPRB  ! zero precip at top of atmosphere
-      DO JLEV=1,KLEV
-        ZFPR(KIDIA:KFDIA,JLEV,JR)=ZPFPR_(KIDIA:KFDIA,JLEV,JR)
+      ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0,JR)=0._JPRB  ! zero precip at top of atmosphere
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JR)=ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,JR)
       ENDDO
     ENDDO
   ENDIF
 
-  !store cumulative 3D precipitations for mocage      
+  !store cumulative 3D precipitations for mocage
   IF (LFPREC3D) THEN
     DO JR=2,NRR ! no precip for qv
-      DO JLEV=1,KLEV
-        DO JLON=KIDIA,KFDIA
-          PEZDIAG(JLON,JLEV,4)=PEZDIAG(JLON,JLEV,4)+ZPFPR_(JLON,JLEV,JR)*1000._JPRB*PDT
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+          ZP1EZDIAG(JLON,JLEV,4)=ZP1EZDIAG(JLON,JLEV,4)+ZPFPR_(JLON,JLEV,JR)*1000._JPRB*YDCPG_OPTS%ZDTPHY
         ENDDO
       ENDDO
     ENDDO
   ENDIF
-  !prints    
-  IF(MOD(KSTEP+1,NPRINTFR)==0) THEN
+  !prints
+  IF(MOD(YDCPG_OPTS%KSTEP+1,NPRINTFR)==0) THEN
     WRITE(NULOUT,*)'PTENDT en sortie de rain_ice'
     WRITE(NULOUT,*)'ZTHS__ en sortie de rain_ice'
-    DO JLEV=1,KLEV
-      WRITE(NULOUT,*)PTENDT(NPTP,JLEV),ZTHS__(NPTP,JLEV)
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      WRITE(NULOUT,*)ZTENDT(NPTP,JLEV),ZTHS__(NPTP,JLEV)
     ENDDO
-    WRITE (NULOUT,*)'JLEV  ZTENDQv  ZTZNDQc   ZTENDQr   ZTENDQi' ,'ZTENDQs   ZTENDQg'  
-    DO JLEV=1,KLEV
-      WRITE(NULOUT,'(I2,X,6E11.4)')JLEV,PTENDR(NPTP,JLEV,1),PTENDR(NPTP,JLEV,2),&
-       & PTENDR(NPTP,JLEV,3),PTENDR(NPTP,JLEV,4),PTENDR(NPTP,JLEV,5),PTENDR(NPTP,JLEV,6)  
+    WRITE (NULOUT,*)'JLEV  ZTENDQv  ZTZNDQc   ZTENDQr   ZTENDQi' ,'ZTENDQs   ZTENDQg'
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      WRITE(NULOUT,'(I2,X,6E11.4)')JLEV,ZTEND_Q(NPTP,JLEV),ZTEND_L(NPTP,JLEV),&
+       & ZTEND_R(NPTP,JLEV),ZTEND_I(NPTP,JLEV),ZTEND_S(NPTP,JLEV),ZTEND_G(NPTP,JLEV)  
     ENDDO
-    WRITE (NULOUT,*) 'ZSRCS__ et ZNEBMNH_',MAXVAL(ZSRCS__),MAXVAL(ZNEBMNH_) 
+    WRITE (NULOUT,*) 'ZSRCS__ et ZNEBMNH_',MAXVAL(ZSRCS__),MAXVAL(ZNEBMNH_)
   ENDIF
-  
+
   IF (LRDEPOS) THEN
     ISPLITR=NSPLITR
     ! Swapp because IN and OUT will be needed simultaneously
     CALL SWAP_SVM
-    CALL ARO_RAINAERO(KFDIA,KLEV,NGFL_EXT,NRR, PDT,ZSVMIN_,ZZZ_,&
-     & ZPABSM__(:,1:KLEV),ZTHM__(:,1:KLEV),ZRHODREFM__(:,1:KLEV),&
-     & KSTEP+1,ZRM_,ZEVAP_, ISPLITR, ZSVM_           )
+    CALL ARO_RAINAERO(YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NGFL_EXT, NRR, YDCPG_OPTS%ZDTPHY, ZSVMIN_, ZZZ_, ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), &
+    & ZTHM__(:, 1:YDCPG_OPTS%KFLEVG), ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), YDCPG_OPTS%KSTEP+1, ZRM_,                               &
+    & ZEVAP_, ISPLITR, ZSVM_           )
     ! return to tendency
     DO JGFL=1,NGFL_EXT
-      DO JLEV = 1,KLEV
-        DO JLON = KIDIA,KFDIA
-          PTENDEXT(JLON,JLEV,JGFL)=PTENDEXT(JLON,JLEV,JGFL)+(ZSVM_(JLON,JLEV,JGFL)-ZSVMIN_(JLON,JLEV,JGFL))*ZINVDT
+      DO JLEV = 1,YDCPG_OPTS%KFLEVG
+        DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+          ZTENDEXT(JLON,JLEV,JGFL)=ZTENDEXT(JLON,JLEV,JGFL)+(ZSVM_(JLON,JLEV,JGFL)-ZSVMIN_(JLON,JLEV,JGFL))*ZINVDT
         ENDDO
       ENDDO
     ENDDO
@@ -3470,23 +3271,25 @@ ENDIF ! LMICRO
 ! start LHN F.Meier 2020 ******
 
 LNUDGLHNREAD=.TRUE.
-IF(MYPROC==1.AND.KSTEP==1.AND.LNUDGLH)THEN
-  CALL NUDGLHCLIMPROF(KLEV,LNUDGLHNREAD)
+IF(MYPROC==1.AND.YDCPG_OPTS%KSTEP==1.AND.LNUDGLH)THEN
+  CALL NUDGLHCLIMPROF(YDCPG_OPTS%KFLEVG, LNUDGLHNREAD)
 ENDIF
 ! save accumulated precipitation for LHN
-IF (LNUDGLH.AND.KSTEP == NSTARTNUDGLH.AND.NSTARTNUDGLH > 0) THEN
+IF (LNUDGLH.AND.YDCPG_OPTS%KSTEP == NSTARTNUDGLH.AND.NSTARTNUDGLH > 0) THEN
   !IF(MYPROC==1) WRITE(NULOUT,*)'save precip for LHN - STEP:',KSTEP, &
   !  & 'NUDGINGINT:',NINTNUDGLH,'NSTARTNUDGLH:',NSTARTNUDGLH
-  CALL NUDGLHPRECIP(KIDIA,KFDIA,KLON,ZACPRR_(KIDIA:KFDIA),&
-         & ZACPRS_(KIDIA:KFDIA),ZACPRG_(KIDIA:KFDIA),KBL)
+  CALL NUDGLHPRECIP(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, ZACPRR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), &
+  & ZACPRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZACPRG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), YDCPG_BNDS%KBL           &
+  &                                                                               )
 ENDIF
-ISTEP=KSTEP-NSTARTNUDGLH
+ISTEP=YDCPG_OPTS%KSTEP-NSTARTNUDGLH
 ! if LNUDGLH and KSTEP in nudging interval
-IF (LNUDGLH.AND.KSTEP > NSTARTNUDGLH.AND.KSTEP <= NSTOPNUDGLH) THEN
+IF (LNUDGLH.AND.YDCPG_OPTS%KSTEP > NSTARTNUDGLH.AND.YDCPG_OPTS%KSTEP <= NSTOPNUDGLH) THEN
   ! safe LH profile for step before LHN step
   LLHN=.FALSE.
   IF(MOD(ISTEP+1,NINTNUDGLH)==0) THEN
-    CALL NUDGLHPREP(KIDIA,KFDIA,KLON,KLEV,ZTENDT,KBL)
+    CALL NUDGLHPREP(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, ZTENDTT, &
+    & YDCPG_BNDS%KBL            )
   ENDIF
   ! LHN step
   IF(MOD(ISTEP,NINTNUDGLH)==0) THEN
@@ -3497,31 +3300,31 @@ IF (LNUDGLH.AND.KSTEP > NSTARTNUDGLH.AND.KSTEP <= NSTOPNUDGLH) THEN
     JLHSTEP=NINT(1.0_JPRB*ISTEP/(NTIMESPLITNUDGLH*NINTNUDGLH))+2
     !IF(MYPROC==1) WRITE(NULOUT,*)'observation array:',JLHSTEP
     ! call nudging routine to modify LHN profile where necessary
-    CALL NUDGLH(NGPTOT,NPROMA,NGPBLKS,KIDIA,KFDIA,KLON,KLEV,ZACPRR_(KIDIA:KFDIA),&
-       & ZACPRS_(KIDIA:KFDIA),ZACPRG_(KIDIA:KFDIA),&
-       & ZTENDT(KIDIA:KFDIA,1:KLEV),JLHSTEP,KBL,&
-       & ZEXNREFM_(KIDIA:KFDIA,1:KLEV),.TRUE.,&
-       & LLHN(KIDIA:KFDIA,1:KLEV),ZPABSM__(KIDIA:KFDIA,1:KLEV),ZDT,&
-       & ZTHM__(KIDIA:KFDIA,1:KLEV),ZRM_(KIDIA:KFDIA,1:KLEV,:),&
-       & ZQDM(KIDIA:KFDIA,1:KLEV),PTENDR(KIDIA:KFDIA,1:KLEV,1),NRR,LNUDGLHNREAD)
+    CALL NUDGLH(NGPTOT, NPROMA, NGPBLKS, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG,                                                   &
+    & ZACPRR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZACPRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZACPRG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                          &
+    & ZTENDTT(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), JLHSTEP, YDCPG_BNDS%KBL, ZEXNREFM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), &
+    & .TRUE., LLHN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), ZPABSM__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG),                      &
+    & ZDT, ZTHM__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), ZRM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG, :),                        &
+    & ZQDM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), ZTEND_Q(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG),                               &
+    & NRR, LNUDGLHNREAD)
     !IF(MYPROC==1) WRITE(NULOUT,*)'calling LH successful - convert TH to T and
     !add temperature tendency'
     ! add LHN tendency to physics tendency, limit LHN tendency
     ZMAXTEND=0.0_JPRB
     ZMINTEND=0.0_JPRB
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         IF(LLHN(JLON,JLEV))THEN
-          ZTENDT(JLON,JLEV)=MAX(ZTENDT(JLON,JLEV),RMINNUDGLH)
-          ZTENDT(JLON,JLEV)=MIN(ZTENDT(JLON,JLEV),RMAXNUDGLH)
-          PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV)+ZTENDT(JLON,JLEV)*&
+          ZTENDTT(JLON,JLEV)=MAX(ZTENDTT(JLON,JLEV),RMINNUDGLH)
+          ZTENDTT(JLON,JLEV)=MIN(ZTENDTT(JLON,JLEV),RMAXNUDGLH)
+          ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+ZTENDTT(JLON,JLEV)*&
            & RAMPLIFY*ZEXNREFM_(JLON,JLEV)
-          ZMINTEND=MIN(ZTENDT(JLON,JLEV),ZMINTEND)
-          ZMAXTEND=MAX(ZTENDT(JLON,JLEV),ZMAXTEND)
+          ZMINTEND=MIN(ZTENDTT(JLON,JLEV),ZMINTEND)
+          ZMAXTEND=MAX(ZTENDTT(JLON,JLEV),ZMAXTEND)
           ! keep RH constant if LNUDGLHCOMPT=T
-          IF(PTM(JLON,JLEV)>0.01_JPRB.AND.LNUDGLHCOMPT)THEN
-            PTENDR(JLON,JLEV,1)=PTENDR(JLON,JLEV,1)+RLVTT/RV/((PTM(JLON,JLEV))**2._JPRB)* &
-            & ZTENDT(JLON,JLEV)*RAMPLIFY*ZEXNREFM_(JLON,JLEV)*ZQSAT(JLON,JLEV)
+          IF(YDMF_PHYS_BASE_STATE%T(JLON,JLEV)>0.01_JPRB.AND.LNUDGLHCOMPT)THEN
+            ZTEND_Q(JLON,JLEV)=ZTEND_Q(JLON,JLEV)+RLVTT/RV/((YDMF_PHYS_BASE_STATE%T(JLON,JLEV))**2._JPRB)* &
+            & ZTENDTT(JLON,JLEV)*RAMPLIFY*ZEXNREFM_(JLON,JLEV)*ZQSAT(JLON,JLEV)
           ENDIF
         ENDIF
       ENDDO
@@ -3529,13 +3332,14 @@ IF (LNUDGLH.AND.KSTEP > NSTARTNUDGLH.AND.KSTEP <= NSTOPNUDGLH) THEN
     !IF(ZMINTEND<-0.01)WRITE(*,*)'ZMINTEND',ZMINTEND
     !IF(ZMAXTEND>0.01)WRITE(*,*)'ZMAXTEND',ZMAXTEND
     ! write LH profiles to array to save it for next time step
-    CALL NUDGLHPREP(KIDIA,KFDIA,KLON,KLEV,ZTENDT,KBL)
+    CALL NUDGLHPREP(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, ZTENDTT, &
+    & YDCPG_BNDS%KBL            )
     IF(MYPROC==1) WRITE(NULOUT,*)'calling LH successful finished'
     ! use LHN factor again on following time steps depending on NTAUNUDGLH
   ELSEIF(MOD(ISTEP,NINTNUDGLH)<NTAUNUDGLH.AND.MOD(ISTEP,NINTNUDGLH)>0 &
       & .AND.ISTEP>NINTNUDGLH) THEN
     IF(MYPROC==1)THEN
-      WRITE(NULOUT,*)'LH nudging applied-STEP:',KSTEP,'NUDGINGINT:',NINTNUDGLH
+      WRITE(NULOUT,*)'LH nudging applied-STEP:',YDCPG_OPTS%KSTEP,'NUDGINGINT:',NINTNUDGLH
       WRITE(NULOUT,*)'NTAUNUDGLH:',NTAUNUDGLH
     ENDIF
     ! get index for reading correctly most recent obs
@@ -3543,29 +3347,29 @@ IF (LNUDGLH.AND.KSTEP > NSTARTNUDGLH.AND.KSTEP <= NSTOPNUDGLH) THEN
     !IF(MYPROC==1) WRITE(NULOUT,*)'observation array:',JLHSTEP
     ! call nudging routine to modify LHN profile where necessary
     ! LHN factor is not recalculated but might be damped by RDAMPNUDGLH
-    CALL NUDGLH(NGPTOT,NPROMA,NGPBLKS,KIDIA,KFDIA,KLON,KLEV,ZACPRR_(KIDIA:KFDIA),&
-        & ZACPRS_(KIDIA:KFDIA),ZACPRG_(KIDIA:KFDIA),&
-        & ZTENDT(KIDIA:KFDIA,1:KLEV),JLHSTEP,KBL,&
-        & ZEXNREFM_(KIDIA:KFDIA,1:KLEV),.FALSE.,&
-        & LLHN(KIDIA:KFDIA,1:KLEV),ZPABSM__(KIDIA:KFDIA,1:KLEV),ZDT,&
-        & ZTHM__(KIDIA:KFDIA,1:KLEV),ZRM_(KIDIA:KFDIA,1:KLEV,:),&
-        & ZQDM(KIDIA:KFDIA,1:KLEV),PTENDR(KIDIA:KFDIA,1:KLEV,1),NRR,LNUDGLHNREAD)
+    CALL NUDGLH(NGPTOT, NPROMA, NGPBLKS, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG,                                                   &
+    & ZACPRR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZACPRS_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA), ZACPRG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),                          &
+    & ZTENDTT(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), JLHSTEP, YDCPG_BNDS%KBL, ZEXNREFM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), &
+    & .FALSE., LLHN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), ZPABSM__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG),                     &
+    & ZDT, ZTHM__(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), ZRM_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG, :),                        &
+    & ZQDM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG), ZTEND_Q(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA, 1:YDCPG_OPTS%KFLEVG),                               &
+    & NRR, LNUDGLHNREAD)
     !IF(MYPROC==1) WRITE(NULOUT,*)'calling LH successful - convert TH to T and
     !add temperature tendency'
     ! add LHN tendency to physics tendency, limit LHN tendency
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         IF(LLHN(JLON,JLEV))THEN
-          ZTENDT(JLON,JLEV)=MAX(ZTENDT(JLON,JLEV),RMINNUDGLH)
-          ZTENDT(JLON,JLEV)=MIN(ZTENDT(JLON,JLEV),RMAXNUDGLH)
-          PTENDT(JLON,JLEV)= PTENDT(JLON,JLEV)+ZTENDT(JLON,JLEV)*&
+          ZTENDTT(JLON,JLEV)=MAX(ZTENDTT(JLON,JLEV),RMINNUDGLH)
+          ZTENDTT(JLON,JLEV)=MIN(ZTENDTT(JLON,JLEV),RMAXNUDGLH)
+          ZTENDT(JLON,JLEV)= ZTENDT(JLON,JLEV)+ZTENDTT(JLON,JLEV)*&
            & RAMPLIFY*ZEXNREFM_(JLON,JLEV)
-          ZMINTEND=MIN(ZTENDT(JLON,JLEV),ZMINTEND)
-          ZMAXTEND=MAX(ZTENDT(JLON,JLEV),ZMAXTEND)
+          ZMINTEND=MIN(ZTENDTT(JLON,JLEV),ZMINTEND)
+          ZMAXTEND=MAX(ZTENDTT(JLON,JLEV),ZMAXTEND)
           ! keep RH constant if LNUDGLHCOMPT=T
-          IF(PTM(JLON,JLEV)>0.01_JPRB.AND.LNUDGLHCOMPT)THEN
-             PTENDR(JLON,JLEV,1)=PTENDR(JLON,JLEV,1)+RLVTT/RV/((PTM(JLON,JLEV))**2._JPRB)*&
-              & ZTENDT(JLON,JLEV)*RAMPLIFY*ZEXNREFM_(JLON,JLEV)*ZQSAT(JLON,JLEV)
+          IF(YDMF_PHYS_BASE_STATE%T(JLON,JLEV)>0.01_JPRB.AND.LNUDGLHCOMPT)THEN
+             ZTEND_Q(JLON,JLEV)=ZTEND_Q(JLON,JLEV)+RLVTT/RV/((YDMF_PHYS_BASE_STATE%T(JLON,JLEV))**2._JPRB)*&
+              & ZTENDTT(JLON,JLEV)*RAMPLIFY*ZEXNREFM_(JLON,JLEV)*ZQSAT(JLON,JLEV)
           ENDIF
         ENDIF
       ENDDO
@@ -3573,17 +3377,18 @@ IF (LNUDGLH.AND.KSTEP > NSTARTNUDGLH.AND.KSTEP <= NSTOPNUDGLH) THEN
     !IF(ZMAXTEND>0.01) WRITE(*,*)'ZMAXTEND',ZMAXTEND
     !IF(ZMINTEND<-0.01) WRITE(*,*)'ZMINTEND',ZMINTEND
     ! write LHN profiles to array for next timestep
-    CALL NUDGLHPREP(KIDIA,KFDIA,KLON,KLEV,ZTENDT,KBL)
+    CALL NUDGLHPREP(YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, ZTENDTT, &
+    & YDCPG_BNDS%KBL            )
     IF(MYPROC==1) WRITE(NULOUT,*)'calling LH successful finished'
   ENDIF
 ENDIF
 ! **end latent heat nudging***********
 
-    
+
 !    ------------------------------------------------------------------
 !     11 - SAVE FIELDS FOR EXT. SURFACE.
 !     --------------------------------------------------------------------
-!    Cette partie n'est plus necessaire apres branchement de la physique 
+!    Cette partie n'est plus necessaire apres branchement de la physique
 !    de surface sous apl_arome
 
 !    ------------------------------------------------------------------
@@ -3598,11 +3403,11 @@ IF (LUSECHEM) THEN
   ! JOUR DU MOIS
   IDAY = NINDAT - 10000*IYEAR - 100*IMONTH
 
-  DO JLON = KIDIA,KFDIA
-    ZLAT_(JLON) = 180. * ASIN(PGEMU(JLON)) / (2.*ASIN(1.))
-    ZLON_(JLON) = 180. * PGELAM(JLON) / (2.*ASIN(1.))
-    ZZENITH_(JLON) = ACOS( PMU0(JLON) )
-    ZZS_(JLON)=POROG(JLON)/RG
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZLAT_(JLON) = 180. * ASIN(YDVARS%GEOMETRY%GEMU%T0(JLON)) / (2.*ASIN(1.))
+    ZLON_(JLON) = 180. * YDVARS%GEOMETRY%GELAM%T0(JLON) / (2.*ASIN(1.))
+    ZZENITH_(JLON) = ACOS( ZRDG_MU0(JLON) )
+    ZZS_(JLON)=YDVARS%GEOMETRY%OROG%T0(JLON)/RG
     ZALB_UV_(JLON)=ZALBP(JLON,1)
   ENDDO
 
@@ -3610,26 +3415,26 @@ IF (LUSECHEM) THEN
   CALL SWAP_SVS
 
   DO JGFL=1,NGFL_EXT
-    DO JLEV=1,KLEV
-      DO JLON= KIDIA,KFDIA
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JLON= YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
         ! modify input
         ZSVSIN_(JLON,JLEV,JGFL)=MAX(0.0_JPRB, ZSVSIN_(JLON,JLEV,JGFL))
       ENDDO
     ENDDO
   ENDDO
   IEZDIAG_CHEM=NGFL_EZDIAG-IOFF_MFSHAL+1
-  CALL ARO_MNHC(ZSVSIN_,&
-   & ZRHODREFM__(:,1:KLEV),PDT, ZTHM__(:,1:KLEV), ZPABSM__(:,1:KLEV), ZRM_, ZLAT_, ZLON_, ZALB_UV_, &
-   & ZZS_, ZZENITH_,ZZZ_, IYEAR,IMONTH,IDAY, REAL(RHGMT,JPRB)+PDT/2._JPRB,&
-   & KFDIA,KLEV,NGFL_EXT, NRR, KSTEP+1,NULOUT,IEZDIAG_CHEM, ZPEZDIAG_(:,:,IOFF_MFSHAL:NGFL_EZDIAG),ZSVS_ )
+  CALL ARO_MNHC(ZSVSIN_, ZRHODREFM__(:, 1:YDCPG_OPTS%KFLEVG), YDCPG_OPTS%ZDTPHY, ZTHM__(:, 1:YDCPG_OPTS%KFLEVG), &
+  & ZPABSM__(:, 1:YDCPG_OPTS%KFLEVG), ZRM_, ZLAT_, ZLON_, ZALB_UV_, ZZS_, ZZENITH_, ZZZ_, IYEAR,      &
+  & IMONTH, IDAY, REAL(RHGMT, JPRB)+YDCPG_OPTS%ZDTPHY/2._JPRB, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, NGFL_EXT,    &
+  & NRR, YDCPG_OPTS%KSTEP+1, NULOUT, IEZDIAG_CHEM, ZPEZDIAG_(:, :, IOFF_MFSHAL:NGFL_EZDIAG), ZSVS_ )
  
-  PEZDIAG(KIDIA:KFDIA,1:KLEV,IOFF_MFSHAL:NGFL_EZDIAG)=ZPEZDIAG_(KIDIA:KFDIA,1:KLEV,IOFF_MFSHAL:NGFL_EZDIAG)
+  ZP1EZDIAG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,IOFF_MFSHAL:NGFL_EZDIAG)=ZPEZDIAG_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG,IOFF_MFSHAL:NGFL_EZDIAG)
 
   !inversion niveau de la tendance des scalaires passifs
   DO JGFL=1,NGFL_EXT
-    DO JLEV = 1,KLEV
-      DO JLON = KIDIA,KFDIA
-        PTENDEXT(JLON,JLEV,JGFL)=PTENDEXT(JLON,JLEV,JGFL)+(ZSVS_(JLON,JLEV,JGFL)-ZSVSIN_(JLON,JLEV,JGFL))
+    DO JLEV = 1,YDCPG_OPTS%KFLEVG
+      DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        ZTENDEXT(JLON,JLEV,JGFL)=ZTENDEXT(JLON,JLEV,JGFL)+(ZSVS_(JLON,JLEV,JGFL)-ZSVSIN_(JLON,JLEV,JGFL))
       ENDDO
     ENDDO
   ENDDO
@@ -3640,26 +3445,33 @@ ENDIF ! LUSECHEM
 !     13 - STOCHASTIC PHYSICS : PERTURB TENDENCIES
 !     -----------------------------------------------------------------
 
-IF(YSPPT_CONFIG%LSPSDT) THEN
+IF(LSPSDT) THEN
+
+  DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZMULNOISE(JLON,1)=PGP2DSDT(JLON,1,1)       ! Use a single 2D pattern for all levels
+  ENDDO
+
+  ZDUMMY(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=0.0_JPRB               ! Dummy nonphys tendency for compatibility with ecmwf stochphy
+  CALL SPPTEN (YDMODEL%YRML_PHY_EC%YRECLDP, YGFL, &
+  & YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, 1, YDCPG_OPTS%ZDTPHY, &  ! In: block indices, physicstimestep
+  & PTSL=YDMF_PHYS_BASE_STATE%T, PQSL=YDMF_PHYS_BASE_STATE%Q, PA=YDVARS%A%T1,       &  ! In: (T,Q,cloud) forsupersatcheck
+  & PAP=YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF, PAPH=YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE, &  ! In: Pfull, Phalf
+  & PDYN_U=ZDUMMY, PDYN_V=ZDUMMY, PDYN_T=ZDUMMY, PDYN_Q=ZDUMMY,                     &  ! In: dummy nonphys tendencies
+  & PUNP_U=ZDUMMY, PUNP_V=ZDUMMY, PUNP_T=ZDUMMY, PUNP_Q=ZDUMMY,                     &  ! In: (u,v,t,qv) tendencies to perturb
+  & PPHY_U=YDMF_PHYS%OUT%TENDU, PPHY_V=YDMF_PHYS%OUT%TENDV, PPHY_T=ZTENDT, PPHY_Q=ZTEND_Q,     &  ! In: (u,v,t,qv) tendencies to perturb
+  & PMULNOISE=ZMULNOISE,                                                            &  ! In: stochphy 3D random multiplicative pattern (less one)  
+  & PTENU=YDMF_PHYS%OUT%TENDU, PTENV=YDMF_PHYS%OUT%TENDV, PTENT=ZTENDT, PTENQ=ZTEND_Q )  ! Out: (u,v,t,qv) total perturbed tendencies
 
-  ZDUMMY(KIDIA:KFDIA,1:KLEV)=0.0_JPRB               ! Dummy nonphys tendency for compatibility with ecmwf stochphy
-  CALL SPPTEN (YDMODEL%YRML_PHY_EC%YRECLDP,YGFL, &
-   & KIDIA,KFDIA,KLON,KLEV,1,PDT,         &  ! In: block indices, physicstimestep
-   & PTSL=PTM,PQSL=PQVM, PA=PCLFS, PAP=PAPRSFM, PAPH=PAPRSM,   &  ! In: (T,Q,cloud) forsupersatcheck, Pfull, Phalf
-   & PDYN_U=ZDUMMY,PDYN_V=ZDUMMY,PDYN_T=ZDUMMY,PDYN_Q=ZDUMMY,  &  ! In: dummy nonphys tendencies
-   & PUNP_U=PTENDU,PUNP_V=PTENDV,PUNP_T=PTENDT,PUNP_Q=PTENDR(:,:,1), &  ! In: (u,v,t,qv) tendencies to perturb
-   & PMULNOISE=PGP2DSDT(1,1,1),                           &  ! In: stochphy 3D random multiplicative pattern (less one)
-   & PTENU=PTENDU,PTENV=PTENDV,PTENT=PTENDT,PTENQ=PTENDR(:,:,1) )    ! Out: (u,v,t,qv) total perturbed tendencies
 ENDIF
 
-IF(LFORCENL.AND.(KSTEP*(TSPHY/RHOUR)>=NFORCESTART).AND.&
-              & (KSTEP*(TSPHY/RHOUR)<=NFORCEEND)) THEN
-  DO JLEV=1,KLEV
-    DO JLON=KIDIA,KFDIA
-      PTENDU(JLON,JLEV)=PTENDU(JLON,JLEV)+AMAGSTOPH_CASBS*PFORCEU(JLON,JLEV)
-      PTENDV(JLON,JLEV)=PTENDV(JLON,JLEV)+AMAGSTOPH_CASBS*PFORCEV(JLON,JLEV)
-      PTENDT(JLON,JLEV)=PTENDT(JLON,JLEV)+AMAGSTOPH_CASBS*PFORCET(JLON,JLEV)
-      PTENDR(JLON,JLEV,1)=PTENDR(JLON,JLEV,1)+AMAGSTOPH_CASBS*PFORCEQ(JLON,JLEV)
+IF(LFORCENL.AND.(YDCPG_OPTS%KSTEP*(TSPHY/RHOUR)>=NFORCESTART).AND.&
+              & (YDCPG_OPTS%KSTEP*(TSPHY/RHOUR)<=NFORCEEND)) THEN
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS%OUT%TENDU(JLON,JLEV)=YDMF_PHYS%OUT%TENDU(JLON,JLEV)+AMAGSTOPH_CASBS*YDMF_PHYS%FOR%U(JLON,JLEV)
+      YDMF_PHYS%OUT%TENDV(JLON,JLEV)=YDMF_PHYS%OUT%TENDV(JLON,JLEV)+AMAGSTOPH_CASBS*YDMF_PHYS%FOR%V(JLON,JLEV)
+      ZTENDT(JLON,JLEV)=ZTENDT(JLON,JLEV)+AMAGSTOPH_CASBS*YDMF_PHYS%FOR%T(JLON,JLEV)
+      ZTEND_Q(JLON,JLEV)=ZTEND_Q(JLON,JLEV)+AMAGSTOPH_CASBS*YDMF_PHYS%FOR%Q(JLON,JLEV)
     ENDDO
   ENDDO
 ENDIF
@@ -3668,17 +3480,17 @@ ENDIF
 !     14 - FINAL CALCULATIONS.
 !     --------------------------------------------------------------------
 
-!forcage pour declencher la ligne de grain 
+!forcage pour declencher la ligne de grain
 IF (LSQUALL) THEN
   IF (LTWOTL) THEN
     ZDT2=2*ZDT
   ELSE
     ZDT2=ZDT
   ENDIF
-  IF((KSTEP+1)*ZDT2 < 600._JPRB) THEN
+  IF((YDCPG_OPTS%KSTEP+1)*ZDT2 < 600._JPRB) THEN
     WRITE(NULOUT, *)'refroidissement impose de',NREFROI1,' a ',NREFROI2
-    DO JLEV=KLEV,KLEV-20,-1
-      PTENDT(NREFROI1:NREFROI2,JLEV)=-0.01_JPRB
+    DO JLEV=YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KFLEVG-20,-1
+      ZTENDT(NREFROI1:NREFROI2,JLEV)=-0.01_JPRB
     ENDDO
   ENDIF
 ENDIF
@@ -3686,168 +3498,418 @@ ENDIF
 
 !ecriture du buffer
 IF(LLMSE.OR.LSFORCS) THEN
-  DO JLON = KIDIA,KFDIA
-    PGPAR(JLON,MINPRR)=ZINPRR_(JLON)+ZSURFPREP(JLON)/1000._JPRB
-    PGPAR(JLON,MINPRS)=ZINPRS_(JLON)+ZSURFSNOW(JLON)/1000._JPRB
-    PGPAR(JLON,MINPRG)=ZINPRG_(JLON)+ZINPRH_(JLON)
-    PGPAR(JLON,MACPRR)=PGPAR(JLON,MACPRR)+(ZINPRR_(JLON)+ZSURFPREP(JLON)/1000._JPRB)*PDT
-    PGPAR(JLON,MACPRS)=PGPAR(JLON,MACPRS)+(ZINPRS_(JLON)+ZSURFSNOW(JLON)/1000._JPRB)*PDT
-    PGPAR(JLON,MACPRG)=PGPAR(JLON,MACPRG)+(ZINPRG_(JLON)+ZINPRH_(JLON))*PDT
-  ENDDO
-  PGPAR(KIDIA:KFDIA,MVTS)=ZTSURF(KIDIA:KFDIA)
-  PGPAR(KIDIA:KFDIA,MVEMIS)=ZEMIS(KIDIA:KFDIA)
-  PGPAR(KIDIA:KFDIA,MVQS)=ZQS(KIDIA:KFDIA)
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    YDCPG_GPAR%INPRR(JLON)=ZINPRR_(JLON)+ZSURFPREP(JLON)/1000._JPRB
+    YDCPG_GPAR%INPRS(JLON)=ZINPRS_(JLON)+ZSURFSNOW(JLON)/1000._JPRB
+    YDCPG_GPAR%INPRG(JLON)=ZINPRG_(JLON)+ZINPRH_(JLON)
+    YDCPG_GPAR%ACPRR(JLON)=YDCPG_GPAR%ACPRR(JLON)+(ZINPRR_(JLON)+ZSURFPREP(JLON)/1000._JPRB)*YDCPG_OPTS%ZDTPHY
+    YDCPG_GPAR%ACPRS(JLON)=YDCPG_GPAR%ACPRS(JLON)+(ZINPRS_(JLON)+ZSURFSNOW(JLON)/1000._JPRB)*YDCPG_OPTS%ZDTPHY
+    YDCPG_GPAR%ACPRG(JLON)=YDCPG_GPAR%ACPRG(JLON)+(ZINPRG_(JLON)+ZINPRH_(JLON))*YDCPG_OPTS%ZDTPHY
+  ENDDO
+  YDCPG_GPAR%VTS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZTSURF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+  YDCPG_GPAR%VEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZEMIS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+  YDCPG_GPAR%VQS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=ZQS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
   DO JSW=1,NSW
-    PGPAR(KIDIA:KFDIA,MALBDIR-1+JSW)=ZALBP(KIDIA:KFDIA,JSW)
-    PGPAR(KIDIA:KFDIA,MALBSCA-1+JSW)=ZALBD(KIDIA:KFDIA,JSW)
+    YDCPG_GPAR%ALBDIR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=ZALBP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)
+    YDCPG_GPAR%ALBSCA(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)=ZALBD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JSW)
   ENDDO
 ENDIF
 
-IF (LMUSCLFA) CALL ECR1D(NMUSCLFA,'PCLCT_apl',PCLCT,1,KLON)
+IF (LMUSCLFA) CALL ECR1D(NMUSCLFA, 'PCLCT_apl', YDCPG_MISC%CLCT, 1, YDCPG_OPTS%KLON)
 ! initialisations for CFU for Rainfalls
-DO JLEV = 0,KLEV
-  DO JLON = KIDIA,KFDIA
+DO JLEV = 0,YDCPG_OPTS%KFLEVG
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ! conversion from m/s in mm/s
-    PFPLSL(JLON,JLEV)= ZINPRR_(JLON)*1000._JPRB+ZSURFPREP(JLON)
-    PFPLSN(JLON,JLEV)= ZINPRS_(JLON)*1000._JPRB+ZSURFSNOW(JLON)
-    PFPLSG(JLON,JLEV)= ZINPRG_(JLON)*1000._JPRB
-    PFPLSH(JLON,JLEV)= ZINPRH_(JLON)*1000._JPRB
+    YDMF_PHYS%OUT%FPLSL(JLON,JLEV)= ZINPRR_(JLON)*1000._JPRB+ZSURFPREP(JLON)
+    YDMF_PHYS%OUT%FPLSN(JLON,JLEV)= ZINPRS_(JLON)*1000._JPRB+ZSURFSNOW(JLON)
+    YDMF_PHYS%OUT%FPLSG(JLON,JLEV)= ZINPRG_(JLON)*1000._JPRB
+    YDMF_PHYS%OUT%FPLSH(JLON,JLEV)= ZINPRH_(JLON)*1000._JPRB
     ! conversion in correct Unit for BADP (same as ALADIN)
-    PSTRTU(JLON,JLEV)= ZSFU_(JLON)*ZRHODREFM__(JLON,IKB) 
-    PSTRTV(JLON,JLEV)= ZSFV_(JLON)*ZRHODREFM__(JLON,IKB) 
+    YDMF_PHYS%OUT%STRTU(JLON,JLEV)= ZSFU_(JLON)*ZRHODREFM__(JLON,IKB) 
+    YDMF_PHYS%OUT%STRTV(JLON,JLEV)= ZSFV_(JLON)*ZRHODREFM__(JLON,IKB) 
   ENDDO
 ENDDO
 !Hail diagnostic
-PDIAGH(KIDIA:KFDIA)=0._JPRB
+YDMF_PHYS%OUT%DIAGH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
 IF (LXXDIAGH) THEN
-  DO JLEV=1,KLEV
-    DO JLON=KIDIA,KFDIA
-      PDIAGH(JLON)=PDIAGH(JLON)+ZQGM(JLON,JLEV)*PDELPM(JLON,JLEV)*ZINVG
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    DO JLON=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS%OUT%DIAGH(JLON)=YDMF_PHYS%OUT%DIAGH(JLON)+ZQGM(JLON,JLEV)*YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP(JLON,JLEV)*ZINVG
     ENDDO
   ENDDO
 ENDIF
 ! lightening density
 IF (LFLASH) THEN
-  IF (KSTEP==0) PFLASH=0._JPRB
+  IF (YDCPG_OPTS%KSTEP==0) YDMF_PHYS%OUT%FLASH=0._JPRB
 
-  CALL DIAGFLASH(YDCFU,KIDIA,KFDIA,KLON,KLEV,KSTEP,&
-    &ZQCM,ZQIM,ZQRM,ZQSM,ZQGM,ZQHM,&
-    &PDELPM,ZTM,PWM,PLSM,PFLASH)
+  CALL DIAGFLASH(YDCFU,YDMODEL%YRML_PHY_MF,YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA,YDCPG_OPTS%KLON,YDCPG_OPTS%KFLEVG,YDCPG_OPTS%KSTEP,&
+    &ZQCM,ZQIM,ZQRM,ZQSM,ZQGM,ZQHM,YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP,ZTM,YDMF_PHYS_BASE_STATE%YCPG_PHY%W,ZDUMMY,ZDUMMY,ZDUMMY,ZDUMMY,&
+    &YDMF_PHYS_SURF%GSD_VF%PLSM, YDMF_PHYS%OUT%FLASH)
 ENDIF
 !!! modif pour LMSE non activee
 IF (LLMSE) THEN
-  DO JLEV=1,KSGST+1
-    DO JLON = KIDIA,KFDIA
-      PFCS(JLON,JLEV)=-ZSFTH_(JLON)*ZRHODREFM__(JLON,IKB)*RCPD
-      PFCLL(JLON,JLEV) = PFCLL(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
-      PFCLN(JLON,JLEV) = PFCLN(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
-      PFEVL(JLON,JLEV) = PFEVL(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
-      PFEVN(JLON,JLEV) = PFEVN(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
+  DO JLEV=1,NTSSG+1
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS%OUT%FCS(JLON,JLEV)=-ZSFTH_(JLON)*ZRHODREFM__(JLON,IKB)*RCPD
+      YDMF_PHYS%OUT%FCLL(JLON,JLEV) = YDMF_PHYS%OUT%FCLL(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
+      YDMF_PHYS%OUT%FCLN(JLON,JLEV) = YDMF_PHYS%OUT%FCLN(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
+      YDMF_PHYS%OUT%FEVL(JLON,JLEV) = YDMF_PHYS%OUT%FEVL(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
+      YDMF_PHYS%OUT%FEVN(JLON,JLEV) = YDMF_PHYS%OUT%FEVN(JLON,JLEV)*ZRHODREFM__(JLON,IKB)
     ENDDO
   ENDDO
 ENDIF
 IF (LSFORCS) THEN
-  DO JLEV=1,KSGST+1
-    DO JLON = KIDIA,KFDIA
-      PFCS(JLON,JLEV)=-ZSFTH_(JLON)*ZRHODREFM__(JLON,IKB)*RCPD
+  DO JLEV=1,NTSSG+1
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS%OUT%FCS(JLON,JLEV)=-ZSFTH_(JLON)*ZRHODREFM__(JLON,IKB)*RCPD
       ZDELTA=MAX(0.0_JPRB,SIGN(1.0_JPRB,RTT-ZTSURF(JLON)))
-      PFCLL(JLON,JLEV)=-ZSFRV_(JLON)*ZRHODREFM__(JLON,IKB)* FOLH (ZTSURF(JLON),0._JPRB)*(1.0_JPRB-ZDELTA)
-      PFCLN(JLON,JLEV)=-ZSFRV_(JLON)*ZRHODREFM__(JLON,IKB)* FOLH (ZTSURF(JLON),0._JPRB)*ZDELTA
+      YDMF_PHYS%OUT%FCLL(JLON,JLEV)=-ZSFRV_(JLON)*ZRHODREFM__(JLON,IKB)* FOLH (ZTSURF(JLON),0._JPRB)*(1.0_JPRB-ZDELTA)
+      YDMF_PHYS%OUT%FCLN(JLON,JLEV)=-ZSFRV_(JLON)*ZRHODREFM__(JLON,IKB)* FOLH (ZTSURF(JLON),0._JPRB)*ZDELTA
     ENDDO
   ENDDO
-ENDIF  
+ENDIF
 
-DO JSG  = 1, KSGST+1
-  DO JLEV = 0, KLEV
-    DO JLON = KIDIA, KFDIA
-      PFRTH(JLON,JLEV,JSG)=PFRTH(JLON,JLEV,JSG)+ZBUDTH_(JLON)
+DO JSG  = 1, NTSSG+1
+  DO JLEV = 0, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA
+      YDMF_PHYS%OUT%FRTH(JLON,JLEV,JSG)=YDMF_PHYS%OUT%FRTH(JLON,JLEV,JSG)+ZBUDTH_(JLON)
     ENDDO
   ENDDO
 ENDDO
 
+IF (LFLEXDIA) THEN
+      !   surface variables
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS_SURF%GSD_VF%PLSM,'SVLSM',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTSURF,'SVTS',YDDDH,CDTYPE='V')
+      !am: FIXME: issue of shape of PF_T1 (2D) when arg should be 1D
+      !CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS_SURF%GSP_SG%PF_T1,'SVWN',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%TCLS,'SVTCLS',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%QCLS,'SVQCLS',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%RHCLS,'SVHUCLS',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%UCLS,'SVUCLS',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%VCLS,'SVVCLS',YDDDH,CDTYPE='V')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%CLPH,'SVPBLH',YDDDH,CDTYPE='V')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*ZWS2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SVWS',YDDDH,CDTYPE='V')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*ZWP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SVWP',YDDDH,CDTYPE='V')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*ZWSI2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SVWIS',YDDDH,CDTYPE='V')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*ZWPI2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SVWIP',YDDDH,CDTYPE='V')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*ZTP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SVTP',YDDDH,CDTYPE='V')
+      !am: FIXME: issue of shape of PF_T1 (2D) when arg should be 1D
+      !ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*YDMF_PHYS_SURF%GSP_SG%PF_T1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDVARS%GEOMETRY%OROG%T0,'SVOROG',YDDDH,CDTYPE='V')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*YDMF_PHYS%OUT%FEVL(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFEVAPLIQ',YDDDH,CDTYPE='F')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*YDMF_PHYS%OUT%FEVN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFEVAPNEG',YDDDH,CDTYPE='F')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*YDMF_PHYS%OUT%FCLL(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFCHLATLI',YDDDH,CDTYPE='F')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*YDMF_PHYS%OUT%FCLN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFCHLATNE',YDDDH,CDTYPE='F')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_SURF%GSD_VF%PLSM(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)*YDMF_PHYS%OUT%FCS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1)
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFCHSENS',YDDDH,CDTYPE='F')
+      !set to 0._JPRB
+      ! ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=0._JPRB
+      !CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFFONTESL',YDDDH,CDTYPE='F')
+      !CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFLIQSNPL',YDDDH,CDTYPE='F')
+      !CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SFFONTESN',YDDDH,CDTYPE='F')
+
+      ! surface radiation
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FRSO(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,1),'SFRAYSO',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FRTH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,1),'SFRAYTH',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FRSODS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),'SFRAYSODS',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FRTHDS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA),'SFRAYTHDS',YDDDH,CDTYPE='F')
+      ZTMP(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=1_JPRB-YDMF_PHYS%OUT%FRSO(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG,1)/MAX(ZEPSNEB,YDMF_PHYS%OUT%FRSODS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA))
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP,'SVALB',YDDDH,CDTYPE='V')
+      ! surface precipitations
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FPLSL(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),'SFPRELIGE',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FPLSN(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),'SFPRENEGE',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FPLSG(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),'SFPREGRPL',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%FPLSH(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),'SFPREHAIL',YDDDH,CDTYPE='F')
+      ! surface wind stress
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%STRTU(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),'SFUUTUR',YDDDH,CDTYPE='F')
+      CALL NEW_ADD_FIELD_2D(YDMODEL%YRML_DIAG%YRMDDH,YDMF_PHYS%OUT%STRTV(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG),'SFVVTUR',YDDDH,CDTYPE='F')
+
+     ! WRITE(NULOUT,*) 'LFLEXDIA ARPEGE WITH NTOTSURF = ',NTOTSURF,&
+     !    & ' AND NTOTSVAR = ',NTOTSVAR, ' AND NTOTSVFS = ',NTOTSVFS
+     ! 3D Variables :
+      ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0)=0._JPRB
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,2)+ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,4)
+      ENDDO
+      !ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,2)+ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,3)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP2(:,:),'FQTPRECISTL',YDDDH)
+      DO JLEV=1,YDCPG_OPTS%KFLEVG                                                                                                   
+        ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,4)+ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,5)
+      ENDDO
+      !ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,4)+ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,5)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP2(:,:),'FQTPRECISTN',YDDDH)
+
+ENDIF
+
+
 ! daand: radflex
 IF (LINTFLEX) THEN
   ! account for radiation separately
   LLRAD=.NOT.LRADFLEX
     
-  CALL APL_AROME2INTFLEX(YGFL,YDPARAR,YDPHY,KLON,KIDIA,KFDIA,KLEV, PDT,&
-   & PRDELPM, PUM, PVM, PTM, PGPAR(1,MVTS), PCPM,&
-   & ZFPR,&! precipitation fluxes
-   & LLRAD, PFRTH, PFRSO,&! radiative fluxes
-   & PTENDU, PTENDV, PTENDT,&! momentum and temperature tendencies
-   & PTENDR, PTENDTKE, PTENDEXT,&! total gfl tendencies
-   & YDPROCSET)
+  CALL APL_AROME2INTFLEX(YGFL, YDPARAR, YDPHY, YDCPG_OPTS%KLON, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KFLEVG, &
+  & YDCPG_OPTS%ZDTPHY, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%RDELP, YDMF_PHYS_BASE_STATE%U, YDMF_PHYS_BASE_STATE%V,                   &
+  & YDMF_PHYS_BASE_STATE%T, YDCPG_GPAR%VTS, YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%CP, ZFPR, LLRAD, YDMF_PHYS%OUT%FRTH,     &
+  & YDMF_PHYS%OUT%FRSO, YDMF_PHYS%OUT%TENDU, YDMF_PHYS%OUT%TENDV, ZTENDT, ZTENDRA, ZTENDTKE,                           &
+  & ZTENDEXT, YLPROCSET)
 ENDIF
 
 
 ! Precipitation Type
 
 ! Compute wet-bulb temperature at 2 meters (suppose homogeneity of qv/ql/qi )
-!ZPCLS(KIDIA:KFDIA)=PAPRSM(KIDIA:KFDIA,KLEV)-2._JPRB/ZZZF(KIDIA:KFDIA,1,KLEV)*&
-!                 &(PAPRSM(KIDIA:KFDIA,KLEV)-PAPRSFM(KIDIA:KFDIA,KLEV))
+!ZPCLS(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA)=YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)-2._JPRB/ZZZF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1,YDCPG_OPTS%KFLEVG)*&
+!                 &(YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG)-YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,YDCPG_OPTS%KFLEVG))
 
-CALL PPWETPOINT(YDPHY,KIDIA,KFDIA,KLON,PAPRSM(:,KLEV),PTCLS,&
-  & PQCLS,ZQCM(:,KLEV),ZQIM(:,KLEV),PTPWCLS)
+CALL PPWETPOINT(YDCST, YDPHY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDMF_PHYS_BASE_STATE%YCPG_PHY%PRE(:, YDCPG_OPTS%KFLEVG), &
+& YDMF_PHYS%OUT%TCLS, YDMF_PHYS%OUT%QCLS, ZQCM(:, YDCPG_OPTS%KFLEVG), ZQIM(:, YDCPG_OPTS%KFLEVG), YDMF_PHYS%OUT%TPWCLS               &
+&                                                             )
 
 IF (LDPRECIPS.OR.LDPRECIPS2) THEN
 
   !initialisation de ZDZZ
-  DO JLON = KIDIA,KFDIA
+  DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
     ZDZZ(JLON,1)=ZAPHIM(JLON,0)*ZINVG-ZZZ_(JLON,1)
   ENDDO
-  DO JLEV = 2, KLEV
-    DO JLON = KIDIA,KFDIA
+  DO JLEV = 2, YDCPG_OPTS%KFLEVG
+    DO JLON = YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
       ZDZZ(JLON,JLEV)=ZZZ_(JLON,JLEV+IKL)-ZZZ_(JLON,JLEV)
     ENDDO
   ENDDO
 
 
   ! Compute wet-bulb temperature
-  DO JLEV=1,KLEV
-      CALL PPWETPOINT(YDPHY,KIDIA,KFDIA,KLON,PAPRSFM(:,JLEV),ZTM(:,JLEV),&
-       & ZQVM(:,JLEV),ZQCM(:,JLEV),ZQIM(:,JLEV),ZTPW(:,JLEV))
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+      CALL PPWETPOINT(YDCST, YDPHY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDMF_PHYS_BASE_STATE%YCPG_PHY%PREF(:, JLEV), &
+      & ZTM(:, JLEV), ZQVM(:, JLEV), ZQCM(:, JLEV), ZQIM(:, JLEV), ZTPW(:, JLEV))
   ENDDO
 
   IF (LDPRECIPS) THEN
    ! Defined precipitation type 
    !
-   NDTPRECCUR=INT(MOD(ZSTATI/TSTEP,REAL(NDTPREC)))+1_JPIM
-   !PDPRECIPS(:,NDTPRECCUR)=HUGE(1._JPRB)
-   PDPRECIPS(:,NDTPRECCUR)=0._JPRB
+   ZPRC_DPRECIPS(:,YDCPG_OPTS%NDTPRECCUR)=0._JPRB
 
-   !WRITE(NULOUT,*)'sous apl_arome NDTPRECCUR=',NDTPRECCUR,NDTPREC
-   CALL DPRECIPS(YDPRECIPS,KIDIA,KFDIA,KLON,KLEV,POROG,PTPWCLS,PDIAGH,PAPHIFM,&
-      & ZDZZ,ZTPW,ZQCM,PFPLSL(:,KLEV),PFPLSN(:,KLEV),PFPLSG(:,KLEV),PDPRECIPS(:,NDTPRECCUR))
+   CALL DPRECIPS(YDCST, YDPRECIPS, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDVARS%GEOMETRY%OROG%T0, &
+   & YDMF_PHYS%OUT%TPWCLS, YDMF_PHYS%OUT%DIAGH, YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF, ZDZZ, ZTPW, ZQCM,                                       &
+   & YDMF_PHYS%OUT%FPLSL(:, YDCPG_OPTS%KFLEVG), YDMF_PHYS%OUT%FPLSN(:, YDCPG_OPTS%KFLEVG), YDMF_PHYS%OUT%FPLSG(:, YDCPG_OPTS%KFLEVG),       &
+   & ZPRC_DPRECIPS(:, YDCPG_OPTS%NDTPRECCUR)                                                                                                &
+   &                                                                                             )
   ENDIF
 
   IF (LDPRECIPS2) THEN
 
    !Idem for an other time step and an other period
-   NDTPRECCUR2=INT(MOD(ZSTATI/TSTEP,REAL(NDTPREC2)))+1_JPIM
-   PDPRECIPS2(:,NDTPRECCUR2)=0._JPRB
+   ZPRC_DPRECIPS2(:,YDCPG_OPTS%NDTPRECCUR2)=0._JPRB
 
-   CALL DPRECIPS(YDPRECIPS,KIDIA,KFDIA,KLON,KLEV,POROG,PTPWCLS,PDIAGH,PAPHIFM,&
-      & ZDZZ,ZTPW,ZQCM,PFPLSL(:,KLEV),PFPLSN(:,KLEV),PFPLSG(:,KLEV),PDPRECIPS2(:,NDTPRECCUR2))
+   CALL DPRECIPS(YDCST, YDPRECIPS, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_OPTS%KLON, YDCPG_OPTS%KFLEVG, YDVARS%GEOMETRY%OROG%T0,  &
+   & YDMF_PHYS%OUT%TPWCLS, YDMF_PHYS%OUT%DIAGH, YDMF_PHYS_BASE_STATE%YCPG_DYN%PHIF, ZDZZ, ZTPW, ZQCM,                                        &
+   & YDMF_PHYS%OUT%FPLSL(:, YDCPG_OPTS%KFLEVG), YDMF_PHYS%OUT%FPLSN(:, YDCPG_OPTS%KFLEVG), YDMF_PHYS%OUT%FPLSG(:, YDCPG_OPTS%KFLEVG),        &
+   & ZPRC_DPRECIPS2(:, YDCPG_OPTS%NDTPRECCUR2)                                                                                               &
+   &                                                                                 )
 
   ENDIF
 
 ENDIF
 
+!Save surface temperature
+IF (LMSE.OR.LSFORCS) THEN
+  IF (LLXFUMSE) THEN
+    DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS_SURF%GSP_RR%PT_T0(JROF)=YDCPG_GPAR%VTS(JROF)
+    ENDDO
+  ELSE
+    DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      YDMF_PHYS_SURF%GSP_RR%PT_T1(JROF)=YDCPG_GPAR%VTS(JROF)
+    ENDDO
+  ENDIF 
+ENDIF  
+!      4.2  COMPUTE THE PHYS. TENDENCY FOR "T" AND "w"
+!           ------------------------------------------
+
+IF (LVERTFE.AND.LVFE_GWMPA) THEN
+  ! * case LVFE_GWMPA not yet coded.
+  !   (in this case ZGWT1 must be computed at full levels and
+  !   not at half levels)
+  CALL ABOR1(' APL_AROME: case LVFE_GWMPA not yet coded if LMPA=T!')
+ENDIF
+
+! * compute ZTT1:
+IF (LSLAG.AND.LTWOTL) THEN
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZTT1(JROF,JLEV)=YDVARS%T%T0(JROF,JLEV)+YDCPG_OPTS%ZDTPHY*ZTENDT(JROF,JLEV)
+    ENDDO
+  ENDDO
+ELSE
+  DO JLEV=1,YDCPG_OPTS%KFLEVG
+    DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZTT1(JROF,JLEV)=YDVARS%T%T9(JROF,JLEV)+YDCPG_OPTS%ZDTPHY*ZTENDT(JROF,JLEV)
+    ENDDO
+  ENDDO
+ENDIF
+
+! * compute ZGWT1 = tendency of gw:
+IF (LNHDYN) THEN
+  ! Valid for LVFE_GWMPA=F only; ZGWT1 assumed to be half level values.
+  DO JLEV=1,YDCPG_OPTS%KFLEVG-1
+    DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+      ZGWT1(JROF,JLEV)=0.5_JPRB*RG*(ZTENDW(JROF,JLEV)+ZTENDW(JROF,JLEV+1))
+    ENDDO
+  ENDDO
+  DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+    ZGWT1(JROF,YDCPG_OPTS%KFLEVG)=0.0_JPRB
+    ZGWT1(JROF,0)=0.0_JPRB
+  ENDDO
+ENDIF
 
+! * convert gw tendency in d tendency:
+IF(LNHDYN) THEN
+
+  IF (LGWADV) THEN
+    ZTENDD(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=ZGWT1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+  ELSE
+
+    ! * Provide the appropriate version of (RT) at t+dt for GNHGW2SVDAROME:
+    IF (L_RDRY_VD) THEN
+      ! Use Rd because "dver" is currently defined with Rd.
+      ZRTT1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)=RD*ZTT1(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,1:YDCPG_OPTS%KFLEVG)
+    ELSE
+      ! Use "moist R" because "dver" is defined with "moist R".
+      ! Unfortunately, R(t+dt) is not yet available there, use R(t) instead.
+      ! "Moist R" tendency is neglected in the below call to GNHGW2SVDAROME.
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+          ZRTT1(JROF,JLEV)=YDCPG_DYN0%RCP%R(JROF,JLEV)*ZTT1(JROF,JLEV)
+        ENDDO
+      ENDDO
+    ENDIF
+
+    ! * Do conversion:
+    IF (LSLAG.AND.LTWOTL) THEN
+      CALL GNHGW2SVDAROME(YDGEOMETRY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_PHY0%PREHYDF, YDCPG_PHY0%XYB%LNPR, &
+      & ZRTT1, YDCPG_PHY0%PREF, ZGWT1, ZTENDD)  
+    ELSE
+      CALL GNHGW2SVDAROME(YDGEOMETRY, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA, YDCPG_PHY9%PREHYDF, YDCPG_PHY9%XYB%LNPR, &
+      & ZRTT1, YDCPG_PHY9%PREF, ZGWT1, ZTENDD)  
+    ENDIF
+
+  ENDIF
+ELSE
+  ZTENDD=0.0_JPRB
+ENDIF
+
+!      4.3  PUT THE TENDENCIES IN PB1/GFLT1/GMVT1.
+!           --------------------------------------
+
+
+IF (LSLAG) CALL CP_PTRSLB1(YDMODEL%YRML_DYN%YRDYN, YDPTRSLB1, ISLB1U9, ISLB1V9, ISLB1T9, ISLB1VD9, &
+           & ISLB1GFL9)
+IF ( LINTFLEX ) THEN
+
+  ! Set GFL tendencies to 0
+  ZTENDGFL(:,:,:) = 0.0_JPRB
+
+  CALL CPTEND_FLEX( YDLDDH, YDMDDH, YGFL, YDPHY, YDCPG_OPTS%KLON, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA,                &
+  & YDCPG_OPTS%KFLEVG, YDVARS%GEOMETRY%GNORDL%T0, YDVARS%GEOMETRY%GNORDM%T0, YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP, &
+  & YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%RDELP, YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%CP, YDMF_PHYS_BASE_STATE%U,           &
+  & YDMF_PHYS_BASE_STATE%V, YDMF_PHYS_BASE_STATE%T, YDMF_PHYS_BASE_STATE%YGSP_RR%T, PGFL, YLPROCSET,                 &
+  & YDMF_PHYS%OUT%TENDU, YDMF_PHYS%OUT%TENDV, ZTENDH, ZTENDGFL, YDMF_PHYS%OUT%FHSCL, YDMF_PHYS%OUT%FHSCN,            &
+  & YDMF_PHYS%OUT%FHSSL, YDMF_PHYS%OUT%FHSSN, YDMF_PHYS%OUT%FHPCL, YDMF_PHYS%OUT%FHPCN, YDMF_PHYS%OUT%FHPSL,         &
+  & YDMF_PHYS%OUT%FHPSN, PFEPFP =YDMF_PHYS%OUT%FEPFP, PFCMPCQ=YDMF_PHYS%OUT%FCMPCQ, PFCMPSN=YDMF_PHYS%OUT%FCMPSN,    &
+  & PFCMPSL=YDMF_PHYS%OUT%FCMPSL, YDDDH=YDDDH )
+  
+  CALL CPUTQY(YDGEOMETRY%YRDIMV, YDGMV, YGFL, YDPTRSLB1, YDPHY, YDCPG_OPTS%KLON, YDCPG_BNDS%KIDIA, YDCPG_BNDS%KFDIA,  &
+  & YDCPG_OPTS%KFLEVG, YDCPG_OPTS%ZDTPHY, IPGFL, ISLB1T9, ISLB1U9, ISLB1V9, ISLB1VD9, ISLB1GFL9, ZTENDH, ZTENDT,                 &
+  & YDMF_PHYS%OUT%TENDU, YDMF_PHYS%OUT%TENDV, ZTENDU, ZTENDV, ZTENDD, ZTENDGFL, YDMF_PHYS_BASE_STATE%YCPG_DYN%RCP%CP, &
+  & YDMF_PHYS_BASE_STATE%YCPG_PHY%XYB%DELP, YDMF_PHYS_BASE_STATE%T, YDMF_PHYS_BASE_STATE%U, YDMF_PHYS_BASE_STATE%V,   &
+  & YDCPG_SL1%ZVIEW, PGMVT1, PGFLT1, YDMF_PHYS%OUT%FDIS)    
+   
+ELSE
+
+  ! start ZTENDGFLR at 1 because it is dimensionned (:,:,0:n)
+  CALL CPUTQY_AROME_EXPL (YDMF_PHYS_NEXT_STATE, YDVARS, YDMODEL, YDGEOMETRY%YRDIMV, YDCPG_BNDS,  &
+  & YDCPG_OPTS, YDCPG_OPTS%ZDTPHY, ZTEND_Q, ZTEND_L, ZTEND_R, ZTEND_I, ZTEND_S, ZTEND_G, ZTEND_H, ZTENDTKE, &
+  & ZTENDT, YDMF_PHYS%OUT%TENDU, YDMF_PHYS%OUT%TENDV, ZTENDD)
+  CALL CPUTQY_AROME_LOOP (YDMODEL, YDGEOMETRY%YRDIMV, YDGMV, YDCPG_BNDS, YDCPG_OPTS, YDCPG_OPTS%ZDTPHY, IPGFL, &
+  & IPTR, ZTENDGFLR(:, :, 1:), YDCPG_SL1%ZVIEW, PGMVT1, PGFLT1)
+ENDIF
+  
+
+!     ------------------------------------------------------------------ 
+!*       5.    Final calculations.
+!              -------------------
+
+! * Restore the initial value of some pseudo-historical surface buffers
+!   if relevant.
+IF (LLDIAB) THEN
+  IF (LL_SAVE_PHSURF) THEN
+    CALL MF_PHYS_SAVE_PHSURF_PART2 (YDCPG_BNDS, YDCPG_OPTS, ZSAV_DDAL, ZSAV_DDOM, ZSAV_ENTCH,                           &
+    & ZSAV_FHPS, ZSAV_GZ0F, ZSAV_GZ0HF, ZSAV_HV, ZSAV_PBLH, ZSAV_QSH, ZSAV_UDAL, ZSAV_UDGRO,                            &
+    & ZSAV_UDOM, ZSAV_UNEBH, YDMF_PHYS_SURF%GSD_VF%PZ0F, YDMF_PHYS_SURF%GSD_VH%PPBLH, YDMF_PHYS_SURF%GSD_VH%PQSH,       &
+    & YDMF_PHYS_SURF%GSD_VH%PSPSH, YDMF_PHYS_SURF%GSD_VK%PUDGRO, YDMF_PHYS_SURF%GSD_VV%PHV, YDMF_PHYS_SURF%GSD_VV%PZ0H, &
+    & YDVARS%DAL%T0, YDVARS%DOM%T0, YDVARS%UAL%T0, YDVARS%UEN%T0, YDVARS%UNEBH%T0, YDVARS%UOM%T0,                       &
+    & YDMODEL)
+  ENDIF
+ENDIF
+
+!-------------------------------------------------
+! Extract Single Column Model profiles from 3D run or 
+! write LFA file for MUSC (1D model)
+!-------------------------------------------------
+IF(LGSCM.OR.LMUSCLFA) THEN
+  IF (LAROME) THEN
+    DO JLEV=1,YDCPG_OPTS%KFLEVG
+      DO JROF=YDCPG_BNDS%KIDIA,YDCPG_BNDS%KFDIA
+        YDCPG_MISC%NEB(JROF,JLEV)=YDVARS%A%T1(JROF,JLEV)
+      ENDDO
+    ENDDO
+  ENDIF
+  CALL WRITEPHYSIO(YDGEOMETRY, YDCPG_MISC, YDCPG_PHY0, YDMF_PHYS, YDCPG_DYN0, YDMF_PHYS_SURF, YDVARS,         &
+  & YDSURF, YDDPHY, YDRIP, YDMODEL%YRML_PHY_MF, YDCPG_BNDS%KFDIA, YDCPG_BNDS%KIDIA, YDCPG_OPTS%KGL1,          &
+  & YDCPG_OPTS%KGL2, YDCPG_BNDS%KSTGLO, YDCPG_OPTS%KSTEP, NTSSG, YSP_SBD%NLEVS, YDVARS%GEOMETRY%GELAM%T0,     &
+  & YDVARS%GEOMETRY%GEMU%T0, YDVARS%GEOMETRY%GM%T0, YDVARS%GEOMETRY%OROG%T0, YDVARS%GEOMETRY%RCORI%T0,        &
+  & YDVARS%GEOMETRY%RATATH%T0, YDVARS%GEOMETRY%RATATX%T0, YDVARS%GEOMETRY%GECLO%T0, YDVARS%GEOMETRY%GESLO%T0, &
+  & ZRDG_CVGQ, ZRDG_LCVQ, ZRDG_MU0               )
+ENDIF
+
+IF (LEDR) THEN
+  YDMF_PHYS_SURF%GSD_DI%PXEDR(:,:)=YDMF_PHYS%OUT%EDR(:,:)
+ENDIF
+
+CALL MF_PHYS_PRECIPS (YDCPG_BNDS, YDCPG_OPTS, ZPRC_DPRECIPS, ZPRC_DPRECIPS2, YDMF_PHYS_SURF%GSD_XP%PPRECIP, &
+& YDMF_PHYS_SURF%GSD_XP2%PPRECIP2, YDMODEL)
+
+!       6. destructor for procset
+IF (LINTFLEX) CALL CLEANINTPROCSET(YLPROCSET)
+
+! Clear SPP
+IF (YSPP_CONFIG%LSPP) CALL CLEAR_ALL_SPP(ZSPP_ALL)
+
+!     ------------------------------------------------------------------
 
-!     --------------------------------------------------------------------------
 END ASSOCIATE
 END ASSOCIATE
+
 IF (LHOOK) CALL DR_HOOK('APL_AROME',1,ZHOOK_HANDLE)
 
 CONTAINS
 
 SUBROUTINE SWAP_THS
 IF (LLSWAP_THS) THEN
-  ZTHSIN_ => ZTHSAVE__(:,1:KLEV)
+  ZTHSIN_ => ZTHSAVE__(:,1:YDCPG_OPTS%KFLEVG)
   ZTHS__ => ZTHSWAP__
 ELSE
-  ZTHSIN_ => ZTHSWAP__(:,1:KLEV)
+  ZTHSIN_ => ZTHSWAP__(:,1:YDCPG_OPTS%KFLEVG)
   ZTHS__ => ZTHSAVE__
 ENDIF
 LLSWAP_THS=.NOT.LLSWAP_THS
diff --git a/src/arome/ext/suparar.F90 b/src/arome/ext/suparar.F90
index 8e3d6c403a91ae9477ee4b378ecf4fcaabb1d551..08755f90e26f9e0d6b790c64a517940494521edc 100644
--- a/src/arome/ext/suparar.F90
+++ b/src/arome/ext/suparar.F90
@@ -729,6 +729,8 @@ WRITE(UNIT=KULOUT,FMT='('' LHARATU = '',L2)') LHARATU
 WRITE(UNIT=KULOUT,FMT='('' LICERAD = '',L5)') LICERAD
 WRITE(UNIT=KULOUT,FMT='('' LDEPOSC = '',L5)') LDEPOSC
 WRITE(UNIT=KULOUT,FMT='('' XVDEPOSC = '',E13.6)') XVDEPOSC
+WRITE(UNIT=KULOUT,FMT='('' LDEPSG = '',L2,'' RDEPSRED = '',F6.2,'' RDEPGRED = '',F6.2&
+&)') LDEPSG,RDEPSRED,RDEPGRED
 
 WRITE(UNIT=KULOUT,FMT='('' NPROMICRO = '',I4)') NPROMICRO
 
@@ -736,3 +738,4 @@ WRITE(UNIT=KULOUT,FMT='('' NPROMICRO = '',I4)') NPROMICRO
 END ASSOCIATE
 IF (LHOOK) CALL DR_HOOK('SUPARAR',1,ZHOOK_HANDLE)
 END SUBROUTINE SUPARAR
+
diff --git a/src/arome/micro/rain_ice_old.F90 b/src/arome/micro/rain_ice_old.F90
index 9d60e6f85d736ff7e4099633f0ae5c1b582cb436..e7b5994e23cda700e473725afa0ac7ea66e9fbcc 100644
--- a/src/arome/micro/rain_ice_old.F90
+++ b/src/arome/micro/rain_ice_old.F90
@@ -2070,11 +2070,7 @@ END DO
    PRIS(:,:,:) = PRIS(:,:,:) * ZINVTSTEP
 
 
-#ifdef REPRO48
-   PINPRS(:,:) = 0.
-#else
    PINPRS(:,:) = ZWSED(:,:,IKB)/XRHOLW
-#endif
 
 !
 !*       2.4   for aggregates/snow
@@ -3498,11 +3494,7 @@ IMPLICIT NONE
    END WHERE
    ELSE IF( KRR == 6 ) THEN
      WHERE( ZRGT(:)>XRTMIN(6) .AND. ZRGT(:)>XFRMIN(3) .AND.            &
-#ifdef REPRO48
-                                           ZZT(:)<XTT                  &
-#else
             ZRIS(:)*PTSTEP>XFRMIN(3) .AND. ZZT(:)<XTT                  &
-#endif
                                         .AND.                          & ! Wet
                               ZRDRYG(:)>=ZRWETG(:) .AND. ZRWETG(:)>0.0 ) ! case
     ZZW(:)  = ZRWETG(:)
@@ -3542,11 +3534,7 @@ IMPLICIT NONE
 
 !
   WHERE( ZRGT(:)>XRTMIN(6) .AND. ZRGT(:)>XFRMIN(4) .AND.               &
-#ifdef REPRO48
-                                        ZZT(:)<XTT                     &
-#else
          ZRIS(:)*PTSTEP>XFRMIN(4) .AND. ZZT(:)<XTT                     &
-#endif
                                         .AND.                          &
                                ZRDRYG(:)<ZRWETG(:) .AND. ZRDRYG(:)>0.0 ) ! Dry
     ZRCS(:) = ZRCS(:) - ZZW1(:,1)
diff --git a/src/common/micro/mode_ice4_slow.F90 b/src/common/micro/mode_ice4_slow.F90
index 777f8004a282edcb9f3fa398d01edd8298abb020..fc82cebc6043d8d673f5e94e3a7ddc2bf1acc543 100644
--- a/src/common/micro/mode_ice4_slow.F90
+++ b/src/common/micro/mode_ice4_slow.F90
@@ -85,13 +85,8 @@ IF (LHOOK) CALL DR_HOOK('ICE4_SLOW', 0, ZHOOK_HANDLE)
 DO JL=1, KSIZE
   IF(PT(JL)<CST%XTT-35.0 .AND. PRCT(JL)>ICED%XRTMIN(2) .AND. LDCOMPUTE(JL)) THEN
     IF(.NOT. LDSOFT) THEN
-#ifdef REPRO48
-      PRCHONI(JL) = ICEP%XHON*PRHODREF(JL)*PRCT(JL)       &
-                                 *EXP( ICEP%XALPHA3*(PT(JL)-CST%XTT)-ICEP%XBETA3 )
-#else
       PRCHONI(JL) = MIN(1000.,ICEP%XHON*PRHODREF(JL)*PRCT(JL)       &
                                  *EXP( ICEP%XALPHA3*(PT(JL)-CST%XTT)-ICEP%XBETA3 ))
-#endif
     ENDIF
   ELSE
     PRCHONI(JL) = 0.
diff --git a/src/common/turb/mode_tke_eps_sources.F90 b/src/common/turb/mode_tke_eps_sources.F90
index 801ef20306fc59b8f677f95fd4dbd064eb4d92e0..f78bb8fca8794c83669ebcac571fe7215e111e18 100644
--- a/src/common/turb/mode_tke_eps_sources.F90
+++ b/src/common/turb/mode_tke_eps_sources.F90
@@ -398,10 +398,19 @@ END IF
 
 !Should be in IF LBUDGET_TKE only. Was removed out for a correct comput. of PTDIFF in case of LBUDGET_TKE=F in AROME
 !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:D%NKT)
+#ifdef REPRO48
+IF (BUCONF%LBUDGET_TKE) THEN
+PRTKES(IIJB:IIJE,1:D%NKT) = PRTKES(IIJB:IIJE,1:D%NKT) + PDP(IIJB:IIJE,1:D%NKT) * PRHODJ(IIJB:IIJE,1:D%NKT)
+PRTKES(IIJB:IIJE,1:D%NKT) = PRTKES(IIJB:IIJE,1:D%NKT) + PTP(IIJB:IIJE,1:D%NKT) * PRHODJ(IIJB:IIJE,1:D%NKT)
+PRTKES(IIJB:IIJE,1:D%NKT) = PRTKES(IIJB:IIJE,1:D%NKT) - CSTURB%XCED * SQRT(PTKEM(IIJB:IIJE,1:D%NKT)) / PLEPS(IIJB:IIJE,1:D%NKT) * &
+                (PEXPL*PTKEM(IIJB:IIJE,1:D%NKT) + PIMPL*ZRES(IIJB:IIJE,1:D%NKT)) * PRHODJ(IIJB:IIJE,1:D%NKT)
+END IF
+#else
 PRTKES(IIJB:IIJE,1:D%NKT) = PRTKES(IIJB:IIJE,1:D%NKT) + PRHODJ(IIJB:IIJE,1:D%NKT) * &
                 ( PDP(IIJB:IIJE,1:D%NKT) + PTP(IIJB:IIJE,1:D%NKT)                           &
                   - CSTURB%XCED * SQRT(PTKEM(IIJB:IIJE,1:D%NKT)) / PLEPS(IIJB:IIJE,1:D%NKT) &
                   * ( PEXPL*PTKEM(IIJB:IIJE,1:D%NKT) + PIMPL*ZRES(IIJB:IIJE,1:D%NKT) ) )
+#endif
 !
 PTDIFF(IIJB:IIJE,1:D%NKT) =  ZRES(IIJB:IIJE,1:D%NKT) / PTSTEP - PRTKES(IIJB:IIJE,1:D%NKT)&
                                      /PRHODJ(IIJB:IIJE,1:D%NKT) &
diff --git a/tools/INSTALL_pack_ial.md b/tools/INSTALL_pack_ial.md
index 60e553f070e584767b60f990390523182c4b0177..539958fc9c61c0f06266164e26360788bb5d13a3 100644
--- a/tools/INSTALL_pack_ial.md
+++ b/tools/INSTALL_pack_ial.md
@@ -20,6 +20,7 @@ is now automatically performed with the prep\_code.sh script.
 The same installation guide applies to sxphynh and belenos except for some commands.
 The directory in which the repository lies is designated by the TRUNK variable.
 The $TRUNK dir can be put on a shared directory to share this installation among several users.
+Tools are designed and tested with TRUNK=\<git repository\>/tools/pack/
 
 ## REFERENCE PACK CREATION
 
@@ -27,33 +28,34 @@ The $TRUNK dir can be put on a shared directory to share this installation among
 
 ```
 version=01
+cycle=48t1 or cy48t3 (after commit XXX on 22 September 2022)
 compiler=MPIGFORTRAN920DBL on ubuntu, MIMPIIFC1805 on belenos
 gmkfile=${compiler}.GMAP on ubuntu, ${compiler}.EPONA on belenos
 option=xfftw on ubuntu, 2y on belenos
-getpack 48t1_main.01.${compiler}.${option} #get source code on ubuntu, is it really necessary?
+getpack ${cycle}_main.01.${compiler}.${option} #get source code on ubuntu, is it really necessary?
 export GMKTMP=/dev/shm
 (. berootpack)
-gmkpack -a -r 48t1 -b phyex -n $version -l ${compiler} -o ${option} -p masterodb -h $TRUNK/tools/pack/ #create main pack
+gmkpack -a -r ${cycle} -b phyex -n $version -l ${compiler} -o ${option} -p masterodb -h $TRUNK/tools/pack/ #create main pack
 ```
 
 ### Populate main pack with source code
 
 ```
-cd $TRUNK/tools/pack/48t1_phyex.${version}.${compiler}.${option}/src/local
+cd $TRUNK/tools/pack/${cycle}_phyex.${version}.${compiler}.${option}/src/local
 if sxphynh; then
-  wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/48t1_main.01.tgz #only available at MF but equivalent must exist elsewhere
+  wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/${cycle}_main.01.tgz #only available at MF but equivalent must exist elsewhere
 else
-  ssh sxphynh.cnrm.meteo.fr "wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/48t1_main.01.tgz -O -" > 48t1_main.01.tgz
+  ssh sxphynh.cnrm.meteo.fr "wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/${cycle}_main.01.tgz -O -" > ${cycle}_main.01.tgz
 fi
-tar xf 48t1_main.01.tgz
-rm -f 48t1_main.01.tgz
+tar xf ${cycle}_main.01.tgz
+rm -f ${cycle}_main.01.tgz
 for rep in turb micro conv; do
   mkdir -p phyex/$rep
-  mv mpa/$rep/internals/* phyex/$rep/
-  mv mpa/$rep/module/* phyex/$rep/
+  mv -f mpa/$rep/internals/* phyex/$rep/
+  mv -f mpa/$rep/module/* phyex/$rep/
   rmdir mpa/$rep/internals mpa/$rep/module
 done
-tar xf /cnrm/algo/khatib/drhook.c_for_ubuntu.tar #only on ubuntu
+[ $cycle == 48t1 ] && tar xf /cnrm/algo/khatib/drhook.c_for_ubuntu.tar #only on ubuntu
 ```
 
 ### Apply some bug corrections
@@ -62,7 +64,7 @@ tar xf /cnrm/algo/khatib/drhook.c_for_ubuntu.tar #only on ubuntu
 sed -i 's/IF (LBUDGET_RH)/IF (LBUDGET_RH .AND. KRR==7)/' mpa/micro/externals/aro_rain_ice.F90
 ```
 
-Edition of arpifs/phys\_dmn/apl\_arome.F90 to modift (line 1573):
+Edition of arpifs/phys\_dmn/apl\_arome.F90 to modify (line 1573 in 48t1, 1496 in 48t3):
 
   ```
   IF (LMFSHAL .AND. (CMF_CLOUD=='DIRE'.OR.CMF_CLOUD=='BIGA')) THEN
@@ -71,7 +73,7 @@ Edition of arpifs/phys\_dmn/apl\_arome.F90 to modift (line 1573):
   ENDIF
   ```
 
-into:
+into (48t1):
 
   ```
   IF (LMFSHAL .AND. (CMF_CLOUD=='DIRE'.OR.CMF_CLOUD=='BIGA')) THEN
@@ -86,12 +88,27 @@ into:
   ENDIF
   ```
 
-Edition of apl\_arome.F90 to modify (line 1406):
+or (48t3):
+
+  ```
+  IF (LMFSHAL .AND. (CMF_CLOUD=='DIRE'.OR.CMF_CLOUD=='BIGA')) THEN
+    IOFF_MFSHAL=IOFF_MFSHAL+3
+    ...
+  ELSE
+    DO JLEV = 1, YDCPG_OPTS%KFLEVG
+      ZRC_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB                         
+      ZRI_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB                         
+      ZCF_MF_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=0._JPRB                         
+    ENDDO
+  ENDIF
+  ```
+
+Edition of apl\_arome.F90 to modify (line 1406 in 48t1, 1329 in 48t3):
 
   ```
   IF ( LKFBCONV.AND.LOSUBG_COND.AND..NOT.LOSIGMAS) THEN
     DO JLEV = 1, KLEV
-      ZMFM_(KIDIA:KFDIA,JLEV)=PSIGM(KIDIA:KFDIA,JLEV)
+      ZMFM_(...
     ENDDO
   ENDIF
   ```
@@ -102,20 +119,91 @@ into:
   IF (LOSUBG_COND.AND..NOT.LOSIGMAS) THEN
     IF (LKFBCONV) THEN
       DO JLEV = 1, KLEV
-        ZMFM_(KIDIA:KFDIA,JLEV)=PSIGM(KIDIA:KFDIA,JLEV)
+        ZMFM_(...
       ENDDO
     ELSE
       DO JLEV = 1, KLEV
-        ZMFM_(KIDIA:KFDIA,JLEV)=0._JPRB
+        ZMFM_(...)=0._JPRB
       ENDDO
     ENDIF
   ENDIF
   ```
 
+If cycle is 48t3, edition of apl\_arome.F90 to modify (line 3616)
+
+  ```
+      ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,2)+ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,3)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP2(:,:),'FQTPRECISTL',YDDDH)
+      ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,4)+ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,5)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP2(:,:),'FQTPRECISTN',YDDDH)
+  ```
+
+into:
+
+  ```
+      ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,0)=0._JPRB
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,2)+ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,4)
+      ENDDO
+      !ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,2)+ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,3)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP2(:,:),'FQTPRECISTL',YDDDH)
+      DO JLEV=1,YDCPG_OPTS%KFLEVG
+        ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV)=ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,4)+ZPFPR_(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,JLEV,5)
+      ENDDO
+      !ZTMP2(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:)=ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,4)+ZFPR(YDCPG_BNDS%KIDIA:YDCPG_BNDS%KFDIA,:,5)
+      CALL NEW_ADD_FIELD_3D(YDMODEL%YRML_DIAG%YRMDDH,ZTMP2(:,:),'FQTPRECISTN',YDDDH)
+  ```
+
+If cycle is 48t3, edition of apl\_arome.F90 to:
+
+add the folowing lines after the line 236 (YOMTRAJ use statement):
+
+  ```
+  #ifdef REPRO48
+  !To compensate a bug introduced in 48t3
+  !Must be suppressed as soon as the bug is corrected
+  USE MODD_BUDGET
+  #endif
+  ```
+
+and add the folowing lines at line 912 (to be one of the first execution statement but exact emplacement is not sensitive):
+
+  ```
+  #ifdef REPRO48
+  !see comment associated to the MODD_BUDGET use statement
+  LBU_ENABLE = YDMODEL%YRML_DIAG%YRLDDH%LSDDH
+  LBUDGET_U =LBU_ENABLE
+  LBUDGET_V =LBU_ENABLE
+  LBUDGET_W =LBU_ENABLE
+  LBUDGET_TH=LBU_ENABLE
+  LBUDGET_TKE=LBU_ENABLE
+  LBUDGET_RV=LBU_ENABLE
+  LBUDGET_RC=LBU_ENABLE
+  LBUDGET_RR =LBU_ENABLE
+  LBUDGET_RI =LBU_ENABLE
+  LBUDGET_RS =LBU_ENABLE
+  LBUDGET_RG =LBU_ENABLE
+  LBUDGET_RH =LBU_ENABLE
+  LBUDGET_SV=LBU_ENABLE
+  #endif
+  ```
+
+Edition of phyex/turb/compute\_mf\_cloud\_bigaus.F90 to modify (line 120):
+
+  ```
+  DO JK=KKB,KKE,KKL
+  ```
+
+into:
+
+  ```
+  DO JK=KKB,KKE-KKL,KKL
+  ```
+
 ### Compilation
 
 ```
-cd $TRUNK/tools/pack/48t1_phyex.${version}.${compiler}.${option}
+cd $TRUNK/tools/pack/${cycle}_phyex.${version}.${compiler}.${option}
 #Not needed anymore: grep MPA .gmkfile/${compiler}.GMAP | sed 's/MPA/PHYEX/g' >> .gmkfile/${gmkfile}
 Edition of .gmkfile/${gmkfile} to add -DREPRO48 to the MACROS_FRT variable in order to suppress bug corrections and be able to reproduce the original cy48
 #Not needed anymore: Edition of .gmkfile/${gmkfile} to suppress on ubuntu -ftree-vectorize
@@ -132,11 +220,11 @@ version=01
 compiler=MPIGFORTRAN920DBL on ubuntu, MIMPIIFC1805 on belenos
 gmkfile=${compiler}.GMAP on ubuntu, ${compiler}.EPONA on belenos
 option=xfftw on ubuntu, 2y on belenos
-getpack 48t1_main.01.${compiler}.${option} #get source code on ubuntu, is it really necessary?
+getpack ${cycle}_main.01.${compiler}.${option} #get source code on ubuntu, is it really necessary?
 
 commit=9ce8119430dd603d35308d8ae94cf18636157473 #exemple of commit to test against the reference pack
 
-gmkpack -r 48t1 -b phyex -v ${version} -l ${compiler} -o ${option} -p masterodb -f $TRUNK/tools/pack/ -u PHYEX/$commit
+gmkpack -r ${cycle} -b phyex -v ${version} -l ${compiler} -o ${option} -p masterodb -f $TRUNK/tools/pack/ -u PHYEX/$commit
 
 cd $HOMEPACK/PHYEX/$commit/src/local/phyex
 git clone git@github.com:QuentinRodier/PHYEX.git
diff --git a/tools/check_commit_ial.sh b/tools/check_commit_ial.sh
index 6dce25678510156170da852334566d25e512fcb3..f45af42ed7601805f5acdcc1a9f05827de957a62 100755
--- a/tools/check_commit_ial.sh
+++ b/tools/check_commit_ial.sh
@@ -23,7 +23,7 @@ set -e
 
 #The small_3D_alt9 is not included in the list of available tests because it cannot be run before 21 September (commit edc3f88).
 
-specialPack="ori split recompil"
+specialPack="ori split split_48t1 split_48t3 recompil"
 availTests="small_3D,small_3D_np2,small_3D_alt1,small_3D_alt2,small_3D_alt3,small_3D_alt4,small_3D_alt5,small_3D_alt6,small_3D_alt7"
 defaultTest="small_3D"
 separator='_' #- be carrefull, gmkpack (at least on belenos) has multiple allergies (':', '.', '@')
@@ -38,14 +38,14 @@ if [ $(hostname | cut -c 1-7) == 'belenos' -o $(hostname | cut -c 1-7) == 'taran
   gmkpack_l=MIMPIIFC1805
   gmkpack_o=2y
   defaultMainPackVersion=01
-  defaultRef=split
+  defaultRef='split_${cycle}'
   availTests="${availTests},big_3D"
 else
   HPC=0
   gmkpack_l=MPIGFORTRAN920DBL
   gmkpack_o=xfftw
   defaultMainPackVersion=01
-  defaultRef=split
+  defaultRef='split_${cycle}'
 fi
 mainPackVersion=${mainPackVersion:-${defaultMainPackVersion}}
 
@@ -63,6 +63,7 @@ function usage {
   echo "                or ALL to execute all tests"
   echo "--noexpand      do not use mnh_expand (code will be in array-syntax)"
   echo "-f              full compilation (do not use pre-compiled pack)"
+  echo "--cycle CYCLE   to force using CYCLE"
   echo ""
   echo "If nothing is asked (compilation, running, check) everything is done"
   echo
@@ -73,6 +74,8 @@ function usage {
   echo "The directory (for commit only, not ref) can take the form server:directory"
   echo
   echo "If using a directory (for commit or reference) it must contain at least one '/'"
+  echo
+  echo "The cycle will be guessed from the source code"
 }
 
 compilation=0
@@ -84,6 +87,7 @@ tests=""
 suppress=0
 useexpand=1
 fullcompilation=0
+cycle=""
 
 while [ -n "$1" ]; do
   case "$1" in
@@ -95,6 +99,7 @@ while [ -n "$1" ]; do
     '-t') tests="$2"; shift;;
     '--noexpand') useexpand=0;;
     '-f') fullcompilation=1;;
+    '--cycle') cycle="$2"; shift;;
     #--) shift; break ;;
      *) if [ -z "${commit-}" ]; then
           commit=$1
@@ -148,30 +153,52 @@ if [ $check -eq 1 -a -z "${reference-}" ]; then
   exit 3
 fi
 
-#Name is choosen such as it can be produced with a main pack: PHYEX/48t1_XXXXXXXXX.01.${gmkpack_l}.${gmkpack_o}
+function content2cycle {
+  # variable content_apl_arome must contain the source code of apl_arome.F90
+  if grep CPG_DYN_TYPE <(echo $content_apl_arome) > /dev/null; then
+    echo 48t3
+  else
+    echo 48t1
+  fi
+}
+
+#Name is choosen such as it can be produced with a main pack: PHYEX/${cycle}_XXXXXXXXX.01.${gmkpack_l}.${gmkpack_o}
 fromdir=''
 if echo $commit | grep '/' > /dev/null; then
   fromdir=$commit
+  if [ "$cycle" == "" ]; then
+    content_apl_arome=$(cat $commit/src/arome/ext/apl_arome.F90)
+    cycle=$(content2cycle)
+  fi
   packBranch=$(echo $commit | sed 's/\//'${separator}'/g' | sed 's/:/'${separator}'/g' | sed 's/\./'${separator}'/g')
-  name="PHYEX/48t1_${packBranch}.01.${gmkpack_l}.${gmkpack_o}"
+  name="PHYEX/${cycle}_${packBranch}.01.${gmkpack_l}.${gmkpack_o}"
   [ $suppress -eq 1 -a -d $HOMEPACK/$name ] && rm -rf $HOMEPACK/$name
 elif echo $specialPack | grep -w $commit > /dev/null; then
   name="PHYEX/$commit"
+  if [ $commit == split_48t3 ]; then
+    cycle=48t3
+  else
+    cycle=48t1
+  fi
 else
   packBranch="COMMIT$commit"
-  name="PHYEX/48t1_${packBranch}.01.${gmkpack_l}.${gmkpack_o}"
+  if [ "$cycle" == "" ]; then
+    content_apl_arome=$(wget https://raw.githubusercontent.com/QuentinRodier/PHYEX/${commit}/src/arome/ext/apl_arome.F90 -O - 2>/dev/null)
+    cycle=$(content2cycle)
+  fi
+  name="PHYEX/${cycle}_${packBranch}.01.${gmkpack_l}.${gmkpack_o}"
   [ $suppress -eq 1 -a -d $HOMEPACK/$name ] && rm -rf $HOMEPACK/$name
 fi
 if [ ! -z "${reference-}" ]; then
-  [ $reference == 'REF' ] && reference=$defaultRef
+  [ $reference == 'REF' ] && reference=$(eval echo $defaultRef) #echo to replace ${cycle} by value
   reffromdir=''
   if echo $reference | grep '/' > /dev/null; then
     reffromdir=$reference
-    refname="PHYEX/48t1_$(echo $reference | sed 's/\//'${separator}'/g' | sed 's/:/'${separator}'/g' | sed 's/\./'${separator}'/g').01.${gmkpack_l}.${gmkpack_o}"
+    refname="PHYEX/*_$(echo $reference | sed 's/\//'${separator}'/g' | sed 's/:/'${separator}'/g' | sed 's/\./'${separator}'/g').01.${gmkpack_l}.${gmkpack_o}"
   elif echo $specialPack | grep -w $reference > /dev/null; then
     refname="PHYEX/$reference"
   else
-    refname="PHYEX/48t1_COMMIT${reference}.01.${gmkpack_l}.${gmkpack_o}"
+    refname="PHYEX/*_COMMIT${reference}.01.${gmkpack_l}.${gmkpack_o}"
   fi
 fi
 
@@ -191,24 +218,24 @@ if [ $compilation -eq 1 ]; then
   export GMKTMP=/dev/shm
 
   if [ $fullcompilation == 0 ]; then
-    basepack=48t1_main.01.${gmkpack_l}.${gmkpack_o}
-    [ $HPC -eq 0 -a ! -d $ROOTPACK/$basepack ] &&  getpack $basepack
-    gmkpack -r 48t1 -b phyex -v $mainPackVersion -l ${gmkpack_l} -o ${gmkpack_o} -p masterodb \
+    basepack=${cycle}_main.01.${gmkpack_l}.${gmkpack_o}
+    #[ $HPC -eq 0 -a ! -d $ROOTPACK/$basepack ] &&  getpack $basepack
+    gmkpack -r ${cycle} -b phyex -v $mainPackVersion -l ${gmkpack_l} -o ${gmkpack_o} -p masterodb \
             -f $dirpack/ \
             -u $name
     reftree='main'
   else
     #Create main pack
-    gmkpack -a -r 48t1 -b ${packBranch} -n 01 -l ${gmkpack_l} -o ${gmkpack_o} -p masterodb -h $HOMEPACK/PHYEX
+    gmkpack -a -r ${cycle} -b ${packBranch} -n 01 -l ${gmkpack_l} -o ${gmkpack_o} -p masterodb -h $HOMEPACK/PHYEX
     #Populate (we keep everything from the official source code except internals and module subdirectories of mpa)
     cd $HOMEPACK/$name/src/local/
     if [ $HPC -eq 1 ]; then
-      ssh sxphynh.cnrm.meteo.fr "wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/48t1_main.01.tgz -O -" > 48t1_main.01.tgz
+      ssh sxphynh.cnrm.meteo.fr "wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/${cycle}_main.01.tgz -O -" > ${cycle}_main.01.tgz
     else
-      wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/48t1_main.01.tgz
+      wget http://anonymous:mto@webdav.cnrm.meteo.fr/public/algo/khatib/src/${cycle}_main.01.tgz
     fi
-    tar xf 48t1_main.01.tgz
-    rm -f 48t1_main.01.tgz
+    tar xf ${cycle}_main.01.tgz
+    rm -f ${cycle}_main.01.tgz
     for rep in turb micro conv; do
       mkdir -p phyex/$rep
       rm -rf mpa/$rep/internals mpa/$rep/module
@@ -220,7 +247,7 @@ if [ $compilation -eq 1 ]; then
     #Special modification of the compilation configuration file and script
     sed -i 's/-ftree-vectorize//' $HOMEPACK/$name/.gmkfile/${gmkpack_l}.*
     sed -i "/MACROS_FRT/s/$/ -DREPRO48/" $HOMEPACK/$name/.gmkfile/${gmkpack_l}.*
-    #sed -i "s/PHYEX\/48t1_$$.01.${gmkpack_l}.${gmkpack_o}/$(echo $name | sed 's/\//\\\//')/" $HOMEPACK/$name/ics_masterodb #this line could be used if pack was renamed before compilation but it does not work on belenos
+    #sed -i "s/PHYEX\/${cycle}_$$.01.${gmkpack_l}.${gmkpack_o}/$(echo $name | sed 's/\//\\\//')/" $HOMEPACK/$name/ics_masterodb #this line could be used if pack was renamed before compilation but it does not work on belenos
 
     resetpack -f #Is it really useful?
     reftree='local'
@@ -346,7 +373,7 @@ if [ $run -ge 1 ]; then
     cd $HOMEPACK/$name
     mkdir -p conf_tests/$t
     cd conf_tests/$t
-    MYLIB=$name TESTDIR=$dirconf/$t exescript Output_run $dirconf/$t/aro48t1.sh
+    MYLIB=$name TESTDIR=$dirconf/$t exescript Output_run $dirconf/$t/aro${cycle}.sh
   done
 fi
 
@@ -367,7 +394,7 @@ if [ $check -eq 1 ]; then
       tag=$(echo $tag_file | cut -d, -f1)
       file=$(echo $tag_file | cut -d, -f2)
       file1=$HOMEPACK/$name/$file
-      file2=$HOMEPACK/$refname/$file
+      file2=$(echo $HOMEPACK/$refname/$file) #echo to enable shell substitution
 
       mess=""
       t=0
diff --git a/tools/comp_DDH.py b/tools/comp_DDH.py
index ea0b116e8d9e8ad3e3745d68959aee99ba0074d6..8a5bdb74a8ac3ca55147f9fdee994b06c81cbc07 100755
--- a/tools/comp_DDH.py
+++ b/tools/comp_DDH.py
@@ -22,6 +22,9 @@ def comp_DDH(filename1, filename2, output_fig, tol_ad=1.2E-7, tol_rd=1.E-6, verb
         toplt = False
         if not t:
             if verbose: print(fid, ':')
+            if numpy.array(v1).ndim == 0:
+                v1 = numpy.array([v1])
+                v2 = numpy.array([v2])
             for i in range(len(v1)):
                 if v1[i] - v2[i] != 0.:
                     ad = v1[i] - v2[i]
@@ -30,7 +33,7 @@ def comp_DDH(filename1, filename2, output_fig, tol_ad=1.2E-7, tol_rd=1.E-6, verb
                     if abs(ad) > tol_ad and abs(rd) > tol_rd: toplt = True
         return fid if toplt else None
     toplt = []
-    for fid in l1.intersection(l2):
+    for fid in [fid for fid in l1.intersection(l2) if fid != 'DOCFICHIER']:
         v1 = r1.readfield(fid)
         v2 = r2.readfield(fid)
         if isinstance(v1, epygram.base.FieldSet):
diff --git a/tools/conf_tests/big_3D/aro48t3.sh b/tools/conf_tests/big_3D/aro48t3.sh
new file mode 100644
index 0000000000000000000000000000000000000000..4663a7184bbbee85922b83a16d966b5cbc780451
--- /dev/null
+++ b/tools/conf_tests/big_3D/aro48t3.sh
@@ -0,0 +1,602 @@
+#!/bin/bash
+#SBATCH -p normal256
+#SBATCH --export=MYLIB,HOMEPACK,TESTDIR
+#SBATCH -n 1280
+#SBATCH -c 4
+#SBATCH -N 40
+#SBATCH -t 00:40:00
+#SBATCH --mem=247000
+#SBATCH --exclusiv
+
+# Job management :
+# --------------
+JOB_INITDIR=$SLURM_SUBMIT_DIR
+export JOB_NAME=arome_e700
+export JOB_ID=$SLURM_JOB_ID
+
+echo JOB_INITDIR=$JOB_INITDIR
+echo JOB_NAME=$JOB_NAME
+echo JOB_ID=$JOB_ID
+
+# =============================================================================
+
+#                               RESOURCES ALLOCATIONS
+#                               =====================
+
+# Number of nodes/mpi-tasks/omp-threads:
+# -------------------------------------
+NNODES=$SLURM_JOB_NUM_NODES
+# Number of MPI tasks per node:
+MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+# Number of OPEN-MP threads per MPI task:
+export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
+# Total number of MPI tasks:
+MPI_TASKS=$SLURM_NTASKS
+# Number of tasks reserved for the I/O server : 2 (hyperthreaded) nodes
+NTASKS_IO=$(($(grep processor /proc/cpuinfo | wc -l)/1/$OMP_NUM_THREADS))
+
+echo NNODES=$NNODES
+echo MPITASKS_PER_NODE=$MPITASKS_PER_NODE
+echo
+# Number of MPI tasks and OMP threads used in the application :
+echo MPI_TASKS=$MPI_TASKS
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+
+# =============================================================================
+
+#                               SYSTEM PREFERENCES
+#                               ==================
+
+# OMP/MPI submission management :
+# -----------------------------
+# LOCAL_MPI_WRAPPER : could be "mpiauto", "mpdrun", "mpiexec" ... or empty string
+# LOCAL_STACK_LIMIT : could be "unlimited" or empty string
+
+set -x
+#LOCAL_MPI_WRAPPER="/opt/softs/mpiauto/mpiauto --wrap --wrap-stdeo --wrap-stdeo-pack"
+LOCAL_MPI_WRAPPER="/opt/softs/mpiauto/mpiauto"
+LOCAL_STACK_LIMIT=unlimited
+ulimit -l unlimited
+set +x
+
+# Specific environment variables :
+# ------------------------------
+set -x
+export OMP_STACKSIZE=4G
+export KMP_STACKSIZE=4G
+export KMP_MONITOR_STACKSIZE=4G
+export I_MPI_HARD_FINALIZE=1
+export I_MPI_SCALABLE_OPTIMIZATION=0
+export I_MPI_DAPL_UD_RNDV_EP_NUM=4
+export I_MPI_SHM_SPIN_COUNT=10
+export I_MPI_SPIN_COUNT=10
+set +x
+
+# File systems :
+# ------------
+# Global file system:
+export TMPGFS=$TMPDIR
+export WORKGFS=$WORKDIR/benchmarks
+#MTOOL export TMPGFS=$MTOOL_STEP_WORKSPACE
+# Local file system (if preferred):
+export TMPLOC=$TMPGFS
+echo TMPGFS=$TMPGFS
+echo TMPLOC=$TMPLOC
+
+# Local disks synchronization :
+# ---------------------------
+export ISYNC=0
+if [ "$MTOOL_IS" = "ON" ] ; then
+# synchronization is needed anyway between the steps
+  export ISYNC=1
+elif [ $NNODES -gt 1 ] && [ "$TMPLOC" != "$TMPGFS" ] ; then
+# Local disk synchronization needed:
+  export ISYNC=1
+fi
+echo ISYNC=$ISYNC
+
+# Miscellaneous :
+# -------------
+
+# =============================================================================
+
+#                               USER PREFERENCES
+#                               ================
+
+#export NAMELDIR=/home/gmap/mrpm/khatib/pack/48t1_main.01#myref/run/cy47.forecast_arome_e700/Namelists
+export NAMELDIR=$TESTDIR/Namelists
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+export BINDIR=$HOMEPACK/$MYLIB/bin
+#export BINDIR=/home/gmap/mrpm/khatib/pack/48t1_main.01#myref/bin
+OUTPUTDIR=${OUTPUTDIR:-$PWD} #No cd command have been done before this line
+
+
+
+export DATADIR=/scratch/work/khatib/data/cy47.forecast_arome_e700
+#export REFDIR=/home/gmap/mrpm/khatib/benchmarks/apps/modules/cy47.forecast_arome_e700/References
+export TOOLSDIR=/home/gmap/mrpm/khatib/benchmarks/tools
+#export ROOTDIR_ODB=/home/gmap/mrpm/khatib/odbpools/36t1_bench/cy47.forecast_arome_e700
+
+# Check reliability of auxilary directories :
+# -----------------------------------------
+ierr=0
+#for var in NAMELDIR BINDIR DATADIR REFDIR TOOLSDIR ; do
+for var in NAMELDIR BINDIR DATADIR TOOLSDIR ; do
+  eval "dir=\$$var"
+  if [ ! "$dir" ] ; then
+    echo "$var is not set."
+    ierr=1
+  fi
+  if [ $ierr -ne 0 ] ; then
+    exit 1
+  fi
+done
+ierr=0
+for dir in $NAMELDIR $BINDIR $REFDIR $TOOLSDIR ; do
+  if [ ! -d $dir ] ; then
+    echo "$dir does not exists."
+    ierr=1
+  fi
+  if [ $ierr -ne 0 ] ; then
+    exit 1
+  fi
+done
+
+echo TOOLSDIR=$TOOLSDIR
+echo NAMELDIR=$NAMELDIR
+echo DATADIR=$DATADIR
+#echo REFDIR=$REFDIR
+echo BINDIR=$BINDIR
+#echo ROOTDIR_ODB=$ROOTDIR_ODB
+
+export PATH=$TOOLSDIR:$PATH
+export TOOLSDIR
+export DATADIR
+
+# Software default environment variables :
+# --------------------------------------
+set -x
+export DR_HOOK=0
+export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_SILENT=1
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export MPL_MBX_SIZE=2048000000
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export EC_MEMINFO=0
+export OPENBLAS_NUM_THREADS=1
+export MKL_CBWR="AUTO,STRICT"
+export MKL_NUM_THREADS=1
+export MKL_DEBUG_CPU_TYPE=5
+set +x
+
+# Profilers management :
+# --------------------
+# FTRACE_JOB : profiler switch
+#              =0 : no profiler
+#              =1 : integrated DrHook profiler
+#              =2 : specific profiler
+#
+export FTRACE_JOB=1
+echo "FTRACE_JOB=$FTRACE_JOB"
+
+if [ $FTRACE_JOB -ne 0 ] ; then
+# profilings main directory:
+  if [ -d $JOB_INITDIR ] ; then
+#   Use the initial job's dir
+    FTRACE_DIR=$JOB_INITDIR
+  else
+#   Set one :
+    FTRACEDIR=
+    if [ ! "$FTRACEDIR" ] ; then
+      echo "FTRACEDIR is not set."
+      exit 1
+    fi
+    if [ ! -d $FTRACEDIR ] ; then
+      mkdir -p $FTRACEDIR
+      if [ $? -ne 0 ] ; then
+        echo "Can't make directory $FTRACEDIR"
+        exit 1
+      fi
+    fi
+    FTRACE_DIR=$FTRACEDIR
+  fi
+   SCRATCH_FTRACE_DIR=$TMPGFS
+#  SCRATCH_FTRACE_DIR=$FTRACE_DIR
+  if [ $FTRACE_JOB -eq 1 ] ; then
+    set -x
+    export DR_HOOK=1
+    export DR_HOOK_OPT=prof
+#   Directory of individual profiles :
+    export PROFDIR=$SCRATCH_FTRACE_DIR/${JOB_NAME}.d${JOB_ID}
+#   Merged profiles report filename :
+    export PROFMRG=$FTRACE_DIR/${JOB_NAME}.h${JOB_ID}
+    set +x
+  elif [ $FTRACE_JOB -ge 2 ] ; then
+    set -x
+#   Directory of individual profiles :
+    export PROFDIR=$SCRATCH_FTRACE_DIR/${JOB_NAME}.f${JOB_ID}
+#   Merged profiles report filename :
+    export PROFMRG=$FTRACE_DIR/${JOB_NAME}.t${JOB_ID}
+    set +x
+  fi
+fi
+
+set +x
+
+# Listings :
+# --------
+set -x
+export ECHO_MPSH=OFF
+export OUTPUT_LISTING=YES
+export LOGDIR=$JOB_INITDIR/${JOB_NAME}.l${JOB_ID}
+set +x
+
+# ODB archives :
+# ------------
+# if set to 1, archived Odbs will be gzipped :
+set -x
+export ARCHIVE_AND_ZIP_ODB=0
+set +x
+
+# Directory for application output data files :
+# -------------------------------------------
+echo
+OUTDIR=
+OUTDIR=${OUTDIR:=$TMPGFS}
+if [ "$TMPGFS" != "$TMPLOC" ] ; then
+  if [ "$OUTDIR" = "$TMPLOC" ] ; then
+    echo "Output files on LOCAL file system"
+  elif [ "$OUTDIR" = "$TMPGFS" ] ; then
+    echo "Output files on GLOBAL file system"
+  else
+    echo "Output files on directory : $OUTDIR"
+  fi
+else
+  echo "Output files on directory : $OUTDIR"
+fi
+
+# NFS temporary directory for small I/Os
+echo
+TMPNFS=$(mktemp -d --tmpdir=/tmp/$LOGNAME)
+if [ -d $TMPNFS ] ; then
+  echo "temporary directory on NFS for small I/Os : $TMPNFS"
+else
+  TMPNFS="."
+fi
+
+# =============================================================================
+
+#                               APPLICATION TUNING
+#                               ==================
+
+# ARPEGE : Forecast
+# *****************
+
+mkdir -p $TMPLOC
+if [ $ISYNC -gt 0 ] ; then
+  mkdir -p $TMPGFS
+  cd $TMPGFS
+else
+  cd $TMPLOC
+fi
+
+# Driver-specific environment variables :
+# -------------------------------------
+set -x
+NAMELIST=namel_previ.48
+CTRLLIST=extra_namelists48.list
+LINKS=links_inline48.scpt
+EXECUTABLE=MASTERODB
+#REFLIST=$REFDIR/forecast.out
+EXPLIST=./NODE.001_01
+set +x
+
+#MTOOL common join=step_2
+
+# Namelists modifications :
+# -----------------------
+ 
+set -x
+
+# Number of MPI tasks for the I/O server :
+NPROC_IO=$NTASKS_IO
+
+# Remaining number of MPI tasks :
+NPROC=$((MPI_TASKS-NPROC_IO))
+
+# Memory cache optimisation:
+NPROMA=-16
+NFPROMA=-24
+
+# Overall scalar optimisation:
+LOPT_SCALAR=.TRUE.
+
+# Output packing distribution:
+NSTROUT=${NPROC}
+NSTRIN=${NPROC}
+
+NPRGPEW=16
+#NPRGPNS=((NPROC/NPRGPEW))
+NPRTRV=16
+#NPRTRW=((NPROC/NPRTRV))
+
+set +x
+
+cat > namelist_mods2 <<EOF
+ &NAMPARAR
+ /
+ &NAMTRANS
+   LFFTW=.TRUE.,
+ /
+ &NAMPAR0
+   NPRINTLEV=1,
+   LOPT_SCALAR=${LOPT_SCALAR},
+   MBX_SIZE=2048000000,
+   NPROC=${NPROC},
+   NPRGPNS=-,
+   NPRGPEW=-,
+   NPRTRW=-,
+   NPRTRV=-,
+ /
+ &NAMDIM
+   NPROMA=$NPROMA,
+ /
+ &NAMFPSC2
+   NFPROMA=$NFPROMA,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=$NFPROMA,
+ /
+ &NAMPAR1
+   LSPLIT=.TRUE.,
+   NSTRIN=${NSTRIN},
+   NSTROUT=${NSTROUT},
+ /
+ &NAMFA
+   CMODEL=' ',
+ /
+ &NAMIAU
+   LIAU=.FALSE.,
+ /
+ &NAMARG
+   CNMEXP='0000',
+ /
+ &NAMCT0
+   CSCRIPT_LAMRTC=' ',
+   CSCRIPT_PPSERVER=' ',
+   CFPNCF='ECHFP',
+   NSDITS(0)=0,
+   NFRSDI=4,
+   NFPOS=1,
+ /
+ &NAMCT1
+   N1POS=1,
+ /
+ &NAMFPC
+   CFPDIR='${OUTDIR}/PF',
+ /
+ &NAMOPH
+   CFNHWF='${OUTDIR}/ECHIS',
+   CFPATH='${OUTDIR}/',
+ /
+ &NAMIO_SERV 
+   NPROC_IO=${NPROC_IO}, 
+   NMSG_LEVEL_SERVER=1, 
+   NMSG_LEVEL_CLIENT=1, 
+   NPROCESS_LEVEL=5,
+ /
+ &NAMRIP
+    CSTOP='h24',
+    TSTEP=50.,
+ /
+EOF
+cat namelist_mods2 > namelist_modset
+\rm -f namelist_mods2
+echo
+echo Namelists adaptations :
+cat namelist_modset
+echo
+
+set +x
+cp $NAMELDIR/$NAMELIST namelist
+perl -w $TOOLSDIR/xpnam namelist --dfile=namelist_modset
+set -x
+echo
+/bin/cat namelist.new
+set +x
+\rm -f namelist_modset namelist
+\mv namelist.new fort.4
+set -x
+
+#MTOOL common
+
+# =============================================================================
+
+#                               DRIVER
+#                               ======
+
+#      ******************************
+#      *  fetch initial data files  *
+#      ******************************
+
+#MTOOL common join=step_1
+
+set -x
+$TOOLSDIR/getdata.sh
+set +x
+
+#MTOOL common
+
+#MTOOL common join=step_2
+
+for file in $(cat $NAMELDIR/$CTRLLIST) ; do
+  set -x
+  cp $NAMELDIR/$file .
+  set +x
+done
+if [ -s $NAMELDIR/$LINKS ] ; then
+  set -x
+  cp $NAMELDIR/$LINKS .
+  chmod 755 $LINKS
+  . ./$LINKS
+  \rm $LINKS
+  set +x
+fi
+
+#MTOOL common
+
+#      ***************
+#      *  Executable *
+#      ***************
+
+#MTOOL common join=step_1
+
+echo
+set -x
+cp $BINDIR/$EXECUTABLE .
+set +x
+if [ ! -f $EXECUTABLE ] ; then
+  echo "executable $BINDIR/$EXECUTABLE could not be copied."
+  exit 1
+fi
+
+#MTOOL common
+
+#      ********************************
+#      *  Prepare parallel executions *
+#      ********************************
+
+#MTOOL common join=step_2
+
+if [ "$LOCAL_STACK_LIMIT" ] ; then
+  set -x
+  ulimit -s $LOCAL_STACK_LIMIT
+  set +x
+fi
+# for mpsh :
+export MPSH_NPES=$NNODES
+
+# grib_api environment variables may be determined by the executable : 
+. grib_api_profile $EXECUTABLE
+
+# Intel mpi fabric setup depending on what is found in the executable :
+. intel_mpi_fabric $EXECUTABLE
+
+#MTOOL common
+
+set -x
+cd $TMPLOC
+set +x
+. rttov_profile
+
+#      *******************************************************
+#      *  Unarchive datasets and local disks Synchronisation *
+#      *******************************************************
+
+if [ $ISYNC -eq 0 ] ; then
+  set -x
+#MTOOL common join=step_1
+  $TOOLSDIR/input_sync.sh
+#MTOOL common
+  set +x
+else
+  set -x
+#MTOOL common join=step_2
+  $TOOLSDIR/input_sync.sh
+#MTOOL common
+  set +x
+fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+#MTOOL common join=step_2
+
+mkdir -p $OUTDIR
+echo
+if [ $(echo $LOCAL_MPI_WRAPPER | grep -c mpiauto) -ne 0 ] ; then
+  set -x
+  time $LOCAL_MPI_WRAPPER -np $MPI_TASKS -nnp $MPITASKS_PER_NODE -- ./$EXECUTABLE </dev/null \
+  errorcode=$?
+  2>&1 | grep -v "FA[DC]GR[AM]: Field .* is not declared in \`faFieldName.def'"
+  set +x
+elif [ "$LOCAL_MPI_WRAPPER" = "srun" ] ; then
+  set -x
+  time $LOCAL_MPI_WRAPPER ./$EXECUTABLE </dev/null \
+  errorcode=$?
+  2>&1 | grep -v "FA[DC]GR[AM]: Field .* is not declared in \`faFieldName.def'"
+  set +x
+elif [ "$LOCAL_MPI_WRAPPER" ] ; then
+  set -x
+  time $LOCAL_MPI_WRAPPER -np $MPI_TASKS ./$EXECUTABLE </dev/null \
+  errorcode=$?
+  2>&1 | grep -v "FA[DC]GR[AM]: Field .* is not declared in \`faFieldName.def'"
+  set +x
+else
+  set -x
+  time ./$EXECUTABLE \
+  errorcode=$?
+  2>&1 | grep -v "FA[DC]GR[AM]: Field .* is not declared in \`faFieldName.def'"
+  set +x
+fi
+
+#      **********************
+#      *  Post-processings  *
+#      **********************
+
+echo
+if [ "$OUTPUT_LISTING" = "YES" ] ; then
+  set -x
+  $TOOLSDIR/outsync.sh
+  set +x
+fi
+
+if [ $FTRACE_JOB -gt 0 ] ; then
+  set -x
+  $TOOLSDIR/profsync.sh
+  set +x
+fi
+
+set -x
+ls -l $OUTDIR
+set +x
+
+set -x
+#errorcode returned by executable is not reliable (always different from 0)
+if grep " NSTEP =  1728 CNT0" NODE.001_01 > /dev/null; then
+  cp $EXPLIST $OUTPUTDIR/
+else
+  mkdir $OUTPUTDIR/error
+  cp $EXPLIST $OUTPUTDIR/error/
+fi
+#if [ -f $REFLIST ] && [ -f $EXPLIST ] ; then $TOOLSDIR/diffNODE.001_01 $EXPLIST $REFLIST ; fi
+set +x
+#      ****************
+#      *  Cleanups    *
+#      ****************
+
+set -x
+cd $TMPGFS
+$TOOLSDIR/cleansync.sh
+set +x
+
+#MTOOL common
+
+#      ****************
+#      *  Epilogue    *
+#       ****************
+
+set -x
+$TOOLSDIR/epilog.sh
+set +x
+if [ "$MTOOL_IS" != "ON" ] && [ "$AUTO_CLEAN" = "ON" ] ; then
+  cd $HOME
+  \rm -rf $TMPGFS
+fi
+
+#MTOOL step id=step_1 target=FRONTEND
+#MTOOL step id=step_2 target=SUPERCOMPUTER
diff --git a/tools/conf_tests/small_3D/aro48t3.sh b/tools/conf_tests/small_3D/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e4dee94ab7fedf14b4354eef27618864b8095488
--- /dev/null
+++ b/tools/conf_tests/small_3D/aro48t3.sh
@@ -0,0 +1,1208 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB variable must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+mv *.dat $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt1/aro48t3.sh b/tools/conf_tests/small_3D_alt1/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..62c8078f80366bf944c86f07a8c0c8a36ed0f8c3
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt1/aro48t3.sh
@@ -0,0 +1,1207 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='T',
+   CFRAC_ICE_SHALLOW_MF='T',
+   CMICRO='ICE3',
+   CSEDIM='SPLI',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.TRUE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=10,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=25.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt2/aro48t3.sh b/tools/conf_tests/small_3D_alt2/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..8928589a282adb723fd05cc8487109e78acbd982
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt2/aro48t3.sh
@@ -0,0 +1,1207 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='OLD3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt3/aro48t3.sh b/tools/conf_tests/small_3D_alt3/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74b175583b629d090492e0ace4e1b052b36c1026
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt3/aro48t3.sh
@@ -0,0 +1,1209 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+   CSUBG_RC_RR_ACCR='PRFR',
+   CSUBG_RR_EVAP='PRFR',
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt4/aro48t3.sh b/tools/conf_tests/small_3D_alt4/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d74e8b71259c7858589b9a305517a8bebc18a924
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt4/aro48t3.sh
@@ -0,0 +1,1207 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='T',
+   CFRAC_ICE_SHALLOW_MF='T',
+   CMICRO='ICE3',
+   CSEDIM='SPLI',
+   CSNOWRIMING='OLD',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.TRUE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=10,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=25.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt5/aro48t3.sh b/tools/conf_tests/small_3D_alt5/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..9ca429fc39c97e4db7cd5077916c99b9abf30900
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt5/aro48t3.sh
@@ -0,0 +1,1219 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSH%CLNAME='SURFACCGREL2',
+   GFP_XLSH%CLNAME='SURFINSGREL2',
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFPLSH=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YH_NL%LGP=.TRUE.,
+   YH_NL%NREQIN=0,
+   YH_NL%NCOUPLING=-1,
+   YH_NL%REFVALC=0.,
+   YH_NL%LPT=.FALSE.,
+   YH_NL%LREQOUT=.TRUE.,
+   YH_NL%LQM=.TRUE.,
+   YH_NL%LSLHD=.FALSE.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE4',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXPLSH=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt6/aro48t3.sh b/tools/conf_tests/small_3D_alt6/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..bca3e00b79dd3afa64a65ca49e6d86d6d97a1f95
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt6/aro48t3.sh
@@ -0,0 +1,1209 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB variable must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CMF_UPDRAFT='RAHA'
+   CMF_CLOUD='BIGA'
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt7/aro48t3.sh b/tools/conf_tests/small_3D_alt7/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b16a272001a2d2ee87613977c6cb648eb5ee2ba3
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt7/aro48t3.sh
@@ -0,0 +1,1209 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB variable must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CMF_UPDRAFT='EDKF'
+   CMF_CLOUD='STAT'
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.FALSE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt8/aro48t3.sh b/tools/conf_tests/small_3D_alt8/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c0b50410dbfb71c2982e2a467283b7b17620368d
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt8/aro48t3.sh
@@ -0,0 +1,1208 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB variable must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CMF_UPDRAFT='RHCJ'
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_alt9/aro48t3.sh b/tools/conf_tests/small_3D_alt9/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..17f57ddd295284e51821673472c1e856382967d1
--- /dev/null
+++ b/tools/conf_tests/small_3D_alt9/aro48t3.sh
@@ -0,0 +1,1208 @@
+#!/bin/bash
+#SBATCH -n 4
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=4
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='OLD3',
+   LOCND2=.TRUE.,
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_np1/aro48t3.sh b/tools/conf_tests/small_3D_np1/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..a833e9977afcafae3b60e863f478557e7d97e7be
--- /dev/null
+++ b/tools/conf_tests/small_3D_np1/aro48t3.sh
@@ -0,0 +1,1207 @@
+#!/bin/bash
+#SBATCH -n 1
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB variable must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=1
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x
diff --git a/tools/conf_tests/small_3D_np2/aro48t3.sh b/tools/conf_tests/small_3D_np2/aro48t3.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1ac4893258e7cacee0c355d797df31896c182137
--- /dev/null
+++ b/tools/conf_tests/small_3D_np2/aro48t3.sh
@@ -0,0 +1,1207 @@
+#!/bin/bash
+#SBATCH -n 2
+#SBATCH --mem=20000
+#SBATCH --export=MYLIB,HOME,HOMEPACK,TMPDIR,OUTPUTDIR,TESTDIR
+#SBATCH -t 00:10:00
+#SBATCH -N 1
+#SBATCH -p normal256
+
+#The MYLIB varibale must contain the gmkpack pack name
+#The TESTDIR variable must contain the test directory
+#Results will be stored in the local directory
+
+#Other environment varaibles that can be set:
+#OUTPUTDIR
+
+date
+
+OUTPUTDIR=${OUTPUTDIR:-$PWD}
+case=riette2
+#rekchemin="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Resources for the run must be in the same directory as this script
+rekchemin=$TESTDIR
+
+NPROC=2
+NSTRIN=$NPROC
+NSTROUT=1
+NPRTRW_NPRTRV=""
+NPRTRW_NPRTRV="  NPRTRW=$NPROC,
+  NPRTRV=1,"
+export OMP_NUM_THREADS=1
+
+#MYLIB=48t1_main.01%jpdup
+
+export DR_HOOK=1
+#export DR_HOOK_IGNORE_SIGNALS=-1
+export DR_HOOK_NOT_MPI=1
+export DR_HOOK_SILENT=1
+export DR_HOOK_OPT=
+
+export EC_PROFILE_HEAP=0
+export EC_PROFILE_MEM=0
+export EC_MPI_ATEXIT=0
+export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+export EC_MEMINFO=0
+export TVSEARCHPATH=$SOURCE
+
+HOMEPACK=${HOMEPACK:=$HOME/pack}
+SOURCE=$HOMEPACK/$MYLIB/src/local
+LOADIR=$HOMEPACK/$MYLIB/bin
+
+TMPDIR=${TMPDIR:=$HOME/tmp}
+TMPLOC=$TMPDIR/rundir.$$
+TMPWAIT=$TMPDIR/wait_queue.$$
+mkdir $TMPWAIT
+mkdir $TMPLOC
+cd $TMPLOC
+
+export RTTOV_COEFDIR=$PWD
+
+#      **************************
+#      *  Saisie des NAMELISTS  *
+#      **************************
+
+CNMEXP='FPOS'
+
+echo
+/bin/cat <<FIN > fort.4
+ &NACIETEO
+ /
+ &NACOBS
+ /
+ &NACTAN
+ /
+ &NACTEX
+ /
+ &NACVEG
+ /
+ &NADOCK
+ /
+ &NAEAEM7
+ /
+ &NAEAER
+ /
+ &NAECOAPHY
+ /
+ &NAEPHLI
+ /
+ &NAEPHY
+ /
+ &NAERAD
+   LRRTM=.TRUE.,
+   LSRTM=.FALSE.,
+   NAER=1,
+   NICEOPT=3,
+   NLIQOPT=3,
+   NOVLP=6,
+   NOZOCL=2,
+   NRADFR=18,
+   NRADIP=3,
+   NRADLP=2,
+   NSW=6,
+   RLWINHF=1,
+   RRE2DE=0.64952,
+   RSWINHF=1,
+ /
+ &NAERCLI
+ /
+ &NAEVOL
+ /
+ &NAIMPO
+ /
+ &NALORI
+ /
+ &NAMAFN
+   GFP_CLSG%CLNAME='SURFACCGRAUPEL',
+   GFP_CLSP%CLNAME='SURFACCPLUIE',
+   GFP_CLSS%CLNAME='SURFACCNEIGE',
+   GFP_SFIS%IBITS=16,
+   GFP_ST%CLNAME='SURFTEMPERATURE',
+   GFP_ST%IANO=0,
+   GFP_ST%IBITS=12,
+   GFP_X10U%CLNAME='CLSVENT.ZONAL',
+   GFP_X10U%IANO=0,
+   GFP_X10U%IBITS=12,
+   GFP_X10V%CLNAME='CLSVENT.MERIDIEN',
+   GFP_X10V%IANO=0,
+   GFP_X10V%IBITS=12,
+   GFP_X2RH%CLNAME='CLSHUMI.RELATIVE',
+   GFP_X2RH%IANO=0,
+   GFP_X2RH%IBITS=12,
+   GFP_X2T%CLNAME='CLSTEMPERATURE',
+   GFP_X2T%IANO=1,
+   GFP_XCCC%IBITS=8,
+   GFP_XHCC%IBITS=8,
+   GFP_XLCC%IBITS=8,
+   GFP_XLSG%CLNAME='SURFINSGRAUPEL',
+   GFP_XLSP%CLNAME='SURFINSPLUIE',
+   GFP_XLSS%CLNAME='SURFINSNEIGE',
+   GFP_XMCC%IBITS=8,
+   GFP_XN2T%IBITS=12,
+   GFP_XTCC%IBITS=8,
+   GFP_XUGST%CLNAME='CLSU.RAF60M.XFU',
+   GFP_XUGST%IANO=0,
+   GFP_XUGST%IBITS=12,
+   GFP_XVGST%CLNAME='CLSV.RAF60M.XFU',
+   GFP_XVGST%IANO=0,
+   GFP_XVGST%IBITS=12,
+   GFP_XX2T%IBITS=12,
+   GFP_XXDIAGH%IBITS=12,
+   TFP_ABS%ZFK=32.,
+   TFP_CLF%IBITS=6,
+   TFP_EDR%CLNAME='EDR',
+   TFP_EDR%IBITS=16,
+   TFP_EDR%IGRIB=136,
+   TFP_GR%IBITS=12,
+   TFP_HL%IBITS=12,
+   TFP_HTB%IBITS=16,
+   TFP_HTB%LLGP=.TRUE.,
+   TFP_HU%IBITS=12,
+   TFP_MSAT9C2%IBITS=12,
+   TFP_MSAT9C6%IBITS=12,
+   TFP_MSLNH%IBITS=12,
+   TFP_PV%ZFK=64.,
+   TFP_RCLS%IBITS=12,
+   TFP_RR%IBITS=12,
+   TFP_SN%IBITS=12,
+   TFP_T%IBITS=12,
+   TFP_TCLS%IBITS=12,
+   TFP_TH%IBITS=12,
+   TFP_THPW%IBITS=12,
+   TFP_THV%IBITS=12,
+   TFP_TN%IBITS=12,
+   TFP_TWV%IBITS=12,
+   TFP_TX%IBITS=12,
+   TFP_U%IBITS=12,
+   TFP_V%IBITS=12,
+   TFP_VOR%ZFK=32.,
+   TFP_VV%ZFK=32.,
+ /
+ &NAMARG
+   CNMEXP='${CNMEXP}',
+   LECMWF=.FALSE.,
+   LELAM=.TRUE.,
+   LSLAG=.TRUE.,
+   NCONF=1,
+   NSUPERSEDE=1,
+ /
+ &NAMARPHY
+   LKFBCONV=.FALSE.,
+   LKFBD=.FALSE.,
+   LKFBS=.FALSE.,
+   LMFSHAL=.TRUE.,
+   LMICRO=.TRUE.,
+   LMPA=.TRUE.,
+   LMSE=.TRUE.,
+   LTURB=.TRUE.,
+ /
+ &NAMCA
+ /
+ &NAMCAPE
+ /
+ &NAMCFU
+   LCUMFU=.TRUE.,
+   LFPLS=.TRUE.,
+   LFPLSG=.TRUE.,
+   LFR=.TRUE.,
+   LFRRC=.TRUE.,
+   LFSF=.TRUE.,
+   LNEBPAR=.TRUE.,
+   LNEBTT=.TRUE.,
+   LRAYD=.TRUE.,
+   LRAYS=.TRUE.,
+ /
+ &NAMCHEM
+ /
+ &NAMCHET
+ /
+ &NAMCHK
+ /
+ &NAMCLA
+ /
+ &NAMCLDP
+ /
+ &NAMCLI
+ /
+ &NAMCLOP15
+ /
+ &NAMCLTC
+ /
+ &NAMCOK
+ /
+ &NAMCOM
+ /
+ &NAMCOSJO
+ /
+ &NAMCOUPLO4
+ /
+ &NAMCT0
+   CFPNCF='ECHFP',
+   CNPPATH=' ',
+   LAROME=.TRUE.,
+   LNHEE=.TRUE.,
+   LSCREEN_OPENMP=.FALSE.,
+   LSPRT=.TRUE.,
+   LTWOTL=.TRUE.,
+   NFPOS=1,
+   NFRSDI=18,
+   NSDITS(0)=0,
+   NFRHIS=72,
+   NHISTS(0)=0,
+   NFRPOS=72,
+   NPOSTS(0)=0,
+   NFRSFXHIS=72,
+   NSFXHISTS(0)=0,
+   NFRDHFD=72,
+   NDHFDTS(0)=0,
+ /
+ &NAMCT1
+   LRFILAF=.FALSE.,
+   N1HIS=1,
+   N1POS=1,
+   N1RES=0,
+   N1SDI=1,
+   N1SFXHIS=1,
+   N1GDI=0,
+ /
+ &NAMCUMF
+ /
+ &NAMCUMFS
+ /
+ &NAMCVER
+ /
+ &NAMCVMNH
+ /
+ &NAMDDH
+   LDDH_OMP=.TRUE.,
+   LHDDOP=.TRUE.,
+   LHDHKS=.TRUE.,
+   LHDEFD=.TRUE.,
+   LFLEXDIA=.TRUE.,
+   BDEDDH(1,1)=3,
+   BDEDDH(2,1)=1,
+   BDEDDH(3,1)=358.8
+   BDEDDH(4,1)=45.1
+   BDEDDH(5,1)=360.3
+   BDEDDH(6,1)=44.5
+ /
+ &NAMDFI
+ /
+ &NAMDIM
+   NPROMA=-50,
+ /
+ &NAMDIMO
+ /
+ &NAMDIM_TRAJ
+ /
+ &NAMDPHY
+ /
+ &NAMDPRECIPS
+ /
+ &NAMDYN
+   LADVF=.TRUE.,
+   LQMPD=.FALSE.,
+   LQMT=.FALSE.,
+   LQMVD=.FALSE.,
+   LRHDI_LASTITERPC=.TRUE.,
+   NITMP=4,
+   NSITER=1,
+   NSPDLAG=3,
+   NSVDLAG=3,
+   NTLAG=3,
+   NVLAG=3,
+   NWLAG=3,
+   RDAMPDIV=20.,
+   RDAMPPD=20.,
+   RDAMPQ=0.,
+   RDAMPT=0.,
+   RDAMPVD=20.,
+   RDAMPVOR=20.,
+   REPS1=0.,
+   REPS2=0.,
+   REPSM1=0.,
+   REPSM2=0.,
+   REPSP1=0.,
+   SDRED=1.,
+   SIPR=90000.,
+   SITR=350.,
+   SITRA=100.,
+   SLHDA0=0.25,
+   SLHDD00=0.000065,
+   VESL=0.05,
+   XIDT=0.,
+   ZSLHDP1=1.7,
+   ZSLHDP3=0.6,
+ /
+ &NAMDYNA
+   LCOMADH=.TRUE.,
+   LCOMADV=.FALSE.,
+   LCOMAD_GFL=.TRUE.,
+   LCOMAD_SP=.TRUE.,
+   LCOMAD_SPD=.TRUE.,
+   LCOMAD_SVD=.TRUE.,
+   LCOMAD_T=.TRUE.,
+   LCOMAD_W=.TRUE.,
+   LGWADV=.TRUE.,
+   LNESC=.TRUE.,
+   LPC_CHEAP=.TRUE.,
+   LPC_FULL=.TRUE.,
+   LRDBBC=.FALSE.,
+   LSETTLS=.FALSE.,
+   LSETTLST=.TRUE.,
+   LSLHD_GFL=.TRUE.,
+   LSLHD_OLD=.FALSE.,
+   LSLHD_SPD=.FALSE.,
+   LSLHD_SVD=.FALSE.,
+   LSLHD_T=.FALSE.,
+   LSLHD_W=.FALSE.,
+   ND4SYS=2,
+   NDLNPR=1,
+   NPDVAR=2,
+   NVDVAR=4,
+   SLHDEPSH=0.08,
+   SLHDKMAX=6,
+ /
+ &NAMDYNCORE
+ /
+ &NAMEMIS_CONF
+ /
+ &NAMENKF
+ /
+ &NAMFA
+   CMODEL='OUTPUTID',
+   LEXTERN=.TRUE.,
+   LSUPPDATE=.FALSE.,
+   NBITCS=-1,
+   NBITPG=-1,
+   NSTRON=-1,
+ /
+ &NAMFAINIT
+   JPXTRO=2000,
+ /
+ &NAMFPC
+   CFP2DF(1)='SURFPRESSION',
+   CFP2DF(2)='MSL_NHPRESSURE',
+   CFP2DF(3)='SURFTOT.WAT.VAPO',
+   CFP2DF(4)='SURFISOTPW0.MALT',
+   CFP2DF(5)='SURFCAPE.POS.F00',
+   CFP2DF(6)='C002_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(7)='C006_METEOSAT_09_SEVIRI.POS',
+   CFP2DF(8)='SURFREFLECT.MAX',
+   CFP2DF(9)='SURFISOTPW1.MALT',
+   CFP2DF(10)='SURFISOTPW2.MALT',
+   CFP3DF(1)='GEOPOTENTIEL',
+   CFP3DF(2)='TEMPERATURE',
+   CFP3DF(3)='VENT_ZONAL',
+   CFP3DF(4)='VENT_MERIDIEN',
+   CFP3DF(5)='HUMI_RELATIVE',
+   CFP3DF(6)='THETA_PRIM_W',
+   CFP3DF(7)='PRESSURE',
+   CFP3DF(8)='ABS_VORTICITY',
+   CFP3DF(9)='VITESSE_VERTICALE',
+   CFP3DF(10)='TEMPE_POTENT',
+   CFP3DF(11)='POT_VORTICIT',
+   CFP3DF(12)='SIM_REFLECTI',
+   CFP3DF(13)='RAIN',
+   CFP3DF(14)='SNOW',
+   CFP3DF(15)='GRAUPEL',
+   CFP3DF(16)='ICE_CRYSTAL',
+   CFP3DF(17)='CLOUD_WATER',
+   CFP3DF(18)='VERT.VELOCIT',
+   CFP3DF(19)='DIVERGENCE',
+   CFP3DF(20)='THETA_VIRTUA',
+   CFP3DF(21)='TKE',
+   CFP3DF(22)='CLOUD_FRACTI',
+   CFP3DF(23)='ISOT_ALTIT',
+   CFP3DF(24)='EDR',
+   CFPCFU(1)='SURFTENS.TOTA.ZO',
+   CFPCFU(2)='SURFTENS.TOTA.ME',
+   CFPCFU(3)='SURFACCPLUIE',
+   CFPCFU(4)='SURFACCNEIGE',
+   CFPCFU(5)='SURFACCGRAUPEL',
+   CFPCFU(6)='SOMMFLU.RAY.SOLA',
+   CFPCFU(7)='SURFFLU.RAY.SOLA',
+   CFPCFU(8)='SOMMFLU.RAY.THER',
+   CFPCFU(9)='SURFFLU.RAY.THER',
+   CFPCFU(10)='SURFFLU.LAT.MTOT',
+   CFPCFU(11)='SURFFLU.MTOTA.NE',
+   CFPCFU(12)='SURFFLU.CHA.SENS',
+   CFPCFU(13)='SURFRAYT SOLA DE',
+   CFPCFU(14)='SURFRAYT THER DE',
+   CFPCFU(15)='SURFRAYT SOL CL',
+   CFPCFU(16)='SURFRAYT THER CL',
+   CFPCFU(17)='SURFRAYT DIR SUR',
+   CFPDOM(1)='FRANGP0025',
+   CFPFMT='LALON',
+   CFPPHY(1)='SURFTEMPERATURE',
+   CFPPHY(2)='INTSURFGEOPOTENT',
+   CFPPHY(3)='SURFRESERV.NEIGE',
+   CFPXFU(1)='CLSTEMPERATURE',
+   CFPXFU(2)='CLSHUMI.RELATIVE',
+   CFPXFU(3)='CLSVENT.ZONAL',
+   CFPXFU(4)='CLSVENT.MERIDIEN',
+   CFPXFU(5)='SURFNEBUL.TOTALE',
+   CFPXFU(6)='SURFNEBUL.HAUTE',
+   CFPXFU(7)='SURFNEBUL.MOYENN',
+   CFPXFU(8)='SURFNEBUL.BASSE',
+   CFPXFU(9)='CLSMAXI.TEMPERAT',
+   CFPXFU(10)='CLSMINI.TEMPERAT',
+   CFPXFU(11)='CLPMHAUT.MOD.XFU',
+   CFPXFU(12)='SURFDIAGHAIL',
+   LCRITSNOWTEMP=.FALSE.,
+   LFPCAPEX=.TRUE.,
+   LFPMOIS=.TRUE.,
+   LFPPACKING=.FALSE.,
+   LWIDER_DOM=.TRUE.,
+   L_READ_MODEL_DATE=.TRUE.,
+   NFITI=1,
+   NFITV=1,
+   NFPCAPE=5,
+   NFPCLI=1,
+   NFPGRIB=1,
+   NFPINPHY=4,
+   NITERPV=8,
+   RENTRA=0.0001,
+   RFP3H(1)=10.,
+   RFP3H(2)=20.,
+   RFP3H(3)=35.,
+   RFP3H(4)=50.,
+   RFP3H(5)=75.,
+   RFP3H(6)=100.,
+   RFP3H(7)=150.,
+   RFP3H(8)=200.,
+   RFP3H(9)=250.,
+   RFP3H(10)=375.,
+   RFP3H(11)=500.,
+   RFP3H(12)=625.,
+   RFP3H(13)=750.,
+   RFP3H(14)=875.,
+   RFP3H(15)=1000.,
+   RFP3H(16)=1125.,
+   RFP3H(17)=1250.,
+   RFP3H(18)=1375.,
+   RFP3H(19)=1500.,
+   RFP3H(20)=1750.,
+   RFP3H(21)=2000.,
+   RFP3H(22)=2250.,
+   RFP3H(23)=2500.,
+   RFP3H(24)=2750.,
+   RFP3H(25)=3000.,
+   RFP3I(1)=-273.15,
+   RFP3I(2)=-263.15,
+   RFP3I(3)=-261.15,
+   RFP3I(4)=-253.15,
+   RFP3P(1)=10000.,
+   RFP3P(2)=12500.,
+   RFP3P(3)=15000.,
+   RFP3P(4)=17500.,
+   RFP3P(5)=20000.,
+   RFP3P(6)=22500.,
+   RFP3P(7)=25000.,
+   RFP3P(8)=27500.,
+   RFP3P(9)=30000.,
+   RFP3P(10)=35000.,
+   RFP3P(11)=40000.,
+   RFP3P(12)=45000.,
+   RFP3P(13)=50000.,
+   RFP3P(14)=55000.,
+   RFP3P(15)=60000.,
+   RFP3P(16)=65000.,
+   RFP3P(17)=70000.,
+   RFP3P(18)=75000.,
+   RFP3P(19)=80000.,
+   RFP3P(20)=85000.,
+   RFP3P(21)=90000.,
+   RFP3P(22)=92500.,
+   RFP3P(23)=95000.,
+   RFP3P(24)=100000.,
+   RFP3PV(1)=0.0000015,
+   RFP3PV(2)=0.000002,
+   RFPCD2=5.,
+   RFPCSAB=50.,
+   RFPVCAP=7000.,
+ /
+ &NAMFPD
+   NLAT(1)=41,
+   NLON(1)=41,
+   RLONC(1)=-0.71,
+   RLATC(1)=44.8,
+   RDELX(1)=0.025,
+   RDELY(1)=0.025,
+ /
+ &NAMFPDY2
+ /
+ &NAMFPDYF
+ /
+ &NAMFPDYH
+ /
+ &NAMFPDYI
+ /
+ &NAMFPDYP
+ /
+ &NAMFPDYS
+ /
+ &NAMFPDYT
+ /
+ &NAMFPDYV
+ /
+ &NAMFPF
+   NFMAX(1)=60,
+   NFMAX(2)=80,
+ /
+ &NAMFPG
+   NFPDISTRIB=1,
+ /
+ &NAMFPIOS
+ /
+ &NAMFPMOVE
+ /
+ &NAMFPPHY
+ /
+ &NAMFPSC2
+   NFPROMA=-50,
+ /
+ &NAMFPSC2_DEP
+   NFPROMA_DEP=-50,
+ /
+ &NAMGEM
+ /
+ &NAMGFL
+   NGFL_EZDIAG=4,
+   YEZDIAG_NL(1)%CNAME='EZDIAG01',
+   YEZDIAG_NL(1)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(2)%CNAME='EZDIAG02',
+   YEZDIAG_NL(2)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(3)%CNAME='EZDIAG03',
+   YEZDIAG_NL(3)%LREQOUT=.FALSE.,
+   YEZDIAG_NL(4)%CNAME='INPRRTOT3D',
+   YEZDIAG_NL(4)%LREQOUT=.TRUE.,
+   YG_NL%LQM=.TRUE.,
+   YG_NL%LSLHD=.TRUE.,
+   YG_NL%NCOUPLING=-1,
+   YG_NL%NREQIN=1,
+   YG_NL%REFVALC=0.,
+   YIRAD_NL%LGP=.TRUE.,
+   YI_NL%LQM=.TRUE.,
+   YI_NL%LSLHD=.TRUE.,
+   YI_NL%NCOUPLING=-1,
+   YI_NL%NREQIN=1,
+   YI_NL%REFVALC=0.,
+   YLRAD_NL%LGP=.TRUE.,
+   YL_NL%LQM=.TRUE.,
+   YL_NL%LSLHD=.TRUE.,
+   YL_NL%NCOUPLING=-1,
+   YL_NL%NREQIN=1,
+   YL_NL%REFVALC=0.,
+   YQ_NL%LCOMAD=.TRUE.,
+   YQ_NL%LQM=.TRUE.,
+   YQ_NL%LSLHD=.FALSE.,
+   YQ_NL%NREQIN=1,
+   YR_NL%LQM=.TRUE.,
+   YR_NL%LSLHD=.TRUE.,
+   YR_NL%NCOUPLING=-1,
+   YR_NL%NREQIN=1,
+   YR_NL%REFVALC=0.,
+   YS_NL%LQM=.TRUE.,
+   YS_NL%LSLHD=.TRUE.,
+   YS_NL%NCOUPLING=-1,
+   YS_NL%NREQIN=1,
+   YS_NL%REFVALC=0.,
+   YTKE_NL%NCOUPLING=0,
+   YTKE_NL%NREQIN=1,
+ /
+ &NAMGRIB
+ /
+ &NAMGWD
+ /
+ &NAMGWDIAG
+ /
+ &NAMGWWMS
+ /
+ &NAMIAU
+   ALPHAIAU=0.5,
+   LIAU=.FALSE.,
+   TSTARTIAU=1800,
+   TSTOPIAU=5340,
+ /
+ &NAMICE
+ /
+ &NAMINI
+   LDFI=.FALSE.,
+ /
+ &NAMINTFLEX
+ /
+ &NAMIOMI
+ /
+ &NAMIOS
+ /
+ &NAMIO_SERV
+   NIO_SERV_BUF_MAXSIZE=20,
+   NIO_SERV_METHOD=2,
+   NMSG_LEVEL_CLIENT=0,
+   NMSG_LEVEL_SERVER=0,
+   NPROCESS_LEVEL=5,
+   NPROC_IO=0,
+ /
+ &NAMJBCODES
+ /
+ &NAMJFH
+ /
+ &NAMJG
+ /
+ &NAMLCZ
+ /
+ &NAMLSFORC
+ /
+ &NAMMARS
+ /
+ &NAMMCC
+ /
+ &NAMMCUF
+ /
+ &NAMMKODB
+ /
+ &NAMMODERR
+ /
+ &NAMMTS
+ /
+ &NAMMWAVE
+ /
+ &NAMNPROF
+ /
+ &NAMNUD
+ /
+ &NAMOBS
+ /
+ &NAMONEDVAR
+ /
+ &NAMOOPS
+ /
+ &NAMOPH
+   CFNHWF='ECHIS',
+   LINC=.TRUE.,
+   NTIMEFMT=1,
+ /
+ &NAMOPTCMEM
+ /
+ &NAMPAR0
+   LOPT_SCALAR=.TRUE.,
+   NPRINTLEV=1,
+   LMPOFF=.FALSE.,
+   MBX_SIZE=2048000000,
+   MP_TYPE=2,
+   NOUTPUT=1,
+   NPROC=$NPROC,
+$NPRTRW_NPRTRV
+ /
+ &NAMPAR1
+   LEQ_REGIONS=.FALSE.,
+   LSLONDEM=.TRUE.,
+   LSPLIT=.TRUE.,
+   LSYNC_SLCOM=.FALSE.,
+   LSYNC_TRANS=.FALSE.,
+   L_GATHERV_WRGP=.FALSE.,
+   NCOMBFLEN=1800000,
+   NSTRIN=$NSTRIN,
+   NSTROUT=$NSTROUT,
+ /
+ &NAMPARAR
+   CFRAC_ICE_ADJUST='S',
+   CFRAC_ICE_SHALLOW_MF='S',
+   CMICRO='ICE3',
+   CSEDIM='STAT',
+   CSNOWRIMING='M90',
+   LCONVHG=.TRUE.,
+   LCRFLIMIT=.TRUE.,
+   LCRIAUTI=.TRUE.,
+   LEVLIMIT=.TRUE.,
+   LFEEDBACKT=.TRUE.,
+   LFPREC3D=.TRUE.,
+   LNULLWETG=.TRUE.,
+   LNULLWETH=.TRUE.,
+   LOLSMC=.TRUE.,
+   LOSEDIC=.TRUE.,
+   LOSIGMAS=.TRUE.,
+   LOSUBG_COND=.TRUE.,
+   LSEDIM_AFTER=.FALSE.,
+   LWETGPOST=.TRUE.,
+   LWETHPOST=.TRUE.,
+   NMAXITER_MICRO=1,
+   NPRINTFR=10000,
+   NPTP=1,
+   RCRIAUTC=0.001,
+   RCRIAUTI=0.0002,
+   RT0CRIAUTI=-5.,
+   VSIGQSAT=0.02,
+   XFRACM90=0.1,
+   XMRSTEP=0.00005,
+   XSPLIT_MAXCFL=0.8,
+   XTSTEP_TS=0.,
+ /
+ &NAMPHMSE
+   LPGDFWR=.FALSE.,
+ /
+ &NAMPHY
+   LAERODES=.TRUE.,
+   LAEROLAN=.TRUE.,
+   LAEROSEA=.TRUE.,
+   LAEROSOO=.TRUE.,
+   LEDR=.TRUE.,
+   LMPHYS=.TRUE.,
+   LO3ABC=.TRUE.,
+   LRAYFM=.TRUE.,
+ /
+ &NAMPHY0
+   ALMAV=300.,
+   BEDIFV=0.05,
+   ECMNP=3000.,
+   GCCSV=0.,
+   GCVADS=0.8,
+   GCVALFA=0.000045,
+   GCVBETA=0.2,
+   GCVMLT=0.00016,
+   GCVNU=0.000025,
+   GCVPSI=1.,
+   GCVPSIE=1.,
+   GDDEVA=0.25,
+   GDDSDE=0.5,
+   GWDCD=6.,
+   HUCOE=0.5,
+   HUTIL=1.8,
+   QSSC=400.,
+   QSSUSC=0.75,
+   QSSUSS=0.4,
+   QSSUSV=250.,
+   QSUSXC=0.0002,
+   QSUSXS=0.0003,
+   QXRAL=130.,
+   QXRDEL=0.49,
+   QXRHX=0.99,
+   QXRR=0.25,
+   RCVEVAP=0.25,
+   REFLKUO=5000.,
+   REVGSL=15.,
+   SCO=-20.,
+   TDDGP=0.8,
+   TENTR=0.0000025,
+   TENTRX=0.00008,
+   TUDGP=0.8,
+   UHDIFV=0.0008,
+   USURIC=0.175,
+   USURICE=0.5,
+   USURICL=1.,
+   USURID=0.1,
+   USURIDE=0.25,
+   VZ0CM=0.00015,
+   XMAXLM=5000.,
+   XMINLM=10.,
+ /
+ &NAMPHY1
+   ALBMIN=0.65,
+   ALCRIN=0.75,
+   GCGEL=0.00003,
+   GCGELS=0.00005,
+   GNEIMX=1.8,
+   GNEIMXS=1.8,
+   RCTVEG(3)=0.000012,
+   RCTVEG(4)=0.00001,
+ /
+ &NAMPHY2
+   FACRAF=3.8,
+   HTKERAF=20.,
+   LMULAF=.TRUE.,
+   LRAFTKE=.TRUE.,
+   LRAFTUR=.TRUE.,
+   XDAMP=1.,
+   XMULAF=-1.85,
+ /
+ &NAMPHY3
+ /
+ &NAMPHYDS
+ /
+ &NAMPONG
+ /
+ &NAMPPC
+ /
+ &NAMPPVI
+ /
+ &NAMPRE
+ /
+ &NAMRAD15
+ /
+ &NAMRADCMEM
+ /
+ &NAMRCF
+ /
+ &NAMRCOEF
+ /
+ &NAMRES
+ /
+ &NAMRGRI
+ /
+ &NAMRINC
+ /
+ &NAMRIP
+    TSTEP=50.,
+    CSTOP='h2',
+ /
+ &NAMRIP0
+ /
+ &NAMRLX
+ /
+ &NAMSATS
+   LPARTIAL_COEF_FILES=.TRUE.,
+ /
+ &NAMSCC
+ /
+ &NAMSCEN
+ /
+ &NAMSCM
+ /
+ &NAMSEKF
+ /
+ &NAMSENS
+ /
+ &NAMSFXCMP
+   CFLDNAME(1)='????????????????',
+   NBBITS(1)=24,
+ /
+ &NAMSIMPHL
+ /
+ &NAMSPNG
+ /
+ &NAMSPSDT
+ /
+ &NAMSTA
+ /
+ &NAMSTOPH
+ /
+ &NAMSWE
+ /
+ &NAMTESTVAR
+ /
+ &NAMTHLIM
+ /
+ &NAMTOPH
+   ETCVIM=5000.,
+   ETNEBU=5000.,
+   ETPLUI=5000.,
+   XDRMTK=6.0D-7,
+   XDRMTP=800.,
+   XDRMUK=3.0D-7,
+   XDRMUP=800.,
+ /
+ &NAMTRAJP
+ /
+ &NAMTRANS
+ /
+ &NAMTRANS0
+ /
+ &NAMTS
+ /
+ &NAMVAR
+ /
+ &NAMVARBC
+ /
+ &NAMVARBC_AIREP
+ /
+ &NAMVARBC_ALLSKY
+ /
+ &NAMVARBC_GBRAD
+ /
+ &NAMVARBC_RAD
+ /
+ &NAMVARBC_SFCOBS
+ /
+ &NAMVARBC_TCWV
+ /
+ &NAMVARBC_TO3
+ /
+ &NAMVAREPS
+ /
+ &NAMVDF
+ /
+ &NAMVDOZ
+ /
+ &NAMVOLCANO
+ /
+ &NAMVRTL
+ /
+ &NAMVV0
+ /
+ &NAMVV1
+ /
+ &NAMVWRK
+ /
+ &NAMWAVELETJB
+ /
+ &NAMXFU
+   LXCLP=.TRUE.,
+   LXCLS=.TRUE.,
+   LXFU=.TRUE.,
+   LXNEBPA=.TRUE.,
+   LXNEBTT=.TRUE.,
+   LXNUVCLS=.TRUE.,
+   LXPLS=.TRUE.,
+   LXPLSG=.TRUE.,
+   LXQCLS=.TRUE.,
+   LXR=.TRUE.,
+   LXSOIL=.FALSE.,
+   LXTHW=.TRUE.,
+   LXTRT=.TRUE.,
+   LXTTCLS=.TRUE.,
+   LXXDIAGH=.TRUE.,
+   LXXGST=.TRUE.,
+   NFRRAZ=72,
+   NRAZTS(0)=0,
+ /
+ &NAM_CANAPE
+ /
+ &NAM_DISTRIBUTED_VECTORS
+ /
+ &NAPHLC
+ /
+ &NEMCT0
+ /
+ &NEMDIM
+ /
+ &NEMDYN
+ /
+ &NEMELBC0A
+   LESPCPL=.TRUE.,
+   NBICNHX=2,
+   NBICOP=2,
+   NBICOT=2,
+   NBICOU=2,
+   NBICPD=2,
+   NBICVD=2,
+   NECRIPL=1,
+ /
+ &NEMELBC0B
+   NEFRSPCPL=1,
+   NEK0=20,
+   NEK1=30,
+   NEN1=4,
+   NEN2=8,
+   SPNUDDIV=0.01,
+   SPNUDQ=0.,
+   SPNUDT=0.01,
+   SPNUDVOR=0.01,
+   TEFRCL=3600.,
+ /
+ &NEMFPEZO
+ /
+ &NEMGEO
+ /
+ &NEMJK
+ /
+ &NEMVAR
+ /
+ &NEMWAVELET
+ /
+ &NAETLDIAG
+ /
+ &NAMMETHOX
+ /
+ &NAMSPP
+ /
+ &NAMACV
+ /
+ &NAMFPOBJ
+ /
+ &NAMNORGWD
+ /
+ &NAMTRAJ
+ /
+ &NAMSATSIM
+ /
+ &NAMDVISI
+ /
+ &NAMNUDGLH
+ /
+ &NAMPERTPAR
+ /
+FIN
+/bin/cat fort.4
+
+/bin/cat <<FIN > EXSEG1.nam
+ &NAM_DIAG_ISBAN
+   LPGD=.TRUE.,
+   LSURF_MISC_BUDGET=.TRUE.,
+ /
+ &NAM_DIAG_SURFN
+   LCOEF=.TRUE.,
+   LSURF_BUDGET=.TRUE.,
+   N2M=2,
+ /
+ &NAM_ISBAN
+   CSCOND='NP89',
+ /
+ &NAM_REPROD_OPER
+   LREPROD_OPER=.TRUE.,
+ /
+ &NAM_SEAFLUXN
+   CSEA_FLUX='ECUME',
+   LPWG=.FALSE.,
+   LPRECIP=.FALSE.,
+   LPWEBB=.FALSE.,
+ /
+ &NAM_SSON
+   CROUGH='Z01D',
+   XFRACZ0=5.,
+   LDSV=.FALSE.,
+ /
+ &NAM_SURF_ATM
+   XRIMAX=0.2,
+   LNOSOF=.TRUE.,
+ /
+ &NAM_SURF_CSTS
+   XZ0SN=0.01,
+   XZ0HSN=0.001,
+   XEMISSN=0.99,
+ /
+ &NAM_WRITE_DIAG_SURFN
+   LPROVAR_TO_DIAG=.FALSE.,
+   LSELECT=.TRUE.,
+CSELECT(1)='T2M','HU2M','XX','YY','DX','DY','SST','Z0SEA','TS_WATER','Z0WATER','TG1','TG2','TG3','WG1','WG2','WG3','WGI1','WGI2','WGI3','WR','WSN_VEG1','RSN_VEG1','ASN_VEG','TSRAD_NAT','RESA','TROOF1','TROOF2','TROOF3','TROOF4','TROOF5','WS_ROOF','TROAD1','TROAD2','TROAD3','TROAD4','TROAD5','WS_ROAD','TWALL1','TWALL2','TWALL3','TWALL4','TWALL5','TI_BLD','T_WIN1','TI_ROAD','WSN_RF1','RSN_RF1','TSN_RF1','ASN_RF','WSN_RD1','RSN_RD1','TSN_RD1','ASN_RD','TCANYON','QCANYON','STORAGE_TYPE','MASDEV','VERSION','BUG','DIM_FULL','DTCUR','LAT0','LON0','RPK','BETA','LATORI','LONORI','IMAX','JMAX','RW_PRECIP','BUDC','SEA_OCEAN','SEA_SBL','WAT_SBL','SN_VEG_N','SN_VEG','LSNOW_FRAC_T','GLACIER','TEMPARP','NLITTER','NLITTLEVS','NSOILCARB','ISBA_CANOPY','SN_RF_N','SN_RF','SN_RD_N','SN_RD','SN_RD_TYP','SN_RF_TYP','TEB_CANOPY','STORAGETYPE','CARTESIAN','GRID_TYPE','SN_VEG_TYP','RESPSL','ROAD_DIR','WALL_OPT','LAI','VEG','RSMIN','DG2','_FBUF_SIZE','_FBUF_DIM1','_FBUF_DIM2','_FBUF_NAME','_FBUF_TYPE','_FBUF_MASK','LCPL_GCM','HANDLE_SIC','SSS',
+ /
+ &NAM_WRITE_SURF_ATM
+   LNOWRITE_TEXFILE=.TRUE.,
+ /
+FIN
+/bin/cat EXSEG1.nam
+
+#      *****************************************
+#      *  Acquisition du fichier de demarrage  *
+#      *****************************************
+
+echo
+for hh in 0 1 2 3 4 5 6 ; do
+  N=`expr $hh / 1 `
+  set -x
+  ln -s $rekchemin/data/aro/$case/ELSCFFCSTALBC000${N}_l15 ELSCF${CNMEXP}ALBC00${N}
+  set +x
+done
+set -x
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT_l15 ICMSH${CNMEXP}INIT
+ln -s $rekchemin/data/aro/$case/ICMSHFCSTINIT.sfx ICMSH${CNMEXP}INIT.sfx
+ln -s $rekchemin/data/surfex/v8/ecoclimapI_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_eu_covers_param.bin .
+ln -s $rekchemin/data/surfex/v8/ecoclimapII_af_covers_param.bin .
+ln -s $rekchemin/data/aro/$case/Const.Clim Const.Clim
+ln -s $rekchemin/data/aro/$case/Const.Clim.sfx Const.Clim.sfx
+ln -s $rekchemin/data/aro/$case/const.clim.FRANGP0025 const.clim.FRANGP0025
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_9_seviri.dat .
+ln -s $rekchemin/data/rttov12/rtcoef_meteosat_10_seviri.dat .
+ln -s $rekchemin/data/rttov12/sccldcoef_meteosat_9_seviri.dat .
+set +x
+tar xfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz
+
+#      ***************
+#      *  Chargement *
+#      ***************
+
+echo
+set -x
+\ln -s $LOADIR/MASTERODB MASTER
+set +x
+if ldd MASTER | grep openmpi > /dev/null; then
+  #On est sur PC
+  MPILIB=$(ldd MASTER | grep openmpi | tail -1 | awk '{print $3}' | awk -F "/" '{print $(NF-2)}')
+  MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep openmpi| tail -1 | awk '{print $3}'))))/bin/orterun --oversubscribe -np $NPROC"
+  GRIB_API=$(dirname $(dirname $(ldd MASTER | grep grib_api | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  ECCODES=$(dirname $(dirname $(ldd MASTER | grep eccodes | head -1 | awk '{print $3}') 2>/dev/null) 2>/dev/null)
+  export GRIB_SAMPLES_PATH=$GRIB_API/share/grib_api/ifs_samples/grib1
+  export GRIB_DEFINITION_PATH=$GRIB_API/share/grib_api/definitions
+  export ECCODES_SAMPLES_PATH=$ECCODES/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=$rekchemin/data/eccodes_extras_definitions:$ECCODES/share/eccodes/definitions
+else
+  #On est sur HPC
+  #MPIRUN="$(echo $(dirname $(dirname $(ldd MASTER | grep libmpi| tail -1 | awk '{print $3}'))))/bin/mpirun -wdir $PWD"
+  NNODES=$SLURM_JOB_NUM_NODES
+  MPITASKS_PER_NODE=$((SLURM_NTASKS/SLURM_JOB_NUM_NODES))
+  MPI_TASKS=$SLURM_NTASKS
+  MPIRUN="/opt/softs/mpiauto/mpiauto -np $MPI_TASKS -nnp $MPITASKS_PER_NODE --"
+  export OMP_STACKSIZE=4G
+  export KMP_STACKSIZE=4G
+  export KMP_MONITOR_STACKSIZE=4G
+  export DR_HOOK=1
+  export DR_HOOK_IGNORE_SIGNALS=-1
+  export DR_HOOK_SILENT=1
+  export DR_HOOK_SHOW_PROCESS_OPTIONS=0
+  export MPL_MBX_SIZE=2048000000
+  export EC_PROFILE_HEAP=0
+  export EC_PROFILE_MEM=0
+  export EC_MPI_ATEXIT=0
+  export EC_MEMINFO=0
+  export OPENBLAS_NUM_THREADS=1
+  export MKL_CBWR="AUTO,STRICT"
+  export MKL_NUM_THREADS=1
+  export MKL_DEBUG_CPU_TYPE=5
+  export ECCODES_SAMPLES_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/ifs_samples/grib1
+  export ECCODES_DEFINITION_PATH=/opt/softs/libraries/ICC_2018.5.274/eccodes-2.17.0/share/eccodes/definitions
+fi
+echo $MPIRUN
+set +x
+if [ ! -f MASTER ] ; then echo No executable MASTER;exit 1;fi
+
+#      ***************
+#      *  Execution  *
+#      ***************
+
+echo
+echo OMP_NUM_THREADS=$OMP_NUM_THREADS
+set -x
+ulimit -s unlimited
+$MPIRUN $PWD/MASTER >lola
+set +x
+echo
+##if [ -f lola ] ; then
+##  echo;echo Standard output :;echo;cat lola
+##fi
+##if [ -f stderr.* ] ; then
+##  for file in stderr.* ; do
+##    echo;echo $file :;cat $file
+##  done
+##fi
+##if [ -f stdout.* ] ; then
+##echo;echo stdout :;echo;cat stdout.*
+##fi
+##if [ -a NODE.001_01 ] ; then
+##  for file in NODE* ; do
+##    echo;echo Listing $file;echo
+##    cat $file
+##  done
+##fi
+##if [ $(find . -name "drhook.prof.*" | wc -l) -ne 0 ] ; then
+### Top 25 for each MPI task :
+##  for file in drhook.prof.* ; do
+##    echo;echo $file :;head -38 $file
+##  done
+##fi
+#cat drhook.prof.* | perl -w $HOME/bin/drhook_merge_walltime_max.pl
+
+#      *******************
+#      *  Sauvegardes    *
+#      *******************
+
+ls
+#if [ -f PFFPOS000+0000 ] ; then
+#  cp PFFPOS000+0000 $WAIT_QUEUE/PFFPOS000+0000.$PBS_JOBID
+#fi
+cp lola NODE.001_01 ICMSHFPOS+00* DHFDLFPOS+00* $OUTPUTDIR/
+/bin/rm fort.4 EXSEG1.nam lola ICMSHFPOS+0000* PFFPOSFRANGP0025+0000* ICMSHFPOS+0001*
+/bin/rm PFFPOSFRANGP0025+0001* ICMSHFPOS+0002* ECHIS PFFPOSFRANGP0025+0002* DHFDLFPOS+00*
+/bin/rm ECHFP NODE.001_01 ifs.stat $(tar tfz $rekchemin/data/rtm/radiation_params.47r1_light.tgz)
+
+#      ****************
+#      *  Epilogue    *
+#      ****************
+
+ls -ltr | grep -v "\->"
+echo Wait_queue :
+ls -ltr $TMPWAIT
+cd $TMPDIR
+\rm -rf rundir.$$
+\rm -rf wait_queue.$$
+date
+set +x