The impact of stellar magnetic activity on the radial velocity search of

Ansgar Wehrhahn supervised by: Nikolai Piskunov Oleg Khochukhov ver. 1.0 July 7, 2017

ABSTRACT Radial velocity measurements are critical in finding and confirming exoplanets. To confine the parameters of the planet we naturally want to minimise the errors on the measurement. However the observed measurement error is now on the same order as the precision of the instrument. This so called jitter is related to the stellar activity (Wright 2005), i.e. the magnetic field of the . In this paper we investigate if we can discover any correlation between the radial velocity variation and the magnetic activity of the star using HARPSpol spectra for the two and GJ674.

Populärvetenskaplig sammanfattning Radialhastighetsmätningar är ett viktigt verktyg för att hitta och bekräfta exoplaneter. Osäkerheten från mätinstrumenten är dock fortfarande av samma storlek som influenser av olika stjärnatmosfäriska processer. Här undersökar vi konkret hur stjärnans magnetfält påverkar radialhastighetsmätningar. I denna studier använder vi oss av data från det noggranna instrumentet HARPS för att undersöka två stjärnor, Epsilon Eridani och GJ674. Med den föreliggande spek- troskopsika materialet kan vi inte hitta ett samband mellan magnetfältstyrkan och radialhastigheten.

1 The Earth is the cradle of humanity, but one cannot stay in the cradle forever.

– Konstantin Tsiolkovsky Contents

1. Introduction4

2. Theory 5 2.1. Radial Velocity Search For Exoplanets...... 5 2.2. Intrinsic Stellar Noise...... 6 2.3. Zeeman Effect...... 7 2.4. Stokes Parameters...... 8

3. The Instrument9 3.1. HARPS...... 9 3.2. HARPSpol...... 12

4. Target Selection 13 4.1. Epsilon Eridani...... 14 4.2. GJ 674...... 16

5. Data Reduction 18 5.1. Calibration: Bias- and Flatfield...... 19 5.2. Extracting the 1D Spectra...... 20 5.3. Wavelength Calibration...... 22 5.4. Continuum Normalization...... 23 5.5. Stokes Spectra...... 24 5.6. Least Squares Deconvolution (LSD)...... 25

6. Calculation Of The Radial Velocity 27

7. Determination Of Longitudinal Magnetic Field 30

8. Result 32

A. Code 35 A.1. SearchForTargets.py...... 35 A.2. GetCorrelation.py...... 37

B. Acknowledgements 48

References 49

3 1. Introduction

Since the first discovery of an just over two decades ago (Mayor and Queloz 1995), thousands more have been discovered. However most of these planets are large giants, as the detection of smaller earth like planets continues to prove difficult. One of the major methods for the discovery of exoplanets is the radial velocity method, which utilizes the gravitational impact of the planet on its host stars motion and therefore its radial velocity. The key limitation for these observations is the precision of the measurements, which is limited by both the instrument (e.g. readout noise of the detector) and stellar processes (e.g. turbulence). In the past great progress was made in improving the instruments such like HARPS (Mayor et al. 2003), ELODIE (Baranne et al. 1996), and many others. However their precision has now reached the same order of magnitude as the intrinsic stellar noise. Therefore it is necessary to find new ways to filter out stellar influences. Here we correlate the stellar magnetic field with the uncertainty of the radial velocity mea- surement, using the same measurements to calculate both, to investigate the possibility of using their relation to improve radial velocity measurements. The ambition now is to reach instrumental precision better than 10 cm s−1.

Similar studies (Hébrard et al. 2016; Hussain et al. 2016) exits, but use much more com- plex methods to obtain the magnetic field, and to relate this measurement to the radial velocity measurements.

Sec. 2 describes the theoretical background, while Sec. 3 goes into detail on the instru- ment in use here HARPS. It continues with Sec. 4 and Sec. 5, which describe the observed stars and the data reduction respectively. Next in Sec. 7 the calculation of the magnetic field is explained. After that Sec. 6 deals with the problems of getting the radial velocity uncertainties. Finally Sec. 8 discusses the results.

4 2. Theory

2.1. Radial Velocity Search For Exoplanets The radial velocity method is the second most successful method for discovering new exopla- nets, after the transit method1. In fact the transit method often only provides candidates that need to be confirmed using the radial velocity measurements. It is also a very impor- tant tool for the determination of the planetary parameters like and speed. As the name suggests the method uses the minute periodic radial velocity shifts created as the host star rotates around the shared center of gravity of the star-planet system. Fig. 1 shows a sketch of the process. The radial velocity can be measured using the Doppler shift of the stellar spectrum. This way the P and the minimum mass MP sin(i) can be determined, where i is the inclination of the planet orbit. Only Mp sin(i) can be measured since the inclination is unknown and the radial velocity only describes the fraction of the movement in the direction of the observer (i.e. Earth). However if the planet is transiting the star, that can be used to determine the inclination i. The size of the radial velocity shift scales with the mass fraction MP /M∗ and inversely −1 with the orbital distance dp. For example Earth creates a shift of 0.1 m s while causes a shift of 12.4 m s−1. Therefore the method is biased towards giant planets close to the host star (i.e. hot ), although smaller planets are detectable around small stars (Dumusque et al. 2012). Furthermore the precision of the measurements is currently limited to ∼0.3 m s−1 (Dumusque et al. 2012) by both the instruments and the intrinsic stellar processes, therefore many earth like planets have potentially evaded detection so far.

Figure 1: The radial velocity method of planet detection

1as per exoplanets.org

5 2.2. Intrinsic Stellar Noise The radial velocity measurement suffers from various sources of noise, some of which are intrinsic to stellar processes. This so called Jitter is caused by collective movement of the stellar plasma, like turbulences and convection. As the star is basically a fluid the velocity distribution of the particles that make up the star is ultimately the determining factor for the measured Doppler shift of the spectrum. Turbulence will broaden the spectral line, as it is a symmetric effect that affects both sides of the velocity distribution equally, i.e. the average velocity does not change. Convection on the other hand will also shift the center of the spectral line, since the emissivity differs between the rising hot and sinking cold gas. Both of these effects are relatively small ho- wever when integrated over the whole stellar disk, as is the case here, as most of it cancels each other out. Both phenomena are influenced by the magnetic activity of the star and while the exact relation is complicated (Saar and Donahue 1997) we will use the mean longitudinal magnetic field as an indicator for the overall stellar activity.

Another important effect is asteroseismology, in particular p-mode pulsations, as they affect the whole stellar surface (Carrier, Eggenberger, and Leyder 2008). However this is not related to the magnetic field and therefore outside the scope of this project.

6 2.3. Zeeman Effect

Figure 2: Principle of the Zeeman effect. Credit: E. Blackman 2

For the measurement of the magnetic field B the Zeeman effect will be used. The Zeeman effect will cause each spectral line to split up into multiplets (e.g. triplets) as the electron orbits are shifted by ∆E = µmlB, where µ is the magnetic moment and ml is the magnetic quantum number, as shown in Fig. 2. From this one can calculate the wavelength shift ∆λ using Eq. 1 by using the energy of the emitted photon Eph. It is important to note that ∆ml = 0, ±1 due to selection rules of the electron transition and therefore each spectral line only split into groups of three separate lines.

 1 1  ∆λ Eph = µ∆mlB = hc − ≈ hc 2 λ1 λ2 λ µ ⇒ ∆λ = ∆m Bλ2 (1) hc l However the shift ∆λ is usually smaller than the width σ of the spectral line, which means that only the measured width of the spectral line will increase and no separated peaks can be observed. Therefore a different property is measured as ∆λ is not the only thing differentiating the spectral lines. The lines also differ in circular polarization as the polarization of the emitted light depends on ∆ml of the transition. In the direction of the magnetic field only right hand circularised light is emitted for transitions with ∆ml = +1 to conserve the angular momentum, similarly for ∆ml = −1 only left hand circularised light is emitted. While for ∆ml = 0 no light is emitted in the direction of the magnetic field some signal is still obser- ved due to magnetic field components in other spatial directions. This light is not polarised however. The split between the two differently circularised polarized peaks is large enough to be measured and can therefore be used to detect the magnetic field.

