Saltire - A model to measure dynamical masses for high-contrast binaries and exoplanets with high-resolution spectroscopy.

High-resolution cross-correlation methods are widely used to discover and to characterise atomic and molecular species in exoplanet atmospheres. The characteristic cross-correlation signal is typically represented as a function of the velocity of the system, and the semi-amplitude of the planet’s orbit. We present Saltire , a fast and simple model that accurately reproduces the shape of such cross-correlation signals, allowing a direct fit to the data by using a minimum set of parameters. We show how to use this model on the detection of atmospheric carbon monoxide in archival data of the hot Jupiter 𝜏 Boötis b, and how Saltire can be used to estimate the semi-amplitude and rest velocity of high brightness-ratio binaries. By including the shape of the signal, we demonstrate that our model allows to robustly derive the signal position up to 10 times more accurate, compared to conventional methods. Furthermore, we discuss the impact of correlated noise and demonstrate that Saltire is a robust tool for estimating systematic uncertainties on the signal position. Saltire opens a new door to analyse high signal-to-noise data to accurately study atmospheric dynamics and to measure precise dynamical masses for exoplanets and faint stellar companions. We show, that the phase-resolved shape of the atmospheric cross-correlation signal can accurately be reproduced, allowing studies of phase-dependent signal changes and to disentangle them from noise and


INTRODUCTION
In the past decades, many tools have been developed to characterise planetary atmospheres using ground and space-based spectro-photometry, as well as ground-based high resolution spectroscopy.One important and widely used method to detect exoplanet atmospheres is High-Resolution Cross-Correlation Spectroscopy (HRCCS; Snellen et al. 2010) which has been used to make robust detections of atomic and molecular species within exoplanet atmospheres, and used to produce empirical information about exoplanet atmospheric dynamics.An advantage of this method is that it is not limited to transiting exoplanets.
Using the HRCCS method, planetary atmospheric signals are retrieved by obtaining consecutive spectroscopic measurements of high resolution, either in transmission during the planet's transit or close to its superior conjunction to measure the planet's day-side thermal emission (see Birkby 2018, for a review).The significance of a detection mainly depends on two aspects: (1) the signal's strength grows with the square-root of the number of atmospheric lines that have been correlated, thus favouring spectral observations with wider wavelength range and/or higher spectral resolutions; (2) the signal's amplitude is a function of the contrast ratio of the exoplanet's atmo-★ E-mail: D.Sebastian.1@bham.ac.uk sphere to the stellar photosphere, thus favouring close-in gas giants with high equilibrium temperatures ( eq ≥ 2200 K), so called ultrahot Jupiters (UHJs; Parmentier et al. 2018).A crucial aspect of the HRCCS method is that spectra are corrected from telluric and stellar contributions which is generally possible because the planet signal is moving fast relative to them (by several km s −1 ) within the span of a typical observation.The planetary signal is thus not correlated to the spectrograph or the stellar rest frame.There are several different methods for telluric and stellar line fitting (e.g.Brogi et al. 2012Brogi et al. , 2016)), or singular value decomposition (Kalman 1996) that have been applied successfully to many exoplanets and instrumental setups (e.g. de Kok et al. 2013;Birkby et al. 2013;Piskorz et al. 2016;Cheverall et al. 2023).

𝐾 c − 𝑉 rest mapping
In the HRCCS framework, spectra corrected for telluric and stellar contributions are cross-correlated with a model spectrum of the planet's atmosphere or with a model of a specific atomic or molecular species, moved to the planet's rest frame.This method requires the semi-amplitude ( c ) of the planet's orbit to be known exactly, which is usually not the case.Typically a cross-correlation map in the  c −  rest plane is generated ('CCF map' hereafter), which probes the cross-correlation signal for several possible semi-amplitudes and rest velocities ( rest ) (e.g.Brogi et al. 2012;de Kok et al. 2013).
Detecting the planet's atmospheric signal in the  c −  rest plane using HRCCS thus literately turns the planet and its host star into a double-lined spectroscopic binary as the planet's semi-amplitude can be measured.This allows to measure the mass-ratio between host star and planet.For transiting planets this allows even to model independent, dynamical planet masses (Birkby 2018).
Unfortunately, in these maps,  c is often highly correlated to  rest which can cause large uncertainties of the planet's semi-amplitude.Typical uncertainties of  c are in the order of tens of kilometres (e.g.Brogi et al. 2018;Bello-Arufe et al. 2022;Yan et al. 2023).Furthermore it has been suggested that different species in the planet's atmosphere show different semi-amplitudes and rest velocities, different to the systemic velocity, both in infrared (Brogi et al. 2023) and optical regimes (e.g.Nugroho et al. 2020).Atmospheric models reveal that the position and shape of the atmospheric signal in the CCF map can be used to disentangle the temperature structure, rotation, and dynamics of a planet's atmosphere, especially during transit observations (e.g.Wardenier et al. 2021;Kesseli et al. 2022).Thus, characterising the accurate position of the planetary signal within the CCF map is essential to empirically understand these processes and essential to place constraints on atmospheric models for close-in giant planets.
Typically the planet's semi-amplitude and rest velocity are determined either by fitting a Gaussian to the cross-correlation map at the maximum significance level (e.g.Prinoth et al. 2022), or by statistically analysing the maximum likelihood of the detection (e.g.Brogi & Line 2019;Brogi et al. 2023).Detections with state-of-the-art instrumentation have a generally low detection significance (typically < 10 ).Future instruments on large telescopes -like the ELT -will result in a higher detection significance of atmospheric signals in the CCF maps and thus will allow to disentangle the planet's orbit from dynamics in the atmosphere.

