1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
C -*- f90 -*-
MODULE TOTO
REAL,DIMENSION(:,:),ALLOCATABLE :: PROJ
END MODULE TOTO
SUBROUTINE LIREPROJ(FICPRJ,PROJ)
USE TOTO
IMPLICIT NONE
CHARACTER*150, INTENT(IN) :: FICPRJ
INTEGER :: a,b
INTEGER :: NENRG
INTEGER :: II,J
INTEGER*4 :: TailleEnreg
TailleEnreg = 4*256
NENRG = 0
OPEN(UNIT=20,FILE=FICPRJ,FORM='UNFORMATTED',RECL=TailleEnreg,
& STATUS='OLD',ACCESS='DIRECT')
! ~~~~~~~~~~~ Lecture de l'entete dans le fichier de sortie proj ~~~~~~~~~~~~~~
READ (UNIT=20,REC=1) a
READ (UNIT=20,REC=2) b
NENRG=2
if (allocated(PROJ)) deallocate(PROJ)
allocate(PROJ(a,b))
! ~~~~~~~~ Lecture des données dans le fichier ~~~~~~~~~~~~~
print* ,'Lancement de la lecture de ',FICPRJ
DO J = 1 , a
NENRG = NENRG + 1
READ (20,REC=NENRG) (PROJ(J,II),II=1,b)
END DO
print* ,'Le fichier ',FICPRJ, 'a bien été lu'
CLOSE(20)
RETURN
END SUBROUTINE LIREPROJ |