diff --git a/src/ARCH_SRC/surfex/dummy_trip.F90 b/src/ARCH_SRC/surfex/dummy_trip.F90
new file mode 100644
index 0000000000000000000000000000000000000000..cc8dc0aa10aadd48645498e9be011e3a17405ef1
--- /dev/null
+++ b/src/ARCH_SRC/surfex/dummy_trip.F90
@@ -0,0 +1,66 @@
+MODULE MODD_DIAG_TRIP_n
+
+CONTAINS
+!
+SUBROUTINE DIAG_TRIP_GOTO_MODEL(KFROM, KTO, LKFROM)
+LOGICAL, INTENT(IN) :: LKFROM
+INTEGER, INTENT(IN) :: KFROM, KTO
+END SUBROUTINE DIAG_TRIP_GOTO_MODEL
+
+SUBROUTINE DIAG_TRIP_ALLOC(KMODEL)
+INTEGER, INTENT(IN) :: KMODEL
+END SUBROUTINE DIAG_TRIP_ALLOC
+
+SUBROUTINE DIAG_TRIP_DEALLO
+END SUBROUTINE DIAG_TRIP_DEALLO
+END MODULE MODD_DIAG_TRIP_n  
+!##################
+!##################
+!##################
+MODULE MODD_TRIP_GRID_n
+CONTAINS
+
+SUBROUTINE TRIP_GRID_GOTO_MODEL(KFROM, KTO, LKFROM)
+LOGICAL, INTENT(IN) :: LKFROM
+INTEGER, INTENT(IN) :: KFROM, KTO
+END SUBROUTINE TRIP_GRID_GOTO_MODEL
+
+SUBROUTINE TRIP_GRID_ALLOC(KMODEL)
+INTEGER, INTENT(IN) :: KMODEL
+END SUBROUTINE TRIP_GRID_ALLOC
+
+SUBROUTINE TRIP_GRID_DEALLO
+END SUBROUTINE TRIP_GRID_DEALLO
+
+END MODULE MODD_TRIP_GRID_n  
+!##################
+!##################
+!##################   
+MODULE MODD_TRIP_n
+CONTAINS
+!
+SUBROUTINE TRIP_GOTO_MODEL(KFROM, KTO, LKFROM)
+LOGICAL, INTENT(IN) :: LKFROM
+INTEGER, INTENT(IN) :: KFROM, KTO
+END SUBROUTINE TRIP_GOTO_MODEL
+
+SUBROUTINE TRIP_ALLOC(KMODEL)
+INTEGER, INTENT(IN) :: KMODEL
+END SUBROUTINE TRIP_ALLOC
+
+SUBROUTINE TRIP_DEALLO
+END SUBROUTINE TRIP_DEALLO
+!
+END MODULE MODD_TRIP_n
+!##################
+!##################
+!##################
+MODULE MODD_TRIP_PAR
+END MODULE MODD_TRIP_PAR
+!##################
+!##################
+!##################     
+SUBROUTINE READ_NAMELISTS_TRIP_n(HPROGRAM)
+ CHARACTER(LEN=*),  INTENT(IN)     :: HPROGRAM    
+END SUBROUTINE READ_NAMELISTS_TRIP_n
+
diff --git a/src/SURFEX/default_trip.F90 b/src/SURFEX/default_trip.F90
deleted file mode 100644
index 1e911302c3c6adf8413d6212abd3a1fc8d6664f9..0000000000000000000000000000000000000000
--- a/src/SURFEX/default_trip.F90
+++ /dev/null
@@ -1,95 +0,0 @@
-!     #########
-      SUBROUTINE DEFAULT_TRIP(HGROUNDW,HVIT,OFLOODT,ODIAG_CPL,     &
-                                OTRIP_DIAG_MISC,ONCPRINT,OPRINT_TRIP,&
-                                PTSTEP_COUPLING,PTRIP_TSTEP,PTAUG,   &
-                                PVEL,PRATMED                         )       
-!     ########################################################################
-!
-!!****  *DEFAULT_TRIP* - routine to set default values for the configuration for ISBA
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!**  METHOD
-!!    ------
-!!
-!!    EXTERNAL
-!!    --------
-!!
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2008 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
- CHARACTER(LEN=3),  INTENT(OUT) :: HGROUNDW      !Use groundwater scheme
-                                                !'DEF' = No groundwater scheme
-                                                !'CST' = Constant transfert time
-                                                !'VAR' = Textural dependence of transfert time
-!                                                
- CHARACTER(LEN=3),  INTENT(OUT) :: HVIT          !Type of stream flow velocity
-                                                !'DEF' = constant and uniforme v=0.5m/s
-                                                !'VAR' = variable velocity
-!                                                
-LOGICAL,  INTENT(OUT)          :: OFLOODT         !if true, use TRIP-FLOOD
-LOGICAL,  INTENT(OUT)          :: OTRIP_DIAG_MISC !if true, more diag
-LOGICAL,  INTENT(OUT)          :: ODIAG_CPL       !Coupling output diag
-LOGICAL,  INTENT(OUT)          :: ONCPRINT        !Netcdf read/write messages
-LOGICAL,  INTENT(OUT)          :: OPRINT_TRIP     !Water budget messages                                               
-!
-REAL,     INTENT(OUT)          :: PTSTEP_COUPLING ! Coupling Time Step
-REAL,     INTENT(OUT)          :: PTRIP_TSTEP     ! TRIPTime Step
-REAL,     INTENT(OUT)          :: PTAUG           ! Constant transfert time value
-REAL,     INTENT(OUT)          :: PVEL            ! Constant velocity value
-REAL,     INTENT(OUT)          :: PRATMED         ! meandering ratio
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('DEFAULT_TRIP',0,ZHOOK_HANDLE)
-HGROUNDW        = 'DEF'
-HVIT            = 'DEF'   
-OFLOODT         = .FALSE.
-OTRIP_DIAG_MISC = .FALSE.
-ODIAG_CPL       = .FALSE. 
-ONCPRINT        = .FALSE. 
-OPRINT_TRIP     = .FALSE.
-!
-PTSTEP_COUPLING = 86400.
-PTRIP_TSTEP     = 3600.
-!
-PTAUG           = 30.0
-PVEL            = 0.5
-!
-PRATMED         = 1.4
-IF (LHOOK) CALL DR_HOOK('DEFAULT_TRIP',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!
-END SUBROUTINE DEFAULT_TRIP
diff --git a/src/SURFEX/diag_tripn.F90 b/src/SURFEX/diag_tripn.F90
deleted file mode 100644
index 5c51a232d953e2c4471aca9bc06ec1395e2a8cfa..0000000000000000000000000000000000000000
--- a/src/SURFEX/diag_tripn.F90
+++ /dev/null
@@ -1,315 +0,0 @@
-!     #########
-      SUBROUTINE DIAG_TRIP_n(KLUOUT,KYEAR,KMONTH,KRUN,PDURATION,     &
-                              PSURF_STO_OLD,PQDIS_OLD,PGROUND_STO_OLD, &
-                              PQGF_OLD,PVEL_OLD,PHS_OLD,PFLOOD_STO_OLD,&
-                              PFF_OLD,PHF_OLD,PQFR_OLD,PQRF_OLD,       &
-                              PVFIN_OLD,PVFOUT_OLD,PWF_OLD,PLF_OLD,    &
-                              PHSF_OLD,PQIN_OLD,PSOURCE_OLD            )  
-!     ################################################################
-!
-!!****  *DIAG_TRIP_n*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     TRIP river routing outputs.
-!     
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    28/05/05 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODE_RW_TRIP
-!
-USE MODD_TRIP_GRID_n
-USE MODD_TRIP_n,     ONLY : CGROUNDW, CVIT, LFLOODT, LPRINT_TRIP, XLEN, &
-                              LDIAG_CPL,XTSTEP_COUPLING,LTRIP_DIAG_MISC  
-USE MODD_DIAG_TRIP_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-INTEGER, INTENT(IN)             :: KLUOUT
-INTEGER, INTENT(IN)             :: KYEAR
-INTEGER, INTENT(IN)             :: KMONTH
-INTEGER, INTENT(IN)             :: KRUN
-!
-REAL, INTENT(IN)                :: PDURATION 
-!
-REAL,DIMENSION(:,:), INTENT(IN) :: PSURF_STO_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PQDIS_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PGROUND_STO_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PQGF_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PVEL_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PHS_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PFLOOD_STO_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PFF_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PHF_OLD
-!
-REAL,DIMENSION(:,:), INTENT(IN) :: PQFR_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PQRF_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PVFIN_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PVFOUT_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PWF_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PLF_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PHSF_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PQIN_OLD
-REAL,DIMENSION(:,:), INTENT(IN) :: PSOURCE_OLD
-!
-!*      0.2    declarations of local variables
-!
- CHARACTER(LEN=10), PARAMETER         :: YDIAG ='TRIP_DIAG_'
- CHARACTER(LEN=6)                     :: YTIME
- CHARACTER(LEN=50)                    :: YFILE
- CHARACTER(LEN=10)                    :: YVNAME
-!
-REAL,DIMENSION(SIZE(XLEN,1),SIZE(XLEN,2))      :: ZWRITE
-!
-INTEGER :: ITNUM, ITVAL, IRUN_END
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('DIAG_TRIP_N',0,ZHOOK_HANDLE)
-IRUN_END=INT(PDURATION/XTSTEP_COUPLING)
-!
-IF(KMONTH/=0)THEN
-  WRITE(YTIME,'(i4.4,i2.2)') KYEAR, KMONTH
-ELSE
-  WRITE(YTIME,'(i4.4)') KYEAR
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!Dailly outputs
-!-------------------------------------------------------------------------------
-!
-IF(LDIAG_CPL)THEN
-!
-! * Recup diag file
-!
-  YFILE =YDIAG//'CPL_'//YTIME(1:LEN_TRIM(YTIME))//'.nc'
-!
-! * Time attribut
-!
-  ITNUM = KRUN
-  ITVAL = KRUN
-!
-! * Store output in diag file
-!
-  YVNAME = 'SURF_STO'
-  ZWRITE = (XDIAG_SURF_STO - PSURF_STO_OLD)
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!                
-  YVNAME = 'QDIS'
-  ZWRITE = (XDIAG_QDIS - PQDIS_OLD) / XTSTEP_COUPLING
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-  IF(LTRIP_DIAG_MISC)THEN                
-    YVNAME = 'QSIN'
-    ZWRITE = (XDIAG_QIN - PQIN_OLD) / XTSTEP_COUPLING
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL) 
-  ENDIF
-!
-  IF(CGROUNDW/='DEF')THEN
-!
-    YVNAME = 'GROUND_STO'
-    ZWRITE = (XDIAG_GROUND_STO - PGROUND_STO_OLD)
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!                
-    YVNAME = 'QGF'
-    ZWRITE = (XDIAG_QGF - PQGF_OLD) / XTSTEP_COUPLING 
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-  ENDIF
-!
-  IF(CVIT=='VAR')THEN
-!
-    YVNAME = 'VEL'
-    ZWRITE = (XDIAG_VEL - PVEL_OLD) 
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-    YVNAME = 'HSTREAM'
-    ZWRITE = (XDIAG_HS - PHS_OLD)
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-  ENDIF
-!
-  IF(LFLOODT)THEN
-!
-    YVNAME = 'FFLOOD_T'
-    ZWRITE = (XDIAG_FF - PFF_OLD)
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-    YVNAME = 'FLOOD_STO'
-    ZWRITE = (XDIAG_FLOOD_STO - PFLOOD_STO_OLD)
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-    YVNAME = 'HFLOOD_T'
-    ZWRITE = (XDIAG_HF - PHF_OLD)
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-    IF(LTRIP_DIAG_MISC)THEN
-!
-      YVNAME = 'QFR'
-      ZWRITE = (XDIAG_QFR - PQFR_OLD) / XTSTEP_COUPLING
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!                
-      YVNAME = 'QRF'
-      ZWRITE = (XDIAG_QRF - PQRF_OLD) / XTSTEP_COUPLING
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'FSOURCE'
-      ZWRITE = (XDIAG_SOURCE - PSOURCE_OLD)
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'VFIN'
-      ZWRITE = (XDIAG_VFIN - PVFIN_OLD)
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'VFOUT'
-      ZWRITE = (XDIAG_VFOUT - PVFOUT_OLD)
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'HSF'
-      ZWRITE = (XDIAG_HSF - PHSF_OLD)
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'WF'
-      ZWRITE = (XDIAG_WF - PWF_OLD)
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'LF'
-      ZWRITE = (XDIAG_LF - PLF_OLD)
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)
-!      
-    ENDIF
-!
-  ENDIF
-!
-  IF(KRUN==IRUN_END.AND.LPRINT_TRIP)WRITE(KLUOUT,*)YFILE(1:LEN_TRIM(YFILE)),' ended successfully !'
-!
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!Monthly or run mean outputs
-!-------------------------------------------------------------------------------
-!
-IF(KRUN==IRUN_END)THEN
-!
-! * Recup diag file
-!
-  YFILE =YDIAG//'RUN_'//YTIME(1:LEN_TRIM(YTIME))//'.nc' 
-!
-! * Store output in diag file
-!
-  YVNAME = 'SURF_STO'
-  ZWRITE = XDIAG_SURF_STO / IRUN_END
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!                
-  YVNAME = 'QDIS'
-  ZWRITE = XDIAG_QDIS / PDURATION 
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-  IF(LTRIP_DIAG_MISC)THEN                
-    YVNAME = 'QSIN'
-    ZWRITE = XDIAG_QIN / PDURATION
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE) 
-  ENDIF
-!
-  IF(CGROUNDW/='DEF')THEN
-!
-    YVNAME = 'GROUND_STO'
-    ZWRITE = XDIAG_GROUND_STO / IRUN_END
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!                
-    YVNAME = 'QGF'
-    ZWRITE = XDIAG_QGF / PDURATION 
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-  ENDIF
-!
-  IF(CVIT=='VAR')THEN
-!
-    YVNAME = 'VEL'
-    ZWRITE = XDIAG_VEL / IRUN_END
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-    YVNAME = 'HSTREAM'
-    ZWRITE = XDIAG_HS / IRUN_END
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-  ENDIF
-!
-  IF(LFLOODT)THEN
-!
-    YVNAME = 'FFLOOD_T'
-    ZWRITE = XDIAG_FF / IRUN_END
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-    YVNAME = 'FLOOD_STO'
-    ZWRITE = XDIAG_FLOOD_STO / IRUN_END
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-    YVNAME = 'HFLOOD_T'
-    ZWRITE = XDIAG_HF / IRUN_END
-    CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE)        
-!
-    IF(LTRIP_DIAG_MISC)THEN
-!
-      YVNAME = 'QFR'
-      ZWRITE = XDIAG_QFR / PDURATION
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!                
-      YVNAME = 'QRF'
-      ZWRITE = XDIAG_QRF / PDURATION
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'FSOURCE'
-      ZWRITE = XDIAG_SOURCE / IRUN_END
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'VFIN'
-      ZWRITE = XDIAG_VFIN / IRUN_END
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'VFOUT'
-      ZWRITE = XDIAG_VFOUT / IRUN_END
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'HSF'
-      ZWRITE = XDIAG_HSF / IRUN_END
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'WF'
-      ZWRITE = XDIAG_WF / IRUN_END
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)        
-!
-      YVNAME = 'LF'
-      ZWRITE = XDIAG_LF / IRUN_END
-      CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,ZWRITE,ITNUM,ITVAL)       
-!
-    ENDIF       
-!
-  ENDIF
-!
-  IF(LPRINT_TRIP)WRITE(KLUOUT,*)YFILE(1:LEN_TRIM(YFILE)),' ended successfully !'
-!
-ENDIF
-!
-IF (LHOOK) CALL DR_HOOK('DIAG_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-END SUBROUTINE DIAG_TRIP_n
diff --git a/src/SURFEX/flood_update.F90 b/src/SURFEX/flood_update.F90
deleted file mode 100644
index 1129f1a07b07a89c1e24a7aad58bf5ae720392c0..0000000000000000000000000000000000000000
--- a/src/SURFEX/flood_update.F90
+++ /dev/null
@@ -1,160 +0,0 @@
-!     #########
-      SUBROUTINE FLOOD_UPDATE (PTAB_F,PTAB_H,PTAB_VF,PAREA,PFLOOD_STO, &
-                                 PHFLOOD,PFFLOOD,PFLOOD_LEN,PWFLOOD      )  
-!     ##########################################################################
-!
-!!****  *FLOOD_UPDATE*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Compute HFLOOD, FFLOOD, LFLOOD, WFLOOD.
-!     
-!!**  METHOD
-!!    ------
-!
-!     Direct calculation
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/11/06 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF, XRHOLW_T
-USE MODD_TRIP_n,   ONLY : XRATMED
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-REAL,DIMENSION(:), INTENT(IN)  :: PTAB_F  ! Flood fraction array
-REAL,DIMENSION(:), INTENT(IN)  :: PTAB_H  ! Topo height array
-REAL,DIMENSION(:), INTENT(IN)  :: PTAB_VF ! Flood volume array
-REAL,              INTENT(IN)  :: PAREA   ! grid area                 [m²]
-REAL,              INTENT(IN)  :: PFLOOD_STO ! Floodplain water mass  [kg]
-!
-REAL,              INTENT(OUT) :: PHFLOOD ! Floodplain fraction        [-]
-REAL,              INTENT(OUT) :: PFFLOOD    ! Floodplain water depth  [m]
-REAL,              INTENT(OUT) :: PFLOOD_LEN ! Floodplain lenght       [m]
-REAL,              INTENT(OUT) :: PWFLOOD    ! Floodplain width        [m]
-!
-!*      0.2    declarations of local variables
-!
-REAL,    DIMENSION(:), ALLOCATABLE :: ZCOMP
-!
-REAL    :: ZF_UP, ZF_DOWN, ZV_UP, ZV_DOWN, ZH_UP, ZH_DOWN, ZSLOPE
-!
-INTEGER, DIMENSION(:), ALLOCATABLE  ::IUP, IDOWN
-!
-INTEGER :: I, IPAS
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-! Initialize and allocate local variable
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('FLOOD_UPDATE',0,ZHOOK_HANDLE)
-PHFLOOD    = 0.0
-PFFLOOD    = 0.0
-PWFLOOD    = 0.0
-PFLOOD_LEN = 0.0
-!
-IF(PFLOOD_STO<=0 .AND. LHOOK) CALL DR_HOOK('FLOOD_UPDATE',1,ZHOOK_HANDLE)
-IF(PFLOOD_STO<=0)RETURN
-!
-IPAS=SIZE(PTAB_VF(:))
-!
-ALLOCATE(ZCOMP(IPAS))
-ALLOCATE(IUP  (1))
-ALLOCATE(IDOWN(1))
-!
-!-------------------------------------------------------------------------------
-!compare arrays
-!
-ZCOMP(:) = PTAB_VF(:)-PFLOOD_STO
-!
-!-------------------------------------------------------------------------------
-!calculate array index
-!
-IF(ALL(ZCOMP(:)<0.0))THEN
-   IUP  (1) = IPAS
-   IDOWN(1) = IPAS
-ELSE
-   IUP  (:) = MINLOC(ZCOMP(:),ZCOMP(:)>=0.0)
-   IDOWN(:) = MAXLOC(ZCOMP(:),ZCOMP(:)<=0.0)
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!new born
-!
-ZF_UP   = PTAB_F (IUP  (1))
-ZF_DOWN = PTAB_F (IDOWN(1))
-ZV_UP   = PTAB_VF(IUP  (1))
-ZV_DOWN = PTAB_VF(IDOWN(1))
-ZH_UP   = PTAB_H (IUP  (1))
-ZH_DOWN = PTAB_H (IDOWN(1))
-!
-!-------------------------------------------------------------------------------
-!Calculate new Fflood
-!          
-ZSLOPE = 0.0
-IF(IUP(1)/=IDOWN(1)) ZSLOPE = (ZF_UP-ZF_DOWN)/(ZV_UP-ZV_DOWN)
-!          
-PFFLOOD = ZF_DOWN + (PFLOOD_STO-ZV_DOWN) * ZSLOPE
-!
-!-------------------------------------------------------------------------------
-!Calculate new Hflood
-!
-ZSLOPE = 0.0
-IF(IUP(1)/=IDOWN(1)) ZSLOPE = (ZH_UP-ZH_DOWN)/(ZV_UP-ZV_DOWN)
-!          
-PHFLOOD = ZH_DOWN + (PFLOOD_STO-ZV_DOWN) * ZSLOPE
-!
-!-------------------------------------------------------------------------------
-!Calculate special case
-!
-IF(PFFLOOD>=1.0)THEN
-   PFFLOOD=1.0
-   PHFLOOD= ZH_DOWN + (PFLOOD_STO-ZV_DOWN)/(XRHOLW_T*PAREA)
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!Calculate new Wflood, Lflood
-!
-PFLOOD_LEN = XRATMED*SQRT(PFFLOOD*PAREA)
-PWFLOOD    = PAREA*PFFLOOD/PFLOOD_LEN
-!
-!-------------------------------------------------------------------------------
-! Deallocate local variable
-!-------------------------------------------------------------------------------
-!
-DEALLOCATE(ZCOMP)
-DEALLOCATE(IUP  )
-DEALLOCATE(IDOWN)
-IF (LHOOK) CALL DR_HOOK('FLOOD_UPDATE',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-END SUBROUTINE FLOOD_UPDATE
diff --git a/src/SURFEX/get_conf_tripn.F90 b/src/SURFEX/get_conf_tripn.F90
deleted file mode 100644
index d8dea16ea0f4a891a406c975403c384e9ad6b7fb..0000000000000000000000000000000000000000
--- a/src/SURFEX/get_conf_tripn.F90
+++ /dev/null
@@ -1,59 +0,0 @@
-!     #########
-SUBROUTINE GET_CONF_TRIP_n(OFLOOD_TRIP, PTSTEP_COUPLING)
-!#######################################################
-!
-!!**** *GET_CONF_TRIP_n* get the configuration of TRIP
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!    METHOD
-!!    ------
-!!   
-!!    REFERENCE
-!!    ---------
-!!
-!!    AUTHOR
-!!    ------
-!!
-!!    B. Decharme         Meteo-France
-!!
-!!    MODIFICATION
-!!    ------------
-!!
-!!    Original    05/2008
-!!
-!----------------------------------------------------------------------------
-!
-!*    0.     DECLARATION
-!            -----------
-!
-USE MODD_TRIP_n,           ONLY : LFLOODT, XTSTEP_COUPLING
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*    0.1    Declaration of arguments
-!            ------------------------
-!
-LOGICAL,INTENT(OUT), OPTIONAL :: OFLOOD_TRIP
-REAL,   INTENT(OUT), OPTIONAL :: PTSTEP_COUPLING
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*    0.2    Declaration of other local variables
-!            ------------------------------------
-!
-!----------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('GET_CONF_TRIP_N',0,ZHOOK_HANDLE)
-IF(PRESENT(OFLOOD_TRIP)) OFLOOD_TRIP = LFLOODT
-!
-IF(PRESENT(PTSTEP_COUPLING))PTSTEP_COUPLING = XTSTEP_COUPLING
-IF (LHOOK) CALL DR_HOOK('GET_CONF_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!
-END SUBROUTINE GET_CONF_TRIP_n
diff --git a/src/SURFEX/get_grid_conf_tripn.F90 b/src/SURFEX/get_grid_conf_tripn.F90
deleted file mode 100644
index c25621ca52983ce7c6eafb7fc589da6fe3225213..0000000000000000000000000000000000000000
--- a/src/SURFEX/get_grid_conf_tripn.F90
+++ /dev/null
@@ -1,67 +0,0 @@
-!     #########
-      SUBROUTINE GET_GRID_CONF_TRIP_n(PLONMIN,PLONMAX,PLATMIN,PLATMAX,PRES,KLON,KLAT)
-!     #########################################
-!
-!!****  *GET_GRID_CONF_TRIP_n* - routine to get the TRIP grid configuration
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!**  METHOD
-!!    ------
-!!
-!!    EXTERNAL
-!!    --------
-!!
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	V. Masson   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/2004 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-USE MODE_GRID_TRIP
-USE MODD_TRIP_GRID_n,    ONLY : XGRID_TRIP
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
-REAL,               INTENT(OUT) :: PLONMIN
-REAL,               INTENT(OUT) :: PLONMAX
-REAL,               INTENT(OUT) :: PLATMIN
-REAL,               INTENT(OUT) :: PLATMAX
-REAL,               INTENT(OUT) :: PRES
-INTEGER,            INTENT(OUT) :: KLON
-INTEGER,            INTENT(OUT) :: KLAT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!---------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('GET_GRID_CONF_TRIP_N',0,ZHOOK_HANDLE)
- CALL GET_GRID_TRIP(XGRID_TRIP,PLONMIN,PLONMAX,PLATMIN,PLATMAX,PRES,KLON,KLAT)
-IF (LHOOK) CALL DR_HOOK('GET_GRID_CONF_TRIP_N',1,ZHOOK_HANDLE)
-!    
-!---------------------------------------------------------------------------
-!
-END SUBROUTINE GET_GRID_CONF_TRIP_n
diff --git a/src/SURFEX/get_lonlat_trip.F90 b/src/SURFEX/get_lonlat_trip.F90
deleted file mode 100644
index f9b037dc13fc0635e1e7a3a485ecff013cbba089..0000000000000000000000000000000000000000
--- a/src/SURFEX/get_lonlat_trip.F90
+++ /dev/null
@@ -1,64 +0,0 @@
-!###############################################
- SUBROUTINE GET_LONLAT_TRIP(KLON,KLAT,PLON,PLAT)
-!###############################################
-!
-!!****  *GET_LONLAT_TRIP* - routine to get the TRIP longitude and latitude
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!**  METHOD
-!!    ------
-!!
-!!    EXTERNAL
-!!    --------
-!!
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	V. Masson   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/2004 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-USE MODE_GRID_TRIP
-USE MODD_TRIP_GRID_n,    ONLY : XGRID_TRIP
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
-INTEGER,               INTENT(IN ) :: KLON
-INTEGER,               INTENT(IN ) :: KLAT
-REAL, DIMENSION(KLON), INTENT(OUT) :: PLON
-REAL, DIMENSION(KLAT), INTENT(OUT) :: PLAT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!---------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('GET_LONLAT_TRIP',0,ZHOOK_HANDLE)
- CALL GET_GRID_TRIP(XGRID_TRIP,PLON=PLON,PLAT=PLAT)
-IF (LHOOK) CALL DR_HOOK('GET_LONLAT_TRIP',1,ZHOOK_HANDLE)
-!    
-!---------------------------------------------------------------------------
-!
-END SUBROUTINE GET_LONLAT_TRIP
diff --git a/src/SURFEX/get_trip_sizen.F90 b/src/SURFEX/get_trip_sizen.F90
deleted file mode 100644
index 1e7a2e68e8dc54cc3fc5ad7a5a6924852fcc6168..0000000000000000000000000000000000000000
--- a/src/SURFEX/get_trip_sizen.F90
+++ /dev/null
@@ -1,57 +0,0 @@
-!     #########
-      SUBROUTINE GET_TRIP_SIZE_n(KX,KY)
-!     #####################################################
-!
-!!****  *GET_TRIP_SIZE_n* - routine to get X/Y size
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!**  METHOD
-!!    -------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme    *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2008
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-USE MODD_TRIP_GRID_n, ONLY : XAREA
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
-!
-INTEGER,           INTENT(OUT)   :: KX       ! number of X points of this surface type
-INTEGER,           INTENT(OUT)   :: KY       ! number of Y points of this surface type
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('GET_TRIP_SIZE_N',0,ZHOOK_HANDLE)
-KX = SIZE(XAREA,1)
-KY = SIZE(XAREA,2)
-IF (LHOOK) CALL DR_HOOK('GET_TRIP_SIZE_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!
-END SUBROUTINE GET_TRIP_SIZE_n
diff --git a/src/SURFEX/goto_trip.F90 b/src/SURFEX/goto_trip.F90
deleted file mode 100644
index 060caff2746f7f448833041a65ed56abdeab6798..0000000000000000000000000000000000000000
--- a/src/SURFEX/goto_trip.F90
+++ /dev/null
@@ -1,19 +0,0 @@
-SUBROUTINE GOTO_TRIP(KMI, LKFROM)
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-USE MODE_MODELN_TRIP_HANDLER
-!
-IMPLICIT NONE
-!
-INTEGER, INTENT(IN) :: KMI
-LOGICAL, INTENT(IN) :: LKFROM
-!
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!!
-IF (LHOOK) CALL DR_HOOK('GOTO_TRIP',0,ZHOOK_HANDLE)
- CALL GOTO_MODEL_TRIP(KMI, LKFROM)
-IF (LHOOK) CALL DR_HOOK('GOTO_TRIP',1,ZHOOK_HANDLE)
-!!
-END SUBROUTINE GOTO_TRIP
diff --git a/src/SURFEX/goto_wrapper_trip.F90 b/src/SURFEX/goto_wrapper_trip.F90
deleted file mode 100644
index 282b2a0f8ec663e08f356f3bfa3dca1575998692..0000000000000000000000000000000000000000
--- a/src/SURFEX/goto_wrapper_trip.F90
+++ /dev/null
@@ -1,20 +0,0 @@
-SUBROUTINE GOTO_WRAPPER_TRIP(KFROM,KTO, LKFROM)
-USE MODD_TRIP_n
-USE MODD_DIAG_TRIP_n
-USE MODD_TRIP_GRID_n
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE 
-INTEGER,INTENT(IN) :: KFROM,KTO
-LOGICAL, INTENT(IN) :: LKFROM
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('GOTO_WRAPPER_TRIP',0,ZHOOK_HANDLE)
- CALL TRIP_GOTO_MODEL(KFROM, KTO, LKFROM)
- CALL DIAG_TRIP_GOTO_MODEL(KFROM, KTO, LKFROM)
- CALL TRIP_GRID_GOTO_MODEL(KFROM, KTO, LKFROM)
-IF (LHOOK) CALL DR_HOOK('GOTO_WRAPPER_TRIP',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE GOTO_WRAPPER_TRIP
diff --git a/src/SURFEX/init_diag_tripn.F90 b/src/SURFEX/init_diag_tripn.F90
deleted file mode 100644
index 9c2ecdd3866e323b91e0de5de07912d3923f415a..0000000000000000000000000000000000000000
--- a/src/SURFEX/init_diag_tripn.F90
+++ /dev/null
@@ -1,307 +0,0 @@
-!     #########
-      SUBROUTINE INIT_DIAG_TRIP_n (KLUOUT,HFILE,KLON,KLAT,HTITLE,HTIMEUNIT,OTIME)
-!     #######################################################################
-!
-!!****  *INIT_DIAG_TRIP_n*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Define the name and unit of each trip output variable.
-!     
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    27/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODE_TRIP_NETCDF
-!
-USE MODD_TRIP_n,   ONLY : CGROUNDW, CVIT, LFLOODT, LNCPRINT, LTRIP_DIAG_MISC
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF
-!
-USE MODD_DIAG_TRIP_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-USE MODI_GET_LONLAT_TRIP
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      0.1    declarations of arguments
-!
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE, HTITLE, HTIMEUNIT
-!
-INTEGER, INTENT(IN)          :: KLUOUT, KLON, KLAT
-!
-LOGICAL, INTENT(IN)          :: OTIME
-!
-!*      0.2    declarations of output variables
-!
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YVNAME  !Name of each output variable
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YVLNAME !Long name of each output variables
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YUNIT   !Unit of each output variable
-!
- CHARACTER(LEN=nf_max_name) :: YFILE,YTITLE,YTIMEUNIT
-!
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLON
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLAT
-!
-INTEGER :: INDIAG, INCID, INUM
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-! * Number of output variable
-!
-IF (LHOOK) CALL DR_HOOK('INIT_DIAG_TRIP_N',0,ZHOOK_HANDLE)
-INUM   = 0
-INDIAG = 2
-IF(LTRIP_DIAG_MISC) INDIAG = INDIAG + 1
-IF(CGROUNDW/='DEF') INDIAG = INDIAG + 2
-IF(CVIT=='VAR')     INDIAG = INDIAG + 2
-IF(LFLOODT)THEN
-  INDIAG = INDIAG + 3
-  IF(LTRIP_DIAG_MISC) INDIAG = INDIAG + 8
-ENDIF
-!
-! * Allocate netcdf file attributs
-!
-ALLOCATE(YVNAME  (INDIAG))
-ALLOCATE(YVLNAME (INDIAG))
-ALLOCATE(YUNIT   (INDIAG))
-!
-ALLOCATE(ZLON(KLON))
-ALLOCATE(ZLAT(KLAT))
-!
-! * Initialyse netcdf file attributs
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'SURF_STO                  '
-YVLNAME(INUM) = 'River storage             '
-YUNIT  (INUM) = 'kg m-2                    '
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'QDIS                      '
-YVLNAME(INUM) = 'Discharge                 '
-YUNIT  (INUM) = 'm3 s-1                    '
-!
-IF(LTRIP_DIAG_MISC)THEN
-  INUM = INUM + 1
-  YVNAME (INUM) = 'QSIN                      '
-  YVLNAME(INUM) = 'Inflow to the river       '
-  YUNIT  (INUM) = 'm3 s-1                    '
-ENDIF
-!
-IF(CGROUNDW/='DEF')THEN
-! 
-  INUM = INUM + 1
-  YVNAME (INUM) = 'GROUND_STO                '
-  YVLNAME(INUM) = 'Groundwater storage       '
-  YUNIT  (INUM) = 'kg m-2                    '
-!     
-  INUM = INUM + 1
-  YVNAME (INUM) = 'QGF'
-  YVLNAME(INUM) = 'Groundwater flow to river '
-  YUNIT  (INUM) = 'm3 s-1                    '
-!
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-!
-  INUM = INUM + 1
-  YVNAME (INUM) = 'VEL                       '
-  YVLNAME(INUM) = 'Stream flow velocity      '
-  YUNIT  (INUM) = 'm s-1                     '
-!
-  INUM = INUM + 1
-  YVNAME (INUM) = 'HSTREAM                   '
-  YVLNAME(INUM) = 'Stream river depth        '
-  YUNIT  (INUM) = 'm                         '
-!
-ENDIF
-!
-IF(LFLOODT)THEN
-!        
-  INUM = INUM + 1
-  YVNAME (INUM) = 'FLOOD_STO                 '
-  YVLNAME(INUM) = 'Floodplain storage        '
-  YUNIT  (INUM) = 'kg m-2                    '
-!
-  INUM = INUM + 1
-  YVNAME (INUM) = 'FFLOOD_T                  '
-  YVLNAME(INUM) = 'TRIP flooded fraction     '
-  YUNIT  (INUM) = '-                         '
-!
-  INUM = INUM + 1
-  YVNAME (INUM) = 'HFLOOD_T                  '
-  YVLNAME(INUM) = 'Flood depth               '
-  YUNIT  (INUM) = 'm                         '
-!
-  IF(LTRIP_DIAG_MISC)THEN
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'FSOURCE                      '
-    YVLNAME(INUM)= 'Floodplains source (Pf-Ef-If)'
-    YUNIT  (INUM)= 'kg m-2                       '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'VFIN                      '
-    YVLNAME(INUM)= 'River to flood velocity   '
-    YUNIT  (INUM)= 'm s-1                     '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'QRF                       '
-    YVLNAME(INUM)= 'River flow to floodplain  '
-    YUNIT  (INUM)= 'm3 s-1                    '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'VFOUT                     '
-    YVLNAME(INUM)= 'Flood to river velocity   '
-    YUNIT  (INUM)= 'm s-1                     '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'QFR                       '
-    YVLNAME(INUM)= 'Flood flow to river       '
-    YUNIT  (INUM)= 'm3 s-1                    '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'HSF                         '
-    YVLNAME(INUM)= 'River-Flood depth comparison'
-    YUNIT  (INUM)= 'm                           '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'WF                          '
-    YVLNAME(INUM)= 'Flood width during dt       '
-    YUNIT  (INUM)= 'm                           '
-!
-    INUM = INUM + 1
-    YVNAME (INUM)= 'LF                          '
-    YVLNAME(INUM)= 'Flood lenght during dt      '
-    YUNIT  (INUM)= 'm                           '
-!
-  ENDIF
-!
-ENDIF
-!
-! * Allocate and initialyse diagnostic variables
-!
-ALLOCATE(XDIAG_SURF_STO(KLON,KLAT))
-ALLOCATE(XDIAG_QDIS    (KLON,KLAT))
-XDIAG_SURF_STO(:,:) = 0.0
-XDIAG_QDIS    (:,:) = 0.0
-!
-IF(LTRIP_DIAG_MISC)THEN
-  ALLOCATE(XDIAG_QIN(KLON,KLAT))
-  XDIAG_QIN(:,:) = 0.0
-ELSE
-  ALLOCATE(XDIAG_QIN(0,0))
-ENDIF
-!
-IF(CGROUNDW/='DEF')THEN
-  ALLOCATE(XDIAG_GROUND_STO (KLON,KLAT))
-  ALLOCATE(XDIAG_QGF        (KLON,KLAT))
-  XDIAG_GROUND_STO (:,:) = 0.0
-  XDIAG_QGF        (:,:) = 0.0
-ELSE
-  ALLOCATE(XDIAG_GROUND_STO (0,0))
-  ALLOCATE(XDIAG_QGF        (0,0))
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-  ALLOCATE(XDIAG_VEL(KLON,KLAT))
-  ALLOCATE(XDIAG_HS (KLON,KLAT))
-  XDIAG_VEL(:,:) = 0.0
-  XDIAG_HS (:,:) = 0.0
-ELSE
-  ALLOCATE(XDIAG_VEL(0,0))
-  ALLOCATE(XDIAG_HS (0,0))
-ENDIF        
-!
-IF(LFLOODT)THEN
-  ALLOCATE(XDIAG_FLOOD_STO (KLON,KLAT))
-  ALLOCATE(XDIAG_FF        (KLON,KLAT))
-  ALLOCATE(XDIAG_HF        (KLON,KLAT))
-  XDIAG_FLOOD_STO (:,:) = 0.0
-  XDIAG_FF        (:,:) = 0.0
-  XDIAG_HF        (:,:) = 0.0
-  IF(LTRIP_DIAG_MISC)THEN
-    ALLOCATE(XDIAG_QFR   (KLON,KLAT))
-    ALLOCATE(XDIAG_QRF   (KLON,KLAT))
-    ALLOCATE(XDIAG_VFIN  (KLON,KLAT))
-    ALLOCATE(XDIAG_VFOUT (KLON,KLAT))
-    ALLOCATE(XDIAG_WF    (KLON,KLAT))
-    ALLOCATE(XDIAG_LF    (KLON,KLAT))
-    ALLOCATE(XDIAG_HSF   (KLON,KLAT))
-    ALLOCATE(XDIAG_SOURCE(KLON,KLAT))
-    XDIAG_QFR   (:,:) = 0.0
-    XDIAG_QRF   (:,:) = 0.0
-    XDIAG_VFIN  (:,:) = 0.0
-    XDIAG_VFOUT (:,:) = 0.0
-    XDIAG_WF    (:,:) = 0.0
-    XDIAG_LF    (:,:) = 0.0
-    XDIAG_HSF   (:,:) = 0.0
-    XDIAG_SOURCE(:,:) = 0.0
-  ELSE
-    ALLOCATE(XDIAG_QFR   (0,0))
-    ALLOCATE(XDIAG_QRF   (0,0))
-    ALLOCATE(XDIAG_VFIN  (0,0))
-    ALLOCATE(XDIAG_VFOUT (0,0))
-    ALLOCATE(XDIAG_WF    (0,0))
-    ALLOCATE(XDIAG_LF    (0,0))
-    ALLOCATE(XDIAG_HSF   (0,0))
-    ALLOCATE(XDIAG_SOURCE(0,0))
-  ENDIF
-ELSE
-  ALLOCATE(XDIAG_FLOOD_STO (0,0))
-  ALLOCATE(XDIAG_HF        (0,0))
-  ALLOCATE(XDIAG_FF        (0,0))
-  ALLOCATE(XDIAG_QFR       (0,0))
-  ALLOCATE(XDIAG_QRF       (0,0))
-  ALLOCATE(XDIAG_VFIN      (0,0))
-  ALLOCATE(XDIAG_VFOUT     (0,0))
-  ALLOCATE(XDIAG_WF        (0,0))
-  ALLOCATE(XDIAG_LF        (0,0))
-  ALLOCATE(XDIAG_HSF       (0,0))
-  ALLOCATE(XDIAG_SOURCE    (0,0))
-ENDIF
-!
-! * Create netcdf file
-!
-YFILE     = HFILE(1:LEN_TRIM(HFILE))
-YTITLE    = HTITLE(1:LEN_TRIM(HTITLE))
-YTIMEUNIT = HTIMEUNIT(1:LEN_TRIM(HTIMEUNIT))
-!
- CALL GET_LONLAT_TRIP(KLON,KLAT,ZLON,ZLAT)
-!
- CALL NCCREATE(KLUOUT,YFILE,YTITLE,YTIMEUNIT,YVNAME,YVLNAME,YUNIT,ZLON,ZLAT,XTRIP_UNDEF,LNCPRINT,INCID,OTIME)
-!
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-!
-! * Deallocate netcdf file attributs
-!
-DEALLOCATE(YVNAME  )
-DEALLOCATE(YVLNAME )
-DEALLOCATE(YUNIT   )
-DEALLOCATE(ZLON    )
-DEALLOCATE(ZLAT    )
-IF (LHOOK) CALL DR_HOOK('INIT_DIAG_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE INIT_DIAG_TRIP_n
diff --git a/src/SURFEX/init_param_tripn.F90 b/src/SURFEX/init_param_tripn.F90
deleted file mode 100644
index 8b189f11547d08a032fe6557c42819692eff22ea..0000000000000000000000000000000000000000
--- a/src/SURFEX/init_param_tripn.F90
+++ /dev/null
@@ -1,216 +0,0 @@
-!     #########
-      SUBROUTINE INIT_PARAM_TRIP_n (KLUOUT,HFILE,KLON,KLAT,HTITLE,HTIMEUNIT)
-!     #######################################################################
-!
-!!****  *INIT_PARAM_TRIP_n*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Define the name and unit of each trip parameter.
-!     
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    27/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODE_TRIP_NETCDF
-!
-USE MODD_TRIP_n,   ONLY : CGROUNDW, CVIT, LFLOODT, LNCPRINT
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF, NTRIPTAB
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-USE MODI_GET_LONLAT_TRIP
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      0.1    declarations of arguments
-!
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE, HTITLE, HTIMEUNIT
-!
-INTEGER, INTENT(IN)          :: KLUOUT, KLON, KLAT
-!
-!*      0.2    declarations of output variables
-!
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YVNAME  !Name of each output variable
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YVLNAME !Long name of each output variables
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YUNIT   !Unit of each output variable
-!
- CHARACTER(LEN=nf_max_name) :: YFILE,YTITLE,YTIMEUNIT
-!
-LOGICAL, DIMENSION(:), ALLOCATABLE ::  LZLEN
-!
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLON
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLAT
-!
-INTEGER :: INPARAM, INCID, INUM
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-! * Number of output variable
-!
-IF (LHOOK) CALL DR_HOOK('INIT_PARAM_TRIP_N',0,ZHOOK_HANDLE)
-INPARAM = 6
-IF(CGROUNDW/='DEF') INPARAM = INPARAM + 1
-IF(CVIT=='VAR')INPARAM = INPARAM + 3
-IF(LFLOODT)INPARAM = INPARAM + 5
-!
-! * Allocate netcdf file attributs
-!
-ALLOCATE(YVNAME  (INPARAM))
-ALLOCATE(YVLNAME (INPARAM))
-ALLOCATE(YUNIT   (INPARAM))
-ALLOCATE(LZLEN   (INPARAM))
-!
-ALLOCATE(ZLON(KLON))
-ALLOCATE(ZLAT(KLAT))
-!
-! * Initialyse netcdf file attributs
-!
-YVNAME (1) = 'FLOWDIR                    '
-YVLNAME(1) = 'Flow direction             '
-YUNIT  (1) = '-                          '
-LZLEN  (1) = .FALSE.
-!
-YVNAME (2) = 'RIVSEQ                     '
-YVLNAME(2) = 'River sequence             '
-YUNIT  (2) = '-                          '
-LZLEN  (2) = .FALSE.
-!
-YVNAME (3) = 'RIVLEN                     '
-YVLNAME(3) = 'River length               '
-YUNIT  (3) = 'm                          '
-LZLEN  (3) = .FALSE.
-!
-YVNAME (4) = 'NUM_BAS                    '
-YVLNAME(4) = 'Trip basin reference number'
-YUNIT  (4) = '-                          '
-LZLEN  (4) = .FALSE.
-!
-YVNAME (5) = 'ELEV                       '
-YVLNAME(5) = 'Surface elevation along the river channel'
-YUNIT  (5) = 'm                          '
-LZLEN  (5) = .FALSE.
-!
-YVNAME (6) = 'DR_AREA                    '
-YVLNAME(6) = 'Trip drainage area         '
-YUNIT  (6) = 'm2                         '
-LZLEN  (6) = .FALSE.
-!
-INUM = 6
-!
-IF(CGROUNDW/='DEF')THEN
-!   
-INUM = INUM + 1
-!
-YVNAME (INUM) = 'TAUG                      '
-YVLNAME(INUM) = 'Groundwater transfert time (0=permafrost area)'
-YUNIT  (INUM) = 'days                      '
-LZLEN  (INUM) = .FALSE.
-!
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'N_RIV                     '
-YVLNAME(INUM) = 'Manning coefficient       '
-YUNIT  (INUM) = '-                         '
-LZLEN  (INUM) = .FALSE.
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'WIDTHRIV                  '
-YVLNAME(INUM) = 'Stream river width        '
-YUNIT  (INUM) = 'm                         '
-LZLEN  (INUM) = .FALSE.
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'SLOPERIV                  '
-YVLNAME(INUM) = 'Stream River slope        '
-YUNIT  (INUM) = 'm/m                       '
-LZLEN  (INUM) = .FALSE.
-!
-ENDIF
-!
-IF(LFLOODT)THEN
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'RIVDEPTH                  '
-YVLNAME(INUM) = 'Stream River Depth (Hc)   '
-YUNIT  (INUM) = 'm                         '
-LZLEN  (INUM) = .FALSE.
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'NFLOOD                    '
-YVLNAME(INUM) = 'Manning coef for flood    '
-YUNIT  (INUM) = '-                         '
-LZLEN  (INUM) = .FALSE.
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'TABF                      '
-YVLNAME(INUM) = 'Potential flood fraction  '
-YUNIT  (INUM) = '-                         '
-LZLEN  (INUM) = .TRUE.
-!
-INUM = INUM + 1
-YVNAME (INUM)= 'TABH                      '
-YVLNAME(INUM)= 'Topographic height        '
-YUNIT  (INUM)= 'm                         '
-LZLEN  (INUM)= .TRUE.
-!
-INUM = INUM + 1
-YVNAME (INUM)= 'TABVF                     '
-YVLNAME(INUM)= 'Potential flood volume    '
-YUNIT  (INUM)= 'kg                        '
-LZLEN  (INUM)= .TRUE.
-!
-ENDIF
-!
-! * Create netcdf file
-!
-YFILE     = HFILE(1:LEN_TRIM(HFILE))
-YTITLE    = HTITLE(1:LEN_TRIM(HTITLE))
-YTIMEUNIT = HTIMEUNIT(1:LEN_TRIM(HTIMEUNIT))
-!
- CALL GET_LONLAT_TRIP(KLON,KLAT,ZLON,ZLAT)
-!
-IF(ALL(.NOT.LZLEN(:)))THEN
-   CALL NCCREATE(KLUOUT,YFILE,YTITLE,YTIMEUNIT,YVNAME,YVLNAME,YUNIT,   &
-                   ZLON,ZLAT,XTRIP_UNDEF,LNCPRINT,INCID,.FALSE.)  
-ELSE
-   CALL NCCREATE(KLUOUT,YFILE,YTITLE,YTIMEUNIT,YVNAME,YVLNAME,YUNIT,   &
-                   ZLON,ZLAT,XTRIP_UNDEF,LNCPRINT,INCID,.FALSE.,NTRIPTAB,LZLEN)  
-ENDIF
-!
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-!
-! * Deallocate netcdf file attributs
-!
-DEALLOCATE(YVNAME  )
-DEALLOCATE(YVLNAME )
-DEALLOCATE(YUNIT   )
-DEALLOCATE(ZLON    )
-DEALLOCATE(ZLAT    )
-IF (LHOOK) CALL DR_HOOK('INIT_PARAM_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE INIT_PARAM_TRIP_n
diff --git a/src/SURFEX/init_restart_tripn.F90 b/src/SURFEX/init_restart_tripn.F90
deleted file mode 100644
index cbce15ec24f4fca1ebf52b5d15a2c83d6fc87b73..0000000000000000000000000000000000000000
--- a/src/SURFEX/init_restart_tripn.F90
+++ /dev/null
@@ -1,145 +0,0 @@
-!     #########
-      SUBROUTINE INIT_RESTART_TRIP_n (KLUOUT,HFILE,KLON,KLAT,HTITLE,HTIMEUNIT,OTIME )
-!     #######################################################################
-!
-!!****  *INIT_RESTART_TRIP_n*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Define the name and unit of each trip restart variables.
-!     
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    27/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODE_TRIP_NETCDF
-!
-USE MODD_TRIP_n,   ONLY : CGROUNDW, LFLOODT, LNCPRINT
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF
-!
-USE MODD_DIAG_TRIP_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-USE MODI_GET_LONLAT_TRIP
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      0.1    declarations of arguments
-!
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE, HTITLE, HTIMEUNIT
-!
-INTEGER, INTENT(IN)          :: KLUOUT, KLON, KLAT
-!
-LOGICAL, INTENT(IN)          :: OTIME
-!
-!*      0.2    declarations of restart variables
-!
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YVNAME  !Name of each restart variable
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YVLNAME !Long name of each restart variables
- CHARACTER(LEN=nf_max_name), DIMENSION(:), ALLOCATABLE :: YUNIT   !Unit of each restart variable
-!
- CHARACTER(LEN=nf_max_name) :: YFILE,YTITLE,YTIMEUNIT
-!
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLON
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLAT
-!
-INTEGER :: IND, INCID, INUM
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-! * Number of restart variable
-!
-IF (LHOOK) CALL DR_HOOK('INIT_RESTART_TRIP_N',0,ZHOOK_HANDLE)
-IND = 1
-IF(CGROUNDW/='DEF') IND = IND + 1
-IF(LFLOODT)IND = IND + 3
-!
-! * Allocate netcdf file attributs
-!
-ALLOCATE(YVNAME  (IND))
-ALLOCATE(YVLNAME (IND))
-ALLOCATE(YUNIT   (IND))
-!
-ALLOCATE(ZLON(KLON))
-ALLOCATE(ZLAT(KLAT))
-!
-! * Initialyse netcdf file attributs
-!
-YVNAME (1) = 'SURF_STO                  '
-YVLNAME(1) = 'River storage             '
-YUNIT  (1) = 'kg                        '
-!
-INUM = 1
-!
-IF(CGROUNDW/='DEF')THEN
-!        
-INUM = INUM + 1
-YVNAME (INUM) = 'GROUND_STO                '
-YVLNAME(INUM) = 'Groundwater storage       '
-YUNIT  (INUM) = 'kg                        '
-!
-ENDIF
-!
-IF(LFLOODT)THEN
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'FLOOD_STO                 '
-YVLNAME(INUM) = 'Floodplain storage        '
-YUNIT  (INUM) = 'kg                        '
-
-INUM = INUM + 1
-YVNAME (INUM) = 'FFLOOD_T                  '
-YVLNAME(INUM) = 'TRIP flooded fraction     '
-YUNIT  (INUM) = '-                         '
-!
-INUM = INUM + 1
-YVNAME (INUM) = 'HFLOOD_T                  '
-YVLNAME(INUM) = 'Flood depth               '
-YUNIT  (INUM) = 'm                         '
-!
-ENDIF
-!
-! * Create netcdf file
-!
-YFILE     = HFILE(1:LEN_TRIM(HFILE))
-YTITLE    = HTITLE(1:LEN_TRIM(HTITLE))
-YTIMEUNIT = HTIMEUNIT(1:LEN_TRIM(HTIMEUNIT))
-!
- CALL GET_LONLAT_TRIP(KLON,KLAT,ZLON,ZLAT)
-!
- CALL NCCREATE(KLUOUT,YFILE,YTITLE,YTIMEUNIT,YVNAME,YVLNAME,YUNIT,ZLON,ZLAT,XTRIP_UNDEF,LNCPRINT,INCID,OTIME)
-!
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-!
-! * Deallocate netcdf file attributs
-!
-DEALLOCATE(YVNAME  )
-DEALLOCATE(YVLNAME )
-DEALLOCATE(YUNIT   )
-DEALLOCATE(ZLON    )
-DEALLOCATE(ZLAT    )
-IF (LHOOK) CALL DR_HOOK('INIT_RESTART_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE INIT_RESTART_TRIP_n
diff --git a/src/SURFEX/init_trip_par.F90 b/src/SURFEX/init_trip_par.F90
deleted file mode 100644
index 6d7cf556c2683e7afac26d6eb988cf8e53d19b8e..0000000000000000000000000000000000000000
--- a/src/SURFEX/init_trip_par.F90
+++ /dev/null
@@ -1,56 +0,0 @@
-!     #########
-      SUBROUTINE INIT_TRIP_PAR 
-!     ########################
-!
-!
-!!****  *INIT_TRIP_PAR* - Initialization of TRIP parameters
-!!
-!!    PURPOSE
-!!    -------
-!       The purpose of this routine is to specify  the 
-!     parameters related to the TRIP RRM. 
-!
-!!
-!!      
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original  22/05/08
-!-------------------------------------------------------------------------------
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-USE MODD_TRIP_PAR
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-
-IF (LHOOK) CALL DR_HOOK('INIT_TRIP_PAR',0,ZHOOK_HANDLE)
-XTRIP_UNDEF = 1.0E20
-NTRIPTAB    = 1000
-!
-XM_EXP      = 2.0/3.0
-!
-XRHOLW_T    = 1000.0
-XDAY_T      = 86400.0
-XSEA_T      = 135.3E12
-XYEAR_T     = 365.0
-!
-XRAD_T      = 6371229.
-XPI_T       = 2.*ASIN(1.)
-IF (LHOOK) CALL DR_HOOK('INIT_TRIP_PAR',1,ZHOOK_HANDLE)
-!
-!--------------------------------------------------------------------------------
-!
-END SUBROUTINE INIT_TRIP_PAR
diff --git a/src/SURFEX/init_tripn.F90 b/src/SURFEX/init_tripn.F90
deleted file mode 100644
index 09751a56d009c5db791b94df5bd98cfcda28dfa8..0000000000000000000000000000000000000000
--- a/src/SURFEX/init_tripn.F90
+++ /dev/null
@@ -1,560 +0,0 @@
-!######################################################
-SUBROUTINE INIT_TRIP_n (HPROGRAM,KYEAR,KMONTH,ORESTART)
-!######################################################
-!
-!!****  *INIT_TRIP_n*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Initialize TRIP variables and parameters.
-!     
-!!**  METHOD
-!!    ------
-!
-!     Direct calculation
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/05 
-!!      For surfex  21/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR
-USE MODD_TRIP_GRID_n, ONLY : XGRID_TRIP, XAREA, GMASK
-USE MODD_TRIP_n
-!
-USE MODD_READ_NAMELIST,  ONLY : LNAM_READ
-!
-USE MODE_GRID_TRIP
-USE MODE_TRIP_INIT
-USE MODE_RW_TRIP
-!
-USE MODI_INIT_TRIP_PAR
-USE MODI_GET_LUOUT
-!
-USE MODI_DEFAULT_TRIP
-USE MODI_READ_NAM_GRID_TRIP
-USE MODI_READ_TRIP_CONF_n
-USE MODI_INIT_DIAG_TRIP_n
-USE MODI_INIT_RESTART_TRIP_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!-------------------------------------------------------------------------------
-!
-!*      0.1    declarations of arguments
-!
- CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM
-INTEGER,          INTENT(IN) :: KYEAR
-INTEGER,          INTENT(IN) :: KMONTH 
-LOGICAL,          INTENT(IN) :: ORESTART
-!
-!-------------------------------------------------------------------------------
-!
-!*      0.2    declarations of local variables
-!
- CHARACTER(LEN=13), PARAMETER         :: YFILE_PARAM  ='TRIP_PARAM.nc'
- CHARACTER(LEN=12), PARAMETER         :: YFILE_INIT   ='TRIP_PREP.nc'
- CHARACTER(LEN=15), PARAMETER         :: YFILE_RESTART='TRIP_RESTART.nc'
- CHARACTER(LEN=10), PARAMETER         :: YDIAG        ='TRIP_DIAG_'
-!
- CHARACTER(LEN=6)                     :: YTIME
-!
- CHARACTER(LEN=50)                    :: YFILE
- CHARACTER(LEN=20)                    :: YVAR 
-!
-REAL,DIMENSION(:,:),ALLOCATABLE      :: ZREAD, ZHSTREAM
-!
-INTEGER           :: ILUOUT         ! output listing logical unit
-!
-REAL    :: ZLONMIN   ! minimum longitude (degrees)
-REAL    :: ZLONMAX   ! maximum longitude (degrees)
-REAL    :: ZLATMIN   ! minimum latitude  (degrees)
-REAL    :: ZLATMAX   ! maximum latitude  (degrees)
-REAL    :: ZGRID_RES ! 1° or 0.5° resolution
-INTEGER :: ILON      ! number of points in longitude
-INTEGER :: ILAT      ! number of points in latitude
-!
-INTEGER :: IWORK, IFLOOD, I, J, INI
-!
-!-------------------------------------------------------------------------------
-!Output attribut for netcdf diag file
-!-------------------------------------------------------------------------------
-!
- CHARACTER(LEN=50) :: YTITLE,YTIMEUNIT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!                    YTITLE    = Title of each output file
-!                    YTIMEUNIT = Time unit in each output file if present
-!
-!-------------------------------------------------------------------------------
-!Initilyse TRIP
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('INIT_TRIP_N',0,ZHOOK_HANDLE)
- CALL INIT_TRIP_PAR
-!
- CALL GET_LUOUT(HPROGRAM,ILUOUT)
-!
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'!'
-WRITE(ILUOUT,*)'! TRIP RUN !!!!!!!!!!!!!'
-WRITE(ILUOUT,*)'!'
-!
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'        INITIALYSE TRIP            '
-WRITE(ILUOUT,*)''
-!
-!-------------------------------------------------------------------------------
-!        
-IF (LNAM_READ) THEN
-!        
-! * default values for the TRIP configuration
-!
-  CALL DEFAULT_TRIP(CGROUNDW,CVIT,LFLOODT,LDIAG_CPL,LTRIP_DIAG_MISC, &
-                    LNCPRINT,LPRINT_TRIP,XTSTEP_COUPLING,XTRIP_TSTEP,&
-                    XDATA_TAUG,XCVEL,XRATMED                         )  
-!
-ENDIF
-!
-! * TRIP general options
-!
-  CALL READ_TRIP_CONF_n(HPROGRAM)
-!
-! * Read TRIP grid configuration
-!
- CALL READ_NAM_GRID_TRIP(HPROGRAM)
-!
-! * Store TRIP grid configuration
-!
- CALL GET_GRID_TRIP(XGRID_TRIP,ZLONMIN,ZLONMAX,ZLATMIN,ZLATMAX,ZGRID_RES,ILON,ILAT)
-!
-!-------------------------------------------------------------------------------
-! * Check options
-!-------------------------------------------------------------------------------
-!
-IF(CVIT == 'VAR')THEN
-   IF(XCVEL/=0.5)THEN
-      XCVEL=0.5
-      WRITE(ILUOUT,*)'! ATTENTION : You use the velocity scheme and XCVEL is not 0.5 m/s !!!'
-      WRITE(ILUOUT,*)'! ATTENTION : XCVEL put at 0.5 m/s !!!'
-  ENDIF
-ELSE
-   IF(XCVEL<0.1)THEN
-      WRITE(ILUOUT,*)'!!! ATTENTION : XCVEL < 0.1 m/s !!! Not good !!!'
-      STOP
-  ENDIF     
-ENDIF      
-!
-IF(LFLOODT)THEN
-  IF(CGROUNDW=='DEF')THEN
-    WRITE(ILUOUT,*)'! ATTENTION : You use the flooding scheme without the groundwater scheme !!!'
-  ENDIF
-  IF(CVIT /= 'VAR')THEN
-    WRITE(ILUOUT,*)'! You cannot use the flooding scheme without the variable velocity scheme !!!'
-    STOP
-  ENDIF
-  IF(XTRIP_TSTEP>3600.)THEN
-    WRITE(ILUOUT,*)'!'
-    WRITE(ILUOUT,*)'! For flooding, the TRIP time step is too big      !!!'
-    WRITE(ILUOUT,*)'! XTRIP_TSTEP must be equal or inferior to 3600s   !!!'
-    WRITE(ILUOUT,*)'!'
-    STOP
-  ENDIF
-ENDIF
-!
-IF(MOD(XTSTEP_COUPLING,XTRIP_TSTEP)/=0.)THEN
-  WRITE(ILUOUT,*)'! XTSTEP_COUPLING and XTRIP_TSTEP are not good !!!'     
-  WRITE(ILUOUT,*)'! MOD(XTSTEP_COUPLING,XTRIP_TSTEP) should be 0 !!!'     
-  STOP
-ENDIF
-!
-WRITE(ILUOUT,*)'! ',ZGRID_RES,'° TRIP run !!!'  
-!
-IF(ZGRID_RES/=1.0)THEN
-!
-  IF(XRATMED==1.4)THEN
-     WRITE(ILUOUT,*)'! meandering ratio is 1.4 at 0.5° or 1° resolution !!!'   
-     WRITE(ILUOUT,*)'! for other resolution change XRATMED in namelist  !!!' 
-     IF(ZGRID_RES<0.5)STOP
-  ENDIF 
-!
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!Allocate arguments
-!-------------------------------------------------------------------------------
-!
-ALLOCATE(IGRCN      (ILON,ILAT))       
-ALLOCATE(ISEQ       (ILON,ILAT))   
-ALLOCATE(INEXTX     (ILON,ILAT))    
-ALLOCATE(INEXTY     (ILON,ILAT))     
-ALLOCATE(XLEN       (ILON,ILAT))           
-ALLOCATE(XAREA      (ILON,ILAT))          
-ALLOCATE(XSURF_STO  (ILON,ILAT))
-!
-IF(CGROUNDW/='DEF')THEN
-  ALLOCATE(XGROUND_STO(ILON,ILAT))      
-  ALLOCATE(XTAUG      (ILON,ILAT))
-ELSE
-  ALLOCATE(XGROUND_STO(0,0))      
-  ALLOCATE(XTAUG      (0,0))
-ENDIF
-!
-IF(LFLOODT)THEN
-  ALLOCATE(XN_FLOOD    (ILON,ILAT))      
-  ALLOCATE(XHC_BED     (ILON,ILAT))
-  ALLOCATE(XFLOOD_STO  (ILON,ILAT))
-  ALLOCATE(XWFLOOD     (ILON,ILAT))
-  ALLOCATE(XFLOOD_LEN  (ILON,ILAT))
-  ALLOCATE(XHFLOOD     (ILON,ILAT))
-  ALLOCATE(XFFLOOD     (ILON,ILAT))
-  ALLOCATE(XPIFLOOD    (ILON,ILAT))  
-ELSE
-  ALLOCATE(XN_FLOOD  (0,0))      
-  ALLOCATE(XHC_BED   (0,0))
-  ALLOCATE(XFLOOD_STO(0,0))
-  ALLOCATE(XWFLOOD   (0,0))
-  ALLOCATE(XFLOOD_LEN(0,0))
-  ALLOCATE(XHFLOOD   (0,0))
-  ALLOCATE(XFFLOOD   (0,0))
-  ALLOCATE(XPIFLOOD  (0,0))  
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-  ALLOCATE(XSLOPEBED(ILON,ILAT))      
-  ALLOCATE(XWIDTH   (ILON,ILAT))      
-  ALLOCATE(XN       (ILON,ILAT))
-ELSE
-  ALLOCATE(XSLOPEBED(0,0))      
-  ALLOCATE(XWIDTH   (0,0))      
-  ALLOCATE(XN       (0,0))
-ENDIF
-!
-!-------------------------------------------------------------------------------
-! * Compute and Read TRIP parameter
-!-------------------------------------------------------------------------------
-!
-ALLOCATE(ZREAD(ILON,ILAT))
-!
-! * Flow direction 
-!
-YVAR ='FLOWDIR'
- CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZREAD)
-WHERE(ZREAD==XTRIP_UNDEF)ZREAD=0.0
-IGRCN(:,:)=INT(ZREAD(:,:))
-!
-IF(.NOT.ASSOCIATED(GMASK))THEN
-  ALLOCATE(GMASK(ILON,ILAT))
-  GMASK(:,:)=.TRUE.
-  WHERE(IGRCN(:,:)==0)GMASK(:,:)=.FALSE.
-ENDIF
-!
-! * Rriver sequence
-!
-YVAR ='RIVSEQ'
- CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZREAD)
-WHERE(ZREAD==XTRIP_UNDEF)ZREAD=0.0
-ISEQ(:,:)=INT(ZREAD(:,:))
-!
-! * Maximum river sequence value
-!
-ISEQMAX = MAXVAL(ISEQ)
-!
-DEALLOCATE(ZREAD)
-!
-! * Set down stream
-!
- CALL SETNEXT(ILON,ILAT,IGRCN,INEXTX,INEXTY)
-!
-! * Set area size
-!
- CALL SETAREA(ILAT,ZLATMIN,ZGRID_RES,XAREA)
-!
-! * Distance between grids with the meandering ratio
-!
-YVAR ='RIVLEN'
- CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XLEN)
-WHERE(.NOT.GMASK(:,:))XLEN(:,:)=0.0
-!
-! * Variable velocity schemes variables
-!
-IF(CVIT == 'VAR')THEN
-!
-  YVAR ='N_RIV'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XN)
-!
-  YVAR ='WIDTHRIV'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XWIDTH)
-!
-  YVAR ='SLOPERIV'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XSLOPEBED)
-!  
-  WHERE(ISEQ(:,:)==0.OR.XWIDTH>=XTRIP_UNDEF-1.0)
-        XSLOPEBED= 0.0      
-        XWIDTH   = 0.0      
-        XN       = 0.0
-  ENDWHERE
-!
-ENDIF 
-!
-! * Calculate the groundwater transfert time
-!
-IF(CGROUNDW/='DEF')THEN
-!
-  YVAR ='TAUG'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XTAUG)
-!
-  WHERE(ISEQ(:,:)==0)
-        XTAUG=0.0
-  ELSEWHERE
-        XTAUG=XTAUG*XDAY_T
-  ENDWHERE
-!
-ENDIF
-!
-! * Calculate floodplains parameters
-!
-IF(LFLOODT)THEN
-!
-  YVAR ='RIVDEPTH'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XHC_BED)
-!
-  YVAR ='NFLOOD'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XN_FLOOD)
-!  
-  WHERE(XHC_BED==XTRIP_UNDEF)
-    XHC_BED  = 0.0
-    XN_FLOOD = 0.0
-  ENDWHERE
-!
-  ALLOCATE(ITABMAX(ILON,ILAT)) 
-!
-  ALLOCATE(XTAB_F (ILON,ILAT,NTRIPTAB))      
-  ALLOCATE(XTAB_H (ILON,ILAT,NTRIPTAB))      
-  ALLOCATE(XTAB_VF(ILON,ILAT,NTRIPTAB))      
-!
-  YVAR ='TABF'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XTAB_F)
-!
-  YVAR ='TABH'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XTAB_H)
-!
-  YVAR ='TABVF'
-  CALL READ_TRIP(ILUOUT,YFILE_PARAM,YVAR,XTAB_VF)
-!
-  ITABMAX(:,:)=NTRIPTAB-COUNT(XTAB_H(:,:,:)>=XTRIP_UNDEF-1.0,3)  
-!
-ELSE
-!
-  ALLOCATE(ITABMAX(0,0  ))  
-  ALLOCATE(XTAB_F (0,0,0))      
-  ALLOCATE(XTAB_H (0,0,0))      
-  ALLOCATE(XTAB_VF(0,0,0))      
-!
-ENDIF
-!
-!-------------------------------------------------------------------------------
-! * Read initial and historical variables
-!-------------------------------------------------------------------------------
-!
-YVAR ='SURF_STO'
- CALL READ_TRIP(ILUOUT,YFILE_INIT,YVAR,XSURF_STO)
-!
-IF(CGROUNDW/='DEF')THEN
-  YVAR ='GROUND_STO'
-  CALL READ_TRIP(ILUOUT,YFILE_INIT,YVAR,XGROUND_STO)
-ENDIF
-!
-IF(LFLOODT)THEN
-!
-  YVAR ='FLOOD_STO'
-  CALL READ_TRIP(ILUOUT,YFILE_INIT,YVAR,XFLOOD_STO)
-!
-  YVAR ='FFLOOD_T'
-  CALL READ_TRIP(ILUOUT,YFILE_INIT,YVAR,XFFLOOD)
-!
-  YVAR ='HFLOOD_T'
-  CALL READ_TRIP(ILUOUT,YFILE_INIT,YVAR,XHFLOOD)
-!  
-ENDIF
-!
-!-------------------------------------------------------------------------------
-! * Initial Conditions
-!-------------------------------------------------------------------------------
-!
-IF(CVIT == 'VAR')THEN
-!        
-  ALLOCATE(ZHSTREAM(ILON,ILAT))
-!
-  WHERE(XWIDTH(:,:)>0.0)
-        ZHSTREAM(:,:)=MAX(0.0,XSURF_STO(:,:)/(XRHOLW_T*XLEN(:,:)*XWIDTH(:,:)))
-  ELSEWHERE
-        ZHSTREAM(:,:)=0.0
-  ENDWHERE
-!
-ENDIF
-!
-! * Fraction, width, water depth of floodplains
-! 
-IWORK=0
-!
-IF(LFLOODT)THEN 
-!        
-  WHERE(XLEN(:,:)/=0.0)
-        XFLOOD_LEN(:,:) = XRATMED*SQRT(XFFLOOD(:,:)*XAREA(:,:))
-        XPIFLOOD  (:,:) = XFLOOD_STO(:,:)        
-  ELSEWHERE
-        XFLOOD_LEN(:,:) = 0.0
-        XWFLOOD   (:,:) = 0.0
-        XFFLOOD   (:,:) = 0.0
-        XHFLOOD   (:,:) = 0.0
-        XFLOOD_STO(:,:) = 0.0
-        XPIFLOOD  (:,:) = 0.0        
-  ENDWHERE
-!
-!
-  WHERE(XFFLOOD(:,:)>0.0)
-        XWFLOOD(:,:) = XAREA(:,:) * XFFLOOD(:,:) / XFLOOD_LEN(:,:)
-  ELSEWHERE
-        XWFLOOD(:,:) = 0.0
-  ENDWHERE
-!  
-  INI = COUNT(XLEN>0.0)
-  IWORK =COUNT(XHC_BED>0.0)
-  IFLOOD=COUNT(XFFLOOD>0.0)
-!
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!
-WRITE(ILUOUT,*)'Coupling_time_step :           ',XTSTEP_COUPLING
-WRITE(ILUOUT,*)'TRIP_time_step :               ',XTRIP_TSTEP
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'Sequence max :                 ',ISEQMAX
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'MEANDERING RATIO FIXED TO      ',XRATMED
-WRITE(ILUOUT,*)'CELL LENGTH MIN, MAX (km):     ',MINVAL(XLEN/1.E3, XLEN>0.0),  &
-                                                   MAXVAL(XLEN/1.E3, XLEN>0.0)                                 
-WRITE(ILUOUT,*)'CELL AREA MIN, MAX (km²):      ',MINVAL(XAREA/1.E6,XLEN>0.0),  &
-                                                   MAXVAL(XAREA/1.E6,XLEN>0.0)  
-WRITE(ILUOUT,*)''
-IF(CGROUNDW/='DEF')THEN
-  WRITE(ILUOUT,*)''
-  WRITE(ILUOUT,*)'Ground transf. time MIN, MAX : ',MINVAL(XTAUG/XDAY_T,XLEN>0.0),  &
-                                                     MAXVAL(XTAUG/XDAY_T,XLEN>0.0)  
-ENDIF
-IF(CVIT == 'VAR')THEN
-  WRITE(ILUOUT,*)'WIDTH_RIVER MIN, MAX :         ',MINVAL(XWIDTH,    XWIDTH>0.0),  &
-                                                   MAXVAL(XWIDTH,    XWIDTH>0.0)
-  WRITE(ILUOUT,*)'N MANNING COEF MIN, MAX :      ',MINVAL(XN,        XWIDTH>0.0),  &
-                                                   MAXVAL(XN,        XWIDTH>0.0)
-  WRITE(ILUOUT,*)'RIVER SLOPE MIN, MAX :         ',MINVAL(XSLOPEBED, XN  >0.0),  &
-                                                     MAXVAL(XSLOPEBED, XN  >0.0)  
-  WRITE(ILUOUT,*)''
-  WRITE(ILUOUT,*)'Initial river depth          : ',MINVAL(ZHSTREAM,  XWIDTH>0.0),  &
-                                                   MAXVAL(ZHSTREAM,  XWIDTH>0.0)  
-  DEALLOCATE(ZHSTREAM)
-ENDIF
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'Initial river storage        : ',MINVAL(XSURF_STO, XLEN>0.0),  &
-                                                   MAXVAL(XSURF_STO, XLEN>0.0)  
-IF(CGROUNDW/='DEF')THEN                                                 
-  WRITE(ILUOUT,*)''
-  WRITE(ILUOUT,*)'Initial ground storage       : ',MINVAL(XGROUND_STO,XLEN>0.0),  &
-                                                     MAXVAL(XGROUND_STO,XLEN>0.0)  
-ENDIF
-WRITE(ILUOUT,*)''
-
-IF(LFLOODT)THEN 
-  WRITE(ILUOUT,*)'N FLOOD FIXED TO               ',MINVAL(XN_FLOOD,  XHC_BED>0.0)
-  WRITE(ILUOUT,*)'RIVER DEPTH MIN, MAX :         ',MINVAL(XHC_BED,   XHC_BED>0.0),  &
-                                                     MAXVAL(XHC_BED,   XHC_BED>0.0)  
-  WRITE(ILUOUT,*)''
-  WRITE(ILUOUT,*)'Number of potential flood cell : ',IWORK,'on',INI
-  WRITE(ILUOUT,*)'          %                      ',100.0*(FLOAT(IWORK)/FLOAT(INI))
-  WRITE(ILUOUT,*)'Number of actual flood cell :    ',IFLOOD,'on',IWORK
-  WRITE(ILUOUT,*)'          %                      ',100.0*(FLOAT(IFLOOD)/FLOAT(IWORK))
-  WRITE(ILUOUT,*)'% of flooded area in the domain :',SUM(XFFLOOD*XAREA)/SUM(XAREA)
-  WRITE(ILUOUT,*)''
-  WRITE(ILUOUT,*)'Initial flood depth (m) :      ',MINVAL(XHFLOOD,    XHC_BED>0.0), &
-                                                     MAXVAL(XHFLOOD,    XHC_BED>0.0)  
-  WRITE(ILUOUT,*)'Initial flood fraction :       ',MINVAL(XFFLOOD,    XHC_BED>0.0), &
-                                                     MAXVAL(XFFLOOD,    XHC_BED>0.0)  
-  WRITE(ILUOUT,*)'Initial flood volume m3/1E9 :  ',MINVAL(XFLOOD_STO/(XRHOLW_T*1.E9),XHC_BED>0.0), &
-                                                     MAXVAL(XFLOOD_STO/(XRHOLW_T*1.E9),XHC_BED>0.0)   
-  WRITE(ILUOUT,*)'Initial flood length (km):     ',MINVAL(XFLOOD_LEN/1.E3, XHC_BED>0.0),  &
-                                                     MAXVAL(XFLOOD_LEN/1.E3, XHC_BED>0.0)                           
-  WRITE(ILUOUT,*)'Initial flood WIDTH (km) :     ',MINVAL(XWFLOOD/1.E3,    XHC_BED>0.0), &
-                                                     MAXVAL(XWFLOOD/1.E3,    XHC_BED>0.0)      
-  WRITE(ILUOUT,*)''
-ENDIF
-!
-!-------------------------------------------------------------------------------
-! * Create diag file
-!-------------------------------------------------------------------------------
-!
-IF(KMONTH/=0)THEN
-  WRITE(YTIME,'(i4.4,i2.2)') KYEAR, KMONTH
-ELSE
-  WRITE(YTIME,'(i4.4)') KYEAR
-ENDIF
-!
-IF(LDIAG_CPL)THEN
-  YFILE  = YDIAG//'CPL_'//YTIME(1:LEN_TRIM(YTIME))//'.nc'
-  YTITLE = 'TRIP coupling time step outputs'
-  YTIMEUNIT='-'
-  CALL INIT_DIAG_TRIP_n(ILUOUT,YFILE,ILON,ILAT,YTITLE,YTIMEUNIT,.TRUE.)
-ENDIF
-!
-NRUN=0
-!
-YFILE     = YDIAG//'RUN_'//YTIME(1:LEN_TRIM(YTIME))//'.nc'
-YTITLE    = 'TRIP run outputs'
-YTIMEUNIT = '-'
- CALL INIT_DIAG_TRIP_n(ILUOUT,YFILE,ILON,ILAT,YTITLE,YTIMEUNIT,.FALSE.)
-!
-!-------------------------------------------------------------------------------
-! * Create restart file
-!-------------------------------------------------------------------------------
-!
-IF(ORESTART)THEN        
-  YTITLE   ='TRIP restart variables'
-  YTIMEUNIT='-'
-  CALL INIT_RESTART_TRIP_n(ILUOUT,YFILE_RESTART,ILON,ILAT,YTITLE,YTIMEUNIT,.FALSE.)
-ENDIF
-IF (LHOOK) CALL DR_HOOK('INIT_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-! * END
-!-------------------------------------------------------------------------------
-END SUBROUTINE INIT_TRIP_n
-
-
-
-
-
diff --git a/src/SURFEX/modd_diag_tripn.F90 b/src/SURFEX/modd_diag_tripn.F90
deleted file mode 100644
index d9be01d353a73fe76c1e92e9c45b965283a32821..0000000000000000000000000000000000000000
--- a/src/SURFEX/modd_diag_tripn.F90
+++ /dev/null
@@ -1,189 +0,0 @@
-!######################
-MODULE MODD_DIAG_TRIP_n
-!######################
-!
-!!****  *MODD_DIAG_TRIP - declaration of diagnostics for TRIP scheme
-!!
-!!    PURPOSE
-!!    -------
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!      None 
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original       21/05/08
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-
-TYPE DIAG_TRIP_t
-!-------------------------------------------------------------------------------
-!
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_SURF_STO   ! River storage             [kg m-2]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_GROUND_STO ! Groundwater storage       [kg m-2]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_FLOOD_STO  ! Floodplains storage       [kg m-2]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_QDIS       ! Discharge                 [m3 s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_QGF        ! Groundwater flow to river [m3 s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_VEL        ! Stream flow velocity      [m s-1 ]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_HS         ! Stream river depth        [m     ]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_FF         ! TRIP flooded fraction     [-]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_HF         ! Flood depth               [m     ]
-!
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_QFR        ! Flood flow to river          [m3 s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_QRF        ! River flow to floodplain     [m3 s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_QIN        ! Inflow to the river          [m3 s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_VFIN       ! River flow to flood velocity [m s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_VFOUT      ! Flood flow to river velocity [m s-1]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_WF         ! Flood width during dt        [m]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_LF         ! Flood lenght during dt       [m]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_HSF        ! River-Flood depth comparison [m]
-  REAL, POINTER, DIMENSION(:,:) :: XDIAG_SOURCE     ! Floodplains source (Pf-Ef-If)[kg m-2]
-!
-!-------------------------------------------------------------------------------
-!
-END TYPE DIAG_TRIP_t
-!
-TYPE(DIAG_TRIP_t), ALLOCATABLE, TARGET, SAVE :: DIAG_TRIP_MODEL(:)
-!
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_SURF_STO=>NULL()           
-!$OMP THREADPRIVATE(XDIAG_SURF_STO)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_GROUND_STO=>NULL()          
-!$OMP THREADPRIVATE(XDIAG_GROUND_STO)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_FLOOD_STO=>NULL()          
-!$OMP THREADPRIVATE(XDIAG_FLOOD_STO)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_QDIS=>NULL()      
-!$OMP THREADPRIVATE(XDIAG_QDIS)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_QGF=>NULL()         
-!$OMP THREADPRIVATE(XDIAG_QGF)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_VEL=>NULL()             
-!$OMP THREADPRIVATE(XDIAG_VEL)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_HS=>NULL()       
-!$OMP THREADPRIVATE(XDIAG_HS)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_FF=>NULL()
-!$OMP THREADPRIVATE(XDIAG_FF)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_HF=>NULL()        
-!$OMP THREADPRIVATE(XDIAG_HF)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_QFR=>NULL()      
-!$OMP THREADPRIVATE(XDIAG_QFR)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_QRF=>NULL()       
-!$OMP THREADPRIVATE(XDIAG_QRF)
-!
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_QIN=>NULL()
-!$OMP THREADPRIVATE(XDIAG_QIN)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_VFIN=>NULL()
-!$OMP THREADPRIVATE(XDIAG_VFIN)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_VFOUT=>NULL()
-!$OMP THREADPRIVATE(XDIAG_VFOUT)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_WF=>NULL()
-!$OMP THREADPRIVATE(XDIAG_WF)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_LF=>NULL()
-!$OMP THREADPRIVATE(XDIAG_LF)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_HSF=>NULL()
-!$OMP THREADPRIVATE(XDIAG_HSF)
-REAL, POINTER, DIMENSION(:,:) :: XDIAG_SOURCE=>NULL()
-!$OMP THREADPRIVATE(XDIAG_SOURCE)
-!
-CONTAINS
-!
-SUBROUTINE DIAG_TRIP_GOTO_MODEL(KFROM, KTO, LKFROM)
-LOGICAL, INTENT(IN) :: LKFROM
-INTEGER, INTENT(IN) :: KFROM, KTO
-!
-! Save current state for allocated arrays
-IF (LKFROM) THEN
-DIAG_TRIP_MODEL(KFROM)%XDIAG_SURF_STO=>XDIAG_SURF_STO
-DIAG_TRIP_MODEL(KFROM)%XDIAG_GROUND_STO=>XDIAG_GROUND_STO
-DIAG_TRIP_MODEL(KFROM)%XDIAG_FLOOD_STO=>XDIAG_FLOOD_STO
-DIAG_TRIP_MODEL(KFROM)%XDIAG_QDIS=>XDIAG_QDIS
-DIAG_TRIP_MODEL(KFROM)%XDIAG_QGF=>XDIAG_QGF
-DIAG_TRIP_MODEL(KFROM)%XDIAG_VEL=>XDIAG_VEL
-DIAG_TRIP_MODEL(KFROM)%XDIAG_HS=>XDIAG_HS
-DIAG_TRIP_MODEL(KFROM)%XDIAG_FF=>XDIAG_FF
-DIAG_TRIP_MODEL(KFROM)%XDIAG_HF=>XDIAG_HF
-!
-DIAG_TRIP_MODEL(KFROM)%XDIAG_QFR=>XDIAG_QFR
-DIAG_TRIP_MODEL(KFROM)%XDIAG_QRF=>XDIAG_QRF
-DIAG_TRIP_MODEL(KFROM)%XDIAG_QIN=>XDIAG_QIN
-DIAG_TRIP_MODEL(KFROM)%XDIAG_VFIN=>XDIAG_VFIN
-DIAG_TRIP_MODEL(KFROM)%XDIAG_VFOUT=>XDIAG_VFOUT
-DIAG_TRIP_MODEL(KFROM)%XDIAG_WF=>XDIAG_WF
-DIAG_TRIP_MODEL(KFROM)%XDIAG_LF=>XDIAG_LF
-DIAG_TRIP_MODEL(KFROM)%XDIAG_HSF=>XDIAG_HSF
-DIAG_TRIP_MODEL(KFROM)%XDIAG_SOURCE=>XDIAG_SOURCE
-ENDIF
-!
-! Current model is set to model KTO
-XDIAG_SURF_STO=>DIAG_TRIP_MODEL(KTO)%XDIAG_SURF_STO
-XDIAG_GROUND_STO=>DIAG_TRIP_MODEL(KTO)%XDIAG_GROUND_STO
-XDIAG_FLOOD_STO=>DIAG_TRIP_MODEL(KTO)%XDIAG_FLOOD_STO
-XDIAG_QDIS=>DIAG_TRIP_MODEL(KTO)%XDIAG_QDIS
-XDIAG_QGF=>DIAG_TRIP_MODEL(KTO)%XDIAG_QGF
-XDIAG_VEL=>DIAG_TRIP_MODEL(KTO)%XDIAG_VEL
-XDIAG_HS=>DIAG_TRIP_MODEL(KTO)%XDIAG_HS
-XDIAG_FF=>DIAG_TRIP_MODEL(KTO)%XDIAG_FF
-XDIAG_HF=>DIAG_TRIP_MODEL(KTO)%XDIAG_HF
-!
-XDIAG_QFR=>DIAG_TRIP_MODEL(KTO)%XDIAG_QFR
-XDIAG_QRF=>DIAG_TRIP_MODEL(KTO)%XDIAG_QRF
-XDIAG_QIN=>DIAG_TRIP_MODEL(KTO)%XDIAG_QIN
-XDIAG_VFIN=>DIAG_TRIP_MODEL(KTO)%XDIAG_VFIN
-XDIAG_VFOUT=>DIAG_TRIP_MODEL(KTO)%XDIAG_VFOUT
-XDIAG_WF=>DIAG_TRIP_MODEL(KTO)%XDIAG_WF
-XDIAG_LF=>DIAG_TRIP_MODEL(KTO)%XDIAG_LF
-XDIAG_HSF=>DIAG_TRIP_MODEL(KTO)%XDIAG_HSF
-XDIAG_SOURCE=>DIAG_TRIP_MODEL(KTO)%XDIAG_SOURCE
-!
-END SUBROUTINE DIAG_TRIP_GOTO_MODEL
-
-SUBROUTINE DIAG_TRIP_ALLOC(KMODEL)
-INTEGER, INTENT(IN) :: KMODEL
-INTEGER :: J
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-IF (LHOOK) CALL DR_HOOK("MODD_DIAG_TRIP_N:DIAG_TRIP_ALLOC",0,ZHOOK_HANDLE)
-ALLOCATE(DIAG_TRIP_MODEL(KMODEL))
-DO J=1,KMODEL
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_SURF_STO)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_GROUND_STO)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_FLOOD_STO)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_QDIS)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_QGF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_VEL)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_HS)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_FF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_HF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_QFR)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_QRF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_QIN)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_VFIN)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_VFOUT)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_WF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_LF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_HSF)
-  NULLIFY(DIAG_TRIP_MODEL(J)%XDIAG_SOURCE)
-ENDDO
-IF (LHOOK) CALL DR_HOOK("MODD_DIAG_TRIP_N:DIAG_TRIP_ALLOC",1,ZHOOK_HANDLE)
-END SUBROUTINE DIAG_TRIP_ALLOC
-
-SUBROUTINE DIAG_TRIP_DEALLO
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-IF (LHOOK) CALL DR_HOOK("MODD_DIAG_TRIP_N:DIAG_TRIP_DEALLO",0,ZHOOK_HANDLE)
-IF (ALLOCATED(DIAG_TRIP_MODEL)) DEALLOCATE(DIAG_TRIP_MODEL)
-IF (LHOOK) CALL DR_HOOK("MODD_DIAG_TRIP_N:DIAG_TRIP_DEALLO",1,ZHOOK_HANDLE)
-END SUBROUTINE DIAG_TRIP_DEALLO
-!
-END MODULE MODD_DIAG_TRIP_n
diff --git a/src/SURFEX/modd_trip_gridn.F90 b/src/SURFEX/modd_trip_gridn.F90
deleted file mode 100644
index ae1397948aeecd7c13696fff2bfafee996128ef2..0000000000000000000000000000000000000000
--- a/src/SURFEX/modd_trip_gridn.F90
+++ /dev/null
@@ -1,102 +0,0 @@
-!##################
-MODULE MODD_TRIP_GRID_n
-!##################
-!
-!!****  *MODD_TRIP_GRID_n - declaration of grid for TRIP scheme
-!!
-!!    PURPOSE
-!!    -------
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!      None 
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original       05/2008
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-TYPE TRIP_GRID_t
-!-------------------------------------------------------------------------------
-!
-! Grid definition
-!
-  REAL, POINTER,  DIMENSION(:)      :: XGRID_TRIP ! lits of parameters used to define the grid
-!
-!-------------------------------------------------------------------------------
-!
-  REAL, POINTER, DIMENSION(:,:)    :: XAREA       ! 2d grid area [m*m]
-!
-!
-  LOGICAL, POINTER, DIMENSION(:,:) :: GMASK       !Logical Mask for TRIP grid
-!
-!-------------------------------------------------------------------------------
-!
-END TYPE TRIP_GRID_t
-!
-TYPE(TRIP_GRID_t), ALLOCATABLE, TARGET, SAVE :: TRIP_GRID_MODEL(:)
-!
-REAL, POINTER,    DIMENSION(:)   :: XGRID_TRIP=>NULL()
-!$OMP THREADPRIVATE(XGRID_TRIP)
-REAL, POINTER,    DIMENSION(:,:) :: XAREA=>NULL()
-!$OMP THREADPRIVATE(XAREA)
-LOGICAL, POINTER, DIMENSION(:,:) :: GMASK=>NULL() 
-!$OMP THREADPRIVATE(GMASK)
-!
-CONTAINS
-
-SUBROUTINE TRIP_GRID_GOTO_MODEL(KFROM, KTO, LKFROM)
-LOGICAL, INTENT(IN) :: LKFROM
-INTEGER, INTENT(IN) :: KFROM, KTO
-!
-! Save current state for allocated arrays
-IF (LKFROM) THEN
-TRIP_GRID_MODEL(KFROM)%XGRID_TRIP=>XGRID_TRIP
-TRIP_GRID_MODEL(KFROM)%XAREA=>XAREA
-TRIP_GRID_MODEL(KFROM)%GMASK=>GMASK
-ENDIF
-!
-! Current model is set to model KTO
-XGRID_TRIP=>TRIP_GRID_MODEL(KTO)%XGRID_TRIP
-XAREA=>TRIP_GRID_MODEL(KTO)%XAREA
-GMASK=>TRIP_GRID_MODEL(KTO)%GMASK
-!
-END SUBROUTINE TRIP_GRID_GOTO_MODEL
-
-SUBROUTINE TRIP_GRID_ALLOC(KMODEL)
-INTEGER, INTENT(IN) :: KMODEL
-INTEGER :: J
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_GRID_N:TRIP_GRID_ALLOC",0,ZHOOK_HANDLE)
-ALLOCATE(TRIP_GRID_MODEL(KMODEL))
-DO J=1,KMODEL
-  NULLIFY(TRIP_GRID_MODEL(J)%XGRID_TRIP)
-  NULLIFY(TRIP_GRID_MODEL(J)%XAREA)
-  NULLIFY(TRIP_GRID_MODEL(J)%GMASK)
-ENDDO
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_GRID_N:TRIP_GRID_ALLOC",1,ZHOOK_HANDLE)
-END SUBROUTINE TRIP_GRID_ALLOC
-
-SUBROUTINE TRIP_GRID_DEALLO
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_GRID_N:TRIP_GRID_DEALLO",0,ZHOOK_HANDLE)
-IF (ALLOCATED(TRIP_GRID_MODEL)) DEALLOCATE(TRIP_GRID_MODEL)
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_GRID_N:TRIP_GRID_DEALLO",1,ZHOOK_HANDLE)
-END SUBROUTINE TRIP_GRID_DEALLO
-
-END MODULE MODD_TRIP_GRID_n
diff --git a/src/SURFEX/modd_trip_par.F90 b/src/SURFEX/modd_trip_par.F90
deleted file mode 100644
index f3dca162d570a319b30a2efcc770cf0b7d376a7e..0000000000000000000000000000000000000000
--- a/src/SURFEX/modd_trip_par.F90
+++ /dev/null
@@ -1,56 +0,0 @@
-!######################
-MODULE MODD_TRIP_PAR
-!######################
-!
-!!****  *MODD_TRIP_PAR* - declaration of TRIP parameters
-!!
-!!    PURPOSE
-!!    -------
-!       The purpose of this declarative module is to specify  the 
-!     parameters related to the TRIP RRM. 
-!
-!!
-!!      
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original  22/05/08
-!-------------------------------------------------------------------------------
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-IMPLICIT NONE
-!
-INTEGER, SAVE :: NTRIPTAB
-!
-REAL, SAVE    :: XM_EXP
-!
-REAL, SAVE    :: XTRIP_UNDEF
-REAL, SAVE    :: XRHOLW_T
-REAL, SAVE    :: XDAY_T 
-REAL, SAVE    :: XSEA_T 
-REAL, SAVE    :: XYEAR_T 
-!
-REAL, SAVE    :: XRAD_T
-REAL, SAVE    :: XPI_T 
-!
-!--------------------------------------------------------------------------------
-!
-END MODULE MODD_TRIP_PAR
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SURFEX/modd_tripn.F90 b/src/SURFEX/modd_tripn.F90
deleted file mode 100644
index c19e15ad0b9fe8aa53d1ccbcbc83e4789cd28134..0000000000000000000000000000000000000000
--- a/src/SURFEX/modd_tripn.F90
+++ /dev/null
@@ -1,321 +0,0 @@
-!###############
-MODULE MODD_TRIP_n
-!###############
-!
-!!****  *MODD_TRIP_n - declaration of surface variable for TRIP RRM
-!!
-!!    PURPOSE
-!!    -------
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!      None 
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original       21/05/08
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-
-TYPE TRIP_t
-!-------------------------------------------------------------------------------
-!
-! TRIP Options:
-!
- CHARACTER(LEN=3)               :: CGROUNDW    !Use groundwater scheme
-                                              !'DEF' = No groundwater scheme
-                                              !'CST' = Constant transfert time
-                                              !'VAR' = Textural dependence of transfert time 
-!
- CHARACTER(LEN=3)               :: CVIT        !Type of stream flow velocity
-                                              !'DEF' = Constant velocit = 0.5m/s
-                                              !'VAR' = variable velocity
-!
-LOGICAL                        :: LDIAG_CPL        !if true, dailly output diag
-LOGICAL                        :: LTRIP_DIAG_MISC  !if true, more diag for model testing
-LOGICAL                        :: LFLOODT          !if true, use TRIP-FLOOD
-LOGICAL                        :: LNCPRINT         !Netcdf read/write messages
-LOGICAL                        :: LPRINT_TRIP      !Print water budget message
-!
-REAL                           :: XDATA_TAUG   ! Constant transfert time value
-REAL                           :: XCVEL        ! Constant velocity value
-REAL                           :: XRATMED      ! Meandering ratio
-REAL                           :: XTRIP_TSTEP
-REAL                           :: XTSTEP_COUPLING
-!
-!-------------------------------------------------------------------------------
-!
-INTEGER, POINTER, DIMENSION(:,:) :: IGRCN       ! Flow direction (1->8)
-INTEGER, POINTER, DIMENSION(:,:) :: ISEQ        ! River sequence
-INTEGER                          :: ISEQMAX     ! maximum down flow
-INTEGER, POINTER, DIMENSION(:,:) :: INEXTX      ! returns x and y point 
-INTEGER, POINTER, DIMENSION(:,:) :: INEXTY      ! of destination grid:
-!                                                        8 1 2
-!                                                        7   3
-!                                                        6 5 4
-!-------------------------------------------------------------------------------
-!
-INTEGER                          :: NRUN        ! Number of coupling during a run
-!
-!-------------------------------------------------------------------------------
-!
-! Input river geometry Parameters :
-!
-REAL, POINTER, DIMENSION(:,:) :: XLEN           ! distance between grids       [m]
-REAL, POINTER, DIMENSION(:,:) :: XTAUG          ! ground water transfer time   [s]
-REAL, POINTER, DIMENSION(:,:) :: XSLOPEBED      ! river bed slopes             [m/m]
-REAL, POINTER, DIMENSION(:,:) :: XWIDTH         ! river widths                 [m]
-REAL, POINTER, DIMENSION(:,:) :: XN             ! Manning roughness coeficient [-] (0.03 to 0.065)
-REAL, POINTER, DIMENSION(:,:) :: XN_FLOOD       ! Manning coeficient over floodplains  [-] (currently 0.1)
-REAL, POINTER, DIMENSION(:,:) :: XHC_BED        ! River bed depth              [m]
-!
-!-------------------------------------------------------------------------------
-!
-! Time varing variables :
-!
-REAL, POINTER, DIMENSION(:,:) :: XSURF_STO        ! river channel storage        [kg]
-REAL, POINTER, DIMENSION(:,:) :: XGROUND_STO      ! ground water storage         [kg]
-REAL, POINTER, DIMENSION(:,:) :: XFLOOD_STO       ! Floodplain water storage     [kg]
-REAL, POINTER, DIMENSION(:,:) :: XHFLOOD          ! Floodplain water depth       [m]
-REAL, POINTER, DIMENSION(:,:) :: XFFLOOD          ! Floodplain grid-cell fraction [-]
-REAL, POINTER, DIMENSION(:,:) :: XPIFLOOD         ! Floodplain potential infiltration for coupling with isba [kg/m2/s]
-REAL, POINTER, DIMENSION(:,:) :: XWFLOOD          ! Floodplain width             [m]
-REAL, POINTER, DIMENSION(:,:) :: XFLOOD_LEN       ! Floodplain lenght            [m]
-!
-!-------------------------------------------------------------------------------
-!
-! Floodplain fonctions :
-!
-INTEGER, POINTER, DIMENSION(:,:) :: ITABMAX       ! Maximum array
-!
-REAL, POINTER, DIMENSION(:,:,:) :: XTAB_F         ! Flood fraction array
-REAL, POINTER, DIMENSION(:,:,:) :: XTAB_H         ! Topo height array
-REAL, POINTER, DIMENSION(:,:,:) :: XTAB_VF        ! Flood volume array
-!
-!-------------------------------------------------------------------------------
-!
-END TYPE TRIP_t
-!
-TYPE(TRIP_t), ALLOCATABLE, TARGET, SAVE :: TRIP_MODEL(:)
-!
- CHARACTER(LEN=3), POINTER        :: CGROUNDW=>NULL()
-!$OMP THREADPRIVATE(CGROUNDW)
- CHARACTER(LEN=3), POINTER        :: CVIT=>NULL()
-!$OMP THREADPRIVATE(CVIT)
-!
-LOGICAL, POINTER                 :: LFLOODT=>NULL()
-!$OMP THREADPRIVATE(LFLOODT)
-LOGICAL, POINTER                 :: LDIAG_CPL=>NULL()
-!$OMP THREADPRIVATE(LDIAG_CPL)
-LOGICAL, POINTER                 :: LNCPRINT=>NULL()
-!$OMP THREADPRIVATE(LNCPRINT)
-LOGICAL, POINTER                 :: LPRINT_TRIP=>NULL()
-!$OMP THREADPRIVATE(LPRINT_TRIP)
-LOGICAL, POINTER                 :: LTRIP_DIAG_MISC=>NULL()
-!$OMP THREADPRIVATE(LTRIP_DIAG_MISC)
-REAL, POINTER                    :: XTSTEP_COUPLING=>NULL()
-!$OMP THREADPRIVATE(XTSTEP_COUPLING)
-REAL, POINTER                    :: XTRIP_TSTEP=>NULL()
-!$OMP THREADPRIVATE(XTRIP_TSTEP)
-REAL, POINTER                    :: XDATA_TAUG=>NULL()
-!$OMP THREADPRIVATE(XDATA_TAUG)
-REAL, POINTER                    :: XCVEL=>NULL()
-!$OMP THREADPRIVATE(XCVEL)
-REAL, POINTER                    :: XRATMED=>NULL()
-!$OMP THREADPRIVATE(XRATMED)
-!
-INTEGER, POINTER, DIMENSION(:,:) :: IGRCN=>NULL()       
-!$OMP THREADPRIVATE(IGRCN)
-INTEGER, POINTER, DIMENSION(:,:) :: ISEQ=>NULL()        
-!$OMP THREADPRIVATE(ISEQ)
-INTEGER, POINTER                 :: ISEQMAX=>NULL() 
-!$OMP THREADPRIVATE(ISEQMAX)
-INTEGER, POINTER, DIMENSION(:,:) :: INEXTX=>NULL()       
-!$OMP THREADPRIVATE(INEXTX)
-INTEGER, POINTER, DIMENSION(:,:) :: INEXTY=>NULL() 
-!$OMP THREADPRIVATE(INEXTY)
-INTEGER, POINTER                 :: NRUN=>NULL()
-!$OMP THREADPRIVATE(NRUN)
-!
-REAL, POINTER, DIMENSION(:,:)    :: XLEN=>NULL()           
-!$OMP THREADPRIVATE(XLEN)
-REAL, POINTER, DIMENSION(:,:)    :: XTAUG=>NULL()          
-!$OMP THREADPRIVATE(XTAUG)
-REAL, POINTER, DIMENSION(:,:)    :: XSLOPEBED=>NULL()      
-!$OMP THREADPRIVATE(XSLOPEBED)
-REAL, POINTER, DIMENSION(:,:)    :: XWIDTH=>NULL()         
-!$OMP THREADPRIVATE(XWIDTH)
-REAL, POINTER, DIMENSION(:,:)    :: XN=>NULL()             
-!$OMP THREADPRIVATE(XN)
-REAL, POINTER, DIMENSION(:,:)    :: XN_FLOOD=>NULL()       
-!$OMP THREADPRIVATE(XN_FLOOD)
-REAL, POINTER, DIMENSION(:,:)    :: XHC_BED=>NULL()
-!$OMP THREADPRIVATE(XHC_BED)
-REAL, POINTER, DIMENSION(:,:)    :: XSURF_STO=>NULL()        
-!$OMP THREADPRIVATE(XSURF_STO)
-REAL, POINTER, DIMENSION(:,:)    :: XGROUND_STO=>NULL()      
-!$OMP THREADPRIVATE(XGROUND_STO)
-REAL, POINTER, DIMENSION(:,:)    :: XFLOOD_STO=>NULL()       
-!$OMP THREADPRIVATE(XFLOOD_STO)
-REAL, POINTER, DIMENSION(:,:)    :: XHFLOOD=>NULL()          
-!$OMP THREADPRIVATE(XHFLOOD)
-REAL, POINTER, DIMENSION(:,:)    :: XFFLOOD=>NULL() 
-!$OMP THREADPRIVATE(XFFLOOD)
-REAL, POINTER, DIMENSION(:,:)    :: XPIFLOOD=>NULL()
-!$OMP THREADPRIVATE(XPIFLOOD)
-REAL, POINTER, DIMENSION(:,:)    :: XWFLOOD=>NULL()          
-!$OMP THREADPRIVATE(XWFLOOD)
-REAL, POINTER, DIMENSION(:,:)    :: XFLOOD_LEN=>NULL() 
-!$OMP THREADPRIVATE(XFLOOD_LEN)
-!
-INTEGER, POINTER, DIMENSION(:,:)   :: ITABMAX=>NULL()
-!$OMP THREADPRIVATE(ITABMAX)
-REAL, POINTER, DIMENSION(:,:,:)    :: XTAB_F=>NULL()         
-!$OMP THREADPRIVATE(XTAB_F)
-REAL, POINTER, DIMENSION(:,:,:)    :: XTAB_H=>NULL() 
-!$OMP THREADPRIVATE(XTAB_H)
-REAL, POINTER, DIMENSION(:,:,:)    :: XTAB_VF=>NULL() 
-!$OMP THREADPRIVATE(XTAB_VF)
-!
-CONTAINS
-!
-SUBROUTINE TRIP_GOTO_MODEL(KFROM, KTO, LKFROM)
-LOGICAL, INTENT(IN) :: LKFROM
-INTEGER, INTENT(IN) :: KFROM, KTO
-!
-! Save current state for allocated arrays
-IF (LKFROM) THEN
-TRIP_MODEL(KFROM)%IGRCN=>IGRCN
-TRIP_MODEL(KFROM)%ISEQ=>ISEQ
-TRIP_MODEL(KFROM)%INEXTX=>INEXTX
-TRIP_MODEL(KFROM)%INEXTY=>INEXTY
-TRIP_MODEL(KFROM)%XLEN=>XLEN
-TRIP_MODEL(KFROM)%XTAUG=>XTAUG
-TRIP_MODEL(KFROM)%XSLOPEBED=>XSLOPEBED
-TRIP_MODEL(KFROM)%XWIDTH=>XWIDTH
-TRIP_MODEL(KFROM)%XN=>XN
-TRIP_MODEL(KFROM)%XN_FLOOD=>XN_FLOOD
-TRIP_MODEL(KFROM)%XHC_BED=>XHC_BED
-TRIP_MODEL(KFROM)%XSURF_STO=>XSURF_STO
-TRIP_MODEL(KFROM)%XGROUND_STO=>XGROUND_STO
-TRIP_MODEL(KFROM)%XFLOOD_STO=>XFLOOD_STO
-TRIP_MODEL(KFROM)%XHFLOOD=>XHFLOOD
-TRIP_MODEL(KFROM)%XFFLOOD=>XFFLOOD
-TRIP_MODEL(KFROM)%XPIFLOOD=>XPIFLOOD
-TRIP_MODEL(KFROM)%XWFLOOD=>XWFLOOD
-TRIP_MODEL(KFROM)%XFLOOD_LEN=>XFLOOD_LEN
-TRIP_MODEL(KFROM)%XTAB_F=>XTAB_F
-TRIP_MODEL(KFROM)%XTAB_H=>XTAB_H
-TRIP_MODEL(KFROM)%XTAB_VF=>XTAB_VF
-TRIP_MODEL(KFROM)%ITABMAX=>ITABMAX
-ENDIF
-! Current model is set to model KTO
-CGROUNDW=>TRIP_MODEL(KTO)%CGROUNDW
-CVIT=>TRIP_MODEL(KTO)%CVIT
-LFLOODT=>TRIP_MODEL(KTO)%LFLOODT
-LTRIP_DIAG_MISC=>TRIP_MODEL(KTO)%LTRIP_DIAG_MISC
-LDIAG_CPL=>TRIP_MODEL(KTO)%LDIAG_CPL
-LNCPRINT=>TRIP_MODEL(KTO)%LNCPRINT
-LPRINT_TRIP=>TRIP_MODEL(KTO)%LPRINT_TRIP
-XTSTEP_COUPLING=>TRIP_MODEL(KTO)%XTSTEP_COUPLING
-XTRIP_TSTEP=>TRIP_MODEL(KTO)%XTRIP_TSTEP
-XDATA_TAUG=>TRIP_MODEL(KTO)%XDATA_TAUG
-XCVEL=>TRIP_MODEL(KTO)%XCVEL
-XRATMED=>TRIP_MODEL(KTO)%XRATMED
-NRUN=>TRIP_MODEL(KTO)%NRUN
-IGRCN=>TRIP_MODEL(KTO)%IGRCN
-ISEQ=>TRIP_MODEL(KTO)%ISEQ
-ISEQMAX=>TRIP_MODEL(KTO)%ISEQMAX
-INEXTX=>TRIP_MODEL(KTO)%INEXTX
-INEXTY=>TRIP_MODEL(KTO)%INEXTY
-XLEN=>TRIP_MODEL(KTO)%XLEN
-XTAUG=>TRIP_MODEL(KTO)%XTAUG
-XSLOPEBED=>TRIP_MODEL(KTO)%XSLOPEBED
-XWIDTH=>TRIP_MODEL(KTO)%XWIDTH
-XN=>TRIP_MODEL(KTO)%XN
-XN_FLOOD=>TRIP_MODEL(KTO)%XN_FLOOD
-XHC_BED=>TRIP_MODEL(KTO)%XHC_BED
-XSURF_STO=>TRIP_MODEL(KTO)%XSURF_STO
-XGROUND_STO=>TRIP_MODEL(KTO)%XGROUND_STO
-XFLOOD_STO=>TRIP_MODEL(KTO)%XFLOOD_STO
-XHFLOOD=>TRIP_MODEL(KTO)%XHFLOOD
-XFFLOOD=>TRIP_MODEL(KTO)%XFFLOOD
-XPIFLOOD=>TRIP_MODEL(KTO)%XPIFLOOD
-XWFLOOD=>TRIP_MODEL(KTO)%XWFLOOD
-XFLOOD_LEN=>TRIP_MODEL(KTO)%XFLOOD_LEN
-XTAB_F=>TRIP_MODEL(KTO)%XTAB_F
-XTAB_H=>TRIP_MODEL(KTO)%XTAB_H
-XTAB_VF=>TRIP_MODEL(KTO)%XTAB_VF
-ITABMAX=>TRIP_MODEL(KTO)%ITABMAX
-END SUBROUTINE TRIP_GOTO_MODEL
-
-SUBROUTINE TRIP_ALLOC(KMODEL)
-INTEGER, INTENT(IN) :: KMODEL
-INTEGER :: J
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_N:TRIP_ALLOC",0,ZHOOK_HANDLE)
-ALLOCATE(TRIP_MODEL(KMODEL))
-DO J=1,KMODEL
-  NULLIFY(TRIP_MODEL(J)%IGRCN)
-  NULLIFY(TRIP_MODEL(J)%ISEQ)
-  NULLIFY(TRIP_MODEL(J)%INEXTX)
-  NULLIFY(TRIP_MODEL(J)%INEXTY)
-  NULLIFY(TRIP_MODEL(J)%XLEN)
-  NULLIFY(TRIP_MODEL(J)%XTAUG)
-  NULLIFY(TRIP_MODEL(J)%XSLOPEBED)
-  NULLIFY(TRIP_MODEL(J)%XWIDTH)
-  NULLIFY(TRIP_MODEL(J)%XN)
-  NULLIFY(TRIP_MODEL(J)%XN_FLOOD)
-  NULLIFY(TRIP_MODEL(J)%XHC_BED)
-  NULLIFY(TRIP_MODEL(J)%XSURF_STO)
-  NULLIFY(TRIP_MODEL(J)%XGROUND_STO)
-  NULLIFY(TRIP_MODEL(J)%XFLOOD_STO)
-  NULLIFY(TRIP_MODEL(J)%XHFLOOD)
-  NULLIFY(TRIP_MODEL(J)%XFFLOOD)
-  NULLIFY(TRIP_MODEL(J)%XPIFLOOD)  
-  NULLIFY(TRIP_MODEL(J)%XWFLOOD)
-  NULLIFY(TRIP_MODEL(J)%XFLOOD_LEN)
-  NULLIFY(TRIP_MODEL(J)%XTAB_F)
-  NULLIFY(TRIP_MODEL(J)%XTAB_H)
-  NULLIFY(TRIP_MODEL(J)%XTAB_VF)
-  NULLIFY(TRIP_MODEL(J)%ITABMAX)
-ENDDO
-TRIP_MODEL(:)%CGROUNDW=' '
-TRIP_MODEL(:)%CVIT=' '
-TRIP_MODEL(:)%LDIAG_CPL=.FALSE.
-TRIP_MODEL(:)%LTRIP_DIAG_MISC=.FALSE.
-TRIP_MODEL(:)%LFLOODT=.FALSE.
-TRIP_MODEL(:)%LNCPRINT=.FALSE.
-TRIP_MODEL(:)%LPRINT_TRIP=.FALSE.
-TRIP_MODEL(:)%XDATA_TAUG=0.
-TRIP_MODEL(:)%XCVEL=0.
-TRIP_MODEL(:)%XRATMED=0.
-TRIP_MODEL(:)%XTRIP_TSTEP=0.
-TRIP_MODEL(:)%XTSTEP_COUPLING=0.
-TRIP_MODEL(:)%ISEQMAX=0
-TRIP_MODEL(:)%NRUN=0
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_N:TRIP_ALLOC",1,ZHOOK_HANDLE)
-END SUBROUTINE TRIP_ALLOC
-
-SUBROUTINE TRIP_DEALLO
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_N:TRIP_DEALLO",0,ZHOOK_HANDLE)
-IF (ALLOCATED(TRIP_MODEL)) DEALLOCATE(TRIP_MODEL)
-IF (LHOOK) CALL DR_HOOK("MODD_TRIP_N:TRIP_DEALLO",1,ZHOOK_HANDLE)
-END SUBROUTINE TRIP_DEALLO
-!
-END MODULE MODD_TRIP_n
diff --git a/src/SURFEX/mode_convert.F90 b/src/SURFEX/mode_convert.F90
deleted file mode 100644
index fd47773f62374aafd64e461bde57c22a6e50ffc2..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_convert.F90
+++ /dev/null
@@ -1,161 +0,0 @@
-!
-MODULE MODE_CONVERT
-   !     MODE_CONVERT
-   !     CONVERT_1D    = Convert 1D to 2D array            (ISBA -> TRIP)
-   !     CONVERT_2D    = Convert 2D to 3D array            (ISBA -> TRIP)
-   !     UN_CONVERT_1D = Convert 2D to 1D                  (TRIP -> ISBA)
-   !     UN_CONVERT_2D = Convert 3D to 2D array            (TRIP -> ISBA)
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-  INTERFACE CONVERT
-      MODULE PROCEDURE CONVERT_1D
-      MODULE PROCEDURE CONVERT_2D
-  END INTERFACE
-
-  INTERFACE UN_CONVERT
-      MODULE PROCEDURE UN_CONVERT_1D
-      MODULE PROCEDURE UN_CONVERT_2D
-  END INTERFACE 
-!
-CONTAINS
-!
-!  ##########################################################
-   SUBROUTINE CONVERT_1D(P1D,GMASK,P2D)
-   !-------------------------------------------------------------------------------
-   !
-   IMPLICIT NONE
-   !
-   REAL,    DIMENSION(:),         INTENT(IN)     :: P1D    ! Input 1D array without patch
-   LOGICAL, DIMENSION(:,:),       INTENT(IN)     :: GMASK  ! Mask used to pack
-   REAL,    DIMENSION(:,:),       INTENT(OUT)    :: P2D    ! Output 2D array
-   !
-   INTEGER ILON,ILAT,I,J,ICOUNT
-   REAL(KIND=JPRB) :: ZHOOK_HANDLE
-   !--------------------------------------------------------------------------------
-   !
-   ! initialize
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:CONVERT_1D',0,ZHOOK_HANDLE)
-   ILON =SIZE(GMASK,1)
-   ILAT =SIZE(GMASK,2)
-   !
-   P2D(:,:)=0.0
-   ICOUNT=0
-   !
-   DO J=1,ILAT
-      DO I=1,ILON
-         IF(GMASK(I,J))THEN
-           ICOUNT=ICOUNT+1
-           P2D(I,J)= P1D(ICOUNT)
-         ELSE
-           P2D(I,J)= 0.0
-         ENDIF
-      ENDDO
-   ENDDO
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:CONVERT_1D',1,ZHOOK_HANDLE)
-   !
-   END SUBROUTINE CONVERT_1D
-!  
-   SUBROUTINE CONVERT_2D(P2D,GMASK,P3D)
-   !-------------------------------------------------------------------------------
-   !
-   IMPLICIT NONE
-   !
-   REAL,    DIMENSION(:,:),       INTENT(IN)     :: P2D    ! Input 2D array without patch
-   LOGICAL, DIMENSION(:,:),       INTENT(IN)     :: GMASK  ! Mask used to pack
-   REAL,    DIMENSION(:,:,:),     INTENT(OUT)    :: P3D    ! Output 3D array
-   !
-   INTEGER ILON,ILAT,I,J,ICOUNT
-   REAL(KIND=JPRB) :: ZHOOK_HANDLE
-   !--------------------------------------------------------------------------------
-   !
-   ! initialize
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:CONVERT_2D',0,ZHOOK_HANDLE)
-   ILON =SIZE(GMASK,1)
-   ILAT =SIZE(GMASK,2)
-   !
-   P3D(:,:,:)=0.0
-   ICOUNT=0
-   !
-   DO J=1,ILAT
-      DO I=1,ILON
-         IF(GMASK(I,J))THEN
-           ICOUNT=ICOUNT+1
-           P3D(I,J,:)= P2D(ICOUNT,:)
-         ELSE
-           P3D(I,J,:)= 0.0
-         ENDIF
-      ENDDO
-   ENDDO
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:CONVERT_2D',1,ZHOOK_HANDLE)
-   !
-   END SUBROUTINE CONVERT_2D
-!
-   SUBROUTINE UN_CONVERT_1D(P2D,GMASK,P1D)
-   !-----------------------------------------------------------------------------
-   !
-   IMPLICIT NONE
-   !
-   REAL,    DIMENSION(:,:),       INTENT(IN)     :: P2D   ! Input 2D array
-   LOGICAL, DIMENSION(:,:),       INTENT(IN)     :: GMASK ! Mask used to pack
-   REAL,    DIMENSION(:),         INTENT(OUT)    :: P1D   ! Output 1D array
-   !
-   INTEGER ILON,ILAT,I,J,ICOUNT
-   REAL(KIND=JPRB) :: ZHOOK_HANDLE
-   !------------------------------------------------------------------------------
-   !
-   ! initialize
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:UN_CONVERT_1D',0,ZHOOK_HANDLE)
-   ILON =SIZE(P2D,1)
-   ILAT =SIZE(P2D,2)
-   P1D(:)=0.0
-   ICOUNT=0
-   !
-   DO J=1,ILAT
-      DO I=1,ILON
-         IF(GMASK(I,J))THEN
-           ICOUNT=ICOUNT+1
-           P1D(ICOUNT)=P2D(I,J)
-         ENDIF
-      ENDDO
-   ENDDO
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:UN_CONVERT_1D',1,ZHOOK_HANDLE)
-   !
-   END SUBROUTINE UN_CONVERT_1D
-!   
-   SUBROUTINE UN_CONVERT_2D(P3D,GMASK,P2D)
-   !-----------------------------------------------------------------------------
-   !
-   IMPLICIT NONE
-   !
-   REAL,    DIMENSION(:,:,:),     INTENT(IN)   :: P3D   ! Input 2D array
-   LOGICAL, DIMENSION(:,:),       INTENT(IN)   :: GMASK ! Mask used to pack
-   REAL,    DIMENSION(:,:),       INTENT(OUT)  :: P2D   ! Output 1D array
-   !
-   INTEGER ILON,ILAT,I,J,ICOUNT
-   REAL(KIND=JPRB) :: ZHOOK_HANDLE
-   !------------------------------------------------------------------------------
-   !
-   ! initialize
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:UN_CONVERT_2D',0,ZHOOK_HANDLE)
-   ILON =SIZE(P3D,1)
-   ILAT =SIZE(P3D,2)
-   P2D(:,:)=0.0
-   ICOUNT=0
-   !
-   DO J=1,ILAT
-      DO I=1,ILON
-         IF(GMASK(I,J))THEN
-           ICOUNT=ICOUNT+1
-           P2D(ICOUNT,:)=P3D(I,J,:)
-         ENDIF
-      ENDDO
-   ENDDO
-   IF (LHOOK) CALL DR_HOOK('MODE_CONVERT:UN_CONVERT_2D',1,ZHOOK_HANDLE)
-   !
-   END SUBROUTINE UN_CONVERT_2D
-!   
-!---------------
-END MODULE MODE_CONVERT
diff --git a/src/SURFEX/mode_grid_trip.F90 b/src/SURFEX/mode_grid_trip.F90
deleted file mode 100644
index 16783424a0b0d5cde70ffa37b9e60e145718f3ff..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_grid_trip.F90
+++ /dev/null
@@ -1,152 +0,0 @@
-!##############################
-MODULE MODE_GRID_TRIP
-!##############################
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-  INTERFACE PUT_GRID_TRIP
-      MODULE PROCEDURE PUT_GRID_TRIP
-  END INTERFACE
-
-  INTERFACE GET_GRID_TRIP
-      MODULE PROCEDURE GET_GRID_TRIP
-  END INTERFACE
-!
-!############################################################################
-!############################################################################
-!############################################################################
-CONTAINS
-!############################################################################
-!############################################################################
-!############################################################################
-!     ####################################################################
-      SUBROUTINE PUT_GRID_TRIP(PGRID_TRIP,PLONMIN,PLONMAX,PLATMIN, &
-                                 PLATMAX,PRES,KLON,KLAT,PLON,PLAT    )  
-!     ####################################################################
-!
-!!****  *PUT_GRID_TRIP* - routine to store in PGRID_TRIP the horizontal grid
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2005 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-IMPLICIT NONE
-!
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
-REAL,               INTENT(IN)  :: PLONMIN  ! minimum longitude
-REAL,               INTENT(IN)  :: PLONMAX  ! maximum longitude
-REAL,               INTENT(IN)  :: PLATMIN  ! minimum latitude
-REAL,               INTENT(IN)  :: PLATMAX  ! maximum latitude
-REAL,               INTENT(IN)  :: PRES     ! 1° or 0.5° resolution
-INTEGER,            INTENT(IN)  :: KLON     ! number of points in longitude
-INTEGER,            INTENT(IN)  :: KLAT     ! number of points in latitude
-REAL, DIMENSION(:), INTENT(IN)  :: PLON     ! longitude
-REAL, DIMENSION(:), INTENT(IN)  :: PLAT     ! latitude
-REAL, DIMENSION(:), INTENT(OUT) :: PGRID_TRIP! parameters defining this grid
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!
-!-------------------------------------------------------------------------------
-IF (LHOOK) CALL DR_HOOK('MODE_GRID_TRIP:PUT_GRID_TRIP',0,ZHOOK_HANDLE)
-PGRID_TRIP(1)             = PLONMIN
-PGRID_TRIP(2)             = PLONMAX
-PGRID_TRIP(3)             = PLATMIN
-PGRID_TRIP(4)             = PLATMAX
-PGRID_TRIP(5)             = PRES
-PGRID_TRIP(6)             = FLOAT(KLON)
-PGRID_TRIP(7)             = FLOAT(KLAT)
-PGRID_TRIP(8:7+KLON)      = PLON
-PGRID_TRIP(8+KLON:7+KLON+KLAT) = PLAT
-IF (LHOOK) CALL DR_HOOK('MODE_GRID_TRIP:PUT_GRID_TRIP',1,ZHOOK_HANDLE)
-!-------------------------------------------------------------------------------
-END SUBROUTINE PUT_GRID_TRIP
-!############################################################################
-!############################################################################
-!############################################################################
-!     ####################################################################
-      SUBROUTINE GET_GRID_TRIP(PGRID_TRIP,PLONMIN,PLONMAX,PLATMIN, &
-                                 PLATMAX,PRES,KLON,KLAT,PLON,PLAT    )  
-!     ####################################################################
-!
-!!****  *GET_GRID_TRIP* - routine to get from PGRID_TRIP the horizontal grid
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2005 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-IMPLICIT NONE
-!
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
-REAL, DIMENSION(:), INTENT(IN)            :: PGRID_TRIP! parameters defining this grid
-REAL,               INTENT(OUT), OPTIONAL :: PLONMIN  ! minimum longitude
-REAL,               INTENT(OUT), OPTIONAL :: PLONMAX  ! maximum longitude
-REAL,               INTENT(OUT), OPTIONAL :: PLATMIN  ! minimum latitude
-REAL,               INTENT(OUT), OPTIONAL :: PLATMAX  ! maximum latitude
-REAL,               INTENT(OUT), OPTIONAL :: PRES     ! 1° or 0.5° resolution
-INTEGER,            INTENT(OUT), OPTIONAL :: KLON     ! number of points in longitude
-INTEGER,            INTENT(OUT), OPTIONAL :: KLAT     ! number of points in latitude
-REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PLON     ! longitude
-REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PLAT     ! latitude
-!
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!
-INTEGER :: ILON, ILAT
-INTEGER :: IL
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!-------------------------------------------------------------------------------
-IF (LHOOK) CALL DR_HOOK('MODE_GRID_TRIP:GET_GRID_TRIP',0,ZHOOK_HANDLE)
-ILON = NINT(PGRID_TRIP(6))
-ILAT = NINT(PGRID_TRIP(7))
-!
-IF (PRESENT(PLONMIN))  PLONMIN = PGRID_TRIP(1)
-IF (PRESENT(PLONMAX))  PLONMAX = PGRID_TRIP(2)
-IF (PRESENT(PLATMIN))  PLATMIN = PGRID_TRIP(3)
-IF (PRESENT(PLATMAX))  PLATMAX = PGRID_TRIP(4)
-IF (PRESENT(PRES   ))  PRES    = PGRID_TRIP(5)
-IF (PRESENT(KLON   ))  KLON    = ILON
-IF (PRESENT(KLAT   ))  KLAT    = ILAT
-IF (PRESENT(PLON   ))  PLON(:) = PGRID_TRIP(8:7+ILON)
-IF (PRESENT(PLAT   ))  PLAT(:) = PGRID_TRIP(8+ILON:7+ILON+ILAT)
-IF (LHOOK) CALL DR_HOOK('MODE_GRID_TRIP:GET_GRID_TRIP',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-END SUBROUTINE GET_GRID_TRIP
-!---------------------------------------------------------------------------------
-!
-!############################################################################
-!############################################################################
-!############################################################################
-!############################################################################
-!############################################################################
-!############################################################################
-!
-END MODULE MODE_GRID_TRIP
diff --git a/src/SURFEX/mode_modeln_trip_handler.F90 b/src/SURFEX/mode_modeln_trip_handler.F90
deleted file mode 100644
index cfc38493cedeb19c5edee58aaa1802127018a023..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_modeln_trip_handler.F90
+++ /dev/null
@@ -1,62 +0,0 @@
-MODULE MODE_MODELN_TRIP_HANDLER
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE 
-
-INTEGER, SAVE, PRIVATE :: ICURRENT_MODEL_TRIP = -1
-!$OMP THREADPRIVATE(ICURRENT_MODEL_TRIP)
-
-CONTAINS 
-
-FUNCTION GET_CURRENT_MODEL_INDEX_TRIP()
-INTEGER :: GET_CURRENT_MODEL_INDEX_TRIP
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!!
-IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GET_CURRENT_MODEL_INDEX_TRIP',0,ZHOOK_HANDLE)
-GET_CURRENT_MODEL_INDEX_TRIP = ICURRENT_MODEL_TRIP
-IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GET_CURRENT_MODEL_INDEX_TRIP',1,ZHOOK_HANDLE)
-!!
-END FUNCTION GET_CURRENT_MODEL_INDEX_TRIP
-!
-SUBROUTINE GOTO_MODEL_TRIP(KMI, LKFROM)
-!
-USE MODI_GOTO_WRAPPER_TRIP
-!
-LOGICAL, INTENT(IN) :: LKFROM
-INTEGER, INTENT(IN) :: KMI
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GOTO_MODEL_TRIP',0,ZHOOK_HANDLE)
-
-IF (LKFROM) THEN
-
-  IF (ICURRENT_MODEL_TRIP == -1) THEN
-    ! First call to GOTO_MODEL_TRIP
-    ICURRENT_MODEL_TRIP = 1 ! Default model index
-    !
-    CALL GOTO_WRAPPER_TRIP   (ICURRENT_MODEL_TRIP, KMI, LKFROM)
-    ICURRENT_MODEL_TRIP = KMI
-    !
-  ELSE
-    !
-    CALL GOTO_WRAPPER_TRIP   (ICURRENT_MODEL_TRIP, KMI, LKFROM)  
-    ICURRENT_MODEL_TRIP = KMI 
-    !
-  END IF
-  !
-ELSE
-  !
-  CALL GOTO_WRAPPER_TRIP   (ICURRENT_MODEL_TRIP, KMI, LKFROM)
-  ICURRENT_MODEL_TRIP = KMI  
-  !
-END IF
-!
-IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GOTO_MODEL_TRIP',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE GOTO_MODEL_TRIP
-
-END MODULE MODE_MODELN_TRIP_HANDLER
-
diff --git a/src/SURFEX/mode_rw_trip.F90 b/src/SURFEX/mode_rw_trip.F90
deleted file mode 100644
index d4680d3768afd7e8ec8f091cbe0e1157b55979c8..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_rw_trip.F90
+++ /dev/null
@@ -1,291 +0,0 @@
-!######################
-MODULE MODE_RW_TRIP
-!######################
-!
-!!****  *MODE_RW_TRIP*
-!!
-!!    PURPOSE
-!!    -------
-!    
-!      The purpose of this routine is to store here all routines 
-!      used by TRIP for read/write variables.
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!       NONE          
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme       * Meteo France *
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    25/04/08
-!--------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-  INTERFACE READ_TRIP
-      MODULE PROCEDURE READ_TRIP_XY
-      MODULE PROCEDURE READ_TRIP_XYZ
-  END INTERFACE
-!
-  INTERFACE WRITE_TRIP
-      MODULE PROCEDURE WRITE_TRIP_XY
-      MODULE PROCEDURE WRITE_TRIP_XYZ
-  END INTERFACE
-!
-!-------------------------------------------------------------------------------
-!
-CONTAINS
-!
-!-------------------------------------------------------------------------------
-!
-!     ##################################################
-      SUBROUTINE READ_TRIP_XY(KLUOUT,HFILE,HVNAME,PREAD)
-!     ##################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Read a XY variable in a netcdf file
-!
-USE MODE_TRIP_NETCDF
-USE MODD_TRIP_n, ONLY : LNCPRINT
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE
- CHARACTER(LEN=*), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN) :: KLUOUT
-!
-REAL, DIMENSION(:,:), INTENT(OUT) :: PREAD
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YFILE
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-LOGICAL, PARAMETER     :: LRW = .FALSE.
-!
-INTEGER :: INCID
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:READ_TRIP_XY',0,ZHOOK_HANDLE)
-YFILE  = HFILE (1:LEN_TRIM(HFILE ))
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
- CALL NCOPEN(KLUOUT,LRW,LNCPRINT,YFILE,INCID)
- CALL NCREAD(KLUOUT,INCID,YVNAME,PREAD,LNCPRINT)
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:READ_TRIP_XY',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE READ_TRIP_XY
-!
-!-------------------------------------------------------------------------------
-!
-!     ##################################################
-      SUBROUTINE READ_TRIP_XYZ(KLUOUT,HFILE,HVNAME,PREAD)
-!     ##################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Read a XYZ variable in a netcdf file
-!
-USE MODE_TRIP_NETCDF
-USE MODD_TRIP_n, ONLY : LNCPRINT
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE
- CHARACTER(LEN=*), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN) :: KLUOUT
-!
-REAL, DIMENSION(:,:,:), INTENT(OUT) :: PREAD
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YFILE
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-LOGICAL, PARAMETER       :: LRW = .FALSE.
-!
-INTEGER :: INCID
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:READ_TRIP_XYZ',0,ZHOOK_HANDLE)
-YFILE  = HFILE (1:LEN_TRIM(HFILE ))
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
- CALL NCOPEN(KLUOUT,LRW,LNCPRINT,YFILE,INCID)
- CALL NCREAD(KLUOUT,INCID,YVNAME,PREAD,LNCPRINT)
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:READ_TRIP_XYZ',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE READ_TRIP_XYZ
-!
-!-------------------------------------------------------------------------------
-!
-!     ######################################################################
-      SUBROUTINE WRITE_TRIP_XY(KLUOUT,HFILE,HVNAME,PMASK,PWRITE,KTNUM,KTVAL)
-!     ######################################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Write a XY variable in HFILE
-!
-USE MODE_TRIP_NETCDF
-USE MODD_TRIP_n,   ONLY : LNCPRINT
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE
- CHARACTER(LEN=*), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN) :: KLUOUT
-!
-REAL, DIMENSION(:,:), INTENT(IN) :: PMASK
-REAL, DIMENSION(:,:), INTENT(IN) :: PWRITE
-!
-INTEGER, INTENT(IN), OPTIONAL :: KTNUM
-INTEGER, INTENT(IN), OPTIONAL :: KTVAL
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YFILE
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-LOGICAL, PARAMETER     :: LRW = .TRUE.
-!
-REAL, DIMENSION(SIZE(PWRITE,1),SIZE(PWRITE,2)) :: ZWRITE
-!
-INTEGER :: INCID
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:WRITE_TRIP_XY',0,ZHOOK_HANDLE)
-YFILE  = HFILE (1:LEN_TRIM(HFILE ))
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
-ZWRITE = PWRITE
-WHERE(PMASK(:,:)==0.0) ZWRITE(:,:)=XTRIP_UNDEF
-!
- CALL NCOPEN(KLUOUT,LRW,LNCPRINT,YFILE,INCID)
-IF(PRESENT(KTNUM).AND.PRESENT(KTVAL))THEN
-  CALL NCSTORE(KLUOUT,INCID,YVNAME,ZWRITE,LNCPRINT,KTNUM,KTVAL)
-ELSE
-  CALL NCSTORE(KLUOUT,INCID,YVNAME,ZWRITE,LNCPRINT)
-ENDIF
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-!
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:WRITE_TRIP_XY',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE WRITE_TRIP_XY
-!
-!-------------------------------------------------------------------------------
-!
-!     #######################################################################
-      SUBROUTINE WRITE_TRIP_XYZ(KLUOUT,HFILE,HVNAME,PMASK,PWRITE,KTNUM,KTVAL)
-!     #######################################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Write a XY variable in HFILE
-!
-USE MODE_TRIP_NETCDF
-USE MODD_TRIP_n,   ONLY : LNCPRINT
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=*), INTENT(IN) :: HFILE
- CHARACTER(LEN=*), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN) :: KLUOUT
-!
-REAL, DIMENSION(:,:),   INTENT(IN) :: PMASK
-REAL, DIMENSION(:,:,:), INTENT(IN) :: PWRITE
-!
-INTEGER, INTENT(IN), OPTIONAL :: KTNUM
-INTEGER, INTENT(IN), OPTIONAL :: KTVAL
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YFILE
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-LOGICAL, PARAMETER     :: LRW = .TRUE.
-LOGICAL, PARAMETER     :: LZW = .TRUE.
-!
-REAL, DIMENSION(SIZE(PWRITE,1),SIZE(PWRITE,2)) :: ZWRITE
-!
-INTEGER :: INCID, IZLEN, J
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:WRITE_TRIP_XYZ',0,ZHOOK_HANDLE)
-IZLEN=SIZE(PWRITE,3)
-!
-YFILE  = HFILE (1:LEN_TRIM(HFILE ))
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
- CALL NCOPEN(KLUOUT,LRW,LNCPRINT,YFILE,INCID)
-DO J=1,IZLEN
-   WHERE(PMASK(:,:)>0.0)
-         ZWRITE(:,:) = PWRITE(:,:,J)
-   ELSEWHERE
-         ZWRITE(:,:)=XTRIP_UNDEF
-   ENDWHERE
-   IF(PRESENT(KTNUM).AND.PRESENT(KTVAL))THEN
-     CALL NCSTORE(KLUOUT,INCID,YVNAME,ZWRITE,LNCPRINT,KTNUM,KTVAL,J,LZW)
-   ELSE
-     CALL NCSTORE(KLUOUT,INCID,YVNAME,ZWRITE,LNCPRINT,KLEVEL=J,OVARZDIM=LZW)
-   ENDIF
-ENDDO
- CALL NCCLOSE(KLUOUT,LNCPRINT,YFILE,INCID)
-!
-IF (LHOOK) CALL DR_HOOK('MODE_RW_TRIP:WRITE_TRIP_XYZ',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE WRITE_TRIP_XYZ
-!
-!-------------------------------------------------------------------------------
-!
-END MODULE MODE_RW_TRIP
diff --git a/src/SURFEX/mode_trip_function.F90 b/src/SURFEX/mode_trip_function.F90
deleted file mode 100644
index 184dc77f88b76fad8800bed7459ee300a90d9458..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_trip_function.F90
+++ /dev/null
@@ -1,472 +0,0 @@
-!########################
-MODULE MODE_TRIP_FUNCTION
-!########################
-!
-!!****  *MODE_TRIP_FUNCTION*
-!!
-!!    PURPOSE
-!!    -------
-!    
-!      The purpose of this routine is to store here all functions 
-!      used by MODE_TRIP_INIT.
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!       NONE          
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme       * Meteo France *
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    15/04/08
-!--------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-!
-!-------------------------------------------------------------------------------
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-CONTAINS
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION IRNXTX(IX,NX,IRIV) RESULT(KNEXTX)
-!     ###############################################
-!
-IMPLICIT NONE
-!
-INTEGER, INTENT(IN)  :: IX,NX,IRIV 
-INTEGER              :: KNEXTX
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:IRNXTX',0,ZHOOK_HANDLE)
-IF(IRIV==1.OR.IRIV==5)THEN
-  KNEXTX = IX 
-ELSEIF(IRIV==8.OR.IRIV==7.OR.IRIV==6)THEN
-  IF(IX==1)THEN
-    KNEXTX = NX
-  ELSE
-    KNEXTX = IX-1
-  ENDIF
-ELSEIF(IRIV==2.OR.IRIV==3.OR.IRIV==4)THEN
-  IF(IX==NX)THEN
-    KNEXTX = 1
-  ELSE
-    KNEXTX = IX+1
-  ENDIF
-ELSE
-    KNEXTX = 0
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:IRNXTX',1,ZHOOK_HANDLE)
-!
-END FUNCTION IRNXTX
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION IRNXTY(IY,NY,IRIV) RESULT(KNEXTY)
-!     ###############################################
-!
-IMPLICIT NONE
-!
-INTEGER, INTENT(IN)  :: IY,NY,IRIV 
-INTEGER              :: KNEXTY
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:IRNXTY',0,ZHOOK_HANDLE)
-IF(IRIV==7.OR.IRIV==3)THEN
-  KNEXTY = IY 
-ELSEIF(IRIV==6.OR.IRIV==5.OR.IRIV==4)THEN
-  KNEXTY = IY-1
-ELSEIF(IRIV==8.OR.IRIV==1.OR.IRIV==2)THEN
-  IF(IY==NY)THEN
-    KNEXTY = 0
-  ELSE
-    KNEXTY = IY+1
-  ENDIF
-ELSE
-  KNEXTY = 0
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:IRNXTY',1,ZHOOK_HANDLE)
-!
-END FUNCTION IRNXTY
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION GETLON(IX,NX) RESULT(PLON0)
-!     ###############################################
-!
-IMPLICIT NONE
-!
-INTEGER, INTENT(IN)  :: IX,NX 
-REAL                 :: PLON0
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GETLON',0,ZHOOK_HANDLE)
-PLON0 = 360.0 * (REAL(IX)-0.5) / REAL(NX) - 180.0
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GETLON',1,ZHOOK_HANDLE)
-!
-END FUNCTION GETLON
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION GETLAT(IY,NY) RESULT(PLAT0)
-!     ###############################################
-!
-IMPLICIT NONE
-!
-INTEGER, INTENT(IN)  :: IY,NY 
-REAL                 :: PLAT0
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GETLAT',0,ZHOOK_HANDLE)
-PLAT0 = 180.0 * (REAL(IY)-0.5) / REAL(NY) - 90.0
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GETLAT',1,ZHOOK_HANDLE)
-!
-END FUNCTION GETLAT
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION GIVELON(ZY) RESULT(PDLON)
-!     ###############################################
-!
-USE MODD_TRIP_PAR, ONLY : XPI_T, XRAD_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: ZY
-REAL              :: PDLON
-!
-REAL, PARAMETER   :: ZE2 = 0.006694470
-REAL :: ZR, ZY_RAD, ZRA
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVELON',0,ZHOOK_HANDLE)
-ZRA = XRAD_T/1000.0
-!
-ZY_RAD = ZY * XPI_T / 180.
-!
-PDLON = XPI_T / 180.0 * ZRA * COS(ZY_RAD) / SQRT(1.0 - ZE2 * SIN(ZY_RAD) * SIN(ZY_RAD))
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVELON',1,ZHOOK_HANDLE)
-!
-END FUNCTION GIVELON
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION GIVELAT(ZY) RESULT(PDLAT)
-!     ###############################################
-!
-USE MODD_TRIP_PAR, ONLY : XPI_T, XRAD_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: ZY
-REAL              :: PDLAT
-!
-REAL, PARAMETER   :: ZE2 = 0.006694470
-REAL :: ZR, ZY_RAD, ZRA
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVELAT',0,ZHOOK_HANDLE)
-ZRA = XRAD_T/1000.0
-!
-ZY_RAD = ZY * XPI_T / 180.
-!
-PDLAT = XPI_T / 180.0 * ZRA * (1.0-ZE2) / SQRT( (1.0 - ZE2 * SIN(ZY_RAD) * SIN(ZY_RAD))**3. )
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVELAT',1,ZHOOK_HANDLE)
-!
-END FUNCTION GIVELAT
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION GIVERAD(ZY) RESULT(PRAD)
-!     ###############################################
-!
-USE MODD_TRIP_PAR, ONLY : XRAD_T, XPI_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: ZY
-REAL              :: PRAD
-!
-REAL, PARAMETER   :: ZE2 = 0.006694470
-REAL :: ZR, ZY_RAD, ZRN, ZRA
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVERAD',0,ZHOOK_HANDLE)
-ZRA = XRAD_T/1000.0
-!
-ZY_RAD = ZY * XPI_T / 180.
-!
-ZRN = ZRA / SQRT(1.0 - ZE2 *  SIN(ZY_RAD) * SIN(ZY_RAD) )
-!
-PRAD = ZRN * SQRT( 1.0 - ZE2 * SIN(ZY_RAD) + ZE2 * ZE2 * SIN(ZY_RAD) * SIN(ZY_RAD) )
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVERAD',1,ZHOOK_HANDLE)
-!
-END FUNCTION GIVERAD
-!
-!-------------------------------------------------------------------------------
-!
-!     ###############################################
-      FUNCTION GIVELEN(ZX,ZY,ZX_N,ZY_N) RESULT(PLEN0)
-!     ###############################################
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: ZX,ZY,ZX_N,ZY_N
-REAL              :: PLEN0
-!
-REAL :: ZLAT, ZDX, ZDY, ZRAD, ZDLON, ZDLAT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVELEN',0,ZHOOK_HANDLE)
-ZDLON = ABS(ZX-ZX_N)
-ZDLAT = ABS(ZY-ZY_N)
-!
-IF(ZDLON>=180.0)ZDLON = ABS(360.0 - ZDLON)
-!
-PLEN0 = 0.0
-!
-IF(ZX==ZX_N)THEN
-  ZLAT  = (ZY+ZY_N) / 2.0
-  PLEN0 = GIVELAT(ZLAT) * ZDLAT
-ELSEIF(ZY==ZY_N)THEN
-  ZLAT  = ZY
-  PLEN0 = GIVELON(ZLAT) * ZDLON
-ELSE
-  ZLAT  = (ZY+ZY_N) / 2.0
-  ZRAD  = GIVERAD(ZLAT)
-  ZDX   = GIVELON(ZLAT) * ZDLON / ZRAD
-  ZDY   = GIVELAT(ZLAT) * ZDLAT / ZRAD
-  PLEN0 = ACOS(COS(ZDX)*COS(ZDY)) * ZRAD
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:GIVELEN',1,ZHOOK_HANDLE)
-!
-END FUNCTION GIVELEN
-!
-!-------------------------------------------------------------------------------
-!
-!     ##############################################
-      FUNCTION FUNCVEL(PRC,PL,PW,PX,PSIN) RESULT(PY)
-!     ##############################################
-!
-USE MODD_TRIP_PAR, ONLY : XM_EXP, XRHOLW_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: PRC,PL,PW,PX,PSIN
-!
-REAL              :: PY
-REAL              :: ZHS,ZRADIUS,ZVEL
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:FUNCVEL',0,ZHOOK_HANDLE)
-ZHS=0.0
-IF(PRC>0.0)THEN
-   ZHS=PX/(XRHOLW_T*PL*PW)
-ENDIF
-!
-ZVEL=DIAGVEL(PRC,PL,PW,ZHS)
-!
-PY= PSIN-ZVEL*PX/PL
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:FUNCVEL',1,ZHOOK_HANDLE)
-!
-END FUNCTION FUNCVEL
-!
-!-------------------------------------------------------------------------------
-!
-!     ##############################################
-      FUNCTION DIAGVEL(PRC,PL,PW,PX) RESULT(PY)
-!     ##############################################
-!
-USE MODD_TRIP_n,   ONLY : XTRIP_TSTEP,XCVEL
-USE MODD_TRIP_PAR, ONLY : XM_EXP,XRHOLW_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: PRC,PL,PW,PX
-!
-REAL              :: PY
-REAL              :: ZRADIUS, ZVV
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:DIAGVEL',0,ZHOOK_HANDLE)
-!
-IF(PRC>0.0)THEN
-  ZRADIUS=PW*PX/(PW+2.0*PX)
-  ZVV=MIN(PRC*(ZRADIUS**XM_EXP),PL/XTRIP_TSTEP)
-  PY=MAX(0.1,ZVV)
-ELSE
-  PY=XCVEL
-ENDIF
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:DIAGVEL',1,ZHOOK_HANDLE)
-!
-END FUNCTION DIAGVEL
-!
-!-------------------------------------------------------------------------------
-!
-!     ##################################################################
-      FUNCTION FUNCFLOOD(PX,PF,PHF,PLF,PWF,PHC,PNF,PW,PL,PD,PFF) RESULT(PY)
-!     ##################################################################
-!
-USE MODD_TRIP_PAR, ONLY : XRHOLW_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: PX,PF,PHF,PHC,PNF,PLF,PWF,PW,PL,PD,PFF
-REAL              :: PY
-REAL              :: ZMEX,ZMDEF,ZHT,ZVIN,ZVOUT,ZHS
-REAL              :: ZQIN,ZQOUT,ZFL,ZHIN,ZHOUT,ZHLIM
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:FUNCFLOOD',0,ZHOOK_HANDLE)
-PY=0.0
-IF(PHC==0.0.OR.PD==1.0 .AND. LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:FUNCFLOOD',1,ZHOOK_HANDLE)
-IF(PHC==0.0.OR.PD==1.0)RETURN
-!
-ZHS=PX/(XRHOLW_T*PL*PW)
-!
-ZFL=MAX(1.E-3,PLF)
-!
-! * water mass exchanged
-!
-ZHIN =MAX(0.0,ZHS-PHC-PHF)
-ZHOUT=MAX(0.0,PHF+PHC-ZHS)
-!
-ZMEX =ZFL*ZHIN *PW*XRHOLW_T 
-ZMDEF=ZFL*ZHOUT*PW*XRHOLW_T
-!
-ZMDEF=MIN(ZMDEF,PF)
-!
-! * water velocity
-!
- CALL VELFLOOD(ZHS,PFF,PHF,PLF,PWF,PHC,PNF,PW,PD,ZVIN,ZVOUT)
-!
-! * inflow or outflow water flux
-!
-ZQIN =ZVIN *ZMEX /(PW+PWF)
-ZQOUT=ZVOUT*ZMDEF/(PW+PWF)
-!
-! * total water flux
-!
-PY=ZQIN-ZQOUT
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:FUNCFLOOD',1,ZHOOK_HANDLE)
-!
-END FUNCTION FUNCFLOOD
-!
-!-------------------------------------------------------------------------------
-!
-!     ##############################################
-      SUBROUTINE VELFLOOD(PHS,PFF,PHF,PLF,PWF,PHC, &
-                            PNF,PW,PD,PVIN,PVOUT )  
-!     ##############################################
-!
-USE MODD_TRIP_n,   ONLY : XTRIP_TSTEP
-USE MODD_TRIP_PAR, ONLY : XM_EXP
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: PHS,PHF,PLF,PWF,PHC,PNF,PW,PD,PFF
-REAL, INTENT(OUT) :: PVIN,PVOUT
-!
-REAL              :: ZSLOPE_IN,ZSLOPE_OUT,ZFL, &
-                       ZRADIN,ZRADOUT,ZHEX  
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:VELFLOOD',0,ZHOOK_HANDLE)
-PVIN =0.0
-PVOUT=0.0
-!
-IF(PHC==0.0.OR.PD==1.0 .AND. LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:VELFLOOD',1,ZHOOK_HANDLE)
-IF(PHC==0.0.OR.PD==1.0)RETURN
-!
-ZFL=MAX(1.E-3,PLF)
-!
-! * water slope
-!
-ZSLOPE_IN =2.0*MAX(0.0,PHS-PHC-PHF)/(PW+PWF)
-ZSLOPE_OUT=2.0*MAX(0.0,PHF+PHC-PHS)/(PW+PWF)
-!
-! * manning velocity
-!
-ZHEX =MAX(0.0,PHS-PHC)
-!
-ZRADIN  = ZHEX*ZFL/(ZFL+2.0*ZHEX)
-ZRADOUT = PHF *ZFL/(ZFL+2.0*PHF)
-!
-IF(PFF<1.0)THEN
-   PVIN =(ZRADIN **XM_EXP)*SQRT(ZSLOPE_IN )/PNF
-ENDIF
-!
-PVOUT=(ZRADOUT**XM_EXP)*SQRT(ZSLOPE_OUT)/PNF
-!
-IF(PVIN >0.0)PVIN =MAX(0.001,PVIN)
-IF(PVOUT>0.0)PVOUT=MAX(0.001,PVOUT)
-!
-PVIN =MIN(PVIN, (PW+PWF)/XTRIP_TSTEP)
-PVOUT=MIN(PVOUT,(PW+PWF)/XTRIP_TSTEP)
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:VELFLOOD',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE VELFLOOD
-!
-!-------------------------------------------------------------------------------
-!
-!     ###########################################################
-      FUNCTION DELTA_FLOOD(PX,PF,PHF,PLF,PWF,PHC,PW,PL) RESULT(PY)
-!     ###########################################################
-!
-USE MODD_TRIP_PAR, ONLY : XRHOLW_T
-!
-IMPLICIT NONE
-!
-REAL, INTENT(IN)  :: PX,PF,PHF,PLF,PWF,PHC,PW,PL
-REAL              :: PY
-REAL              :: ZMDEF,ZHDEF,ZHS,ZFL
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:DELTA_FLOOD',0,ZHOOK_HANDLE)
-PY=0.0
-IF(PHC==0.0 .AND. LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:DELTA_FLOOD',1,ZHOOK_HANDLE)
-IF(PHC==0.0)RETURN
-!
-ZHS=PX/(XRHOLW_T*PL*PW)
-!
-ZFL=MAX(1.E-3,PLF)
-!
-IF(PHF==0.0)THEN
-  ZHDEF=0.0
-ELSE
-  ZHDEF=MAX(0.0,PHF+PHC-ZHS)
-ENDIF
-!
-ZMDEF=ZHDEF*XRHOLW_T*PW*ZFL
-IF(PF<ZMDEF)THEN
-  PY=1.0
-ELSE
-  PY=0.0
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_FUNCTION:DELTA_FLOOD',1,ZHOOK_HANDLE)
-!
-END FUNCTION DELTA_FLOOD
-!
-!-------------------------------------------------------------------------------
-!
-END MODULE MODE_TRIP_FUNCTION   
diff --git a/src/SURFEX/mode_trip_init.F90 b/src/SURFEX/mode_trip_init.F90
deleted file mode 100644
index 96b65e788387bdb029d7bbfc9e021bed5639d975..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_trip_init.F90
+++ /dev/null
@@ -1,331 +0,0 @@
-!###################
-MODULE MODE_TRIP_INIT
-!###################
-!
-!!****  *MODE_TRIP_INIT*
-!!
-!!    PURPOSE
-!!    -------
-!    
-!      The purpose of this routine is to store here all routines 
-!      used by INIT_TRIP.
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!       NONE          
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme       * Meteo France *
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    15/04/08
-!--------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-  INTERFACE SETNEXT
-      MODULE PROCEDURE SETNEXT
-  END INTERFACE
-!
-  INTERFACE SETAREA
-      MODULE PROCEDURE SETAREA
-  END INTERFACE
-!  
-  INTERFACE SETLEN
-      MODULE PROCEDURE SETLEN
-  END INTERFACE
-!  
-  INTERFACE SET_SUBGRID_FLOOD
-      MODULE PROCEDURE SET_SUBGRID_FLOOD
-  END INTERFACE
-!
-!-------------------------------------------------------------------------------
-!
-CONTAINS
-!-------------------------------------------------------------------------------
-!
-!     #############################################################
-      SUBROUTINE SETNEXT(KLON,KLAT,KGRCN,KNEXTX,KNEXTY,GMLON,GMLAT)
-!     #############################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     set the destination grid point
-!
-!     (i, j) ===>  (inextx(i,j), inexty(i,j))
-!     at river mouth : pointing itself
-!     at sea         : 0
-!
-USE MODE_TRIP_FUNCTION
-!
-IMPLICIT NONE
-!
-!*      declarations of arguments
-!
-INTEGER, INTENT(IN)                    :: KLON, KLAT
-!
-INTEGER, DIMENSION(:,:), INTENT(INOUT) :: KGRCN
-!
-INTEGER, DIMENSION(:,:), INTENT(OUT)   :: KNEXTX, KNEXTY
-!
-LOGICAL, INTENT(IN), OPTIONAL          :: GMLON,GMLAT
-!
-!*      declarations of local variables
-!
-INTEGER :: I, J, K
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SETNEXT',0,ZHOOK_HANDLE)
-IF(PRESENT(GMLON))THEN
-IF(GMLON)THEN
-  DO J=1,KLAT
-     IF(KGRCN(KLON,J)==2..OR.KGRCN(KLON,J)==3.OR.KGRCN(KLON,J)==4.)KGRCN(KLON,J)=9
-     IF(KGRCN(   1,J)==6..OR.KGRCN(   1,J)==7.OR.KGRCN(   1,J)==8.)KGRCN(   1,J)=9     
-  ENDDO
-ENDIF
-ENDIF
-!
-IF(PRESENT(GMLAT))THEN
-IF(GMLAT)THEN
-  DO I=1,KLON
-     IF(KGRCN(I,   1)==4..OR.KGRCN(I,   1)==5.OR.KGRCN(I,   1)==6.)KGRCN(I,   1)=9
-     IF(KGRCN(I,KLAT)==1..OR.KGRCN(I,KLAT)==2.OR.KGRCN(I,KLAT)==8.)KGRCN(I,KLAT)=9     
-  ENDDO
-ENDIF
-ENDIF
-!
-DO I=1,KLON
-   DO J=1,KLAT
-!
-      K=KGRCN(I,J)
-!
-      IF((K>=1).AND.(K<=8))THEN              
-        KNEXTX(I,J)=IRNXTX(I,KLON,K)
-        KNEXTY(I,J)=IRNXTY(J,KLAT,K)        
-      ELSEIF(K==9.OR.K==12)THEN     
-        KNEXTX(I,J)=I
-        KNEXTY(I,J)=J       
-      ELSE             
-        KNEXTX(I,J)=0
-        KNEXTY(I,J)=0       
-      ENDIF
-!
-   ENDDO
-ENDDO
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SETNEXT',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE SETNEXT
-!
-!-------------------------------------------------------------------------------
-!
-!     #################################################
-      SUBROUTINE SETAREA(KLAT,PLATMIN,PRES,PAREA)
-!     #################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     set area [m²] of each grid box
-!
-USE MODD_TRIP_PAR, ONLY : XPI_T, XRAD_T
-!
-IMPLICIT NONE
-!
-!*      declarations of arguments
-!
-INTEGER, INTENT(IN)                :: KLAT
-REAL, INTENT(IN)                   :: PRES
-REAL, INTENT(IN)                   :: PLATMIN
-!
-REAL, DIMENSION(:,:), INTENT(OUT)  :: PAREA
-!
-!*      declarations of local variables
-!
-REAL    :: ZDLAT, ZDLON, ZLAT
-!
-INTEGER :: I, J, K
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SETAREA',0,ZHOOK_HANDLE)
-ZDLON=PRES
-ZDLAT=PRES
-!
-ZLAT=PLATMIN-(PRES/2.)
-!
-DO J=1,KLAT
-!
-   ZLAT=ZLAT+PRES
-!
-   PAREA(:,J) = XRAD_T**2 * XPI_T/180.*(ZDLON)              &
-       * (SIN((ZLAT+ZDLAT/2.)*XPI_T/180.)-SIN((ZLAT-ZDLAT/2.)*XPI_T/180.))  
-!
-ENDDO
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SETAREA',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE SETAREA
-!
-!-------------------------------------------------------------------------------
-!
-!     #############################################################
-      SUBROUTINE SETLEN(KLON,KLAT,KGRCN,KNEXTX,KNEXTY,PRATMED,PLEN)
-!     #############################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     length from (i, j) to the destination in [m]
-!     river mouth : distance to 1 grid north
-!     sea         : 0.0
-!
-!
-USE MODE_TRIP_FUNCTION
-!
-IMPLICIT NONE
-!
-!*      declarations of arguments
-!
-INTEGER, INTENT(IN)                 :: KLON, KLAT
-REAL, INTENT(IN)                    :: PRATMED
-!
-INTEGER, DIMENSION(:,:), INTENT(IN) :: KGRCN
-!
-INTEGER, DIMENSION(:,:), INTENT(IN) :: KNEXTX, KNEXTY
-!
-REAL, DIMENSION(:,:), INTENT(OUT)   :: PLEN
-!
-!*      declarations of local variables
-!
-REAL    :: ZLON, ZLAT, ZLON_N, ZLAT_N
-!
-INTEGER :: I, J, K
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SETLEN',0,ZHOOK_HANDLE)
-ZLON=0.0
-ZLAT=0.0
-!
-DO J=1,KLAT
-!
-   ZLAT=GETLAT(KLAT-J+1,KLAT)
-!
-   DO I=1,KLON
-!
-      ZLON=GETLON(I,KLON)
-!
-      IF(KGRCN(I,J)>=1.AND.KGRCN(I,J)<=8)THEN
-        ZLON_N = GETLON(KNEXTX(I,J),KLON)
-        ZLAT_N = GETLAT(KLAT-KNEXTY(I,J)+1,KLAT)
-        PLEN(I,J) = GIVELEN(ZLON,ZLAT,ZLON_N,ZLAT_N) * 1000.0
-      ELSEIF(KGRCN(I,J)==9.OR.KGRCN(I,J)==12)THEN
-        ZLAT_N = GETLAT(KLAT-(J-1)+1,KLAT)
-        PLEN(I,J) = GIVELEN(ZLON,ZLAT,ZLON,ZLAT_N) * 1000.0
-      ELSE
-        PLEN(I,J) = 0.0
-      ENDIF
-!
-   ENDDO
-!   
-ENDDO
-!
-PLEN=PLEN*PRATMED
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SETLEN',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE SETLEN
-!
-!-------------------------------------------------------------------------------
-!
-!     ###################################################################
-      SUBROUTINE SET_SUBGRID_FLOOD(KLON,KLAT,PAREA,PTAB_H,PTAB_F,PTAB_VF)
-!     ###################################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     set area [m²] of each grid box
-!
-USE MODD_TRIP_PAR, ONLY : XTRIP_UNDEF, XRHOLW_T
-!
-IMPLICIT NONE
-!
-!*      declarations of arguments
-!
-INTEGER,                INTENT(IN)   :: KLON, KLAT
-REAL, DIMENSION(:,:  ), INTENT(IN)   :: PAREA
-REAL, DIMENSION(:,:,:), INTENT(IN)   :: PTAB_H
-!
-REAL, DIMENSION(:,:,:), INTENT(INOUT):: PTAB_F
-REAL, DIMENSION(:,:,:), INTENT(  OUT):: PTAB_VF
-!
-!*      declarations of local variables
-!
-REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZF,ZV
-!
-INTEGER :: I, J, K, IZDIM
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SET_SUBGRID_FLOOD',0,ZHOOK_HANDLE)
-IZDIM=SIZE(PTAB_H,3)
-!
-ALLOCATE(ZF(KLON,KLAT,IZDIM))
-ALLOCATE(ZV(KLON,KLAT,IZDIM))
-ZF = 0.0
-ZV = 0.0
-!
-DO J=1,KLAT
-   DO I=1,KLON
-!   
-      IF(ALL(PTAB_H(I,J,:)>XTRIP_UNDEF-10.0))THEN
-         ZV(I,J,:)=XTRIP_UNDEF
-         ZF(I,J,:)=XTRIP_UNDEF
-         CYCLE
-      ENDIF
-!      
-      DO K=2,IZDIM
-         IF(PTAB_H(I,J,K)<XTRIP_UNDEF-1.0)THEN
-            ZV(I,J,K)=ZV(I,J,K-1)+0.5*PTAB_H(I,J,K)*PTAB_F(I,J,K)*PAREA(I,J)*XRHOLW_T
-            ZF(I,J,K)=ZF(I,J,K-1)+PTAB_F(I,J,K)
-         ELSE
-            ZV(I,J,K:IZDIM)=XTRIP_UNDEF
-            ZF(I,J,K:IZDIM)=XTRIP_UNDEF
-            EXIT
-         ENDIF
-      ENDDO
-!
-   ENDDO
-ENDDO
-!
-WHERE(PTAB_H(:,:,:)<XTRIP_UNDEF-1.0)
-      PTAB_F (:,:,:)=ZF(:,:,:)
-      PTAB_VF(:,:,:)=ZV(:,:,:)
-ENDWHERE
-!
-DEALLOCATE(ZF)
-DEALLOCATE(ZV)
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_INIT:SET_SUBGRID_FLOOD',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE SET_SUBGRID_FLOOD
-!
-!-------------------------------------------------------------------------------
-!
-END MODULE MODE_TRIP_INIT      
diff --git a/src/SURFEX/mode_trip_netcdf.F90 b/src/SURFEX/mode_trip_netcdf.F90
deleted file mode 100644
index 76ccd7ae07f70832c05ed5e811db2e79baa4130b..0000000000000000000000000000000000000000
--- a/src/SURFEX/mode_trip_netcdf.F90
+++ /dev/null
@@ -1,596 +0,0 @@
-!######################
-MODULE MODE_TRIP_NETCDF
-!######################
-!
-!!****  *MODE_TRIP_NETCDF*
-!!
-!!    PURPOSE
-!!    -------
-!    
-!      The purpose of this routine is to store here all routines 
-!      used by TRIP for read/store variables in netcdf.
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!       NONE          
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme       * Meteo France *
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    25/04/08
-!--------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-  INTERFACE NCOPEN
-      MODULE PROCEDURE NCOPEN
-  END INTERFACE
-!
-  INTERFACE NCCLOSE
-      MODULE PROCEDURE NCCLOSE
-  END INTERFACE
-!
-  INTERFACE NCREAD
-      MODULE PROCEDURE NCREAD_X
-      MODULE PROCEDURE NCREAD_XY
-      MODULE PROCEDURE NCREAD_XYZ
-  END INTERFACE
-!
-  INTERFACE NCCREATE
-      MODULE PROCEDURE NCCREATE
-  END INTERFACE
-!
-  INTERFACE NCSTORE
-      MODULE PROCEDURE NCSTORE
-  END INTERFACE
-!
-!-------------------------------------------------------------------------------
-!
-CONTAINS
-!
-!-------------------------------------------------------------------------------
-!
-!     ######################################################
-      SUBROUTINE NCOPEN(KLUOUT,ORW,OVERBOSE,HFILENAME,KNCID)
-!     ######################################################
-!
-!!    PURPOSE
-!!    -------
-!
-!     Open a netcdf file name YFILENAME
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HFILENAME
-!
-LOGICAL, INTENT(IN)          :: ORW, OVERBOSE
-!
-INTEGER, INTENT(IN)          :: KLUOUT
-!
-INTEGER, INTENT(OUT)         :: KNCID
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YFNAME
-!
-INTEGER :: IC
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCOPEN',0,ZHOOK_HANDLE)
-YFNAME = HFILENAME(1:LEN_TRIM(HFILENAME))      
-!
-IF(ORW)THEN
-  IC = NF_OPEN(YFNAME,NF_WRITE,KNCID)
-ELSE
-  IC = NF_OPEN(YFNAME,NF_NOWRITE,KNCID)
-ENDIF
-!
-IF(IC/=NF_NOERR)THEN
-  WRITE(KLUOUT,*)'NCOPEN for TRIP : Error opening file ',HFILENAME(1:LEN_TRIM(HFILENAME))
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ELSEIF(OVERBOSE)THEN
-  WRITE(KLUOUT,*)'NCOPEN for TRIP : Opening file ',HFILENAME(1:LEN_TRIM(HFILENAME))
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCOPEN',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCOPEN
-!
-!-------------------------------------------------------------------------------
-!
-!     ###################################################
-      SUBROUTINE NCCLOSE(KLUOUT,OVERBOSE,HFILENAME,KNCID)
-!     ###################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Close a netcdf file
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HFILENAME
-!
-LOGICAL, INTENT(IN)          :: OVERBOSE
-INTEGER, INTENT(IN)          :: KLUOUT
-INTEGER, INTENT(IN)          :: KNCID
-!
-!*      declarations of local variables
-!
-INTEGER :: IC
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCCLOSE',0,ZHOOK_HANDLE)
-IC = NF_CLOSE(KNCID)
-IF(OVERBOSE)WRITE(KLUOUT,*)'NCCLOSE for TRIP : Close file ',HFILENAME(1:LEN_TRIM(HFILENAME))
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCCLOSE',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCCLOSE
-!
-!-------------------------------------------------------------------------------
-!
-!     #########################################################################
-      SUBROUTINE NCREAD_X(KLUOUT,KNCID,HVNAME,PVECT,OVERBOSE)
-!     #########################################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Read a XY variable in a netcdf file
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN)          :: KLUOUT
-INTEGER, INTENT(IN)          :: KNCID
-!
-LOGICAL, INTENT(IN)          :: OVERBOSE
-!
-REAL, DIMENSION(:), INTENT(OUT) :: PVECT
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-INTEGER :: IC, ID
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCREAD_X',0,ZHOOK_HANDLE)
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
-IC = NF_INQ_VARID(KNCID,YVNAME,ID)
-!
-IF(IC/=NF_NOERR)THEN
-  WRITE(KLUOUT,*)'NCREAD_X for TRIP : Error reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ELSE
-  IC=NF_GET_VAR_DOUBLE(KNCID,ID,PVECT)
-  IF(IC/=NF_NOERR)THEN
-    WRITE(KLUOUT,*)'NCREAD_X for TRIP : Error reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-    WRITE(KLUOUT,*)NF_STRERROR(IC)
-    STOP
-  ELSEIF(OVERBOSE)THEN
-    WRITE(KLUOUT,*)'NCREAD_X for TRIP : Success in reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  ENDIF
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCREAD_X',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCREAD_X
-!-------------------------------------------------------------------------------
-!
-!     #########################################################################
-      SUBROUTINE NCREAD_XY(KLUOUT,KNCID,HVNAME,PVECT,OVERBOSE)
-!     #########################################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Read a XY variable in a netcdf file
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN)          :: KLUOUT
-INTEGER, INTENT(IN)          :: KNCID
-!
-LOGICAL, INTENT(IN)          :: OVERBOSE
-!
-REAL, DIMENSION(:,:), INTENT(OUT) :: PVECT
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-INTEGER :: IC, ID
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCREAD_XY',0,ZHOOK_HANDLE)
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
-IC = NF_INQ_VARID(KNCID,YVNAME,ID)
-!
-IF(IC/=NF_NOERR)THEN
-  WRITE(KLUOUT,*)'NCREAD_XY for TRIP : Error reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ELSE
-  IC=NF_GET_VAR_DOUBLE(KNCID,ID,PVECT)
-  IF(IC/=NF_NOERR)THEN
-    WRITE(KLUOUT,*)'NCREAD_XY for TRIP : Error reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-    WRITE(KLUOUT,*)NF_STRERROR(IC)
-    STOP
-  ELSEIF(OVERBOSE)THEN
-    WRITE(KLUOUT,*)'NCREAD_XY for TRIP : Success in reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  ENDIF
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCREAD_XY',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCREAD_XY
-!-------------------------------------------------------------------------------
-!
-!     #########################################################################
-      SUBROUTINE NCREAD_XYZ(KLUOUT,KNCID,HVNAME,PVECT,OVERBOSE)
-!     #########################################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Read a XYZ variable in a netcdf file
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HVNAME
-!
-INTEGER, INTENT(IN)          :: KLUOUT
-INTEGER, INTENT(IN)          :: KNCID
-!
-LOGICAL, INTENT(IN)          :: OVERBOSE
-!
-REAL, DIMENSION(:,:,:), INTENT(OUT) :: PVECT
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YVNAME
-!
-INTEGER :: IC, ID
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCREAD_XYZ',0,ZHOOK_HANDLE)
-YVNAME = HVNAME(1:LEN_TRIM(HVNAME))
-!
-IC = NF_INQ_VARID(KNCID,YVNAME,ID)
-!
-IF(IC/=NF_NOERR)THEN
-  WRITE(KLUOUT,*)'NCREAD_XYZ for TRIP : Error reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ELSE
-  IC=NF_GET_VAR_DOUBLE(KNCID,ID,PVECT)
-  IF(IC/=NF_NOERR)THEN
-    WRITE(KLUOUT,*)'NCREAD_XYZ for TRIP : Error reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-    WRITE(KLUOUT,*)NF_STRERROR(IC)
-    STOP
-  ELSEIF(OVERBOSE)THEN
-    WRITE(KLUOUT,*)'NCREAD_XYZ for TRIP : Success in reading variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  ENDIF
-ENDIF
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCREAD_XYZ',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCREAD_XYZ
-!
-!-------------------------------------------------------------------------------
-!
-!     ########################################################
-      SUBROUTINE NCCREATE(KLUOUT,HFILENAME,HTITLE,HTIMEUNIT, &
-                            HVNAME,HVLNAME,HUNIT,PLON,PLAT,    &
-                            PMISSVAL,OVERBOSE,KNCID,OTIME,     &
-                            KZLEN,OVARZDIM)  
-!     ########################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Open a netcdf file name YFILENAME
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HFILENAME, HTITLE, HTIMEUNIT
-!
- CHARACTER(LEN=nf_max_name), DIMENSION(:), INTENT(IN) :: HVNAME, HVLNAME, HUNIT  
-!
-REAL, DIMENSION(:), INTENT(IN) :: PLON
-REAL, DIMENSION(:), INTENT(IN) :: PLAT
-!
-LOGICAL, INTENT(IN)  :: OVERBOSE
-!
-REAL,    INTENT(IN)  :: PMISSVAL
-!
-INTEGER, INTENT(IN)  :: KLUOUT
-!
-INTEGER, INTENT(OUT) :: KNCID
-!
-LOGICAL, INTENT(IN)  :: OTIME
-!
-INTEGER,               INTENT(IN), OPTIONAL  :: KZLEN
-LOGICAL, DIMENSION(:), INTENT(IN), OPTIONAL  :: OVARZDIM
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YWORK
-!
-REAL, DIMENSION(:), ALLOCATABLE :: ZWORK
-!
-INTEGER :: ILONDIM, ILATDIM, ILEVDIM, ITIMEDIM
-INTEGER :: ILON_ID, ILAT_ID, ILEV_ID, ITIME_ID, VAR_ID
-INTEGER :: IC, IWORK, INVAR
-INTEGER :: JVAR
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-!
-!Creation
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCCREATE',0,ZHOOK_HANDLE)
-YWORK = HFILENAME(1:LEN_TRIM(HFILENAME))
-IC = NF_CREATE(YWORK,NF_CLOBBER,KNCID)
-IF(IC/=NF_NOERR)THEN
-  WRITE(KLUOUT,*)'NCCREATE for TRIP : Error create file ',HFILENAME(1:LEN_TRIM(HFILENAME))
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ELSEIF(OVERBOSE)THEN
-    WRITE(KLUOUT,*)'NCCREATE for TRIP : Success in creating file ',HFILENAME(1:LEN_TRIM(HFILENAME))
-ENDIF
-!
-!Attributs
-YWORK = HTITLE(1:LEN_TRIM(HTITLE))
-IC = NF_PUT_ATT_TEXT(KNCID,NF_GLOBAL,'title',LEN_TRIM(YWORK),YWORK)
-YWORK = 'COARDS'
-IC = NF_PUT_ATT_TEXT(KNCID,NF_GLOBAL,'Conventions',LEN_TRIM(YWORK),YWORK)
-!
-!Dimensions
-IWORK = SIZE(PLON)
-IC = NF_DEF_DIM(KNCID,'longitude',IWORK,ILONDIM)
-IWORK = SIZE(PLAT)
-IC = NF_DEF_DIM(KNCID,'latitude',IWORK,ILATDIM)
-IF(PRESENT(KZLEN)) IC = NF_DEF_DIM(KNCID,'level',KZLEN,ILEVDIM)
-IF(OTIME) IC = NF_DEF_DIM(KNCID,'time',NF_UNLIMITED,ITIMEDIM)
-!
-!Variable attributs
-!
-IC = NF_DEF_VAR(KNCID,'longitude',NF_DOUBLE,1,ILONDIM,ILON_ID)
-IC = NF_DEF_VAR(KNCID,'latitude' ,NF_DOUBLE,1,ILATDIM,ILAT_ID)
-YWORK = 'degrees_east'
-IC = NF_PUT_ATT_TEXT(KNCID,ILON_ID,'units',LEN_TRIM(YWORK),YWORK)
-YWORK = 'degrees_north'
-IC = NF_PUT_ATT_TEXT(KNCID,ILAT_ID,'units',LEN_TRIM(YWORK),YWORK)
-IF(PRESENT(KZLEN))THEN
-  IC = NF_DEF_VAR(KNCID,'level',NF_DOUBLE,1,ILEVDIM,ILEV_ID)
-  YWORK = 'level'
-  IC = NF_PUT_ATT_TEXT(KNCID,ILEV_ID,'units',LEN_TRIM(YWORK),YWORK)
-ENDIF
-!
-IF(OTIME)THEN
-   YWORK = HTIMEUNIT(1:LEN_TRIM(HTIMEUNIT))
-   IC = NF_DEF_VAR(KNCID,'time',NF_INT,1,ITIMEDIM,ITIME_ID)
-   IC = NF_PUT_ATT_TEXT(KNCID,ITIME_ID,'units',LEN_TRIM(YWORK),YWORK)
-ENDIF
-!
-!Variables parametres
-!
-INVAR = SIZE(HVNAME)
-!
-DO JVAR=1,INVAR
-   YWORK = HVNAME(JVAR)(1:LEN_TRIM(HVNAME(JVAR)))
-   IF(PRESENT(KZLEN))THEN  
-     IF(OTIME)THEN
-       IF(OVARZDIM(JVAR))THEN
-         IC = NF_DEF_VAR(KNCID,YWORK,NF_DOUBLE,4,(/ILONDIM,ILATDIM,ILEVDIM,ITIMEDIM/),VAR_ID)
-       ELSE
-         IC = NF_DEF_VAR(KNCID,YWORK,NF_DOUBLE,3,(/ILONDIM,ILATDIM,ITIMEDIM/),VAR_ID)
-       ENDIF
-     ELSE
-       IF(OVARZDIM(JVAR))THEN
-         IC = NF_DEF_VAR(KNCID,YWORK,NF_DOUBLE,3,(/ILONDIM,ILATDIM,ILEVDIM/),VAR_ID)
-       ELSE
-         IC = NF_DEF_VAR(KNCID,YWORK,NF_DOUBLE,2,(/ILONDIM,ILATDIM/),VAR_ID)
-       ENDIF
-     ENDIF
-   ELSE
-     IF(OTIME)THEN
-       IC = NF_DEF_VAR(KNCID,YWORK,NF_DOUBLE,3,(/ILONDIM,ILATDIM,ITIMEDIM/),VAR_ID)
-     ELSE
-       IC = NF_DEF_VAR(KNCID,YWORK,NF_DOUBLE,2,(/ILONDIM,ILATDIM/),VAR_ID)
-     ENDIF
-   ENDIF
-   YWORK = HVLNAME(JVAR)(1:LEN_TRIM(HVLNAME(JVAR)))
-   IC = NF_PUT_ATT_TEXT(KNCID,VAR_ID,'long_name',LEN_TRIM(YWORK),YWORK)
-   YWORK = HUNIT(JVAR)(1:LEN_TRIM(HUNIT(JVAR)))
-   IC = NF_PUT_ATT_TEXT(KNCID,VAR_ID,'units',LEN_TRIM(YWORK),YWORK)
-   IC = NF_PUT_ATT_DOUBLE(KNCID,VAR_ID,'missing_value',NF_DOUBLE,1,PMISSVAL)
-ENDDO
-!
-IC = NF_ENDDEF(KNCID)
-!
-!Write dimensions
-IC = NF_PUT_VAR_DOUBLE(KNCID,ILON_ID,PLON)
-IC = NF_PUT_VAR_DOUBLE(KNCID,ILAT_ID,PLAT)
-IF(PRESENT(KZLEN))THEN
-  ALLOCATE(ZWORK(KZLEN))
-  DO JVAR = 1,KZLEN
-     ZWORK(JVAR)=JVAR
-  ENDDO
-  IC = NF_PUT_VAR_DOUBLE(KNCID,ILEV_ID,ZWORK)
-  DEALLOCATE(ZWORK)
-ENDIF
-!
-WRITE(KLUOUT,*)'NCCREATE ',HFILENAME(1:LEN_TRIM(HFILENAME)),' for TRIP OK !'
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCCREATE',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCCREATE
-!
-!-------------------------------------------------------------------------------
-!
-!     ################################################
-      SUBROUTINE NCSTORE(KLUOUT,KNCID,HVNAME,PWRITE, &
-                           OVERBOSE,KTIMENUM,KTIMEVAL, &
-                           KLEVEL,OVARZDIM)  
-!     ################################################
-!
-!!    PURPOSE
-!!    -------
-!    
-!     Write in a netcdf file with illimited time if this this the case
-!
-IMPLICIT NONE
-!
-include 'netcdf.inc'
-!
-!*      declarations of arguments
-!
- CHARACTER(LEN=nf_max_name), INTENT(IN) :: HVNAME  
-!
-REAL, DIMENSION(:,:), INTENT(IN) :: PWRITE
-!
-INTEGER, INTENT(IN)           :: KLUOUT, KNCID
-!
-LOGICAL, INTENT(IN)           :: OVERBOSE
-!
-INTEGER, INTENT(IN), OPTIONAL :: KTIMENUM
-INTEGER, INTENT(IN), OPTIONAL :: KTIMEVAL
-
-INTEGER, INTENT(IN), OPTIONAL :: KLEVEL
-LOGICAL, INTENT(IN), OPTIONAL :: OVARZDIM
-!
-!*      declarations of local variables
-!
- CHARACTER(LEN=nf_max_name) :: YWORK
-!
-INTEGER, DIMENSION(4) :: ISTART, ICOUNT
-!
-INTEGER :: IUNLIMID, ITIMEID, ILENGHT, INDIM
-INTEGER :: IC, IVAR_ID
-REAL    :: ZWORK
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!*      procedure
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCSTORE',0,ZHOOK_HANDLE)
-IF(PRESENT(KLEVEL).AND..NOT.PRESENT(OVARZDIM))THEN
-  WRITE(KLUOUT,*)'NCSTORE for TRIP : Error writing variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  WRITE(KLUOUT,*)'ILEVEL present but not LVARZDIM'
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ENDIF       
-!
-IF(PRESENT(KTIMENUM).AND.PRESENT(KTIMEVAL))THEN
-  IC = NF_INQ_UNLIMDIM(KNCID,IUNLIMID)
-  IF(IUNLIMID/=-1)THEN
-    IC = NF_INQ_DIMLEN(KNCID,IUNLIMID,ILENGHT)
-    IF(KTIMENUM/=ILENGHT)THEN
-      IC = NF_INQ_VARID(KNCID,'time',ITIMEID)
-      ZWORK = KTIMEVAL
-      IC = NF_PUT_VAR1_DOUBLE(KNCID,ITIMEID,(/KTIMENUM/),ZWORK)
-      IF(OVERBOSE)THEN
-        WRITE(KLUOUT,*)'NCSTORE : re-writing of time variable number=',&
-                          KTIMENUM,' and value=',KTIMEVAL  
-      ENDIF
-    ENDIF
-  ENDIF
-ENDIF
-!
-YWORK = HVNAME(1:LEN_TRIM(HVNAME))
-!
-IC = NF_INQ_VARID(KNCID,YWORK,IVAR_ID)
-IC = NF_INQ_VARNDIMS(KNCID,IVAR_ID,INDIM)
-!
-ICOUNT(1) = SIZE(PWRITE,1)
-ICOUNT(2) = SIZE(PWRITE,2)
-ICOUNT(3) = 1
-ICOUNT(4) = 1
-!  
-ISTART(1) = 1
-ISTART(2) = 1
-!
-IF(PRESENT(KLEVEL).AND.OVARZDIM)THEN
-  ISTART(3) = KLEVEL
-  IF(PRESENT(KTIMENUM).AND.PRESENT(KTIMEVAL))THEN
-    ISTART(4) = KTIMENUM
-    IC = NF_PUT_VARA_DOUBLE(KNCID,IVAR_ID,ISTART(1:4),ICOUNT(1:4),PWRITE)
-  ELSE
-    IC = NF_PUT_VARA_DOUBLE(KNCID,IVAR_ID,ISTART(1:3),ICOUNT(1:3),PWRITE)
-  ENDIF 
-ELSE
-  IF(PRESENT(KTIMENUM).AND.PRESENT(KTIMEVAL))THEN
-    ISTART(3) = KTIMENUM
-    IC = NF_PUT_VARA_DOUBLE(KNCID,IVAR_ID,ISTART(1:3),ICOUNT(1:3),PWRITE)
-  ELSE
-    IC = NF_PUT_VARA_DOUBLE(KNCID,IVAR_ID,ISTART(1:2),ICOUNT(1:2),PWRITE)
-  ENDIF          
-ENDIF
-!
-IF(IC/=NF_NOERR)THEN
-  WRITE(KLUOUT,*)'NCSTORE for TRIP : Error writing variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  WRITE(KLUOUT,*)NF_STRERROR(IC)
-  STOP
-ELSEIF(OVERBOSE)THEN
-  WRITE(KLUOUT,*)'NCSTORE for TRIP : Success in writing variable ',HVNAME(1:LEN_TRIM(HVNAME))
-  IF(PRESENT(KLEVEL))WRITE(KLUOUT,*)'                   level: ',KLEVEL
-ENDIF
-!
-IF (LHOOK) CALL DR_HOOK('MODE_TRIP_NETCDF:NCSTORE',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE NCSTORE
-!
-!-------------------------------------------------------------------------------
-!
-END MODULE MODE_TRIP_NETCDF
diff --git a/src/SURFEX/modn_tripn.F90 b/src/SURFEX/modn_tripn.F90
deleted file mode 100644
index f375d6e1abc149a93b3b26adaeebe4923d3075cd..0000000000000000000000000000000000000000
--- a/src/SURFEX/modn_tripn.F90
+++ /dev/null
@@ -1,111 +0,0 @@
-!##################
-MODULE MODN_TRIP_n
-!##################
-!
-!!****  *MODN_TRIP_n* - declaration of namelist NAM_TRIP
-!!
-!!    PURPOSE
-!!    -------
-!       The purpose of this module is to specify  the namelist NAM_TRIP
-!     which concern the river routing model configuration configuration.
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!       
-!!    AUTHOR
-!!    ------
-!!	B. Decharme    *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2008                    
-!-------------------------------------------------------------------------------
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-USE MODD_TRIP_n, ONLY:                         &
-           CVIT_n => CVIT,                       &
-           CGROUNDW_n => CGROUNDW,               &
-           LFLOODT_n => LFLOODT,                 &
-           LTRIP_DIAG_MISC_n => LTRIP_DIAG_MISC, &
-           LDIAG_CPL_n => LDIAG_CPL,             &
-           LNCPRINT_n => LNCPRINT,               &
-           LPRINT_TRIP_n => LPRINT_TRIP,         &
-           XDATA_TAUG_n => XDATA_TAUG,           &
-           XCVEL_n => XCVEL,                     &
-           XRATMED_n => XRATMED,                 &
-           XTRIP_TSTEP_n => XTRIP_TSTEP,         &
-           XTSTEP_COUPLING_n => XTSTEP_COUPLING  
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
- CHARACTER(LEN=3)  :: CVIT
- CHARACTER(LEN=3)  :: CGROUNDW
-LOGICAL  :: LFLOODT
-LOGICAL  :: LTRIP_DIAG_MISC
-LOGICAL  :: LDIAG_CPL
-LOGICAL  :: LNCPRINT
-LOGICAL  :: LPRINT_TRIP
-REAL     :: XTSTEP_COUPLING
-REAL     :: XDATA_TAUG
-REAL     :: XCVEL
-REAL     :: XRATMED
-REAL     :: XTRIP_TSTEP
-!
-NAMELIST/NAM_TRIPn/CVIT,CGROUNDW,LFLOODT,LTRIP_DIAG_MISC,LDIAG_CPL, &
-                     LNCPRINT,LPRINT_TRIP,XTSTEP_COUPLING,XTRIP_TSTEP,&
-                     XDATA_TAUG,XRATMED,XCVEL  
-!
-CONTAINS
-!
-SUBROUTINE INIT_NAM_TRIPn
-
-  REAL(KIND=JPRB) :: ZHOOK_HANDLE
-
-  IF (LHOOK) CALL DR_HOOK('MODN_TRIP_N:INIT_NAM_TRIPN',0,ZHOOK_HANDLE)
-  CVIT             = CVIT_n
-  CGROUNDW        = CGROUNDW_n
-  LFLOODT         = LFLOODT_n
-  LTRIP_DIAG_MISC = LTRIP_DIAG_MISC_n
-  LDIAG_CPL       = LDIAG_CPL_n
-  LNCPRINT        = LNCPRINT_n
-  LPRINT_TRIP     = LPRINT_TRIP_n
-  XDATA_TAUG      = XDATA_TAUG_n
-  XCVEL           = XCVEL_n
-  XRATMED         = XRATMED_n
-  XTRIP_TSTEP     = XTRIP_TSTEP_n
-  XTSTEP_COUPLING = XTSTEP_COUPLING_n
-IF (LHOOK) CALL DR_HOOK('MODN_TRIP_N:INIT_NAM_TRIPN',1,ZHOOK_HANDLE)
-END SUBROUTINE INIT_NAM_TRIPn
-!
-SUBROUTINE UPDATE_NAM_TRIPn
-
-  REAL(KIND=JPRB) :: ZHOOK_HANDLE
-
-  IF (LHOOK) CALL DR_HOOK('MODN_TRIP_N:UPDATE_NAM_TRIPN',0,ZHOOK_HANDLE)
-  CVIT_n            = CVIT
-  CGROUNDW_n        = CGROUNDW
-  LFLOODT_n         = LFLOODT
-  LTRIP_DIAG_MISC_n = LTRIP_DIAG_MISC
-  LDIAG_CPL_n       = LDIAG_CPL
-  LNCPRINT_n        = LNCPRINT
-  LPRINT_TRIP_n     = LPRINT_TRIP
-  XDATA_TAUG_n      = XDATA_TAUG
-  XCVEL_n           = XCVEL
-  XRATMED_n         = XRATMED
-  XTRIP_TSTEP_n     = XTRIP_TSTEP
-  XTSTEP_COUPLING_n = XTSTEP_COUPLING
-IF (LHOOK) CALL DR_HOOK('MODN_TRIP_N:UPDATE_NAM_TRIPN',1,ZHOOK_HANDLE)
-END SUBROUTINE UPDATE_NAM_TRIPn
-!
-END MODULE MODN_TRIP_n
diff --git a/src/SURFEX/prep_trip.F90 b/src/SURFEX/prep_trip.F90
deleted file mode 100644
index 47e07e7edf0e2129d1a0281f5b70e55dfaedcb14..0000000000000000000000000000000000000000
--- a/src/SURFEX/prep_trip.F90
+++ /dev/null
@@ -1,615 +0,0 @@
-!     #########
-      SUBROUTINE PREP_TRIP (HPROGRAM)
-!     ###############################
-!
-!!****  *PREP_TRIP*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Prepare TRIP variables and parameters.
-!     
-!!**  METHOD
-!!    ------
-!
-!     Direct calculation
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     (Météo-France)
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    27/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR
-USE MODD_TRIP_GRID_n
-USE MODD_TRIP_n,      ONLY : XSURF_STO, XGROUND_STO, XTAUG, XHC_BED, &
-                               XFLOOD_STO, XHFLOOD, XFFLOOD, XN,       &
-                               XSLOPEBED, XWIDTH, XTAB_F, XTAB_H,      &
-                               XTAB_VF, CGROUNDW, CVIT, LFLOODT,       &
-                               LDIAG_CPL, LNCPRINT,LPRINT_TRIP,        &
-                               XTSTEP_COUPLING, XTRIP_TSTEP,XLEN,      &
-                               LTRIP_DIAG_MISC, XDATA_TAUG,            &
-                               XN_FLOOD, XRATMED, XCVEL  
-!
-USE MODD_READ_NAMELIST,  ONLY : LNAM_READ
-!
-USE MODE_TRIP_INIT
-USE MODE_RW_TRIP
-!
-USE MODI_INIT_TRIP_PAR
-USE MODI_GET_LUOUT
-USE MODI_GET_GRID_CONF_TRIP_n
-!
-USE MODI_DEFAULT_TRIP
-USE MODI_READ_NAM_GRID_TRIP
-USE MODI_READ_TRIP_CONF_n
-USE MODI_INIT_PARAM_TRIP_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-USE MODI_INIT_RESTART_TRIP_n
-IMPLICIT NONE
-!
-!-------------------------------------------------------------------------------
-!
-!*      0.1    declarations of arguments
-!
- CHARACTER(LEN=6),      INTENT(IN) :: HPROGRAM
-!
-!-------------------------------------------------------------------------------
-!
-!*      0.2    declarations of local variables
-!
- CHARACTER(LEN=14), PARAMETER         :: YFILE_PARAM_1D  ='TRIP_PGD_1D.nc'
- CHARACTER(LEN=14), PARAMETER         :: YFILE_PARAM_HD  ='TRIP_PGD_HD.nc'
- CHARACTER(LEN=15), PARAMETER         :: YFILE_INIT_1D   ='TRIP_INIT_1D.nc'
- CHARACTER(LEN=15), PARAMETER         :: YFILE_INIT_HD   ='TRIP_INIT_HD.nc'
-!
- CHARACTER(LEN=13), PARAMETER         :: YFILE_PARAM     ='TRIP_PARAM.nc'
- CHARACTER(LEN=12), PARAMETER         :: YFILE_PREP      ='TRIP_PREP.nc'
-!
- CHARACTER(LEN=14)                    :: YFILE_READ
- CHARACTER(LEN=15)                    :: YFILE_READ_INIT
-!
- CHARACTER(LEN=18), PARAMETER         :: YFILE_FLOOD_1D  ='TRIP_SGFLOOD_1D.nc'
- CHARACTER(LEN=18), PARAMETER         :: YFILE_FLOOD_HD  ='TRIP_SGFLOOD_HD.nc'
- CHARACTER(LEN=18)                    :: YFILE_FLOOD_READ
-!
- CHARACTER(LEN=20)                    :: YVAR 
-!
-LOGICAL,DIMENSION(:,:),ALLOCATABLE   :: LMASK_NATURE
-!
-REAL,DIMENSION(:,:),ALLOCATABLE      :: ZSAND, ZCLAY, ZSILT, ZPERM
-REAL,DIMENSION(:,:),ALLOCATABLE      :: ZGRCN, ZSEQ, ZMASK, ZNUM_BAS, &
-                                          ZDR_AREA, ZELEV  
-!
-INTEGER,DIMENSION(:,:),ALLOCATABLE   :: IGRCN,INEXTX,INEXTY
-!
-REAL,DIMENSION(:,:),ALLOCATABLE      :: ZREAD
-REAL,DIMENSION(:,:,:),ALLOCATABLE    :: ZREAD3D
-REAL,DIMENSION(:),ALLOCATABLE        :: ZTAUG
-!
-INTEGER           :: ILUOUT         ! output listing logical unit
-!
-!
-REAL    :: ZLONMIN   ! minimum longitude (degrees)
-REAL    :: ZLONMAX   ! maximum longitude (degrees)
-REAL    :: ZLATMIN   ! minimum latitude  (degrees)
-REAL    :: ZLATMAX   ! maximum latitude  (degrees)
-REAL    :: ZGRID_RES ! 1° or 0.5° resolution
-INTEGER :: ILON      ! number of points in longitude
-INTEGER :: ILAT      ! number of points in latitude
-!
-INTEGER :: ILON_G, ILON_DEB, ILON_END
-INTEGER :: ILAT_G, ILAT_DEB, ILAT_END
-!
-INTEGER :: IWORK, IFLOOD, I, J, INI, ILATF
-!
-LOGICAL :: LMASKLON, LMASKLAT
-!
-!-------------------------------------------------------------------------------
-!Output attribut for netcdf diag file
-!-------------------------------------------------------------------------------
-!
- CHARACTER(LEN=50) :: YTITLE,YTIMEUNIT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!                    YTITLE    = Title of each output file
-!                    YTIMEUNIT = Time unit in each output file if present
-!
-!-------------------------------------------------------------------------------
-!Initilyse TRIP
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('PREP_TRIP',0,ZHOOK_HANDLE)
- CALL INIT_TRIP_PAR
-!
- CALL GET_LUOUT(HPROGRAM,ILUOUT)
-!
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'        PREP TRIP            '
-WRITE(ILUOUT,*)''
-!
-!-------------------------------------------------------------------------------
-!        
-IF (LNAM_READ) THEN
-!        
-! * default values for the TRIP configuration
-!
- CALL DEFAULT_TRIP(CGROUNDW,CVIT,LFLOODT,LDIAG_CPL,LTRIP_DIAG_MISC, &
-                    LNCPRINT,LPRINT_TRIP,XTSTEP_COUPLING,XTRIP_TSTEP,&
-                    XDATA_TAUG,XCVEL,XRATMED                         )  
-!
-ENDIF
-!
-! * TRIP general options
-!
- CALL READ_TRIP_CONF_n(HPROGRAM)
-!
-IF(LFLOODT)THEN
-  IF(CGROUNDW=='DEF') &
-      WRITE(ILUOUT,*)'! Attention, you use the flooding scheme without the groundwater scheme !!!'       
-  IF(CVIT /= 'VAR')THEN
-    WRITE(ILUOUT,*)'! You cannot use the flooding scheme without the variable velocity scheme !!!'
-    STOP
-  ENDIF
-ENDIF
-!
-IF(MOD(XTSTEP_COUPLING,XTRIP_TSTEP)/=0.)THEN
-  WRITE(ILUOUT,*)'! XTSTEP_COUPLING and XTRIP_TSTEP are not good !!!'     
-  WRITE(ILUOUT,*)'! MOD(XTSTEP_COUPLING,XTRIP_TSTEP) should be 0 !!!'     
-  STOP
-ENDIF
-!
-!-------------------------------------------------------------------------------
-! * Read TRIP grid configuration
-!-------------------------------------------------------------------------------
-!
- CALL READ_NAM_GRID_TRIP(HPROGRAM)
-!
- CALL GET_GRID_CONF_TRIP_n(ZLONMIN,ZLONMAX,ZLATMIN,ZLATMAX,ZGRID_RES,ILON,ILAT)
-!
-IF(ZGRID_RES==1.0)THEN
-!
-  WRITE(ILUOUT,*)'! 1° by 1° TRIP run !!!'   
-!
-  ILON_G = 360
-  ILAT_G = 180
-  ILATF  = 31
-  YFILE_READ = YFILE_PARAM_1D
-  YFILE_READ_INIT = YFILE_INIT_1D
-  YFILE_FLOOD_READ = YFILE_FLOOD_1D
-!
-ELSEIF(ZGRID_RES==0.5)THEN
-!
-  WRITE(ILUOUT,*)'! 0.5° by 0.5° TRIP run !!!'   
-!
-  ILON_G = 720
-  ILAT_G = 360
-  ILATF  = 61
-  YFILE_READ = YFILE_PARAM_HD
-  YFILE_READ_INIT = YFILE_INIT_HD
-  YFILE_FLOOD_READ = YFILE_FLOOD_HD
-!
-  IF(XRATMED==1.4)THEN
-     WRITE(ILUOUT,*)'! meandering ratio is the same than at 1° resolution   !!!'   
-     WRITE(ILUOUT,*)'! if you want another value change XRATMED in namelist !!!' 
-  ENDIF 
-!
-ELSE
-!
-  WRITE(ILUOUT,*)'! The resolution of the TRIP run is not good !!!'   
-  WRITE(ILUOUT,*)'           ! Should be 1° or 0.5° !!!           '  
-  STOP
-!  
-ENDIF
-!
-LMASKLON=.FALSE.
-IF(ZLONMIN/=-180..OR.ZLONMAX/=180.)LMASKLON=.TRUE.
-!
-LMASKLAT=.FALSE.
-IF(ZLATMIN/=-180..OR.ZLATMAX/=180.)LMASKLAT=.TRUE.
-!
-!-------------------------------------------------------------------------------
-!Allocate arguments
-!-------------------------------------------------------------------------------
-!
-ALLOCATE(ZREAD   (ILON_G,ILAT_G))
-!
-ALLOCATE(ZGRCN    (ILON,ILAT))       
-ALLOCATE(ZMASK    (ILON,ILAT))
-ALLOCATE(XLEN     (ILON,ILAT))
-ALLOCATE(XAREA    (ILON,ILAT))
-ALLOCATE(ZSEQ     (ILON,ILAT))   
-ALLOCATE(XSURF_STO(ILON,ILAT))
-ALLOCATE(ZNUM_BAS (ILON,ILAT))
-ALLOCATE(ZDR_AREA (ILON,ILAT))
-ALLOCATE(ZELEV    (ILON,ILAT))
-!
-IF(CGROUNDW/='DEF')THEN
-  ALLOCATE(XGROUND_STO(ILON,ILAT))      
-  ALLOCATE(XTAUG      (ILON,ILAT))
-ELSE
-  ALLOCATE(XGROUND_STO(0,0))      
-  ALLOCATE(XTAUG      (0,0))
-ENDIF
-!
-IF(LFLOODT)THEN
-  ALLOCATE(XHC_BED     (ILON,ILAT))
-  ALLOCATE(XN_FLOOD    (ILON,ILAT))
-  ALLOCATE(XFLOOD_STO  (ILON,ILAT))
-  ALLOCATE(XHFLOOD     (ILON,ILAT))
-  ALLOCATE(XFFLOOD     (ILON,ILAT))
-ELSE
-  ALLOCATE(XHC_BED   (0,0))
-  ALLOCATE(XN_FLOOD  (0,0))
-  ALLOCATE(XFLOOD_STO(0,0))
-  ALLOCATE(XHFLOOD   (0,0))
-  ALLOCATE(XFFLOOD   (0,0))
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-  ALLOCATE(XSLOPEBED(ILON,ILAT))      
-  ALLOCATE(XWIDTH   (ILON,ILAT))      
-  ALLOCATE(XN       (ILON,ILAT))
-ELSE
-  ALLOCATE(XSLOPEBED(0,0))      
-  ALLOCATE(XWIDTH   (0,0))      
-  ALLOCATE(XN       (0,0))
-ENDIF
-!
-!-------------------------------------------------------------------------------
-! * Create param and init file
-!-------------------------------------------------------------------------------
-!
-YTITLE    = 'TRIP parameters for a run'
-YTIMEUNIT = '-'
- CALL INIT_PARAM_TRIP_n(ILUOUT,YFILE_PARAM,ILON,ILAT,YTITLE,YTIMEUNIT)
-!
-YTITLE   ='TRIP prep historical variable'
-YTIMEUNIT='-'
- CALL INIT_RESTART_TRIP_n(ILUOUT,YFILE_PREP,ILON,ILAT,YTITLE,YTIMEUNIT,.FALSE.)
-!
-!-------------------------------------------------------------------------------
-! * Compute the mask of the run
-!-------------------------------------------------------------------------------        
-!
-ILON_DEB = INT(ZLONMIN/ZGRID_RES) + ILON_G/2 + 1
-ILON_END = INT(ZLONMAX/ZGRID_RES) + ILON_G/2  
-ILAT_DEB = INT(ZLATMIN/ZGRID_RES) + ILAT_G/2 + 1
-ILAT_END = INT(ZLATMAX/ZGRID_RES) + ILAT_G/2
-!
-!-------------------------------------------------------------------------------
-! * Compute and Read TRIP parameter
-!-------------------------------------------------------------------------------        
-!
-ALLOCATE(IGRCN (ILON_G,ILAT_G))
-ALLOCATE(INEXTX(ILON_G,ILAT_G))
-ALLOCATE(INEXTY(ILON_G,ILAT_G))
-!
-! * Basin ID
-!
-YVAR ='NUM_BAS'
- CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-ZNUM_BAS = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-! * Drainage Area
-!
-YVAR ='DR_AREA'
- CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-ZDR_AREA = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-! * Elevation
-!
-YVAR ='ELEV'
- CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-ZELEV = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-! * Flow direction
-!
-YVAR ='FLOWDIR'
- CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-ZGRCN=ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-WHERE(ZREAD==XTRIP_UNDEF)ZREAD=0.0
-IGRCN = INT(ZREAD)
-!
-ZMASK=0.0
-WHERE(ZGRCN/=XTRIP_UNDEF)ZMASK=1.0
-!        
-! * Set the distance between grids with the meandering ratio
-!
- CALL SETNEXT(ILON_G,ILAT_G,IGRCN,INEXTX,INEXTY)
-!
-YVAR ='RIVLEN'
- CALL SETLEN(ILON_G,ILAT_G,IGRCN,INEXTX,INEXTY,XRATMED,ZREAD)
-XLEN = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-DEALLOCATE(IGRCN )
-DEALLOCATE(INEXTX)
-DEALLOCATE(INEXTY)
-!
-! * Domain test
-!
-ALLOCATE(IGRCN (ILON,ILAT))
-ALLOCATE(INEXTX(ILON,ILAT))
-ALLOCATE(INEXTY(ILON,ILAT))
-!
-WHERE(ZGRCN(:,:)<XTRIP_UNDEF)
-      IGRCN(:,:)=INT(ZGRCN(:,:))
-ELSEWHERE
-      IGRCN(:,:)=0
-ENDWHERE
-!
- CALL SETNEXT(ILON,ILAT,IGRCN(:,:),INEXTX(:,:),INEXTY(:,:),LMASKLON,LMASKLAT)
-!
-! * Store some param
-!
-YVAR ='FLOWDIR'
-ZGRCN(:,:)=REAL(IGRCN(:,:))
- CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,ZGRCN)
-YVAR ='RIVLEN'
- CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XLEN)
-YVAR ='NUM_BAS'
- CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,ZNUM_BAS)
-YVAR ='DR_AREA'
- CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,ZDR_AREA)
-YVAR ='ELEV'
- CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,ZELEV)
-!
-DEALLOCATE(IGRCN )
-DEALLOCATE(INEXTX)
-DEALLOCATE(INEXTY)
-DEALLOCATE(ZDR_AREA)
-DEALLOCATE(ZELEV)
-DEALLOCATE(ZNUM_BAS)
-!
-! * River sequence values read
-!
-YVAR ='RIVSEQ'
- CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-ZSEQ = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
- CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,ZSEQ)
-!
-! * Set area size
-!
- CALL SETAREA(ILAT,ZLATMIN,ZGRID_RES,XAREA)
-!
-! * Initial river storage
-!
-YVAR ='SURF_STO'
- CALL READ_TRIP(ILUOUT,YFILE_READ_INIT,YVAR,ZREAD)
-XSURF_STO = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!        
- CALL WRITE_TRIP(ILUOUT,YFILE_PREP,YVAR,ZMASK,XSURF_STO)
-!
-! * Calculate the groundwater transfert time
-!
-IF(CGROUNDW=='VAR')THEN
-!
-  ALLOCATE(ZSAND (ILON,ILAT))
-  ALLOCATE(ZCLAY (ILON,ILAT))
-  ALLOCATE(ZSILT (ILON,ILAT))
-  ALLOCATE(ZPERM (ILON,ILAT))
-  ALLOCATE(ZTAUG (3))
-!
-  YVAR ='CLAY'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  ZCLAY = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-  YVAR ='SAND'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  ZSAND = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-  ZTAUG(1)=XDATA_TAUG
-  ZTAUG(2)=1.5*XDATA_TAUG
-  ZTAUG(3)=2.0*XDATA_TAUG
-!
-  WHERE(ZCLAY(:,:)>=0.0.AND.ZSAND(:,:)>=0.0.AND.ZCLAY(:,:)/=XTRIP_UNDEF)
-        ZSILT(:,:)=1.0-(ZCLAY(:,:)+ZSAND(:,:))
-        XTAUG(:,:)=ZTAUG(2)
-        WHERE(ZCLAY(:,:)>ZSILT(:,:).AND.ZCLAY(:,:)>ZSAND(:,:))XTAUG(:,:)=ZTAUG(3)
-        WHERE(ZSAND(:,:)>ZCLAY(:,:).AND.ZSAND(:,:)>ZSILT(:,:))XTAUG(:,:)=ZTAUG(1)
-  ELSEWHERE
-        XTAUG(:,:)=XTRIP_UNDEF
-  ENDWHERE
-!
-  YVAR ='PERM'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  ZPERM = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!         
-  WHERE(ZPERM(:,:)==1)XTAUG(:,:)=0.0
-!          
-  YVAR ='TAUG'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XTAUG)
-!
-  DEALLOCATE(ZSAND)
-  DEALLOCATE(ZCLAY)
-  DEALLOCATE(ZSILT)
-  DEALLOCATE(ZTAUG)
-  DEALLOCATE(ZPERM)
-!
-ELSEIF(CGROUNDW=='CST')THEN
-!          
-  ALLOCATE(ZPERM (ILON,ILAT))
-!
-  YVAR ='PERM'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  ZPERM = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!  
-  XTAUG(:,:)=XDATA_TAUG
-  WHERE(ZPERM(:,:)==1)XTAUG(:,:)=0.0
-!          
-  YVAR ='TAUG'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XTAUG)
-!  
-  DEALLOCATE(ZPERM)
-!
-ENDIF
-!
-! * Groundwater water storage
-!
-IF(CGROUNDW/='DEF')THEN
-!
-  YVAR ='GROUND_STO'
-  CALL READ_TRIP(ILUOUT,YFILE_READ_INIT,YVAR,ZREAD)
-  XGROUND_STO = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-  CALL WRITE_TRIP(ILUOUT,YFILE_PREP,YVAR,ZMASK,XGROUND_STO)          
-!
-ENDIF
-!
-! * Variable velocity scheme parameters
-!
-IF(CVIT == 'VAR')THEN
-!
-  YVAR ='N_RIV'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  XN = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XN)
-!
-  YVAR ='WIDTHRIV'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  XWIDTH = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XWIDTH)
-!
-  YVAR ='SLOPERIV'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  XSLOPEBED = MAX(ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END),1.E-5)
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XSLOPEBED)  
-!  
-ENDIF 
-!
-! * Calculate floodplains parameters
-!
-IF(LFLOODT)THEN
-!
-  YVAR ='RIVDEPTH'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  XHC_BED = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-  WHERE(XHC_BED(:,:)==0.0)XHC_BED(:,:)=XTRIP_UNDEF
-!
-  YVAR ='NFLOOD'
-  CALL READ_TRIP(ILUOUT,YFILE_READ,YVAR,ZREAD)
-  XN_FLOOD = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-!
-  ALLOCATE(ZREAD3D(ILON_G,ILAT_G,NTRIPTAB))
-!  
-  ALLOCATE(XTAB_F (ILON,ILAT,NTRIPTAB))      
-  ALLOCATE(XTAB_H (ILON,ILAT,NTRIPTAB))      
-  ALLOCATE(XTAB_VF(ILON,ILAT,NTRIPTAB))  
-!  
-  XTAB_F (:,:,:)= XTRIP_UNDEF
-  XTAB_H (:,:,:)= XTRIP_UNDEF
-  XTAB_VF(:,:,:)= XTRIP_UNDEF
-!
-  YVAR ='TABF'
-  CALL READ_TRIP(ILUOUT,YFILE_FLOOD_READ,YVAR,ZREAD3D(:,ILATF:ILAT_G,:))
-  XTAB_F = ZREAD3D(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END,:)
-  YVAR ='TABH'
-  CALL READ_TRIP(ILUOUT,YFILE_FLOOD_READ,YVAR,ZREAD3D(:,ILATF:ILAT_G,:))
-  XTAB_H = ZREAD3D(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END,:)
-!
-  CALL SET_SUBGRID_FLOOD(ILON,ILAT,XAREA,XTAB_H,XTAB_F,XTAB_VF)
-!
-  DEALLOCATE(ZREAD3D)
-!
-  IF(.NOT.ASSOCIATED(GMASK))THEN
-    ALLOCATE(GMASK(ILON,ILAT))
-    GMASK(:,:)=.TRUE.
-    WHERE(ZMASK(:,:)==0.0)GMASK(:,:)=.FALSE.
-  ENDIF
-  DO I=1,ILON
-     DO J=1,ILAT
-        IF(GMASK(I,J))THEN
-          IF(COUNT(XTAB_H(I,J,:)<XTRIP_UNDEF-1.0)<2)THEN
-            XTAB_F (I,J,:)= XTRIP_UNDEF
-            XTAB_H (I,J,:)= XTRIP_UNDEF
-            XTAB_VF(I,J,:)= XTRIP_UNDEF
-            XHC_BED(I,J)  = XTRIP_UNDEF
-          ENDIF
-          IF(XTAB_F (I,J,2)>=0.98)THEN                  
-            XTAB_F (I,J,:)= XTRIP_UNDEF
-            XTAB_H (I,J,:)= XTRIP_UNDEF
-            XTAB_VF(I,J,:)= XTRIP_UNDEF
-            XHC_BED(I,J)  = XTRIP_UNDEF
-          ENDIF
-        ENDIF
-        IF(XHC_BED(I,J)==XTRIP_UNDEF)THEN
-          XTAB_F  (I,J,:) = XTRIP_UNDEF
-          XTAB_H  (I,J,:) = XTRIP_UNDEF
-          XTAB_VF (I,J,:) = XTRIP_UNDEF
-          XN_FLOOD(I,J)  = XTRIP_UNDEF
-        ENDIF
-     ENDDO
-  ENDDO
-!
-  WHERE(XTAB_H(:,:,1)==XTRIP_UNDEF)
-        XHC_BED (:,:)=XTRIP_UNDEF
-        XN_FLOOD(:,:)=XTRIP_UNDEF
-  ENDWHERE
-!
-  YVAR ='RIVDEPTH'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XHC_BED)
-!  
-  YVAR ='NFLOOD'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XN_FLOOD)
-!
-  YVAR ='TABF'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XTAB_F)
-  YVAR ='TABH'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XTAB_H)  
-  YVAR ='TABVF'
-  CALL WRITE_TRIP(ILUOUT,YFILE_PARAM,YVAR,ZMASK,XTAB_VF)
-!
-! Floodplains initial variables
-!
-  YVAR ='FLOOD_STO'
-  CALL READ_TRIP(ILUOUT,YFILE_READ_INIT,YVAR,ZREAD)
-  XFLOOD_STO = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-  CALL WRITE_TRIP(ILUOUT,YFILE_PREP,YVAR,ZMASK,XFLOOD_STO)          
-!
-  YVAR ='FFLOOD_T'
-  CALL READ_TRIP(ILUOUT,YFILE_READ_INIT,YVAR,ZREAD)
-  XFFLOOD = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-  CALL WRITE_TRIP(ILUOUT,YFILE_PREP,YVAR,ZMASK,XFFLOOD)          
-!
-  YVAR ='HFLOOD_T'
-  CALL READ_TRIP(ILUOUT,YFILE_READ_INIT,YVAR,ZREAD)
-  XHFLOOD = ZREAD(ILON_DEB:ILON_END,ILAT_DEB:ILAT_END)
-  CALL WRITE_TRIP(ILUOUT,YFILE_PREP,YVAR,ZMASK,XHFLOOD)          
-!  
-ENDIF
-!
-DEALLOCATE(ZREAD)
-!
-!-------------------------------------------------------------------------------
-! * END
-!-------------------------------------------------------------------------------
-!
-WRITE(ILUOUT,*)''
-WRITE(ILUOUT,*)'        END PREP TRIP            '
-WRITE(ILUOUT,*)''
-IF (LHOOK) CALL DR_HOOK('PREP_TRIP',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-END SUBROUTINE PREP_TRIP
diff --git a/src/SURFEX/read_nam_grid_trip.F90 b/src/SURFEX/read_nam_grid_trip.F90
deleted file mode 100644
index 535cc0b8cd3612ecf159ceb6c45291ee670fda0f..0000000000000000000000000000000000000000
--- a/src/SURFEX/read_nam_grid_trip.F90
+++ /dev/null
@@ -1,151 +0,0 @@
-!     #########
-SUBROUTINE READ_NAM_GRID_TRIP(HPROGRAM)
-!######################################
-!
-!!****  *READ_NAM_GRID_TRIP* - routine to read in namelist the TRIP horizontal grid
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!**  METHOD
-!!    ------
-!!
-!!    EXTERNAL
-!!    --------
-!!
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2008 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-USE MODE_POS_SURF
-USE MODD_TRIP_GRID_n, ONLY : XGRID_TRIP
-!
-USE MODI_OPEN_NAMELIST
-USE MODI_CLOSE_NAMELIST
-USE MODI_GET_LUOUT
-!
-USE MODE_GRID_TRIP
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
- CHARACTER(LEN=6),   INTENT(IN)    :: HPROGRAM   ! calling program
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!
-INTEGER :: ILUOUT ! output listing logical unit
-INTEGER :: ILUNAM ! namelist file  logical unit
-INTEGER :: I
-LOGICAL :: GFOUND
-REAL    :: ZWORK
-!
-!
-!*       0.3   Declarations of namelist
-!              ------------------------
-!
-REAL    :: TLONMIN  ! minimum longitude (degrees)
-REAL    :: TLONMAX  ! maximum longitude (degrees)
-REAL    :: TLATMIN  ! minimum latitude  (degrees)
-REAL    :: TLATMAX  ! maximum latitude  (degrees)
-REAL    :: TRES     ! 1° or 0.5° resolution
-!
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLON
-REAL, DIMENSION(:), ALLOCATABLE ::  ZLAT
-!
-INTEGER :: ILON,ILAT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-NAMELIST/NAM_GRID_TRIP/TLONMIN, TLONMAX, TLATMIN, TLATMAX, TRES
-!
-!------------------------------------------------------------------------------
-!
-!*       1.    opening of namelist
-! 
-IF (LHOOK) CALL DR_HOOK('READ_NAM_GRID_TRIP',0,ZHOOK_HANDLE)
- CALL GET_LUOUT(HPROGRAM,ILUOUT)
-!
- CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
-!
-!---------------------------------------------------------------------------
-!
-!*       2.    Reading of projection parameters
-!              --------------------------------
-!
- CALL POSNAM(ILUNAM,'NAM_GRID_TRIP',GFOUND,ILUOUT)
-IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_GRID_TRIP)
-!
- CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
-!
-IF(TRES/=0.5.AND.TRES/=1.0.AND.TRES/=0.1)THEN
-  WRITE(ILUOUT,*)'Error : The resolution of the TRIP grid must be 1° or 0.5°'
-  WRITE(ILUOUT,*)'        or 0.1° over France                               '
-  WRITE(ILUOUT,*)'        In NAM_GRID_TRIP, TRES should be 0.1 or 0.5 or 1. '
-  STOP
-ENDIF
-!
-!---------------------------------------------------------------------------
-!
-!*       3.    Number of lattitude and longitude
-!
-ILON = INT((TLONMAX-TLONMIN)/TRES)
-ILAT = INT((TLATMAX-TLATMIN)/TRES)
-!
-!---------------------------------------------------------------------------
-!
-!*       4.    lattitude and longitude values
-!
-ALLOCATE(ZLON(ILON))
-ALLOCATE(ZLAT(ILAT))
-!
-ZWORK = TLONMIN-(TRES/2.)
-DO I=1,ILON
-   ZWORK   = ZWORK + TRES
-   ZLON(I) = ZWORK
-ENDDO
-!
-ZWORK =TLATMIN-(TRES/2.)
-DO I=1,ILAT
-   ZWORK   = ZWORK + TRES
-   ZLAT(I) = ZWORK
-ENDDO
-!
-!---------------------------------------------------------------------------
-!
-!*       5.    All this information stored into PGRID_TRIP
-!              -------------------------------------------
-!
-ALLOCATE(XGRID_TRIP(7+ILON+ILAT))
-XGRID_TRIP(:) = 0.0
-!
- CALL PUT_GRID_TRIP(XGRID_TRIP,TLONMIN,TLONMAX,TLATMIN,TLATMAX,TRES,ILON,ILAT,ZLON,ZLAT)
-!
-DEALLOCATE(ZLON)
-DEALLOCATE(ZLAT)
-IF (LHOOK) CALL DR_HOOK('READ_NAM_GRID_TRIP',1,ZHOOK_HANDLE)
-!
-!---------------------------------------------------------------------------
-!
-END SUBROUTINE READ_NAM_GRID_TRIP
diff --git a/src/SURFEX/read_namelists_tripn.F90 b/src/SURFEX/read_namelists_tripn.F90
deleted file mode 100644
index cbb815fabebd2160003ac059e7e0cf5df6a4427e..0000000000000000000000000000000000000000
--- a/src/SURFEX/read_namelists_tripn.F90
+++ /dev/null
@@ -1,35 +0,0 @@
-!     #########
-SUBROUTINE READ_NAMELISTS_TRIP_n(HPROGRAM)
-!     #######################################################
-!
-!----------------------------------------------
-!
-USE MODN_TRIP_n
-!
-USE MODI_DEFAULT_TRIP
-!
-USE MODI_READ_TRIP_CONF_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
- CHARACTER(LEN=6),   INTENT(IN)  :: HPROGRAM  ! program calling surf. schemes
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!--------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('READ_NAMELISTS_TRIP_N',0,ZHOOK_HANDLE)
- CALL DEFAULT_TRIP(CGROUNDW,CVIT,LFLOODT,LDIAG_CPL,LTRIP_DIAG_MISC,   &
-                    LNCPRINT,LPRINT_TRIP,XTSTEP_COUPLING,XTRIP_TSTEP,&
-                    XDATA_TAUG,XCVEL,XRATMED                         )  
-!
- CALL READ_TRIP_CONF_n(HPROGRAM)
-!
-IF (LHOOK) CALL DR_HOOK('READ_NAMELISTS_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------
-!
-END SUBROUTINE READ_NAMELISTS_TRIP_n
diff --git a/src/SURFEX/read_trip_confn.F90 b/src/SURFEX/read_trip_confn.F90
deleted file mode 100644
index aa1656ea13016e2c13499ed4b1f7d54459a312e8..0000000000000000000000000000000000000000
--- a/src/SURFEX/read_trip_confn.F90
+++ /dev/null
@@ -1,107 +0,0 @@
-!     #########
-      SUBROUTINE READ_TRIP_CONF_n(HPROGRAM)
-!     #######################################################
-!
-!!****  *READ_TRIP_CONF* - routine to read the configuration for TRIP
-!!
-!!    PURPOSE
-!!    -------
-!!
-!!**  METHOD
-!!    ------
-!!
-!!    EXTERNAL
-!!    --------
-!!
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!    REFERENCE
-!!    ---------
-!!
-!!
-!!    AUTHOR
-!!    ------
-!!	B. Decharme   *Meteo France*	
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    05/2008 
-!-------------------------------------------------------------------------------
-!
-!*       0.    DECLARATIONS
-!              ------------
-!
-USE MODE_MODELN_TRIP_HANDLER
-!
-USE MODE_POS_SURF
-!
-USE MODI_TEST_NAM_VAR_SURF
-USE MODI_GET_LUOUT
-USE MODI_OPEN_NAMELIST
-USE MODI_CLOSE_NAMELIST
-!
-USE MODD_READ_NAMELIST, ONLY : LNAM_READ
-USE MODN_TRIP_n
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*       0.1   Declarations of arguments
-!              -------------------------
-!
- CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling TRIP
-
-!
-!*       0.2   Declarations of local variables
-!              -------------------------------
-!
-!
-LOGICAL           :: GFOUND         ! Return code when searching namelist
-INTEGER           :: ILUOUT         ! logical unit of output file
-INTEGER           :: INAM           ! logical unit of namelist file
-INTEGER           :: IMI
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!-------------------------------------------------------------------------------
-!
-!* get output listing file logical unit
-!
-IF (LHOOK) CALL DR_HOOK('READ_TRIP_CONF_N',0,ZHOOK_HANDLE)
- CALL GET_LUOUT(HPROGRAM,ILUOUT)
-!
-IMI=GET_CURRENT_MODEL_INDEX_TRIP()
-!
-IF (IMI.NE.-1 .AND. LNAM_READ) CALL INIT_NAM_TRIPn
-!
-IF (LNAM_READ) THEN
- !
- !* open namelist file
- !
- CALL OPEN_NAMELIST(HPROGRAM,INAM)
- !
- !* reading of namelist
- !  -------------------
- !
- CALL POSNAM(INAM,'NAM_TRIPN',GFOUND,ILUOUT)
- IF (GFOUND) READ(UNIT=INAM,NML=NAM_TRIPn)
- !
- CALL TEST_NAM_VAR_SURF(ILUOUT,'CGROUNDW',CGROUNDW,'DEF','CST','VAR')
- CALL TEST_NAM_VAR_SURF(ILUOUT,'CVIT',CVIT,'DEF','VAR')
- !
- !* close namelist file
- !
- CALL CLOSE_NAMELIST(HPROGRAM,INAM)
- !
-ENDIF
-!
-IF (IMI.NE.-1) CALL UPDATE_NAM_TRIPn
-IF (LHOOK) CALL DR_HOOK('READ_TRIP_CONF_N',1,ZHOOK_HANDLE)
-!
-!
-!-------------------------------------------------------------------------------
-!
-END SUBROUTINE READ_TRIP_CONF_n
diff --git a/src/SURFEX/restart_tripn.F90 b/src/SURFEX/restart_tripn.F90
deleted file mode 100644
index 8aced6241c7fda03b8c987498f47ac750304728d..0000000000000000000000000000000000000000
--- a/src/SURFEX/restart_tripn.F90
+++ /dev/null
@@ -1,73 +0,0 @@
-!     #########
-      SUBROUTINE RESTART_TRIP_n (KLUOUT)
-!     ################################
-!
-!!****  *RESTART_TRIP_n*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     TRIP river routing restart.
-!     
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    28/05/05 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODE_RW_TRIP
-!
-USE MODD_TRIP_n,   ONLY : CGROUNDW, LFLOODT, LPRINT_TRIP, XLEN, &
-                            XSURF_STO, XGROUND_STO, XFLOOD_STO,  &
-                            XFFLOOD, XHFLOOD  
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-INTEGER, INTENT(IN)             :: KLUOUT
-!
-!*      0.2    declarations of local variables
-!
- CHARACTER(LEN=15), PARAMETER :: YFILE ='TRIP_RESTART.nc'
- CHARACTER(LEN=20)            :: YVNAME
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!
-! * Store output in diag file
-!
-IF (LHOOK) CALL DR_HOOK('RESTART_TRIP_N',0,ZHOOK_HANDLE)
-YVNAME = 'SURF_STO'
- CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,XSURF_STO)   
-!
-IF(CGROUNDW/='DEF')THEN
-  YVNAME = 'GROUND_STO'
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,XGROUND_STO)
-ENDIF
-!
-IF(LFLOODT)THEN
-  YVNAME = 'FLOOD_STO'
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,XFLOOD_STO)           
-  YVNAME = 'FFLOOD_T'
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,XFFLOOD)        
-  YVNAME = 'HFLOOD_T'
-  CALL WRITE_TRIP(KLUOUT,YFILE,YVNAME,XLEN,XHFLOOD)        
-ENDIF
-!
-IF(LPRINT_TRIP)WRITE(KLUOUT,*)YFILE,' ended successfully !'
-IF (LHOOK) CALL DR_HOOK('RESTART_TRIP_N',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-END SUBROUTINE RESTART_TRIP_n
diff --git a/src/SURFEX/trip.F90 b/src/SURFEX/trip.F90
deleted file mode 100644
index d213034ed45dd4a996ae3a3ccc9d2937a47e5335..0000000000000000000000000000000000000000
--- a/src/SURFEX/trip.F90
+++ /dev/null
@@ -1,243 +0,0 @@
-!     #########
-      SUBROUTINE TRIP (KLUOUT,HGROUNDW,HVIT,OFLOOD,OPRINT,PTSTEP,         &
-                         KGRCN,KSEQ,KNEXTX,KNEXTY,KSEQMAX,PTAUG,PAREA,    &
-                         PLEN,PFLOOD_LEN,PSLOPEBED,PWIDTH,PN,PN_FLOOD,    &
-                         PHC_BED,PWFLOOD,PTAB_F,PTAB_H,PTAB_VF,PDRAIN,    &
-                         PRUNOFF,PSOURCE,PGROUND_STO,PSURF_STO,           &
-                         PFLOOD_STO,PSOUT,PGOUT,PHS,PHFLOOD,PVEL,         &
-                         PFFLOOD,PQFR,PQRF,PVFIN,PVFOUT,                  &
-                         PHSF,PSIN,KTRIP,KTSEPT,KTSTEP_END,KTABMAX        )  
-!     ###################################################################
-!
-!!****  *TRIP*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     TRIP river routing and Floodplains schemes.
-!     
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/05 
-!!      Modif.      28/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR, ONLY : XRHOLW_T,XSEA_T,XYEAR_T
-!
-USE MODI_TRIP_GROUND_WATER
-!
-USE MODI_TRIP_SURFACE_WATER
-USE MODI_TRIP_SURFACE_WATER_VELVAR
-USE MODI_TRIP_SURFACE_WATER_FLOOD
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-INTEGER, INTENT(IN)                  :: KLUOUT
-INTEGER, INTENT(IN)                  :: KTRIP
-INTEGER, INTENT(IN)                  :: KTSEPT
-INTEGER, INTENT(IN)                  :: KTSTEP_END
-!
- CHARACTER(LEN=3), INTENT(IN)         :: HGROUNDW !Groundwater scheme key
- CHARACTER(LEN=3), INTENT(IN)         :: HVIT     !Variable velocity scheme key
-!
-LOGICAL, INTENT(IN)                  :: OFLOOD   !Flood scheme key
-LOGICAL, INTENT(IN)                  :: OPRINT   !Printable budget key 
-!
-REAL, INTENT(IN)                     :: PTSTEP   !Trip timestep
-!
-INTEGER, INTENT(IN)                  :: KSEQMAX  !maximum down flow
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KGRCN    !Flow direction (1->8)
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KSEQ     !River sequence
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTX   !returns x and y point
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTY   !of destination grid
-!
-REAL, DIMENSION(:,:), INTENT(IN)     :: PTAUG    !ground water transfer time  [s]
-!
-REAL,DIMENSION(:,:), INTENT(IN)      :: PLEN       ! river length       [m] 
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSLOPEBED  ! river bed slopes             [m/m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PWIDTH     ! river widths                 [m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PN         ! Manning roughness coeficient [-] (0.03 to 0.065)
-REAL,DIMENSION(:,:), INTENT(IN)      :: PN_FLOOD   ! Manning coeficient over floodplains   [-] (0.1)
-REAL,DIMENSION(:,:), INTENT(IN)      :: PHC_BED    ! River bed depth              [m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSOURCE    ! precip-infiltration-evaporation [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PAREA      ! Grid-cell area    [m²]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PDRAIN     ! Subsurface runoff from ISBA [kg/s]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PRUNOFF    ! Surface runoff from ISBA    [kg/s]
-!
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PHFLOOD    ! Floodplain water depth       [m]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PWFLOOD    ! Floodplain width             [m]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PFLOOD_LEN ! Floodplain length along the river [m]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PFFLOOD    ! Fraction of flood [-]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PSURF_STO  ! river channel storage at t    [kg]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PGROUND_STO! groundwater storage at t    [kg]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PFLOOD_STO ! Floodplain water storage at t [kg]
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSOUT ! Outflow from the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSIN  ! Inflow to the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PGOUT      ! ground water outflow        [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PHS   ! River height [m]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVEL  ! River channel velocity  [m/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PQFR  ! Flood flow to river
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PQRF  ! River flow to floodplain
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVFIN ! River flow to flood velocity [m/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVFOUT! Flood flow to river velocity [m/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PHSF  ! River-Floodplain depth comparison [m]
-!
-REAL,DIMENSION(:,:,:), INTENT(IN)    :: PTAB_F  ! Flood fraction array
-REAL,DIMENSION(:,:,:), INTENT(IN)    :: PTAB_H  ! Topo height array
-REAL,DIMENSION(:,:,:), INTENT(IN)    :: PTAB_VF ! Flood volume array
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KTABMAX
-!
-!*      0.2    declarations of local variables
-!
-REAL, DIMENSION(SIZE(PLEN,1),SIZE(PLEN,2)) :: ZSURF_STO2  ! river channel storage at t+1     [kg]    
-REAL, DIMENSION(SIZE(PLEN,1),SIZE(PLEN,2)) :: ZGROUND_STO2! Groundwater storage at t+1     [kg] 
-REAL, DIMENSION(SIZE(PLEN,1),SIZE(PLEN,2)) :: ZFLOOD_STO2 ! Floodplain water storage at t+1  [kg]   
-!
-REAL    :: ZGSTO_ALL, ZGSTO2_ALL, ZGIN_ALL, ZGOUT_ALL, ZFSTO_ALL,   &
-             ZFSTO2_ALL, ZSOURCE_ALL, ZSSTO_ALL, ZSSTO2_ALL, ZSIN_ALL,&
-             ZDRUN_ALL, ZSOUT_ALL, ZVEL_ALL, ZFIN_ALL, ZFOUT_ALL,     &
-             ZSFLOOD_ALL,ZHS_ALL,ZHF_ALL,ZFF_ALL  
-!
-INTEGER :: ILON, ILAT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------!  
-!
-IF (LHOOK) CALL DR_HOOK('TRIP',0,ZHOOK_HANDLE)
-ILON = SIZE(PLEN,1)
-ILAT = SIZE(PLEN,2)
-!
-ZGSTO_ALL   = 0.0
-ZGSTO2_ALL  = 0.0
-ZGIN_ALL    = 0.0
-ZGOUT_ALL   = 0.0
-ZFSTO_ALL   = 0.0
-ZFSTO2_ALL  = 0.0
-ZSOURCE_ALL = 0.0
-ZSSTO_ALL   = 0.0
-ZSSTO2_ALL  = 0.0
-ZSIN_ALL    = 0.0
-ZDRUN_ALL   = 0.0
-ZSOUT_ALL   = 0.0
-ZVEL_ALL    = 0.0
-ZFIN_ALL    = 0.0
-ZFOUT_ALL   = 0.0
-ZSFLOOD_ALL = 0.0
-ZHS_ALL     = 0.0
-ZHF_ALL     = 0.0
-ZFF_ALL     = 0.0
-!
-ZSURF_STO2 = 0.0
-ZGROUND_STO2 = 0.0
-ZFLOOD_STO2 = 0.0
-!
-! * Ground water storage
-!
-IF(HGROUNDW/='DEF')THEN
-!        
-  CALL TRIP_GROUND_WATER(PTSTEP,PGROUND_STO,ZGROUND_STO2,PDRAIN,PTAUG, &
-                           PGOUT,ZGSTO_ALL,ZGSTO2_ALL,ZGIN_ALL,ZGOUT_ALL )  
-!            
-  PGROUND_STO = ZGROUND_STO2  
-!
-ELSE
-!
-   PGOUT=PDRAIN
-!
-ENDIF
-!
-! * Surface water storage with or without Floodplains
-!
-IF(OFLOOD)THEN
-!        
-   CALL TRIP_SURFACE_WATER_FLOOD(KLUOUT,PTSTEP,KGRCN,KSEQ,KNEXTX,KNEXTY,         &
-                                   KSEQMAX,PLEN,PFLOOD_LEN,PSLOPEBED,PWIDTH,     &
-                                   PN,PN_FLOOD,PHC_BED,PHFLOOD,PRUNOFF,          &
-                                   PSURF_STO,ZSURF_STO2,PGOUT,PSOURCE,           &
-                                   PFLOOD_STO,ZFLOOD_STO2,PSOUT,PVEL,PHS,        &
-                                   PFFLOOD,PAREA,PQFR,PQRF,                      &
-                                   PVFIN,PVFOUT,PHSF,PSIN,                       &
-                                   ZSSTO_ALL,ZSSTO2_ALL,ZSIN_ALL,ZDRUN_ALL,      &
-                                   ZSOUT_ALL,ZVEL_ALL,ZFSTO_ALL,ZFSTO2_ALL,      &
-                                   ZSOURCE_ALL,ZFIN_ALL,ZFOUT_ALL,PWFLOOD,       &
-                                   ZSFLOOD_ALL,ZHS_ALL,PTAB_F,PTAB_H,PTAB_VF,    &
-                                   KTABMAX                                       )  
-!  
-   PFLOOD_STO(:,:) = ZFLOOD_STO2(:,:)
-!      
-   IF(OPRINT)THEN
-     ZHF_ALL = SUM(PHFLOOD(:,:)*PAREA(:,:),PWIDTH(:,:)>0.0)/SUM(PAREA(:,:),PWIDTH(:,:)>0.0)
-     ZFF_ALL = SUM(PFFLOOD(:,:)*PAREA(:,:),PWIDTH(:,:)>0.0)/SUM(PAREA(:,:),PWIDTH(:,:)>0.0)
-   ENDIF
-!                                
-ELSEIF(HVIT=='VAR')THEN
-!        
-   CALL TRIP_SURFACE_WATER_VELVAR(PTSTEP,KGRCN,KSEQ,KNEXTX,KNEXTY,KSEQMAX,      &
-                                    PLEN,PSLOPEBED,PWIDTH,PN,PRUNOFF,PSURF_STO,   &
-                                    ZSURF_STO2,PGOUT,PSIN,PSOUT,PVEL,PHS,PAREA,   &
-                                    ZSSTO_ALL,ZSSTO2_ALL,ZSIN_ALL,ZDRUN_ALL,      &
-                                    ZSOUT_ALL,ZVEL_ALL,ZHS_ALL                    )  
-!
-ELSE
-!        
-   CALL TRIP_SURFACE_WATER(PTSTEP,KGRCN,KSEQ,KNEXTX,KNEXTY,KSEQMAX, &
-                             PLEN,PRUNOFF,PGOUT,PSURF_STO,ZSURF_STO2, &
-                             PSIN,PSOUT,ZSSTO_ALL,ZSSTO2_ALL,ZSIN_ALL,&
-                             ZDRUN_ALL,ZSOUT_ALL)  
-!
-ENDIF
-!
-PSURF_STO(:,:) = ZSURF_STO2(:,:)
-!   
-! * Writting the budget
-!
-IF(OPRINT.AND.KTRIP==1.AND.KTSEPT==1)THEN
-!
-  WRITE(KLUOUT,*)''
-  WRITE(KLUOUT,*)'        START RUN ISBA-TRIP-FP     '
-  WRITE(KLUOUT,*)'          Budget en 10^12 kg       '
-  WRITE(KLUOUT,*)''
-  WRITE(KLUOUT,'(a81)')'RUN TSTEP   S_err    F_err     G_err    MR(mm/y) Vel(m/s)  Hs      Hf         Ff'
-  WRITE(KLUOUT,*)''
-!  
-ENDIF
-!
-IF(OPRINT) &
-    WRITE(KLUOUT,'(i3,1x,i3,3(2x,g8.2),f8.2,f8.2,7(2x,g8.2))')                 &
-    KTRIP,KTSEPT,                                                              &
-! surface budget S_err
-    (ZSSTO_ALL-ZSSTO2_ALL)+PTSTEP*(ZSIN_ALL-ZSOUT_ALL+ZSFLOOD_ALL),        &
-! floodplains budget F_err
-    (ZFSTO_ALL-ZFSTO2_ALL)+PTSTEP*(ZSOURCE_ALL+ZFIN_ALL-ZFOUT_ALL),        &
-! ground budget G_err
-    (ZGSTO_ALL-ZGSTO2_ALL)+PTSTEP*(ZGIN_ALL-ZGOUT_ALL),                    &
-! output flow to the sea, MR(mm/y) 
-    (ZSSTO_ALL-ZSSTO2_ALL +PTSTEP*ZDRUN_ALL)/XSEA_T*XYEAR_T*REAL(KTSTEP_END),&
-! mean flow velocity, Vel(m/s), and mean stream depth, Hs (m) 
-! mean floddplains depth, Hf (m), and mean flood fraction, Ff (%) 
-    ZVEL_ALL,ZHS_ALL,ZHF_ALL,100.*ZFF_ALL  
-IF (LHOOK) CALL DR_HOOK('TRIP',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE TRIP
diff --git a/src/SURFEX/trip_ground_water.F90 b/src/SURFEX/trip_ground_water.F90
deleted file mode 100644
index d3ddbbf16ba183092259deefb35b66f2b41db56c..0000000000000000000000000000000000000000
--- a/src/SURFEX/trip_ground_water.F90
+++ /dev/null
@@ -1,132 +0,0 @@
-!     #########
-      SUBROUTINE TRIP_GROUND_WATER (PTSTEP,PGROUND_STO,PGROUND_STO2,PDRAIN,PTAUG, &
-                                      PGOUT,PGSTO_ALL,PGSTO2_ALL,PGIN_ALL,PGOUT_ALL)  
-!     #############################################################################
-!
-!!****  *TRIP_GROUND_WATER*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Calculate the storage in the next time step based on the storage
-!     of current time step.The deep drainage is constant during the time step.
-!     
-!!**  METHOD
-!!    ------
-!
-!     Direct calculation
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/05 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-REAL, INTENT(IN)                     :: PTSTEP
-!                                       KTSTEP = timestep value (=FRC) [s]
-!                                              = 10800s
-!
-!
-REAL, DIMENSION(:,:), INTENT(IN)     :: PDRAIN, PTAUG
-!                                       PRUNOFF = Surface runoff from ISBA    [kg/m²]
-!                                       PTAUG   = ground water transfer time  [s]
-!
-REAL, DIMENSION(:,:), INTENT(IN   )  :: PGROUND_STO
-REAL, DIMENSION(:,:), INTENT(INOUT)  :: PGROUND_STO2
-!                                       PGROUND_STO  = ground water storage at t    [kg]
-!                                       PGROUND_STO2 = ground water storage at t+1  [kg]
-!
-REAL, DIMENSION(:,:), INTENT(OUT)    :: PGOUT
-!                                       PGOUT = Outflow from the ground reservoir  
-!
-REAL,                 INTENT(OUT)    :: PGSTO_ALL,PGSTO2_ALL,PGIN_ALL,PGOUT_ALL
-!                                       Final budget variable
-!
-!*      0.2    declarations of local variables
-!
-REAL, DIMENSION(SIZE(PGROUND_STO,1),SIZE(PGROUND_STO,2)) :: ZGSTOMAX, ZGOUT
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_GROUND_WATER',0,ZHOOK_HANDLE)
-!
-PGROUND_STO2(:,:) = 0.0
-PGOUT       (:,:) = 0.0
-!
-ZGSTOMAX    (:,:) = 0.0
-ZGOUT       (:,:) = 0.0
-!
-PGSTO_ALL  = 0.0
-PGSTO2_ALL = 0.0
-PGIN_ALL   = 0.0
-PGOUT_ALL  = 0.0
-!
-WHERE(PTAUG(:,:)>0.0)
-!
-!     ---------------------------------------------------------------------------
-!     ground water storage calculation
-!
-      PGROUND_STO2(:,:)=PGROUND_STO(:,:)*EXP(-PTSTEP/PTAUG(:,:)) &
-                         + (1.0-EXP(-PTSTEP/PTAUG(:,:)))*PDRAIN(:,:)*PTAUG(:,:)  
-!
-!     ---------------------------------------------------------------------------
-!     supress numerical artifacs
-!
-      ZGSTOMAX(:,:)=PDRAIN(:,:)*PTSTEP+PGROUND_STO(:,:)
-!      
-      PGROUND_STO2(:,:)=MIN(ZGSTOMAX(:,:),PGROUND_STO2(:,:))
-!
-!     ---------------------------------------------------------------------------
-!     ground water discharge calculation                
-!
-      ZGOUT(:,:)=(PGROUND_STO(:,:)-PGROUND_STO2(:,:))/PTSTEP+PDRAIN(:,:)
-!      
-!     ---------------------------------------------------------------------------
-!     supress numerical artifacs
-!
-      PGOUT(:,:)=MAX(0.0,ZGOUT(:,:))
-      PGROUND_STO2(:,:) = PGROUND_STO2(:,:) + (PGOUT(:,:)-ZGOUT(:,:))             
-!
-ENDWHERE
-!
-!-------------------------------------------------------------------------------
-!budget calculation
-!
-PGSTO_ALL  = SUM(PGROUND_STO (:,:), PTAUG(:,:)>0.0)
-PGSTO2_ALL = SUM(PGROUND_STO2(:,:), PTAUG(:,:)>0.0)
-PGIN_ALL   = SUM(PDRAIN      (:,:), PTAUG(:,:)>0.0)
-PGOUT_ALL  = SUM(PGOUT       (:,:), PTAUG(:,:)>0.0)
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_GROUND_WATER',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE TRIP_GROUND_WATER
diff --git a/src/SURFEX/trip_interface.F90 b/src/SURFEX/trip_interface.F90
deleted file mode 100644
index 46eba71558f86c59338620edb965dba99f20ce8a..0000000000000000000000000000000000000000
--- a/src/SURFEX/trip_interface.F90
+++ /dev/null
@@ -1,321 +0,0 @@
-!####################################################################
-SUBROUTINE TRIP_INTERFACE (KLUOUT,KLON,KLAT,ORESTART,KYEAR,KMONTH,  &
-                            KTRIP,PDURATION,PRUNOFF,PDRAIN,PSRC_FLOOD) 
-!####################################################################
-!
-!!****  *TRIP*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Driver for the TRIP river routing.
-!     Here, we call the physical and the diag routines     
-!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/05 
-!!      Modif.      28/05/08 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR,    ONLY : XRHOLW_T
-USE MODD_TRIP_GRID_n, ONLY : XAREA
-USE MODD_DIAG_TRIP_n
-USE MODD_TRIP_n
-!
-!
-USE MODI_TRIP
-USE MODI_DIAG_TRIP_n
-USE MODI_RESTART_TRIP_n
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-LOGICAL, INTENT(IN)                  :: ORESTART
-!
-INTEGER, INTENT(IN)                  :: KLON
-INTEGER, INTENT(IN)                  :: KLAT
-INTEGER, INTENT(IN)                  :: KLUOUT
-INTEGER, INTENT(IN)                  :: KYEAR
-INTEGER, INTENT(IN)                  :: KMONTH
-INTEGER, INTENT(IN)                  :: KTRIP
-!
-REAL,    INTENT(IN)                  :: PDURATION
-!
-REAL, DIMENSION(KLON,KLAT), INTENT(INOUT)  :: PRUNOFF
-REAL, DIMENSION(KLON,KLAT), INTENT(INOUT)  :: PDRAIN
-!
-REAL, DIMENSION(KLON,KLAT), INTENT(INOUT),OPTIONAL  :: PSRC_FLOOD
-!
-!*      0.2    declarations of local variables
-!
-INTEGER, DIMENSION(5,2) :: ISIZE
-INTEGER :: JTSTEP, ITRIP_TSTEP
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-! Allocate local variables
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_INTERFACE',0,ZHOOK_HANDLE)
-!
-ISIZE(:,:) = 0
-!
-IF (LTRIP_DIAG_MISC) THEN
-  ISIZE(1,1) = KLON
-  ISIZE(1,2) = KLAT
-ENDIF
-!
-IF (CGROUNDW/='DEF') THEN
-  ISIZE(2,1) = KLON
-  ISIZE(2,2) = KLAT
-ENDIF
-!
-IF (CVIT=='VAR') THEN
-  ISIZE(3,1) = KLON
-  ISIZE(3,2) = KLAT
-ENDIF
-!
-IF (LFLOODT) THEN
-  !
-  IF (.NOT.PRESENT(PSRC_FLOOD)) THEN
-    WRITE(KLUOUT,*)'!Probleme when you call the coupling_trip_n.f90 routine!!!!'
-    STOP 
-  ENDIF  
-  !  
-  ISIZE(4,1) = KLON
-  ISIZE(4,2) = KLAT
-  !
-  IF(LTRIP_DIAG_MISC)THEN
-    ISIZE(5,1) = KLON
-    ISIZE(5,2) = KLAT
-  ENDIF
-ENDIF
-!
- CALL TRIP_INTERFACE_DIM(ISIZE)
-!
-!-------------------------------------------------------------------------------
-!Write restart
-!-------------------------------------------------------------------------------
-!
-IF(ORESTART.AND.KTRIP==INT(PDURATION/XTSTEP_COUPLING))THEN
-   CALL RESTART_TRIP_n(KLUOUT)
-ENDIF
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_INTERFACE',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!
-CONTAINS
-!
-SUBROUTINE TRIP_INTERFACE_DIM(KSIZE)
-!
-IMPLICIT NONE
-!
-INTEGER, DIMENSION(:,:), INTENT(IN) :: KSIZE
-!
-REAL, DIMENSION(KLON,KLAT) :: ZGOUT          
-REAL, DIMENSION(KLON,KLAT) :: ZSOUT   
-REAL, DIMENSION(KLON,KLAT) :: ZSIN
-REAL, DIMENSION(KLON,KLAT) :: ZSURF_STO_OLD  
-REAL, DIMENSION(KLON,KLAT) :: ZQDIS_OLD      
-!
-REAL, DIMENSION(KSIZE(1,1),KSIZE(1,2)) :: ZQIN_OLD
-!
-REAL, DIMENSION(KSIZE(2,1),KSIZE(2,2)) :: ZGROUND_STO_OLD
-REAL, DIMENSION(KSIZE(2,1),KSIZE(2,2)) :: ZQGF_OLD  
-!
-REAL, DIMENSION(KSIZE(3,1),KSIZE(3,2)) :: ZVEL           
-REAL, DIMENSION(KSIZE(3,1),KSIZE(3,2)) :: ZHS            
-REAL, DIMENSION(KSIZE(3,1),KSIZE(3,2)) :: ZVEL_OLD       
-REAL, DIMENSION(KSIZE(3,1),KSIZE(3,2)) :: ZHS_OLD  
-!
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZSOURCE
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZQFR           
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZQRF           
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZVFIN
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZVFOUT
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZHSF
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZFLOOD_STO_OLD 
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZFF_OLD        
-REAL, DIMENSION(KSIZE(4,1),KSIZE(4,2)) :: ZHF_OLD        
-!
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZQFR_OLD       
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZQRF_OLD
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZVFIN_OLD
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZVFOUT_OLD
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZWF_OLD
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZLF_OLD
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZHSF_OLD
-REAL, DIMENSION(KSIZE(5,1),KSIZE(5,2)) :: ZSOURCE_OLD
-!
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_INTERFACE:TRIP_INTERFACE_DIM',0,ZHOOK_HANDLE)
-!-------------------------------------------------------------------------------
-!Put ISBA variables in TRIP dimension (kg --> kg/s)
-!-------------------------------------------------------------------------------
-!
-PRUNOFF(:,:) = PRUNOFF(:,:) / XTSTEP_COUPLING
-PDRAIN (:,:) = PDRAIN (:,:) / XTSTEP_COUPLING
-!
-!-------------------------------------------------------------
-!
-ZGOUT        (:,:) = 0.0
-ZSIN         (:,:) = 0.0
-ZSOUT        (:,:) = 0.0
-ZSURF_STO_OLD(:,:) = XDIAG_SURF_STO
-ZQDIS_OLD    (:,:) = XDIAG_QDIS
-!
-IF(LTRIP_DIAG_MISC) ZQIN_OLD(:,:) = XDIAG_QIN
-!
-! No groundwater treatement (e.g. permafrost)
-!
-IF(CGROUNDW/='DEF')THEN
-  !
-  ZGROUND_STO_OLD(:,:) = XDIAG_GROUND_STO
-  ZQGF_OLD       (:,:) = XDIAG_QGF 
-  !
-  WHERE(XTAUG(:,:)==0.0)
-    PRUNOFF(:,:) = PRUNOFF(:,:)+PDRAIN(:,:)
-    PDRAIN(:,:)  = 0.0
-  ENDWHERE  
-  !
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-  ZVEL    (:,:) = 0.0
-  ZHS     (:,:) = 0.0
-  ZVEL_OLD(:,:) = XDIAG_VEL
-  ZHS_OLD (:,:) = XDIAG_HS
-ENDIF
-!
-IF(LFLOODT)THEN
-  !  
-  ZSOURCE(:,:) = PSRC_FLOOD(:,:) / XTSTEP_COUPLING
-  WHERE(XFFLOOD(:,:)==1.0.AND.ZSOURCE(:,:)>0.0)
-        PRUNOFF(:,:) = PRUNOFF(:,:) + ZSOURCE(:,:)
-        ZSOURCE(:,:) = 0.0
-  ENDWHERE  
-  !
-  ZQFR          (:,:) = 0.0
-  ZQRF          (:,:) = 0.0
-  ZVFIN         (:,:) = 0.0
-  ZVFOUT        (:,:) = 0.0
-  ZHSF          (:,:) = 0.0
-  ZFLOOD_STO_OLD(:,:) = XDIAG_FLOOD_STO
-  ZFF_OLD       (:,:) = XDIAG_FF
-  ZHF_OLD       (:,:) = XDIAG_HF
-  !
-
-  IF(LTRIP_DIAG_MISC)THEN
-    ZQFR_OLD      (:,:) = XDIAG_QFR
-    ZQRF_OLD      (:,:) = XDIAG_QRF
-    ZVFIN_OLD     (:,:) = XDIAG_VFIN
-    ZVFOUT_OLD    (:,:) = XDIAG_VFOUT
-    ZWF_OLD       (:,:) = XDIAG_WF
-    ZLF_OLD       (:,:) = XDIAG_LF
-    ZHSF_OLD      (:,:) = XDIAG_HSF
-    ZSOURCE_OLD   (:,:) = XDIAG_SOURCE
-  ENDIF
-!
-ENDIF
-!
-!-------------------------------------------------------------------------------
-!Call physical routines
-!-------------------------------------------------------------------------------
-!
-ITRIP_TSTEP = INT(XTSTEP_COUPLING/XTRIP_TSTEP)
-!
-DO JTSTEP=1,ITRIP_TSTEP
-!   
-! * TRIP time step loop
-!
-  CALL TRIP(KLUOUT,CGROUNDW,CVIT,LFLOODT,LPRINT_TRIP,        &
-            XTRIP_TSTEP,IGRCN,ISEQ,INEXTX,INEXTY,ISEQMAX,    &
-            XTAUG,XAREA,XLEN,XFLOOD_LEN,XSLOPEBED,XWIDTH,XN, &
-            XN_FLOOD,XHC_BED,XWFLOOD,XTAB_F,XTAB_H,XTAB_VF,  &
-            PDRAIN,PRUNOFF,ZSOURCE,XGROUND_STO,XSURF_STO,    &
-            XFLOOD_STO,ZSOUT,ZGOUT,ZHS,XHFLOOD,ZVEL,         &
-            XFFLOOD,ZQFR,ZQRF,ZVFIN,ZVFOUT,                  &
-            ZHSF,ZSIN,KTRIP,JTSTEP,ITRIP_TSTEP,ITABMAX       ) 
-!
-! * Actualisation of diagnostic variables   
-!        
-  XDIAG_QDIS(:,:) = XDIAG_QDIS(:,:) + ZSOUT(:,:) * XTRIP_TSTEP / XRHOLW_T
-!   
-  IF(CGROUNDW/='DEF')THEN
-    XDIAG_QGF(:,:) = XDIAG_QGF(:,:)  + ZGOUT(:,:) * XTRIP_TSTEP / XRHOLW_T
-  ENDIF
-!           
-  IF(LTRIP_DIAG_MISC)THEN
-    XDIAG_QIN (:,:) = XDIAG_QIN (:,:) + ZSIN (:,:) * XTRIP_TSTEP / XRHOLW_T
-    IF(LFLOODT)THEN
-      XDIAG_QFR(:,:) = XDIAG_QFR(:,:) + ZQFR(:,:) * XTRIP_TSTEP / XRHOLW_T
-      XDIAG_QRF(:,:) = XDIAG_QRF(:,:) + ZQRF(:,:) * XTRIP_TSTEP / XRHOLW_T
-    ENDIF
-  ENDIF
-!
-ENDDO ! * End TRIP time step loop
-!
-XDIAG_SURF_STO(:,:) = XDIAG_SURF_STO(:,:) + XSURF_STO(:,:) / XAREA(:,:)
-!
-IF(CGROUNDW/='DEF')THEN
-  XDIAG_GROUND_STO(:,:) = XDIAG_GROUND_STO(:,:) + XGROUND_STO(:,:) / XAREA(:,:)
-ENDIF
-!
-IF(CVIT=='VAR')THEN
-   XDIAG_VEL(:,:) = XDIAG_VEL(:,:) + ZVEL(:,:)
-   XDIAG_HS (:,:) = XDIAG_HS (:,:) + ZHS (:,:)
-ENDIF
-
-IF(LFLOODT)THEN
-!          
-   XDIAG_FLOOD_STO(:,:) = XDIAG_FLOOD_STO(:,:) + XFLOOD_STO(:,:) / XAREA(:,:)
-   XDIAG_FF       (:,:) = XDIAG_FF       (:,:) + XFFLOOD (:,:)
-   XDIAG_HF       (:,:) = XDIAG_HF       (:,:) + XHFLOOD (:,:)
-!
-  IF(LTRIP_DIAG_MISC)THEN
-     XDIAG_VFIN  (:,:) = XDIAG_VFIN  (:,:) + ZVFIN     (:,:)
-     XDIAG_VFOUT (:,:) = XDIAG_VFOUT (:,:) + ZVFOUT    (:,:)
-     XDIAG_WF    (:,:) = XDIAG_WF    (:,:) + XWFLOOD   (:,:)
-     XDIAG_LF    (:,:) = XDIAG_LF    (:,:) + XFLOOD_LEN(:,:)
-     XDIAG_HSF   (:,:) = XDIAG_HSF   (:,:) + ZHSF      (:,:)
-     XDIAG_SOURCE(:,:) = XDIAG_SOURCE(:,:) + ZSOURCE   (:,:) * XTSTEP_COUPLING / XAREA(:,:)
-  ENDIF
-!
-! Coupling variables
-!
-  XPIFLOOD(:,:)=XFLOOD_STO(:,:)
-!
-ENDIF       
-!
-!-------------------------------------------------------------------------------
-!Store result
-!-------------------------------------------------------------------------------
-!
-IF(LPRINT_TRIP)WRITE(KLUOUT,*)''
-!
- CALL DIAG_TRIP_n(KLUOUT,KYEAR,KMONTH,KTRIP,PDURATION,      &
-                  ZSURF_STO_OLD,ZQDIS_OLD,ZGROUND_STO_OLD, &
-                  ZQGF_OLD,ZVEL_OLD,ZHS_OLD,ZFLOOD_STO_OLD,&
-                  ZFF_OLD,ZHF_OLD,ZQFR_OLD,ZQRF_OLD,       &
-                  ZVFIN_OLD,ZVFOUT_OLD,ZWF_OLD,ZLF_OLD,    &
-                  ZHSF_OLD,ZQIN_OLD,ZSOURCE_OLD            ) 
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_INTERFACE:TRIP_INTERFACE_DIM',1,ZHOOK_HANDLE)
-!
-END SUBROUTINE TRIP_INTERFACE_DIM
-!
-END SUBROUTINE TRIP_INTERFACE
diff --git a/src/SURFEX/trip_surface_water.F90 b/src/SURFEX/trip_surface_water.F90
deleted file mode 100644
index 0e907f4199d8d2c0619d4946b61ad8a149bd2ae5..0000000000000000000000000000000000000000
--- a/src/SURFEX/trip_surface_water.F90
+++ /dev/null
@@ -1,173 +0,0 @@
-!     #########
-      SUBROUTINE TRIP_SURFACE_WATER (PTSTEP,KGRCN,KSEQ,KNEXTX,KNEXTY,KSEQMAX, &
-                                       PLEN,PRUNOFF,PGOUT,PSURF_STO,PSURF_STO2, &
-                                       PSIN,PSOUT,PSSTO_ALL,PSSTO2_ALL,PSIN_ALL,&
-                                       PDRUN_ALL,PSOUT_ALL)  
-!     ################################################################
-!
-!!****  *TRIP_SURFACE_WATER*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Calculate the river storage in the next time step based on the storage
-!     of current time step using fixed 0.5m/s stream flow velocity.
-!
-!     
-!!**  METHOD
-!!    ------
-!
-!     Direct calculation
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/05 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_n,   ONLY : XCVEL
-USE MODD_TRIP_PAR, ONLY : XRHOLW_T
-!
-!
-USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
-USE PARKIND1  ,ONLY : JPRB
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-REAL, INTENT(IN)                     :: PTSTEP ! Trip timestep value (10800s)
-!
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KGRCN  ! Flow direction (1->8)
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KSEQ   ! River sequence
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTX ! returns x and y point
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTY ! of destination grid:
-!                                                                    8 1 2
-!                                                                    7   3
-!                                                                    6 5 4
-!
-INTEGER, INTENT(IN)                  :: KSEQMAX ! maximum down flow
-!
-REAL,DIMENSION(:,:), INTENT(IN)      :: PLEN       ! river length       [m] 
-REAL,DIMENSION(:,:), INTENT(IN)      :: PRUNOFF    ! Surface runoff from ISBA    [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PGOUT      ! ground water outflow        [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSURF_STO  ! river channel storage at t    [kg]
-!
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PSURF_STO2 ! river channel storage at t+1     [kg]
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSIN  ! Inflow to the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSOUT ! Outflow from the surface river reservoir [kg/s]
-!
-REAL,                INTENT(OUT)     :: PSSTO_ALL,PSSTO2_ALL,PSIN_ALL,    &
-                                          PDRUN_ALL,PSOUT_ALL  
-!                                       Final budget variable
-!
-!*      0.2    declarations of local variables
-!
-REAL, DIMENSION(SIZE(PLEN,1),SIZE(PLEN,2)) :: ZQIN
-!
-REAL    :: ZRC,ZQOUT,ZSTOMAX
-!
-INTEGER :: ILON, ILAT, I, J, ISEQ
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_SURFACE_WATER',0,ZHOOK_HANDLE)
-ILON = SIZE(PLEN,1)
-ILAT = SIZE(PLEN,2)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-PSURF_STO2 (:,:) = 0.0
-PSIN       (:,:) = 0.0
-PSOUT      (:,:) = 0.0
-!
-ZQIN  (:,:) = 0.0
-!
-PSSTO_ALL   = 0.0
-PSSTO2_ALL  = 0.0
-PSIN_ALL    = 0.0
-PDRUN_ALL   = 0.0
-PSOUT_ALL   = 0.0
-!
-!-------------------------------------------------------------------------------
-!Sequence loop
-!
-DO ISEQ=1,KSEQMAX
-   DO J=1,ILAT
-      DO I=1,ILON
-!      
-         IF(KSEQ(I,J)/=ISEQ.OR.KSEQ(I,J)==0)CYCLE      
-!
-!        ---------------------------------------------------------------------
-!        inflow calculation
-!
-         ZQIN(I,J)=ZQIN(I,J)+PRUNOFF(I,J)+PGOUT(I,J)
-         PDRUN_ALL=PDRUN_ALL+PRUNOFF(I,J)+PGOUT(I,J)
-!
-         PSIN(I,J)=ZQIN(I,J)
-!
-!        ------------------------------------------------------------------
-!        Fixed river channel velocity             
-         ZRC = XCVEL / PLEN(I,J)
-!              
-!        ------------------------------------------------------------------
-!        river channel storage calculation
-         PSURF_STO2(I,J) = PSURF_STO(I,J)*EXP(-(ZRC*PTSTEP))+(1.0-EXP(-(ZRC*PTSTEP)))*ZQIN(I,J)/ZRC 
-!
-!        -------------------------------------------------------------------
-!        supress numerical artifacs
-         ZSTOMAX=ZQIN(I,J)*PTSTEP+PSURF_STO(I,J)
-!      
-         PSURF_STO2(I,J)=MIN(ZSTOMAX, PSURF_STO2(I,J))
-!
-!        ------------------------------------------------------------------
-!        river channel outflow calculation and supress numerical artifacs
-!
-         ZQOUT      = (PSURF_STO(I,J)-PSURF_STO2(I,J))/PTSTEP+ZQIN(I,J)
-         PSOUT(I,J) = MAX(ZQOUT,0.0)
-!             
-         PSURF_STO2(I,J) = PSURF_STO2(I,J) + (PSOUT(I,J)-ZQOUT)             
-!            
-!        ------------------------------------------------------------------
-!        budget calculation
-         PSSTO_ALL  = PSSTO_ALL  + PSURF_STO(I,J)  
-         PSSTO2_ALL = PSSTO2_ALL + PSURF_STO2(I,J)
-         PSIN_ALL   = PSIN_ALL   + ZQIN(I,J)
-         PSOUT_ALL  = PSOUT_ALL  + PSOUT(I,J)
-!              
-!        ------------------------------------------------------------------
-         IF(KGRCN(I,J)>=1.AND.KGRCN(I,J)<=8)THEN
-           ZQIN(KNEXTX(I,J),KNEXTY(I,J))=ZQIN(KNEXTX(I,J),KNEXTY(I,J))+PSOUT(I,J)
-         ENDIF
-!
-      ENDDO
-   ENDDO
-ENDDO
-!
-IF (LHOOK) CALL DR_HOOK('TRIP_SURFACE_WATER',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE TRIP_SURFACE_WATER
diff --git a/src/SURFEX/trip_surface_water_flood.F90 b/src/SURFEX/trip_surface_water_flood.F90
deleted file mode 100644
index 9de6a3c7eeae0b798a767b26524542a413631dfd..0000000000000000000000000000000000000000
--- a/src/SURFEX/trip_surface_water_flood.F90
+++ /dev/null
@@ -1,411 +0,0 @@
-      SUBROUTINE TRIP_SURFACE_WATER_FLOOD (KLUOUT,PTSTEP,KGRCN,KSEQ,KNEXTX,KNEXTY,    &
-                                            KSEQMAX,PLEN,PFLOOD_LEN,PSLOPEBED,        &
-                                            PWIDTH,PN,PN_FLOOD,PHC,PHFLOOD,PRUNOFF,   &
-                                            PSURF_STO,PSURF_STO2,PGOUT,PSOURCE,       &
-                                            PFLOOD_STO,PFLOOD_STO2,PSOUT,PVEL,PHS,    &
-                                            PFFLOOD,PAREA,PQFR,PQRF,PVFIN,PVFOUT,     &
-                                            PHSF,PSIN,                                &
-                                            PSSTO_ALL,PSSTO2_ALL,PSIN_ALL,PDRUN_ALL,  &
-                                            PSOUT_ALL,PVEL_ALL,PFSTO_ALL,PFSTO2_ALL,  &
-                                            PSOURCE_ALL,PFIN_ALL,PFOUT_ALL,PWFLOOD,   &
-                                            PSFLOOD_ALL,PHS_ALL,PTAB_F,PTAB_H,        &
-                                            PTAB_VF,KTABMAX                           ) 
-!     ################################################################
-!
-!!****  *TRIP_SURFACE_WATER_FLOOD*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Calculate the river and flood storage in the next time step based on storages
-!     of current time step using the Manning equation and the Arora (1999) 
-!     variable flow velocity scheme.
-!     Numérical method = RK Ordre 4 Rang 4:
-!
-!     Point de depart       : X0(t)     =X(t)
-!     point intermediaire K1: X1(t+dt/2)=X(t) + dt/2 * F(X0(t))
-!     point intermediaire K2: X2(t+dt/2)=X(t) + dt/2 * F(X1(t+dt/2))
-!     point intermediaire K3: X3(t+dt)  =X(t) + dt   * F(X2(t+dt/2))
-!     point final         K4:                          F(X3(t+dt))
-!
-!     point Final: X(t+dt)=X(t)+dt/6*(F(X0(t))+2*F(X1(t+dt/2))+2*F(X2(t+dt/2))+F(X3(t+dt)))
-!     
-!!**  METHOD
-!!    ------
-!
-!     RK Ordre 4 Rang 4
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/09 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR,    ONLY : XRHOLW_T
-!
-USE MODE_TRIP_FUNCTION
-!
-USE MODI_FLOOD_UPDATE
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-INTEGER, INTENT(IN)                  :: KLUOUT
-!
-REAL, INTENT(IN)                     :: PTSTEP ! Trip timestep value (10800s)
-!
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KGRCN  ! Flow direction (1->8)
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KSEQ   ! River sequence
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTX ! returns x and y point
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTY ! of destination grid:
-!                                                                    8 1 2
-!                                                                    7   3
-!                                                                    6 5 4
-!
-INTEGER, INTENT(IN)                  :: KSEQMAX ! maximum down flow
-!
-REAL,DIMENSION(:,:), INTENT(IN)      :: PLEN       ! river length       [m] 
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSLOPEBED  ! river bed slopes             [m/m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PWIDTH     ! river widths                 [m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PN         ! Manning roughness coeficient [-] (0.03 to 0.065)
-REAL,DIMENSION(:,:), INTENT(IN)      :: PN_FLOOD   ! Manning coeficient over floodplains   [-] (0.1)
-REAL,DIMENSION(:,:), INTENT(IN)      :: PHC        ! River bed depth              [m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSOURCE    ! precip-infiltration-evaporation [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PAREA      ! Grid-cell area    [m²]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PRUNOFF    ! Surface runoff from ISBA    [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PGOUT      ! ground water outflow        [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSURF_STO  ! river channel storage at t    [kg]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PFLOOD_STO ! Floodplain water storage at t [kg]
-!
-REAL,DIMENSION(:,:,:), INTENT(IN)    :: PTAB_F  ! Flood fraction array
-REAL,DIMENSION(:,:,:), INTENT(IN)    :: PTAB_H  ! Topo height array
-REAL,DIMENSION(:,:,:), INTENT(IN)    :: PTAB_VF ! Flood volume array
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KTABMAX
-!
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PSURF_STO2 ! river channel storage at t+1     [kg]
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PFLOOD_STO2! Floodplain water storage at t+1  [kg]
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PHFLOOD    ! Floodplain water depth       [m]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PWFLOOD    ! Floodplain width             [m]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PFLOOD_LEN ! Floodplain length along the river [m]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PFFLOOD    ! Fraction of flood [-]
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSIN  ! Inflow to the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSOUT ! Outflow from the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVEL  ! River channel velocity  [m/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PHS
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PQFR  ! Flood flow to river
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PQRF  ! River flow to floodplain
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVFIN ! River flow to flood velocity [m/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVFOUT! Flood flow to river velocity [m/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PHSF  ! River-Floodplain depth comparison [m] during dt
-!
-REAL,                 INTENT(OUT)    :: PSSTO_ALL,PSSTO2_ALL,PSIN_ALL,    &
-                                         PDRUN_ALL,PSOUT_ALL,PVEL_ALL,     &
-                                         PFSTO_ALL,PFSTO2_ALL,PSOURCE_ALL, &
-                                         PFIN_ALL,PFOUT_ALL,PSFLOOD_ALL,PHS_ALL 
-!                                       Final budget variable
-!
-!*      0.2    declarations of local variables
-!
-REAL, DIMENSION(SIZE(PLEN,1),SIZE(PLEN,2)) :: ZQIN
-!
-INTEGER :: ILON, ILAT, I, J, ISEQ
-!
-REAL    :: ZVELCOEF,ZQOUT,ZAREA,ZTSTEP,ZSTOMAX,ZDELTA,&
-            ZFLOOD_STO,ZRECUP,ZFOUT,ZHF,ZWF,ZLF,ZFF 
-!
-REAL    :: ZS1,ZS2,ZS3
-REAL    :: ZF1,ZF2,ZF3
-REAL    :: ZK1,ZK2,ZK3,ZK4
-REAL    :: ZQ1,ZQ2,ZQ3,ZQ4
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('MODI_TRIP_SURFACE_WATER_FLOOD:TRIP_SURFACE_WATER_FLOOD',0,ZHOOK_HANDLE)
-ILON = SIZE(PLEN,1)
-ILAT = SIZE(PLEN,2)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-PSURF_STO2 (:,:) = 0.0
-PSIN       (:,:) = 0.0
-PSOUT      (:,:) = 0.0
-PVEL       (:,:) = 0.0
-PHS        (:,:) = 0.0
-PFLOOD_STO2(:,:) = 0.0
-!
-PVFIN      (:,:) = 0.0
-PVFOUT     (:,:) = 0.0
-PHSF       (:,:) = 0.0
-!
-ZQIN  (:,:) = 0.0
-!
-PFSTO_ALL   = 0.0
-PFSTO2_ALL  = 0.0
-PSOURCE_ALL = 0.0
-PSSTO_ALL   = 0.0
-PSSTO2_ALL  = 0.0
-PSIN_ALL    = 0.0
-PDRUN_ALL   = 0.0
-PSOUT_ALL   = 0.0
-PVEL_ALL    = 0.0
-PFIN_ALL    = 0.0
-PFOUT_ALL   = 0.0
-PSFLOOD_ALL = 0.0
-PHS_ALL=0.0
-!
-ZAREA=SUM(PAREA,PLEN>0.0)
-!
-!-------------------------------------------------------------------------------
-!Sequence loop
-!
-DO ISEQ=1,KSEQMAX
-   DO J=1,ILAT
-      DO I=1,ILON
-!      
-         IF(KSEQ(I,J)/=ISEQ.OR.KSEQ(I,J)==0)CYCLE
-!
-!        ---------------------------------------------------------------------
-!        inflow calculation
-!
-         ZQIN(I,J)=ZQIN(I,J)+PRUNOFF(I,J)+PGOUT(I,J)
-         PDRUN_ALL=PDRUN_ALL+PRUNOFF(I,J)+PGOUT(I,J)
-! 
-         PSIN(I,J)=ZQIN(I,J)
-!  
-         IF(PN(I,J)>0.0)THEN
-            ZVELCOEF=SQRT(PSLOPEBED(I,J))/PN(I,J)
-         ELSE
-            ZVELCOEF=0.0
-         ENDIF
-!
-!        ------------------------------------------------------------------
-!        Update the floodplain storage due to source (Precip inter - LEf - Infil)
-         ZFLOOD_STO=PFLOOD_STO(I,J)+PTSTEP*PSOURCE(I,J)
-         ZRECUP    =MIN(ZFLOOD_STO,0.0)
-         ZFLOOD_STO=MAX(ZFLOOD_STO,0.0)
-! 
-         CALL FLOOD_UPDATE(PTAB_F(I,J,1:KTABMAX(I,J)),PTAB_H(I,J,1:KTABMAX(I,J)),PTAB_VF(I,J,1:KTABMAX(I,J)), &
-                            PAREA(I,J),ZFLOOD_STO,ZHF,ZFF,ZLF,ZWF) 
-!
-!        ------------------------------------------------------------------
-!        delta calculation to resolve the end of a flood event without Runge Kutta
-!        ie : if delta=1, the flood is very small, so it run off directly to the stream
-         ZDELTA=DELTA_FLOOD(PSURF_STO(I,J),ZFLOOD_STO,ZHF,ZLF,ZWF,PHC(I,J),PWIDTH(I,J),PLEN(I,J))
-!
-!        ------------------------------------------------------------------
-!        Runge Kutta 4            
-!        ------------------------------------------------------------------
-!
-!        1-----------------------------------------------------------------
-         ZTSTEP=PTSTEP/2.0
-!
-         ZQ1=FUNCFLOOD(PSURF_STO(I,J),ZFLOOD_STO,ZHF,ZLF,ZWF,PHC(I,J),PN_FLOOD(I,J),PWIDTH(I,J),PLEN(I,J),ZDELTA,ZFF)
-         ZK1=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),PSURF_STO(I,J),PSIN(I,J))
-!             
-         ZF1=ZFLOOD_STO    +ZTSTEP*ZQ1
-         ZS1=PSURF_STO(I,J)+ZTSTEP*(ZK1-ZQ1)
-!
-         CALL FLOOD_UPDATE(PTAB_F(I,J,1:KTABMAX(I,J)),PTAB_H(I,J,1:KTABMAX(I,J)),PTAB_VF(I,J,1:KTABMAX(I,J)), &
-                            PAREA(I,J),ZF1,ZHF,ZFF,ZLF,ZWF) 
-!
-!        2-----------------------------------------------------------------
-         ZTSTEP=PTSTEP/2.0
-! 
-         ZQ2=FUNCFLOOD(ZS1,ZF1,ZHF,ZLF,ZWF,PHC(I,J),PN_FLOOD(I,J),PWIDTH(I,J),PLEN(I,J),ZDELTA,ZFF)
-         ZK2=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),ZS1,PSIN(I,J))
-!             
-         ZF2=ZFLOOD_STO    +ZTSTEP*ZQ2
-         ZS2=PSURF_STO(I,J)+ZTSTEP*(ZK2-ZQ2)
-!
-         CALL FLOOD_UPDATE(PTAB_F(I,J,1:KTABMAX(I,J)),PTAB_H(I,J,1:KTABMAX(I,J)),PTAB_VF(I,J,1:KTABMAX(I,J)), &
-                            PAREA(I,J),ZF2,ZHF,ZFF,ZLF,ZWF) 
-!
-!        3-----------------------------------------------------------------
-         ZTSTEP=PTSTEP
-!   
-         ZQ3=FUNCFLOOD(ZS2,ZF2,ZHF,ZLF,ZWF,PHC(I,J),PN_FLOOD(I,J),PWIDTH(I,J),PLEN(I,J),ZDELTA,ZFF)
-         ZK3=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),ZS2,PSIN(I,J))
-!
-         ZF3=ZFLOOD_STO    +ZTSTEP*ZQ3
-         ZS3=PSURF_STO(I,J)+ZTSTEP*(ZK3-ZQ3)
-!
-         CALL FLOOD_UPDATE(PTAB_F(I,J,1:KTABMAX(I,J)),PTAB_H(I,J,1:KTABMAX(I,J)),PTAB_VF(I,J,1:KTABMAX(I,J)), &
-                            PAREA(I,J),ZF3,ZHF,ZFF,ZLF,ZWF) 
-!
-!        4-----------------------------------------------------------------
-!
-         ZQ4=FUNCFLOOD(ZS3,ZF3,ZHF,ZLF,ZWF,PHC(I,J),PN_FLOOD(I,J),PWIDTH(I,J),PLEN(I,J),ZDELTA,ZFF)
-         ZK4=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),ZS3,PSIN(I,J))
-!
-!        Final points------------------------------------------------------
-         ZTSTEP=PTSTEP/6.0
-!
-         PFLOOD_STO2(I,J)=ZFLOOD_STO    +ZTSTEP*(ZQ1+2.0*ZQ2+2.0*ZQ3+ZQ4)-ZDELTA*ZFLOOD_STO
-         PSURF_STO2 (I,J)=PSURF_STO(I,J)+ZTSTEP*(ZK1-ZQ1+2.0*(ZK2-ZQ2)+2.0*(ZK3-ZQ3)+ZK4-ZQ4)+ZDELTA*ZFLOOD_STO
-!        -------------------------------------------------------------------
-!        supress numerical artifacs
-         IF(PSURF_STO2(I,J)<=0.0.AND.PFLOOD_STO2(I,J)>0.0)THEN
-            WRITE(KLUOUT,*)'-------------------------------------------------------'
-            WRITE(KLUOUT,*)'Stream reservoir (kg/m²) :',PSURF_STO2 (I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Flood  reservoir (kg/m²) :',PFLOOD_STO2(I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Longitude index :',I,'Latitude index :',J
-            PSURF_STO2 (I,J)=MIN(PLEN(I,J)*PWIDTH(I,J)*PHC(I,J)*XRHOLW_T,PFLOOD_STO2(I,J))
-            PFLOOD_STO2(I,J)=MAX(0.0,PFLOOD_STO2(I,J)-PSURF_STO2 (I,J))
-            WRITE(KLUOUT,*)'Stream reservoir (kg/m²) :',PSURF_STO2 (I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Flood  reservoir (kg/m²) :',PFLOOD_STO2(I,J)/PAREA(I,J)               
-            WRITE(KLUOUT,*)'-------------------------------------------------------'
-         ENDIF
-!             
-         IF(PSURF_STO2(I,J)<0.0)THEN
-            WRITE(KLUOUT,*)'-------------------------------------------------------'
-            WRITE(KLUOUT,*)'TRIP_SURFACE_WATER_FLOOD : Stream reservoir is negatif '
-            WRITE(KLUOUT,*)'                           after RK                    '
-            WRITE(KLUOUT,*)'Stream reservoir     (kg/m²) :',PSURF_STO2(I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Stream reservoir in  (kg/m²) :',PSURF_STO (I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Flood  reservoir     (kg/m²) :',PFLOOD_STO2(I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Longitude index :',I,'Latitude index :',J
-            WRITE(KLUOUT,*)'Perhaps TRIP time step too big : ',PTSTEP
-            WRITE(KLUOUT,*)'-------------------------------------------------------'
-            STOP
-         ENDIF             
-!
-!        -------------------------------------------------------------------
-!        total flood flux  
-         ZFOUT = (ZFLOOD_STO-PFLOOD_STO2(I,J))/PTSTEP
-!
-!        -------------------------------------------------------------------
-!        supress numerical artifacs
-         ZSTOMAX=(ZQIN(I,J)+ZFOUT)*PTSTEP+PSURF_STO(I,J)
-!      
-         PSURF_STO2(I,J)=MIN(ZSTOMAX,PSURF_STO2(I,J))
-!
-!        ------------------------------------------------------------------
-!        river channel outflow calculation and supress numerical artifacs
-!
-         ZQOUT      = (PSURF_STO(I,J)-PSURF_STO2(I,J))/PTSTEP+ZQIN(I,J)+ZFOUT
-         PSOUT(I,J) = MAX(ZQOUT,0.0)
-!             
-         PSURF_STO2(I,J) = PSURF_STO2(I,J) + (PSOUT(I,J)-ZQOUT)  
-!
-!        ------------------------------------------------------------------
-!        river channel height and velocity diagnostic     
-!           
-         IF(ZVELCOEF==0.0)THEN
-            PHS(I,J)=0.0
-         ELSE
-            PHS(I,J)=PSURF_STO2(I,J)/(XRHOLW_T*PLEN(I,J)*PWIDTH(I,J))
-         ENDIF
-!             
-         PVEL(I,J)=DIAGVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),PHS(I,J))
-!             
-!        -------------------------------------------------------------------
-!        supress numerical artifacs
-!
-         ZRECUP=ZRECUP+MIN(PFLOOD_STO2(I,J),0.0)
-         PFLOOD_STO2(I,J)=MAX(PFLOOD_STO2(I,J),0.0)
-!
-         PSURF_STO2(I,J) =PSURF_STO2(I,J)+ZRECUP
-!             
-!        -------------------------------------------------------------------
-         IF(PSURF_STO2(I,J)<0.0)THEN
-            WRITE(KLUOUT,*)'-------------------------------------------------------'
-            WRITE(KLUOUT,*)'TRIP_SURFACE_WATER_FLOOD : Stream reservoir is negatif '
-            WRITE(KLUOUT,*)'                       when supress numerical artifacs '
-            WRITE(KLUOUT,*)'Stream reservoir     (kg/m²) :',PSURF_STO2 (I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Recup                (kg/m²) :',ZRECUP/PAREA(I,J)
-            WRITE(KLUOUT,*)'Flood  reservoir in  (kg/m²) :',ZFLOOD_STO/PAREA(I,J)
-            WRITE(KLUOUT,*)'Flood  reservoir end (kg/m²) :',PFLOOD_STO2(I,J)/PAREA(I,J)
-            WRITE(KLUOUT,*)'Longitude index :',I,'Latitude index :',J
-            WRITE(KLUOUT,*)'Perhaps TRIP time step too big : ',PTSTEP
-            WRITE(KLUOUT,*)'-------------------------------------------------------'
-            STOP
-         ENDIF   
-!         
-!        ------------------------------------------------------------------
-!        flood diag using flood variables at t and stream variables at t+dt
-!
-         PQFR(I,J)=    MAX(0.0,ZFOUT)
-         PQRF(I,J)=ABS(MIN(0.0,ZFOUT))
-!             
-         IF(PHC(I,J)>0.0)THEN           
-            PHSF(I,J)=PHS(I,J)-PHC(I,J)-PHFLOOD(I,J)
-         ENDIF
-!
-         CALL VELFLOOD(PHS(I,J),PFFLOOD(I,J),PHFLOOD(I,J),PFLOOD_LEN(I,J),PWFLOOD(I,J),PHC(I,J),&
-                        PN_FLOOD(I,J),PWIDTH(I,J),ZDELTA,PVFIN(I,J),PVFOUT(I,J)     ) 
-!             
-         IF(PHFLOOD(I,J)>0.0)THEN
-            PVFOUT(I,J)=ZDELTA/PTSTEP+(1.0-ZDELTA)*PVFOUT(I,J)
-         ENDIF            
-!
-!        ------------------------------------------------------------------
-!        Final flood update
-!
-         CALL FLOOD_UPDATE(PTAB_F(I,J,1:KTABMAX(I,J)),PTAB_H(I,J,1:KTABMAX(I,J)),PTAB_VF(I,J,1:KTABMAX(I,J)), &
-                            PAREA(I,J),PFLOOD_STO2(I,J),ZHF,ZFF,ZLF,ZWF) 
-!
-         PFFLOOD   (I,J)=ZFF
-         PHFLOOD   (I,J)=ZHF
-         PFLOOD_LEN(I,J)=ZLF
-         PWFLOOD   (I,J)=ZWF             
-!
-!        ------------------------------------------------------------------
-!        budget calculation
-         PSSTO_ALL  = PSSTO_ALL  + PSURF_STO(I,J)  
-         PSSTO2_ALL = PSSTO2_ALL + PSURF_STO2(I,J) - ZRECUP
-         PSIN_ALL   = PSIN_ALL   + ZQIN(I,J)
-         PSOUT_ALL  = PSOUT_ALL  + PSOUT(I,J)
-         PVEL_ALL   = PVEL_ALL   + PVEL(I,J) * PAREA(I,J)
-         PHS_ALL    = PHS_ALL    + PHS (I,J) * PAREA(I,J)
-!             
-         IF(PHC(I,J)>0.0)THEN           
-            PSFLOOD_ALL= PSFLOOD_ALL+ ZFOUT   
-            PFSTO_ALL  = PFSTO_ALL  + PFLOOD_STO(I,J)
-            PFSTO2_ALL = PFSTO2_ALL + PFLOOD_STO2(I,J) + ZRECUP
-            PFIN_ALL   = PFIN_ALL   + PQRF(I,J)
-            PFOUT_ALL  = PFOUT_ALL  + PQFR(I,J)
-            PSOURCE_ALL= PSOURCE_ALL+ PSOURCE(I,J)
-         ENDIF
-!              
-!        ------------------------------------------------------------------
-         IF(KGRCN(I,J)>=1.AND.KGRCN(I,J)<=8)THEN
-            ZQIN(KNEXTX(I,J),KNEXTY(I,J))=ZQIN(KNEXTX(I,J),KNEXTY(I,J))+PSOUT(I,J)
-         ENDIF
-!
-      ENDDO
-   ENDDO
-ENDDO
-!
-PVEL_ALL = PVEL_ALL / ZAREA
-PHS_ALL = PHS_ALL / ZAREA
-!
-!-------------------------------------------------------------------------------
-IF (LHOOK) CALL DR_HOOK('MODI_TRIP_SURFACE_WATER_FLOOD:TRIP_SURFACE_WATER_FLOOD',1,ZHOOK_HANDLE)
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE TRIP_SURFACE_WATER_FLOOD
diff --git a/src/SURFEX/trip_surface_water_velvar.F90 b/src/SURFEX/trip_surface_water_velvar.F90
deleted file mode 100644
index 94bf5145a02272505fc23540de302bef8113195a..0000000000000000000000000000000000000000
--- a/src/SURFEX/trip_surface_water_velvar.F90
+++ /dev/null
@@ -1,231 +0,0 @@
-!     #########
-      SUBROUTINE TRIP_SURFACE_WATER_VELVAR (PTSTEP,KGRCN,KSEQ,KNEXTX,KNEXTY,KSEQMAX,       &
-                                             PLEN,PSLOPEBED,PWIDTH,PN,PRUNOFF,PSURF_STO,   &
-                                             PSURF_STO2,PGOUT,PSIN,PSOUT,PVEL,PHS,PAREA,   &
-                                             PSSTO_ALL,PSSTO2_ALL,PSIN_ALL,PDRUN_ALL,      &
-                                             PSOUT_ALL,PVEL_ALL,PHS_ALL                    ) 
-!     ################################################################
-!
-!!****  *TRIP_SURFACE_WATER_VELVAR*  
-!!
-!!    PURPOSE
-!!    -------
-!
-!     Calculate the river storage in the next time step based on the storage
-!     of current time step using the Manning equation and the Arora (1999) 
-!     variable flow velocity scheme.
-!     Numérical method = RK Ordre 4 Rang 4:
-!
-!     Point de depart       : X0(t)     =X(t)
-!     point intermediaire K1: X1(t+dt/2)=X(t) + dt/2 * F(X0(t))
-!     point intermediaire K2: X2(t+dt/2)=X(t) + dt/2 * F(X1(t+dt/2))
-!     point intermediaire K3: X3(t+dt)  =X(t) + dt   * F(X2(t+dt/2))
-!     point final         K4:                          F(X3(t+dt))
-!
-!     point Final: X(t+dt)=X(t)+dt/6*(F(X0(t))+2*F(X1(t+dt/2))+2*F(X2(t+dt/2))+F(X3(t+dt)))
-!
-!     
-!!**  METHOD
-!!    ------
-!
-!     RK Ordre 4 Rang 4
-!
-!!    EXTERNAL
-!!    --------
-!
-!     None
-!!
-!!    IMPLICIT ARGUMENTS
-!!    ------------------
-!!
-!!      
-!!    REFERENCE
-!!    ---------
-!!      
-!!    AUTHOR
-!!    ------
-!!	B. Decharme     
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    01/02/09 
-!-------------------------------------------------------------------------------
-!
-!*       0.     DECLARATIONS
-!               ------------
-!
-USE MODD_TRIP_PAR, ONLY : XRHOLW_T
-!
-USE MODE_TRIP_FUNCTION
-!
-IMPLICIT NONE
-!
-!*      0.1    declarations of arguments
-!
-REAL, INTENT(IN)                     :: PTSTEP ! Trip timestep value (10800s)
-!
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KGRCN  ! Flow direction (1->8)
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KSEQ   ! River sequence
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTX ! returns x and y point
-INTEGER, DIMENSION(:,:),INTENT(IN)   :: KNEXTY ! of destination grid:
-!                                                                    8 1 2
-!                                                                    7   3
-!                                                                    6 5 4
-!
-INTEGER, INTENT(IN)                  :: KSEQMAX ! maximum down flow
-!
-REAL,DIMENSION(:,:), INTENT(IN)      :: PLEN       ! river length       [m] 
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSLOPEBED  ! river bed slopes             [m/m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PWIDTH     ! river widths                 [m]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PN         ! Manning roughness coeficient [-] (0.03 to 0.065)
-REAL,DIMENSION(:,:), INTENT(IN)      :: PAREA      ! Grid-cell area    [m²]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PRUNOFF    ! Surface runoff from ISBA    [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PGOUT      ! ground water outflow        [kg/s]
-REAL,DIMENSION(:,:), INTENT(IN)      :: PSURF_STO  ! river channel storage at t    [kg]
-!
-REAL,DIMENSION(:,:), INTENT(INOUT)   :: PSURF_STO2 ! river channel storage at t+1     [kg]
-!
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PHS   ! river channel height [m]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSIN  ! Inflow to the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PSOUT ! Outflow from the surface river reservoir [kg/s]
-REAL,DIMENSION(:,:), INTENT(OUT)     :: PVEL  ! River channel velocity  [m/s]
-!
-REAL,                 INTENT(OUT)    :: PSSTO_ALL,PSSTO2_ALL,PSIN_ALL,    &
-                                         PDRUN_ALL,PSOUT_ALL,PVEL_ALL,     &
-                                         PHS_ALL 
-!                                       Final budget variable
-!
-!*      0.2    declarations of local variables
-!
-REAL, DIMENSION(SIZE(PLEN,1),SIZE(PLEN,2)) :: ZQIN
-!
-REAL    :: ZVELCOEF,ZQOUT,ZAREA, &
-            ZTSTEP,ZSTOMAX 
-!
-REAL    :: ZS1,ZS2,ZS3
-REAL    :: ZK1,ZK2,ZK3,ZK4
-!
-INTEGER :: ILON, ILAT, I, J, ISEQ
-REAL(KIND=JPRB) :: ZHOOK_HANDLE
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-IF (LHOOK) CALL DR_HOOK('MODI_TRIP_SURFACE_WATER_VELVAR:TRIP_SURFACE_WATER_VELVAR',0,ZHOOK_HANDLE)
-ILON = SIZE(PLEN,1)
-ILAT = SIZE(PLEN,2)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-!
-PSURF_STO2 (:,:) = 0.0
-PSIN       (:,:) = 0.0
-PSOUT      (:,:) = 0.0
-PVEL       (:,:) = 0.0
-ZQIN       (:,:) = 0.0
-!
-PSSTO_ALL   = 0.0
-PSSTO2_ALL  = 0.0
-PSIN_ALL    = 0.0
-PDRUN_ALL   = 0.0
-PSOUT_ALL   = 0.0
-PVEL_ALL    = 0.0
-PHS_ALL=0.0
-!
-ZAREA=SUM(PAREA,PLEN>0.0)
-!
-!-------------------------------------------------------------------------------
-!Sequence loop
-!
-DO ISEQ=1,KSEQMAX
-   DO J=1,ILAT
-      DO I=1,ILON
-!      
-         IF(KSEQ(I,J)/=ISEQ.OR.KSEQ(I,J)==0)CYCLE
-!
-!        ---------------------------------------------------------------------
-!        inflow calculation
-!
-         ZQIN(I,J)=ZQIN(I,J)+PRUNOFF(I,J)+PGOUT(I,J)
-         PDRUN_ALL=PDRUN_ALL+PRUNOFF(I,J)+PGOUT(I,J)
-!
-         PSIN(I,J)=ZQIN(I,J)
-!  
-         IF(PN(I,J)>0.0)THEN
-           ZVELCOEF=SQRT(PSLOPEBED(I,J))/PN(I,J)
-         ELSE
-           ZVELCOEF=0.0
-         ENDIF
-!
-!        ------------------------------------------------------------------
-!        Runge Kutta 4            
-!        ------------------------------------------------------------------
-!           
-         ZTSTEP=PTSTEP/2.0
-         ZK1=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),PSURF_STO(I,J),PSIN(I,J))
-         ZS1=PSURF_STO(I,J)+ZTSTEP*ZK1
-!
-         ZTSTEP=PTSTEP/2.0
-         ZK2=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),ZS1,PSIN(I,J))
-         ZS2=PSURF_STO(I,J)+ZTSTEP*ZK2
-!
-         ZTSTEP=PTSTEP
-         ZK3=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),ZS2,PSIN(I,J))
-         ZS3=PSURF_STO(I,J)+ZTSTEP*ZK3
-!
-         ZK4=FUNCVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),ZS3,PSIN(I,J))
-!
-         ZTSTEP=PTSTEP/6.0
-         PSURF_STO2(I,J)=PSURF_STO(I,J)+ZTSTEP*(ZK1+2.0*ZK2+2.0*ZK3+ZK4)
-!
-!        -------------------------------------------------------------------
-!        supress numerical artifacs
-         ZSTOMAX=ZQIN(I,J)*PTSTEP+PSURF_STO(I,J)
-!      
-         PSURF_STO2(I,J)=MIN(ZSTOMAX,PSURF_STO2(I,J))
-!
-!        ------------------------------------------------------------------
-!        river channel outflow calculation and supress numerical artifacs
-!
-         ZQOUT      = (PSURF_STO(I,J)-PSURF_STO2(I,J))/PTSTEP+ZQIN(I,J)
-         PSOUT(I,J) = MAX(ZQOUT,0.0)
-!             
-         PSURF_STO2(I,J) = PSURF_STO2(I,J) + (PSOUT(I,J)-ZQOUT)
-!            
-!        ------------------------------------------------------------------
-!        river channel height and velocity diagnostic             
-!           
-         IF(ZVELCOEF==0.0)THEN
-            PHS(I,J)=0.0
-         ELSE
-            PHS(I,J)=PSURF_STO2(I,J)/(XRHOLW_T*PLEN(I,J)*PWIDTH(I,J))
-         ENDIF
-!           
-         PVEL(I,J)=DIAGVEL(ZVELCOEF,PLEN(I,J),PWIDTH(I,J),PHS(I,J))
-!
-!        ------------------------------------------------------------------
-!        budget calculation
-         PSSTO_ALL  = PSSTO_ALL  + PSURF_STO (I,J)  
-         PSSTO2_ALL = PSSTO2_ALL + PSURF_STO2(I,J)
-         PSIN_ALL   = PSIN_ALL   + ZQIN      (I,J)
-         PSOUT_ALL  = PSOUT_ALL  + PSOUT     (I,J)
-         PVEL_ALL   = PVEL_ALL   + PVEL      (I,J) * PAREA(I,J)
-         PHS_ALL    = PHS_ALL    + PHS       (I,J) * PAREA(I,J)
-!              
-!        ------------------------------------------------------------------
-         IF(KGRCN(I,J)>=1.AND.KGRCN(I,J)<=8)THEN
-           ZQIN(KNEXTX(I,J),KNEXTY(I,J))=ZQIN(KNEXTX(I,J),KNEXTY(I,J))+PSOUT(I,J)
-         ENDIF
-!
-      ENDDO
-   ENDDO
-ENDDO
-!
-PVEL_ALL = PVEL_ALL / ZAREA
-PHS_ALL = PHS_ALL / ZAREA
-!
-IF (LHOOK) CALL DR_HOOK('MODI_TRIP_SURFACE_WATER_VELVAR:TRIP_SURFACE_WATER_VELVAR',1,ZHOOK_HANDLE)
-!
-!-------------------------------------------------------------------------------
-!-------------------------------------------------------------------------------
-END SUBROUTINE TRIP_SURFACE_WATER_VELVAR