abfind: force-fitting abundances to match single-line equivalent widths.
Suppose we have a list of lines (stored as as a DataFrame called linelist) with their measured EW as follow (appended to the line list as the last column):
wavelength id EP loggf C6 D0 EW
85992 8002.576 26.0 4.580 -1.618 -7.79 NaN 22.80
86381 8026.940 14.0 6.261 -1.004 -6.98 NaN 34.24
86400 8027.941 26.0 3.252 -2.785 -7.73 NaN 28.46
86401 8028.313 26.0 4.473 -0.686 -7.54 NaN 76.66
86520 8035.618 14.0 5.984 -1.372 -7.16 NaN 24.95
86696 8046.047 26.0 4.415 -0.100 -7.55 NaN 125.55
86735 8047.617 26.0 0.859 -4.742 -7.85 NaN 50.73
86750 8049.366 14.0 6.269 -1.287 -6.98 NaN 20.15
87069 8071.283 14.0 6.099 -1.192 -7.06 NaN 31.16
87075 8072.164 26.0 2.424 -3.519 -7.82 NaN 32.43
87105 8073.028 14.0 6.274 -1.381 -6.98 NaN 16.29
87158 8075.150 26.0 0.915 -5.088 -7.85 NaN 30.34
87245 8080.545 26.0 3.301 -2.710 -7.73 NaN 29.76
87316 8085.172 26.0 4.446 -0.121 -7.55 NaN 121.43
87399 8089.354 26.0 5.067 -1.141 -7.73 NaN 23.30
87433 8093.232 14.0 5.863 -1.075 -7.19 NaN 47.38
87518 8096.875 26.0 4.076 -1.767 -7.80 NaN 37.74
Note
The DataFrame has to be sorted in id and wavelength.
This line list can be loaded using:
ges_linelist = pymoog.line_data.read_linelist('ges')
ges_linelist = ges_linelist[(ges_linelist['wavelength'] > 8000) & (ges_linelist['wavelength'] < 8100) & (ges_linelist['EW'] > 15)]
ges_linelist = ges_linelist[(ges_linelist['id'] == 26) | (ges_linelist['id'] == 14)]
ges_linelist
Then abfind can run as:
a = pymoog.abfind.abfind(5777, 4.0, 0, line_list=ges_linelist)
a.prepare_file()
a.run_moog()
a.read_output()
The output of abfind, a.abfind_res will be stored as a dict with it keys as elements and values as DataFrame:
{14.0: wavelength ID EP logGF EWin logRWin abund delavg
0 8071.283 14.0 6.099 -1.192 31.16 -5.413 7.497 0.016
1 8026.940 14.0 6.261 -1.004 34.24 -5.370 7.509 0.027
2 8035.618 14.0 5.984 -1.372 24.95 -5.508 7.448 -0.033
3 8049.366 14.0 6.269 -1.287 20.15 -5.601 7.504 0.023
4 8093.232 14.0 5.863 -1.075 47.38 -5.233 7.432 -0.049
5 8073.028 14.0 6.274 -1.381 16.29 -5.695 7.497 0.016,
26.0: wavelength ID EP logGF EWin logRWin abund delavg
0 8089.354 26.0 5.067 -1.141 23.30 -5.541 7.387 0.053
1 8085.172 26.0 4.446 -0.121 121.43 -4.823 7.266 -0.068
2 8080.545 26.0 3.301 -2.710 29.76 -5.434 7.376 0.042
3 8075.150 26.0 0.915 -5.088 30.34 -5.425 7.373 0.039
4 8002.576 26.0 4.580 -1.618 22.80 -5.545 7.387 0.053
5 8047.617 26.0 0.859 -4.742 50.73 -5.200 7.293 -0.041
6 8046.047 26.0 4.415 -0.100 125.55 -4.807 7.271 -0.063
7 8028.313 26.0 4.473 -0.686 76.66 -5.020 7.238 -0.096
8 8027.941 26.0 3.252 -2.785 28.46 -5.450 7.380 0.046
9 8072.164 26.0 2.424 -3.519 32.43 -5.396 7.361 0.027
10 8096.875 26.0 4.076 -1.767 37.74 -5.332 7.340 0.006}
