The TELEMAC-MASCARET system  trunk
cgl.f
Go to the documentation of this file.
1 ! *****************************
2  DOUBLE PRECISION FUNCTION cgl
3 ! *****************************
4 !
5  &(i,at)
6 !
7 !***********************************************************************
8 ! TELEMAC2D V7P1
9 !***********************************************************************
10 !
11 !brief PRESCRIBES THE FREE SURFACE ELEVATION FOR LEVEL IMPOSED
12 !+ LIQUID BOUNDARIES.
13 !
14 !history J-M HERVOUET (LNHE)
15 !+ 17/08/1994
16 !+ V6P0
17 !+
18 !
19 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
20 !+ 13/07/2010
21 !+ V6P0
22 !+ Translation of French comments within the FORTRAN sources into
23 !+ English comments
24 !
25 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
26 !+ 21/08/2010
27 !+ V6P0
28 !+ Creation of DOXYGEN tags for automated documentation and
29 !+ cross-referencing of the FORTRAN sources
30 !
31 !history C. COULET (ARTELIA GROUP)
32 !+ 08/11/2011
33 !+ V6P2
34 !+ Modification size FCT due to modification of TRACER numbering
35 !
36 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 !| I |-->| NUMBER OF LIQUID BOUNDARY
38 !| N |-->| GLOBAL NUMBER OF POINT
39 !| | | IN PARALLEL NUMBER IN THE ORIGINAL MESH
40 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 !
42  USE bief
45 !
46 ! USE INTERFACE_SISYPHE, EX_CGL => CGL
47 !
48  IMPLICIT NONE
49 !
50 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
51 !
52  INTEGER, INTENT(IN) :: I
53  DOUBLE PRECISION, INTENT(IN):: AT
54 !
55 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
56 !
57  CHARACTER(LEN=9) FCT
58 !
59 !-----------------------------------------------------------------------
60 !
61 ! IF THE LIQUID BOUNDARY FILE EXISTS, ATTEMPTS TO FIND
62 ! THE VALUE IN IT. IF YES, OK REMAINS TO .TRUE. FOR NEXT CALLS
63 ! IF NO, OK IS SET TO .FALSE.
64 !
65  IF(okcgl(i).AND.sis_files(sisliq)%NAME(1:1).NE.' ') THEN
66 !
67 ! FCT WILL BE CGL(1), CGL(2), ETC, CGL(9), DEPENDING ON I
68  fct='CG( '
69  IF(i.LT.10) THEN
70  WRITE(fct(4:4),fmt='(I1)') i
71  fct(5:5)=')'
72  ELSEIF(i.LT.100) THEN
73  WRITE(fct(4:5),fmt='(I2)') i
74  fct(6:6)=')'
75  ELSE
76  WRITE(lu,*)'I=',i
77  WRITE(lu,*) 'CGL NOT PROGRAMMED FOR MORE THAN 99 BOUNDARIES'
78  CALL plante(1)
79  stop
80  ENDIF
81 !
82  CALL read_fic_conc(cgl,fct,at,sis_files(sisliq)%LU,
83  & okcgl(i))
84 !
85  ENDIF
86 !
87  IF(.NOT.okcgl(i).OR.sis_files(sisliq)%NAME(1:1).EQ.' ') THEN
88 ! USER DEFINED
89  CALL user_cgl(cgl, i, at)
90  WRITE(lu,101) i
91 101 FORMAT(1x,/,1x,'CG: MORE PRESCRIBED ELEVATIONS ARE REQUIRED'
92  & ,/,1x,' IN THE PARAMETER FILE'
93  & ,/,1x,' AT LEAST ',1i6,' MUST BE GIVEN')
94  CALL plante(1)
95  stop
96  ENDIF
97 !
98 !
99 !-----------------------------------------------------------------------
100 !
101  RETURN
102  END
subroutine read_fic_conc(CGL, WHAT, AT, NFIC, FOUND)
Definition: read_fic_conc.f:7
logical, dimension(:), allocatable okcgl
subroutine user_cgl(CGL, I, AT)
Definition: user_cgl.f:7
double precision, dimension(:), pointer x
double precision function cgl(I, AT)
Definition: cgl.f:7
type(bief_file), dimension(maxlu_sis), target sis_files
Definition: bief.f:3