Skip to content

Commit 13bd115

Browse files
authored
Merge pull request #1244 from rzellem/develop
Stellar variability, comp star scraping, plate solution updates and various EXOTIC fixes
2 parents 78c81e8 + bcd966a commit 13bd115

20 files changed

+3675
-475
lines changed

.github/workflows/python-publish.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout code
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 0
1919
- name: Set up Python
20-
uses: actions/setup-python@v4
20+
uses: actions/setup-python@v5
2121
with:
22-
python-version: '3.9'
22+
python-version: '3.10'
2323
- name: Upgrade tooling
2424
run: |
2525
python3 -m pip install --upgrade pip

examples/README.md

+83-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
This repository contains examples of how to use the EXOTIC software to perform a variety of tasks related to exoplanet transit science. The package is designed to be used with FITS images, photometric data, radial velocity data, and ephemeris data. The examples below are organized by the type of data used in the analysis.
44

5-
65
## [Programmatic Access to Exoplanet Watch Results](Exoplanet_Watch_API.ipynb)
76

87
Download parameters that are derived from photometric data and light curves for a given target. Over 350 targets and 5000 publicly available light curves from ground-based and space-based telescopes.
@@ -22,7 +21,6 @@ Start from a photometric timeseries and derive transit parameters like planetary
2221
![](single_transit/bestfit.png)
2322
![](single_transit/triangle.png)
2423

25-
2624
## Fit multiple light curves simultaneously with shared and individual parameters
2725

2826
- [Simultaneous airmass detrending](multiple_transit/Multiple_Lightcurve_fit.ipynb) (more robust but takes much longer)
@@ -32,12 +30,9 @@ Start from a photometric timeseries and derive transit parameters like planetary
3230
The notebooks above are also compatible with TESS data! Just don't include an `a2` parameter for airmass detrending in the local bounds.
3331

3432
![](multiple_transit/glc_fit.png)
35-
3633
![](multiple_transit/glc_mosaic.png)
3734

3835

39-
## [TESS light curve generation](tess.py)
40-
4136
![](tess/2458415_06_wasp-77ab_lightcurve.png)
4237

4338
## [Ephemeris fitting](ephemeris/fit_ephemeris.py)
@@ -62,7 +57,90 @@ The notebooks above are also compatible with TESS data! Just don't include an `a
6257

6358
![](radial_velocity/RV_bestfit.png)
6459

60+
## [Joint Fit of Transit Photometry, Radial Velocity, and Ephemeris data (transit/eclipse times)](joint_rv_transit/joint_fit.py)
61+
62+
![](joint_rv_transit/joint_posterior.png)
6563

6664
## [Joint Fit of Transit Photometry, Radial Velocity, and Ephemeris data (transit/eclipse times)](joint_rv_transit/joint_fit.py)
6765