Binaries as targets of opportunity
A typical hot Jupiter in a very close orbit would have a contrast ratio in the order of 10 −4 to 10 −5 between the planetary atmosphere and the stellar photosphere.In Sebastian et al. (2024) we showed that eclipsing binaries of F,G, & K-type stars, orbited by late type M-dwarf companions can be used to test the achievable accuracy of the the HRCCS method that is required to derive dynamical masses.First, the contrast ratio between both stars is 10 −3 to 10 −4 , which is comparable to exoplanet atmospheres, making such binaries good proxies to exoplanets.Second, the spectrum of an M-star is well known, and we can use optimised model-spectra, observed highresolution spectra, or even line-masks -optimised for M-dwarfs -as templates to generate CCF maps.
A large sample of hundreds of Eclipsing Binaries with Low Mass (EBLM) companions, originally detected by the WASP survey (Pollacco et al. 2006) have been spectroscopically observed in the EBLM project (Triaud et al. 2013(Triaud et al. , 2017)).The faint secondary implies the binary is a single-lined binary.This allows to use stabilised spectrographs and line lists, just like for single stars, to derive very precise radial velocities of the primary.The goal of this project is to derive precise orbital parameters from radial velocity (RV) observations in order to measure fundamental parameters for the secondary stars such as precise mass, and radius of low-mass M-dwarfs (e.g.von Boetticher et al. 2019;Gill et al. 2019;Swayne et al. 2021;Sebastian et al. 2023).As single-lined systems, only parameters relative to the primary can be obtained, but as double-lined systems, which the HRCCS method gives access to, absolute parameters can be measured.In addition these binaries are monitored to search for circumbinary exoplanets (Triaud et al. 2022;Standing et al. 2023).We note that binaries of any type, with large brightness differences can benefit from our approach (e.g.Sun-like companions to red giants).
In this paper, we explore how to model the shape of a CCF map from a typical HRCCS observation.We introduce the Saltire model, a versatile model that allows (i) to fit a HRCCS CCF map and determine accurate parameters for  c and  rest and (ii) to predict CCF maps from a HRCCS observation of exoplanet atmospheres.

MODELLING HRCCS OBSERVATIONS
To model a CCF map, we first need to understand how it is created.It is a superposition of all spectroscopic observations which (i) have been post-processed by correcting for telluric and stellar lines from the host star and (ii) have been cross-correlated by a template spectrum.This is similarly true when analysing faint companions for EBLM binaries as it is for exo-atmospheric observations in transmission or day-side emission spectroscopy.The shape of this superposition depends on two main effects: (i) Changes of the relative contribution of the atmosphere for each measurement.This can be caused by intrinsic processes e.g.due to secondary eclipses, phase curves, or temperature gradients during transit observations, but also due to changing observing conditions or artefacts related to post processing of the data, like phase-depended stretching of the atmospheric signal due to the telluric and host star removal processes.(ii) The orbital reflex motion of the companion, which is moving on a Keplerian orbit.
In a first step we can assume negligible changes in the relative contribution.This is particularly true for high-contrast binaries where the companion is a M-dwarf, and where the phase dependent contribution of its absorption spectrum can be assumed to be constant and known to a first order (neglecting stellar variability, reflected light and ellipsoidal contributions for now).In this case the superposition of all cross-correlated spectra will reach a maximum CCF signal in the companion's rest frame, hence when all spectra have been corrected according to the companion's reflex motion.Typically in the .HRCCS method the orbit parameters are assumed to be fixed (neglecting uncertainties of the orbital parameter determination).In case of close-in giant planets this is even simplified to a fixed sinusoidal motion.
The orbital parameters of binaries from the EBLM project are typically very well determined from high resolution spectroscopy.Assuming two body motion, the companion shares all Keplerian orbital parameters, except the companion's argument of periastron ( c ) and semi-amplitude ( c ).The parameter  c can be derived from the known primary orbit parameters:  c =  − .The barycentric radial velocity of the companion will then take the form: With  the true anomaly being determined by the period (), the time of periastron ( 0,peri ), the eccentricity () and well as . c , is not known at first, since it depends on the exact knowledge of the binaries mass ratio.For this reason CCF maps typically scan for a range of  c which includes the expected semi-amplitude of the companion.
To demonstrate this, we simulate 123 ESPRESSO (Pepe et al. 2010) observations of the M-dwarf companion of the EBLM binary TOI-1338/BEBOP-1 (Standing et al. 2023) covering its full orbital period (Obs1 hereafter).A simulation has the advantage of avoiding to in-clude the spectrum of the primary and the need to include any post processing in the analysis.The M-dwarf companion is simulated with PHOENIX model spectra (Husser et al. 2013) with  eff = 3300 K, log  ★ = 5.0, and [Fe/H] = 0.0.We first correct wavelengths from vacuum to air, following equation 10 from Husser et al. (2013), then we match the spectral resolution to ESPRESSO ( ∼ 140 000) using the implementation in the iSPec package (Blanco-Cuaresma et al. 2014), which convolves the spectra with a Gaussian kernel.Each spectrum is then shifted to match the companions reflex motion using Equation 1 as well as the primary's stellar and orbit parameters  = 14.608558 d,  0,peri = 2 458 206.16755BJD,  = 0.155522, and  = 2.05572 rad (Standing et al. 2023), and the 'true' semiamplitude  c,true = 77.84km s −1 , estimated from the mass ratio ( =  c / 1 ) and the primary's semi-amplitude ( c,true =  1 ).
Finally, we cross-correlate the model spectra with an M2-dwarf line list, a type typically used for high-precision radial velocity measurements implemented by the ESPRESSO data reduction pipeline 1 .For the cross correlation, we convert the spectra to have a uniform sampling of 500 m s −1 , which is close to the pixel resolution of the one dimensional ESPRESSO spectra and we sample the CCF for a velocity range between −30 km s −1 and 30 km s −1 with a spacing of 1.5 km s −1 .Fig. 1 shows the CCFs for each data point when shifting the spectra for  c = 76.7 km s −1 , 73.6 km s −1 , and 64.3 km s −1 respectively.The CCFs are less aligned to the companion's rest velocity the further  c differs from  c,true .When we average each CCF to a combined CCF, a decrease of the combined CCF contrast as well as an asymmetry in the profile are clearly noticeable.By design, the width and shape of the combined CCF is defined by the shape of the single CCFs, as well as the average velocity shift of all spectra.This average velocity shift depends on the orbital parameters as well as of the phases, the orbit is sampled.For a well sampled circular orbit, the width is directly correlated to  c - c,true .The asymmetry of the profile is thus primary caused by the small orbital eccentricity of the simulated binary.
We now produce a CCF map and show it in Fig. 2.This map represents the combined CCF functions for a range of  c between 55−100 km s −1 calculated in steps of 1.5 km s −1 .The position of the three combined CCFs, displayed in Fig. 1, are now part of this map and their positions are highlighted for clarity.The resulting CCF map takes a cross-like shape, a saltire.This process resembles to what happens when optical telescopes are being focused.Far from the solution, the signal is defined and gets 'focused' at the correct semiamplitude and rest velocity.We thus refer to the process of averaging the CCF signal for a certain semi-amplitude as K-focusing.
Similar implementations have been described in literature for more than a decade now.For example Lafarga et al. (2023) describe their 'fast' process, which involves the cross-correlation in the telluric rest frame first, and combining the resulting CCFs after moving them into the companion's rest frame, using a certain semi-amplitude.Independent from the implementation, K-focusing is always the underlying process to create CCF maps in the  c - rest plane.
On the right hand side panel of Fig. 2 we show how the shape of the CCF map changes when using a sub-set of 15 observations out of the 123 from the initial simulation that still cover the binary's orbit well (Obs2 hereafter).
As described above, for real observations our assumption of identical contribution does not hold.We thus need to take into account a weighting of the contribution of each observation to the CCF map.This is typically the RMS noise of each spectrum, but could also include for example phase-curve information of a specific molecule.Later in the paper (Sec.5) we use actual observations where this effect is accounted for.

