-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathveepernotes.txt
111 lines (83 loc) · 4.16 KB
/
veepernotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Notes on how to Voigt profile fit the synthetic spectra absorption lines generated by Trident.
Created by JW on 7/9/2018
Uses pyigm (IGMGuesses GUI) and veeper written by Joe Burchett.
Step 0:
Turn FLUX_ERROR tag in fits file to FLUXERR so that it can be
recognized by the program. (see fix_fits_files.py)
In linetools, get on smooth_without_scale branch.
> cd linetools
> git fetch
> git checkout 'smooth_without_scale'
-- Additionally, need to install a few packages (in addition to pyigm and veeper).
git clone https://github.com/spacetelescope/relic.git
cd relic
python setup.py develop
Then, you need stsci.tools.
Can try the normal github way...
but I had to install a deprecated version for veeper to work.
pip install stsci.tools==3.4
Step 1:
Fit the continuum, even though already normalized mostly, this is
necessary to get into the proper format:
> lt_continuumfit COS-FUV_face_stream_13.0Gyr_r10kpc.fits --redshift 0.0 COS-FUV_face_stream_13.0Gyr_r10kpc_jwnorm.fits
-- you won't need to change much at all (if anything). zoom in to spec
with "i" key and march along with "]" until the end. If you find
anything super off, add and delete knots with "A" and "d"
keys. Mostly, you will want to delete knots that fall in absorption
features (e.g Lyalpha is broad), and it'll be good to go.
when finished "q" and _jwnorm spec is the right one to use now moving
forward.
Step 2:
> pyigm_igmguesses COS-FUV_face_stream_13.0Gyr_r10kpc_jwnorm.fits -o
COS-FUV_face_stream_13.0Gyr_r10kpc_lineids.json
This may take a bit, but a GUI should pop up. For RA and dec, just
enter 0.00, 0.00, and dummy vaues for the rest. None of this stuff
will matter. Put your name in as creator.
Then, in the GUI window, identify all z=0 lines.
type "F" to load the full line list (may need to click on white area
of spectrum window)
Then, "A" on left and right sides of absorption features to Add a
feature to the linelist.
hit the "write" button constantly to update the json output
file. (sometimes the GUI crashes).
if you need to restart, use the '-p filename.json' option to load a
previously-generated line list.
'+' key advances pages. keep going until the end...
Watch out for CI** 1657. That one is not CI**, it is just CI 1656,
which is an option later in the linelist.
(which you can tell by predicted fits being super off).
lowercase "d" deletes the feature selected in the mid-right
"components" widget.
"D" deletes the feature selected (select with "S" ) in the spectral
window.
Once all the z=0 features have been identified, make sure to hit
"write" and then then you can quit.
Step 3:
For some reason, you have to re-start IGMguesses to get the joebvp
input files generated (what you need for the "veeper" automated
profile fitter).
So, re-start the GUI, now with the -p command to indicate you're
reading in the file you already generated.
> pyigm_igmguesses COS-FUV_face_stream_13.0Gyr_r10kpc_jwnorm.fits -p COS-FUV_face_stream_13.0Gyr_r10kpc_lineids.json -o COS-FUV_face_stream_13.0Gyr_r10kpc_lineids.json
Then, click on the GUI window in a white area by some transition, and type '@'.
for now, let's enter 0.04 (used to be 0.015) for AA EW limit and 200 km/s for the velocity range.
It will generate .joebvp files. That is all you need. Then you can quit.
Step 4:
start a python window somewhere.
> ipython
In [1]: from joebvp import VPmeasure
In [3]: VPmeasure.go('COS-FUV_face_stream_13.0Gyr_r10kpc_jwnorm.fits', 'group_1.joebvp')
a WILD GUI appears!
check the box labeled "fit to convergence"
then click "fit lines"
This will take a while, like a few minutes.
make sure you "write out parameters"
write the model and model by component too, while at it.
then finish the groups...
In [12]: VPmeasure.go('COS-FUV_face_stream_13.0Gyr_r10kpc_jwnorm.fits', 'group_2.joebvp')
then the isolated one.
-- Notes/TO_DO
We need to consider directory structure and naming; there will be a lot of files and this will get busy.
We need to consider focusing on just a few ions, possibly just HI, SiII or CII and maybe CIV? SiIV is a bit inconsistent...
Doing so will make all this go faster.
most time consuming step will be fitting lines in IGMguesses. All the more reason to focus on just a few different transitions.