qsonic-fit

usage: qsonic-fit [-h] --input-dir INPUT_DIR --catalog CATALOG [--tile-format]
                  [--mock-analysis]
                  [--keep-surveys KEEP_SURVEYS [KEEP_SURVEYS ...]]
                  [--skip-resomat] [--arms {B,R,Z} [{B,R,Z} ...]]
                  [--outdir OUTDIR] [--coadd-arms {before,after,disable}]
                  [--exposures {before,after,disable}] [--save-by-hpx]
                  [--noise-calibration NOISE_CALIBRATION]
                  [--varlss-as-additive-noise]
                  [--flux-calibration FLUX_CALIBRATION]
                  [--smoothing-scale SMOOTHING_SCALE] [--min-rsnr MIN_RSNR]
                  [--min-forestsnr MIN_FORESTSNR] [--skip SKIP]
                  [--wave1 WAVE1] [--wave2 WAVE2] [--forest-w1 FOREST_W1]
                  [--forest-w2 FOREST_W2] [--sky-mask SKY_MASK] [--bal-mask]
                  [--dla-mask DLA_MASK] [--num-iterations NUM_ITERATIONS]
                  [--continuum-model {picca,true,input}] [--true-continuum]
                  [--input-continuum-dir INPUT_CONTINUUM_DIR]
                  [--fiducial-meanflux FIDUCIAL_MEANFLUX]
                  [--fiducial-varlss FIDUCIAL_VARLSS]
                  [--cont-order CONT_ORDER] [--var-fit-eta] [--var-use-cov]
                  [--normalize-stacked-flux] [--eta-calib-ivar]
                  [--rfdwave RFDWAVE] [--minimizer {iminuit,l_bfgs_b}]

Input options

--input-dir, -i

Input directory.

--catalog

Catalog filename

--tile-format

Read tile coadd-*.fits files in tiles/cumulative directory.

Default: False

--mock-analysis

Input folder is mock. Uses nside=16

Default: False

--keep-surveys

Surveys to keep.

Default: [‘main’]

--skip-resomat

Skip reading resolution matrix for 3D.

Default: False

--arms

Possible choices: B, R, Z

Arms to read.

Default: [‘B’, ‘R’]

Output options

--outdir, -o

Output directory to save deltas.

--coadd-arms

Possible choices: before, after, disable

Coadds arms before or after continuum fitting or not at all.

Default: “before”

--exposures

Possible choices: before, after, disable

Reads exposures before or after continuum fitting and saves. Tile format not supported. Related function qsonic.scripts.qsonic_fit.mpi_read_exposures_after().

Default: “disable”

--save-by-hpx

Save by healpix. If not, saves by MPI rank.

Default: False

Noise and flux calibation options

--noise-calibration

Noise calibration file.

--varlss-as-additive-noise

var_lss as additive noise term after continuum fitting.

Default: False

--flux-calibration

Flux calibration file.

Analysis options

--smoothing-scale

Smoothing scale for pipeline noise in A.

Default: 16.0

--min-rsnr

Minium SNR <F/sigma> above Lya.

Default: 0

--min-forestsnr

Minium SNR <F/sigma> within the forest.

Default: 0

--skip

Skip short spectra lower than given ratio.

Default: 0.2

Wavelength analysis region

--wave1

First observed wavelength edge.

Default: 3600.0

--wave2

Last observed wavelength edge.

Default: 6000.0

--forest-w1

First forest wavelength edge.

Default: 1050.0

--forest-w2

Last forest wavelength edge.

Default: 1180.0

Masking options

--sky-mask

Sky mask file.

--bal-mask

Mask BALs (assumes it is in catalog).

Default: False

--dla-mask

DLA catalog to mask.

Continuum fitting options

--num-iterations

Number of iterations for continuum fitting.

Default: 10

--continuum-model

Possible choices: picca, true, input

Continuum model. picca fits the continuum in the forest region. true is the true continuum analysis for mock analysis. input in the input continuum analysis for all.

Default: “picca”

--true-continuum

Alternative argument for true continuum analysis.

Default: False

--input-continuum-dir

Input continuum directory.

--fiducial-meanflux

Fiducial mean flux FITS file.

