ExoIris 0.23.2__tar.gz → 1.1.0__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.
- {exoiris-0.23.2 → exoiris-1.1.0}/.github/workflows/python-package.yml +1 -1
- {exoiris-0.23.2 → exoiris-1.1.0}/CHANGELOG.md +29 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/ExoIris.egg-info/PKG-INFO +1 -1
- {exoiris-0.23.2 → exoiris-1.1.0}/ExoIris.egg-info/SOURCES.txt +6 -1
- {exoiris-0.23.2 → exoiris-1.1.0}/PKG-INFO +1 -1
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/requirements.txt +2 -1
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/api/exoiris.rst +54 -4
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/api/tsdata.rst +1 -1
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/01a_not_so_short_intro.ipynb +114 -169
- exoiris-1.1.0/doc/source/examples/e01/02_increasing_knot_resolution.ipynb +488 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/setup_multiprocessing.py +4 -5
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/index.rst +2 -0
- exoiris-1.1.0/exoiris/bin1d.py +97 -0
- exoiris-1.1.0/exoiris/bin2d.py +218 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/exoiris.py +30 -42
- exoiris-1.1.0/exoiris/lmlikelihood.py +172 -0
- exoiris-1.1.0/exoiris/prtretrieval.py +164 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/spotmodel.py +4 -4
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/tsdata.py +85 -5
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/tslpf.py +103 -33
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/util.py +1 -69
- exoiris-1.1.0/tests/test_binning.py +300 -0
- exoiris-1.1.0/tests/test_import.py +123 -0
- exoiris-0.23.2/doc/source/examples/e01/02_increasing_knot_resolution.ipynb +0 -472
- exoiris-0.23.2/tests/test_binning.py +0 -50
- {exoiris-0.23.2 → exoiris-1.1.0}/.gitignore +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/.readthedocs.yaml +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/CODE_OF_CONDUCT.md +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/ExoIris.egg-info/dependency_links.txt +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/ExoIris.egg-info/requires.txt +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/ExoIris.egg-info/top_level.txt +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/LICENSE +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/README.md +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/Makefile +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/make.bat +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/_static/css/custom.css +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/api/binning.rst +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/conf.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/01b_short_intro.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/03_increasing_data_resolution.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/04_gaussian_processes.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/05a_ldtkldm.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/A2_full_data_resolution.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/appendix_1_data_preparation.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/data/README.txt +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/data/nirHiss_order_1.h5 +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/data/nirHiss_order_2.h5 +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/example1.png +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/e01/plot_1.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/figures.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/friendly_introduction.ipynb +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/index.rst +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/examples/k_knot_example.svg +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/doc/source/install.rst +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/__init__.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/binning.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/ephemeris.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/ldtkld.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/loglikelihood.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/tsmodel.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/exoiris/wlpf.py +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/pyproject.toml +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/requirements.txt +0 -0
- {exoiris-0.23.2 → exoiris-1.1.0}/setup.cfg +0 -0
|
@@ -5,6 +5,35 @@ All notable changes to ExoIris will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.1.0] - Unreleased
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Added `TSData.create_white_light_curve()` method for creating white light curves with weighted averaging.
|
|
12
|
+
- Added `white_profiled` and `white_marginalized` noise model options in TSLPF:
|
|
13
|
+
- `white_profiled` (default): computes likelihood with baseline coefficients estimated via least-squares profiling
|
|
14
|
+
- `white_marginalized`: uses analytically marginalized log-likelihood that integrates out baseline coefficients
|
|
15
|
+
- Added `TSData.bin()` method for combined wavelength and time binning.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- Several minor bugs.
|
|
19
|
+
|
|
20
|
+
## [1.0.0] - 2026-01-28
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- Added support for setting custom interpolation models for limb darkening via `set_limb_darkening_interpolator` method.
|
|
24
|
+
- Added support for setting custom interpolation models for radius ratios via `set_radius_ratio_interpolator` method.
|
|
25
|
+
- Added ability to set priors for offset parameters in the analysis workflow.
|
|
26
|
+
- Added interpolation type tracking in FITS header metadata (`INTERP_LD` for limb darkening interpolation).
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Improved reinitialization logic for MCMC and differential evolution populations with updated limb darkening coefficients and knots.
|
|
30
|
+
- Refactored interpolation handling in `TSLPF` to separately manage radius ratio and limb darkening interpolators.
|
|
31
|
+
- Updated documentation for API methods and workflow.
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
- Fixed incorrect FWHM scaling in `spot_model` function. The scaling factor now correctly uses `log(4)^(1/shape)` for
|
|
35
|
+
proper full width at half maximum calculations in generalized Gaussian spot models.
|
|
36
|
+
|
|
8
37
|
## [0.23.1] - 2025-12-18
|
|
9
38
|
|
|
10
39
|
### Fixed
|
|
@@ -41,15 +41,20 @@ doc/source/examples/e01/data/README.txt
|
|
|
41
41
|
doc/source/examples/e01/data/nirHiss_order_1.h5
|
|
42
42
|
doc/source/examples/e01/data/nirHiss_order_2.h5
|
|
43
43
|
exoiris/__init__.py
|
|
44
|
+
exoiris/bin1d.py
|
|
45
|
+
exoiris/bin2d.py
|
|
44
46
|
exoiris/binning.py
|
|
45
47
|
exoiris/ephemeris.py
|
|
46
48
|
exoiris/exoiris.py
|
|
47
49
|
exoiris/ldtkld.py
|
|
50
|
+
exoiris/lmlikelihood.py
|
|
48
51
|
exoiris/loglikelihood.py
|
|
52
|
+
exoiris/prtretrieval.py
|
|
49
53
|
exoiris/spotmodel.py
|
|
50
54
|
exoiris/tsdata.py
|
|
51
55
|
exoiris/tslpf.py
|
|
52
56
|
exoiris/tsmodel.py
|
|
53
57
|
exoiris/util.py
|
|
54
58
|
exoiris/wlpf.py
|
|
55
|
-
tests/test_binning.py
|
|
59
|
+
tests/test_binning.py
|
|
60
|
+
tests/test_import.py
|
|
@@ -64,9 +64,25 @@ transmission spectrum, and even the observational data can be changed to improve
|
|
|
64
64
|
ExoIris.set_data
|
|
65
65
|
ExoIris.set_radius_ratio_knots
|
|
66
66
|
ExoIris.add_radius_ratio_knots
|
|
67
|
+
ExoIris.set_limb_darkening_knots
|
|
68
|
+
ExoIris.free_radius_ratio_knot_locations
|
|
67
69
|
ExoIris.create_dense_radius_ratio_block
|
|
68
70
|
ExoIris.plot_setup
|
|
69
71
|
|
|
72
|
+
Interpolation configuration
|
|
73
|
+
---------------------------
|
|
74
|
+
|
|
75
|
+
ExoIris uses interpolation to model the wavelength-dependent radius ratio and limb darkening
|
|
76
|
+
parameters. The interpolation method can be customized to balance smoothness against fidelity to the
|
|
77
|
+
data. Available interpolators include: ``nearest``, ``linear``, ``pchip``, ``makima``, ``bspline``,
|
|
78
|
+
``bspline-quadratic``, and ``bspline-cubic``.
|
|
79
|
+
|
|
80
|
+
.. autosummary::
|
|
81
|
+
:toctree: api/
|
|
82
|
+
|
|
83
|
+
ExoIris.set_radius_ratio_interpolator
|
|
84
|
+
ExoIris.set_limb_darkening_interpolator
|
|
85
|
+
|
|
70
86
|
Parameterization and priors
|
|
71
87
|
---------------------------
|
|
72
88
|
|
|
@@ -83,10 +99,11 @@ Noise model setup
|
|
|
83
99
|
-----------------
|
|
84
100
|
|
|
85
101
|
The noise in the spectroscopic light curves can be modeled as either white noise or time-correlated noise
|
|
86
|
-
(using a Gaussian process, GP). The noise model is chosen with the `ExoIris.
|
|
87
|
-
set to
|
|
88
|
-
using the `celerite2` package
|
|
89
|
-
|
|
102
|
+
(using a Gaussian process, GP). The noise model is chosen with the `ExoIris.set_noise_model` method, and can be
|
|
103
|
+
set to ``"white"``, ``"fixed_gp"``, or ``"free_gp"``. Selecting ``"fixed_gp"`` models the noise as a time-correlated
|
|
104
|
+
Gaussian process using the `celerite2` package with fixed hyperparameters, while ``"free_gp"`` allows the GP
|
|
105
|
+
hyperparameters to be sampled as free parameters. The corresponding `celerite2.GaussianProcess` object can be
|
|
106
|
+
accessed directly via the `ExoIris.gp` attribute.
|
|
90
107
|
|
|
91
108
|
.. autosummary::
|
|
92
109
|
:toctree: api/
|
|
@@ -98,6 +115,23 @@ via the `ExoIris.gp` attribute.
|
|
|
98
115
|
ExoIris.gp
|
|
99
116
|
ExoIris.plot_white_gp_predictions
|
|
100
117
|
|
|
118
|
+
Star spot modeling
|
|
119
|
+
------------------
|
|
120
|
+
|
|
121
|
+
ExoIris supports modeling of star spot crossings during transit and the Transit Light Source Effect (TLSE).
|
|
122
|
+
Star spots can cause both localized bumps in the light curve (when the planet occults a spot) and
|
|
123
|
+
wavelength-dependent baseline variations (TLSE) due to the inhomogeneous stellar surface.
|
|
124
|
+
|
|
125
|
+
To use spot modeling, first initialize the spot model with `ExoIris.initialize_spots`, then add spots
|
|
126
|
+
for specific epoch groups using `ExoIris.add_spot`.
|
|
127
|
+
|
|
128
|
+
.. autosummary::
|
|
129
|
+
:toctree: api/
|
|
130
|
+
|
|
131
|
+
ExoIris.initialize_spots
|
|
132
|
+
ExoIris.add_spot
|
|
133
|
+
ExoIris.nspots
|
|
134
|
+
|
|
101
135
|
|
|
102
136
|
First steps
|
|
103
137
|
-----------
|
|
@@ -155,12 +189,27 @@ Pandas `~pandas.DataFrame`.
|
|
|
155
189
|
:toctree: api/
|
|
156
190
|
|
|
157
191
|
ExoIris.transmission_spectrum
|
|
192
|
+
ExoIris.transmission_spectrum_table
|
|
158
193
|
ExoIris.posterior_samples
|
|
159
194
|
ExoIris.plot_fit
|
|
160
195
|
ExoIris.plot_transmission_spectrum
|
|
161
196
|
ExoIris.plot_residuals
|
|
162
197
|
ExoIris.plot_limb_darkening_parameters
|
|
163
198
|
|
|
199
|
+
Atmospheric retrieval
|
|
200
|
+
---------------------
|
|
201
|
+
|
|
202
|
+
ExoIris provides tools for atmospheric retrieval by creating a log-likelihood function that can be
|
|
203
|
+
used with external retrieval codes. The `ExoIris.create_loglikelihood_function` method returns a
|
|
204
|
+
callable that evaluates the log-likelihood for a given transmission spectrum model, accounting for
|
|
205
|
+
the full covariance structure of the data.
|
|
206
|
+
|
|
207
|
+
.. autosummary::
|
|
208
|
+
:toctree: api/
|
|
209
|
+
|
|
210
|
+
ExoIris.create_loglikelihood_function
|
|
211
|
+
ExoIris.transmission_spectrum_samples
|
|
212
|
+
|
|
164
213
|
Utility methods
|
|
165
214
|
---------------
|
|
166
215
|
|
|
@@ -186,6 +235,7 @@ The following properties expose key internal states and parameters of the analys
|
|
|
186
235
|
ExoIris.nk
|
|
187
236
|
ExoIris.nldp
|
|
188
237
|
ExoIris.npb
|
|
238
|
+
ExoIris.nspots
|
|
189
239
|
ExoIris.ldmodel
|
|
190
240
|
ExoIris.sampler
|
|
191
241
|
ExoIris.optimizer
|