The TELEMAC-MASCARET system  trunk
errmax.f
Go to the documentation of this file.
1 ! *****************
2  SUBROUTINE errmax
3 ! *****************
4 !
5  &(x1,x2,err,ierr)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief COMPUTES MAX DIFFERENCES BETWEEN 2 COMPUTED ARRAYS.
12 !
13 !history E. BARROS
14 !+ 27/04/93
15 !+
16 !+
17 !
18 !history A. LEOPARDI (UNINA)
19 !+ 02/10/00
20 !+ V5P1
21 !+ UPGRADE
22 !
23 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
24 !+ 13/07/2010
25 !+ V6P0
26 !+ Translation of French comments within the FORTRAN sources into
27 !+ English comments
28 !
29 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
30 !+ 21/08/2010
31 !+ V6P0
32 !+ Creation of DOXYGEN tags for automated documentation and
33 !+ cross-referencing of the FORTRAN sources
34 !
35 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36 !| ERR |<--| MAXIMUM ABSOLUTE DIFFERENCE
37 !| IERR |<--| POINT WHERE THE DIFFERENCE OCCURS
38 !| X1 |-->| ARRAY TO COMPARE WITH X2
39 !| X2 |-->| ARRAY TO COMPARE WITH X1
40 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 !
42  USE bief_def
43 !
45  IMPLICIT NONE
46 !
47 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
48 !
49  INTEGER , INTENT(OUT) :: IERR
50  DOUBLE PRECISION , INTENT(OUT) :: ERR
51  type(bief_obj) , INTENT(IN) :: x1,x2
52 !
53 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
54 !
55  INTEGER I
56 !
57  INTRINSIC abs
58 !
59 !---------------------------------------------------------------------
60 !
61  ierr=1
62  err=-1.d0
63  DO i=1,x1%DIM1
64 !
65  IF(abs(x1%R(i)-x2%R(i)).GT.err) THEN
66  err=abs(x1%R(i)-x2%R(i))
67  ierr=i
68  ENDIF
69 !
70  ENDDO
71 !
72 !---------------------------------------------------------------------
73 !
74  RETURN
75  END
subroutine errmax(X1, X2, ERR, IERR)
Definition: errmax.f:7