Quasi-periodic kernel#
The most common and most reliable kernel for stellar activity is the quasi-periodic one, following the expression given by Grunblatt et al. 2015:
where \(\theta\) is equivalent to the rotation period of the star, \(w\) is the coherence scale, and \(\lambda\) 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 (i.e., \(2 \lambda\) rather than \(\lambda\)) in (2). In such a case, it is sufficient to multiply the value of \(\lambda\) of PyORBIT
by a factor \(\sqrt(2)\) - keep it in mind when assigning priors!
Model definition and requirements#
This kernel relies on the george
package. An independent implementation relying only on basic packages is available, however it is much slower.
A new implementation using tinyGP
is now available, but it requires a few extra tricks in the configuration file and execution (see Caveats on the use of tinyGP
)
model name: gp_quasiperiodic
required common object:
activity
implemented using
george
(version 0.4.0, Ambikasaram et al. 2015, link to documentation)
model name: tinygp_quasiperiodic
required common object:
activity
direct implemented using
tinygp
(version 0.2.3, link to documentation)GPU acceleration supported (instruction incoming)
Read Caveats on the use of
tinyGP
carefully
‘’’warning
At the moment of writing (March 2024), version >=0.3 of tinygp
is not supported yet
‘’’
model name: gp_quasiperiodic_alternative
required common object:
activity
direct implementation relying only on
numpy
andscipy
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 \(\theta\) |
common |
|
|
Pdec |
Decay time scale of active regions \(\lambda\) |
common |
|
|
Oamp |
Coherence scale \(w\) |
common |
|
|
Hamp |
Amplitude of the kernel |
dataset |
|
Keywords#
Model-wide keywords, with the default value in boldface.
hyperparameters_condition
accepted values:
True
|False
activate the conditions \( \lambda ^ 2 > (3/4 \pi) \theta ^2 w ^ 2 \) (adapted from Rajpaul 2017 and Rajpaul et al. 2021 to take into account the factor 2 in the denominator of the aperiodic variation) to ensure that the QP function has at least one non-trivial turning point.
rotation_decay_condition
accepted values:
True
|False
if 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
|False
if activated, the parameter
Prot
from theactivity
common model will be replaced by the parameterrotation_period
from thestar_parameters
common 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.
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