THE SALTIRE MODEL
We introduce Saltire 2 , a simple, and scalable model to fit CCF maps, created from High Resolution Cross-Correlation Spectroscopy observations.For this model, we assume we can analytically express the CCF of the companion's contribution in velocity space at each time of the orbit.For precise radial velocity measurements the CCF is most often fitted with a simple Gaussian function, which works well for solar-type stars (Baranne et al. 1996;Pepe et al. 2002).For M-dwarfs, side-lobes are observed for reasons that are not completely understood and the simple Gaussian assumption does not hold.Bourrier et al. (2018) showed that a double Gaussian fit can improve the CCF fitting of M-dwarf spectra.Side-lobes have also been observed for CCF signals of exoplanet atmospheres (See e.g.Fig. 8 in Brogi et al. 2016).Furthermore, we show in Sebastian et al. (2024) that data post processing methods, such as singular value decomposition can introduce a stretching of the signal which also produces artificial side-lobes on the CCF function.We thus simulate the CCF signal as a function of the relative rest velocity using a double Gaussian defined as: with the mean height of the CCF outside the signal ℎ, N 1 and N 2 two Gaussian functions with respective intensities  1 ,  2 and standard deviations  1 ,  2 at identical velocity ().To create the side-lobes  1 and  2 must have opposite signs.By fixing the velocity shift between the core (1) and the lobe component (2), we create an asymptotic problem.When both amplitudes are allowed to increase, they would maintain a similar differential amplitude.This causes an increase of the calculation time for a least-squares minimisation algorithm.We avoid this by parametrising both amplitudes as: By introducing the quotient Δ =  2 / 1 , as well as the sum Σ =  1 +  2 of both intensities.The parameter Σ now represents the effective contrast of the CCF, which is independent from the amplitude of the side-lobes.It is negative for expected absorption and positive for emission spectra.We define Δ within the range −1 < Δ ≤ 0, which ensures that both amplitudes have an opposite sign.While Δ = 0, will basically turn the function into a single Gaussian, Δ ∼ −1 would describe the asymptotic case with both amplitudes being very large.By setting priors for Δ, we can thus improve the convergence of the fit.Similar to Fig. 1, we can now derive the CCF signal  () for each observation time.The relative rest velocity of the CCF signal can be derived from the known Keplerian orbital parameters and Equation 1as, for a given  c .This adds two free parameters to our model, the true 2 Saltire python code and documentation is available on Github.
semi-amplitude ( c,true ) and the rest velocity (V rest ) of the detection.
Combining the CCF functions  () for all observation times, we can derive a combined CCF function  ′ ( c ) for each sampled value of  c .This process is identical to the K-focusing, described in Sec. 2. Therefore, we can combine all sampled  ′ ( c ) into a model CCF map.This step is by design identically to what we described for simulated combined CCFs in Sec. 2. This method assumes that all RV trends e.g.due to a third body in a wider orbit have been removed prior the analysis.A good understanding of the primary star's radial velocity trends is typically the case for high-precision spectroscopy of binaries or planet host stars.
Our definition of  rest as the rest velocity of the detection means that the systemic velocity ( sys ) has not been removed.Since it is a free parameter in this model, it can simply be applied to the often used velocity definition with  sys being removed prior the measurement.