It should be noted that Zeeman broadening in the unpolarised spectrum is sensitive to the disk-averaged magnetic field modulus, while the circular polarisation measurement is sensitive to the line of sight magnetic field component averaged over the stellar disk. The latter can be positive or negative, so polarisation measurements are susceptible to cancellation of opposite polarities.

2http://www.pas.rochester.edu/~blackman/ast104/zeeman-split.html

7 2.4. Stokes Parameters For the description of the polarised light the Stokes parameters will be used here. The four Stokes parameters I, Q, U, and V describe the properties of the oscillating electric field in propagating light, i.e. the intensity, orientation, and chirality of light, just like classical description using the intensity I, the degree of polarisation p, and the shape parameters of the polarisation ellipse ψ and χ. Stokes I describes the total intensity of the light and is equal to E2 as usual. Stokes Q and U are used for the intensity of the linearly polarized light, while Stokes V describes the intensity of circularly polarized light, as shown in Fig. 3. The Stokes parameters are used here as they are easy to determine from measurements with orthogonal polarisations3, e.g. the measurement of the horizontal and vertical polarization can be used to calculate Stokes Q by simply determining the difference.

Figure 3: The different Stokes Parameters. Credit: Dan Moulton, Wikipedia

3right and left handed circular polarizations are orthogonal for this purpose

8 3. The Instrument

3.1. HARPS

Figure 4: The ESO 3.6m telescope at the La Silla Observatory, Chile Credit: ESO

The High Accuracy Radial velocity Planet Searcher or HARPS (Mayor et al. 2003) is an instrument at the ESO 3.6m telescope at the La Silla Observatory located in the Atacama desert of Chile. HARPS uses a fibre-fed cross-dispersed echelle spectrograph to take high resolution (R = 115,000) spectra. Combined with the great stability of the instrument due to simultaneous wavelength calibration with a ThAr lamp and a low vacuum chamber, HARPS can achieve an effective precision of 0.5 m/s (Lo Curto et al. 2015). For example it has been used to discover over 130 exoplanets, including some super-earth in the habitable zone (Dumusque et al. 2012; Mayor et al. 2009).

A cross-dispersed spectrograph uses two consecutive diffraction gratings to create a two dimensional spectrum, like the one shown in Fig. 6. Each order represents a different wavelength range, although some overlap between orders does exist. Furthermore each order has a different curvature, which makes the data reduction complicated. HARPS utilizes an echelle grating and a grism, i.e. a combination of grating and prism, as shown in Fig. 7. Additionally HARPS has two separate optical input fibres, which can be used to simul- taneous calibrations or as is the case here for spectropolarimetry.

9 Figure 5: The Echelle grating inside the opened HARPS instrument Credit: ESO

Figure 6: Echelle spectrum from the FOCES instrument at Calar Alto Observatory. Image from www.usm.uni-muenchen.de/people/gehren/foces.html

10 Figure 7: Principle of an echelle imaging spectrograph.)

11 3.2. HARPSpol HARPSpol is a polarimetric addition for the HARPS instrument. It uses a λ/4 plate and a polarizing beam splitter (Fig. 8) to separate perpendicular polarizations into two different beams, which are then fed into the fibres of HARPS. The λ/4 plate is necessary for the conversion of circular polarisation into linear and can be rotated around its axis to switch which fibre gets which polarization. This way any systematic effects can be removed from the final data.

Figure 8: Concept of the HARPSpol polarimeter

12 4. Target Selection

The first step of this project is to determine the targets that are suitable for the proposed investigation. As we have to rely on existing data in this project, only those stars which have been observed with the HARPSpol instrument can be used. In addition there are three more criteria that each star has to fulfil. 1. There needs to be enough observational data so that the rotational period can be determined. Solar type stars (which will be used here) typically have a rotation period between one day and a few months. As the activity of the star and therefore the jitter increases with rotation speed, we avoid stars with periods lower than 10 days for planet searches. On the other hand very slowly rotating stars with periods larger than 30 days have weak and therefore difficult to measure magnetic fields, which also change very little during the observations. Thus we choose 7 days as the minimum span of a continuous observing run to measure enough of the stellar surface area and enough temporal variation of the magnetic field. This criterion is independent from any radial velocity periodicity as only the error on the measurement is important, not the value itself. To determine the number of days of observation we simply use a list of the available HARPS archive data. 2. The stars should be G, K, or M type main sequence stars, because those are very stable and "simple" stars. Also the above mentioned rotation-activity relation is valid for these kinds of stars. The necessary stellar classification data is taken directly from the SIMBAD4 service. 3. Finally there should be a discovered exoplanet around the star. This way it is possible to compare the stellar noise with the radial velocity signal from the planet. This infor- mation is obtained from the NASA HEASARC exoplanodb 5, which is the same as the exoplanet.org database.

Once the additional data is obtained from the online rescources it is an easy task to filter for the relevant characteristics (Code in Sec. A.1). Out of our initial sample of 284 stars, which have been observed with HARPSpol, only two fulfil all the criteria, Epsilon Eridani and GJ 674. Both will be introduced in the following sections.

4http://simbad.u-strasbg.fr/simbad/, Wenger et al. (2000) 516. May 2017, https://heasarc.gsfc.nasa.gov/w3browse/all/exoplanodb.html, Wright et al. (2011)

13 4.1. Epsilon Eridani Epsilon Eridani (HD 22049, Ran) is a main sequence star in the of the southern hemisphere. It is shown in Fig. 9 and its stellar paramters are listed in Tab. 1. The star has one confirmed planet called Epsilon Eridani b (AEgir) which was discovered by Campbell, Walker, and Yang (1988), some properties are listed in Tab. 2. A second planet, Epsilon Eridani c, has been predicted from simulations by Quillen and Thorndike (2002).

Figure 9: DSS2 image of Epsilon Eridani in the visual

Property Value Reference Spectral type K2V Gray et al. 2006 Right ascension 03 h 32 min 55.844 96 s van Leeuwen 2007 Declination −09° 270 29.731200 van Leeuwen 2007 Distance 3.216 ± 0.001 pc van Leeuwen 2007 Apparent magnitude V 3.73 Ducati 2002 B–V 0.88 Ducati 2002 Radial velocity 16.43 ± 0.09 km/s Nidever et al. 2002 Mass 0.83 ± 0.05 MSun Benedict et al. 2006 Radius 0.895 ± 0.085 RSun Pasinetti Fracassini et al. 2001 Age 0.66 Gyr Saffe, Gómez, and Chavero 2005 Effective temperature 5116.0 K Nordström et al. 2004 Metallicity [Fe/H] −0.13 ± 0.04 Benedict et al. 2006 V sin(i) 2.4 ± 0.4 km/s Marsden et al. 2014

Table 1: Stellar parameters of Epsilon Eridani

14 Property Value Reference +0.949 Mass 3.09−0.742 MJ Benedict et al. 2006 Inclination 30.1 ± 3.8° Benedict et al. 2006 Orbital Period 2502.0 ± 10.0 d Benedict et al. 2006 Semi-major axis 3.39 ± 0.36 AU Benedict et al. 2006

Table 2: Planetary parameters of Epsilon Eridani b

15 4.2. GJ 674 GJ 674 is a red dwarf located in the southern hemisphere. It is shown in Fig. 10 and its stellar parameters are listed in Tab. 3. The star has one confirmed planet, GJ 674 b, which was discovered by Bonfils et al. 2007. Some of its properties are listed in Tab. 4.

Figure 10: DSS2 image of GJ 674 in the visual

