subroutine getsyns (lscreen,ncall) c****************************************************************************** c This routine commands the syntheses to be done (or resyntheses if c abundances or isotopic ratios are changed) c****************************************************************************** implicit real*8 (a-h,o-z) include 'Atmos.com' include 'Linex.com' include 'Pstuff.com' include 'Factor.com' include 'Dummy.com' c*****if the syntheses need to be redone: first rewind the output files, c then close/reopen line list(s), then rewrite model atmosphere output if (choice == 'n') then call chabund if (choice == 'x') call pltspec (lscreen,ncall) rewind nf1out rewind nf2out if (nflines /= 0) then close (unit=nflines) open (unit=nflines,file=flines,access='sequential', . form='formatted',blank='null',status='old', . iostat=jstat,err=10) endif if (nfslines /= 0) then close (unit=nfslines) open (unit=nfslines,file=fslines,access='sequential', . form='formatted',blank='null',status='old', . iostat=jstat,err=10) endif if (plotopt /= 0) then rewind nf3out endif write (nf1out,1002) modtype if (modprintopt >= 1) then if (modtype == 'begn ' .or. . modtype == 'BEGN ') write (nf1out,1003) write (nf1out,1102) moditle do i=1,ntau dummy1(i) = dlog10(pgas(i)) dummy2(i) = dlog10(ne(i)*1.38054d-16*t(i)) enddo write (nf1out,1103) wavref,(i,xref(i),tauref(i),t(i), . dummy1(i), pgas(i),dummy2(i),ne(i), . vturb(i),i=1,ntau) write (nf1out,1104) do i=1,95 dummy1(i) = dlog10(xabund(i)) + 12.0 enddo write (nf1out,1105) (names(i),i,dummy1(i),i=1,95) write (nf1out,1106) modprintopt, molopt, linprintopt, . fluxintopt write (nf1out,1107) (kapref(i),i=1,ntau) endif linprintopt = linprintalt choice = '1' endif c*****now do the syntheses if (numpecatom == 0 .or. numatomsyn == 0) then isynth = 1 isorun = 1 nlines = 0 mode = 3 call inlines (1) call eqlib call nearly (1) call synspec else do n=1,numatomsyn isynth = n isorun = n start = oldstart sstop = oldstop mode = 3 molopt = 2 call inlines (1) call eqlib call nearly (1) call synspec linprintopt = 0 enddo endif return c*****a nonsense situation: the line list read in successfully at the c*****start, but now there is a problem on re-synthesis 10 write (*,1108) stop c*****format statements 1002 format (13('-'),'MOOG OUTPUT FILE',10('-'), . '(MOOG version NOV 2019)',13('-')// . 'THE MODEL TYPE: ',a10) 1003 format (' The Rosseland opacities and optical depths have ', . 'been read in') 1102 format (/'MODEL ATMOSPHERE HEADER:'/a80/) 1103 format ('INPUT ATMOSPHERE QUANTITIES',10x, . '(reference wavelength =',f10.2,')'/3x,'i',2x,'xref',3x, . 'tauref',7x,'T',6x,'logPg',4x,'Pgas',6x,'logPe', . 5x,'Ne',9x,'Vturb'/ . (i4,0pf6.2,1pd11.4,0pf9.1,f8.3,1pd11.4,0pf8.3, . 1pd11.4,d11.2)) 1104 format (/'INPUT ABUNDANCES: (log10 number densities, log H=12)'/ . ' Default solar abundances: Asplund et al. 2009') 1105 format (5(3x,a2,'(',i2,')=',f5.2)) 1106 format (/'OPTIONS: atmosphere = ',i1,5x,'molecules = ',i1/ . ' lines = ',i1,5x,'flux/int = ',i1) 1107 format (/'KAPREF ARRAY:'/(6(1pd12.4))) 1108 format ('something odd: linelist was OK initially, now cannot ', . 'be read; I QUIT!') end