      program tradavoir
      include 'com_avoir.f'
      logical la
c
      iold = 0
 1    call lifich(
     &'Prefix of the file to translate (big endian/little endian) ?'
     &     ,0,fich,lfich)
      print*,'Available extensions :'
      print*,'0: none, 2: avoir2D, 3: avoir3D, 4: deformee'
      call lientier('Number of the extension ?',0,irep)
      if (irep.eq.2) then
        fich(1:lfich+8) = fich(1:lfich)//'.avoir2D'
        lfich = lfich+8
      elseif (irep.eq.3) then
        fich(1:lfich+8) = fich(1:lfich)//'.avoir3D'
        lfich = lfich+8
      elseif (irep.eq.4) then
        fich(1:lfich+9) = fich(1:lfich)//'.deformee'
        lfich = lfich+9
      endif
      INQUIRE(FILE=FICH(1:LFICH),EXIST=LA)
      if (.not.la) then
        print*,'*** No file '//FICH(1:LFICH)
        print*,'Do it again...'
        goto 1
      endif
      LPREM = 80
      CALL testtypebin(1,FICH(1:LFICH)//CHAR(0),LPREM,IARCH,0)
      IF (IARCH.LT.0) THEN
        PRINT*,'*** Error opening '//FICH(1:LFICH)
        PRINT*,' '
        PRINT*,'Files present :'
        PRINT*,' '
        CALL EXEC('ls *.avoir?D *.deformee')
        PRINT*,' '
        GOTO 1
      ELSEIF(IARCH.EQ.0) THEN
        PRINT*,
     & 'File '//FICH(1:LFICH)//' is a compatible binary'
        PRINT*,'Nothing to do !'
        CALL LIENTIER(
     &'Translation for the other architecture (1:yes, 0:no) ?',0,IREP)
        IF (IREP.EQ.1) THEN
          itrad = 1
        ELSE
          CALL LIENTIER(
     &'Translation of an old style file (no pressure) (1:yes, 0:no) ?'
     &         ,0,IREP)
          if (irep.eq.0) stop
          itrad = 0
          iold = 1
        ENDIF
      ELSE
        itrad = 0
      ENDIF
      call litavoir(fich,lfich,hed,numnp,neltot,ngmax,nmax,ndsmax,xyz
     &             ,ibc,node,npr,nfpr,pr,ngroup,ntyp,nel,nds,numsd,2
     &             ,iendian,ierr,iold)
      print*,'end of reading'
      call ecritavoir(fich,lfich,hed,numnp,ndsmax,xyz,ibc,node,npr
     &               ,nfpr,pr,ngroup,ntyp,nel,nds,numsd,2,itrad,ierr)
      print*,'end of writing'
      end
