ATLAS12 opacity sampling model atmosphere program as of October 9, 2000 These are not black boxes. You must be familiar with my model atmosphere program ATLAS9 and with my spectrum synthesis program SYNTHE to use these programs or you will need expert instruction. There is a very old writeup SAO Special Report No 309 in the papers section of my web site. This is a preliminary version that still uses the ATLAS9 equation of state. It cannot yet do isotopes and depth dependent abundances as was originally advertised in the ATLAS12 papers. ATLAS12 reads packed line data from CD-ROM 1 for atoms and from CD-ROM 15 for diatomic molecules found in G and K stars. It reads CD-ROM 24 for TiO and CD-ROM 26 for H2O. Either read the CDs directly or copy them to disk. For models over a small range in temperature most of the lines are irrelevant. However, in M stars most of the lines ARE relevant. ATLAS12 first preselects the lines for a typical model and then uses that line list for subsequent models. The initial model for lines can be one from an ATLAS9 grid that has abundances the same or higher than the desired models. The physics is not affected by too many lines but it is by too few. ATLAS12 does not recompute that model. When computing a model ATLAS12 also reads a binary file BNLTELINES.DAT that you must create (once and for all) by running RNLTEALL.COM. The file GFALLNLTE.DAT has hydrogen lines, He lines, and other lines that require special treatment. To compute models you must start with an ATLAS12 or ATLAS9 starting model that is close to temperature-pressure structure desired. ATLAS12 cannot scale in temperature or gravity. It does not have to converge. If it does not converge, it is necessary to use a closer starting model. Or instead to compute a model with a smaller step from the starting model and then use that new model as the starting model. The 30000 sampling points used in the models are accurate enough to compute total flux but not to predict the flux in small wavelength intervals. The model and selected linelist are input into SYNTHE to generate the flux. The first step is to edit the model into ATLAS9 format instead of ATLAS12 format. Then run XNFPELSYN to generate the number densities for SYNTHE. Then run SYNTHE for the desired wavelength range. Directory KU5E:[PROGRAMS.ATLAS12] 512B disk blocks actual/allocated AAATLAS12.README;6 37/138 9-OCT-2000 14:26:31.49 AP00T8650G40K2C125.DAT;1 19/138 14-FEB-1997 12:04:56.00 ASCIITRIPLETS.COM;2 1/138 8-OCT-2000 12:07:09.02 ASCIITRIPLETS.FOR;4 2/138 8-OCT-2000 11:54:37.89 ASCIITRIPLETS.LOG;2 2/138 8-OCT-2000 12:07:14.63 AT8650G40A.COM;25 2/138 7-OCT-2000 17:36:18.83 AT8650G40A.LOG;6 672/690 7-OCT-2000 16:56:00.43 AT8750G38I.COM;6 5/138 7-OCT-2000 15:53:09.18 AT8750G38I.DAT;2 21/138 8-OCT-2000 20:34:25.54 AT8750G38I.LOG;1 9726/9798 7-OCT-2000 19:34:57.67 AT8750G38I.NEW;1 21/138 7-OCT-2000 19:58:22.63 AT8750G38IBIG.ASC;2 87444/87492 8-OCT-2000 12:07:16.43 AT8750G38IBIG.COM;2 3/138 8-OCT-2000 12:00:20.94 AT8750G38IBIG.DAT;4 binary 43730/43746 8-OCT-2000 17:47:32.51 AT8750G38IBIG.LOG;1 133/138 8-OCT-2000 12:01:32.17 AT8750G40I.DAT;2 21/138 16-MAY-1997 23:37:25.00 ATLAS12.FOR;760 2104/2208 7-OCT-2000 16:47:35.20 ATLAS7V.FOR;158 1787/1794 8-SEP-2000 17:37:22.87 BNLTELINES.DAT;11 binary 5013/5106 7-OCT-2000 11:57:38.27 CONTINUA.DAT;11 10/138 24-JUN-1997 13:54:26.00 GFALLNLTE.DAT;2 13065/13110 6-OCT-2000 17:09:45.57 LINESAT8650G40A.DAT;2 binary 229275/229356 7-OCT-2000 19:15:51.85 MODAT8750G38I.DAT;3 18/138 7-OCT-2000 20:31:21.63 MOLECULES.DAT;7 13/138 8-APR-2000 21:04:37.73 RGFALL.FOR;84 40/138 31-MAR-1998 12:36:45.62 RNLTEALL.COM;6 1/138 7-OCT-2000 11:55:40.82 RNLTEALL.FOR;12 30/138 7-OCT-2000 11:56:09.85 RNLTEALL.LOG;8 9746/9798 7-OCT-2000 11:57:32.96 ROTATE.FOR;16 20/138 8-JUL-1997 19:48:55.55 RPACKEDLINES.FOR;35 23/138 15-JUN-1999 21:52:22.34 SPECTRV.FOR;58 32/138 16-DEC-1997 16:20:51.85 SYNBEG.FOR;30 13/138 19-OCT-1999 16:40:49.10 SYNTHE.FOR;299 124/138 10-JAN-2000 20:37:06.91 XNFPAT8750G38I.COM;3 1/138 7-OCT-2000 20:32:43.01 XNFPAT8750G38I.DAT;3 binary 5225/5244 7-OCT-2000 20:32:52.32 XNFPAT8750G38I.LOG;2 2693/2760 7-OCT-2000 20:32:49.34 XNFPELSYN.FOR;54 26/138 13-JUN-2000 17:18:44.68 Total of 37 files, 411097/414552 blocks. Annotated Directory ------------------------------------------------- AAATLAS12.README;5 36/138 ------------------------------------------------- Compile and link ATLAS12.FOR;760 2104/2208 RNLTEALL.FOR 35/36 Run RNLTEALL.COM;4 1/18 using GFALLNLTE.DAT;44 10250/10260 ascii line data convert to binary to make BNLTELINES.DAT;11 5013/5106 --------------------------------------------------- Get packed line data files from CD-ROM 1, 15, 24, 26 as needed, or from Web site --------------------------------------------------- Run AT8650G40A.COM;25 1/138 to select the appropriate line data AT8650G40A.COM $SETPOOLG set default pool disk $ASSIGN SYNTHE:MOLECULES FOR002 not needed unless molecules are computed $ASSIGN GRIDP00:AP00T8650G40K2C125.DAT FOR003 starting model from ATLAS9 grid $ASSIGN LOWLINES.DAT FOR011 atomic lines with low stages of ionization $!ASSIGN HIGHLINES.DAT FOR021 atomic lines with high stages of ionization not needed for A star $!ASSIGN K4E:DIATOMICS.PCK FOR031 diatomic lines not needed for A star $!ASSIGN POOL2:TIOSCHWENKE.BIN FOR041 TiO lines not needed for A star $!MOUNT/MEDIA=CDROM/UNDEFINED_FAT=(FIXED:NONE:8) DKA700 CDROM26 CDROM26 $!ASSIGN CDROM26:[CDROM26]H2OFAST.BIN FOR051 $!ASSIGN H2O:H2OFAST.BIN FOR051 H2O lines from disk or CD not needed for A star $ASSIGN LINESAT8650G40A.DAT FOR012 output selected line data $RUN ATLAS12:ATLAS12.EXE [****** not in file MOLECULES ON if star has molecules add these commands READ MOLECULES ******] READ PUNCH read starting model READ LINES read line data ITERATIONS 1 PRINT 1 PUNCH 0 BEGIN compute END CONVECTION OFF details are irrelevant for this run CONVECTION ON 1. details are irrelevant sort the line file although in this case it should not be necessary because all the lines came from one sorted file $!ASSIGN POOLG: SORTWORK0 pool disk areas for sorting $!ASSIGN POOLG: SORTWORK1 not needed here because file is only 229275 blocks = 115 MB $SORT/STAT/KEY=(POS:1,SIZE:4,BINARY) LINESAT8650G40A.DAT 4LINES:LINESAT8650G40A.DAT sort on 4-byte binary words starting in col 1 of each record and write statistics Compare AT8650G40A.LOG;1 670/684 to your log file --------------------------------------------------- Compute models AT8750G38I.COM;6 5/138 7-OCT-2000 15:53:09.18 AT8750G38I.DAT;2 21/138 8-OCT-2000 20:34:25.54 AT8750G38I.LOG;1 9726/9798 7-OCT-2000 19:34:57.67 AT8750G38I.NEW;1 21/138 7-OCT-2000 19:58:22.63 AT8750G40I.DAT;2 21/138 16-MAY-1997 23:37:25.00 ATLAS12.FOR;760 2104/2208 7-OCT-2000 16:47:35.20 MOLECULES.DAT;7 13/138 8-APR-2000 21:04:37.73 run AT8750G38I.COM $ASSIGN SYNTHE:MOLECULES.DAT FOR002 not needed if no molecules $ASSIGN ATLAS12:AT8750G40I.DAT FOR003 starting guess $ASSIGN ATLAS12:AT8750G38I.NEW FOR007 output model $ASSIGN POOLG:AT8750G38I.13 FOR013 work area on pool disk $ASSIGN 4LINES:LINESAT8650G40A.DAT FOR012 linelist from AT8650G40A run $ASSIGN ATLAS12:BNLTELINES.DAT FOR019 linelist from RNLTEALL run $!RUN ATLAS12:ATLAS12.EXE there are different executables for $RUN 4ATLAS12:ATLAS12.EXE different computers files beginning with 4 are for alphas running openvms [****** not in file MOLECULES ON if star has molecules add these commands READ MOLECULES ******] READ PUNCH read the starting model GRAVITY 3.8 change its log gravity to 3.8 ABUNDANCE TABLE compute the abundances from this table. when there are two numbers the first column is generally solar and the second one is the log difference from solar 1H 0.911000 2He 0.089000 3Li-10.880-2.000 4Be-10.890-2.000 B -9.440-2.000 6C -3.480-0.370 7N -3.990 8O -3.110 9F -7.480-2.000 Ne -3.950-2.000 11Na -5.710-2.000 12Mg -4.460-2.000 13Al -5.570-2.000 14Si -4.490-2.000 P -6.590-2.000 16S -4.830-2.000 17Cl -6.540-2.000 18Ar -5.480-2.000 19K -6.820-2.000 Ca -5.680-2.000 21Sc -8.940-2.000 22Ti -7.050-2.000 23V -8.040-2.000 24Cr -6.370-2.000 Mn -6.650-2.000 26Fe -4.540-2.000 27Co -7.120-2.000 28Ni -5.790-2.000 29Cu -7.830-2.000 Zn -7.440-2.000 31Ga -9.160-2.000 32Ge -8.630-2.000 33As -9.670-2.000 34Se -8.690-2.000 Br -9.410-2.000 36Kr -8.810-2.000 37Rb -9.440-2.000 38Sr -9.140-2.000 39Y -9.800-2.000 Zr -9.540-2.000 41Nb-10.620-2.000 42Mo-10.120-2.000 43Tc-20.000-2.000 44Ru-10.200-2.000 Rh-10.920-2.000 46Pd-10.350-2.000 47Ag-11.100-2.000 48Cd-10.180-2.000 49In-10.580-2.000 Sn-10.040-2.000 51Sb-11.040-2.000 52Te -9.800-2.000 53I -10.530-2.000 54Xe -9.810-2.000 Cs-10.920-2.000 56Ba -9.910-2.000 57La-10.820-2.000 58Ce-10.490-2.000 59Pr-11.330-2.000 Nd-10.540-2.000 61Pm-20.000-2.000 62Sm-11.040-2.000 63Eu-11.530-2.000 64Gd-10.920-2.000 Tb-11.940-2.000 66Dy-10.940-2.000 67Ho-11.780-2.000 68Er-11.110-2.000 69Tm-12.040-2.000 Yb-10.960-2.000 71Lu-11.280-2.000 72Hf-11.160-2.000 73Ta-11.910-2.000 74W -10.930-2.000 Re-11.770-2.000 76Os-10.590-2.000 77Ir-10.690-2.000 78Pt-10.240-2.000 79Au-11.030-2.000 Hg-10.950-2.000 81Tl-11.140-2.000 82Pb-10.190-2.000 83Bi-11.330-2.000 84Po-20.000-2.000 At-20.000-2.000 86Rn-20.000-2.000 87Fr-20.000-2.000 88Ra-20.000-2.000 89Ac-20.000-2.000 Th-11.920-2.000 91Pa-20.000-2.000 92U -12.510-2.000 93NP-20.000-2.000 94Pu-20.000-2.000 Am-20.000-2.000 96Cm-20.000-2.000 97Bk-20.000-2.000 98Cf-20.000-2.000 99Es-20.000-2.000 CONVECTION OFF do not calculate mixing length convection i.e. the model is purely radiative ITERATIONS 15 PRINT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 PUNCH 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 TITLE ATLAS12 RADIATIVE BEGIN END Read the log file AT8750G38I.LOG and the punch file AT8750G38I.NEW which you should rename AT8750G40I.DAT when you are sure it is good. ----------------------------------------------- compute spectrum first compile these programs ATLAS7V.FOR;158 1787/1794 subroutines for other programs XNFPELSYN.FOR;54 26/138 pretabulates everything to do with the equation of state for the input model and also the continuous opacity SYNBEG.FOR;30 13/138 reads input parameters RGFALL.FOR;84 40/138 reads line data in gfall format RPACKEDLINES.FOR;35 23/138 reads line data written by ATLAS12 SYNTHE.FOR;299 124/138 computes line opacity spectrum from line data SPECTRV.FOR;58 32/138 reads line opacity spectrum and computes flux spectrum or intensity spectra ROTATE.FOR;16 20/138 computes rotated flux spectrum from intensity spectra not used in this example ASCIITRIPLETS.FOR;4 2/138 rewrites the output spectrum in ascii linking XNFPELSYN and SPECTRV link with ATLAS7V ATLAS7V is not used by itself and does not link At present the model format read by ATLAS7V is different from the format written by ATLAS12. It is necessary to edit out the ABUNDANCE TABLE and to add extra control cards at the beginning AT8750G38I.DAT is copied to MODAT8750G38I.DAT then run XNFPAT8750G38I.COM computes equation of state there are normally many spectrum runs for each model so the equation of state data are pretabulated. Alternatively these commands can be included in each spectrum calculation. $SETLAMBDABOO directory where these files are stored $ASSIGN SYNTHE:MOLECULES.DAT FOR002 not used in this model $ASSIGN MODAT8750G38I.DAT FOR005 input model and commands $ASSIGN XNFPAT8750G38I.DAT FOR010 output number densities, etc in binary $ASSIGN SYNTHE:CONTINUA.DAT FOR017 list of photoionization edges $RUN SYNTHE:XNFPELSYN all the details are printed in the log so read it XNFPAT8750G38I.LOG;2 2693/2760 run AT8750G38IBIG.COM $SETPOOLG set a work area on a pool disk $ASSIGN TAPE08IBIG.DAT FOR008 temporary files $ASSIGN TAPE09IBIG.DAT FOR009 $ASSIGN TAPE12IBIG.DAT FOR012 $ASSIGN TAPE13IBIG.DAT FOR013 $ASSIGN TAPE14IBIG.DAT FOR014 $ASSIGN TAPE15IBIG.DAT FOR015 $ASSIGN TAPE17IBIG.DAT FOR017 $ASSIGN TAPE19IBIG.DAT FOR019 $ASSIGN TAPE20IBIG.DAT FOR020 $ASSIGN TAPE93IBIG.DAT FOR093 $RUN 4SYNTHE:SYNBEG read directions VAC 129.0 1210.0 500000. 0. 0 -300 .001 1 00 AIRorVAC WLBEG WLEND RESOLU TURBV IFNLTE LINOUT CUTOFF IFPREDNREAD nanometers linout is the number of lines of printerplot to be made of the spectrum a minus sign means do not save the line data line wings are cutoff when they are less than cutoff times the continuum ifpredicted 0 means only lines with good wavelengths are included $! $ASSIGN GFALL:GFALLNLTE.DAT FOR011 lines that need special treatment $RUN 4SYNTHE:RGFALL reads them $! $ASSIGN 4LINES:LINESAT8650G40A.DAT FOR011 lines selected by ATLAS12 $RUN 4SYNTHE:RPACKEDLINES reads them $! $ASSIGN LAMBDABOO:XNFPAT8750G38I.DAT FOR010 number densities for model $RUN 4SYNTHE:SYNTHE computes opacity spectrum $ASSIGN LAMBDABOO:MODAT8750G38I.DAT FOR005 input model $ASSIGN lambdaboo:AT8750G38IBIG.DAT FOR007 output spectrum $ASSIGN SYS$INPUT FOR025 avoids some conflict in fortran units? $RUN 4SYNTHE:SPECTRV computes the spectrum 0.0 0. 1. 0. 0. 0. 0. 0. 0. RHOXJ R1 R101 PH1 PC1 PSI1 PRDDOP PRDPOW $DELETE TAPE*IBIG.DAT;* delete temporary files output is AT8750G38IBIG.LOG;1 133/138 AT8750G38IBIG.DAT in binary to convert to ascii run ASCIITRIPLETS.COM 2/138 writes spectrum in ascii ASCIITRIPLETS.FOR 2/138 ASCIITRIPLETS.LOG;2 2/138 nothing output AT8750G38IBIG.ASC;2 87444/87492 spectrum in ascii 44MB ________________________________________________________________