Property Value Reference Spectral type M3V Torres et al. 2006 Right ascension 17 h 28 min 39.944 61 s van Leeuwen 2007 Declination −46° 530 42.693000 van Leeuwen 2007 Distance 4.54 ± 0.03 pc van Leeuwen 2007 Apparent magnitude V 9.407 Koen et al. 2010 B–V 1.566 Koen et al. 2010 Radial velocity −2.73 km/s Bonfils et al. 2007 Mass 0.35 MSun Bonfils et al. 2007 Radius – Age 0.55 ± 0.45 Gyr Bonfils et al. 2007 Effective temperature 3600.0 ± 100.0 K Bonfils et al. 2007 Metallicity [Fe/H] −0.28 Bonfils et al. 2007 V sin(i) 3.2 ± 1.2 km/s Torres et al. 2006

Table 3: Stellar parameters of GJ 674

16 Property Value Reference

Mass * sin(i) 0.04 MJ Bonfils et al. 2007 Inclination – Orbital Period 4.6944 ± 0.0018 d Bonfils et al. 2007 Semi-major axis 0.039 AU Bonfils et al. 2007

Table 4: Planetary parameters of GJ 674 b

17 5. Data Reduction

Before calculating anything, we first have to reduce the raw HARPSpol spectra as the reduced data is not available. As an example Fig. 11 shows a 2D raw spectrum with the different orders of the echelle spectrograph clearly visible from right to left. This needs to be transformed into a 1D spectrum as shown in Fig. 12, where the intensities have been assigned to specific wave- length. The whole reduction process is performed using the REDUCE package by N. E. Piskunov and Valenti (2002). As the focal plane of HARPS is too large for a single CCD a mosaic of two is used instead. The "blue" and "red" sensors are treated independently here.

Figure 11: An example input spectrum of GJ674 in the red part of the HARPS sensor. The double orders from the two offset fibres is clearly visible, in total there are 52 (= 2 * 26) orders

Figure 12: Two orders of an example output spectrum for Epsilon Eridani

18 5.1. Calibration: Bias- and Flatfield The first step of the reduction is to create the master calibration frames for the detector.

Bias frames: An intrinsic readout signal is created by each pixel simply due to the elec- tronics even when no light is present. A bias frame is therefore created by taking an image with zero exposure time and a closed shutter. Several bias frames are summed up into one master bias frame. Flat frames: Each pixel creates a slightly different signal when exposed to the same light, also the optics will distribute the incident light unevenly. Flat frames are therefore created with an even bright light hitting the sensor. Furthermore the bias frame is subtracted from the measurement. From several flat frames one master flat is created. Dark frames are not necessary, because HARPS is cooled to very low .

Figure 13: Bias spectrum Figure 14: Flat spectrum

19 5.2. Extracting the 1D Spectra The 1D spectrum is created in two steps. First the algorithm identifies the orders of the flat field. For this neighbouring pixels which show signal are collected in clusters. Clusters that appear to be in the same order are also merged together. If the certainty of this merger is below 90% however the user is asked for input resulting in selections as shown in Fig. 15.

In the second step a model is fitted to the spectrum to create a clean 1D spectrum and stitch the different orders together (see Fig. 16).

Figure 15: Cluster merging in REDUCE

In the end we have to check our files, by making sure that they contain 90 or 52 orders in the blue and red parts respectively. If they do not we have to figure out what went wrong and change the code accordingly. In this project the code discarded some orders because they were too close to the border of the image, we therefore had to decrease the area that is considered part of the order to prevent this behaviour.

20 Figure 16: Top: Fit of the REDUCE algorithm. Bottom: Residuals of the fit

21 5.3. Wavelength Calibration The next step is the wavelength calibration. For this purpose the HARPS instrument uses a ThAr lamp as a reference. We first extract one-dimensional ThAr spectra by summing up the signal at the echelle order positions in 2D ThAr CCD images. The actual calibration files are then created by the wavecal procedure. Here we have to visually make sure that the observed spectral lines align properly with the expectations. The algorithm can then identify other lines either automatically or manually. Most lines however are identified using a pre-existing calibration file for the HARPS instrument.

Again we have to perform separate wavelength calibrations for the red and blue parts of the spectrum.

Figure 17: Wavelength calibration

22 5.4. Continuum Normalization The next step is continuum normalization. In Fig. 18 we can see one order of the observed spectrum in white. Obviously the continuum is highly dependant on the wavelength due to the way an echelle spectrograph works. To counteract this we normalize the spectrum to the continuum. However we need to find the continuum first. For this we define ignored wavelength ranges depending on the star. These are wavelength ranges that are either dominated by one major spectral line typically hydrogen, or are missing as it is not covered by the CCD. This is due to the border between the two CCD chips in use. The algorithm then calculates the continuum based on the remaining wavelength ranges.

eps Eri GJ 674 3905.0 - 3990.0 3500.0 - 4200.0 4096.7 - 4106.7 4851.3 - 4571.3 4335.5 - 4345.5 5850.0 - 5950.0 4856.3 - 4866.3 6150.0 - 6350.0 5155.0 - 5198.0 6552.8 - 6572.8 6555.8 - 6569.8

Table 5: Ignored wavelength ranges per star. Values in in Angstrom.

Fig. 18 shows the calculated continuum (red) compared to the observed spectrum (white). Note that the continuum contains components from both the flat field spectrum and the global continuum function derived from the observed spectra. As we can see the algorithm works properly.

Figure 18: Comparison of one order of the spectrum (white) with the computed continuum (red).

23 5.5. Stokes Spectra As mentioned earlier in Sec. 2.4 the Stokes parameters are used for the calculation of the magnetic field. Specifically the Stokes I and V, i.e. the circular polarization, are required. To determine Stokes V HARPSpol is used to separate the different directions of circular polarization in the incident light. Each fibre then carries signal of IA1 = I −V or IB1 = I +V respectively. To calculate the Stokes Parameter we can then use Eq. 2 and Eq. 3.

1 I = (IB1 + IA1) (2) 2 1 V = (IB1 − IA1) (3) 2 (4)

However the Stokes V signal is so weak that it gets disturbed by errors in the detector, e.g. different sensitivity in different pixels. To circumvent this the λ/4 plate is rotated so that the polarization in the two fibres switches and therefore IA2 = I + V and IB2 = I − V . Combining these two measurements results in Eq. 5 and Eq. 6.

1 I = (IB1 + IA1 + IB2 + IA2) (5) 4 1 V = (IB1 − IA1 − (IB2 − IA2)) (6) 4 However the ratio V/I is actually used here to calculate the Stokes spectra, the formulas are given by Eq. 7 and Eq. 8. This has the advantage that all systematic effects (to first order) are removed in the ratios (Semel, Donati, and Rees 1993).

V 1 IB1 − IA1 IB2 − IA2 = ( − ) (7) I 4 IB1 + IA1 IB2 + IA2 1 I = (IB1 + IA1 + IB2 + IA2) (8) 4 For even better measurements four observations with polarization angles shifted by 90 degrees each are used so that even anomalies in the λ/4 plate are negated. The equations then turn into Eq. 9, see also Donati et al. (1997) and Semel, Donati, and Rees (1993).

V R1/4 − 1 = (9) I R1/4 + 1 1 I = [IA1 + IB1 + IA2 + IB2 + IA3 + IB3 + IA4 + IB4] (10) 8 IB1 IA2 IB3 IA4 where R = ∗ ∗ ∗ (11) IA1 IB2 IA3 IB4

24 5.6. Least Squares Deconvolution (LSD) Even after extracting the Stokes spectra the polarisation signal is still too weak. Therefore the least squares deconvolution (LSD) method is used, which calculates the average line pro- file using a cross-correlation-like technique (see Kochukhov, Makaganiuk, and N. Piskunov (2010) and Semel, Donati, and Rees (1993)). While LSD requires several assumptions (ad- ditive line profiles, wavelength independent limb-darkening, self-similar local profile shape, weak magnetic fields), it works quite well and has been used successfully in the past (e.g. Kochukhov et al. (2011)).