Fitting CCF maps made easy
The Saltire model can be used to fit CCF maps.We implement the model as a residual function using the lmfit framework to apply least-squares fitting (Newville et al. 2016).In this section we summarise the basic usage of the model and input parameters.Due to the model construction, the only free parameters are  c ,  rest , as well as the parameters of the one dimensional function  (), which are ℎ, Σ, Δ,  1 , and  2 .Fixed parameters are simply identical to the parameters which have been used to create the CCF map of the simulated data described earlier (Obs1 and Obs2).Here we divide three sets of input parameters: (i) the CCF map dimensions, which are the sampled velocity and semi-amplitude ranges [ rest ], and [ c ], (ii) the observation contribution parameters (obs), which are observation times and weights for each observation, and (iii) the fixed orbit parameters (fixpar), which include the period (), time of periastron ( 0,peri ), eccentricity (), and argument of periastron ().Latter are assumed to be arrays with length of the semi-amplitude range [ c ], to allow fitting of possible different orbit parameters for each sampled semi-amplitude.Additionally, Saltire has a built-in ability to replace the double Gaussian function by a double Lorentzian function.Due to similarities between the parameters of both functions, the change can be done by simply setting the func keyword.
To apply priors, we make use of the lmfit param object.For Δ the maximal value is zero (no side-lobes) and the minimal value should be close, but > −0.5 (strong side-lobes) to avoid the fit entering the asymptotic space.We also ensure the expected width of the side-lobes  2 is always larger than the line width  1 .Despite these recommendations, all free parameters and their limits can be freely selected prior to the fit.
The fitting is implemented by using the saltirise function.It returns the residuals normalised by the CCF errors (data−model)/error as a flattened array for each combination of  rest , and  c , or the initial model, if no data are provided.Despite, the least-squares fit as implemented in lmfit allows to derive correlations and error propagation for each free parameters, Saltire also implements a run_MCMC function.This is to sample the posterior probability distribution of the Saltire free model parameters, using the Markov chain Monte Carlo (MCMC) code emcee (Foreman-Mackey et al. 2013).With the MCMC, an extra parameter is fit, the CCF-jitter ( jit ) of the data that optimally weights the fit in the log-likelihood function.The jitter is a way to avoid under-estimated uncertainties, and accounts for RMS noise, as well as for correlated signals like spurious CCF correlations of stellar lines and/or post processing artefacts.Uniform priors can be set using the same param object described above, but adding  jit as additional parameter.

APPLICATION TO SIMULATED HRCCS EBLM DATA
We estimate how well the model fits CCF maps by using two simulated data-sets of a high-contrast binary, as described in Sec. 2, Obs1 and Obs2.We first do a least-squares minimisation, followed by an MCMC sampling.As starting parameters, we use input values for  c and  rest and CCF function parameters listed in Tab. 1 with wide uniform priors.The least-squares results are used as starting parameters for the MCMC sampling, also using wide uniform priors.
We run 42 parallel chains with 4 000 samples each.The first 1 500 samples of each walker are rejected (the burn-in) and the resulting samples are thinned by a factor 5, resulting in a posterior distribution of 21 000 independent samples for each parameter.The reported parameters are derived as the 50th percentile, and errors by averaging the 15.8655/84.1345percentiles of the posterior distribution.Fig. 2 shows Saltire models generated for both data-sets.By its very design, the model computes different CCF map shapes corresponding to different data sampling and phase coverage.Tab. 1 shows the results of the CCF map fit with Saltire for both observations.The resulting MCMC samples for both sets of simulated observations are displayed in Fig A1 , and Fig A2.
Fig. 3 reveals the shape of the function by performing cuts through the CCF maps as well as the best fitting Saltire models.Cuts for constant semi-amplitudes are shown for (a)  c = 76.7 km s −1 , (b) 73.6 km s −1 , and (c) 64.3 km s −1 .Since we use synthetic spectra, no side-lobes are generated.Due to the absence of side-lobes the parameters Δ and  2 are not well constrained.We find that repeating the fit with both parameters fixed, does not change the result for the other parameters and uncertainties.A cut is shown for constant rest velocity close to the maximum CCF contrast (d)  rest = 0 km s −1 .This step is used in most studies to determine  c .Fig. 4 shows the same for Obs2, highlighting the shape differences for both samples, which can best be seen for cuts b and c, hence for larger deviations from  c,true .
The measurements for  c returned by the model agree with the inserted value  c,true for the simulated observations, within 1.Despite being in statistical agreement, we note that there is a small difference of −12 m s −1 between Obs1 and Obs2.We also find that the values returned for  rest by the model show a difference of 24 m s −1 (2.6 ).The origin of these discrepancies is discussed in Sec.4.1.We note that the measured  rest shows a similar offset of about 450 m s −1 for both Obs1 and Obs2.This offset is not surprising, since (i) the model spectra have been corrected from vacuum wavelengths, and (ii) the M-dwarf line list has been compiled using observed spectra.Both effects can be credited for this systematic offset.
To test the influence of the shape difference between Obs1 and Obs2, we used a simple one-dimensional Gaussian fit to measure  c for the rest velocity of maximum CCF contrast (cut d).This test also simulates what is traditional employed within the literature to measure  c from CCF maps.The best fitting value for  c , we find this way is 77.786 ± 0.088 km s −1 and 77.694 ± 0.069 km s −1 for Obs1 and Obs2, respectively.These measurements are 54 m s −1 (0.6 ) and 146 m s −1 (2.1) from the inserted value  c,true respectively.Thus, we can confirm that the shape difference between both datasets results in a systematic deviation, even at maximum CCF contrast, which -if not modelled properly -will result in discrepant measurements which can be on the order of 10 times larger, compared to what we can achieve with the current implementation of Saltire.

