Download ecdife.eso

Back to the list

   1 : C ECDIFE    SOURCE    CHAT      12/07/27    21:15:00     7450           
   2 :       SUBROUTINE ECDIFE(NBAND,LMAX,ITAB,IFORM)                                  
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : -INC CCOPTIO
   6 : -INC CCFXDR
   7 :       external LONG
   8 :       DIMENSION ITAB(1)                                                         
   9 :       IF (LMAX.EQ.0) GO TO 1 
  10 :       DIMATT=DIMATT+LMAX+1 
  11 :       dimato=dimatt 
  12 :       IF( DIMATT.GT.DIMFIC) THEN
  13 :         DIMATT=LMAX
  14 :         ll = long (nomfic)
  15 :         iprefi=iprefi+1
  16 :         if(iprefi.ge.10000) then
  16 :           call erreur (945)
  17 :           return
  18 :         endif
  19 : *        write(6,*)' ecdife iprefi dimato dimfic',iprefi,dimato,dimfic
  20 :         write(6,*) ' lmax' , lmax
  21 :         if(iprefi.eq.1) THEN
  22 :           nomfic(ll+1:ll+2)='_1'
  23 :           ll=ll+2
  24 :         elseif(iprefi.lt.10) then 
  25 :           write(nomfic(ll:ll),fmt='(I1)')iprefi
  26 :         elseif(iprefi.lt.100) then
  27 :           if(iprefi.eq.10)ll = ll + 1
  28 :           write(nomfic(ll-1:ll),fmt='(I2)')iprefi
  29 :         elseif(iprefi.lt.1000) then
  30 :           if(iprefi.eq.100) ll = ll + 1
  31 :           write(nomfic(ll-2:ll),fmt='(I3)')iprefi
  32 :         elseif(iprefi.lt.10000) then 
  33 :           if(iprefi.eq.1000) ll = ll + 1
  34 :           write(nomfic(ll-3:ll),fmt='(I4)')iprefi
  35 :         else 
  35 :            call erreur (1003)  
  36 :         endif        
  37 :         if (iform.ne.2) close (unit=nband)
  38 :         if (iform.eq.2) ios=IXDRCLOSE( ixdrw,.TRUE. )
  39 : 
  40 :         if(iform.eq.1) then
  41 :           OPEN (UNIT=NBAND,STATUS='UNKNOWN',FILE=NOMFIC(1:ll),
  42 :      #    IOSTAT=IOS,ERR=2000,FORM='FORMATTED')      
  43 :         ELSEif (iform.eq.0) then
  44 :           OPEN (UNIT=NBAND,STATUS='UNKNOWN',FILE=NOMFIC(1:ll),
  45 :      #    IOSTAT=IOS,ERR=2000,FORM='UNFORMATTED')
  46 :         elseif (iform.eq.2) then
  47 :           ios= initxdr(NOMFIC(1:ll),'w',.TRUE.) 
  48 :         endif
  49 :       write(6,*) 'ecdife : Ouverture du fichier : ',nomfic(1:ll)
  50 :       write(6,*) ' dimfic , dimatold , dimatt ',dimfic,dimato, dimatt
  51 :       endif                                                                       
  52 :       lmaxl=lmax
  53 :       do 10 j=0,0
  54 :       IF (IFORM.EQ.1.AND.IONIVE.GE.4)                                           
  55 :      #       WRITE(NBAND,8000) (ITAB(I+j),I=1,LMAX)
  56 :       IF (IFORM.EQ.1.AND.IONIVE.LT.4)                                           
  57 :      #       WRITE(NBAND,8001) (ITAB(I+j),I=1,LMAX)
  58 :       IF (IFORM.EQ.0)WRITE(NBAND) (ITAB(I+j),I=1,LMAX)
  59 :       IF (iform.eq.2) ios=IXDRIMAT( ixdrw, lmaxl,itab(1))
  60 :   10  continue
  61 :  8000 FORMAT(10I8)                                                              
  62 :  8001 FORMAT(16I5)                                                              
  63 :    1  RETURN 
  64 :  2000 continue
  65 :       MOTERR=NOMfic(1:ll)
  66 :       INTERR(1)=IOS  
  66 :       CALL ERREUR(424)
  67 :       RETURN                                                                     
  68 :       END                                                                       
  69 :  
  70 : 
  71 :  
  72 :  
  73 :  
  74 :  
  75 :  
  76 :  
  77 :  
  78 :  
  79 :  
  80 :  

© Cast3M 2003 - All rights reserved.
Disclaimer