|
41 | 41 | # Fit an exoplanet transit model to time series data.
|
42 | 42 | # ########################################################################### #
|
43 | 43 |
|
| 44 | +from astropy.time import Time |
44 | 45 | import copy
|
45 |
| -import numpy as np |
46 | 46 | from itertools import cycle
|
47 | 47 | import matplotlib.pyplot as plt
|
| 48 | +import numpy as np |
| 49 | +from scipy import spatial |
48 | 50 | from scipy.optimize import least_squares
|
49 | 51 | from scipy.signal import savgol_filter
|
50 |
| -from scipy import spatial |
51 | 52 |
|
52 | 53 | try:
|
53 | 54 | from ultranest import ReactiveNestedSampler
|
@@ -168,6 +169,7 @@ def __init__(self, time, data, dataerr, airmass, prior, bounds, neighbors=200, m
|
168 | 169 | self.verbose = verbose
|
169 | 170 | self.mode = mode
|
170 | 171 | self.neighbors = neighbors
|
| 172 | + self.results = None |
171 | 173 | if self.mode == "lm":
|
172 | 174 | self.fit_LM()
|
173 | 175 | elif self.mode == "ns":
|
@@ -322,12 +324,10 @@ def prior_transform(upars):
|
322 | 324 | self.results['posterior']['errup'][i]]
|
323 | 325 | except NameError:
|
324 | 326 | self.ns_type = 'dynesty'
|
325 |
| - dsampler = dynesty.DynamicNestedSampler(loglike, prior_transform, |
326 |
| - ndim=len(freekeys), bound='multi', sample='unif' |
327 |
| - ) |
| 327 | + dsampler = dynesty.DynamicNestedSampler(loglike, prior_transform, ndim=len(freekeys), |
| 328 | + bound='multi', sample='unif') |
328 | 329 | dsampler.run_nested(maxcall=int(1e5), dlogz_init=0.05,
|
329 |
| - maxbatch=10, nlive_batch=100 |
330 |
| - ) |
| 330 | + maxbatch=10, nlive_batch=100, print_progressbool=self.verbose) |
331 | 331 | self.results = dsampler.results
|
332 | 332 |
|
333 | 333 | tests = [copy.deepcopy(self.prior) for i in range(5)]
|
@@ -558,7 +558,7 @@ def __init__(self, input_data, global_bounds, local_bounds, individual_fit=False
|
558 | 558 | self.individual_fit = individual_fit
|
559 | 559 | self.stdev_cutoff = stdev_cutoff
|
560 | 560 | self.verbose = verbose
|
561 |
| - |
| 561 | + self.results = None |
562 | 562 | self.fit_nested()
|
563 | 563 |
|
564 | 564 | def fit_nested(self):
|
@@ -680,10 +680,11 @@ def loglike(pars):
|
680 | 680 | #clean_name = self.lc_data[n].get('name', n).replace(' ','_').replace('(','').replace(')','').replace('[','').replace(']','').replace('-','_').split('-')[0]
|
681 | 681 | freekeys.append(f"local_{k}_{n}")
|
682 | 682 |
|
| 683 | + noop = lambda *args, **kwargs: None |
683 | 684 | if self.verbose:
|
684 |
| - self.results = ReactiveNestedSampler(freekeys, loglike, prior_transform).run(max_ncalls=1e6) |
| 685 | + self.results = ReactiveNestedSampler(freekeys, loglike, prior_transform).run(max_ncalls=1e6, show_status=True) |
685 | 686 | else:
|
686 |
| - self.results = ReactiveNestedSampler(freekeys, loglike, prior_transform).run(max_ncalls=1e6, show_status=self.verbose, viz_callback=self.verbose) |
| 687 | + self.results = ReactiveNestedSampler(freekeys, loglike, prior_transform).run(max_ncalls=1e6, show_status=False, viz_callback=noop) |
687 | 688 |
|
688 | 689 | self.quantiles = {}
|
689 | 690 | self.errors = {}
|
|
0 commit comments