The TELEMAC-MASCARET system  trunk
read_submit.f
Go to the documentation of this file.
1 ! **********************
2  SUBROUTINE read_submit
3 ! **********************
4 !
5  &(files,nfiles,submit,nmot)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief READS THE FILES CHARACTERISTICS DECLARED IN THE STEERING FILE
12 ! AND STORES THEM IN BIEF_FILE STRUCTURE CALLED FILES
13 !
14 !note THE STEERING AND DICTIONNARY FILES ARE OPENED AND
15 !+ CLOSED IN LECDON.
16 !
17 !history J-M HERVOUET (LNHE)
18 !+ 27/03/2009
19 !+ V6P0
20 !+
21 !
22 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
23 !+ 13/07/2010
24 !+ V6P0
25 !+ Translation of French comments within the FORTRAN sources into
26 !+ English comments
27 !
28 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
29 !+ 21/08/2010
30 !+ V6P0
31 !+ Creation of DOXYGEN tags for automated documentation and
32 !+ cross-referencing of the FORTRAN sources
33 !
34 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35 !| FILES |<--| FILES STRUCTURES
36 !| NFILES |-->| NUMBER OF FILES IN ARRAY FILES
37 !| NMOT |-->| SECOND DIMENSION OF SUBMIT AND MOTCAR
38 !| SUBMIT |-->| CHARACTER STRINGS STEMMING FROM DICTIONARY
39 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 !
41  USE bief, ex_read_submit => read_submit
43 !
45  IMPLICIT NONE
46 !
47 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
48 !
49  INTEGER , INTENT(IN) :: NFILES,NMOT
50  TYPE(bief_file), INTENT(INOUT) :: FILES(nfiles)
51  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: SUBMIT(4,nmot)
52 !
53 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
54 !
55  INTEGER I,ICOL,I1,CANAL
56 !
57  CHARACTER(LEN=9) :: LITECR
58 !
59  INTEGER PREVAL,INTLU
60  EXTERNAL preval,intlu
61 !
62 !-----------------------------------------------------------------------
63 !
64  DO i=1,nfiles
65  files(i)%LU=0
66  files(i)%TELNAME=repeat(' ', 6)
67  files(i)%NAME(1:path_len)= repeat(' ', path_len)
68  ENDDO
69  canal = 0
70 !
71 !-----------------------------------------------------------------------
72 !
73 ! DECODES THE SUBMIT STRING FOR THE FILES DECLARED IN THE
74 ! STEERING FILE
75 !
76  DO i=1,nmot
77 !
78 ! EXAMPLE SUBMIT STRING : 'NGEO-READ;T2DGEO;OBLIG;BIN;LIT;SELAFIN-GEOM'
79 !
80  IF( submit(4,i).NE.' '
81  & .AND.submit(4,i)(1:7).NE.'INUTILE' ) THEN
82 ! SCANS FOR CHANNEL FORTRAN NAME (FOR EXAMPLE NGEO)
83  icol=preval(1,submit(4,i),'-','-','-')
84 ! SCANS FOR THE READ OR WRITE OR READWRITE STRING
85 ! LOCATED BEFORE THE NEXT - SIGN
86  i1=icol+1
87  icol=preval(i1,submit(4,i),';',';',';')
88  litecr=submit(4,i)(i1:icol-1)
89 ! READS THE CHANNEL AFTER THE - SIGN
90  canal = canal + 1
91  IF(canal.GT.nfiles) THEN
92  WRITE(lu,*) 'READ_SUBMIT: NFILES TOO SMALL : ',nfiles
93  WRITE(lu,*) ' IT SHOULD BE AT LEAST ',canal
94  CALL plante(1)
95  stop
96  ENDIF
97  files(canal)%LU=canal
98  files(canal)%ACTION=litecr
99 !
100 ! READS THE NAME OF THE FILE TO BE COPIED TO THE TMP FOLDER
101  i1=preval(icol+1,submit(4,i),';',';',';')
102  files(canal)%TELNAME=submit(4,i)(icol+1:i1-1)
103 ! SKIPS ;FACUL; OR ;OBLIG;
104  icol=preval(i1+1,submit(4,i),';',';',';')
105 ! BINARY OR ASCII
106  files(canal)%BINASC=submit(4,i)(icol+1:icol+3)
107 ! NOTE : SUBMIT(4,I)(ICOL+5:ICOL+7) CONTAINS LIT OU ECR
108 ! NOT USED HERE
109 ! MODE SELAFIN-GEOM, PARAL, SCAL, ETC.
110  files(canal)%TYPE=
111  & trim(submit(4,i)(icol+9:min(path_len,icol+20)))
112 !
113  ENDIF
114 !
115  ENDDO
116 !
117 !-----------------------------------------------------------------------
118 !
119  RETURN
120  END
subroutine read_submit(FILES, NFILES, SUBMIT, NMOT)
Definition: read_submit.f:7
integer, parameter path_len
Definition: bief.f:3