The TELEMAC-MASCARET system  trunk
clip.f
Go to the documentation of this file.
1 ! ***************
2  SUBROUTINE clip
3 ! ***************
4 !
5  &(f,xmin,clpmin,xmax,clpmax,npoin)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief CAPS THE VALUES IN ARRAY F.
12 !+
13 !+ MINIMUM OF F: XMIN (IF CLPMIN=.TRUE.).
14 !+
15 !+ MAXIMUM OF F: XMAX (IF CLPMAX=.TRUE.).
16 !
17 !note IMPORTANT : IF NPOIN IS NEGATIVE, WILL TREAT -NPOIN VALUES.
18 !+
19 !+ IF NPOIN IS POSITIVE, WILL TAKE THE SIZE OF F.
20 !
21 !history J-M HERVOUET (LNH) ; F LEPEINTRE (LNH)
22 !+ 12/01/95
23 !+ V5P1
24 !+
25 !
26 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
27 !+ 13/07/2010
28 !+ V6P0
29 !+ Translation of French comments within the FORTRAN sources into
30 !+ English comments
31 !
32 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
33 !+ 21/08/2010
34 !+ V6P0
35 !+ Creation of DOXYGEN tags for automated documentation and
36 !+ cross-referencing of the FORTRAN sources
37 !
38 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 !| CLPMAX |-->| LOGICAL, IF YES, CLIPPING OF MAXIMUM VALUE
40 !| CLPMIN |-->| LOGICAL, IF YES, CLIPPING OF MINIMUM VALUE
41 !| F |<->| ATTAY OF VALUES TO BE CHECKED
42 !| NPOIN |-->| NUMBER OF POINTS IN THE DOMAIN
43 !| XMAX |-->| MAXIMUM THRESHOLD VALUE
44 !| XMIN |-->| MINIMUM THRESHOLD VALUE
45 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 !
47  USE bief, ex_clip => clip
48 !
50  IMPLICIT NONE
51 !
52 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
53 !
54  TYPE(bief_obj) , INTENT(INOUT) :: F
55  DOUBLE PRECISION, INTENT(IN) :: XMIN,XMAX
56  LOGICAL , INTENT(IN) :: CLPMIN,CLPMAX
57  INTEGER , INTENT(IN) :: NPOIN
58 !
59 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
60 !
61  INTEGER NP
62 !
63 !-----------------------------------------------------------------------
64 !
65  IF(f%TYPE.EQ.2) THEN
66 ! F IS A VECTOR STRUCTURE
67  IF(npoin.LT.0) THEN
68  np = - npoin
69  ELSE
70  np = f%DIM1
71  ENDIF
72  IF(clpmin) CALL ov('X=+(Y,C)', x=f%R, y=f%R, c=xmin, dim1=np)
73  IF(clpmax) CALL ov('X=-(Y,C)', x=f%R, y=f%R, c=xmax, dim1=np)
74  ELSE
75  WRITE(lu,*) f%NAME,' IS NOT A VECTOR'
76  CALL plante(1)
77  stop
78  ENDIF
79 !
80 !-----------------------------------------------------------------------
81 !
82  RETURN
83  END
subroutine ov(OP, X, Y, Z, C, DIM1)
Definition: ov.f:7
Definition: bief.f:3
subroutine clip(F, XMIN, CLPMIN, XMAX, CLPMAX, NPOIN)
Definition: clip.f:7