6866
![](joint_rv_transit/joint_posterior.png)
67+
68+
## [for_exotic_py_candidate_inits_maker.py](tess/candidates/for_exotic_py_candidate_inits_maker.py)
69+
70+
This script automates and enhances the process of generating initialization (inits) JSON files for candidate exoplanets specifically for use with exotic.py. It streamlines the preparation of inits files by interacting with the ExoFOP database and organizing the output data for easy integration with the EXOTIC pipeline.
71+
72+
Key Features:
73+
74+
Automated JSON File Download: Prompts the user to input a TIC ID, then automatically downloads the corresponding JSON file from ExoFOP.
75+
Data Extraction and CSV Generation: Extracts relevant stellar and planetary parameters from the downloaded JSON files and compiles them into a comprehensive CSV file.
76+
Inits JSON File Creation: Generates a JSON inits file tailored for use with exotic.py, with options to estimate missing parameters if necessary.
77+
Directory Management: Organizes the storage of output files by dynamically creating directories for each TIC ID and candidate designation, ensuring consistent and clean file management.
78+
File Location:
79+
/EXOTIC/examples/tess/candidates/
80+
The generated output files will be located in:
81+
/EXOTIC/examples/tess/candidates/output_inits_files/for_exotic_py_candidate_inits_output_files/{tic_id}_file/{candidate_designation}_inits.json
82+
83+
84+
## [for_toi_py_candidate_inits_maker.py](tess/candidates/for_toi_py_candidate_inits_maker.py)
85+
86+
This script enhances the generation of initialization (inits) JSON files specifically for use with toi.py and toi_indiv_lc.py. It automates the process by interacting with ExoFOP, organizing the output data, and streamlining the preparation of inits files.
87+
88+
Key Features:
89+
90+
Automated JSON File Download: Prompts the user to input a TIC ID and downloads the corresponding JSON file from ExoFOP.
91+
Data Extraction and CSV Generation: Extracts and compiles relevant stellar and planetary parameters into a comprehensive CSV file.
92+
Directory Management: Dynamically organizes output files for each TIC ID and candidate designation, ensuring consistent and clean file management.
93+
File Location:
94+
95+
The generated output files will be located in:
96+
/EXOTIC/examples/tess/candidates/output_inits_files/for_toi_py_candidate_inits_output_files/{tic_id}_file/{candidate_designation}_inits.json
97+
TESS Light Curve Analysis
98+
99+
100+
## [toi.py](tess/candidates/toi.py)
101+
This script is used to process and analyze TESS light curve data for candidate exoplanets. It automates the process of downloading, fitting, and analyzing transit data. It is a modification from the script tess.py.
102+
103+
Key Features:
104+
105+
Automated Data Handling: Downloads and processes light curve data from TESS based on the provided initialization file (can be created with "for_toi_py_candidate_inits_maker.py").
106+
Transit Fitting: Performs transit fitting and analysis using the provided parameters, generating visual and data outputs.
107+
Output Management: Saves the results, including processed light curves and fitting results, in the specified output directory.
108+
Usage:
109+
To run the script:
110+
111+
Navigate to the directory containing the script:
112+
cd /EXOTIC/examples/tess/candidates
113+
Run the script with the following command:
114+
python toi.py -i <input_inits_file_path> -o <output_directory_path>
115+
116+
117+
118+
119+
## [toi_indiv_lc.py](tess/candidates/toi_indiv_lc.py)
120+
This script is used to process and analyze TESS light curve data for candidate exoplanets. Unlike toi.py, which performs a global fit, toi_indiv_lc.py focuses on fitting individual light curves using the priors from an existing initialization file.
121+
122+
Key Features:
123+
124+
Automated Data Handling: Downloads and processes light curve data from TESS based on the provided initialization file (can be created with for_toi_py_candidate_inits_maker.py).
125+
Transit Fitting: Uses provided priors to perform transit fitting and analysis on individual light curves, generating visual and data outputs without performing a global fit.
126+
Output Management: Saves the results, including processed light curves and fitting results, in the specified output directory.
127+
Usage:
128+
To run the script:
129+
130+
Navigate to the directory containing the script:
131+
cd /EXOTIC/examples/tess/candidates
132+
Run the script with the following command:
133+
python toi_indiv_lc.py -i <input_inits_file_path> -o <output_directory_path>
134+
Example:
135+
136+
python toi_indiv_lc.py -i input_inits.json -o output_results/
137+
138+
139+
140+
## [TESS light curve generation](tess/tess_individ_lc.py)
141+
142+
The `tess_individ_lc.py` script allows for the extraction and fitting of individual exoplanet transits from TESS data without performing a global fit. This script is beneficial for users needing quicker access to individual light curve data for joint fit or individual light curve analysis with other Python tools like EXOTIC example notebooks.
143+
144+
- **Works with confirmed exoplanets.**
145+
- **Created from `tess.py`. In `tess.py`, the global fit is performed first, and the derived parameters are used as priors in the individual fits. In `tess_individ_lc.py`, the NEA priors are used instead, potentially giving slightly different results.**
146+
- **Outputs go to `tess/tess_individ_lc_output` folder.**

0 commit comments

Comments
 (0)