K-Focusing of CCF wiggles
Since the simulated observations are by definition noise-less we ought to retrieve exact values, for both observations, but we do not.Therefore, the differences we retrieve must be created by the analysis.Spurious CCF correlations between the template and other parts of the spectrum are a prime suspect.They are a feature of CCFs (nicknamed wiggles, Sairam et al. 2024).
In real observations these wiggles are quasi stationary, thus show only small changes due to changing observing conditions.In our simulated observations, these are exactly identical, for each observation.When creating the CCF map, these wiggles undergo the same K-focusing process (see Sec. 2), than the main CCF signal.We can now use these simulated, observations to study the effects, introduced by wiggles.The simulated stationary wiggles can be seen in the residuals panels of Fig 3 for Obs1 and Fig 4 for Obs2.They show a decreasing amplitude for larger deviations from  c,true (from a to c).This is expected from the K-focusing process, which basically causes a smearing by averaging them for increasing RV shifts.We also note that the overall shape of the wiggles for Obs1 and Obs2 appear very similar.This is caused by the fact that the orbit parameters and selected range for  c are identical for both observations.
A crucial aspect is that, the shape -originated by the K-focusing process -is also dependent on the phase coverage.Since both observations have a different phase coverage -similar to the companions CCF shape -the wiggles must be different for both observations.Fig. 5 shows the difference between the residual maps of Obs1 and Obs2 with the inserted value of  c,true highlighted.Wiggles of the CCF map are identical at  c,true , for both observations, thus are largely removed in this position, but differ increasingly -due to K-focusingwith larger semi-amplitude deviations.Fig. 5 thus shows that residual correlations caused by the wiggles must be the dominating structure.
This explains why we measure slightly different values for  c and  rest : The differences shown in Fig. 5 are currently not modelled by Saltire.Nevertheless, we show, how 1D wiggles at  c,true propagate in the 2D CCF map due to the K-focusing process.Modelling the 2D wiggles is not the goal of this paper, but future applications to the Saltire model could include a model of these quasi stationary wiggles into the CCF function  () and thus use them as an analytic tool to disentangle between the CCF signal and other aliases from post processing with the goal to measure yet more accurate parameters of the companion, using CCF maps.

APPLICATION TO EXOPLANET HRCCS OBSERVATIONS
Providing a framework to accurately measure atomic species and molecules in exoplanet atmospheres will be one of the main usecases for Saltire.We, show its application to the close-in gas giant planet  Boötis b.Brogi et al. (2012) (B12 hereafter) reported the detection of carbon monoxide (CO) in the atmosphere of this planet by observing the day side emission of the planet.They used CRIRES (Kaeufl et al. 2004) observations with a wavelength range of 2.287 − 2.345 m and a resolution of  100 000 to monitor the planet during three nights.These data cover the orbital phase before, close to, and after the phases of superior conjunction.The data were post-processed identically as in B12, to clean telluric and stellar lines.The orbital radial velocity parameters have been presented is several studies (e.g.Butler et al. 2006;Brogi et al. 2012;Borsa et al. 2015;Justesen & Albrecht 2019).These also report a radial velocity trend of the F6V host star, due to a wide M-dwarf companion.We use the circular orbital solution presented by B12 for this demonstration as fixed parameters ( = 3.312433 d,  0,peri = 2 455 652.108HJD).In here we neglect the expected trend, which is less than 1 m s −1 and, thus below the velocity resolution of CRIRES during to the short observing period for the B12 data.Similarly to Sec. 4 we crosscorrelate the post processed spectra with a line mask.The line-mask is generated using HITRAN (Gordon et al. 2017) line positions for 12 C 16 O, which were weighted by the CO model, described by B12.Using a CO line mask allows us to derive the mean line profile of the exoplanet atmosphere without prior assumption of its shape.We sample  c from 50 to 170 km s −1 in steps of 1.5 km s −1 , and  rest from -70 to 50 km s −1 in steps of 1.5 km s −1 .Our selected step width corresponds to the pixel resolution of the CRIRES data.Both ranges are selected to include the position of the CO detection, reported in B12 ( c = 110 ± 3.2 km s −1 ) as well as the systemic velocity of the host star reported in Donati et al. (2008) ( sys = −16.4±0.1 km s −1 )3 .We co-add the CCF maps from different CRIRES detectors similarly to B12 by weighting them by the relative line intensities of the CO lines in each detector.We obtain the best fitting Saltire model to the combined CCFmap by least-squares minimisation using the input parameters given in Tab. 2. The resulting fit parameters are used as starting parameters to sample the posterior distribution using the MCMC with the same number of walkers and samples, as described in Sec. 4. The 50th percentile, and average errors from the posterior distributions are presented in Tab. 2. For the parameters  c and  rest , we additionally report systematic uncertainties in excess of the MCMC errors (see Sec. 5.1 for a detailed discussion).
Fig. 6 shows the resulting CCF map for the combined observations as well as the best fitting Saltire model.We can use the best fitting parameters to estimate the significance of the detection as the CCF contrast (Σ) divided by the jitter term ( jit ).We find that the CO signal is resolved with a SNR of 4.6  at the expected position.With Saltire we can precisely model the expected shape of this CO detection.It shows three cross-like structures, which are mostly buried in the noise for these data.The lower panel of Fig. 6 shows a cut of the combined Saltire model at maximum contrast (a).The double Gaussian structure of our best fitting model function is well fitted, due to the side-lobe like structure of the data.The posteriors of the MCMC parameter for the width of the side lobes ( 2 ) is well defined (visualised in Fig. A3).The parameter Δ shows a trend towards -0.5.Due to the asymptotic nature of the double Gaussian function, increasing the prior towards -1 will still result in the lowest value being favoured, as soon as side lobes are fitted.Since this will by design only allow marginal changes of the fit close to the numeric precision level, we keep the lower bound of this prior at -0.49.
The cuts demonstrate that the assumption of a Gaussian shape also holds for these exoplanet observations.We show the best fit for a cut trough the semi-major axis close to the maximum CO detection (b)  rest = −16.5 km s −1 .
Our Saltire measurement for  c and  rest are statistically identical to the result reported by B12 (within 1 ).This is not surprising, since we used the same data, as well as the same orbital parameters, that have been derived by B12 to match the systemic velocity of the host star.Small differences below the uncertainties are not surprising as well, given our use of a different method for the cross-correlation, which is based on a line mask and not on a model spectrum.
Similarly to Sec. 4, we fit a one-dimensional Gaussian model to the rest velocity of maximum CCF contrast which results in  c = 111.29 ± 0.58 km s −1 .The one dimensional Gaussian fit differs by about 540 m s −1 from the Saltire fit (being statistically in agreement, when adding systematic uncertainties of 2 − 3 km s −1 , see Sec. 5.1).

