c************************************************************************* PROGRAM test_read_osc c test de la routine de lecture des fichiers *.osc c Auteur: P. Morel, Departement J.D. Cassini, O.C.A., Observatoire de Nice c CESAM5 c---------------------------------------------------------------- USE mod_cesam, ONLY : nbelem, nchim, iw USE mod_kind IMPLICIT NONE INTEGER, PARAMETER :: pnosc=4500, pnelem=15 DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:) :: var DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:) :: glob INTEGER :: i, iconst, itot, ivar LOGICAL :: ok CHARACTER (len=4), ALLOCATABLE, DIMENSION(:) :: nom_elem_lu CHARACTER (len=40) :: nom_fich CHARACTER (len=80) :: modele c------------------------------------------------------------------------ 2000 FORMAT(8es10.3) c itot: nombre de points c iconst: nombre de constantes global c ivar: nombre de variables du tableau var sans les elements chimiques c modele: nom du modele c nom_elem: nom des elemnts utilises c nbelem: nombre d'elements utilises c nchim: nombre d'elements chimiques utilises c glob: variables globales c glob(1)=mstar*msol c glob(2)=rtot*rsol c glob(3)=ltot*lsol c glob(4)=z c glob(5)=x0 c glob(6)=alpha c glob(7)=9./4. c glob(8)=1./162. c glob(9)=1. c glob(10)=1. c glob(11)=d2p c glob(12)=d2ro c glob(13)=age c glob(14)=vsal c glob(15)=0. c var: variables c var(1,i)=r*rsol c var(2,i)=log(m) -1.d38 au centre c var(3,i)=t c var(4,i)=Ptot c var(5,i)=ro c var(6,i)=gradient reel d ln T / d ln P c var(7,i)=l c var(8,i)=kap c var(9,i)=energie thermo+gravifique c var(10,i)=grand Gamma1 c var(11,i)=gradient adiabatique c var(12,i)=delta c var(13,i)=cp c var(14,i)=1 / (mu elec.) c var(15,i)=vaissala, 0 au centre c var(16,i)=w(i) c var(17,i)=d ln kappa / d ln T c var(18,i)=d ln kappa / d ln ro c var(19,i)=d epsilon(nuc) / d ln T c var(20,i)=d epsilon(nuc) / d ln ro c var(21,i)=Ptot/Pgaz c var(22,i)=gradient radiatif c var(ivar+j,i)=xchim(j)*nucleo(j), j=1,nbelem, ivar=22 c---------------------------------------------------------------- ALLOCATE(var(22+pnelem,pnosc),glob(15),nom_elem_lu(pnelem)) PRINT*,'entrer le nom du fichier sans l''extension .osc_adia ou .osc_nadia' PRINT*,'Exemple: mon_modele' ; READ*,nom_fich CALL read_osc_adia(nom_fich,itot,iconst,ivar,modele,glob,var, 1 nbelem,nchim,iw,nom_elem_lu,ok) IF(.not.ok)then PRINT*,'fichier inconnu, arret' ; STOP ENDIF WRITE(*,'(a)')trim(modele) ; PRINT*,itot,iconst,ivar WRITE(*,2000)glob ; WRITE(*,2000)(var(1,i)/glob(2),i=1,itot) CONTAINS INCLUDE 'read_osc_adia.f' END PROGRAM test_read_osc