--fiducial-varlss

Fiducial var_lss FITS file.

--cont-order

Order of continuum fitting polynomial.

Default: 1

--var-fit-eta

Fit for noise calibration (eta).

Default: False

--var-use-cov

Use covariance in varlss-eta fitting.

Default: False

--normalize-stacked-flux

Force stacked flux to be one at the end.Note this does not change STACKED_FLUX in attributes. It only updates CONT of each delta.

Default: False

--eta-calib-ivar

Calibrate IVAR with eta estimates.

Default: False

--rfdwave

Rest-frame wave steps. Complies with forest limits

Default: 0.8

--minimizer

Possible choices: iminuit, l_bfgs_b

Minimizer to fit the continuum.

Default: “iminuit”

Functions

get_parser(add_help=True)[source]

Constructs the parser needed for the script.

Parameters:

add_help (bool, default: True) – Add help to parser.

Returns:

parser

Return type:

argparse.ArgumentParser

args_logic_fnc_qsonic_fit(args)[source]
mpi_read_spectra_local_queue(local_queue, args, comm)[source]

Read local spectra for the MPI rank. Set forest and observed wavelength range.

Parameters:
Returns:

spectra_list – Spectrum objects for the local MPI rank.

Return type:

list(Spectrum)

mpi_noise_flux_calibrate(spectra_list, args, comm, mpi_rank)[source]
mpi_read_masks(local_queue, args, comm, mpi_rank)[source]

Read and set masking objects. Broadcast from the master process if necessary. See qsonic.masks for SkyMask, BALMask and DLAMask.

Parameters:
Returns:

maskers – Mask objects from qsonic.masks.

Return type:

list(Masks)

apply_masks(maskers, spectra_list, mpi_rank=0)[source]

Apply masks in maskers to the local spectra_list.

See qsonic.masks for SkyMask, BALMask and DLAMask. Masking is set by setting forestivar=0. DLAMask further corrects for Lya and Lyb damping wings. Empty arms are removed after masking.

Parameters:
  • maskers (list(Masks)) – Mask objects from qsonic.masks.

  • spectra_list (list(Spectrum)) – Spectrum objects for the local MPI rank.

  • mpi_rank (int) – Rank of the MPI process

remove_short_spectra(spectra_list, lya1, lya2, skip_ratio)[source]
mpi_read_calibrate_mask_select_spectra(local_queue, maskers, args, comm, mpi_rank)[source]

Read local spectra for the MPI rank. Set forest and observed wavelength range. Apply noise and flux calibration and maskers. Remove short spectra, and apply minimum forest SNR cut. Calls the following:

Parameters:
  • local_queue (list(ndarray)) – Catalog from qsonic.catalog.mpi_get_local_queue(). Each element is a catalog for one healpix.

  • maskers (list(Masks)) – Mask objects from qsonic.masks.

  • args (argparse.Namespace) – Options passed to script.

  • comm (MPI.COMM_WORLD) – Communication object for reducing data.

  • mpi_rank (int) – Rank of the MPI process

Returns:

spectra_list – Spectrum objects for the local MPI rank.

Return type:

list(Spectrum)

mpi_continuum_fitting(spectra_list, args, comm, mpi_rank)[source]
mpi_read_exposures_after(spectra_list, maskers, args, comm, mpi_rank)[source]

Creates a local catalog from spectra_list and reads exposures. Coadding of arms is always done with IVAR only as weights (exposures are not coadded ). RSNR and forest SNR cuts are still applied. CONT is copied from the exposure coadded spectra. The extension name in the delta files will be TARGETID_ARM_EXPID.

Parameters:
  • spectra_list (list(Spectrum)) – Spectrum objects for the local MPI rank.

  • maskers (list(Masks)) – Mask objects from qsonic.masks.

  • args (argparse.Namespace) – Options passed to script.

  • comm (MPI.COMM_WORLD) – Communication object for reducing data.

  • mpi_rank (int) – Rank of the MPI process

Returns:

exposure_spectra_list – Spectrum objects for the local MPI rank. Note there will be duplicate TARGETIDs.

Return type:

list(Spectrum)

mpi_run_all(comm, mpi_rank, mpi_size)[source]
main()[source]