The TELEMAC-MASCARET system  trunk
waitfor.f
Go to the documentation of this file.
1 ! ******************
2  SUBROUTINE waitfor
3 ! ******************
4 !
5  & (dossier,fichier)
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief 'FICHIER' IS THE NAME OF A FILE EXPECTED IN THE DIRECTORY.
12 !+ THIS FILE EXISTS IF THERE IS AN EMPTY FILE CALLED
13 !+ 'YAFICHIER' (NAME OF THE FILE PRECEDED WITH 'YA').
14 !+
15 !+ WHEN FILE 'YAFICHIER' EXISTS, IT IS DELETED AND WE EXIT
16 !+ THE SUBROUTINE.
17 !
18 !history NATHALY BARBRY (UNIVERSITE DE CAEN); J-M HERVOUET (LNHE)
19 !+ 08/02/2001
20 !+ V5P2
21 !+
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 !| DOSSIER |-->| DIRECTORY WHERE IS THE FILE TO BE READ
37 !| FICHIER |-->| FILE TO BE READ
38 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 !
40  USE bief
41 !
43  IMPLICIT NONE
44 !
45  CHARACTER(LEN=PATH_LEN), INTENT(IN) :: DOSSIER
46  CHARACTER(LEN=*) , INTENT(IN) :: FICHIER
47 !
48  CHARACTER(LEN=270) NOMFIC
49  LOGICAL OUI
50  INTEGER ERR1
51 !
52 ! PARAMETER: WAIT TIME
53 !
54  INTEGER, PARAMETER :: LAPS = 3
55  INTEGER :: ID
56 !
57 !-----------------------------------------------------------------------
58 !
59  INTRINSIC trim
60 !
61 !-----------------------------------------------------------------------
62 !
63 10 CONTINUE
64 !
65  nomfic=trim(dossier)//'YA'//fichier
66  INQUIRE(file=nomfic,exist=oui,err=84,iostat=err1)
67 !
68 !-----------------------------------------------------------------------
69 !
70  IF(oui) THEN
71 !
72  CALL get_free_id(id)
73  OPEN(id,file=nomfic,
74  & status='OLD',form='UNFORMATTED',err=85,iostat=err1)
75  CLOSE(id,status='DELETE',err=86,iostat=err1)
76 !
77  GO TO 1000
78 !
79  ELSE
80 !
81  INQUIRE(file=trim(dossier)//'STOP',exist=oui,err=84,iostat=err1)
82  IF(oui) THEN
83  WRITE(lu,*) 'WAITFOR : PROGRAM STOPPED, WAITING IS USELESS'
84  WRITE(lu,*) ' BECAUSE A FILE STOP HAS BEEN CREATED'
85  CALL plante(1)
86  stop
87  ELSE
88  WRITE(lu,*) 'WAITING ',laps,' SECONDS'
89  CALL attend(laps)
90  ENDIF
91 !
92  GO TO 10
93 !
94  ENDIF
95 !
96 !-----------------------------------------------------------------------
97 ! ERROR MESSAGES
98 !-----------------------------------------------------------------------
99 !
100 84 CONTINUE
101  WRITE(lu,*) 'WAITFOR : ERROR OF COMMAND INQUIRE ON FILE :'
102  WRITE(lu,*) ' ',trim(dossier)//'YA'//fichier
103  WRITE(lu,*) ' ERROR NUMBER : ',err1
104  CALL plante(1)
105  stop
106 85 CONTINUE
107  WRITE(lu,*) 'WAITFOR : ERROR ',err1
108  WRITE(lu,*) 'WHEN OPENING THE FILE ',nomfic
109  CALL plante(1)
110  stop
111 86 CONTINUE
112  WRITE(lu,*) 'WAITFOR : ERROR ',err1
113  WRITE(lu,*) 'WHEN CLOSING THE FILE ',nomfic
114  CALL plante(1)
115  stop
116 !
117 !-----------------------------------------------------------------------
118 !
119 1000 CONTINUE
120 !
121 !-----------------------------------------------------------------------
122 !
123  RETURN
124  END
subroutine waitfor(DOSSIER, FICHIER)
Definition: waitfor.f:7
subroutine attend(ISEC)
Definition: attend.f:4
Definition: bief.f:3