Skip to content
Commits on Source (2)
......@@ -124,8 +124,9 @@ function analyze_job(job; Nloop = 6)
viewer(res, showcomps=[:qso_cont, :galaxy, :balmer], filename="$(opt.path)/results_$(job)_$(loop).html")
viewer(res, showcomps=[:qso_cont, :galaxy, :balmer], filename="$(opt.path)/results_$(job)_$(loop)_rebin4.html", rebin=4)
else
@info file
res = JLD2.load_object(file);
println(iloop, " ", res.fitres.gofstat / res.fitres.dof, " ", res.fitres.elapsed / 3600.)
println(loop, " ", res.fitres.gofstat / res.fitres.dof, " ", res.fitres.elapsed / 3600.)
end
OIII_norm = Float64[]
......@@ -200,7 +201,8 @@ epoch_ids = Dict(
:highres => [5, 7, 13, 17, 20],
:test => [7, 13],
:limited => [1,2,3,13],
:all => collect(5:26))
:all => collect(5:26),
:floyds => [6, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 21, 22, 23])
# deleteat!(epoch_ids[:all], 4) #insufficient coverage in na_Hg
# Can't use resolution smaller than 150 km / s otherwise some line
......@@ -212,6 +214,7 @@ resolution = Dict()
analyze_job(:test)
analyze_job(:highres)
analyze_job(:all)
analyze_job(:floyds)
ddd
......@@ -238,38 +241,43 @@ function cont_at(bestfit, λ)
return λ * A * B, λ * (dd[2]-dd[1])
end
# Wrap-up
chosen_job = :all
chosen_iloop = 5
res = JLD2.load_object("output/results_$(chosen_job)_$(chosen_iloop).dat")
tab = DataFrame(epoch=Int[], date=String[], instr=String[], galaxy=Float64[],
contslope=Float64[],
c3500=Float64[], c5100=Float64[],
bb_Ha_norm=Float64[], bb_Ha_fwhm=Float64[], bb_Ha_voff=Float64[],
br_Ha_norm=Float64[], br_Ha_fwhm=Float64[], br_Ha_voff=Float64[],
na_Ha_norm=Float64[], na_Ha_fwhm=Float64[], na_Ha_voff=Float64[],
bb_Hb_norm=Float64[], bb_Hb_fwhm=Float64[], bb_Hb_voff=Float64[],
br_Hb_norm=Float64[], br_Hb_fwhm=Float64[], br_Hb_voff=Float64[],
na_Hb_norm=Float64[], na_Hb_fwhm=Float64[], na_Hb_voff=Float64[],
Ha_bb_norm=Float64[], Ha_bb_fwhm=Float64[], Ha_bb_voff=Float64[],
Ha_br_norm=Float64[], Ha_br_fwhm=Float64[], Ha_br_voff=Float64[],
Ha_na_norm=Float64[], Ha_na_fwhm=Float64[], Ha_na_voff=Float64[],
Hb_bb_norm=Float64[], Hb_bb_fwhm=Float64[], Hb_bb_voff=Float64[],
Hb_br_norm=Float64[], Hb_br_fwhm=Float64[], Hb_br_voff=Float64[],
Hb_na_norm=Float64[], Hb_na_fwhm=Float64[], Hb_na_voff=Float64[],
oiii_fwhm=Float64[], oiii_voff=Float64[])
for id in 1:length(res.bestfit.models)
for id in 1:length(res.multi)
push!(tab,
(id, epoch_filenames[chosen_epochs[id]][27:end-4], "",
res.bestfit[id][:galaxy].norm.val,
res.bestfit[id][:qso_cont].alpha.val,
cont_at(res.bestfit[id], 3500)[1],
cont_at(res.bestfit[id], 5100)[1],
res.bestfit[id][:bb_Ha].norm.patched, res.bestfit[id][:bb_Ha].fwhm.patched, res.bestfit[id][:bb_Ha].voff.patched,
res.bestfit[id][:br_Ha].norm.patched, res.bestfit[id][:br_Ha].fwhm.patched, res.bestfit[id][:br_Ha].voff.patched,
res.bestfit[id][:na_Ha].norm.patched, res.bestfit[id][:na_Ha].fwhm.patched, res.bestfit[id][:na_Ha].voff.patched,
res.bestfit[id][:bb_Hb].norm.patched, res.bestfit[id][:bb_Hb].fwhm.patched, res.bestfit[id][:bb_Hb].voff.patched,
res.bestfit[id][:br_Hb].norm.patched, res.bestfit[id][:br_Hb].fwhm.patched, res.bestfit[id][:br_Hb].voff.patched,
res.bestfit[id][:na_Hb].norm.patched, res.bestfit[id][:na_Hb].fwhm.patched, res.bestfit[id][:na_Hb].voff.patched,
res.bestfit[id][:OIII_5007].fwhm.patched, res.bestfit[id][:OIII_5007].voff.patched))
(epoch_ids[chosen_job][id], string(split(res.source.specs[id].label, "/")[2])[18:end-4], "",
res.multi[id][:galaxy].norm.val,
res.multi[id][:qso_cont].alpha.val,
cont_at(res.multi[id], 3500)[1],
cont_at(res.multi[id], 5100)[1],
res.multi[id][:Ha_bb].norm.patched, res.multi[id][:Ha_bb].fwhm.patched, res.multi[id][:Ha_bb].voff.patched,
res.multi[id][:Ha_br].norm.patched, res.multi[id][:Ha_br].fwhm.patched, res.multi[id][:Ha_br].voff.patched,
res.multi[id][:Ha_na].norm.patched, res.multi[id][:Ha_na].fwhm.patched, res.multi[id][:Ha_na].voff.patched,
res.multi[id][:Hb_bb].norm.patched, res.multi[id][:Hb_bb].fwhm.patched, res.multi[id][:Hb_bb].voff.patched,
res.multi[id][:Hb_br].norm.patched, res.multi[id][:Hb_br].fwhm.patched, res.multi[id][:Hb_br].voff.patched,
res.multi[id][:Hb_na].norm.patched, res.multi[id][:Hb_na].fwhm.patched, res.multi[id][:Hb_na].voff.patched,
res.multi[id][:OIII_5007].fwhm.patched, res.multi[id][:OIII_5007].voff.patched))
end
tab[!, :l3500] .= [3500 .* Spline1D(domain(res.multi[id])[:], res.multi[id]())(3500.) for id in 1:length(chosen_epochs)]
tab[!, :l5100] .= [5100 .* Spline1D(domain(res.multi[id])[:], res.multi[id]())(5100.) for id in 1:length(chosen_epochs)]
tab[!, :Ha] .= tab.br_Ha_norm .+ tab.bb_Ha_norm .+ tab.na_Ha_norm
tab[!, :Hb] .= tab.br_Hb_norm .+ tab.bb_Hb_norm .+ tab.na_Hb_norm
tab[!, :l3500] .= [3500 .* Spline1D(domain(res.multi[id])[:], res.multi[id]())(3500.) for id in 1:length(res.multi)]
tab[!, :l5100] .= [5100 .* Spline1D(domain(res.multi[id])[:], res.multi[id]())(5100.) for id in 1:length(res.multi)]
tab[!, :Ha] .= tab.Ha_br_norm .+ tab.Ha_bb_norm .+ tab.Ha_na_norm
tab[!, :Hb] .= tab.Hb_br_norm .+ tab.Hb_bb_norm .+ tab.Hb_na_norm
dd = Date.(tab.date, Ref("yyyymmdd"))
tab[!, :day] .= getproperty.(dd - Date("2018-03-06") .+ Day(72), :value)
......@@ -286,7 +294,7 @@ for i in 1:nrow(tab)
tab[i, :instr] = tmp[j, :Inst]
end
f = FITS("$(opt.path)/1ES_1927p654_results_$(job).fits", "w")
f = FITS("$(opt.path)/1ES_1927p654_results.fits", "w")
write(f, tab)
close(f)
......@@ -326,18 +334,18 @@ tab.pt .= getindex.(Ref(cm), tab.instr)
@gp "set grid"
for i in 1:nrow(tab)
ss = "w l t '$(tab[i, :date])' dt $(tab[i, :pt]) lw 2"
@gp :- domain(res.model[i])[:] res.model[i](:qso_cont) ss
@gp :- domain(res.multi[i])[:] res.multi[i](:qso_cont) ss
end
save(:prenorm, term="png size 800,600", output="$(opt.path)/evolution.png")
@gp "set grid"
for i in 1:length(chosen_epochs)
println(res.bestfit[i][:OIII_5007])
for i in 1:length(res.multi)
println(res.multi[i][:OIII_5007])
x = domain(res.multi[i])[:]
y = res.multi[i]()
y0 = y .- res.multi[i](:OIII_5007)
ss = "w l t '$(tab[i, :date])' dt $(tab[i, :pt]) lw 2"
@gp :- x y .- Spline1D(x, y0)(5007.) ss
@gp :- x y .- Spline1D(x, y0)(5007.) ss
end
save(:prenorm, term="png size 800,600", output="$(opt.path)/evolution_oiii_norm.png")