c**************************************************************************** c Version: 0.1 c Last changed: Mario Monteiro, 2005-02 c This program reads a FGONG file with the model from ASTEC in ascii format. c**************************************************************************** subroutine read_fgong (afilein,xin,ndimin,xdatain,aheaderin) c implicit double precision (b-h,o-z) implicit integer (i-n) parameter (npt=5000,ncol=40,ndat=200) character afilein*80,aheaderin*80 dimension aheaderin(10) dimension ndimin(ndat),xin(ncol,npt),xdatain(ndat) c common /datanum/c4pi,cl10 common /dataphy/cg,csig,cmu common /datasun/sm,sr,sl c open (1,file=afilein,form='formatted',status='old',err=1100) c c------- Header: do 10 i=1,4 read (1,1010,err=1200) aheaderin(i) 10 continue 1010 format (a80) c c------- Global parameters: read (1,1020,err=1200) (ndimin(i),i=1,4) 1020 format (4i10) c write (*,1040) ndimin(1) 1040 format (' Number of mesh points: ',i5) read (1,1030,err=1200) (xdatain(i),i=1,ndimin(2)) 1030 format (1p5e16.9) fac=c4pi*csig teff=exp(0.25*log(xdatain(3)/(fac*xdatain(2)**2))) write (*,1050) xdatain(1)/sm,xdatain(2)/sr, * xdatain(3)/sl,teff,xdatain(13)*1.0d-9 1050 format (' M/M_sun = ',f10.4,/, * ' R/R_sun = ',f10.4,/, * ' L/L_sun = ',f10.4,/, * ' Teff (K) = ',f10.4,/, * ' Age (Gy) = ',f10.4,/) c c------- Model: read (1,1030,err=1200) ((xin(i,n),i=1,ndimin(3)),n=1,ndimin(1)) c------- close (1) c return c 1100 write (*,1110) 1110 format (' ERROR: File not available! Please try again:') afilein='error' return c 1200 write (*,1210) 1210 format (' ERROR: Unable to read the file! ', * 'Please select an adequate one:') afilein='error' return c end c**************************************************************************