The TELEMAC-MASCARET system  trunk
maskab.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE maskab
3 ! *****************
4 !
5  &(hn , q , qu , qv , npoin)
6 !
7 !***********************************************************************
8 ! SISYPHE V6P1 21/07/2011
9 !***********************************************************************
10 !
11 !brief ELIMINATES NEGATIVE WATER DEPTHS.
12 !
13 !history E. PELTIER; C. LENORMANT; J.-M. HERVOUET
14 !+ 11/09/95
15 !+ V5P1
16 !+
17 !
18 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
19 !+ 13/07/2010
20 !+ V6P0
21 !+ Translation of French comments within the FORTRAN sources into
22 !+ English comments
23 !
24 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
25 !+ 21/08/2010
26 !+ V6P0
27 !+ Creation of DOXYGEN tags for automated documentation and
28 !+ cross-referencing of the FORTRAN sources
29 !
30 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 !| HN |<->| WATER DEPTH
32 !| NPOIN |-->| NUMBER OF POINTS
33 !| Q |-->| LIQUID DISCHARGE
34 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35 !
36  IMPLICIT NONE
37 !
38 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
39 !
40  INTEGER, INTENT(IN):: NPOIN
41 !
42  DOUBLE PRECISION, INTENT(IN) :: HN(npoin)
43  DOUBLE PRECISION, INTENT(INOUT) :: Q(npoin),QU(npoin),QV(npoin)
44 !
45 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
46 !
47  INTEGER I
48 !
49 !-----------------------------------------------------------------------
50 !
51 !
52 ! CAPS WATER DEPTHS
53 !
54  DO i=1,npoin
55 !
56 ! TREATS NEGATIVE VALUES IN THE DOMAIN
57 !
58  IF(hn(i).LE.0.d0) THEN
59  q(i) = 0.d0
60  qu(i) = 0.d0
61  qv(i) = 0.d0
62  ENDIF
63  ENDDO
64 
65  CALL user_maskab (hn , q , qu , qv , npoin)
66 !
67 !-----------------------------------------------------------------------
68 !
69  RETURN
70  END SUBROUTINE maskab
subroutine user_maskab(HN, Q, QU, QV, NPOIN)
Definition: user_maskab.f:7
subroutine maskab(HN, Q, QU, QV, NPOIN)
Definition: maskab.f:7
double precision function q(I)
Definition: q.f:7