Planetplanet
A general photodynamical code for exoplanet light curves
Install / Use
/learn @rodluger/PlanetplanetREADME
Overview
planetplanet is a general photodynamical code for modeling exoplanet transits, secondary eclipses, phase curves, and exomoons, as well as eclipsing binaries, circumbinary planets, and more. The code was originally developed to model planet-planet occultation (PPO) light curves for the TRAPPIST-1 system. During a PPO, a planet
occults (transits) the disk of another planet in the same planetary system, blocking its thermal
(and reflected) light, which can be measured photometrically by a distant observer.
planetplanet is coded in C and wrapped in a user-friendly Python interface. Once installed, generating light curves is as easy as
import planetplanet as pp
import numpy as np
import matplotlib.pyplot as pl
star = pp.Star('A', m = 0.1, r = 0.1, limbdark = [0.4, 0.26])
planet = pp.Planet('b', m = 1, r = 1, t0 = 0., per = 3.)
system = pp.System(star, planet)
time = np.arange(-1., 1., 0.0001)
system.compute(time)
system.plot_occultation('A', time = 0)
pl.show()
<div align="center">
<img src="https://rodluger.github.io/misc/transit.gif" alt="Exoplanet transit light curve" width="500px">
</div>
Please check out the documentation or read the paper for more information.
Installation
The planetplanet code is now pip-installable:
pip install planetplanet
Alternatively, to install from source:
git clone git@github.com:rodluger/planetplanet.git
cd planetplanet
git submodule init && git submodule update
python setup.py develop
Note that you may need to install the GNU Scientific Library. On a Mac, it's as simple as
brew install gsl
Just for fun
Here's a an example of a planet-planet occultation [code]:
<div align="center"> <img src="https://rodluger.github.io/misc/ppo.gif" alt="Planet-planet occultation" width="500px"> </div>And here's a wacky example of a transit of a circumbinary exomoon [code]:
<div align="center"> <img src="https://rodluger.github.io/misc/cbexomoon.gif" alt="Circumbinary exomoon" width="500px"> </div>Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
