Odd behavior with optical emission lines
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 76
- Fork
- 45
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I noticed a strange behavior where after a logzsol value of 0.2 all points in a standard BPT diagram ([NII]/Hα, [OIII]/Hβ) are stuck to a certain value. I am using default stellar libraries: "mist" and "miles" to get the BPT emission-line ratios ([OIII]/Hβ and [NII]/Hα) for an SSP (sfh=0) observed at tage=1Myr (0.001Gyr) with a constant ionization parameter of logU=-2.5 but for different metallicities (logzsol=[-0.6,0.6]), also I set zcontinuous=1. The models are such that logzsol = gas_logz. I attach the resulted BPT diagram bellow. In an attempt to understand what is happening I have calculated the SEDs in two cases; 1) sfh=0 (SSP), logz=0, dust1=0, dust2=0 for different ages; 2) sfh=0 (SSP), dust1=0, dust2=0 for different metallicities (both with default stellar libraries). The UV produced by the two SSPs (I think that) look normal (attached bellow). Finally I am giving you the result of the [OIII]/Hβ as a function of metallicity (from the calculations of BPT).
Is this expected behavior?
Here is my code for the BPT calculations (the two SED tests are calculated from an other script)
import os
import numpy as np
import fsps
from tqdm import tqdm
import matplotlib.pyplot as plt
import time
import json
import pandas as pd
import warnings
import random as random
warnings.filterwarnings('ignore')
sp = fsps.StellarPopulation(zcontinuous=1)
sp.params['imf_type'] = 2
sp.params['sfh'] = 0
sp.params['sf_start'] = 0.0
sp.params['sf_trunc'] = 0.0
sp.params['tburst'] = 0.0
sp.params['fburst'] = 0.0
sp.params['tau'] = 10.0
sp.params['const'] = 0.0
sp.params['add_neb_emission'] = True
sp.params['nebemlineinspec'] = True
sp.params['add_neb_continuum'] = True
ilib, slib, dlib = sp.libraries
print(ilib, slib, dlib)
sample_size = 1000
logz_arr = np.linspace(-0.6,0.6,sample_size)
logu_arr = -2.5*np.ones(sample_size)
comb_arr = np.stack([logz_arr, logu_arr], axis=1)
uid = time.strftime("%Y%m%d_%H%M%S")
file_name1 = 'sfg_syn_sed' # uid
file_name2 = 'sfg_syn_emlines'
tage = 0.001
w, _ = sp.get_spectrum(tage=tage, peraa=True)
emwv = sp.emline_wavelengths
with open(file_name2 + '-' + uid + '.txt', 'w') as file:
np.savetxt(file, emwv, newline=' ')
file.write('\n')
file.close()
dict3 = vars(sp.params)['_params']
keys = []
for key, value in dict3.items():
k = key
keys.append(k)
df_params = pd.DataFrame(columns=keys)
for i in tqdm(range(len(comb_arr))):
sp.params['logzsol'] = comb_arr[i][0]
sp.params['gas_logz'] = comb_arr[i][0]
sp.params['gas_logu'] = comb_arr[i][1]
_, spec = sp.get_spectrum(tage=tage, peraa=True)
# Write emission lines to a file
with open(file_name2 + '-' + uid + '.txt', 'a') as file:
np.savetxt(file, sp.emline_luminosity, newline=' ')
file.write('\n')
file.close()
dict3 = vars(sp.params)['_params']
values = []
for key, value in dict3.items():
v = value
values.append(v)
df1 = pd.DataFrame([values], columns=keys)
df_params = pd.concat([df_params, df1], axis=0)
df_params.to_csv('params_' + uid + '.csv', index=False)




Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách chạy script Python được cung cấp với các thiết lập SSP, stellar-library, metallicity và ionization-parameter đã nêu, sau đó kiểm tra các giá trị vạch phát xạ được tạo ra quanh logzsol=0.2. So sánh diễn biến của [OIII]/Hβ và [NII]/Hα với các đồ thị đính kèm; được xem là hoàn tất khi xác định được liệu plateau có được mong đợi hay xác định được một vấn đề có thể tái hiện để báo cáo hoặc sửa.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- data
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 28/100