The spectrum Y (v) can be considered as a linear superposition of similar line shapes Z(v), where the peak positions λi and weights wi are known from nuclear physics experiments.

X Y (v) = wiδ(vi − v)Z(vi) (12) i The least squares fit of the average line shape Z can then be calculated for this problem. This can efficiently be done by using matrix calculations and is in our case handled by LSD code described in Kochukhov, Makaganiuk, and N. Piskunov (2010).

The necessary nuclear physics data is taken from the VALD3 database 6 using the stellar parameters for each star from SIMBAD.

An example of the Stokes I and Stokes V profiles after LSD are shown in Fig. 19 and Fig. 20 respectively. Clearly visible is the clear signal in the center of both plots.

Figure 19: Example of Stokes I LSD profile of eps Eri

6http://vald.astro.uu.se/

25 Figure 20: Example of Stokes V LSD profile of eps Eri

26 6. Calculation Of The Radial Velocity

As we can see clearly in both Stokes LSD spectra Fig. 20 and Fig. 19 the center of the spectral line is not positioned at ∆v = 0, as we might naively expect. This is due to the 7 Doppler shift introduced by the systemic radial velocity Vsys, i.e. the constant velocity of the star in the direction of Earth. There are several ways to extract Vsys from the spectra. The simplest is to just search for the minimum value in our data. However this is not the most accurate, as it is at best limited by the steps size in between data points and also only utilizes one data point. Instead two other methods will be investigated here. First is the center of gravity method which uses Eq. 13. This has the advantage of including asymmetries due to convection in the calculation, but on the other hand the values are usually offset from the minimum of the spectral line.

P v(1 − I(v)) Vsys = (13) P 1 − I(v) The second method fits a Gaussian onto the spectrum, which ignores any asymmetry in the data, but accurately determines the peak position. Both methods have their advantages and disadvantages and neither is wrong, it is all a matter of definition. To better compare the methods Fig. 21 shows the different results provided by each method. For illustrative purposes the literature value from Chubak et al. (2012) is also shown. Furthermore the bisection of the data is also plotted to better illustrate the asymmetry which is especially visible in the wings of the spectral line. The Jitter can then be considered the variation from the average value of the radial velocity for each method and is plotted in Fig. 22 and Fig. 23 for Epsilon Eridani and GJ674 respectively. From the plots we can see that variation is about an order of magnitude higher in GJ674 than in Epsilon Eridani and that the Gaussian fit produces smaller variations. The difference between the stars and observation periods can be attributed to the quality of the observations, as especially GJ674 in 2014 has low signal to noise ratios.

7over the timescales we observe here

27 Figure 21: Detailed view of the different determination methods of the radial velocity. Blue: Stokes I data, Green: Gaussian Fit, Red: Center line of Gaussian Fit, Yellow: Center of Gravity, Cyan: Literature Value of RV, Purple: Bisection of the original data

Figure 22: Radial velocity variation for Epsilon Eridani

28 Figure 23: Radial velocity variation fro GJ674

29 7. Determination Of Longitudinal Magnetic Field

As described in Sec. 2.3 the magnetic field affects the circular polarisation of the emitted light. This can also be seen in the Stokes V plot, if one remembers that a positive Stokes V value represents right hand circular polarized light and negative Stokes V corresponds to left hand circular polarized light respectively. The strength of the magnetic field can be characterized by the size of the Zeeman split and can be calculated using Eq. 14 from Donati et al. (1997) and Wade et al. (2000). R (v − Vsys)V (v)dv Bl = −2.14e11 (14) λgc¯ R 1 − I(v)dv where λ is the average wavelength in nm, g¯ is the average Landè factor, c is the speed of light in km/s, and Vsys is the center of the Stokes curve as calculated in Sec. 6. Both λ and g¯ are also depended on the normalisation used in the LSD calculations and are here fixed to λ = 500 nm and g¯ = 1. For the value for Vsys both methods of calculations are compared again in Fig. 24 and Fig. 25. in contrast to the radial velocity variations the difference between the two methods is negligible.

Figure 24: Mean longitudinal magnetic field of Epsilon Eridani in January 2010 and Febru- ary 2011.

30 Figure 25: Mean longitudinal magnetic field field of GJ674 in July 2011 and 2014.

31 8. Result

Finally the radial velocity variation and magnetic field strength can be compared. For that purpose both are plotted again in Fig. 26 and Fig. 27. Again with both the center of gravity and Gaussian fit radial velocities. If the magnetic field and the radial velocity variation are correlated we should see that a strong signal in the magnetic field (e.g. for Epsilon Eridani January 08) leads to a strong signal in the radial velocities as well. However this is not the case. To support this both properties are plotted relative to each other in Fig. 28 and Fig. 298. Here the best linear fit is plotted in green, obviously no significant relation is visible in the data. Although the current results do not reveal any correlation it is definitely possible that the radial velocity measurements here are simply not precise enough. As mentioned in the theory section Sec. 2 the intrinsic stellar noise is on the order of magnitude of 1 m s−1, but the measurements here are ∼ 10 m s−1. The solution to that problem will be to use the ESO pipeline to determine the radial velocity, which should give precisions on the order of 1 m s−1. Sadly it was not possible to obtain the necessary data from ESO in time, but it should still be possible in the future.

Figure 26: B field and RV variation for both observation periods of Epsilon Eridani

8only the Gaussian fit is used here

32 Figure 27: B field and RV variation for both observation periods of GJ674

Figure 28: B field over RV variation for Epsilon Eridani

33 Figure 29: B field over RV variation for GJ674

34 A. Code

A.1. SearchForTargets.py

1 ''' 2 Author: Ansgar Wehrhahn 3 Description: Load necessary data and filter stars using set criteria 4 '''

5

6 import numpy as np 7 import pandas as pd 8 import matplotlib.pyplot as plt

9

10 importIO 11 importIO as logging

12

13 #Set Up Logging 14 logging.setupLogging() 15 logging.info('Starting Session') 16

17 # If True generate cached file, even if they already exist 18 RecreateCache= False 19

20 # File that contains the harpspol observation list 21 filename= "./DATA/IDL/harpspol_archive.sav" 22 folder= './DATA/' 23 # Key of the cached file 24 key= (filename, 'everything','is','great') 25 df=IO.readCache(folder,*key) 26 if df is None or RecreateCache: 27 #read different datasources 28 df=IO.readIDL(filename, 'harpspol',UseCache= not RecreateCache) 29 df2= ,→ IO.readSIMBAD(df['STAR'],['main_id','coo(d)','otype','sptype','velocity'], ,→ UseCache= not RecreateCache) 30 df3=IO.readHEARSEC(df[ 'STAR'], UseCache= not RecreateCache) 31 32 df2['SP_TYPE_SHORT']= [(s[0] if len(s)>0 else 'X') for s in ,→ df2['SP_TYPE']] 33

34 #Join all of them together 35 df=IO.joinDF(df,df2,df3) 36 37 df=IO.reduceData(df) 38 del df['index'] 39

35 40 IO.saveToCache(df,folder,*key) 41

42 # Sort 43 df.sort_values('STAR',inplace=True) 44 45 IO.saveToFile(df,'temp.csv') 46 # Filter 47 # Exposure Time > 1 Week 48 # SpecType is M, G, or K 49 # number of planets >= 1

