YAML config file#
A full sample of CONAN .yaml config file is given below:
1# ========================================== CONAN YAML Configuration ==========================================
2# This is a template YAML configuration file for CONAN v3.3.12
3# PRIORS: Fix-'F(val)', Norm-'N(mu,std)', Uni-'U(min,start,max)', TruncNorm–'TN(min,max,mu,std)', LogUni-'LU(min,start,max)'
4
5general:
6 n_planet : 1 # number of planets in system
7
8photometry:
9 light_curves:
10 filepath : Notebooks/WASP-127/WASP127_LC_RV/../data/ # Light curve data directory
11 names : [lc6bjd.dat, WASP-127_S9.dat] # List of LC filenames (must be in lc_filepath directory)
12 filters : [R, T] # List of Filter names for each LC (for wavelength-dependent analysis)
13 wavelength_um: [0.6, 0.8] # Central wavelengths in microns for each filter
14 supersampling: [None, 30] # Supersampling factors for long-cadence data (None for no supersampling, number for subdivision factor)
15 clip_outliers: [c1:W11C5n1, c1:W5C4.2n1] # Outlier clipping settings for each LC (format: 'c[columns]:W[width]C[sigma]n[iterations]', None for no clipping))
16 scale_columns: [med_sub, None] # Data column rescaling (med_sub=subtract median, rs0to1=rescale 0-1, rs-1to1=rescale -1 to 1, None=no rescaling)
17 spline : [None, None] # Spline decorrelation setup for each LC (None for no spline)
18 apply_jitter : [y, y] # Whether to fit jitter term for each light curve ('y'=yes, 'n'=no)
19 baseline: # Baseline model configuration - polynomial orders for each data column of each LC
20 offset: [y, y] # Fit offset term ('y'=yes, 'n'=no)
21 col0 : [0, 0] # Time trend (0=none, 1=linear, 2=quadratic)
22 col3 : [0, 0] # Column 3 decorrelation order
23 col4 : [0, 0] # Column 4 decorrelation order
24 col5 : [2, 0] # Column 5 decorrelation order
25 col6 : [1, 0] # Column 6 decorrelation order
26 col7 : [0, 0] # Column 7 decorrelation order
27 col8 : [0, 0] # Column 8 decorrelation order
28
29 sinusoid:
30 names: [] # Light curve names to apply sinusoidal decorrelation
31 trig : [] # Trigonometric function: 'sin', 'cos', or 'sincos'
32 n : [] # Number of harmonics
33 par : [] # Data column to decorrelate against
34 P : [] # Period of sinusoid
35 amp : [] # Amplitude of sinusoid
36 x0 : [] # Phase offset
37
38 gp: # Gaussian Process configuration
39 - lc_name : WASP-127_S9.dat # list of LC names to apply GP. 'same' to fit same gp parameters for the LCs, 'all' for all LCs. filter name to apply GP to can also be given.
40 kernel : [mat32] # list of GP kernel type: mat32, mat52, exp, cos, sho, etc. use tuple to specify combination of more than one kernel e.g. (mat32, exp)
41 par : [col0] # Data column for GP independent variable
42 h1_amp : ['LU(20,400,4000)'] # GP amplitude prior
43 h2_len_scale: ['LU(0.007,0.4,5)'] # GP length scale prior
44 h3_other : [None] # Third hyperparameter (kernel-dependent)
45 h4_period : [None] # Fourth hyperparameter (for periodic kernels)
46 operation : [] # Kernel combination operation ('+' or '*')
47 gp_pck : ce # GP package: 'ce'=celerite, 'ge'=george, 'sp'=spleaf
48
49 limb_darkening: # Limb darkening coefficients (using Kipping parameterization)
50 filters: [R, T] # list of unique filter names to
51 q1 : ['N(0.4239,0.0253)', 'N(0.2978,0.0159)'] # list of linear LD coefficients prior for each LC
52 q2 : ['N(0.3969,0.0166)', 'N(0.3784,0.0135)'] # list of quadratic LD coefficients prior for each LC
53
54 tdv: # Transit depth variation between filters
55 fit_ddfs : n # Fit depth variations ('y'=yes, 'n'=no)
56 drprs : 'U(-0.5,0,0.5)' # Depth variation prior. deviation of radius ratio from the reference values in planet_parameters (Uniform: min, start, max)
57 div_white: n # Divide by white light curve
58
59 ttv: # Transit timing variations
60 fit_ttvs : n # Fit TTVs ('y'=yes, 'n'=no)
61 dt : 'U(-0.125, 0, 0.125)' # prior for the deviation of transit times from the expected values
62 baseline : 0.25 # Baseline fraction around transit
63 per_LC_T0 : False # Fit one T0 per LC file vs per transit
64 include_partial: True # Include partial transits in analysis
65
66 phase_curve: # Phase curve and secondary eclipse modeling
67 filters : [R, T] # list of filter names
68 D_occ : ['F(0)', 'F(0)'] # prior for the observed Occultation depth in ppm
69 Fn : [None, None] # prior for the Nightside flux in ppm (None = no phase curve, just transit and/or occultation)
70 ph_off : [None, None] # prior for the Phase offset in degrees
71 A_ev : ['F(0)', 'F(0)'] # prior for the semi amplitude of ellipsoidal variation (EV) in ppm
72 f1_ev : ['F(0)', 'F(0)'] # prior for fraction amplitude of EV signal. values should range between 0 and 1.
73 A_db : ['F(0)', 'F(0)'] # prior for semi-amplitude of Doppler boosting in ppm.
74 pc_model: [cosine, cosine] # Phase curve model: 'cosine' or 'lambert'
75
76 custom_LC_function: # Custom light curve function (for non-standard models)
77 function : None # custom function name
78 x : None # Independent variable
79 func_pars : None # dictionary of argument priors to pass to the custom function. e.g {A: 'F(1.2)', B:'N(3,0.5)'}
80 extra_args : None # dictionary of extra arguments to pass to the custom function
81 op_func : None # operation function to apply to the output of custom function and transit model to obtain the desired model.
82 replace_LCmodel: False # replace the transit model with the custom model
83
84 contamination: # contamination due to flux from other sources in aperture
85 filters : [R, T] # list of filter names
86 contam_factor: ['F(0)', 'F(0)'] # contamination fraction: flux of contaminants/ flux of target within the aperture
87
88 auto_decorr: # Automatic decorrelation - finds best baseline model using statistical comparison
89 get_decorr : False # Set to True to automatically find best decorrelation parameters
90 delta_bic : -5 # BIC improvement threshold for parameter selection (more negative = more conservative)
91 exclude_cols: [] # Column numbers to exclude from decorrelation analysis
92 exclude_pars: [] # Specific parameters to exclude (e.g., ['A3', 'B4'])
93 enforce_pars: [] # Parameters to always include in decorrelation
94
95
96# ==== RADIAL VELOCITY CONFIGURATION ====
97radial_velocity:
98
99 rv_curves:
100 filepath : Notebooks/WASP-127/WASP127_LC_RV/../data/ # Radial velocity data directory
101 rv_unit : km/s # unit for radial velocity data: m/s or km/s
102 names : [rv1.dat, rv2.dat]
103 scale_columns: [med_sub, med_sub] # Data column rescaling (med_sub=subtract median, rs0to1=rescale 0-1, rs-1to1=rescale -1 to 1, None=no rescaling)
104 spline : [None, None] # c{column_no}:d{degree}K{knot_spacing} e.g. c0:d3K2 or c0:d3K2|c4:d3K2 for two dimensional
105 apply_jitter : [y, y] # Whether to fit jitter term for each light curve ('y'=yes, 'n'=no)
106 baseline:
107 gammas: ['N(-9.229240663524008,0.1)', 'N(-9.210554832958305,0.1)'] # systemic velocity priors
108 col0 : [2, 0]
109 col3 : [1, 0]
110 col4 : [1, 0]
111 col5 : [0, 0]
112 gp:
113 - rv_name : None # RV filename (None = no GP)
114 kernel : None # GP kernel type
115 par : None # Independent variable column
116 h1_amp : None # GP amplitude
117 h2_len_scale: None # GP length scale
118 h3_other : None # Third hyperparameter
119 h4_period : None # Fourth hyperparameter
120 h5_der_amp : None # Derivative amplitude (for activity)
121 error_col : None # Error column for multi-dimensional GP
122 operation : # Kernel operation
123 gp_pck : n # GP package ('n' = none)
124
125 custom_RV_function: # custom RV function
126 function : None # custom function name
127 x : None # Independent variable
128 func_pars : None # dictionary of argument priors to pass to the custom function. e.g {A: 'F(1.2)', B:'N(3,0.5)'}
129 extra_args : None # dictionary of extra arguments to pass to the custom function
130 op_func : None # operation function to apply to the output of custom function and transit model to obtain the desired model.
131 replace_RVmodel: False # Replace standard RV model
132
133 auto_decorr: # Automatic decorrelation for RV data
134 get_decorr : False # Automatically find best RV decorrelation
135 delta_bic : -5 # BIC threshold for parameter selection
136 exclude_cols: [] # Columns to exclude from decorrelation
137 exclude_pars: [] # Parameters to exclude
138 enforce_pars: [] # Parameters to enforce
139
140
141planet_parameters:
142 rho_star : 'N(0.565,0.035)' # Stellar density prior (g/cm³) - alternative to duration parameterization
143 Duration : None # Transit duration (alternative to rho_star) - set to None if using rho_star
144 RpRs : ['U(0.05,0.108,0.17)'] # prior Planet-to-star radius ratio. make into list for multiplanet
145 Impact_para : ['U(0,0.29,1)'] # pripr on impact parameter, list for multiplanet
146 T_0 : ['N(6776.621239999775,0.001)'] # Mid-transit time (BJD)
147 Period : ['F(4.17806203)'] # Orbital period (days)
148 Eccentricity: ['F(0)'] # prior on eccentricity. list for multiplanet
149 omega : ['F(90)'] # prior on argument of periastron (degrees: 0-360)
150 sesinw : None # prior on sqrt(e)sinw. alternative to eccentricity/omega
151 secosw : None # prior on sqrt(e)cosw. alternative to eccentricity/omega
152 K : ['U(0,0.01,0.05)'] #prior on RV semi amplitude. in same unit as rv data
153
154stellar_parameters: #stellar paramters. only used to convert radius and mass to actual units
155 radius_rsun : 'N(1.33, 0.03)' #stellar radius in Rsun
156 mass_msun : 'N(0.95, 0.02)' # stellar mass in Msun
157 input_method: Rrho # Method for stellar parameter input: 'Rrho' uses radius+density, 'Mrho' uses mass+density
158
159# ==== SAMPLING CONFIGURATION ====
160fit_setup:
161 sampler : dynesty # Sampling algorithm: 'dynesty' (nested sampling) or 'emcee' (MCMC)
162 number_of_processes : 10 # Number of CPU cores for parallel processing
163
164 # === EMCEE Parameters (if sampler='emcee') ===
165 emcee_number_steps : 2000 # Chain length
166 emcee_number_chains : 64 # Number of walkers
167 emcee_burnin_length : 500 # Burn-in steps to discard
168 emcee_move : stretch # Move algorithm: 'stretch', 'demc', 'snooker'
169
170 # === Dynesty Parameters (if sampler='dynesty') ===
171 dynesty_nlive : 100 # Number of live points
172 dynesty_dlogz : 0.1 # Stopping criterion (evidence tolerance)
173 dynesty_nested_sampling : static # 'static' or 'dynamic'
174 force_nlive : False # Force nlive even if < ndim*(ndim+1)/2
175
176 # === Advanced Options ===
177 leastsq_for_basepar : n # Use least-squares for baseline fitting
178 light_travel_time_correction: n # Apply light travel time correction
179
180 # Prior limits (set to 'auto' for automatic determination from data)
181 lc_jitter_loglims : auto # Log jitter limits for light curves
182 rv_jitter_lims : auto # Jitter limits for RV data
183 lc_basecoeff_lims : auto # Baseline coefficient limits (LC)
184 rv_basecoeff_lims : auto # Baseline coefficient limits (RV)
185
186 # Multi-dimensional GP options (for spleaf package)
187 apply_lc_gpndim_jitter : n # Jitter for each GP dimension (LC)
188 apply_rv_gpndim_jitter : n # Jitter for each GP dimension (RV)
189 apply_lc_gpndim_offset : n # Offset for each GP dimension (LC)
190 apply_rv_gpndim_offset : n # Offset for each GP dimension (RV)
191# ============ END OF FILE ============================================
There are 6 main sections:
general: specify the number of planets to model in the LC and RV models.
photometry: define the setup for the lightcurves. can be excluded if no lightcurves to analyse.
radial_velocity: define the setup for the rvs. Can be excluded if no rv files to analyse.
planet_parameters: define priors for fitting the planet’s orbit and physical parameters
stellar_parameters: give stellar radius and mass to use post-fit to convert planet radius and mass to actual punits. when fitting a phase curve or occultation, the stellar radius is also used to compute the light-travel-time delay.
fit_setup: specify the desired sampling strategy and other options.