-
Notifications
You must be signed in to change notification settings - Fork 0
/
prepare_likelihood.py
68 lines (49 loc) · 1.98 KB
/
prepare_likelihood.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import numpy as np
from numpy import ma
import sys
import os
import time
from scipy import interpolate
import batman
import matplotlib.pyplot as plt
import matplotlib
import prepare_likelihood_functions as prep_func
def data_and_model_dict(reduced_dic,para_dic,Rp,Rs,inc,t0,sma,orb_per,w_peri,ecc,limbdark,u_limbdark, \
dates,Vfiles,Ifiles,Stdfiles,num_transit,orders,Wmean):
mod_2D = []
for mod in reduced_dic["models"]:
mod_dic = dict(nord=mod.nb,wavelength=mod.Wm,absorption=mod.DD)
mod_2D_order = prep_func.Model_2D(mod_dic)
mod_2D_order.create_interp()
mod_2D.append(mod_2D_order)
Rp_Rs = Rp/(Rs)
### Enter the planet parameters
P = []
for i in range(num_transit):
P_indiv = prep_func.Planet(Rp_Rs,inc,t0,sma,orb_per,w_peri,ecc,limbdark,u_limbdark,dates[i])
### Generate the transit event
P_indiv.make_batman()
### Build weighting window to transform the template of 2D sequence
P_indiv.make_window()
P.append(P_indiv)
# function of interpolation of the model at each phase
# for mod in mod_2D:
# mod.build_model(P.window)
sig_v_int = 1.0 ### Half-width of the window [km/s] (we take half of SPIRou pixel)
N_v_int = 7 ### Number of points of the integration
ddv = np.linspace(-sig_v_int,sig_v_int,N_v_int)
final_model = []
final_data = []
final_std = []
for i in range(num_transit):
tot_indiv = prep_func.total_model(para_dic["Kp"],para_dic["Vsys"],orders[i],Wmean[i],mod_2D,Vfiles[i],Ifiles[i],Stdfiles[i],P[i],ddv)
tot_indiv.fill_model()
indiv_model,indiv_data,indiv_std = tot_indiv.bin_model()
final_model = final_model+indiv_model # concatenate the models to have a list of spectra
final_data = final_data+indiv_data
final_std = final_std+indiv_std# same here for the data
return {
"data": final_data,
"model": final_model,
"std" : final_std
}