 SUBROUTINE read_bath(icode,iarg)
!=========================== DOCUMENTATION ============================= 
!DOCDEBh*    UTI/PRE/read_bath *
!
!    NOM
! read_bath(icode,iarg)
!    DESCRIPTION  
!*
! Lecture du Bloc BATH du fichier de donnees
! Read the BATH block of the data file
!*
! 
!    ENTREES / INPUT
!    icode  : 0/ Initialisation de la bathymetrie par fonction utilisateur
!               / Initialization of bathymetry by user function
!             1/ Initialisation de la bathymetrie par interpolation lineaire par bloc
!               / Initialization of bathymetry by linear interpolation per block
!             2/ Initialisation de la bathymetrie par bloc sur le raffinement max
!               / Initialization of bathymetry per block on the highest mesh refinement level
!    iarg   : argument for the selected case
!
!    SORTIES / OUTPUT
!
!    SOURCE
! Ce logiciel est regi par la licence [CeCILL-B]
! This software is governed by the [CeCILL-B] license
!=========================== DEBUT DES DECLARATIONS ==================== 
!.1-----  Implicit, Use
  use num
  IMPLICIT NONE
!.2-----  Declaration
  integer, intent(inout)                           :: icode,iarg !! Code, argument
  
!=========================== DEBUT DU CODE EXECUTABLE ==================
  write(*,*)
  write(*,*)achar(27)//'[34m================================================'
  write(*,*)'Reading bathymetry and friction: block BATH'
  write(*,*)'================================================'//achar(27)//'[0m'
  write(*,*)

  SELECT CASE (icode)
      CASE(0) ! Fond plat
          write(*,*)'BATH-Info Bathymetry : Flat Bottom and no friction'
          ibathy=icode

      CASE(1) ! Initialisation de la bathymetrie par fonction utilisateur
          num_bathy=iarg
          write(*,*)'BATH-Info Bathymetry and friction defined by user fonction number:',num_bathy
          ibathy=icode

!----------------------------------------
      CASE (2) ! Initialisation de la bathymetrie par interpolation lineaire par bloc
          num_bathy=iarg
          read(33,*)fich_bathy
          write(*,*)'BATH-Info Bathymetry and friction defined linearly per block on file:',fich_bathy
          ibathy=icode
          if(iarg.eq.-1)ibathy=-2

!~!------------------------------------------------------
!~      CASE (3) ! Initialisation de la bathymetrie par bloc sur le raffinement max
!~          read(*,*)fich_bathy
!~          write(*,*)'BATH-Info Bathymetry and friction defined per block at the highest mesh refinement level on file:',fich_bathy
!~          ibathy=icode
!~         call print_err('READ_BATH','This feature has not yet been implemented')

          
      CASE DEFAULT
         call print_err('READ_BATH','Unforeseen case')
          
  END SELECT
!===========================   FIN DE LA ROUTINE    ====================
END SUBROUTINE read_bath
!DOCFIN