Line by line code for precision radial velocity described in Artigau et al. 2022
version 0.63.006 (2024-02-21) compatible with:
- SPIRou (APERO and CADC)
- NIRPS (APERO and ESO)
- HARPS (ORIG and ESO)
- ESPRESSO
- CARMENES-VIS
- HARPS-N (ORIG and ESO)
- Maroon-X (Blue and Red)
- SOPHIE
- Installation
- Using LBL
- LBL Demos
- The config file
- Things that the LBL code is NOT meant to do
- Inputs/Outputs explained
- List of input parameters overridable in LBL
- Cite
- GitHub
>> git clone [email protected]:njcuk9999/lbl.git
or the following (depending on your needs)
>> git clone https://github.com/njcuk9999/lbl
Note from now on we refer to this directory as {LBL_ROOT}
The main branch should be the most stable version but may not be the most up-to-date version.
>> git checkout main
The developer branch should be generally be a stable and update-to-date, but may contain experimental functionality.
>> git checkout developer
This is the working branch it may or may not be stable and will probably contain experimental functionality currently in development.
>> git checkout working
Install python 3.9 (either with venv, manually or with conda).
With conda create a new environment:
conda create --name lbl-env python=3.9
Then activate the environment
conda activate lbl-env
Then install packages with pip
cd {LBL_ROOT}
pip install -U -e .
The lbl code consists of a suite of five recipes that can be turned on or off by the user.
lbl_telluclean # Basic telluric correction by fitting a TAPAS atmospheric model (Bertaux et al. 2014)
lbl_template # Template spectrum generation (from 2D order-by-order spectra to 1D co-added spectrum)
lbl_mask # Line mask construction (position of lines and rough systemic velocity measurement)
lbl_compute # Velocity computation on all identified lines
lbl_compile # Compilation of all individual measurements into a final RV (.rdb file)
Notes: lbl_telluclean
is currently only available for HARPS and ESPRESSO and is not recommended for near-infrared data (SPIRou, NIRPS-HA, NIRPS-HE) requiring a better telluric correction prior to applying LBL.
The LBL calculations are performed on extracted order-by-order (2D) spectra. The user must define a data directory (hereafter {DATA_DIR}
). The science input files must be placed inside a science directory in {DATA_DIR}
, separated by objects (e.g., {DATA_DIR}/science/OBJECT/*.fits
).
Blaze calibration files must be placed in {DATA_DIR}/calib
for optimal template creation (dealing with overlapping orders). The user must also provide the wavelength solutions associated with the science files in {DATA_DIR}/calib
when not already included in the science headers.
The easiest way to run LBL is to use wrapper python scripts that set up the controlling parameters and the path ot the data. Some examples of wrapper files can be found in the ./lbl/doc/examples/ directory of this repository and they can be accessed via the links to the demo data in Sec. 3.
Essentially all one needs to do is set up a few constants in the wrapper file (instrument, data directory, which objects and which steps to run) and then call the wrapper, i.e. python your_wrapper.py
. Make sure that the lbl conda environment was previously activated (conda activate lbl-env
) before launching the LBL.
Here are some examples of LBL runs on different instruments.
The wrapper allows almost any constant present in LBL to be overridden by the user (see list). However, in most cases, only the following parameters will have to be changed.
INSTRUMENT
, currently supported instruments are 'SPIROU', 'NIRPS', 'HARPS', 'HARPSN', 'ESPRESSO', and 'CARMENES'DATA_SOURCE
, specific to SPIRou ('APERO' or 'CADC') and NIRPS ('APERO' or 'ESO')DATA_DIR
, absolute path to the data directoryDATA_TYPE
, specify if data is 'SCIENCE', 'FP', or 'LFC'OBJECT_SCIENCE
, name of the object to run LBL (must be the same as defined in the science directory)OBJECT_TEMPLATE
, name of the template to use (generally the object)OBJECT_TEFF
, effective temperature of the template star (relevant for mask creation)
The user can decide which recipe to run or skip (if already on disk).
RUN_LBL_{RECIPE}
, set to True or False with TELLUCLEAN, TEMPLATE, MASK, COMPUTE, and COMPILE as{RECIPE}
SKIP_LBL_{RECIPE}
, set to True or False with TELLUCLEAN, TEMPLATE, MASK, COMPUTE, and COMPILE as{RECIPE}
The purpose of the LBL library of codes is to optimally determine stellar velocities from a set of input extracted science frames. We fully understand that a number of data processing steps are required prior to the LBL computation and that the science analysis to derive keplerian orbits will require many more tools. We do not intend to cover the following items with the LBL, and the user is exected to perform these tasks prior/after the LBL analysis to obtain scientifically meaningful results:
- Extraction of the science data.
- Optimal telluric absorption correction.
- OH line subtraction.
- Proper parsing of the objects in sub-directory; if you put files from different objects in a folder and call it as if they were from the same target, the code will not work.
- Proper matching of science, mask and template targets. You can use a G star as a template for a late-M and the code will run... but the results will be useless!
- Scientific analysis of the RV time series, keplerian fits, GP filtering.
- Fancy plotting; the LBL code returns big tables and these can be used to generate many different plots.
When completed there should be the following directories inside the {DATA_DIR}
given.
calib # Input calibration files (blaze and wavelength calibrations depending on instrument)
lblreftable # LBL reference tables are added here
log # Log files are stored here
models # Any models downloaded are placed here
plots # Any plots saved to disk are put here
science # Input spectra are put here (each in {OBJECT_SCIENCE} sub-directories)
lblrdb # LBL RDB files are added here
lblrv # LBL RV files (in {OBJECT_SCIENCE}_{OBJECT_TEMPLATE} sub-directories) are stored here
masks # Mask files for each template are placed here
other # Other downloaded files are added here
templates # Templates are put here
Notes: Only the calib
and science
directories are required in {DATA_DIR}
to start lbl
There are two main lbl outputs, a .fits
and a .rdb
file in lblrdb
.
The .fits
file contains several extensions:
Wave, DV, SDV, D2V, SD2V, D3V, SD3V images (each 2D with shape number of lines by the number of files), respectively the wavelength start of each line, the first, second, and third derivative measurements and associated errors. The last three extensions (RDB0, RDB, PTABLE) correspond to fits bin tables, RDB0 being the reference table also found in lblreftable
, RDB the fits bin table equivalent of the .rdb
file, and PTABLE the parameters used in this LBL run.
The .rdb
file consist of the following columns:
- rjd, the reduced Julian day
- vrad, the radial velocity (first derivative, dv) in m/s
- svrad, the uncertainty on velocity in m/s
- d2v, sd2v, d3v, sd3v are the second and third derivatives, and their respective uncertainties
- fwhm, sig_fwhm, dW and sdW (FWHM and differential FWHM width, related to d2v) and their respective uncertainties
- vrad_{key} and svrad_{key}, where 'key' relates to a specific measure of the radial velocity:
- achromatic
- chromatic_slope
- photometric_band
- photometric_band_{xlow-xhigh}, dividing the detector into pixel chunks
- {lambda}nm, divided into chunks (where lambda is the center of the bin)
Additional notes:
-The .rdb
file is compatible with DACE (dace.unige.ch/radialVelocities/).
-The lbl2 .rdb
file is a nightly binned (weighted average) version of the standard lbl .rdb
file.
-The _tc suffix denotes a file has been cleaned of tellurics within LBL.
This is a list of overridable parameters for use in the wrapper
KEY | DEFAULT_VALUE | SPIROU_VALUE | HARPS_VALUE | ESPRESSO_VALUE | CARMENES_VALUE | DESCRIPTION |
---|---|---|---|---|---|---|
CONFIG_FILE | None | None | None | None | None | Config file for user settings (absolute path) |
DATA_DIR | None | None | None | None | None | Main data directory (absolute path) |
MASK_SUBDIR | masks | masks | masks | masks | masks | mask sub directory (relative to data directory) |
TEMPLATE_SUBDIR | templates | templates | templates | templates | templates | template sub directory (relative to data directory) |
CALIB_SUBDIR | calib | calib | calib | calib | calib | calib sub directory (relative to data directory) |
SCIENCE_SUBDIR | science | science | science | science | science | science sub directory (relative to data directory) |
LBLRV_SUBDIR | lblrv | lblrv | lblrv | lblrv | lblrv | LBL RV sub directory (relative to data directory) |
LBLREFTAB_SUBDIR | lblreftable | lblreftable | lblreftable | lblreftable | lblreftable | LBL ref table sub directory (relative to data directory) |
LBLRDB_SUBDIR | lblrdb | lblrdb | lblrdb | lblrdb | lblrdb | LBL RDB sub directory (relative to data directory) |
INSTRUMENT | None | SPIROU | HARPS | ESPRESSO | CARMENES | The instrument to use |
SKIP_DONE | False | False | False | False | False | Whether to skip done files |
OVERWRITE | False | False | False | False | False | Whether to overwrite files that already exist |
VERBOSE | 2 | 2 | 2 | 2 | 2 | Verbosity 0=only warnings/errors, 1=info/warnings/errors,2=general/info/warning/errors (default is 2) |
USE_TQDM | True | True | True | True | True | Whether to use tqdm module in loops (only for verbose=2) |
PROGRAM | None | None | None | None | None | Whether to add program id to the logging message |
OBJECT_SCIENCE | None | None | None | None | None | The object name for the compute function |
OBJECT_TEMPLATE | None | None | None | None | None | The object name to use for the template (If None set to OBJECT_SCIENCE) |
DATA_TYPE | None | None | None | None | None | Set the data type (science, FP or LFC) |
SCIENCE_MASK_TYPE | pos | pos | pos | pos | pos | the mask type (pos, neg, full) |
FP_MASK_TYPE | neg | neg | neg | neg | neg | the mask type (pos, neg, full) |
LFC_MASK_TYPE | neg | neg | neg | neg | neg | the mask type (pos, neg, full) |
BLAZE_FILE | None | None | None | None | None | Blaze file to use (must be present in the CALIB directory) |
TEMPLATE_FILE | None | None | None | None | None | Template file to use (if not defined will try to find template for OBJECT_TEMPLATE) must be present in theTEMPLATES directory |
INPUT_FILE | None | *.fits | e2dsA.fits | ES_*.fits | e2dsA.fits | The input file expression to use (i.e. e2dsffAB.fits) |
MASK_FILE | None | None | None | None | None | Override the mask to be used (within mask dir or full path) |
REF_TABLE_FMT | csv | csv | csv | csv | csv | Ref table format (i.e. csv) |
HP_WIDTH | None | 500 | 500 | 500 | 500 | The High pass width [km/s] |
SNR_THRESHOLD | None | 10 | 10 | 10 | 10 | The SNR cut off threshold |
USE_NOISE_MODEL | False | False | False | False | False | Switch whether to use noise model or not for the RMS calculation |
ROUGH_CCF_MIN_RV | -300000.0 | -300000.0 | -300000.0 | -300000.0 | -300000.0 | The rough CCF rv minimum limit in m/s |
ROUGH_CCF_MAX_RV | 300000.0 | 300000.0 | 300000.0 | 300000.0 | 300000.0 | The rough CCF rv maximum limit in m/s |
ROUGH_CCF_EWIDTH_GUESS | 2000 | 2000 | 2000 | 2000 | 2000 | The rough CCF ewidth guess for fit in m/s |
COMPUTE_RV_N_ITERATIONS | 10 | 10 | 10 | 10 | 10 | The number of iterations to do to converge during compute RV |
COMPUTE_MODEL_PLOT_ORDERS | None | [35] | [60] | [60] | [60] | The plot order for the compute rv model plotthis can be an integer of a list of integers |
COMPUTE_LINE_MIN_PIX_WIDTH | 5 | 5 | 5 | 5 | 5 | The minimum line width (in pixels) to consider line valid |
COMPUTE_LINE_NSIG_THRES | 8 | 8 | 8 | 8 | 8 | The threshold in sigma on nsig (dv / dvrms) to keep valid |
COMPUTE_RV_BULK_ERROR_CONVERGENCE | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | fraction of the bulk error the rv mean must be above for compute rv to have converged |
COMPUTE_RV_MAX_N_GOOD_ITERS | 8 | 8 | 8 | 8 | 8 | The maximum number of iterations deemed to lead to a good RV |
COMPUTE_RMS_SIGCLIP_THRES | 5 | 5 | 5 | 5 | 5 | define the number of sigma to clip based on the rms away from the model (sigma clips science data) |
COMPUTE_CCF_HP_SCALE | 30 | 30 | 30 | 30 | 30 | scale of the high-passing of the CCF in rough-ccf should be a few stellar FWHM. Expressed in km/s |
RDB_SUFFIX | The suffix to give the rdb files | |||||
COMPIL_WAVE_MIN | None | 900 | 400 | 450 | 500 | The compil minimum wavelength allowed for lines [nm] |
COMPIL_WAVE_MAX | None | 2500 | 700 | 750 | 1000 | The compil maximum wavelength allowed for lines [nm] |
COMPIL_MAX_PIXEL_WIDTH | None | 50 | 50 | 50 | 50 | The maximum pixel width allowed for lines [pixels] |
COMPIL_CUT_PEARSONR | 0.0001 | 0.0001 | 0.0001 | 0.0001 | 0.0001 | Max likelihood of correlation with BERV to use line |
COMPIL_FP_EWID | None | 5.0 | 5.0 | 3.0 | 5.0 | define the CCF e-width to use for FP files |
COMPIL_ADD_UNIFORM_WAVEBIN | False | True | True | True | True | define whether to add the magic "binned wavelength" bands rv |
COMPIL_NUM_UNIFORM_WAVEBIN | 15 | 25 | 15 | 15 | 15 | define the number of bins used in the magic "binned wavelength" bands |
COMPILE_BINNED_BAND1 | None | H | r | g | g | The first band (from get_binned_parameters) to plot (band1) |
COMPILE_BINNED_BAND2 | None | J | g | r | r | The second band (from get_binned_parameters) to plot (band2) this is used for colour (band2 - band3) |
COMPILE_BINNED_BAND3 | None | H | r | i | i | The third band (from get_binned_parameters) to plot (band3) this is used for colour (band2 - band3) |
COMPIL_SLOPE_REF_WAVE | None | 1600 | 550 | 650 | 750 | define the reference wavelength used in the slope fitting in nm |
COMPIL_FRAC_TIME_MEAS | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | a threshold based on the fraction on time a line as been measured |
COMPIL_FORCE_SIGMA_PER_LINE | False | False | False | False | False | Force the per-line dispersion to match uncertainties. In otherwords, the per-line (vrad-median(vrad))/svrad will be forced to a median value of 1 if True. This causes a degradation of performances by 5-10% for SPIRou but makes the svrad more representative of the expected dispersion in the timeseries. |
FP_REF_LIST | None | ['FP_FP'] | ['STAR,WAVE,FP'] | ['STAR,WAVE,FP'] | ['STAR,WAVE,FP'] | define the FP reference string that defines that an FP observation was a reference (calibration) file - should be a list of strings |
FP_STD_LIST | None | ['OBJ_FP', 'POLAR_FP'] | ['STAR,WAVE,FP'] | ['STAR,WAVE,FP'] | ['STAR,WAVE,FP'] | # define the FP standard string that defines that an FP observation was NOT a reference file - should be a list of strings |
READ_OUT_NOISE | None | 30 | 15 | 15 | 15 | define readout noise per instrument (assumes ~5e- and 10 pixels) |
PLOT | False | False | False | False | False | Whether to do plots for the compute function |
PLOT_COMPUTE_CCF | True | True | True | True | True | Whether to do the compute ccf plot |
PLOT_COMPUTE_LINES | True | True | True | True | True | Whether to do the compute line plot |
PLOT_COMPIL_CUMUL | True | True | True | True | True | Whether to do the compil cumulative plot |
PLOT_COMPIL_BINNED | True | True | True | True | True | Whether to do the compil binned plot |
PLOT_MASK_CCF | True | True | True | True | True | whether to do the mask ccf plot |
PLOT_CCF_VECTOR_PLOT | True | True | True | True | True | whether to do the ccf vector plot |
PLOT_TELLU_CORR_PLOT | True | True | True | True | True | whether to do the tellu correction plot |
STELLAR_WAVE_URL | None | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/ | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/ | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/ | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/ | the wave url for the stellar models |
STELLAR_WAVE_FILE | None | WAVE_PHOENIX-ACES-AGSS-COND-2011.fits | WAVE_PHOENIX-ACES-AGSS-COND-2011.fits | WAVE_PHOENIX-ACES-AGSS-COND-2011.fits | WAVE_PHOENIX-ACES-AGSS-COND-2011.fits | the wave file for the stellar models (using wget) |
STELLAR_MODEL_URL | None | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/PHOENIX-ACES-AGSS-COND-2011/{ZSTR}{ASTR}/ | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/PHOENIX-ACES-AGSS-COND-2011/{ZSTR}{ASTR}/ | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/PHOENIX-ACES-AGSS-COND-2011/{ZSTR}{ASTR}/ | ftp://phoenix.astro.physik.uni-goettingen.de/HiResFITS/PHOENIX-ACES-AGSS-COND-2011/{ZSTR}{ASTR}/ | the stellar model url |
MASK_SNR_MIN | None | 5 | 5 | 20 | 5 | the minimum allowed SNR in a pixel to add it to the mask |
STELLAR_MODEL_FILE | None | lte{TEFF}-{LOGG}-{ZVALUE}{ASTR}.PHOENIX-ACES-AGSS-COND-2011-HiRes.fits | lte{TEFF}-{LOGG}-{ZVALUE}{ASTR}.PHOENIX-ACES-AGSS-COND-2011-HiRes.fits | lte{TEFF}-{LOGG}-{ZVALUE}{ASTR}.PHOENIX-ACES-AGSS-COND-2011-HiRes.fits | lte{TEFF}-{LOGG}-{ZVALUE}{ASTR}.PHOENIX-ACES-AGSS-COND-2011-HiRes.fits | Define the stellar model file name (using wget, with appriopriate format cards) |
OBJECT_TEFF | None | None | None | None | None | the object temperature (stellar model) |
OBJECT_LOGG | None | 4.5 | 4.5 | 4.5 | 4.5 | the object surface gravity (log g) (stellar model) |
OBJECT_Z | None | 0.0 | 0.0 | 0.0 | 0.0 | the object Z (stellar model) |
OBJECT_ALPHA | None | 0.0 | 0.0 | 0.0 | 0.0 | the object alpha (stellar model) |
BLAZE_SMOOTH_SIZE | None | 20 | 20 | 20 | 20 | blaze smoothing size (s1d template) |
BLAZE_THRESHOLD | None | 0.2 | 0.2 | 0.2 | 0.2 | blaze threshold (s1d template) |
TEMPLATE_MJDSTART | None | None | None | None | None | the earliest allowed FP calibration used for template construction (None for unset) |
TEMPLATE_MJDEND | None | None | None | None | None | the latest allowed FP calibration used for template construction (None for unset) |
BERVBIN_MIN_ENTRIES | 3 | 3 | 3 | 3 | 3 | the minimum number of observations required for a template berv bin |
DO_TELLUCLEAN | None | False | True | True | True | whether to do the tellu-clean |
TELLUCLEAN_USE_TEMPLATE | True | True | True | True | True | whether to use template in tellu-cleaning |
TELLUCLEAN_TAPAS_URL | https://www.astro.umontreal.ca/~artigau/lbl/tapas_lbl.fits | https://www.astro.umontreal.ca/~artigau/lbl/tapas_lbl.fits | https://www.astro.umontreal.ca/~artigau/lbl/tapas_lbl.fits | https://www.astro.umontreal.ca/~artigau/lbl/tapas_lbl.fits | https://www.astro.umontreal.ca/~artigau/lbl/tapas_lbl.fits | the tapas url used in tellu-cleaning |
TELLUCLEAN_DV0 | None | None | 0 | 0 | 0 | the dv offset for tellu-cleaning in km/s |
TELLUCLEAN_MASK_DOMAIN_LOWER | None | None | 500 | 550 | 600 | the lower wave limit for the absorber spectrum masks in nm |
TELLUCLEAN_MASK_DOMAIN_UPPER | None | None | 700 | 670 | 900 | the upper wave limit for the absorber spectrum masks in nm |
TELLUCLEAN_FORCE_AIRMASS | None | None | False | True | False | whether to force using airmass from header |
TELLUCLEAN_CCF_SCAN_RANGE | None | None | 50 | 150 | 25 | the CCF scan range in km/s |
TELLUCLEAN_MAX_ITERATIONS | 20 | 20 | 20 | 20 | 20 | the maximum number of iterations for the tellu-cleaning loop |
TELLUCLEAN_KERNEL_WID | None | None | 1.4 | 1.4 | 1.4 | the kernel width in pixels |
TELLUCLEAN_GAUSSIAN_SHAPE | None | None | 2.2 | 2.2 | 2.2 | the gaussian shape (2=pure gaussian, >2=boxy |
TELLUCLEAN_WAVE_LOWER | None | None | 350 | 350 | 520 | the wave grid lower wavelength limit in nm |
TELLUCLEAN_WAVE_UPPER | None | None | 750 | 750 | 1000 | the wave grid upper wavelength limit in nm |
TELLUCLEAN_TRANSMISSION_THRESHOLD | -1 | -1 | -1 | -1 | -1 | the transmission threshold exp(-1) at which tellurics are uncorrectable |
TELLUCLEAN_SIGMA_THRESHOLD | 10 | 10 | 10 | 10 | 10 | the sigma cut threshold above which pixels are removed from fit |
TELLUCLEAN_RECENTER_CCF | None | None | False | False | False | whether to recenter the CCF on the first iteration |
TELLUCLEAN_RECENTER_CCF_FIT_OTHERS | None | None | False | True | True | whether to recenter the CCF on the first iteration |
TELLUCLEAN_DEFAULT_WATER_ABSO | None | None | 0.5 | 5.0 | 5.0 | the default water absorption to use |
TELLUCLEAN_WATER_BOUNDS_LOWER | None | None | 0.01 | 0.05 | 0.05 | the lower limit on valid exponent of water absorbers |
TELLUCLEAN_WATER_BOUNDS_UPPER | None | None | 15 | 15 | 15 | the upper limit on valid exponent of water absorbers |
TELLUCLEAN_OTHERS_BOUNDS_LOWER | None | None | 0.05 | 0.05 | 0.05 | the lower limit on valid exponent of other absorbers |
TELLUCLEAN_OTHERS_BOUNDS_UPPER | None | None | 15 | 15 | 15 | the upper limit on valid exponent of other absorbers |
COMMAND_LINE_ARGS | None | [] | [] | [] | [] | storage of command line arguments used |
KW_WAVECOEFFS | None | WAVE{0:04d} | HIERARCH ESO DRS CAL TH COEFF LL{0} | NONE | NONE | Wave coefficients header key |
KW_WAVEORDN | None | WAVEORDN | HIERARCH ESO DRS CAL TH ORDER NBR | HIERARCH ESO DRS CAL TH ORDER NBR | NONE | wave num orders key in header |
KW_WAVEDEGN | None | WAVEDEGN | HIERARCH ESO DRS CAL TH DEG LL | HIERARCH ESO DRS CAL TH DEG LL | NONE | wave degree key in header |
KW_MID_EXP_TIME | None | MJDMID | HIERARCH ESO DRS BJD | HIERARCH ESO QC BJD | HIERARCH CARACAL MJD-OBS | mid exposure time in MJD |
KW_SNR | None | EXTSN035 | HIERARCH ESO DRS SPE EXT SN47 | HIERARCH ESO QC ORDER100 SNR | HIERARCH CARACAL FOX SNR 50 | snr key in header |
KW_BERV | None | BERV | HIERARCH ESO DRS BERV | HIERARCH ESO QC BERV | HIERARCH CARACAL BERV | the barycentric correction keyword |
KW_BLAZE_FILE | None | CDBBLAZE | HIERARCH ESO DRS BLAZE FILE | HIERARCH ESO PRO REC1 CAL20 CATG | NONE | The Blaze calibration file |
KW_NITERATIONS | ITE_RV | ITE_RV | ITE_RV | ITE_RV | ITE_RV | the number of iterations |
KW_SYSTEMIC_VELO | SYSTVELO | SYSTVELO | SYSTVELO | SYSTVELO | SYSTVELO | the systemic velocity in m/s |
KW_RMS_RATIO | RMSRATIO | RMSRATIO | RMSRATIO | RMSRATIO | RMSRATIO | the rms to photon noise ratio |
KW_CCF_EW | CCF_EW | CCF_EW | CCF_EW | CCF_EW | CCF_EW | the e-width of LBL CCF |
KW_HP_WIDTH | HP_WIDTH | HP_WIDTH | HP_WIDTH | HP_WIDTH | HP_WIDTH | the high-pass LBL width [km/s] |
KW_VERSION | LBL_VERS | LBL_VERS | LBL_VERS | LBL_VERS | LBL_VERS | the LBL version |
KW_VDATE | LBLVDATE | LBLVDATE | LBLVDATE | LBLVDATE | LBLVDATE | the LBL version |
KW_PDATE | LBLPDATE | LBLPDATE | LBLPDATE | LBLPDATE | LBLPDATE | the LBL processed date |
KW_INSTRUMENT | LBLINSTR | LBLINSTR | LBLINSTR | LBLINSTR | LBLINSTR | the LBL processed date |
KW_MJDATE | None | MJDATE | HIERARCH ESO DRS BJD | HIERARCH ESO QC BJD | HIERARCH CARACAL MJD-OBS | the start time of the observation |
KW_EXPTIME | None | EXPTIME | HIERARCH ESO DET WIN1 DIT1 | HIERARCH ESO QC BJD | EXPTIME | the exposure time of the observation |
KW_AIRMASS | None | AIRMASS | HIERARCH ESO TEL AIRM START | ['HIERARCH ESO TEL1 AIRM START', 'HIERARCH ESO TEL2 AIRM START', 'HIERARCH ESO TEL3 AIRM START'] | AIRMASS | the airmass of the observation |
KW_DATE | None | DATE-OBS | DATE | DATE | DATE-OBS | the human date of the observation |
KW_TAU_H2O | None | TLPEH2O | TLPEH2O | TLPEH2O | TLPEH2O | the tau_h20 of the observation |
KW_TAU_OTHERS | None | TLPEOTR | TLPEOTR | TLPEOTR | TLPEOTR | the tau_other of the observation |
KW_DPRTYPE | None | DPRTYPE | HIERARCH ESO DPR TYPE | HIERARCH ESO PRO REC1 RAW1 CATG | NONE | the DPRTYPE of the observation |
KW_OUTPUT | None | DRSOUTID | None | None | None | the output type of the file |
KW_DRSOBJN | None | DRSOBJN | None | None | None | the drs object name |
KW_FIBER | None | FIBER | None | None | None | define the FIBER of the observation |
KW_WAVETIME | None | WAVETIME | None | None | None | the observation time (mjd) of the wave solution |
KW_WAVEFILE | None | WAVEFILE | HIERARCH ESO DRS CAL TH FILE | HIERARCH ESO PRO REC1 CAL15 NAME | NONE | the filename of the wave solution |
KW_TLPDVH2O | None | TLPDVH2O | None | None | None | the telluric TELLUCLEAN velocity of water absorbers |
KW_TLPDVOTR | None | TLPDVOTR | None | None | None | the telluric TELLUCLEAN velocity of other absorbers |
KW_CDBWAVE | None | CDBWAVE | None | None | None | the wave solution used |
KW_OBJNAME | None | OBJECT | HIERARCH ESO OBS TARG NAME | HIERARCH ESO OBS TARG NAME | OBJECT | the original object name |
KW_RHOMB1 | None | SBRHB1_P | None | None | None | the rhomb 1 predefined position |
KW_RHOMB2 | None | SBRHB2_P | None | None | None | the rhomb 2 predefined position |
KW_CDEN_P | None | SBCDEN_P | None | None | None | the calib-reference density |
KW_FPI_TEMP | None | SBCFPI_T | None | None | None | the FP Internal Temp: FPBody(deg C) |
KW_FPE_TEMP | None | SBCFPE_T | None | None | None | the FP External Temp: FPBody(deg C) |
KW_SNRGOAL | None | SNRGOAL | SNRGOAL | NONE | NONE | the SNR goal per pixel per frame |
KW_EXT_SNR | None | EXTSN035 | HIERARCH ESO DRS SPE EXT SN47 | HIERARCH ESO QC ORDER100 SNR | NONE | the SNR in chosen order |
KW_BJD | None | BJD | HIERARCH ESO DRS BJD | HIERARCH ESO QC BJD | HIERARCH CARACAL JD | The barycentric julian date |
KW_SHAPE_DX | None | SHAPE_DX | None | None | None | The shape code dx value |
KW_SHAPE_DY | None | SHAPE_DY | None | None | None | The shape code dy value |
KW_SHAPE_A | None | SHAPE_A | None | None | None | The shape code A value |
KW_SHAPE_B | None | SHAPE_B | None | None | None | The shape code B value |
KW_SHAPE_C | None | SHAPE_C | None | None | None | The shape code C value |
KW_SHAPE_D | None | SHAPE_D | None | None | None | The shape code D value |
KW_FP_INT_T | None | SBCFPI_T | None | None | None | the header key for FP internal temp [deg C] |
KW_FP_INT_P | None | SBCFPB_P | None | None | None | the header key for FP internal pressue [mbar] |
KW_REF_KEY | None | DPRTYPE | HIERARCH ESO DPR TYPE | HIERARCH ESO DPR TYPE | NONE | define the reference header key (must also be in rdb table) to distinguish FP calibration files from FP simultaneous files |
KW_TEMPERATURE | None | OBJTEMP | None | None | None | the temperature of the object |
KW_MODELVEL | None | MODELVEL | MODELVEL | MODELVEL | NONE | Template/model velocity from CCF |
KW_NTFILES | LBLNTMPL | LBLNTMPL | LBLNTMPL | LBLNTMPL | LBLNTMPL | Number of files used in template construction |
KW_TEMPLATE_COVERAGE | LBLTCOVR | LBLTCOVR | LBLTCOVR | LBLTCOVR | LBLTCOVR | define the berv coverage of a template |
KW_TEMPLATE_BERVBINS | LBLTBRVB | LBLTBRVB | LBLTBRVB | LBLTBRVB | LBLTBRVB | define the number of template berv bins |
If you make use of the lbl code for you scientific publication, please cite the following:
Artigau, E., Cadieux, C., Cook, N. J., et al. 2022, AJ, 164, 84
If you wish to help develop we have a simple branch hierarchy:
- main branch (long term stable) - No one should make branches from this branch, or push to this branch
- developer branch (stable but up-to-date) - No one should make branches from this branch, or push to this branch
- working branch - This is where you should make your branches from and push to. Code will be tested and merged into the developer branch (and subsequently the main branch) from here.