Télécharger rest.eso

Retour à la liste

Numérotation des lignes :

rest
  1. C REST SOURCE OF166741 24/11/14 21:15:22 12078
  2.  
  3. C=======================================================================
  4. C DIRECTIVE RESTITUER
  5. C ----------------
  6. C
  7. C
  8. C BUT: LECTURE ET RESTAURATION DES OBJETS NOMMES ET DE CEUX QU ILS
  9. C SOUS-TENDENT, SUR LE FICHIER IORES
  10. C IORESSAU EST DEFINI PAR: OPTIO RESTSAUV IORESSAU ;
  11. C
  12. C
  13. C ON SAIT RESTITUER LES OBJETS DONT LE TYPE EST CONTENU
  14. C DANS LE SP TYPFIL
  15. C
  16. C APPELLE TYPFIL CREPIL LIPIL
  17. C ECRIT PAR FARVACQUE
  18. C REPRIS PAR LENA
  19. C ---------------------------------------------------------------------
  20. C=======================================================================
  21. SUBROUTINE REST
  22.  
  23. IMPLICIT INTEGER(I-N)
  24. IMPLICIT REAL*8(A-H,O-Z)
  25.  
  26. -INC PPARAM
  27. -INC CCOPTIO
  28. -INC CCFXDR
  29.  
  30. -INC TMCOLAC
  31.  
  32. CHARACTER*8 ITYPE
  33. CHARACTER*72 LABEL
  34. CHARACTER*4 MOFORM(2)
  35. DATA MOFORM/'FORM','LABE'/
  36.  
  37. IFORM=0
  38. LABEL= ' '
  39. 1 CONTINUE
  40. CALL LIRMOT(MOFORM,2,IRET,0)
  41. IF (IERR.NE.0) RETURN
  42. IF (IRET.EQ.1) THEN
  43. IFORM=1
  44. if (irefor.ne.iform) then
  45. call erreur(21)
  46. return
  47. endif
  48. GO TO 1
  49. ELSE IF (IRET.EQ.2) THEN
  50. CALL LIRCHA(LABEL,1,IRETOU)
  51. IF (IERR.NE.0) RETURN
  52. IF (LABEL(1:5).EQ.'AUTO ') THEN
  53. LABEL='LABEL AUTOMATIQUE :'
  54. CALL LIRENT(ILABAU,1,IRETOU)
  55. IF (IERR.NE.0) RETURN
  56. WRITE(LABEL(20:23),FMT='(I4)') ILABAU
  57. ENDIF
  58. GO TO 1
  59. ENDIF
  60. iform = irefor
  61. * write(ioimp,*) ' iformx dans rest ',iformx
  62. if (iformx.eq.2) iform=2
  63.  
  64. C **** ICOLAC EST INITIALISEE DANS CREPIL
  65. ITYPE=' '
  66. K=-1
  67. CALL TYPFIL( ITYPE,K)
  68. NITLAC=-K
  69. CALL CREPIL(ICOLAC,NITLAC)
  70. CCC IF (IIMPI.EQ.5)WRITE (IOIMP,801) NITLAC
  71. 801 FORMAT(' NOMBRE DE PILES CREEES : ',I5)
  72.  
  73. C-------------------------------------------------------------
  74. C On conserve le NIVEAU actuel (defini dans BDATA)
  75. ISNIV = IONIVE
  76. C-------------------------------------------------------------
  77. C Jusqu'a la remise au niveau actuel (apres etiquette 1000),
  78. C IONIVE contient le niveau lu dans le fichier !
  79.  
  80. C *** LECTURE SUR LE FICHIER DE RESTAURATION
  81. if (iform.ne.2) REWIND IORES
  82. * if (iform.eq.2) ios=IXDRREWIND( ixdrw )
  83.  
  84. C --- LECTURE DES PILES
  85. IFIN=0
  86. IRET=0
  87. CALL LIPIL(ICOLAC,IFIN,IRET,IFORM,LABEL)
  88. IF (IRET.NE.0) THEN
  89. CALL ERREUR(559)
  90. GO TO 1000
  91. ENDIF
  92. IF (IIMPI.EQ.5)WRITE (IOIMP,805)
  93. 805 FORMAT(' RESTAURATION EFFECTUEE ')
  94. C --- IMPRESSIONS INTERMEDIAIRES DES PILES
  95. IVOULU = 0
  96. C-------------------------------------------------------------
  97. C --- RESTAURATION DES POINTEURS
  98. CALL RESTPI (ICOLAC)
  99. IF (IIMPI.EQ.5)WRITE (IOIMP,806)
  100. 806 FORMAT(' RESTAURATION DES POINTEURS EFFECTUEE ')
  101. * fusion des eventuels doubles multiplicateurs de Lagrange
  102. IF (IONIVE.LE.15) CALL DBBSUP(ICOLAC)
  103. C-------------------------------------------------------------
  104. CALL ERREUR(-277)
  105. C MODI N.BLAY LE 17/09/91 COHERENCE AVEC SAUV-----------------
  106. if (iform.ne.2) REWIND IORES
  107. if (iform.eq.2) ios=IXDRREWIND( ixdrr )
  108.  
  109. 1000 CONTINUE
  110. C --- SUPPRESSION DES PILES (IVOULU=0)
  111. IVOULU=10000
  112. CALL SUPPIL (ICOLAC,IVOULU)
  113. IF (IIMPI.EQ.5)WRITE (IOIMP,807)
  114. 807 FORMAT(' SUPPRESSION DES PILES EFFECTUEE ')
  115.  
  116. C-------------------------------------------------------------
  117. C On remet le NIVEAU actuel (defini dans BDATA)
  118. IONIVE = ISNIV
  119. C-------------------------------------------------------------
  120.  
  121. RETURN
  122. END
  123.  
  124.  
  125.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales