read_bath.f90

### TABLE OF CONTENTS

- 1. UTI/PRE/read_bath

## UTI/PRE/read_bath [ Modules ]

[ Top ] [ Modules ]

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