PAPER on ODFs
This example shows how to compute an opacity distribution function (ODF) for [M/H]=0.0 and vturb=2 km/s.
The procedure requires 4 codes:
xnfdf.for
dfsynthe.for
dfsortp.for
separatedf.for
and a set of REPACKED line lists:
lowlinesdf.bin---repacked version of the binary file "lowlines.bin". It is available at:
http://kurucz.harvard.edu/LINELISTS/LINESCD/
For LINUX, THE NAME is: "fclowlines.bin"
highlinesdf.bin--repacked version of the binary file "highlines.bin". It is available at:
http://kurucz.harvard.edu/LINELISTS/LINESCD/
For LINUX, THE NAME is: "fchighlines.bin"
diatomicsdf.bin---repacked version of the binary file:
diatomicsiwl.bin
tiolinesdf.bin---repacked version of the binary file "tioschwenke.bin" available at:
http://kurucz.harvard.edu/MOLECULES/TiO/
h2olinesdf.bin---repacked version of the binary file "h2ofastfix.bin" available at:
http://kurucz.harvard.edu/MOLECULES/H2O/
nltelinesdf.bin---repacked version of the ascii file "nltelines.asc" available at:
http://kurucz.harvard.edu/LINELISTS/LINESCD/
To get repacked lines:
repacklow.for
repacklow.com
repackhi.for
repackhi.com
repackdi.for
repackdi.com
repacktio.for
repacktio.com
repackh2o.for
repackh2o.com
repacknle.for
repacknlte.com
The XNFDF code
It pretabulates the atomic and molecular number densities and continuum opacities
for 57 temperatures T and 25 Pgas values.
To compile it:
ifort -save -o xnfdf.exe xnfdf.for
To run it:
source xnfdf.com
Input data are:
molecules.dat
pfiron.dat
continua.dat
Furthermore, there is a set of input control cards.
They fix:
1) the values of temperature and the gas pressure for which the
ODF's will be tabulated
2) the abundances for which ODF's will be computed
Output data are the two binary files:
xnfpdf.dat
xnfpdfmax.dat
The DFSYNTHE code
It computes ODF's for the atomic and molecular number densities
xnfpdf.dat produced by the XNFDF code and for the 5 microturbulent
velocities 0,1,2,4, and 8 km/s.
To compile it:
ifort -save -o dfsynthe.exe dfsynthe.for
To run it:(the example is for [M/H]=0.0]
source dfp00.com
In dfp00.com there are 57 runs of DFSYNTHE, one for each temperature T.
Input data are for EACH RUN are:
xnfpdf.dat ---> the output from the XNFPDF code
xnfpdfmax.dat ---> the ouput from the XNFDF code
lowlinesdf.bin --->the output from the REPACKLOW code
highlinesdf.bin --->the output from the REPACKHI code
diatomicsdf.bin ---> the output from the REPACKDI code
tiolinesdf.bin ---> the output frem the REPACKTIO code
h2olinesdf.bin ---> the output from the REPACKH2O code
nltelinesdf.bin ---> the output from the REPACKNLTE code
A set of 57 switches corresponding to the 57 temperatures of the ODF table.
All the switches are zero, except that of the temperature for the specific run, which is 1.
Otput data from EACH RUN are 5 files for 5 different microturbulent velocities vturb:
dfp00t-xxxx-vt0.bin
dfp00t-xxxx-vt1.bin
dfp00t-xxxx-vt2.bin
dfp00t-xxxx-vt4.bin
dfp00t-xxxx-vt4.bin
where -xxxx- is the temperature for the specific run.
Each file is an ODFxxxx table for the given temperature -xxxx-, a given microturbulent velocity, and 25 different Pgas.
Output data from dfp00.com are 57 X 5 ODFxxxx tables, one for each temperature and microturbulent velocity.
The DFSORTP code
For each vturb, it rearranges each of the 57 ODFxxxx tables, which are the output from DFSYNTHE.
Each table is converted from 1540 X 25 ODFxxxx values (where 1540 are frequency points and 25 are
the Pgas values) in 25 X 1540 ODFxxxx values. Namely, 1540 ODFxxxx for each Pgas are rearranged in
25 ODFxxxx for each frequency.
To compile it:
ifort -o dfsortp.exe dfsortp.for
To run it:
source dfsortpvt0.com for vturb= 0 km/s
source dfsortpvt1.com for vturb= 1 km/s
source dfsortpvt2.com for vturb= 2 km/s
source dfsortpvt4.com for vturb= 4 km/s
source dfsortpvt8.com for vturb= 8 km/s
For each vturb:
Input data are the 57 ODFxxxx tables computed by DFSYNTHE.
Output data are 57 rearranged ODFyyyy in ascii format.
The SEPARATEDF code
For a given vturb, it merges the 57 ODFyyyy tables in a single ODF table.
It then separates the BIG intervals ODFs from the LITTLE intervals ODFs.
To compile it:
ifort -o separatedf.exe separatedf.for
To run it:
source separatedfvt2.com for vturb= 2.0 km/s
The input is the output from DFSORTP for vturb=2 km/seec
The output are the binary files: p00big2.bdf
p00lit2.bdf