Quasi-periodic kernel#
The most common and most reliable kernel for stellar activity is the quasi-periodic one, following the expression given by Rajpaul et al. 2015
where \(P_\mathrm{rot}\) is equivalent to the rotation period of the star, \(O_\mathrm{amp}\) is the coherence scale, and \(P_\mathrm{dec}\) is usually associated with the decay time scale of the active regions.
Important
It is common to have a factor 2 in the denominator of the aperiodic variation or in the numerator of the sinusoidal term. In such a case, it is sufficient to multiply/divide the value value of PyORBIT by a factor \(\sqrt(2)\) - keep it in mind when assigning priors!
A comparison between different formulations of the quasi-periodic kernel is provided in the section Differences among various parametrizations of this page.
Model definition and requirements#
The fastest implementation relies on tinyGP, but it requires a few extra tricks in the configuration file and execution (see Caveats on the use of tinyGP )
The original implementation based on george is still available. An independent implementation relying only on basic packages is available, however it is much slower.
model name: tinygp_quasiperiodic
required common object:
activityimplemented using
tinygp(version 0.3.0, link to documentation)GPU acceleration supported (instruction incoming)
Read Caveats on the use of
tinyGPcarefully
model name: gp_quasiperiodic
required common object:
activityimplemented using
george(version 0.4.0, Ambikasaram et al. 2015, link to documentation)
Warning
Starting with PyORBIT 10.3, only version >=0.3 of tinygp is supported.
model name: gp_quasiperiodic_alternative
required common object:
activitydirect implementation relying only on
numpyandscipy
Model parameters#
The following parameters will be inherited from the common model (column Common?: common) or a different value will be assigned for each dataset (column Common?: dataset)
Name |
Parameter |
Common? |
Definition |
Notes |
|---|---|---|---|---|
Prot |
Rotational period of the star |
common |
|
|
Pdec |
Decay time scale of active regions |
common |
|
|
Oamp |
Coherence scale |
common |
|
|
Hamp |
Amplitude of the kernel |
dataset |
|
Keywords#
Model-wide keywords, with the default value in boldface.
hyperparameters_condition
accepted values:
True|Falseactivate the conditions \( P_\mathrm{dec} ^ 2 > \frac{3}{2 \pi} P_\mathrm{rot} ^2 O_\mathrm{amp} ^ 2 \) from Rajpaiul 2017 and Rajpaul et al. 2021, to ensure that the QP function has at least one non-trivial turning point.
rotation_decay_condition
accepted values:
True|Falseif activated, it ensures that the decay time scale of the activity regions \(\lambda\) is at least twice the rotational period of the star \(\theta\)
use_stellar_rotation_period
accepted values:
True|Falseif activated, the parameter
Protfrom theactivitycommon model will be replaced by the parameterrotation_periodfrom thestar_parameterscommon model. In this way, a unique parameter can be used by different models, e.g., stellar activity and Rossiter-McLaughlin modeling. It can also be useful if you want to use independent GP hyperparameters over several observational seasons while using a single parameter for the rotational period of the star.
use_stellar_activity_decay
accepted values:
True|Falseif activated, the parameter
Pdecfrom theactivitycommon model will be replaced by the parameteractivity_decayfrom thestar_parameterscommon model.
Examples#
In the following example, a Radial Velocity (RV) dataset comes together with two activity indicators, the Bisector Inverse Span (BIS) of the CCF and the Mount Wilson S index (S_index).
The common:activity section provides the hyperparameters for the GP shared among all the datasets. The example shows how to assign boundaries and priors to the parameters.
The model keywords and the boundaries for the dataset-specific parameters are listed in models:gp_quasiperiodic
1inputs:
2 RVdata:
3 file: datasets/K2-141_RV_PyORBIT.dat
4 kind: RV
5 models:
6 - radial_velocities
7 - gp_quasiperiodic
8 BISdata:
9 file: datasets/K2-141_BIS_PyORBIT.dat
10 kind: BIS
11 models:
12 - gp_quasiperiodic
13 Sdata:
14 file: datasets/K2-141_Sindex_PyORBIT.dat
15 kind: S_index
16 models:
17 - gp_quasiperiodic
18common:
19 planets:
20 b:
21 orbit: circular
22 use_time_inferior_conjunction: True
23 boundaries:
24 P: [0.2750, 0.2850]
25 K: [0.001, 20.0]
26 Tc: [57744.00, 57744.10]
27 priors:
28 P: ['Gaussian', 0.280324956, 0.000000067]
29 Tc: ['Gaussian', 57744.071508, 0.000103]
30 spaces:
31 P: Linear
32 K: Linear
33 c:
34 orbit: keplerian
35 parametrization: Eastman2013
36 use_time_inferior_conjunction: True
37 boundaries:
38 P: [7.70, 7.80]
39 K: [0.001, 20.0]
40 Tc: [58371.00, 58371.10]
41 e: [0.00, 0.70]
42 priors:
43 e: ['Gaussian', 0.00, 0.098]
44 P: ['Gaussian', 7.7489943, 0.0000149]
45 Tc: ['Gaussian', 58371.07415, 0.000652]
46 spaces:
47 P: Linear
48 K: Linear
49 activity:
50 boundaries:
51 Prot: [10.0, 20.0]
52 Pdec: [20.0, 1000.0]
53 Oamp: [0.001, 1.0]
54 #priors:
55 # Oamp: ['Gaussian', 0.35, 0.035]
56 star:
57 star_parameters:
58 priors:
59 mass: ['Gaussian', 0.708, 0.028]
60 radius: ['Gaussian', 0.681, 0.018]
61 density: ['Gaussian', 2.65, 0.08]
62models:
63 radial_velocities:
64 planets:
65 - b
66 - c
67 gp_quasiperiodic:
68 model: gp_quasiperiodic
69 common: activity
70 hyperparameters_condition: True # Condition from Rajpaul 2017, Rajpaul+2021
71 rotation_decay_condition: True # It forces the decay timescale to be at least twice the rotational period
72 boundaries:
73 Hamp: [0.0, 100.0] # same range for all datasets
74parameters:
75 Tref: 59200.00
76solver:
77 pyde:
78 ngen: 50000
79 npop_mult: 4
80 emcee:
81 npop_mult: 4
82 nsteps: 50000
83 nburn: 20000
84 nsave: 25000
85 thin: 100
86 recenter_bounds: True
In the example below, one dataset is divided into several observing seasons. The decay time scale of active regions, the coherence scale, and the amplitude of the kernel are independent for each season, while the rotational period of the star is shared across all the datasets.
Note the use of two activity common models marked with the labels activity_s01 and activity_s02. Correspondingly, two gp_quasiperiodic models are employed, marked as gp_quasiperiodic_s01 and gp_quasiperiodic_s02. The prior on the rotation_period is stored in the star_aparameters common_model. As a consequence, both the activity and star_parameters common models must be recalled in the gp_quasiperiodic model.
The use of a common_offset ensures the use of a single offset parameter for each type of dataset, avoiding degeneracies in the presence of long-period signals.
The use of a common_jitter model may be motivated as well.
1inputs:
2 RVdata_s01:
3 file: datasets/TOI1807_RV_s01_PyORBIT.dat
4 kind: RV
5 models:
6 - radial_velocities
7 - gp_quasiperiodic_s01
8 - common_offset_RV
9 BISdata_s01:
10 file: datasets/TOI1807_BIS_s01_PyORBIT.dat
11 kind: BIS
12 models:
13 - gp_quasiperiodic_s01
14 - common_offset_BIS
15 ...
16 RVdata_s02:
17 file: datasets/TOI1807_RV_s02_PyORBIT.dat
18 kind: RV
19 models:
20 - radial_velocities
21 - gp_quasiperiodic_s02
22 - common_offset_RV
23 BISdata_s02:
24 file: datasets/TOI1807_BIS_s02_PyORBIT.dat
25 kind: BIS
26 models:
27 - gp_quasiperiodic_s02
28 - common_offset_BIS
29 ...
30common:
31 planets:
32 b:
33 orbit: circular
34 use_time_inferior_conjunction: True
35 boundaries:
36 P: [0.54, 0.56]
37 K: [0.001, 20.0]
38 Tc: [8899.30, 8899.40]
39 priors:
40 P: ['Gaussian', 0.549374, 0.000013]
41 Tc: ['Gaussian', 8899.3449, 0.0008]
42 spaces:
43 P: Linear
44 K: Linear
45 activity_s01:
46 model: activity
47 boundaries:
48 Pdec: [10.0, 100.0]
49 Oamp: [0.001, 1.0]
50 #priors:
51 # Oamp: ['Gaussian', 0.35, 0.035]
52 activity_s02:
53 model: activity
54 boundaries:
55 Pdec: [10.0, 100.0]
56 Oamp: [0.001, 1.0]
57 #priors:
58 # Oamp: ['Gaussian', 0.35, 0.035]
59 star:
60 star_parameters:
61 boundaries:
62 rotation_period: [8.0, 10.0]
63 priors:
64 mass: ['Gaussian', 0.76, 0.03]
65 radius: ['Gaussian', 0.690, 0.036]
66 density: ['Gaussian', 2.3, 0.4]
67 rotation_period: ['Gaussian', 8.8, 0.1]
68 common_offset_RV:
69 model: common_offset
70 common_offset_BIS:
71 model: common_offset
72 common_offset_logRHK:
73 model: common_offset
74models:
75 radial_velocities:
76 planets:
77 - b
78 gp_quasiperiodic_s01:
79 model: gp_quasiperiodic
80 common:
81 - activity_s01
82 - star_parameters
83 use_stellar_rotation_period: True
84 hyperparameters_condition: True # Condition from Rajpaul 2017, Rajpaul+2021
85 rotation_decay_condition: True # It forces the decay timescale to be at least twice the rotational period
86 boundaries:
87 Hamp: [0.0, 100.0] # same range for all datasets
88 gp_quasiperiodic_s02:
89 model: gp_quasiperiodic
90 common:
91 - activity_s02
92 - star_parameters
93 use_stellar_rotation_period: True
94 hyperparameters_condition: True # Condition from Rajpaul 2017, Rajpaul+2021
95 rotation_decay_condition: True # It forces the decay timescale to be at least twice the rotational period
96 boundaries:
97 Hamp: [0.0, 100.0] # same range for all datasets
Differences among various parametrizations#
PyORBIT, following Rajpaul et al. 2015