Uncertainties -Model Robustness vs. correlated noise
The  rest and  c sampling of the CCF map might be crucial when estimating fit errors.The uncertainty determination of the least-squares fit, as well as the jitter term derived by the MCMC, relies on the assumption that the uncertainties of adjacent data points are uncorrelated with each other.Violating the assumption of uncorrelated data will result in underestimated uncertainties from the fit.
For the  rest range, this can easily be achieved by selecting a sampling that is wider than the average pixel resolution of the instrument.In this case each data point originates from a superposition of different pixels of the detector full-filling the requirement of uncorrelated data.
The  c range is more difficult.As noted by Hoeĳmakers et al. (2020), data in the  c range are partly correlated, affecting the error determination using noise statistics.This correlation is a result of the K-focusing process.Each adjacent data point in  c direction is a superposition of the same spectra.Those have been shifted following the reflex motion, at a different semi-amplitude, which is defined by the  c spacing.For close-in exoplanets with circular or loweccentric orbits for instance, the maximum RV-shift is close to the  c spacing itself, and minimum RV-shifts are close to zero.For a closely sampled orbit, or observations during a transit/eclipse, some spectra, and sometimes all of them, are only shifted by velocities below the pixel resolution.Notably, even white noise of the spectra will, thus, become part of the correlated signal in the CCF map.
To study the influence of correlation on uncertainties and measured parameters, we derive the geometrical correlation of each data point in the CCF map as the fraction of combined spectra which have been RV-shifted by less than the instrumental resolution.
For the simulated high-contrast binary (Obs1, see Sec. 2), a  c sampling of 1.5 km s −1 -as we use in this study -results in 21% correlation between each adjacent data point in the  c range.For the CO detection of  Boötis b, all adjacent data points are shifted below the pixel resolution (100% correlation) -due to the observation at orbital phases close to superior conjunction.
We explore in the following two sections the effects of correlated data on the uncertainties when fitting CCF maps with Saltire.

𝐾 c sampling
At first we test for the impact of the  c sampling on the  c parameter, returned by Saltire.For this, we split the CCF map evenly in  c space.For instance, taking every second row of the CCF map will result in two partial CCF maps, each with half the  c sampling, hence reducing the correlation between adjacent data points.The more maps we create, the less correlated are each data from one another.By analysing each of these partial CCF maps independently, we can test for systematics not taken into account by the fit of the original CCF map.
For each set of partial maps, we then fit the Saltire model and extract  c and its uncertainty using the least-squares fit.By doing so, we can compare the scatter of the returned  c values, for similarly correlated data to the average fit error returned by Saltire.For  Boötis b data, we start from a CCF map close to the pixel resolution (1.5 km s −1 ).
The upper panel of Fig. 7 shows the dependence of the returned  c values as well as the average  c value for differently correlated maps.The average value shows an increasing uncertainty the less the CCF map is sampled in  c range.We derive the uncertainty by adding quadratically the average of the individual fit errors to the standard deviation of the individual measurements of  c .The contributions of both components are shown in the lower panel of Fig. 7.Both uncertainties follow the same trend, which is governed by the dataset sampling.They become comparable for a  c sampling larger than 10 km s −1 (< 25% correlation).We then repeat the same test for Obs1 of our simulated high-contrast binary, starting from a CCF map with a  c sampling of 0.5 km s −1 .In this noise-less observations the fit uncertainties, returned by Saltire are always larger than the deviations (RMS) of the individual measurements.Also no residual deviations of  c are observed.
Using this test, we do not find systematic uncertainties in obvious excess of the reported fit uncertainties.We note that this test relies on the sampling of the signal itself, resulting in a lower accuracy the more sparsely the signal is sampled in the  c range.It is, thus, sensitive to detect systematics from correlated data that have a correlation length scale in  c smaller than the signal itself.We further show in the upper panel of Fig. 7 that the average  c parameter is largely invariant from the  c sampling.Saltire can therefore be used to derive accurate parameters even for sparsely sampled data sets, which might be an opportunity to decrease computation costs -which are usually involved -when deriving highly sampled CCF maps.

