Skip to content

Commit 4f1ff90

Browse files
committed
add wavelengths, divide mean spectra by number of obs
1 parent 5ff5a8c commit 4f1ff90

File tree

1 file changed

+33
-21
lines changed

1 file changed

+33
-21
lines changed

examples/calc_order_ccfs_using_continuum_1.1.jl

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -432,15 +432,16 @@ pipeline_plan = PipelinePlan()
432432
# For v1.1.*
433433
all_spectra = Spectra2DBasic{Float64, Float64, Float32, Matrix{Float64}, Matrix{Float64}, Matrix{Float32}, NEID2D}[]
434434
spec = NEID.read_data(first(eachrow(df_files_use)).Filename, normalization=:blaze )
435+
mean_lambda = zeros(Float64,size(spec.flux));
435436
mean_clean_flux = zeros(Float64,size(spec.flux));
436437
mean_clean_var = zeros(Float64,size(spec.flux));
437-
#mean_clean_weight_sum = zeros(Float64,size(spec.flux));
438+
mean_clean_flux_weight_sum = 0.0;
438439
mean_clean_flux_sed_normalized = zeros(Float64,size(spec.flux));
439440
mean_clean_var_sed_normalized = zeros(Float64,size(spec.flux));
440-
#mean_clean_flux_sed_normalized_weight_sum = zeros(Float64,size(spec.flux));
441+
mean_clean_flux_sed_normalized_weight_sum = 0.0;
441442
mean_clean_flux_continuum_normalized = zeros(Float64,size(spec.flux));
442443
mean_clean_var_continuum_normalized = zeros(Float64,size(spec.flux));
443-
#mean_clean_flux_continuum_normalized_weight_sum = zeros(Float64,size(spec.flux));
444+
mean_clean_flux_continuum_normalized_weight_sum = 0.0;
444445
normalization_anchors_list = [];
445446
for (i,row) in enumerate(eachrow(df_files_use))
446447
if !(isfile(row.Filename)||islink(row.Filename))
@@ -458,10 +459,12 @@ pipeline_plan = PipelinePlan()
458459
local spec = NEID.read_data(row, normalization=:blaze )
459460
#file_hashes[row.Filename] = bytes2hex(sha256(row.Filename))
460461
file_hashes[row.Filename] = bytes2hex(open(md5,row.Filename))
461-
weights = 1
462+
weight = 1
462463
if row.Filename df_files_cleanest.Filename
463-
mean_clean_flux .+= spec.flux # .*weights
464-
mean_clean_var .+= spec.var # .*weights
464+
mean_lambda .+= spec.λ
465+
mean_clean_flux .+= spec.flux # .*weight
466+
mean_clean_var .+= spec.var # .*weight
467+
global mean_clean_flux_weight_sum += weight
465468
end
466469

467470
#=
@@ -478,15 +481,17 @@ pipeline_plan = PipelinePlan()
478481
@warn("DRP v1.1 now provides blaze in L2 file. This script has not been updated to use explicit an SED model.")
479482
(f_norm, var_norm) = Continuum.normalize_by_sed(spec.λ,spec.flux,spec.var, sed; poly_order = args["order_poly_continuum"], half_width = args["continuum_poly_half_width"], quantile = args["quantile_fit_continuum"], orders_to_use=orders_to_use_for_continuum)
480483
if row.Filename df_files_cleanest.Filename
481-
mean_clean_flux_sed_normalized .+= f_norm # .*weights
482-
mean_clean_var_sed_normalized .+= var_norm # .*weights
484+
mean_clean_flux_sed_normalized .+= f_norm # .*weight
485+
mean_clean_var_sed_normalized .+= var_norm # .*weight
486+
global mean_clean_flux_sed_normalized_weight_sum += weight
483487
end
484488
else
485489
f_norm = spec.flux
486490
var_norm = spec.var
487491
end
488492

489-
if args["apply_continuum_normalization"]==true && args["continuum_normalization_individually"]==true
493+
494+
if args["apply_continuum_normalization"]==true && args["continuum_normalization_individually"]==true
490495
local anchors, continuum, f_filtered
491496
if args["anchors_filename"] != nothing
492497
@assert isfile(args["anchors_filename"]) && filesize(args["anchors_filename"])>0
@@ -508,9 +513,9 @@ pipeline_plan = PipelinePlan()
508513
f_norm ./= continuum
509514
var_norm ./= continuum.^2
510515
if row.Filename df_files_cleanest.Filename
511-
mean_clean_flux_continuum_normalized .+= f_norm # .*weights
512-
mean_clean_var_continuum_normalized .+= var_norm # .*weights
513-
# mean_clean_var_continuum_normalized_weight_sum .+= weights
516+
mean_clean_flux_continuum_normalized .+= f_norm # .*weight
517+
mean_clean_var_continuum_normalized .+= var_norm # .*weight
518+
global mean_clean_flux_continuum_normalized_weight_sum += weight
514519
end
515520
spec.flux .= f_norm
516521
spec.var .= var_norm
@@ -521,9 +526,6 @@ pipeline_plan = PipelinePlan()
521526
GC.gc()
522527
dont_need_to!(pipeline_plan,:read_spectra);
523528

