Skip to content

Commit 91f5756

Browse files
authored
Merge pull request #12 from alexander-wise/main
compatiblity updates with HARPS and HARPS-N spectra
2 parents 97a28f3 + 38b2588 commit 91f5756

3 files changed

Lines changed: 20 additions & 5 deletions

File tree

src/types/spectra.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ function Spectra2DBasic(λ::A1, flux::A2, var::A3, inst::InstT;
6767
InstT<:AbstractInstrument }
6868
@assert size(λ) == size(flux)
6969
@assert size(λ) == size(var)
70-
@assert 1 <= min_pixel_in_order(inst) <= max_pixel_in_order(inst) <= size(λ,1)
71-
@assert 1 <= min_order(inst) <= max_order(inst) <= size(λ,2)
70+
@assert 1 <= size(λ,1) <= max_pixel_in_order(inst)
71+
@assert 1 <= size(λ,2) <= max_order(inst)
72+
@assert 1 <= min_order(inst) <= max_order(inst)
73+
@assert 1 <= min_pixel_in_order(inst) <= max_pixel_in_order(inst)
7274
Spectra2DBasic{eltype(λ),eltype(flux),eltype(var),typeof(λ),typeof(flux),typeof(var),typeof(inst)}(λ,flux,var,inst,metadata)
7375
end

src/util/physics.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ calc_doppler_factor(rv::Real, v_perp::Real) = (one(rv) + rv/speed_of_light_mps)/
4343

4444
calc_doppler_factor(;z::Real) = one(z) + z
4545

46+
calc_doppler_factor(;rv_kmps::Real) = one(rv_kmps) + rv_kmps*1000.0/speed_of_light_mps
47+
4648

4749
"""
4850
`absorption_line(x; mid, width, depth)`

src/util/spectra.jl

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ global have_issued_ssb_warning = false
4242
global have_issued_drift_warning = false
4343
global have_issued_diffext_warning = false
4444
function apply_doppler_boost!(spectra::AS, dict::AbstractDict ) where { AS<:AbstractSpectra }
45-
global have_issued_ssb_warning, have_issued_drift_warning, have_issued_diffext_warning
45+
global have_issued_ssb_warning, have_issued_drift_warning, have_issued_diffext_warning, have_issued_multiple_ssb_warning
4646
local doppler_factor = one(eltype(spectra.λ))
4747
#= NEID drift model is now included in wavelengths provided
4848
if !haskey(dict,:drift_rv) && !haskey(dict,:drift_z ) && !have_issued_drift_warning
@@ -55,20 +55,31 @@ function apply_doppler_boost!(spectra::AS, dict::AbstractDict ) where { AS<:Abst
5555
doppler_factor *= calc_doppler_factor(dict[:drift_rv])
5656
end
5757
=#
58-
if !haskey(dict,:ssb_rv) && !haskey(dict,:ssbz) && !have_issued_ssb_warning
59-
@info "apply_doppler_boost! didn't find :ssb_rv or :ssbz to apply."
58+
if !haskey(dict,:ssb_rv) && !haskey(dict,:ssbz) && !haskey(dict,:ssb_rv_kmps) && !have_issued_ssb_warning
59+
@info "apply_doppler_boost! didn't find :ssbz, :ssb_rv or :ssb_rv_kmps to apply."
6060
have_issued_ssb_warning = true
6161
end
6262
if haskey(dict,:ssbz)
6363
doppler_factor *= calc_doppler_factor(z=dict[:ssbz])
64+
if haskey(dict,:ssb_rv) || haskey(dict,:ssb_rv_kmps)
65+
@info "apply_doppler_boost! found ssbz and either ssb_rv or ssb_rv_kmps. Defaulting to only use ssbz."
66+
have_issued_multiple_ssb_warning = true
67+
end
6468
elseif haskey(dict,:ssb_rv)
6569
doppler_factor *= calc_doppler_factor(dict[:ssb_rv])
70+
if haskey(dict,:ssb_rv_kmps)
71+
@info "apply_doppler_boost! found ssb_rv (in m/s) and ssb_rv_kmps (in km/s). Defaulting to only use ssb_rv."
72+
have_issued_multiple_ssb_warning = true
73+
end
74+
elseif haskey(dict,:ssb_rv_kmps)
75+
doppler_factor *= calc_doppler_factor(rv_kmps=dict[:ssb_rv_kmps])
6676
end
6777
if !haskey(dict,:diff_ext_rv ) && !have_issued_diffext_warning
6878
@info "apply_doppler_boost! didn't find :diff_ext_rv to apply."
6979
have_issued_diffext_warning = true
7080
end
7181
if haskey(dict,:diff_ext_rv) doppler_factor *= calc_doppler_factor.(dict[:diff_ext_rv]) end
82+
if haskey(dict,:binaryRV) doppler_factor *= calc_doppler_factor.(dict[:binaryRV]) end
7283
apply_doppler_boost!(spectra,doppler_factor)
7384
return spectra
7485
end

0 commit comments

Comments
 (0)