The TELEMAC-MASCARET system
trunk
sources
utils
hermes
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
!
34
USE
declarations_special
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
declarations_special
Definition:
declarations_special.F:3
ecri2
subroutine ecri2(X, I, C, NVAL, TYPE, CANAL, STD, ISTAT)
Definition:
ecri2.f:7
declarations_special::lu
integer lu
Definition:
declarations_special.F:45