Global correlated noise
At second, we test the global impact of correlated noise on the measurement of  c and  rest .As mentioned above, by design of the K-focusing process, noise in the post-processed spectra can become correlated signal, for higher geometric correlations.Assuming that Poisson (white) noise is random for each spectrum, we can test this effect by splitting the data-set into independent samples.Correlated white noise will thus be different in each sample, allowing to estimate global effective uncertainties by measuring the CCF position of the CO signal for each sample.Different to the first test, this will measure the global uncertainties for all data points in the CCF map (independent from their geometric correlation).
We split the CRIRES observations in three samples by selecting random data from each night (without repetition).In this way, each data sample consists of different measurements, but covers similar orbital phases.Then, we derive the CCF maps in the same way we did before for the whole data-set.As we show in Fig. B1, the CO signal is detected for each sample at about 3  significance.We measure the position of the CO signal position using a least-squares fit with Saltire.Similarly to the first test, we derive the RMS scatter of the position parameters.
We find the resulting RMS scatter for  c is 2.39 km s −1 and for  rest 0.48 km s −1 .These are about a factor of ten larger, compared to the fit uncertainties, we found earlier from the MCMC fit of the whole data-set.We also repeat the one dimensional Gaussian fit for each of the samples and find for  c , similar uncertainties for the returned RMS.In Tab. 2, we add these systematic uncertainties for  rest and  c in quadrature to the MCMC uncertainties.
Summarising both of the above tests for systematic uncertainties, we first find clear systematics, when using data with different noise budget, but negligible systematics, when analysing the combined CCF map for correlation length scales which are smaller or similar than detectable the CO signal itself.
We conclude that, first, systematics indeed originate from correlated noise, produced by the K-focusing process.This noise can be caused by white noise, noise from data post-processing, but also from underfitted signal (See Sec.4.1).Second, the correlation length scale in the  c range is similar or larger than the CO signal itself, thus, must lead to underestimated uncertainties when fitting the CCF map alone.

Phase dependent modelling
We use the best fit parameters in Tab. 2 to evaluate the Saltire model separately for the phases of the three CRIRES observations at orbital phases before, during and after superior conjunction.Fig. 8 shows the CCF-maps for each observation, as well as the resulting models.The dependence of the CCF signal from the orbital phase is clearly visible.Despite not being a fit to the data, the model matches these observations rather well, with the absorption spectrum clearly detected in each observation.
Assuming a stationary CO spectrum of the planet atmosphere, we would expect aliases originating from wiggles (here, spurious correlations of the CO line-mask with different parts of the CO spectrum, or with other atmospheric lines with similar patterns), which are quasi stationary at each observed phase (see Sec. 4.1 for a discussion).This assumption can be used as a tool to disentangle wiggles from other aliases from correlated noise or imperfect post-processing of the data by simply comparing residual aliases of observations at different orbital phases and including quasi stationary components into the Saltire model.Fig. 8, shows cuts (a) trough the CCF-maps for the semi-amplitude of maximum CCF contrast (of the combined CCF map).The detection significance ( 3 ) for each CRIRES observation does not allow to securely disentangle the origin of the aliases, which nevertheless, will be possible as soon as higher signal-to-noise data will become available.
Measuring the Keplerian semi-amplitude from atmospheric signals obtained near phases of transits or eclipses introduces large uncertainties (e.g.Brogi et al. 2018).This can be understood by the middle panel of Fig. 8, which shows the data during phases of superior conjunction.The CCF signal for both -data and model -show a very small correlation with the rest velocity, but cover a wide range of semi-amplitudes (see cut b).Measuring the mean position of the lated noise becomes a CCF signal itself, thus fitting CCF maps will result in fit errors, which are underestimated.
We show that it is possible to estimate the impact of correlated white noise by analysing independent, partial data-sets using Saltire.That this is even possible for the CO detection in  Boötis b, validates this approach to be extended to other low signal-to-noise detections from exoplanet atmospheres.This shows that Saltire is an important tool to constrain the signal positions in CCF-maps from HRCCS observations.We further show that Saltire is able to robustly return precise semi-amplitudes for different samplings in the  c range of the CCF map offering possibilities to lower the computational costs when deriving CCF maps.
We compare our results with Saltire to a simple one-dimensional Gaussian fit of the same CCF map.Since both methods are limited by the impact of correlated noise, no substantial improvement can be achieved.Nevertheless, as we can clearly show for our noiseless simulations, Saltire will allow to derive much more precise parameters for high signal-to-noise HRCCS detections.
Using observations covering a significant portion of the planet's orbit, phase resolved atmospheric properties can be retrieved from Ultra Hot Jupiters which offer a large signal to noise ratio.This has been successfully demonstrated for extremely irradiated planets like HD 209458 b (Beltz et al. 2021) and KELT-9b (Pino et al. 2022).In Saltire, we implement a weighting for the contribution of each observation.While this is used to account for uncertainties in the data, in the future Saltire could be used to simulate the phase-dependent contribution of single observations to combined CCF-maps.
author.Modelled data, can be generated using the Saltire code, available on Github.

