@@ -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