50 51 logging.info('Filtering data') 52 Filter=[ lambda df: df['N_DATETIME']>6, ,→ # At least one week of observations 53 lambda df: (df['SP_TYPE_SHORT'] == 'G')| (df[ 'SP_TYPE_SHORT'] == ,→ 'M')| (df[ 'SP_TYPE_SHORT'] == 'K'), # Only G to M type ,→ stars 54 lambda df: df['number_planets'] >=1] ,→ # with exoplanet

55

56 57 for fil in Filter: 58 df= df[fil] 59 pass

60

61 #Save Results 62 IO.saveToFile(df,'temp2.csv') 63 print(df.head())

36 A.2. GetCorrelation.py

1 ''' 2 Author: Ansgar Wehrhahn 3 Description: Investigate the correlation between stellar magnetic fields ,→ and radial velocity jitter 4 '''

5

6 # Math functions 7 import numpy as np 8 import scipy.interpolate as interpolate 9 from scipy.integrate import trapz as trapz2 10 from scipy.constants import speed_of_light as c 11 from scipy.optimize import curve_fit, fsolve 12

13 # Plotting 14 import matplotlib.pyplot as plt

15

16 # Data Sources includes methods to read the LSD files 17 import DataSources as ds 18 import glob

19

20 # logging the process 21 importIO as logging

22

23 # Dealing with time data 24 from dateutil import parser 25 from datetime import timedelta,datetime 26 import jdcal

27

28

29 # Fit a Gauss Curve to the Stokes I Profile and use the offset as rv 30 def CalcRV_Gauss(v,I,e_I,plot=True,date=''): 31 ''' 32 v, velocity array 33 I, Stokes I array 34 e_I, error bar (either Stokes I or Stokes V) 35 plot, if True plot the Gaussian fit ( and other information) 36 date, title of the plot, only if plot == True 37 ''' 38 gauss= lambda x,a,c,s,cont: cont-a* np.exp(-(x- c)**2/(2*s ,→ **2)) 39 c_0= v[I.argmin()] 40 popt,pcov= curve_fit(gauss,v,I,[1,c_0,1,1],sigma= e_I) 41

42 # For illustrative purposes

37 43 if plot: 44 plt.title(date) 45 plt.plot(v,I,label='Stokes I') 46 plt.plot(v,gauss(v,*popt),label='Fit') 47 plt.plot([popt[1],popt[1]],[0,1],label= 'Gauss') 48 # Also plot Center of Gravity method results 49 rv,erv= CalcRV_CoG(v,I,e_I) 50 plt.plot([rv,rv],[0,1],'y',label='CoG') 51 # This is the literature value for epsilon Eridani 52 plt.plot([16.43,16.43],[0,1],'c',label='Literature') 53 # Bisection 54 lvls=[0.9,0.8,0.7,0.6,0.5] 55 points=[] 56 for lvl in lvls: 57 func= lambda x: interpolate.interp1d(v,I,fill_value= ,→ 'extrapolate')(x)- lvl 58 roots= fsolve(func,[popt[1]- popt[2],popt[1]+ popt[2]]) 59 diff= roots[1]- roots[0] 60 points.append(roots[0]+ diff/2) 61 plt.plot(points,lvls,'m',linestyle= '--',marker= '^',label= ,→ 'bisection') 62 plt.legend(loc=4) 63 plt.show() 64 65 return popt[1],np.sqrt(pcov[1,1]) 66

67 # Use the center of gravity to calculate the RV 68 def CalcRV_CoG(vv,si,er,vmin=None,vmax=None): 69 ''' 70 vv, velocity array 71 si, Stokes I array 72 sv, Stokes V array 73 er, error bar (either Stokes I or Stokes V) 74 vmin=vmin, optional minimum velocity 75 vmax=vmax, optional maximum velocity 76 ''' 77 # calculation of the line of sight (longitudinal) magnetic field 78 # Bz = const * Integral Stokes_V * (v - v0) dv / Integral (1 - ,→ Stokes_I) dv 79 # const = -1/(4.66e-13*lamba*geff*c) 80 # v0 - is the center of gravity of Stokes I

81

82 # default boundaries are first and last points 83 if vmin is None : vmin= min(vv) 84 if vmax is None : vmax= max(vv) 85

38 86 # full velocity array for non-default boundaries 87 vx= vv[vv> vmin] 88 vx= vx[vx< vmax] 89 90 if vmin< min(vx) : vx= [vmin,*vx] 91 if vmax> max(vx) : vx=[*vx,vmax] 92 vx= np.array(vx) 93

94 # interpolate for this velocity array 95 # (effectively adds first and/or last points 96 # in case of non-default boundaries) 97 six= interpolate.interp1d(vv,si,fill_value= 'extrapolate')(vx) 98 erx= interpolate.interp1d(vv,er,fill_value= 'extrapolate')(vx) 99

100 # residual intensity 101 rix= 1.0- six 102

103 # equivalent width 104 ew,eew= trapz(vx,rix,erx) 105

106 # center of gravity in Stokes I=radial velocity 107 rv,erv= trapz(vx,rix* vx,erx* vx) 108 erv= np.sqrt((erv/ ew)**2+ (rv* eew/ ew**2)**2) 109 rv= rv/ ew 110 111 return rv,erv 112

113 # Calculate the integral \int y dx using the trapezoid rule 114 def trapz(x, y, dy=None): 115 # trapezoidal integration scheme 116 #yi = sum((y[1:] + y[:-1]) * 0.5 * (x[1:] - x[:-1])) 117 yi= trapz2(y,x) # use scipy implementation 118

119 # if no error given, return only integral 120 if dy is None: 121 return yi 122

123 # if error given return integral and error 124 dyi= 0.25* ((x[1]- x[0])**2)* dy[0]**2+ 0.25* ((x[-1]- ,→ x[-2])**2)* dy[-1]**2 125 if len(x)>3: 126 dyi= dyi+ np.sum(0.25* ((x[2:-1]- x[:-3])**2)* dy[1:-2]** ,→ 2) 127 128 return yi,np.sqrt(dyi) 129

39 130 # Use a Gaussian fit for the RV and calculate the B field 131 def CalcB_Gauss(velocity,stokesI, stokesV, errorI, ,→ errorV,vmin=None,vmax=None,wavelength=5000,lande=1): 132 ''' 133 velocity: array of floats with velocities 134 StokesI: array of floats with StokesI Profile 135 StokesV: array of floats with StokesV Profile 136 errorI: array of floats with StokesI Errors 137 errorV: array of floats with StokesV Errors 138 vmin: float minimum wavelength to use 139 vmax: float maximum wavelength to use 140 wavelength: float average wavelength in Angstrom 141 lande: float average lande factor 142 '''

143

144 # default boundaries are first and last points 145 if vmin is None : vmin= min(velocity) 146 if vmax is None : vmax= max(velocity) 147

148 # full velocity array for non-default boundaries 149 vx= velocity[velocity> vmin] 150 vx= vx[vx< vmax] 151 152 if vmin< min(vx) : vx= [vmin,*vx] 153 if vmax> max(vx) : vx=[*vx,vmax] 154 vx= np.array(vx) 155

156 # interpolate for this velocity array 157 # (effectively adds first and/or last points 158 # in case of non-default boundaries) 159 stokesI= interpolate.interp1d(velocity,stokesI,fill_value= ,→ 'extrapolate')(vx) 160 stokesV= interpolate.interp1d(velocity,stokesV,fill_value= ,→ 'extrapolate')(vx) 161 errorI= interpolate.interp1d(velocity,errorI,fill_value= ,→ 'extrapolate')(vx) 162 errorV= interpolate.interp1d(velocity,errorV,fill_value= ,→ 'extrapolate')(vx) 163

164 #find central velocity 165 v_0,_= CalcRV_Gauss(velocity,stokesI,errorI,plot=False) 166 #v_0 = np.sum(velocity * (1 - stokesI)) / np.sum(1 - stokesI) 167 velocity= velocity- v_0 168

169 #calculate integrals using trapezoid rule

40 170 A=-1/ (c* 1e-3* 4.66864377e-13* wavelength* lande) # c in ,→ km/s from Oleg 171 int1,e_int1= trapz(velocity,stokesV* velocity,errorV* velocity) 172 int2,e_int2= trapz(velocity,1- stokesI,errorI) 173

174 #Calculate B field 175 B=A* int1/ int2 176

177 #Calculate Errors 178 sBV=A/ int2* e_int1 179 sBI=-A* int1* int2**(-2)* e_int2 180 sB= np.sqrt(sBV**2+ sBI**2) 181 182 return B,sB 183

184 # Use the center of gravity for the rv and calculate the B field 185 # Curtesy of O. Khochukov 186 def CalcB_CoG(vv,si,sv,er,qu=None,vmin=None,vmax=None,bz_alt=False): 187 ''' 188 vv, velocity array 189 si, Stokes I array 190 sv, Stokes V array 191 er, error bar (either Stokes I or Stokes V) 192 qu=qu, net linear polarization measurement 193 vmin=vmin, optional minimum velocity 194 vmax=vmax, optional maximum velocity 195 rv=rv, output RV 196 bz_alt=bz_alt alternative calculation of using cog of RCP-LCP 197 ''' 198 # calculation of the line of sight (longitudinal) magnetic field 199 # Bz = const * Integral Stokes_V * (v - v0) dv / Integral (1 - ,→ Stokes_I) dv 200 # const = -1/(4.66e-13*lamba*geff*c) 201 # v0 - is the center of gravity of Stokes I

202

203 # default boundaries are first and last points 204 if vmin is None : vmin= min(vv) 205 if vmax is None : vmax= max(vv) 206

207 # full velocity array for non-default boundaries 208 vx= vv[vv> vmin] 209 vx= vx[vx< vmax] 210 211 if vmin< min(vx) : vx= [vmin,*vx] 212 if vmax> max(vx) : vx=[*vx,vmax] 213 vx= np.array(vx)

41 214

215 # interpolate for this velocity array 216 # (effectively adds first and/or last points 217 # in case of non-default boundaries) 218 six= interpolate.interp1d(vv,si,fill_value= 'extrapolate')(vx) 219 svx= interpolate.interp1d(vv,sv,fill_value= 'extrapolate')(vx) 220 erx= interpolate.interp1d(vv,er,fill_value= 'extrapolate')(vx) 221

222 # residual intensity 223 rix= 1.0- six 224

225 # equivalent width 226 ew,eew= trapz(vx,rix,erx) 227

228 # zeroth moment=net polarization if flag qu=1 229 if qu is not None: 230 ewqu,eewqu= trapz(vx,svx,erx) 231 bz= ewqu/ ew 232 ebz= np.sqrt((eewqu/ ew)**2+ (ewqu* eew/ ew**2)**2) 233 return bz,ebz 234

235 # center of gravity in Stokes I=radial velocity 236 rv,erv= trapz(vx,rix* vx,erx* vx) 237 erv= np.sqrt((erv/ ew)**2+ (rv* eew/ ew**2)**2) #from error ,→ propagation of rv = rv / ew 238 rv= rv/ ew 239

240 # velocity relative to the center of gravity 241 # to compensate for possible deviation of trapz(vx,svx) from 0 242 vx= vx- rv 243

244 # longitudinal field 245 const=-1/ (c* 1e-3)/ 4.66864377e-13 #c in km/s 246 bz,ebz= trapz(vx,svx* vx,erx* vx) 247 bz,ebz= const* bz/ ew , const* np.sqrt((ebz/ ew)**2+ (bz* eew ,→ / ew**2)**2) 248 249 if bz_alt: 250 # measure centers-of-gravity for RCP and LCP spectra 251 rcp= six+ svx 252 lcp= six- svx 253 ercp= np.sqrt(2)* erx 254 elcp= ercp 255 256 ew,eew= trapz(vx,1.0- rcp,ercp) 257 rv_rcp,erv_rcp= trapz(vx,(1.0- rcp)* vx,ercp* vx)

42 258 erv_rcp= np.sqrt((erv_rcp/ ew)**2+ (rv_rcp* eew/ ew**2)** ,→ 2) 259 rv_rcp= rv_rcp/ ew 260 261 ew,eew= trapz(vx,1.0- lcp,elcp) 262 rv_lcp,erv_lcp= trapz(vx,(1.0- lcp)* vx,elcp* vx) 263 erv_lcp= np.sqrt((erv_lcp/ ew)**2+ (rv_lcp* eew/ ew**2)** ,→ 2) 264 rv_lcp= rv_lcp/ ew 265 266 dv= rv_rcp- rv_lcp 267 edv= np.sqrt(erv_rcp**2+ erv_lcp**2) 268 bz= dv/(2*c* 1e-3* 4.66864377e-13) 269 ebz= edv/(2*c* 1e-3* 4.66864377e-13) 270 271 return bz,ebz 272

273 # Calculate the linear B field using the specified algorithm 274 def CalcB(StokesI,StokesV,algorithm='Gauss'): 275 ''' 276 Stokes I: dict of Stokes I profile, velocity and error 277 Stokes V: dict of Stokes V profile, velocity and error 278 algorithm: string, 'Gauss' uses CalcB, 'CoG' uses CalcB_Oleg 279 ''' 280 # extract the necessary data into numpy arrays 281 vv= np.array(StokesV[ 'DeltaV']) 282 sv= np.array(StokesV[ 'Profile']) 283 si= np.array(StokesI[ 'Profile']) 284 er= np.array(StokesV[ 'Error']) 285 erI= np.array(StokesI[ 'Error']) 286

287 # Select method of choice 288 if algorithm == 'CoG': 289 bz,ebz= CalcB_CoG(vv,si,sv,er) 290 # normalisation needs to be done, lambda = 5000 Angstrom, lande g = ,→ 1 291 bz,ebz= bz/(5000*1) , ebz/(5000*1) 292 return bz,ebz 293 elif algorithm == 'Gauss': 294 return CalcB_Gauss(vv,si,sv,erI,er) 295 # if no valid algorithm was passed 296 raise ArgumentError() 297

298 # Calculate the RV using the specified algorithm 299 def CalcRV(StokesI,algorithm='Gauss',date=''): 300 '''

43 301 StokesI: dict, Stokes I profile, velocity and errors 302 algorithm: string, algorithm to use 303 date: string, title of the plot, if any 304 ''' 305 vv= np.array(StokesI[ 'DeltaV']) 306 si= np.array(StokesI[ 'Profile']) 307 er= np.array(StokesI[ 'Error']) 308 309 if algorithm == 'CoG': 310 return CalcRV_CoG(vv,si,er) 311 312 elif algorithm == 'Gauss': 313 return CalcRV_Gauss(vv,si,er,date=date,plot=False) 314

315 # Calculate both B and RV 316 def getCorr(target,day='*.lsd',alg='Gauss'): 317 ''' 318 target: string specifiying target directory, e.g. epsEri 319 day: string, filter for filenames 320 alg: string, algorithm to use for calculations 321 ''' 322 filter=( '.\\DATA\\HARPSpol\\%s\\' % target)+ day 323 # Parse filenames to sort them by date and Stokes Parameter 324 obsDates={} 325 for file in glob.glob(filter): 326 target,date,parameter= ds.LSD.info(file) 327 if not date in obsDates.keys(): 328 obsDates[date]={} 329 obsDates[date][parameter]= file 330 331 logging.info('Calculating MField and RV') 332 B= np.zeros((len(obsDates),2)) # long version 333 RV= np.zeros((len(obsDates),2)) # long version 334 335 for i,files in zip(range(len(obsDates)),obsDates.values()): 336 StokesI= ds.LSD.fromFile(files[ 'iv']) 337 StokesV= ds.LSD.fromFile(files[ 'v']) 338 B[i]= CalcB(StokesI,StokesV,alg) 339 RV[i]= CalcRV(StokesI,alg,date= files[ 'v']) 340

341 # Parse Dates as DateTime Objects for pyplot 342 days= [parser.parse(date).date() for date in obsDates.keys()] 343 return days,B,RV 344 345 def main(): 346 logging.setupLogging()

44 347

348 #Choose your target 349 target= 'eps_Eri' 350 year1= 2010 351 year2= 2011 352

353 #target = 'GJ674' 354 #year1 = 2011 355 #year2 = 2014

356 357 logging.info('Reading LSD Data') 358 logging.info('Target: ',target) 359

360 # Read the data and calculate the average 361 # data is read seperately for all observation periods 362 # Read with Gaussian Fit 363 days_2010,B_2010,RV_2010= getCorr(target,alg= 'Gauss',day= ,→ r"%s*.lsd"% year1) 364 average_RV_2010= np.average(RV_2010[:,0],weights=1/ RV_2010[:,1]) 365 days_2011,B_2011,RV_2011= getCorr(target,alg= 'Gauss',day= ,→ r"%s*.lsd"% year2) 366 average_RV_2011= np.average(RV_2011[:,0],weights=1/ RV_2011[:,1]) 367

368 # Read with CoG 369 days_O_2010,B_O_2010,RV_O_2010= getCorr(target,alg= 'CoG',day= ,→ r"%s*.lsd"% year1) 370 average_RV_O_2010= np.average(RV_O_2010[:,0],weights=1/ ,→ RV_O_2010[:,1]) 371 days_O_2011,B_O_2011,RV_O_2011= getCorr(target,alg= 'CoG',day= ,→ r"%s*.lsd"% year2) 372 average_RV_O_2011= np.average(RV_O_2011[:,0],weights=1/ ,→ RV_O_2011[:,1]) 373

374 # Read all with Gaussian 375 days_all,B_all,RV_all= getCorr(target,alg= 'Gauss',day= r"*.lsd") 376 average_RV_all= np.average(RV_all[:,0],weights=1/ RV_all[:,1]) 377

378 #linear fit 379 diff= np.abs(RV_all[:,0]- average_RV_all) 380 z,*info= np.polyfit(diff,B_all[:,0],1,w=1/ B_all[:,1],full= True) 381 p= np.poly1d(z) 382 383 logging.info('Plot Data') 384 # Choose whatever you want to plot

385

386 '''

45 387 # Plot B over RV 388 plt.title('%s' % target) 389 plt.xlabel('$\Delta$RV [km/s]') 390 plt.ylabel('B [G]') 391 plt.errorbar(diff,B_all[:,0],yerr = B_all[:,1],fmt='^') 392 plt.plot(diff,p(diff),'-',label = '{:.2f} x {:+.2f}'.format(*z)) 393 plt.show() 394 ''' 395 ''' 396 # Plot B 397 f, (ax_B_2010, ax_B_2011) = plt.subplots(1,2) 398 ax_B_2010.set_title('%s' % target) 399 ax_B_2010.errorbar(days_2010,B_2010[:,0],yerr =B_2010[:,1],fmt = '^r') 400 ax_B_2011.errorbar(days_2011,B_2011[:,0],yerr =B_2011[:,1],fmt = ,→ '^r',label = 'Gauss') 401 ax_B_2010.errorbar(days_O_2010,B_O_2010[:,0],yerr =B_O_2010[:,1],fmt = ,→ '*b') 402 ax_B_2011.errorbar(days_O_2011,B_O_2011[:,0],yerr =B_O_2011[:,1],fmt = ,→ '*b',label = 'CoG')

403

404 ax_B_2010.set_ylabel('B [G]') 405 ax_B_2011.set_ylabel('B [G]') 406 ax_B_2010.set_xlabel('observation date') 407 ax_B_2011.set_xlabel('observation date')

408

409 plt.legend(loc=2) 410 plt.show() 411 ''' 412 ''' 413 # Plot RV 414 f, (ax_RV_2010, ax_RV_2011) = plt.subplots(1,2) 415 ax_RV_2010.set_title('%s' % target) 416 ax_RV_2010.errorbar(days_2010,np.abs(RV_2010[:,0] - ,→ average_RV_2010),fmt = '^r') 417 ax_RV_2011.errorbar(days_2011,np.abs(RV_2011[:,0] - ,→ average_RV_2011),fmt = '^r',label = 'Gauss') 418 ax_RV_2010.errorbar(days_O_2010,np.abs(RV_O_2010[:,0] - ,→ average_RV_O_2010),fmt = '*b') 419 ax_RV_2011.errorbar(days_O_2011,np.abs(RV_O_2011[:,0] - ,→ average_RV_O_2011),fmt = '*b',label = 'CoG') 420 plt.legend(loc=2)

421

422 ax_RV_2010.set_xlabel('observation date') 423 ax_RV_2011.set_xlabel('observation date') 424 ax_RV_2010.set_ylabel('RV [km/s]') 425 ax_RV_2011.set_ylabel('RV [km/s]')

46 426 plt.legend(loc=2) 427 plt.show() 428 ''' 429 # Plot both B and RV 430 f, ((ax_B_2010, ax_B_2011), (ax_RV_2010, ax_RV_2011))= plt.subplots(2, ,→ 2, sharex='col', sharey='row') 431 ax_B_2010.set_title('{}'.format(target)) 432 ax_RV_2010.set_xlabel('observation date') 433 ax_RV_2011.set_xlabel('observation date') 434 ax_RV_2010.set_ylabel('RV [km/s]') 435 ax_B_2010.set_ylabel('B [G]') 436 ax_RV_2010.errorbar(days_2010,np.abs(RV_2010[:,0]- ,→ average_RV_2010),fmt= '^r') 437 ax_RV_2011.errorbar(days_2011,np.abs(RV_2011[:,0]- ,→ average_RV_2011),fmt= '^r') 438 ax_RV_2010.errorbar(days_O_2010,np.abs(RV_O_2010[:,0]- ,→ average_RV_O_2010),fmt= '*b') 439 ax_RV_2011.errorbar(days_O_2011,np.abs(RV_O_2011[:,0]- ,→ average_RV_O_2011),fmt= '*b') 440 ax_B_2010.errorbar(days_2010,B_2010[:,0],yerr=B_2010[:,1],fmt= '^r') 441 ax_B_2011.errorbar(days_2011,B_2011[:,0],yerr=B_2011[:,1],fmt= ,→ '^r',label='Gauss') 442 ax_B_2010.errorbar(days_O_2010,B_O_2010[:,0],yerr=B_O_2010[:,1],fmt= ,→ '*b') 443 ax_B_2011.errorbar(days_O_2011,B_O_2011[:,0],yerr=B_O_2011[:,1],fmt= ,→ '*b',label= 'CoG') 444 ax_B_2011.legend(loc=2) 445 plt.show() 446 447 if __name__ == "__main__": 448 main()

47 B. Acknowledgements

This research has made use of the SIMBAD database, operated at CDS, Strasbourg, France (Wenger et al. 2000)

This research has made use of "Aladin sky atlas" developed at CDS, Strasbourg Obser- vatory, France Bonnarel et al. (2000) and Boch and Fernique (2014).

The Digitized Sky Surveys were produced at the Space Telescope Science Institute under U.S. Government grant NAG W-2166. The images of these surveys are based on photo- graphic data obtained using the Oschin Schmidt Telescope on Palomar Mountain and the UK Schmidt Telescope. The plates were processed into the present compressed digital form with the permission of these institutions.

48 References

Baranne, A. et al. (1996). “ELODIE: A spectrograph for accurate radial velocity measure- ments.” In: Astronomy and Astrophysics Supplement 119, pp. 373–390. Benedict, G. Fritz et al. (2006). “The Extrasolar Planet Eridani b: Orbit and Mass”. In: The Astronomical Journal 132.5, p. 2206. url: http://stacks.iop.org/1538-3881/ 132/i=5/a=2206. Boch, T. and P. Fernique (2014). “Aladin Lite: Embed your Sky in the Browser”. In: Astro- nomical Data Analysis Software and Systems XXIII. Ed. by N. Manset and P. Forshay. Vol. 485. Astronomical Society of the Pacific Conference Series, p. 277. Bonfils, X. et al. (2007). “The HARPS search for southern extra-solar planets. X. A m sin i = 11 M⊕ planet around the nearby spotted M dwarf GJ 674”. In: Astronomy & Astrophysics 474, pp. 293–299. doi: 10.1051/0004-6361:20077068. arXiv: 0704.0270. Bonnarel, F. et al. (2000). “The ALADIN interactive sky atlas. A reference tool for identifi- cation of astronomical sources”. In: Astronomy and Astrophysics Supplement 143, pp. 33– 40. doi: 10.1051/aas:2000331. Campbell, B., G. A. H. Walker, and S. Yang (1988). “A search for substellar companions to solar-type stars”. In: The Astrophysical Journal 331, pp. 902–921. doi: 10.1086/166608. Carrier, F, P Eggenberger, and J-C Leyder (2008). “Asteroseismology of solar-type stars: particular physical effects”. In: Journal of Physics: Conference Series 118.1, p. 012047. url: http://stacks.iop.org/1742-6596/118/i=1/a=012047. Chubak, C. et al. (2012). “Precise Radial Velocities of 2046 Nearby FGKM Stars and 131 Standards”. In: ArXiv e-prints. arXiv: 1207.6212 [astro-ph.GA]. Donati, J.-F. et al. (1997). “Spectropolarimetric observations of active stars”. In: Monthly Notices of the Royal Astronomical Society 291, p. 658. doi: 10.1093/mnras/291.4.658. Ducati, J. R. (2002). “VizieR Online Data Catalog: Catalogue of Stellar Photometry in Johnson’s 11-color system.” In: VizieR Online Data Catalog 2237. Dumusque, X. et al. (2012). “An Earth-mass planet orbiting α Centauri B”. In: Nature 491, pp. 207–211. doi: 10.1038/nature11572. Gray, R. O. et al. (2006). “Contributions to the Nearby Stars (NStars) Project: Spectroscopy of Stars Earlier than M0 within 40 pc-The Southern Sample”. In: The Astronomical Journal 132, pp. 161–170. doi: 10.1086/504637. eprint: astro-ph/0603770. Hébrard, É. M. et al. (2016). “Modelling the RV jitter of early-M dwarfs using tomographic imaging”. In: Monthly Notices of the Royal Astronomical Society 461, pp. 1465–1497. doi: 10.1093/mnras/stw1346. arXiv: 1606.01775 [astro-ph.SR]. Hussain, G. A. J. et al. (2016). “A spectro-polarimetric study of the planet-hosting G dwarf, HD 147513”. In: Astronomy & Astrophysics 585, A77, A77. doi: 10.1051/0004-6361/ 201526595. arXiv: 1510.02127 [astro-ph.SR]. Kochukhov, O., V. Makaganiuk, and N. Piskunov (2010). “Least-squares deconvolution of the stellar intensity and polarization spectra”. In: Astronomy & Astrophysics 524, A5, A5. doi: 10.1051/0004-6361/201015429. arXiv: 1008.5115 [astro-ph.SR]. Kochukhov, O. et al. (2011). “New Insights into Stellar Magnetism from the Spectropola- rimetry in All Four Stokes Parameters”. In: 16th Cambridge Workshop on Cool Stars, Stellar Systems, and the Sun. Ed. by C. Johns-Krull, M. K. Browning, and A. A. West. Vol. 448. Astronomical Society of the Pacific Conference Series, p. 245.

49 Koen, C. et al. (2010). “UBV(RI)C JHK observations of Hipparcos-selected nearby stars”. In: Monthly Notices of the Royal Astronomical Society 403, pp. 1949–1968. doi: 10.1111/ j.1365-2966.2009.16182.x. Lo Curto, G. et al. (2015). “HARPS Gets New Fibres After 12 of Operations”. In: The Messenger 162, pp. 9–15. Marsden, S. C. et al. (2014). “A BCool magnetic snapshot survey of solar-type stars”. In: Monthly Notices of the Royal Astronomical Society 444, pp. 3517–3536. doi: 10.1093/ mnras/stu1663. arXiv: 1311.3374 [astro-ph.SR]. Mayor, M. and D. Queloz (1995). “A Jupiter-mass companion to a solar-type star”. In: Nature 378, pp. 355–359. doi: 10.1038/378355a0. Mayor, M. et al. (2003). “Setting New Standards with HARPS”. In: The Messenger 114, pp. 20–24. Mayor, M. et al. (2009). “The HARPS search for southern extra-solar planets. XVIII. An Earth-mass planet in the GJ 581 ”. In: Astronomy & Astrophysics 507, pp. 487–494. doi: 10.1051/0004-6361/200912172. arXiv: 0906.2780 [astro-ph.EP]. Nidever, D. L. et al. (2002). “Radial Velocities for 889 Late-Type Stars”. In: The Astrop- hysical Journal Supplement 141, pp. 503–522. doi: 10 . 1086 / 340570. eprint: astro - ph/0112477. Nordström, B. et al. (2004). “The Geneva-Copenhagen survey of the Solar neighbourhood. Ages, metallicities, and kinematic properties of ~14 000 F and G dwarfs”. In: Astronomy & Astrophysics 418, pp. 989–1019. doi: 10.1051/0004-6361:20035959. eprint: astro- ph/0405198. Pasinetti Fracassini, L. E. et al. (2001). “Catalogue of Apparent Diameters and Absolute Radii of Stars (CADARS) - Third edition - Comments and statistics”. In: Astronomy & Astrophysics 367, pp. 521–524. doi: 10.1051/0004-6361:20000451. eprint: astro- ph/0012289. Piskunov, N. E. and J. A. Valenti (2002). “New algorithms for reducing cross-dispersed echelle spectra”. In: Astronomy & Astrophysics 385, pp. 1095–1106. doi: 10.1051/0004- 6361:20020175. Quillen, A. C. and S. Thorndike (2002). “Structure in the  Eridani Dusty Disk Caused by Mean Motion Resonances with a 0.3 Eccentricity Planet at Periastron”. In: The As- trophysical Journal Letters 578, pp. L149–L152. doi: 10.1086/344708. eprint: astro- ph/0208279. Saar, S. H. and R. A. Donahue (1997). “Activity-Related Radial Velocity Variation in Cool Stars”. In: The Astrophysical Journal 485, pp. 319–327. doi: 10.1086/304392. Saffe, C., M. Gómez, and C. Chavero (2005). “On the ages of exoplanet host stars”. In: Astronomy & Astrophysics 443, pp. 609–626. doi: 10.1051/0004-6361:20053452. eprint: astro-ph/0510092. Semel, M., J.-F. Donati, and D. E. Rees (1993). “Zeeman-Doppler imaging of active stars. 3: Instrumental and technical considerations”. In: Astronomy & Astrophysics 278, pp. 231– 237. Torres, C. A. O. et al. (2006). “Search for associations containing young stars (SACY). I. Sample and searching method”. In: Astronomy & Astrophysics 460, pp. 695–708. doi: 10.1051/0004-6361:20065602. eprint: astro-ph/0609258. van Leeuwen, F. (2007). “Validation of the new Hipparcos reduction”. In: Astronomy & Astrophysics 474, pp. 653–664. doi: 10.1051/0004-6361:20078357. arXiv: 0708.1752.

50 Wade, G. A. et al. (2000). “High-precision magnetic field measurements of Ap and Bp stars”. In: Monthly Notices of the Royal Astronomical Society 313, pp. 851–867. doi: 10.1046/j.1365-8711.2000.03271.x. Wenger, M. et al. (2000). “The SIMBAD astronomical database. The CDS reference data- base for astronomical objects”. In: Astronomy and Astrophysics Supplement 143, pp. 9– 22. doi: 10.1051/aas:2000332. eprint: astro-ph/0002110. Wright, J. T. (2005). “Radial Velocity Jitter in Stars from the California and Carnegie Planet Search at Keck Observatory”. In: Publications of the Astronomical Society of the Pacific 117, pp. 657–664. doi: 10.1086/430369. eprint: astro-ph/0505214. Wright, J. T. et al. (2011). “The Exoplanet Orbit Database”. In: Publications of the As- tronomical Society of the Pacific 123, p. 412. doi: 10.1086/659427. arXiv: 1012.5676 [astro-ph.SR].

51