friction_scan.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\telemac2d\friction_scan.f
00002 !
00058                      SUBROUTINE FRICTION_SCAN
00059 !                    ************************
00060 !
00061      &(NCOF,NOMCOF,TYP,LINE)
00062 !
00063 !***********************************************************************
00064 ! TELEMAC2D   V6P1                                   21/08/2010
00065 !***********************************************************************
00066 !
00067 !
00068 !
00069 !
00070 !
00071 !
00072 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00073 !| LINE           |<--| LINE READ IN THE FRICTION FILE
00074 !| NCOF           |-->| LOGICAL UNIT OF FRICTION FILE
00075 !| NOMCOF         |-->| NAME OF FRICTION FILE
00076 !| TYP            |<--| 2: STARTING LINE
00077 !|                |   | 3: ENDING LINE
00078 !|                |   | 1: CURRENT LINE
00079 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00080 !
00081       IMPLICIT NONE
00082       INTEGER LNG,LU
00083       COMMON/INFO/LNG,LU
00084 !
00085 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00086 !
00087       INTEGER,       INTENT(IN)    :: NCOF
00088       CHARACTER(LEN=144), INTENT(IN)    :: NOMCOF
00089       INTEGER,       INTENT(INOUT) :: LINE
00090       INTEGER,       INTENT(OUT)   :: TYP
00091 !
00092 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00093 !
00094       CHARACTER*20                 :: C
00095 !
00096 !=======================================================================!
00097 !=======================================================================!
00098 !                               PROGRAMME                               !
00099 !=======================================================================!
00100 !=======================================================================!
00101 !
00102       DO
00103         READ(NCOF,*,END=989,ERR=988) C
00104         LINE = LINE + 1
00105         IF (C(1:1).NE.'*') EXIT
00106       ENDDO
00107 !
00108       CALL MAJUS(C)
00109 !
00110       IF(C(1:4).EQ.'FROM'.OR.C(1:3).EQ.'VON'.OR.C(1:2).EQ.'DE') THEN
00111         TYP = 2
00112       ELSEIF(C(1:3).EQ.'END'.OR.C(1:3).EQ.'FIN') THEN
00113         TYP = 3
00114       ELSE
00115         TYP = 1
00116       ENDIF
00117 !
00118       BACKSPACE(NCOF)
00119 !
00120       GOTO 987
00121 !
00122 ! -------------------------------------------------------------- !
00123 !                         WARNING MESSAGE                        !
00124 ! -------------------------------------------------------------- !
00125 !
00126 989   CONTINUE
00127       IF (LNG.EQ.1) THEN
00128         WRITE(LU,*) 'FICHIER DE DONNEES POUR LE FROTTEMENT : ',NOMCOF
00129         WRITE(LU,*) 'FIN DE FICHIER ANORMALE'
00130       ENDIF
00131       IF (LNG.EQ.2) THEN
00132         WRITE(LU,*) 'FRICTION DATA FILE : ',NOMCOF
00133         WRITE(LU,*) 'ABNORMAL END OF FILE'
00134       ENDIF
00135       CALL PLANTE(1)
00136       STOP
00137 !
00138 988   CONTINUE
00139       IF (LNG.EQ.1) THEN
00140         WRITE(LU,*) 'FICHIER DE DONNEES POUR LE FROTTEMENT : ',NOMCOF
00141         WRITE(LU,*) 'ERREUR DE LECTURE'
00142         WRITE(LU,*) 'ERREUR LORS DE LA LECTURE DE : ',C
00143       ENDIF
00144       IF (LNG.EQ.2) THEN
00145         WRITE(LU,*) 'FRICTION DATA FILE : ',NOMCOF
00146         WRITE(LU,*) 'READ ERROR'
00147         WRITE(LU,*) 'ERROR WHEN READING: ',C
00148       ENDIF
00149       CALL PLANTE(1)
00150       STOP
00151 !
00152 ! -------------------------------------------------------------- !
00153 ! -------------------------------------------------------------- !
00154 !
00155 987   CONTINUE
00156 !
00157 !=======================================================================!
00158 !=======================================================================!
00159 !
00160       RETURN
00161       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0