C LFCDI2 SOURCE CHAT 08/09/18 21:15:04 6162 SUBROUTINE LFCDI2(NBAND,LMAX,R,IRETOU,IFORM) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCOPTIO -INC CCFXDR DIMENSION R(1) external long ipas=0 10 IRETOU=0 ios=1 IF (LMAX.EQ.0) GO TO 1 IF(IONIVE.GT.2) THEN IF (IFORM.EQ.1) READ(NBAND,8003,END=1001,ERR=1000) # (R(I),I=1,LMAX) IF (IFORM.EQ.0) READ(NBAND,END=1001,ERR=1000) (R(I),I=1,LMAX) ELSE IF (IFORM.EQ.1) READ(NBAND,8002,END=1001,ERR=1000) # (R(I),I=1,LMAX) IF (IFORM.EQ.0) READ(NBAND,END=1001,ERR=1000) (R(I),I=1,LMAX) ENDIF if (iform.eq.2) ios=IXDRDMAT( ixdrr, lmax,r(1)) * write (6,*) ' ios dans lfcdi2 ',ios if (ios.lt.0) goto 1001 GO TO 1 1000 IRETOU=1 1 RETURN 1001 ll=long (nomres) ificle=ificle+1 * write(6,*)' ificle ' , ificle if(ificle.eq.10000)then call erreur (945) iretou=1 return endif if(ificle.eq.1) then nomres(ll+1:ll+2)='_1' ll=ll+2 elseif ( ificle.lt.10) then write(nomres(ll:ll),fmt='(I1)')ificle elseif ( ificle.lt.100) then if(ificle.eq.10)ll = ll + 1 write(nomres(ll-1:ll),fmt='(I2)')ificle elseif ( ificle.lt.1000) then if(ificle.eq.100)ll = ll + 1 write(nomres(ll-2:ll),fmt='(I3)')ificle elseif ( ificle.lt.10000) then if(ificle.eq.1000)ll = ll + 1 write(nomres(ll-3:ll),fmt='(I4)')ificle endif if (iform.ne.2) close (unit=nband) if (iform.eq.2) ios=IXDRCLOSE( ixdrr ) * write(6,*) ' fermeture et ouverture de ',nomres(1:ll) if(iform.eq.1) then OPEN (UNIT=NBAND,STATUS='UNKNOWN',FILE=NOMRES(1:ll), # IOSTAT=IOS,ERR=2000,FORM='FORMATTED') ELSEif (iform.eq.0) then OPEN (UNIT=NBAND,STATUS='UNKNOWN',FILE=NOMRES(1:ll), # IOSTAT=IOS,ERR=2000,FORM='UNFORMATTED') else ios=INITXDR( NOMRES(1:ll),'r',.true.) if (ios.lt.0) goto 2000 ENDIF write (6,*) 'Ouverture du fichier : ',nomres(1:ll) go to 10 C -------------------- 8002 FORMAT(1P,6E13.6) 8003 FORMAT(1P,3E22.14) 2000 MOTERR=NOMRES(1:ll) INTERR(1)=IOS CALL ERREUR(424) RETURN END