524-
#mean_clean_flux ./= mean_clean_flux_weight_sum
525-
#mean_clean_flux_sed_normalized ./= mean_clean_flux_continuum_normalized_weight_sum
526-
#mean_clean_flux_continuum_normalized ./= mean_clean_flux_continuum_normalized_weight_sum
527529

528530
if args["apply_continuum_normalization"]==true && !(args["continuum_normalization_individually"] == true)
529531
println("# Computing continuum normalization from mean spectra.")
@@ -545,18 +547,26 @@ pipeline_plan = PipelinePlan()
545547
end
546548
normalization_anchors_list = anchors
547549

550+
weight = 1
548551
for (i,row) in enumerate(eachrow(df_files_use))
549552
(anchors, continuum, f_filtered) = Continuum.calc_continuum(all_spectra[i].λ, all_spectra[i].flux, all_spectra[i].var,
550553
anchors, smoothing_half_width = args["smoothing_half_width"], orders_to_use=orders_to_use_for_continuum)
551554
all_spectra[i].flux ./= continuum
552555
all_spectra[i].var ./= continuum.^2
553556
if row.Filename df_files_cleanest.Filename
554-
mean_clean_flux_continuum_normalized .+= all_spectra[i].flux # .*weights
555-
mean_clean_var_continuum_normalized .+= all_spectra[i].var # .*weights
556-
# mean_clean_var_continuum_normalized_weight_sum .+= weights
557+
mean_clean_flux_continuum_normalized .+= all_spectra[i].flux # .*weight
558+
mean_clean_var_continuum_normalized .+= all_spectra[i].var # .*weight
559+
global mean_clean_flux_continuum_normalized_weight_sum += weight
557560
end
558561
end
559562
end
563+
mean_lambda ./= mean_clean_flux_weight_sum
564+
mean_clean_flux ./= mean_clean_flux_weight_sum
565+
mean_clean_var ./= mean_clean_flux_weight_sum
566+
mean_clean_flux_sed_normalized ./= mean_clean_flux_sed_normalized_weight_sum
567+
mean_clean_var_sed_normalized ./= mean_clean_flux_sed_normalized_weight_sum
568+
mean_clean_flux_continuum_normalized ./= mean_clean_flux_continuum_normalized_weight_sum
569+
mean_clean_var_continuum_normalized ./= mean_clean_flux_continuum_normalized_weight_sum
560570

561571
order_list_timeseries = extract_orders(all_spectra, pipeline_plan, orders_to_use=orders_to_use, remove_bad_chunks=false, recalc=true )
562572

@@ -624,18 +634,20 @@ println("# Saving results to ", daily_ccf_filename, ".")
624634
f["v_grid"] = v_grid_order_ccfs
625635
f["order_ccfs"] = order_ccfs
626636
f["order_ccf_vars"] = order_ccf_vars
637+
f["Δfwhm"] = Δfwhm
627638
f["orders_to_use"] = orders_to_use
628639
f["manifest"] = df_files_use
629640
f["calc_order_ccf_args"] = args
630641
f["ccf_line_list"] = line_list_espresso
631-
if size(df_files_cleanest,1) >= 1
642+
if (size(df_files_cleanest,1) >= 1) && any(.!iszero.(mean_clean_flux))
643+
f["mean_lambda"] = mean_lambda
632644
f["mean_clean_flux"] = mean_clean_flux
633645
f["mean_clean_var"] = mean_clean_var
634-
if size(mean_clean_flux_sed_normalized,1) > 0
646+
if (size(mean_clean_flux_sed_normalized,1) > 0) && any(.!iszero.(mean_clean_flux_sed_normalized)) && any(.!isnan.(mean_clean_flux_sed_normalized))
635647
f["mean_clean_flux_sed_normalized"] = mean_clean_flux_sed_normalized
636648
f["mean_clean_var_sed_normalized"] = mean_clean_var_sed_normalized
637649
end
638-
if size(mean_clean_flux_continuum_normalized,1) > 0
650+
if (size(mean_clean_flux_continuum_normalized,1) > 0) && any(.!iszero(mean_clean_flux_continuum_normalized)) && any(.!isnan.(mean_clean_flux_continuum_normalized))
639651
f["mean_clean_flux_continuum_normalized"] = mean_clean_flux_continuum_normalized
640652
f["mean_clean_var_continuum_normalized"] = mean_clean_var_continuum_normalized
641653
end

0 commit comments

Comments
 (0)