Figure 1 .
Figure 1.Upper panel: CCF functions for spectra, shifted to match different semi-amplitudes of the secondary.Lower panel: Combined CCFs for each semi-amplitude.

Figure 2 .
Figure 2. CCF map shapes from simulated EBLM observations and their dependence from phase coverage.Upper panel: simulated reflex motion of an EBLM binary.Black dots: primary star, Blue crosses: simulated secondary.Left: full data set (Obs1); Right: partial sample of the same dataset (Obs2).Middle panels: CCF maps for both observations, each composed of combined CCFs for a range of  c values, of the M-dwarf companion.Dashed lines and labels: Position of combined CCFs for  c , used in Fig. 1.Lower panels: Best fitting Saltire models.Left, Fit for Obs1; Right, Fit for Obs2.

Figure 3 .
Figure 3. Upper panel; Left: CCF map for Obs1.Dashed lines and labels: Positions of cuts though the data, shown on the right.Right: Cuts through the data, for different semi-amplitudes (a,b,c), and for the rest velocity of maximum CCF contrast (d); Black dots: data for simulated data-set Obs1, Red line: best fitting Saltire model.Green dashed line: mark of the input semi-amplitude of the EBLM companion.Lower panel; Left: Residual CCF map after removing the Saltire model.Dashed lines and labels: Positions of cuts though the residuals, shown on the right.Right: Cuts through the residuals at similar position as above.Error bars represent uncertainties, derived from 2D Saltire fit to the the CCF map.

Figure 4 .
Figure 4. Upper panel; Left: CCF map for Obs2.Dashed lines and labels: Positions of cuts though the data, shown on the right.Right: Cuts through the data, for different semi-amplitudes (a,b,c), and for the rest velocity of maximum CCF contrast (d); Black dots: data for simulated data-set Obs2, Red line: best fitting Saltire model.Green dashed line: mark of the input semi-amplitude of the EBLM companion.Lower panel; Left: Residual CCF map after removing the Saltire model.Dashed lines and labels: Positions of cuts though the residuals, shown on the right.Right: Cuts through the residuals at similar position as above.Error bars represent uncertainties, derived from 2D Saltire fit to the the CCF map.

Figure 5 .
Figure 5. Difference between the residual maps from Obs1 and Obs1.Remaining structures are mainly caused by residual wiggles due to the phase differences between both observations.Dashed line: position of inserted semiamplitude ( c,true ).

Figure 6 .
Figure 6.Upper panel, left: CO CCF-map of  Boötis b, reproduced from Brogi et al. (2012) data, right: Saltire best fitting model.Dashed lines indicate the position of maximum CCF contrast of the combined CCF map.The line orientation indicates the cuts -shown in the lower panels -for clarity; Lower panel: Cuts trough the CCF map at maximum CCF contrast for both axis.Grey dots: CCF-map data and residual data (lower panel).Errorbars represent the jitter parameter, derived from MCMC sampling; Red line: best Saltire model fit; Red shaded lines: Saltire models from posterior samples.

Figure 7 .
Figure 7. Uncertainty analysis from  c spacing for  Boötis b as well as for the simulated high-contrast binary (Obs1).Upper panel: Measurement of  c from partial maps with different  c spacing.Gray dots: Individual measurements for partial maps.Coloured dots: average  c of individual measurements.Colour coding  c sampling, of partial map.Lower panel: Components of uncertainties.Blue crosses: Average uncertainties from individual fits.Coloured triangles: RMS of individual  c measurements.Colour coding as above panel.

Figure 8 .
Figure 8. left panels, CO CCF-maps of  Boötis b, reproduced from B12 data for different observation phases.from top to bottom: before, during, and after superior conjunction.Dashed lines indicate the position of maximum CCF contrast of the combined CCF map; Second panel from left: Saltire models, for similar observation phases, evaluated from best fitting parameters of the combined fit; Second panel from right: Cuts trough the CCF-maps for the semi-amplitude of maximum CCF contrast of the combined CCF map.Gray dots: CCF-map data.Error-bars are estimated as the MCMC jitter term of the combined sample times √ 3. Blue line: Saltire model evaluated from best fitting parameters of the combined fit.Right panel: Similar cuts trough the CCF-maps, but for the rest velocity of maximum CCF contrast of the combined CCF map.

Figure A1 .
Figure A1.Corner plot of MCMC samples for Saltire fit to CCF-map of simulated EBLM binary observation (Obs1).

Figure A2 .
Figure A2.Corner plot of MCMC samples for Saltire fit to CCF-map of simulated EBLM binary observation (Obs2).

Figure A3 .
Figure A3.Corner plot of MCMC samples for Saltire fit to combined CCF-map of  Boötis b.

Figure B1 .
Figure B1.Combined CCF-maps for  Boötis b.Each sample consists of different spectra, covering a similar orbital phase of the planet.White dashed lines mark the position of the CO signal.Correlated white noise creates unique structures for each of these CCF maps, sometimes even stronger than the CO signal itself.

Table 1 .
Saltire Fit results for both simulated EBLM data-sets.

Table 2 .
Saltire Fit results for atmospheric CO detection of  Boötis b.The uncertainties for the parameters  c and  rest are a combination of MCMC fit errors and systematic uncertainties.Error components: (fit error, systematic uncertainty).