The TELEMAC-MASCARET system  trunk
masktf.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE masktf
3 ! *****************
4 !
5  &(maskel,hn,hmin,ikle,nelem,npoin)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief MASKS DRY ELEMENTS (MASKS TIDAL FLATS).
12 !code
13 !+ SIMPLE ALGORITHM: AN ELEMENT IS DRY IF ONE OF ITS DEPTHS IS
14 !+ LESS THAN HMIN
15 !+
16 !+ USED BY SISYPHE (IN THIS CASE THE DEPTH IS GIVEN BY TELEMAC, SO
17 !+ A SOPHISTICATED ALGORITHM TO PRESERVE THE DYNAMICS OF FLOODING
18 !+ IS NOT NEEDED)
19 !
20 !history J-M HERVOUET (LNHE)
21 !+ 20/10/08
22 !+ V5P9
23 !+
24 !
25 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
26 !+ 13/07/2010
27 !+ V6P0
28 !+ Translation of French comments within the FORTRAN sources into
29 !+ English comments
30 !
31 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
32 !+ 21/08/2010
33 !+ V6P0
34 !+ Creation of DOXYGEN tags for automated documentation and
35 !+ cross-referencing of the FORTRAN sources
36 !
37 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38 !| HMIN |-->| MINIMUM VALUE OF DEPTH
39 !| HN |-->| WATER DEPTH AT TIME N
40 !| IKLE |-->| CONNECTIVITY TABLE.
41 !| MASKEL |<--| MASKING OF ELEMENTS
42 !| | | =1. : NORMAL =0. : MASKED ELEMENT
43 !| NELEM |-->| NUMBER OF ELEMENTS
44 !| NPOIN |-->| NUMBER OF POINTS
45 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 !
47  IMPLICIT NONE
48 !
49 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
50 !
51  INTEGER, INTENT(IN) :: NELEM,NPOIN
52  INTEGER, INTENT(IN) :: IKLE(nelem,3)
53  DOUBLE PRECISION, INTENT(IN) :: HN(npoin)
54  DOUBLE PRECISION, INTENT(IN) :: HMIN
55  DOUBLE PRECISION, INTENT(INOUT) :: MASKEL(nelem)
56 !
57 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
58 !
59  INTEGER IELEM,I1,I2,I3
60 !
61 !-----------------------------------------------------------------------
62 !
63  DO ielem = 1,nelem
64  i1 = ikle(ielem,1)
65  i2 = ikle(ielem,2)
66  i3 = ikle(ielem,3)
67  IF(hn(i1).LE.hmin.OR.hn(i2).LE.hmin.OR.hn(i3).LE.hmin) THEN
68  maskel(ielem) = 0.d0
69  ENDIF
70  ENDDO
71 !
72 !-----------------------------------------------------------------------
73 !
74  RETURN
75  END
subroutine masktf(MASKEL, HN, HMIN, IKLE, NELEM, NPOIN)
Definition: masktf.f:7