Line data Source code
1 1 : program main
2 : c
3 : c scan adiabatic model file
4 : c
5 : c Double precision version
6 : c ++++++++++++++++++++++++
7 : c
8 : c Dated 10/3/90
9 : c
10 : include 'adipr.incl'
11 : parameter(iaa=10)
12 : implicit double precision (a-h, o-z)
13 : character fin*280
14 : dimension x(nnmax),aa(iaa,nnmax),data(8)
15 : c
16 : c common defining standard input and output
17 : c
18 : common/cstdio/ istdin, istdou, istdpr, istder
19 : c
20 1 : if(istdpr.gt.0)
21 0 : * write(istdpr,*) 'Enter file name'
22 1 : read(5,'(a)') fin
23 : c
24 : open(2,file=fin,status='old',
25 1 : * form='unformatted')
26 : c
27 1 : if(istdpr.gt.0)
28 0 : * write(istdpr,100) fin
29 1 : nrec=0
30 : c
31 : c make initial read to test for format
32 : c
33 1 : read(2,end=90,err=90) nmod,nn,data
34 1 : close(2)
35 1 : open(2,file=fin,status='old', form='unformatted')
36 1 : idata8 = idint(data(8)+0.1)
37 1 : if(idata8.ge.100) then
38 0 : ivar = 8
39 0 : icase=2
40 0 : if(istdpr.gt.0)
41 0 : * write(istdpr,103)
42 1 : else if(idata8.ge.10) then
43 0 : ivar = 6
44 0 : icase=1
45 : else
46 1 : ivar = 5
47 1 : icase=0
48 : end if
49 1 : icase1=mod(idata8/10,10)
50 1 : if(icase1.eq.1) then
51 0 : if(istdpr.gt.0)
52 0 : * write(istdpr,105)
53 1 : else if(icase1.eq.2) then
54 0 : if(istdpr.gt.0)
55 0 : * write(istdpr,106)
56 : end if
57 : c
58 2 : 10 read(2,end=90,err=90) nmod,nn,data,
59 17620 : * (x(n),(aa(i,n),i=1,ivar),n=1,nn)
60 1 : nrec=nrec+1
61 : c
62 1 : if(istdpr.gt.0)
63 0 : * write(istdpr,110) nrec,nn,(data(i),i=1,7)
64 : c
65 : c output surface point and innermost points
66 : c
67 1 : if(data(7).ge.0) then
68 0 : nsurf=nn-1
69 : else
70 1 : nsurf=nn
71 : end if
72 1 : if(ivar.eq.5) then
73 1 : if(istdpr.gt.0)
74 0 : * write(istdpr,115) 1-x(nsurf),(aa(i,nsurf),i=1,5)
75 1 : if(istdpr.gt.0)
76 0 : * write(istdpr,116) x(1),(aa(i,1),i=1,5)
77 : else
78 0 : if(istdpr.gt.0)
79 0 : * write(istdpr,121) 1-x(nsurf),(aa(i,nsurf),i=1,6)
80 0 : if(istdpr.gt.0)
81 0 : * write(istdpr,122) x(1),(aa(i,1),i=1,6)
82 : end if
83 : c
84 1 : go to 10
85 : c
86 : 90 continue
87 1 : stop
88 : c
89 : 100 format(' file: ',a)
90 : 103 format(/' Model includes asymptotic scaling.')
91 : 105 format(/' Model includes turbulent-pressure correction.')
92 : 106 format(/' Model includes rotation-modified gravity')
93 : 110 format(/' record no',i4,' number of mesh points =',i6,
94 : * ' data:'/1p7e11.3)
95 : 115 format(' Last (nonsingular) point: 1 - r/R =',1pe13.5/
96 : * ' A1 - A5: ',5e11.3)
97 : 116 format(' Innermost point: r/R =',1pe13.5/
98 : * ' A1 - A5: ',5e11.3)
99 : 121 format(' Last (nonsingular) point: 1 - r/R =',1pe13.5/
100 : * ' A1 - A6: ',6e11.3)
101 : 122 format(' Innermost point: r/R =',1pe13.5/
102 : * ' A1 - A6: ',6e11.3)
103 1 : end
|