c************************************************************* PROGRAM test_nl c programme de test de lecture de NAMELIST c Auteur: P.Morel, Département J.D. Cassini, O.C.A. c CESAM2k c------------------------------------------------------------------ USE mod_kind IMPLICIT NONE REAL (kind=dp), DIMENSION(28) :: ab INTEGER, ALLOCATABLE, DIMENSION(:) :: tglob, tvar INTEGER :: nglob, nvar LOGICAL :: logm, ok, reverse CHARACTER (len=12) :: nom_ascii='sortie_ascii' CHARACTER (len=50) :: titre_ascii CHARACTER (len=7) :: nom_mixture='bid' NAMELIST/nl_mixture/ab c------------------------------------------------------------------- 2000 FORMAT(8es10.3) IF(.FALSE.)THEN INQUIRE(file=TRIM(nom_mixture),exist=ok) IF(ok)THEN OPEN(unit=3,form='formatted',status='old',delim='apostrophe', 1 file=TRIM(nom_mixture)) WRITE(*,7)TRIM(nom_mixture) ; WRITE(2,7)TRIM(nom_mixture) 7 FORMAT('mixture initiale en DeX lue dans le fichier: ',a) READ(3,nl_mixture) ; WRITE(*,nl_mixture) ; WRITE(2,nl_mixture) CLOSE(unit=3) ab=10.d0**ab !car données en LOG10 ELSE WRITE(*,8) ; WRITE(2,8) ; STOP 8 FORMAT('pas de fichier mixture dans le directory, ARRET') ENDIF WRITE(*,2000)ab ENDIF IF(.TRUE.)THEN INQUIRE(file=TRIM(nom_ascii),exist=ok) IF(ok)THEN OPEN(unit=3,form='formatted',status='old',delim='apostrophe', 1 file=TRIM(nom_ascii)) WRITE(*,1)TRIM(nom_ascii) ; WRITE(2,1)TRIM(nom_ascii) 1 FORMAT('indices des global et variables lus dans le fichier: ',a) READ(3,*)nglob,nvar ; PRINT*,nglob,nvar ALLOCATE(tglob(nglob),tvar(nvar)) READ(3,*)tglob,tvar,logm,reverse READ(3,'(a)')titre_ascii PRINT*,tglob PRINT*,tvar PRINT*,logm PRINT*,reverse PRINT*,titre_ascii CLOSE(unit=3) DEALLOCATE(tglob,tvar) ENDIF ENDIF STOP END PROGRAM test_nl