PyTransit 2.6.6__tar.gz → 2.6.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytransit-2.6.6 → pytransit-2.6.7}/PKG-INFO +2 -1
- {pytransit-2.6.6 → pytransit-2.6.7}/PyTransit.egg-info/PKG-INFO +2 -1
- {pytransit-2.6.6 → pytransit-2.6.7}/PyTransit.egg-info/SOURCES.txt +3 -0
- pytransit-2.6.6/requirements.txt → pytransit-2.6.7/PyTransit.egg-info/requires.txt +2 -1
- {pytransit-2.6.6 → pytransit-2.6.7}/pyproject.toml +1 -1
- pytransit-2.6.7/pytransit/models/roadrunner/opmodel.py +111 -0
- pytransit-2.6.7/pytransit/models/roadrunner/rrmodel.py +230 -0
- pytransit-2.6.7/pytransit/models/roadrunner/tsmodel.py +136 -0
- pytransit-2.6.6/PyTransit.egg-info/requires.txt → pytransit-2.6.7/requirements.txt +1 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/LICENSE +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/MANIFEST.in +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/PyTransit.egg-info/dependency_links.txt +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/PyTransit.egg-info/top_level.txt +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/README.md +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/contamination.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/data/spectra.h5 +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/data/transmission.nc +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/filter.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/instrument.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/contamination/plotting.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/limb_darkening.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/baselines/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/baselines/legendrebaseline.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/baselines/linearbaseline.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/cntlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/eclipselpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/celeriteloglikelihood.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/clloglikelihood.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/fmcloglikelihood.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/logisticloglikelihood.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/multiceleriteloglikelihood.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/wnloglikelihood.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/logposteriorfunction.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/lpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/mclpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/mptlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/ocllpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/ocltdvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/oclttvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/phasecurvelpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/rvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tdvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tess/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tess/ctesslpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tess/tessttvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tess/tgclpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tess/tgcmplpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tess/tmpclpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tesslpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/tessoclttvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/transitanalysis.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/transitlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/ttvlpf.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/eclipse_model.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/gdmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/general.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ldmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ldtkldm.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/general.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/linear.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/nonlinear.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/power_2.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/quadratic.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/quadratic_tri.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/limb_darkening/uniform.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ma_chromosphere.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ma_quadratic.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ma_quadratic_cl.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ma_uniform.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/ma_uniform_cl.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/gdmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/general_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/ldmodels.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/ldtkldm.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/ma_chromosphere_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/ma_quadratic_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/ma_uniform_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/phasecurves.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/qpower2_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/rrmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/spmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/numba/udmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/opencl/ma_quadratic.cl +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/opencl/ma_uniform.cl +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/opencl/orbits.cl +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/opencl/qpower2.cl +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/osmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/qpower2.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/qpower2_cl.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/common.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/ecintersection.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/model.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/model_full.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/model_simple.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/model_trspec.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/opmodel_full.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/rrmodel.cl +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/roadrunner/rrmodel_cl.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/transitmodel.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/models/uniform.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/orbits/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/orbits/orbits.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/orbits/orbits_py.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/orbits/taylor_z.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/param/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/param/parameter.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/param/prior.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/param/utilities.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/stars/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/stars/btsettl.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/stars/data/avg_bt_settl.fits +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/stars/data/avg_husser2013.fits +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/stars/husser2013.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/astrometry.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/constants.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/de.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/downsample.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/eclipses.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/io/__init__.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/io/lightcurvedata.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/keplerlc.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/mdwarfs.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/misc.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/mocklc.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/octasphere.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/phasecurves.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/physics.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/rv.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/utils/tess.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/pytransit/version.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/setup.cfg +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_contamination.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_ma_quadratic.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_ma_quadratic_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_qpower2_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_uniform_model.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_uniform_model_nb.py +0 -0
- {pytransit-2.6.6 → pytransit-2.6.7}/tests/test_z.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyTransit
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.7
|
|
4
4
|
Summary: Fast and painless exoplanet transit light curve modelling.
|
|
5
5
|
Author-email: Hannu Parviainen <hpparvi@gmail.com>
|
|
6
6
|
License: GPLv2
|
|
@@ -37,6 +37,7 @@ Requires-Dist: pyopencl
|
|
|
37
37
|
Requires-Dist: corner
|
|
38
38
|
Requires-Dist: celerite
|
|
39
39
|
Requires-Dist: pyrr
|
|
40
|
+
Requires-Dist: meepmeep
|
|
40
41
|
|
|
41
42
|
PyTransit
|
|
42
43
|
=========
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyTransit
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.7
|
|
4
4
|
Summary: Fast and painless exoplanet transit light curve modelling.
|
|
5
5
|
Author-email: Hannu Parviainen <hpparvi@gmail.com>
|
|
6
6
|
License: GPLv2
|
|
@@ -37,6 +37,7 @@ Requires-Dist: pyopencl
|
|
|
37
37
|
Requires-Dist: corner
|
|
38
38
|
Requires-Dist: celerite
|
|
39
39
|
Requires-Dist: pyrr
|
|
40
|
+
Requires-Dist: meepmeep
|
|
40
41
|
|
|
41
42
|
PyTransit
|
|
42
43
|
=========
|
|
@@ -100,9 +100,12 @@ pytransit/models/roadrunner/model.py
|
|
|
100
100
|
pytransit/models/roadrunner/model_full.py
|
|
101
101
|
pytransit/models/roadrunner/model_simple.py
|
|
102
102
|
pytransit/models/roadrunner/model_trspec.py
|
|
103
|
+
pytransit/models/roadrunner/opmodel.py
|
|
103
104
|
pytransit/models/roadrunner/opmodel_full.py
|
|
104
105
|
pytransit/models/roadrunner/rrmodel.cl
|
|
106
|
+
pytransit/models/roadrunner/rrmodel.py
|
|
105
107
|
pytransit/models/roadrunner/rrmodel_cl.py
|
|
108
|
+
pytransit/models/roadrunner/tsmodel.py
|
|
106
109
|
pytransit/orbits/__init__.py
|
|
107
110
|
pytransit/orbits/orbits.py
|
|
108
111
|
pytransit/orbits/orbits_py.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PyTransit"
|
|
7
|
-
version = "2.6.
|
|
7
|
+
version = "2.6.7"
|
|
8
8
|
description = 'Fast and painless exoplanet transit light curve modelling.'
|
|
9
9
|
authors=[{name='Hannu Parviainen', email='hpparvi@gmail.com'}]
|
|
10
10
|
classifiers=[
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# PyTransit: fast and easy exoplanet transit modelling in Python.
|
|
2
|
+
# Copyright (C) 2010-2019 Hannu Parviainen
|
|
3
|
+
#
|
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
# (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
16
|
+
#
|
|
17
|
+
# This program is free software: you can redistribute it and/or modify
|
|
18
|
+
# it under the terms of the GNU General Public License as published by
|
|
19
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
20
|
+
# (at your option) any later version.
|
|
21
|
+
#
|
|
22
|
+
# This program is distributed in the hope that it will be useful,
|
|
23
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
24
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
25
|
+
# GNU General Public License for more details.
|
|
26
|
+
#
|
|
27
|
+
# You should have received a copy of the GNU General Public License
|
|
28
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
29
|
+
from typing import Tuple, Callable, Union, List, Optional
|
|
30
|
+
|
|
31
|
+
from numpy import ndarray, linspace, isscalar, unique, atleast_1d
|
|
32
|
+
from scipy.integrate import trapezoid
|
|
33
|
+
|
|
34
|
+
from ..ldmodel import LDModel
|
|
35
|
+
from ..numba.ldmodels import *
|
|
36
|
+
|
|
37
|
+
from .opmodel_full import opmodel
|
|
38
|
+
from .rrmodel import RoadRunnerModel
|
|
39
|
+
|
|
40
|
+
__all__ = ['OblatePlanetModel']
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class OblatePlanetModel(RoadRunnerModel):
|
|
44
|
+
def __init__(self, ldmodel: Union[str, Callable, Tuple[Callable, Callable]] = 'quadratic',
|
|
45
|
+
precompute_weights: bool = False, klims: tuple = (0.005, 0.5), nk: int = 256,
|
|
46
|
+
nzin: int = 20, nzlimb: int = 20, zcut: float = 0.7, ng: int = 100, nlines: int = 100,
|
|
47
|
+
nthreads: int = 1, small_planet_limit: float = 0.05, **kwargs):
|
|
48
|
+
super().__init__(ldmodel, precompute_weights, klims, nk, nzin, nzlimb, zcut, ng, nthreads, small_planet_limit, **kwargs)
|
|
49
|
+
self.nlines = nlines
|
|
50
|
+
|
|
51
|
+
def evaluate(self, k: Union[float, ndarray], f: Union[float, ndarray], alpha: Union[float, ndarray],
|
|
52
|
+
ldc: Union[ndarray, List],
|
|
53
|
+
t0: Union[float, ndarray], p: Union[float, ndarray], a: Union[float, ndarray],
|
|
54
|
+
i: Union[float, ndarray], e: Union[float, ndarray] = 0.0, w: Union[float, ndarray] = 0.0,
|
|
55
|
+
copy: bool = True) -> ndarray:
|
|
56
|
+
"""Evaluate the transit model for a set of scalar or vector parameters.
|
|
57
|
+
|
|
58
|
+
Parameters
|
|
59
|
+
----------
|
|
60
|
+
k
|
|
61
|
+
Radius ratio(s) either as a single float, 1D vector, or 2D array.
|
|
62
|
+
ldc
|
|
63
|
+
Limb darkening coefficients as a 1D or 2D array.
|
|
64
|
+
t0
|
|
65
|
+
Transit center(s) as a float or a 1D vector.
|
|
66
|
+
p
|
|
67
|
+
Orbital period(s) as a float or a 1D vector.
|
|
68
|
+
a
|
|
69
|
+
Orbital semi-major axis (axes) divided by the stellar radius as a float or a 1D vector.
|
|
70
|
+
i
|
|
71
|
+
Orbital inclination(s) as a float or a 1D vector.
|
|
72
|
+
e : optional
|
|
73
|
+
Orbital eccentricity as a float or a 1D vector.
|
|
74
|
+
w : optional
|
|
75
|
+
Argument of periastron as a float or a 1D vector.
|
|
76
|
+
|
|
77
|
+
Notes
|
|
78
|
+
-----
|
|
79
|
+
The model can be evaluated either for one set of parameters or for many sets of parameters simultaneously. In
|
|
80
|
+
the first case, the orbital parameters should all be given as floats. In the second case, the orbital parameters
|
|
81
|
+
should be given as a 1D array-like.
|
|
82
|
+
|
|
83
|
+
Returns
|
|
84
|
+
-------
|
|
85
|
+
ndarray
|
|
86
|
+
Modelled flux either as a 1D or 2D ndarray.
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
npv = 1 if isscalar(p) else p.size
|
|
90
|
+
ldc = atleast_1d(ldc)
|
|
91
|
+
|
|
92
|
+
if isinstance(self.ldmodel, LDModel):
|
|
93
|
+
ldp, istar = self.ldmodel(self.mu, ldc)
|
|
94
|
+
else:
|
|
95
|
+
ldp = evaluate_ld(self.ldmodel, self.mu, ldc)
|
|
96
|
+
|
|
97
|
+
if self.ldmmean is not None:
|
|
98
|
+
istar = evaluate_ldi(self.ldmmean, ldc)
|
|
99
|
+
else:
|
|
100
|
+
istar = zeros((npv, self.npb))
|
|
101
|
+
ldpi = evaluate_ld(self.ldmodel, self._ldmu, ldc)
|
|
102
|
+
for ipv in range(npv):
|
|
103
|
+
for ipb in range(self.npb):
|
|
104
|
+
istar[ipv, ipb] = 2 * pi * trapezoid(self._ldz * ldpi[ipv, ipb], self._ldz)
|
|
105
|
+
|
|
106
|
+
flux = opmodel(self.time, k, f, alpha, t0, p, a, i, e, w, self.parallel,
|
|
107
|
+
self.nlc, self.npb, self.nep, self.nlines,
|
|
108
|
+
self.lcids, self.pbids, self.epids, self.nsamples, self.exptimes,
|
|
109
|
+
ldp, istar, self.weights, self.dk, self.klims[0], self.klims[1], self.dg, self.ze)
|
|
110
|
+
|
|
111
|
+
return flux
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# PyTransit: fast and easy exoplanet transit modelling in Python.
|
|
2
|
+
# Copyright (C) 2010-2019 Hannu Parviainen
|
|
3
|
+
#
|
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
# (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
16
|
+
#
|
|
17
|
+
# This program is free software: you can redistribute it and/or modify
|
|
18
|
+
# it under the terms of the GNU General Public License as published by
|
|
19
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
20
|
+
# (at your option) any later version.
|
|
21
|
+
#
|
|
22
|
+
# This program is distributed in the hope that it will be useful,
|
|
23
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
24
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
25
|
+
# GNU General Public License for more details.
|
|
26
|
+
#
|
|
27
|
+
# You should have received a copy of the GNU General Public License
|
|
28
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
29
|
+
from typing import Tuple, Callable, Union, List, Optional
|
|
30
|
+
from warnings import warn
|
|
31
|
+
|
|
32
|
+
from numba import get_num_threads
|
|
33
|
+
from numpy import ndarray, linspace, isscalar, unique, atleast_1d
|
|
34
|
+
from scipy.integrate import trapezoid
|
|
35
|
+
|
|
36
|
+
from ..ldmodel import LDModel
|
|
37
|
+
from ..numba.ldmodels import *
|
|
38
|
+
from ..transitmodel import TransitModel
|
|
39
|
+
|
|
40
|
+
from .common import create_z_grid, calculate_weights_3d
|
|
41
|
+
from .model import rrmodel
|
|
42
|
+
|
|
43
|
+
__all__ = ['RoadRunnerModel']
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class RoadRunnerModel(TransitModel):
|
|
47
|
+
ldmodels = {'uniform': (ld_uniform, ldi_uniform),
|
|
48
|
+
'linear': (ld_linear, ldi_linear),
|
|
49
|
+
'quadratic': (ld_quadratic, ldi_quadratic),
|
|
50
|
+
'quadratic-tri': (ld_quadratic_tri, ldi_quadratic_tri),
|
|
51
|
+
'nonlinear': ld_nonlinear,
|
|
52
|
+
'general': ld_general,
|
|
53
|
+
'square_root': ld_square_root,
|
|
54
|
+
'logarithmic': ld_logarithmic,
|
|
55
|
+
'exponential': ld_exponential,
|
|
56
|
+
'power-2': (ld_power_2, ldi_power_2),
|
|
57
|
+
'power-2-pm': ld_power_2_pm}
|
|
58
|
+
|
|
59
|
+
def __init__(self, ldmodel: Union[str, Callable, Tuple[Callable, Callable]] = 'quadratic',
|
|
60
|
+
precompute_weights: bool = False, klims: tuple = (0.005, 0.5), nk: int = 256,
|
|
61
|
+
nzin: int = 20, nzlimb: int = 20, zcut: float = 0.7, ng: int = 100,
|
|
62
|
+
nthreads: int = 1, small_planet_limit: float = 0.05, **kwargs):
|
|
63
|
+
"""The RoadRunner transit model by Parviainen (2020).
|
|
64
|
+
|
|
65
|
+
Parameters
|
|
66
|
+
----------
|
|
67
|
+
precompute_weights : bool, optional
|
|
68
|
+
Precompute a 3D weight table for radius ratio values set by `klims`.
|
|
69
|
+
klims : tuple, optional
|
|
70
|
+
Radius ratio limits (kmin, kmax) for the precomputed weight table.
|
|
71
|
+
nk : int, optional
|
|
72
|
+
Radius ratio grid size for the precomputed weight table.
|
|
73
|
+
nzin : int, optional
|
|
74
|
+
Normalized distance grid size for the inner disk.
|
|
75
|
+
nzlimb : int, optional
|
|
76
|
+
Normalized distance grid size for the limb.
|
|
77
|
+
zcut: float, optional
|
|
78
|
+
Normalized distance that separates the stellar disk into an inner disk and limb.
|
|
79
|
+
ng : int, optional
|
|
80
|
+
Size of the grazing value table.
|
|
81
|
+
nthreads: int, optional
|
|
82
|
+
Number of threads to use for the model computation.
|
|
83
|
+
small_planet_limit: float, optional
|
|
84
|
+
The radius ratio limit below which to use a small planet approximation.
|
|
85
|
+
"""
|
|
86
|
+
super().__init__()
|
|
87
|
+
|
|
88
|
+
if 'interpolate' in kwargs:
|
|
89
|
+
warn("The 'interpolate' argument has been replaced by 'precompute_weights' and will be removed in the future.", FutureWarning)
|
|
90
|
+
self.interpolate: bool = kwargs.get('interpolate', False)
|
|
91
|
+
else:
|
|
92
|
+
self.interpolate: bool = precompute_weights
|
|
93
|
+
|
|
94
|
+
if 'parallel' in kwargs:
|
|
95
|
+
warn("The 'parallel' argument has been replaced by 'nthreads' and will be removed in the future.", FutureWarning)
|
|
96
|
+
self.nthreads: int = get_num_threads()
|
|
97
|
+
self.parallel: bool = True
|
|
98
|
+
else:
|
|
99
|
+
self.nthreads: int = nthreads
|
|
100
|
+
self.parallel = self.nthreads > 1
|
|
101
|
+
|
|
102
|
+
self.splimit: float = small_planet_limit
|
|
103
|
+
|
|
104
|
+
# Set up the limb darkening model
|
|
105
|
+
# --------------------------------
|
|
106
|
+
if isinstance(ldmodel, str):
|
|
107
|
+
try:
|
|
108
|
+
if isinstance(self.ldmodels[ldmodel], tuple):
|
|
109
|
+
self.ldmodel = self.ldmodels[ldmodel][0]
|
|
110
|
+
self.ldmmean = self.ldmodels[ldmodel][1]
|
|
111
|
+
else:
|
|
112
|
+
self.ldmodel = self.ldmodels[ldmodel]
|
|
113
|
+
self.ldmmean = None
|
|
114
|
+
except KeyError:
|
|
115
|
+
print(
|
|
116
|
+
f"Unknown limb darkening model: {ldmodel}. Choose from [{', '.join(self.ldmodels.keys())}] or supply a callable function.")
|
|
117
|
+
raise
|
|
118
|
+
elif isinstance(ldmodel, LDModel):
|
|
119
|
+
self.ldmodel = ldmodel
|
|
120
|
+
self.ldmmean = ldmodel._integrate
|
|
121
|
+
elif callable(ldmodel):
|
|
122
|
+
self.ldmodel = ldmodel
|
|
123
|
+
self.ldmmean = None
|
|
124
|
+
elif isinstance(ldmodel, tuple) and callable(ldmodel[0]) and callable(ldmodel[1]):
|
|
125
|
+
self.ldmodel = ldmodel[0]
|
|
126
|
+
self.ldmmean = ldmodel[1]
|
|
127
|
+
else:
|
|
128
|
+
raise NotImplementedError
|
|
129
|
+
|
|
130
|
+
# Set the basic variable
|
|
131
|
+
# ----------------------
|
|
132
|
+
self.klims = klims
|
|
133
|
+
self.nk = nk
|
|
134
|
+
self.ng = ng
|
|
135
|
+
self.nzin = nzin
|
|
136
|
+
self.nzlimb = nzlimb
|
|
137
|
+
self.zcut = zcut
|
|
138
|
+
|
|
139
|
+
# Declare the basic arrays
|
|
140
|
+
# ------------------------
|
|
141
|
+
self.ze = None
|
|
142
|
+
self.zm = None
|
|
143
|
+
self.mu = None
|
|
144
|
+
self.dk = None
|
|
145
|
+
self.dg = None
|
|
146
|
+
self.weights = None
|
|
147
|
+
|
|
148
|
+
self._ldmu = linspace(1, 0, 200)
|
|
149
|
+
self._ldz = sqrt(1 - self._ldmu ** 2)
|
|
150
|
+
|
|
151
|
+
self.init_integration(nzin, nzlimb, zcut, ng, nk)
|
|
152
|
+
|
|
153
|
+
def set_data(self, time: Union[ndarray, List],
|
|
154
|
+
lcids: Optional[Union[ndarray, List]] = None,
|
|
155
|
+
pbids: Optional[Union[ndarray, List]] = None,
|
|
156
|
+
nsamples: Optional[Union[ndarray, List]] = None,
|
|
157
|
+
exptimes: Optional[Union[ndarray, List]] = None,
|
|
158
|
+
epids: Optional[Union[ndarray, List]] = None) -> None:
|
|
159
|
+
super().set_data(time, lcids, pbids, nsamples, exptimes, epids)
|
|
160
|
+
self.nep = unique(self.epids).size
|
|
161
|
+
|
|
162
|
+
def init_integration(self, nzin, nzlimb, zcut, ng, nk):
|
|
163
|
+
self.nk = nk
|
|
164
|
+
self.ng = ng
|
|
165
|
+
self.nzin = nzin
|
|
166
|
+
self.nzlimb = nzlimb
|
|
167
|
+
self.zcut = zcut
|
|
168
|
+
self.ze, self.zm = create_z_grid(zcut, nzin, nzlimb)
|
|
169
|
+
self.mu = sqrt(1 - self.zm ** 2)
|
|
170
|
+
self.dk, self.dg, self.weights = calculate_weights_3d(nk, self.klims[0], self.klims[1], self.ze, ng)
|
|
171
|
+
|
|
172
|
+
def evaluate(self, k: Union[float, ndarray], ldc: Union[ndarray, List],
|
|
173
|
+
t0: Union[float, ndarray], p: Union[float, ndarray], a: Union[float, ndarray],
|
|
174
|
+
i: Union[float, ndarray], e: Union[float, ndarray] = 0.0, w: Union[float, ndarray] = 0.0,
|
|
175
|
+
copy: bool = True) -> ndarray:
|
|
176
|
+
"""Evaluate the transit model for a set of scalar or vector parameters.
|
|
177
|
+
|
|
178
|
+
Parameters
|
|
179
|
+
----------
|
|
180
|
+
k
|
|
181
|
+
Radius ratio(s) either as a single float, 1D vector, or 2D array.
|
|
182
|
+
ldc
|
|
183
|
+
Limb darkening coefficients as a 1D or 2D array.
|
|
184
|
+
t0
|
|
185
|
+
Transit center(s) as a float or a 1D vector.
|
|
186
|
+
p
|
|
187
|
+
Orbital period(s) as a float or a 1D vector.
|
|
188
|
+
a
|
|
189
|
+
Orbital semi-major axis (axes) divided by the stellar radius as a float or a 1D vector.
|
|
190
|
+
i
|
|
191
|
+
Orbital inclination(s) as a float or a 1D vector.
|
|
192
|
+
e : optional
|
|
193
|
+
Orbital eccentricity as a float or a 1D vector.
|
|
194
|
+
w : optional
|
|
195
|
+
Argument of periastron as a float or a 1D vector.
|
|
196
|
+
|
|
197
|
+
Notes
|
|
198
|
+
-----
|
|
199
|
+
The model can be evaluated either for one set of parameters or for many sets of parameters simultaneously. In
|
|
200
|
+
the first case, the orbital parameters should all be given as floats. In the second case, the orbital parameters
|
|
201
|
+
should be given as a 1D array-like.
|
|
202
|
+
|
|
203
|
+
Returns
|
|
204
|
+
-------
|
|
205
|
+
ndarray
|
|
206
|
+
Modelled flux either as a 1D or 2D ndarray.
|
|
207
|
+
"""
|
|
208
|
+
|
|
209
|
+
npv = 1 if isscalar(p) else p.size
|
|
210
|
+
ldc = atleast_1d(ldc)
|
|
211
|
+
|
|
212
|
+
if isinstance(self.ldmodel, LDModel):
|
|
213
|
+
ldp, istar = self.ldmodel(self.mu, ldc)
|
|
214
|
+
else:
|
|
215
|
+
ldp = evaluate_ld(self.ldmodel, self.mu, ldc)
|
|
216
|
+
|
|
217
|
+
if self.ldmmean is not None:
|
|
218
|
+
istar = evaluate_ldi(self.ldmmean, ldc)
|
|
219
|
+
else:
|
|
220
|
+
istar = zeros((npv, self.npb))
|
|
221
|
+
ldpi = evaluate_ld(self.ldmodel, self._ldmu, ldc)
|
|
222
|
+
for ipv in range(npv):
|
|
223
|
+
for ipb in range(self.npb):
|
|
224
|
+
istar[ipv, ipb] = 2 * pi * trapezoid(self._ldz * ldpi[ipv, ipb], self._ldz)
|
|
225
|
+
|
|
226
|
+
flux = rrmodel(self.time, k, t0, p, a, i, e, w, self.parallel,
|
|
227
|
+
self.nlc, self.npb, self.nep, self.lcids, self.pbids, self.epids, self.nsamples, self.exptimes,
|
|
228
|
+
ldp, istar, self.weights, self.dk, self.klims[0], self.klims[1], self.dg, self.ze)
|
|
229
|
+
|
|
230
|
+
return flux
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# PyTransit: fast and easy exoplanet transit modelling in Python.
|
|
2
|
+
# Copyright (C) 2010-2019 Hannu Parviainen
|
|
3
|
+
#
|
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
# (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
16
|
+
#
|
|
17
|
+
# This program is free software: you can redistribute it and/or modify
|
|
18
|
+
# it under the terms of the GNU General Public License as published by
|
|
19
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
20
|
+
# (at your option) any later version.
|
|
21
|
+
#
|
|
22
|
+
# This program is distributed in the hope that it will be useful,
|
|
23
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
24
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
25
|
+
# GNU General Public License for more details.
|
|
26
|
+
#
|
|
27
|
+
# You should have received a copy of the GNU General Public License
|
|
28
|
+
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
29
|
+
from typing import Union, List, Optional
|
|
30
|
+
|
|
31
|
+
from numpy import ndarray, isscalar, atleast_2d, atleast_1d, array
|
|
32
|
+
from pytransit.models.roadrunner.common import calculate_weights_3d
|
|
33
|
+
from scipy.integrate import trapezoid
|
|
34
|
+
|
|
35
|
+
from ..ldmodel import LDModel
|
|
36
|
+
from ..numba.ldmodels import *
|
|
37
|
+
from .rrmodel import RoadRunnerModel
|
|
38
|
+
|
|
39
|
+
from .model_trspec import tsmodel_serial, tsmodel_parallel
|
|
40
|
+
|
|
41
|
+
__all__ = ['TransmissionSpectroscopyModel']
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class TransmissionSpectroscopyModel(RoadRunnerModel):
|
|
45
|
+
|
|
46
|
+
def evaluate(self, k: Union[float, ndarray], ldc: Union[ndarray, List],
|
|
47
|
+
t0: Union[float, ndarray], p: Union[float, ndarray], a: Union[float, ndarray],
|
|
48
|
+
i: Union[float, ndarray], e: Union[float, ndarray] = 0.0, w: Union[float, ndarray] = 0.0,
|
|
49
|
+
copy: bool = True) -> ndarray:
|
|
50
|
+
"""Evaluate the transit model for a set of scalar or vector parameters.
|
|
51
|
+
|
|
52
|
+
Parameters
|
|
53
|
+
----------
|
|
54
|
+
k
|
|
55
|
+
Radius ratio(s) either as a single float, 1D vector, or 2D array.
|
|
56
|
+
ldc
|
|
57
|
+
Limb darkening coefficients as a 1D or 2D array.
|
|
58
|
+
t0
|
|
59
|
+
Transit center(s) as a float or a 1D vector.
|
|
60
|
+
p
|
|
61
|
+
Orbital period(s) as a float or a 1D vector.
|
|
62
|
+
a
|
|
63
|
+
Orbital semi-major axis (axes) divided by the stellar radius as a float or a 1D vector.
|
|
64
|
+
i
|
|
65
|
+
Orbital inclination(s) as a float or a 1D vector.
|
|
66
|
+
e : optional
|
|
67
|
+
Orbital eccentricity as a float or a 1D vector.
|
|
68
|
+
w : optional
|
|
69
|
+
Argument of periastron as a float or a 1D vector.
|
|
70
|
+
|
|
71
|
+
Notes
|
|
72
|
+
-----
|
|
73
|
+
The model can be evaluated either for one set of parameters or for many sets of parameters simultaneously. In
|
|
74
|
+
the first case, the orbital parameters should all be given as floats. In the second case, the orbital parameters
|
|
75
|
+
should be given as a 1D array-like.
|
|
76
|
+
|
|
77
|
+
Returns
|
|
78
|
+
-------
|
|
79
|
+
ndarray
|
|
80
|
+
Modelled flux either as a 1D or 2D ndarray.
|
|
81
|
+
"""
|
|
82
|
+
k = atleast_2d(k)
|
|
83
|
+
ldc = atleast_2d(ldc)
|
|
84
|
+
t0, p, a, i, e, w = map(atleast_1d, (t0, p, a, i, e, w))
|
|
85
|
+
npv = k.shape[0]
|
|
86
|
+
|
|
87
|
+
# Limb darkening
|
|
88
|
+
# --------------
|
|
89
|
+
ldc = array(ldc)
|
|
90
|
+
if npv > 1 and ldc.ndim != 3:
|
|
91
|
+
raise ValueError("""The limb darkening parameters (ldp) should be given as a 3D array with shape [npv, npb, nldp]
|
|
92
|
+
when evaluating the model for a set of parameters (npv > 1).""")
|
|
93
|
+
if ldc.ndim == 1:
|
|
94
|
+
ldc = ldc.reshape((1, 1, ldc.shape[1]))
|
|
95
|
+
elif ldc.ndim == 2:
|
|
96
|
+
ldc = ldc.reshape((1, ldc.shape[0], ldc.shape[1]))
|
|
97
|
+
elif ldc.ndim == 3:
|
|
98
|
+
pass
|
|
99
|
+
else:
|
|
100
|
+
raise ValueError()
|
|
101
|
+
self.npb = npb = ldc.shape[1]
|
|
102
|
+
|
|
103
|
+
if isinstance(self.ldmodel, LDModel):
|
|
104
|
+
ldp, istar = self.ldmodel(self.mu, ldc)
|
|
105
|
+
else:
|
|
106
|
+
ldp = evaluate_ld(self.ldmodel, self.mu, ldc)
|
|
107
|
+
|
|
108
|
+
if self.ldmmean is not None:
|
|
109
|
+
istar = evaluate_ldi(self.ldmmean, ldc)
|
|
110
|
+
else:
|
|
111
|
+
istar = zeros((npv, npb))
|
|
112
|
+
ldpi = evaluate_ld(self.ldmodel, self._ldmu, ldc)
|
|
113
|
+
for ipv in range(npv):
|
|
114
|
+
for ipb in range(npb):
|
|
115
|
+
istar[ipv, ipb] = 2 * pi * trapezoid(self._ldz * ldpi[ipv, ipb], self._ldz)
|
|
116
|
+
|
|
117
|
+
if self.interpolate:
|
|
118
|
+
dk, dg, weights = self.dk, self.dg, self.weights
|
|
119
|
+
else:
|
|
120
|
+
dk, dg, weights = None, None, None
|
|
121
|
+
|
|
122
|
+
if self.parallel:
|
|
123
|
+
flux = tsmodel_parallel(self.time, k, t0, p, a, i, e, w, self.nsamples, self.exptimes,
|
|
124
|
+
ldp, istar, weights, dk, self.klims[0], self.klims[1], self.ng, dg, self.ze,
|
|
125
|
+
self.nthreads)
|
|
126
|
+
else:
|
|
127
|
+
flux = tsmodel_serial(self.time, k, t0, p, a, i, e, w, self.nsamples, self.exptimes,
|
|
128
|
+
ldp, istar, weights, dk, self.klims[0], self.klims[1], self.ng, dg, self.ze)
|
|
129
|
+
|
|
130
|
+
return flux.squeeze()
|
|
131
|
+
|
|
132
|
+
def __call__(self, k: Union[float, ndarray], ldc: Union[ndarray, List],
|
|
133
|
+
t0: Union[float, ndarray], p: Union[float, ndarray], a: Union[float, ndarray],
|
|
134
|
+
i: Union[float, ndarray], e: Union[float, ndarray] = 0.0, w: Union[float, ndarray] = 0.0,
|
|
135
|
+
copy: bool = True) -> ndarray:
|
|
136
|
+
return self.evaluate(k, ldc, t0, p, a, i, e, w, copy)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytransit-2.6.6 → pytransit-2.6.7}/pytransit/lpf/loglikelihood/multiceleriteloglikelihood.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|