******************************************************************************** -------------------- doptomog version 2.0 -------------------- Copyright (C) 2015 Enrico J. Kotze ejk@saao.ac.za This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ******************************************************************************** The code was written in Fortran 90/95/2003, IDL, Gnuplot and bash on a Linux operating system with the following configuration: - gfortran 4.8.4 - IDL 7.1 - Gnuplot 4.6 patchlevel 4 - bash 4.3.11(1) This is the minimum configuration needed for the doptomog package to work as described below. ******************************************************************************** There are 8 bash scripts in the doptomog/ folder, prefixed 0 to 7 for a logical stepped process to obtain science grade results. The scripts may be launched from a file browser (choose "Run in Terminal") or a terminal command line (use "source ***.sh" where *** signifies the script name). Prompts for the necessary user input are displayed in the terminal. See below the sections on the input and output data structures for the input needed and the output produced by steps 1 to 7. Step 0: 0-make.clean.sh - remove all previously compiled code and/or compile all code in the code folder Step 1: 1-exec.pspectra.prepare.sh - prepare the input spectra to facilitate the extraction of spectral lines Step 2: 2-exec.pspectra.extract.sh - extract a specified spectral line Step 3: 3-exec.pdoptomog.sh - perform Doppler tomography using a fast maximum entropy algorithm on an extracted spectral line - perform consecutive half-phase Doppler tomography for a specified number of half phases (see input file doptomog.in in the relevant folder described below) - perform flux modulation mapping based on the consecutive half-phase Doppler tomography Step 4: 4-idl.doptomog.pre.sh - perform a visualisation (IDL) of the Doppler tomography results Step 5: 5-exec.pbinarymodel.sh - calculate a model 2d velocity overlay and a model 3d spatial construct Step 6: 6-idl.doptomog.sh - perform a visualisation (IDL) of the Doppler tomogram without and with the model 2d velocity overlay Step 7: 7-gnu.binarymodel.sh - perform a visualisation (Gnuplot) of the model 3d spatial construct NOTE: Each script in the stepped process will compile its code if necessary. ******************************************************************************** The code is organised in the following folders: code/ - makefile - Fortran 90/95/2003 code for -- pspectra: program to prepare and extract input spectra mspectra: module holding all declared program variables -- pbinarymodel: program to calculate a model 2d velocity overlay and a model 3d spatial construct for the source mbinarymodel: module holding all declared program variables -- pdoptomog: program to perform Doppler tomography using a fast maximum entropy algorithm on an extracted spectral line mdoptomog: module holding all declared program variables scripts/gnu/ - scripts for Gnuplot visualisation of the model 3d spatial construct scripts/idl/ - scripts for IDL visualisation of Doppler tomography results scripts/shell/ - scripts for folder and file management ******************************************************************************** The input data are organised in the following folder: sources//in/, e.g., sources/mcv/in/ - input for Step 1: -- specprepare.in, text file containing spectra preparation parameters - input for Step 2: -- specextract.in, text file containing spectral line extraction parameters - input for Step 3: -- doptomog.in, text file containing Doppler tomography parameters - input for Step 5: -- binarymodel.in, text file containing binary parameters sources//in/spectra/, e.g., sources/mcv/in/spectra/ - spectra input for Step 1: -- , e.g., cv, file containing list of spectra file names, corresponding phase and phase interval (if applicable) -- (multiple), e.g., mcv001.txt, mcv002.txt. etc., files containing wavelength and flux ******************************************************************************** The output data are organised in the following folder: sources//out/spectra/, e.g., sources/mcv/out/spectra/ - output from Step 1: -- specprepare.out, input for Step 2 - output from Step 2: -- specextract.out, input for Step 3 sources//out/doptomog/, e.g., sources/mcv/out/doptomog/ - output from Step 3: -- doptomog.<0=standard/1=inside-out>.log, e.g., doptomog.0.log, a log of some of the calculations from the maximum entropy algorithm -- doptomog.<0=standard/1=inside-out>.out, e.g., doptomog.0.out, main output file containing (amongst other) the reconstructed spectra and tomogram, i.e., input for Steps 4 and 6 -- halfphases/ - halfphases.<0=standard/1=inside-out>.out, e.g., halfphases.0.out, a log of the consecutive half phases processed for n consecutive half phases: - doptomog.<0=standard/1=inside-out>..out, e.g., doptomog.0.0.out, main output file containing (amongst other) the reconstructed spectra and tomogram for the i'th half phase, i.e., input for Steps 4 and 6 -- fluxmodmap/ - fluxmodmap.<0=standard/1=inside-out>.out, e.g., fluxmodmap.0.out, main output file containing (amongst other) the n summed reconstructed spectra and tomograms, as well as the flux modulation amplitude and phase of maximum flux maps, i.e., input for Steps 4 and 6 - output from Step 4: -- avgp.<0=standard/1=inside-out>.ps, e.g., avgp.0.ps, averaged line profile -- doptomog.<0=standard/1=inside-out>.ps, e.g., doptomog.0.ps, quick look results -- specin.<0=standard/1=inside-out>.ps, e.g., specin.0.ps, trailed input spectra -- specre.<0=standard/1=inside-out>.ps, e.g., specre.0.ps, trailed reconstructed spectra -- halfphases/ for n consecutive half phases: - avgp.<0=standard/1=inside-out>..ps, e.g., avgp.0.0.ps, averaged line profile for the i'th half phase - doptomog.<0=standard/1=inside-out>..ps, e.g., doptomog.0.0.ps, quick look results for the i'th half phase - specin.<0=standard/1=inside-out>..ps, e.g., specin.0.0.ps, trailed input spectra for the i'th half phase - specre.<0=standard/1=inside-out>..ps, e.g., specre.0.0.ps, trailed reconstructed spectra for the i'th half phase -- fluxmodmap/ - avgp.<0=standard/1=inside-out>.ps, e.g., avgp.0.ps, averaged line profile for the n summed half phases - doptomog.<0=standard/1=inside-out>.ps, e.g., doptomog.0.ps, quick look results for the n summed half phases - specin.<0=standard/1=inside-out>.ps, e.g., specin.0.ps, trailed input spectra for the n summed half phases - specre.<0=standard/1=inside-out>.ps, e.g., specre.0.ps, trailed reconstructed spectra for the n summed half phases - output from Step 6: -- dopmap.<0=standard/1=inside-out>.ps, e.g., dopmap.0.ps, tomogram without model velocity profile overlay -- dopmap.<0=standard/1=inside-out>.vmod.ps, e.g., dopmap.0.vmod.ps, tomogram with model velocity profile overlay -- halfphases/ for n consecutive half phases: - dopmap.<0=standard/1=inside-out>..ps, e.g., dopmap.0.0.ps, tomogram without model velocity profile overlay for the i'th half phase - dopmap.<0=standard/1=inside-out>..vmod.ps, e.g., dopmap.0.0.vmod.ps, tomogram with model velocity profile overlay for the i'th half phase -- fluxmodmap/ - dopmap.<0=standard/1=inside-out>.ps, e.g., dopmap.0.ps, tomogram without model velocity profile overlay for the n summed half phases - dopmap.<0=standard/1=inside-out>.vmod.ps, e.g., dopmap.0.vmod.ps, tomogram with model velocity profile overlay for the n summed half phases - moduamp.<0=standard/1=inside-out>.ps, e.g., moduamp.0.ps, flux modulation amplitude map without model velocity profile overlay - moduamp.<0=standard/1=inside-out>.vmod.ps, e.g., moduamp.0.vmod.ps, flux modulation amplitude map without model velocity profile overlay - modupha.<0=standard/1=inside-out>.ps, e.g., modupha.0.ps, flux modulation phase-offset map without model velocity profile overlay - modupha.<0=standard/1=inside-out>.vmod.ps, e.g., modupha.0.vmod.ps, flux modulation phase-offset map with model velocity profile overlay - modupham.<0=standard/1=inside-out>.ps, e.g., modupham.0.ps, phase of maximum flux map without model velocity profile overlay - modupham.<0=standard/1=inside-out>.vmod.ps, e.g., modupham.0.vmod.ps, phase of maximum flux map with model velocity profile overlay - moduphap.<0=standard/1=inside-out>.ps, e.g., moduphap.0.ps, filtered phase of maximum flux map without model velocity profile overlay - moduphap.<0=standard/1=inside-out>.vmod.ps, e.g., moduphap.0.vmod.ps, filtered phase of maximum flux map with model velocity profile overlay sources//out/binarymodel/gnu/, e.g., sources/mcv/out/binarymodel/gnu/ - output from Step 5: -- various files, input for Step 7 - output from Step 7: -- various subfolders and/or files depending on selected terminal sources//out/binarymodel/idl/, e.g., sources/mcv/out/binarymodel/idl/ - output from Step 5: -- various files, input for Step 6 ********************************************************************************