The TELEMAC-MASCARET system  trunk
ecri2.f
Go to the documentation of this file.
1 ! ****************
2  SUBROUTINE ecri2
3 ! ****************
4 !
5  &(x , i , c , nval , TYPE , canal , std , istat)
6 !
7 !***********************************************************************
8 ! HERMES V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief WRITES OUT VALUES ACCORDING TO VARIOUS STANDARDS.
12 !
13 !note FORMER SUBROUTINE ECRIT;
14 !+ NAME CHANGED BECAUSE THIS NAME EXISTS IN THE CALCIUM LIBRARY
15 !
16 !
17 !history J-M HERVOUET (LNH)
18 !+ 17/08/94
19 !+ V5P1
20 !+
21 !
22 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 !| X |-->| DOUBLE PRECISION ARRAY TO BE WRITTEN
24 !| I |-->| INTEGER ARRAY TO BE WRITTEN
25 !| C |-->| CHARACTER STRING TO BE WRITTEN
26 !| NVAL |-->| NUMBER OF VALUES (INTEGER, CHARACTER, ETC.)
27 !| | | TO BE WRITTEN
28 !| TYPE |-->| TYPE OF DATA : 'I' , 'CH' , 'R4' , 'R8'
29 !| CANAL |-->| LOGICAL UNIT FOR WRITING
30 !| STD |-->| OUTPUT STANDARD : STD , IBM OU I3E, ETC.
31 !| ISTAT |<--| ERROR NUMBER
32 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33 !
35  IMPLICIT NONE
36 !
37 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38 !
39  INTEGER, INTENT(IN) :: NVAL,CANAL
40  DOUBLE PRECISION, INTENT(IN) :: X(*)
41  INTEGER, INTENT(IN) :: I(*)
42  CHARACTER(LEN=*), INTENT(IN) :: TYPE,STD,C
43  INTEGER, INTENT(OUT) :: ISTAT
44 !
45 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
46 !
47  INTEGER J
48 !
49  INTRINSIC real
50 !
51 !-----------------------------------------------------------------------
52 !
53  istat = 0
54 !
55 !-----------------------------------------------------------------------
56 !
57  IF(std(1:3).EQ.'STD') THEN
58 !
59  IF (TYPE(1:2).EQ.'R4') then
60  WRITE(canal)(REAL(X(J)),J=1,nval)
61  ELSEIF (TYPE(1:2).EQ.'R8') then
62  WRITE(canal)(x(j),j=1,nval)
63  ELSEIF (TYPE(1:1).EQ.'I') then
64  WRITE(canal)(i(j),j=1,nval)
65  ELSEIF (TYPE(1:2).EQ.'CH') then
66  WRITE(canal) c(1:nval)
67  ELSE
68  WRITE(lu,21) TYPE
69 21 FORMAT(1x,'ECRI2 : UNKNOWN TYPE:',a2)
70  CALL plante(1)
71  stop
72  ENDIF
73 !
74  ELSE
75 !
76  WRITE(lu,11) std
77 11 FORMAT(1x,'ECRI2 : UNKNOWN STANDARD:',a8)
78  stop
79 !
80  ENDIF
81 !
82 !-----------------------------------------------------------------------
83 !
84  RETURN
85  END
subroutine ecri2(X, I, C, NVAL, TYPE, CANAL, STD, ISTAT)
Definition: ecri2.f:7