YAML config file

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.