Exoplanet Calculator 🪐
This calculator uses host star and orbital parameters from the literature to self-consistently calculate derived values used for estimating the observed signal (ΔD) produced by its planet's atmosphere.
For proper rendering of unicode symbols, we recommend using either Chrome of Firefox to view this webpage. The source code for this page is available here.
Literature values
Reference values from NASA Exoplanet Archive
x
# Input params from studies to explore
studies = [
Study(
name = "WASP-43/b: Weaver et al. (2020)",
μ = 2.0*amu,
α = 0.0 ± 0.0,
i = (1.433 ± 0.1)u"rad",
P = (0.813473978 ± 3.5e-8)u"d",
Tₛ = (4520 ± 120)u"K",
Rₛ = (0.667 ± 0.010)u"Rsun",
aRₛ = 4.872 ± 0.14,
Mₛ = (0.717 ± 0.025)u"Msun",
Tₚ = (1440.0 ± 40.0)u"K",
Mₚ = (2.052 ± 0.053)u"Mjup",
K = (551.7 ± 4.7)u"m/s",
Rₚ = (1.036 ± 0.012)u"Rjup",
),
Study(
name = "HAT-P-23/b: Ciceri et al. (2015)",
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (368.5 ± 17.6)u"m/s",
i = (85.74 ± 0.95)u"°",
P = (1.21288287 ± 0.00000017)u"d",
RₚRₛ = 0.11616 ± 0.00081,
Tₛ = (5885.0 ± 72.0)u"K",
Rₛ = (1.089 ± 0.028)u"Rsun",
aRₛ = (4.5459 ± 0.0919),
),
Study(
name = "HAT-P-23/b: Sada & Ramón-Fox (2016)",
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (346.0 ± 21.0)u"m/s", # latest RV data, from B17
i = (85.1 ± 1.5)u"°", # latest RV data, from B17
P = (1.212880 ± 0.000002)u"d", # latest transit data: (S&R16)
RₚRₛ = 0.1113 ± 0.0010, # latest transit data: (S&R16)
Tₛ = (5905.0 ± 80.0)u"K",
Rₛ = (0.960±0.200)u"Rsun",
aRₛ = 4.26 ± 0.14,
),
Study(
name = "HAT-P-23/b: Stassun et al. (2017, GAIA DR1)",
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (368.5 ± 17.6)u"m/s",
i = (85.1 ± 1.5)u"°",
P = (1.212880 ± 0.000002)u"d",
RₚRₛ = 0.1113 ± 0.0010,
Tₛ = (5905.0 ± 80.0)u"K",
ρₛ = (0.92 ± 0.18)u"g/cm^3",
Rₛ = (0.960 ± 0.200)u"Rsun",
),
Study(
name = "HAT-P-23/b: GAIA DR2",
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (346.0 ± 21.0)u"m/s", # latest RV data, from B17
i = (85.1 ± 1.5)u"°", # latest RV data, from B17
P = (1.2128867 ± 0.0000002)u"d", # latest transit data: (S&R16)
RₚRₛ = 0.1113 ± 0.0010, # latest transit data: (S&R16)
Tₛ = (5734.0 ± 100.0)u"K",
Rₛ = (1.1858169 ± 0.0424133)u"Rsun",
Lₛ = (10.0^(0.13656067 ± 0.00864667))u"Lsun",
#Mₚ = (1.34 ± 0.59)u"Mjup", # DR1 mass, gives inconsistent ΔD=550ppm result
aRₛ = (4.26 ± 0.14), # latest transit data: (S&R16)
),
Study(
name = "HAT-P-23/b: TICv8",
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (346.0 ± 21.0)u"m/s", # latest RV data, from B17
i = (85.1 ± 1.5)u"°", # latest RV data, from B17
P = (1.2128867 ± 0.0000002)u"d", # latest transit data: (S&R16)
RₚRₛ = 0.1113 ± 0.0010, # latest transit data: (S&R16)
Tₛ = (5918.230 ± 136.811)u"K",
Rₛ = (1.1517600 ± 0.0596583)u"Rsun",
ρₛ = (0.99471000 ± 0.23240140)u"g/cm^3",
Mₛ = (1.078000 ± 0.136618)u"Msun",
Lₛ = (10.0^(0.1661873 ± 0.0191600))u"Lsun",
gₛ = (10.0^(4.3479600 ± 0.0819789))u"cm/s^2",
),
Study(
name = "HAT-P-23/b: Set 1 (Gaia DR1)",
# Weaver et al. (2020)
i = (83.6 ± 0.3)u"°",
P = (1.21289 ± 3.73975e-8)u"d",
RₚRₛ = 0.11390 ± 0.0010,
#ρₛ = (1.016 ± 0.0286)u"g/cm^3",
# Literature/Fixed parameter inputs
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (346.0 ± 21.0)u"m/s", # latest RV data, from B17
Tₛ = (5905.0 ± 80.0)u"K", # GAIA DR1
Rₛ = (0.960 ± 0.200)u"Rsun", # GAIA DR1
ρₛ = (0.92 ± 0.18)u"g/cm^3", # GAIA DR1
),
Study(
name = "HAT-P-23/b: Set 2 (TICv8)",
# Weaver et al. (2020)
i = (83.6 ± 0.3)u"°",
P = (1.21289 ± 3.73975e-8)u"d",
RₚRₛ = 0.11390 ± 0.0010,
#ρₛ = (1.016 ± 0.0286)u"g/cm^3",
# Literature/Fixed parameter inputs
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (346.0 ± 21.0)u"m/s", # latest RV data, from B17
Tₛ = (5918.230 ± 136.811)u"K", # TICv8 (DR2)
Rₛ = (1.1517600 ± 0.0596583)u"Rsun", # TICv8 (DR2)
ρₛ = (0.99471000 ± 0.23240140)u"g/cm^3", # TICv8 (DR2)
),
Study(
name = "WASP-50b: Chakrabarty & Sengupta (2019)",
i = (84.88 ± 0.27)u"°",
P = (1.955100 ± 0.000005)u"d",
RₚRₛ = 0.1390 ± 0.0006,
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (256.6 ± 4.4)u"m/s",
Tₛ = (5400 ± 100)u"K",
Rₛ = (0.843 ± 0.031)u"Rsun",
aRₛ = 7.51 ± 0.10,
),
Study(
name = "WASP-50b: C&S 2019 + TICv8",
i = (84.88 ± 0.27)u"°",
P = (1.955100 ± 0.000005)u"d",
RₚRₛ = 0.1390 ± 0.0006,
μ = 2.0*amu,
α = 0.0 ± 0.0,
K = (256.6 ± 4.4)u"m/s",
Tₛ = (5518.0000 ± 128.3340)u"K", # TICv8
Rₛ = (0.8734180 ± 0.0453186)u"Rsun", # TICv8
ρₛ = (2.0503245 + 0.4676309)u"g/cm^3", # TICv8 (not self consistent)
#Mₛ = (0.96900000 ± 0.14486300)u"Msun", # TICv8
),
];
Results
Scroll to see more:
WASP-43/b: Weaver et al. (2020):
Star Params
Rₛ(Rₛ) = 0.667 ± 0.01 R⊙
Mₛ(Mₛ) = 0.717 ± 0.025 M⊙
Tₛ(Tₛ) = 4520.0 ± 120.0 K
Lₛ(Tₛ, Rₛ) = 0.167 ± 0.018 L⊙
ρₛ(Mₛ, Rₛ) = 3.41 ± 0.19 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.645 ± 0.02
Orbital params
K(K) = 551.7 ± 4.7 m s^-1
i(i) = 82.1 ± 5.7°
RₚRₛ(Rₚ, Rₛ) = (, (0.1596 ± 0.003, "RₚRₛ(Rₚ, Rₛ)"))
aRₛ(ρₛ, P) = (, (4.921 ± 0.093, "aRₛ(ρₛ, P)"))
P(P) = 0.813473978 ± 3.5e-8 d
b(i, aRₛ) = (0.68 ± 0.49, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(Rₚ) = 1.036 ± 0.012 Rjup
Mₚ(Mₚ) = 2.052 ± 0.053 Mjup
ρₚ(Mₚ, Rₚ) = 2.289 ± 0.099 g cm^-3
Tₚ(Tₚ) = 1440.0 ± 40.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 47.4 ± 1.6 m s^-2
log10 g (cm/s^2) = 3.676 ± 0.015
H(μ, Tₚ, gₚ) = 126.3 ± 5.6 km
Signal at 5.0 scale heights
ΔD = 435.0 ± 26.0 ppm
HAT-P-23/b: Ciceri et al. (2015):
Star Params
Rₛ(Rₛ) = 1.089 ± 0.028 R⊙
Mₛ(ρₛ, Rₛ) = 1.11 ± 0.11 M⊙
Tₛ(Tₛ) = 5885.0 ± 72.0 K
Lₛ(Tₛ, Rₛ) = 1.282 ± 0.091 L⊙
ρₛ(P, aRₛ) = 1.208 ± 0.073 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.408 ± 0.029
Orbital params
K(K) = 368.0 ± 18.0 m s^-1
i(i) = 85.74 ± 0.95°
RₚRₛ(RₚRₛ) = (, (0.11616 ± 0.00081, "RₚRₛ(RₚRₛ)"))
aRₛ(aRₛ) = (, (4.546 ± 0.092, "aRₛ(aRₛ)"))
P(P) = 1.21288287 ± 1.7e-7 d
b(i, aRₛ) = (0.338 ± 0.075, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.231 ± 0.033 Rjup
Mₚ(K, i, P, Mₛ) = 2.07 ± 0.17 Mjup
ρₚ(Mₚ, Rₚ) = 1.379 ± 0.098 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 1952.0 ± 31.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 33.9 ± 2.2 m s^-2
log10 g (cm/s^2) = 3.531 ± 0.028
H(μ, Tₚ, gₚ) = 239.0 ± 17.0 km
Signal at 5.0 scale heights
ΔD = 367.0 ± 29.0 ppm
HAT-P-23/b: Sada & Ramón-Fox (2016):
Star Params
Rₛ(Rₛ) = 0.96 ± 0.2 R⊙
Mₛ(ρₛ, Rₛ) = 0.62 ± 0.39 M⊙
Tₛ(Tₛ) = 5905.0 ± 80.0 K
Lₛ(Tₛ, Rₛ) = 1.01 ± 0.42 L⊙
ρₛ(P, aRₛ) = 0.994 ± 0.098 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.27 ± 0.1
Orbital params
K(K) = 346.0 ± 21.0 m s^-1
i(i) = 85.1 ± 1.5°
RₚRₛ(RₚRₛ) = (, (0.1113 ± 0.001, "RₚRₛ(RₚRₛ)"))
aRₛ(aRₛ) = (, (4.26 ± 0.14, "aRₛ(aRₛ)"))
P(P) = 1.21288 ± 2.0e-6 d
b(i, aRₛ) = (0.36 ± 0.11, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.04 ± 0.22 Rjup
Mₚ(K, i, P, Mₛ) = 1.33 ± 0.57 Mjup
ρₚ(Mₚ, Rₚ) = 1.47 ± 0.34 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 2023.0 ± 43.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 30.5 ± 2.8 m s^-2
log10 g (cm/s^2) = 3.484 ± 0.04
H(μ, Tₚ, gₚ) = 276.0 ± 29.0 km
Signal at 5.0 scale heights
ΔD = 460.0 ± 110.0 ppm
HAT-P-23/b: Stassun et al. (2017, GAIA DR1):
Star Params
Rₛ(Rₛ) = 0.96 ± 0.2 R⊙
Mₛ(ρₛ, Rₛ) = 0.58 ± 0.38 M⊙
Tₛ(Tₛ) = 5905.0 ± 80.0 K
Lₛ(Tₛ, Rₛ) = 1.01 ± 0.42 L⊙
ρₛ(ρₛ) = 0.92 ± 0.18 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.23 ± 0.12
Orbital params
K(K) = 368.0 ± 18.0 m s^-1
i(i) = 85.1 ± 1.5°
RₚRₛ(RₚRₛ) = (, (0.1113 ± 0.001, "RₚRₛ(RₚRₛ)"))
aRₛ(ρₛ, P) = (, (4.15 ± 0.27, "aRₛ(ρₛ, P)"))
P(P) = 1.21288 ± 2.0e-6 d
b(i, aRₛ) = (0.35 ± 0.11, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.04 ± 0.22 Rjup
Mₚ(K, i, P, Mₛ) = 1.35 ± 0.59 Mjup
ρₚ(Mₚ, Rₚ) = 1.48 ± 0.37 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 2049.0 ± 72.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 30.9 ± 4.3 m s^-2
log10 g (cm/s^2) = 3.489 ± 0.061
H(μ, Tₚ, gₚ) = 276.0 ± 47.0 km
Signal at 5.0 scale heights
ΔD = 460.0 ± 120.0 ppm
HAT-P-23/b: GAIA DR2:
Star Params
Rₛ(Rₛ) = 1.186 ± 0.042 R⊙
Mₛ(ρₛ, Rₛ) = 1.18 ± 0.17 M⊙
Tₛ(Tₛ) = 5730.0 ± 100.0 K
Lₛ(Lₛ) = 1.369 ± 0.027 L⊙
ρₛ(P, aRₛ) = 0.994 ± 0.098 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.36 ± 0.046
Orbital params
K(K) = 346.0 ± 21.0 m s^-1
i(i) = 85.1 ± 1.5°
RₚRₛ(RₚRₛ) = (, (0.1113 ± 0.001, "RₚRₛ(RₚRₛ)"))
aRₛ(aRₛ) = (, (4.26 ± 0.14, "aRₛ(aRₛ)"))
P(P) = 1.2128867 ± 2.0e-7 d
b(i, aRₛ) = (0.36 ± 0.11, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.284 ± 0.047 Rjup
Mₚ(K, i, P, Mₛ) = 2.03 ± 0.23 Mjup
ρₚ(Mₚ, Rₚ) = 1.19 ± 0.12 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 1964.0 ± 47.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 30.5 ± 2.8 m s^-2
log10 g (cm/s^2) = 3.484 ± 0.04
H(μ, Tₚ, gₚ) = 268.0 ± 28.0 km
Signal at 5.0 scale heights
ΔD = 361.0 ± 41.0 ppm
HAT-P-23/b: TICv8:
Star Params
Rₛ(Rₛ) = 1.152 ± 0.06 R⊙
Mₛ(Mₛ) = 1.08 ± 0.14 M⊙
Tₛ(Tₛ) = 5920.0 ± 140.0 K
Lₛ(Lₛ) = 1.466 ± 0.065 L⊙
ρₛ(Mₛ, Rₛ) = 0.99 ± 0.2 g cm^-3
gₛ(gₛ)(cm/s²) = 4.348 ± 0.082
Orbital params
K(K) = 346.0 ± 21.0 m s^-1
i(i) = 85.1 ± 1.5°
RₚRₛ(RₚRₛ) = (, (0.1113 ± 0.001, "RₚRₛ(RₚRₛ)"))
aRₛ(ρₛ, P) = (, (4.26 ± 0.28, "aRₛ(ρₛ, P)"))
P(P) = 1.2128867 ± 2.0e-7 d
b(i, aRₛ) = (0.36 ± 0.11, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.247 ± 0.066 Rjup
Mₚ(K, i, P, Mₛ) = 1.92 ± 0.2 Mjup
ρₚ(Mₚ, Rₚ) = 1.22 ± 0.23 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 2027.0 ± 82.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 30.5 ± 4.5 m s^-2
log10 g (cm/s^2) = 3.485 ± 0.064
H(μ, Tₚ, gₚ) = 276.0 ± 50.0 km
Signal at 5.0 scale heights
ΔD = 384.0 ± 57.0 ppm
HAT-P-23/b: Set 1 (Gaia DR1):
Star Params
Rₛ(Rₛ) = 0.96 ± 0.2 R⊙
Mₛ(ρₛ, Rₛ) = 0.58 ± 0.38 M⊙
Tₛ(Tₛ) = 5905.0 ± 80.0 K
Lₛ(Tₛ, Rₛ) = 1.01 ± 0.42 L⊙
ρₛ(ρₛ) = 0.92 ± 0.18 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.23 ± 0.12
Orbital params
K(K) = 346.0 ± 21.0 m s^-1
i(i) = 83.6 ± 0.3°
RₚRₛ(RₚRₛ) = (, (0.1139 ± 0.001, "RₚRₛ(RₚRₛ)"))
aRₛ(ρₛ, P) = (, (4.15 ± 0.27, "aRₛ(ρₛ, P)"))
P(P) = 1.21289 ± 3.7e-8 d
b(i, aRₛ) = (0.463 ± 0.037, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.06 ± 0.22 Rjup
Mₚ(K, i, P, Mₛ) = 1.27 ± 0.56 Mjup
ρₚ(Mₚ, Rₚ) = 1.3 ± 0.33 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 2049.0 ± 72.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 27.7 ± 4.0 m s^-2
log10 g (cm/s^2) = 3.443 ± 0.063
H(μ, Tₚ, gₚ) = 307.0 ± 54.0 km
Signal at 5.0 scale heights
ΔD = 520.0 ± 140.0 ppm
HAT-P-23/b: Set 2 (TICv8):
Star Params
Rₛ(Rₛ) = 1.152 ± 0.06 R⊙
Mₛ(ρₛ, Rₛ) = 1.08 ± 0.3 M⊙
Tₛ(Tₛ) = 5920.0 ± 140.0 K
Lₛ(Tₛ, Rₛ) = 1.47 ± 0.2 L⊙
ρₛ(ρₛ) = 0.99 ± 0.23 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.35 ± 0.1
Orbital params
K(K) = 346.0 ± 21.0 m s^-1
i(i) = 83.6 ± 0.3°
RₚRₛ(RₚRₛ) = (, (0.1139 ± 0.001, "RₚRₛ(RₚRₛ)"))
aRₛ(ρₛ, P) = (, (4.26 ± 0.33, "aRₛ(ρₛ, P)"))
P(P) = 1.21289 ± 3.7e-8 d
b(i, aRₛ) = (0.475 ± 0.043, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.277 ± 0.067 Rjup
Mₚ(K, i, P, Mₛ) = 1.92 ± 0.38 Mjup
ρₚ(Mₚ, Rₚ) = 1.14 ± 0.2 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 2027.0 ± 92.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 29.2 ± 4.9 m s^-2
log10 g (cm/s^2) = 3.466 ± 0.073
H(μ, Tₚ, gₚ) = 288.0 ± 59.0 km
Signal at 5.0 scale heights
ΔD = 410.0 ± 87.0 ppm
WASP-50b: Chakrabarty & Sengupta (2019):
Star Params
Rₛ(Rₛ) = 0.843 ± 0.031 R⊙
Mₛ(ρₛ, Rₛ) = 0.89 ± 0.1 M⊙
Tₛ(Tₛ) = 5400.0 ± 100.0 K
Lₛ(Tₛ, Rₛ) = 0.544 ± 0.057 L⊙
ρₛ(P, aRₛ) = 2.096 ± 0.084 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.536 ± 0.024
Orbital params
K(K) = 256.6 ± 4.4 m s^-1
i(i) = 84.88 ± 0.27°
RₚRₛ(RₚRₛ) = (, (0.139 ± 0.0006, "RₚRₛ(RₚRₛ)"))
aRₛ(aRₛ) = (, (7.51 ± 0.1, "aRₛ(aRₛ)"))
P(P) = 1.9551 ± 5.0e-6 d
b(i, aRₛ) = (0.67 ± 0.036, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.14 ± 0.042 Rjup
Mₚ(K, i, P, Mₛ) = 1.47 ± 0.12 Mjup
ρₚ(Mₚ, Rₚ) = 1.227 ± 0.062 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 1393.0 ± 27.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 27.97 ± 0.92 m s^-2
log10 g (cm/s^2) = 3.447 ± 0.014
H(μ, Tₚ, gₚ) = 207.1 ± 8.8 km
Signal at 5.0 scale heights
ΔD = 491.0 ± 28.0 ppm
WASP-50b: C&S 2019 + TICv8:
Star Params
Rₛ(Rₛ) = 0.873 ± 0.045 R⊙
Mₛ(ρₛ, Rₛ) = 1.19 ± 0.19 M⊙
Tₛ(Tₛ) = 5520.0 ± 130.0 K
Lₛ(Tₛ, Rₛ) = 0.637 ± 0.089 L⊙
ρₛ(ρₛ) = 2.5179554 g cm^-3
gₛ(Mₛ, Rₛ)(cm/s²) = 4.631 ± 0.023
Orbital params
K(K) = 256.6 ± 4.4 m s^-1
i(i) = 84.88 ± 0.27°
RₚRₛ(RₚRₛ) = (, (0.139 ± 0.0006, "RₚRₛ(RₚRₛ)"))
aRₛ(ρₛ, P) = (, (7.983304 ± 1.4e-5, "aRₛ(ρₛ, P)"))
P(P) = 1.9551 ± 5.0e-6 d
b(i, aRₛ) = (0.712 ± 0.037, "b(i, aRₛ)")
Planet params
μ(μ) = 2.0 u
α(α) = 0.0 ± 0.0
Rₚ(RₚRₛ, Rₛ) = 1.181 ± 0.062 Rjup
Mₚ(K, i, P, Mₛ) = 1.78 ± 0.19 Mjup
ρₚ(Mₚ, Rₚ) = 1.339 ± 0.075 g cm^-3
Tₚ(Tₛ, aRₛ, α) = 1381.0 ± 32.0 K
gₚ(Mₚ, RₚRₛ, Rₛ) = 31.61 ± 0.61 m s^-2
log10 g (cm/s^2) = 3.4998 ± 0.0083
H(μ, Tₚ, gₚ) = 181.6 ± 5.5 km
Signal at 5.0 scale heights
ΔD = 415.0 ± 25.0 ppm
display_summary.(results)
Calculate parameters
"WASP-43/b: Weaver et al. (2020)"
0.577±0.033 M⊙ R⊙^-3
"ρₛ(Mₛ, Rₛ)"
1.076e-10±4.9e-12 m^3 M⊙ kg^-1 s^-2 R⊙^-2
"gₛ(Mₛ, Rₛ)"
0.717±0.025 M⊙
"Mₛ(Mₛ)"
0.667±0.01 R⊙
"Rₛ(Rₛ)"
4520.0±120.0 K
"Tₛ(Tₛ)"
1.32e8±1.5e7 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(Rₚ, Rₛ)"
0.813474±3.5e-8 d
"P(P)"
"aRₛ(ρₛ, P)"
9.29e-5±1.1e-6 d^2/3 m M⊙^1/3 kg^-1/3 s^-2/3
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
551.7±4.7 m s^-1
"K(K)"
1.43±0.1 rad
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
1.276e-10±4.4e-12 Mjup m^3 kg^-1 Rjup^-2 s^-2
"gₚ(Mₚ, RₚRₛ, Rₛ)"
2.052±0.053 Mjup
"Mₚ(Mₚ)"
1.036±0.012 Rjup
"Rₚ(Rₚ)"
0.441±0.019 Mjup Rjup^-3
"ρₚ(Mₚ, Rₚ)"
1440.0±40.0 K
"Tₚ(Tₚ)"
4.69e16±2.1e15 J Rjup^2 s^2 Mjup^-1 m^-3
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: Ciceri et al. (2015)"
9.02e12±5.5e11 kg s^2 d^-2 m^-3
"ρₛ(P, aRₛ)"
2750.0±180.0 R⊙ d^-2
"gₛ(Mₛ, Rₛ)"
4.88e13±4.8e12 kg s^2 R⊙^3 d^-2 m^-3
"Mₛ(ρₛ, Rₛ)"
1.089±0.028 R⊙
"Rₛ(Rₛ)"
5885.0±72.0 K
"Tₛ(Tₛ)"
1.014e9±7.2e7 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.21288±1.7e-7 d
"P(P)"
"aRₛ(aRₛ)"
4.95±0.16 R⊙
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
368.0±18.0 m s^-1
"K(K)"
85.74±0.95°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
2.93e6±190000.0 m d^-1 s^-1
"gₚ(Mₚ, RₚRₛ, Rₛ)"
7.03e14±5.7e13 kg s R⊙^2 d^-1 m^-2
"Mₚ(K, i, P, Mₛ)"
0.1265±0.0034 R⊙
"Rₚ(RₚRₛ, Rₛ)"
8.29e16±5.9e15 kg s d^-1 m^-2 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
1952.0±31.0 K
"Tₚ(Tₛ, aRₛ, α)"
2.77±0.2 d J s kg^-1 m^-1
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: Sada & Ramón-Fox (2016)"
7.42e12±7.3e11 kg s^2 d^-2 m^-3
"ρₛ(P, aRₛ)"
1990.0±460.0 R⊙ d^-2
"gₛ(Mₛ, Rₛ)"
2.8e13±1.7e13 kg s^2 R⊙^3 d^-2 m^-3
"Mₛ(ρₛ, Rₛ)"
0.96±0.2 R⊙
"Rₛ(Rₛ)"
5905.0±80.0 K
"Tₛ(Tₛ)"
8.0e8±3.4e8 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.21288±2.0e-6 d
"P(P)"
"aRₛ(aRₛ)"
4.09±0.86 R⊙
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
346.0±21.0 m s^-1
"K(K)"
85.1±1.5°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
2.64e6±240000.0 m d^-1 s^-1
"gₚ(Mₚ, RₚRₛ, Rₛ)"
4.5e14±1.9e14 kg s R⊙^2 d^-1 m^-2
"Mₚ(K, i, P, Mₛ)"
0.107±0.022 R⊙
"Rₚ(RₚRₛ, Rₛ)"
8.8e16±2.0e16 kg s d^-1 m^-2 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
2023.0±43.0 K
"Tₚ(Tₛ, aRₛ, α)"
3.19±0.33 d J s kg^-1 m^-1
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: Stassun et al. (2017, GAIA DR1)"
0.92±0.18 g cm^-3
"ρₛ(ρₛ)"
2.47e-10±7.1e-11 g m^3 R⊙ kg^-1 cm^-3 s^-2
"gₛ(Mₛ, Rₛ)"
3.4±2.2 g R⊙^3 cm^-3
"Mₛ(ρₛ, Rₛ)"
0.96±0.2 R⊙
"Rₛ(Rₛ)"
5905.0±80.0 K
"Tₛ(Tₛ)"
8.0e8±3.4e8 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.21288±2.0e-6 d
"P(P)"
"aRₛ(ρₛ, P)"
0.000204±4.5e-5 d^2/3 g^1/3 m R⊙ kg^-1/3 cm^-1 s^-2/3
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
368.0±18.0 m s^-1
"K(K)"
85.1±1.5°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
0.00698±0.00098 d^1/3 g^2/3 m^3 kg^-2/3 cm^-2 s^-7/3
"gₚ(Mₚ, RₚRₛ, Rₛ)"
1.19e6±520000.0 d^1/3 g^2/3 kg^1/3 R⊙^2 cm^-2 s^-1/3
"Mₚ(K, i, P, Mₛ)"
0.107±0.022 R⊙
"Rₚ(RₚRₛ, Rₛ)"
2.34e8±5.9e7 d^1/3 g^2/3 kg^1/3 cm^-2 s^-1/3 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
286000.0±10000.0 kg^1/6 K cm^1/2 s^1/3 d^-1/3 g^-1/6 m^-1/2
"Tₚ(Tₛ, aRₛ, α)"
1.71e11±2.9e10 J cm^5/2 s^8/3 d^-2/3 g^-5/6 kg^-1/6 m^-7/2
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: GAIA DR2"
7.42e12±7.3e11 kg s^2 d^-2 m^-3
"ρₛ(P, aRₛ)"
2460.0±260.0 R⊙ d^-2
"gₛ(Mₛ, Rₛ)"
5.18e13±7.6e12 kg s^2 R⊙^3 d^-2 m^-3
"Mₛ(ρₛ, Rₛ)"
1.186±0.042 R⊙
"Rₛ(Rₛ)"
5730.0±100.0 K
"Tₛ(Tₛ)"
1.369±0.027 L⊙
"Lₛ(Lₛ)"
"RₚRₛ(RₚRₛ)"
1.21289±2.0e-7 d
"P(P)"
"aRₛ(aRₛ)"
5.05±0.25 R⊙
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
346.0±21.0 m s^-1
"K(K)"
85.1±1.5°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
2.64e6±240000.0 m d^-1 s^-1
"gₚ(Mₚ, RₚRₛ, Rₛ)"
6.88e14±7.9e13 kg s R⊙^2 d^-1 m^-2
"Mₚ(K, i, P, Mₛ)"
0.132±0.0049 R⊙
"Rₚ(RₚRₛ, Rₛ)"
7.14e16±7.1e15 kg s d^-1 m^-2 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
1964.0±47.0 K
"Tₚ(Tₛ, aRₛ, α)"
3.1±0.33 d J s kg^-1 m^-1
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: TICv8"
0.168±0.034 M⊙ R⊙^-3
"ρₛ(Mₛ, Rₛ)"
22300.0±4200.0 cm s^-2
"gₛ(gₛ)"
1.08±0.14 M⊙
"Mₛ(Mₛ)"
1.152±0.06 R⊙
"Rₛ(Rₛ)"
5920.0±140.0 K
"Tₛ(Tₛ)"
1.466±0.065 L⊙
"Lₛ(Lₛ)"
"RₚRₛ(RₚRₛ)"
1.21289±2.0e-7 d
"P(P)"
"aRₛ(ρₛ, P)"
0.0001389±5.9e-6 d^2/3 m M⊙^1/3 kg^-1/3 s^-2/3
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
346.0±21.0 m s^-1
"K(K)"
85.1±1.5°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
0.00211±0.00031 d^1/3 m^3 M⊙^2/3 kg^-2/3 s^-7/3 R⊙^-2
"gₚ(Mₚ, RₚRₛ, Rₛ)"
520000.0±54000.0 d^1/3 kg^1/3 M⊙^2/3 s^-1/3
"Mₚ(K, i, P, Mₛ)"
0.1282±0.0067 R⊙
"Rₚ(RₚRₛ, Rₛ)"
5.9e7±1.1e7 d^1/3 kg^1/3 M⊙^2/3 s^-1/3 R⊙^-3
"ρₚ(Mₚ, Rₚ)"
381000.0±15000.0 kg^1/6 K s^1/3 R⊙^1/2 d^-1/3 m^-1/2 M⊙^-1/6
"Tₚ(Tₛ, aRₛ, α)"
7.5e11±1.4e11 J s^8/3 R⊙^5/2 d^-2/3 kg^-1/6 m^-7/2 M⊙^-5/6
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: Set 1 (Gaia DR1)"
0.92±0.18 g cm^-3
"ρₛ(ρₛ)"
2.47e-10±7.1e-11 g m^3 R⊙ kg^-1 cm^-3 s^-2
"gₛ(Mₛ, Rₛ)"
3.4±2.2 g R⊙^3 cm^-3
"Mₛ(ρₛ, Rₛ)"
0.96±0.2 R⊙
"Rₛ(Rₛ)"
5905.0±80.0 K
"Tₛ(Tₛ)"
8.0e8±3.4e8 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.21289±3.7e-8 d
"P(P)"
"aRₛ(ρₛ, P)"
0.000204±4.5e-5 d^2/3 g^1/3 m R⊙ kg^-1/3 cm^-1 s^-2/3
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
346.0±21.0 m s^-1
"K(K)"
83.6±0.3°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
0.00627±0.00091 d^1/3 g^2/3 m^3 kg^-2/3 cm^-2 s^-7/3
"gₚ(Mₚ, RₚRₛ, Rₛ)"
1.12e6±500000.0 d^1/3 g^2/3 kg^1/3 R⊙^2 cm^-2 s^-1/3
"Mₚ(K, i, P, Mₛ)"
0.109±0.023 R⊙
"Rₚ(RₚRₛ, Rₛ)"
2.05e8±5.2e7 d^1/3 g^2/3 kg^1/3 cm^-2 s^-1/3 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
286000.0±10000.0 kg^1/6 K cm^1/2 s^1/3 d^-1/3 g^-1/6 m^-1/2
"Tₚ(Tₛ, aRₛ, α)"
1.9e11±3.3e10 J cm^5/2 s^8/3 d^-2/3 g^-5/6 kg^-1/6 m^-7/2
"H(μ, Tₚ, gₚ)"
5.0
"HAT-P-23/b: Set 2 (TICv8)"
0.99±0.23 g cm^-3
"ρₛ(ρₛ)"
3.2e-10±7.7e-11 g m^3 R⊙ kg^-1 cm^-3 s^-2
"gₛ(Mₛ, Rₛ)"
6.4±1.8 g R⊙^3 cm^-3
"Mₛ(ρₛ, Rₛ)"
1.152±0.06 R⊙
"Rₛ(Rₛ)"
5920.0±140.0 K
"Tₛ(Tₛ)"
1.16e9±1.6e8 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.21289±3.7e-8 d
"P(P)"
"aRₛ(ρₛ, P)"
0.000251±2.3e-5 d^2/3 g^1/3 m R⊙ kg^-1/3 cm^-1 s^-2/3
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
346.0±21.0 m s^-1
"K(K)"
83.6±0.3°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
0.0066±0.0011 d^1/3 g^2/3 m^3 kg^-2/3 cm^-2 s^-7/3
"gₚ(Mₚ, RₚRₛ, Rₛ)"
1.7e6±340000.0 d^1/3 g^2/3 kg^1/3 R⊙^2 cm^-2 s^-1/3
"Mₚ(K, i, P, Mₛ)"
0.1312±0.0069 R⊙
"Rₚ(RₚRₛ, Rₛ)"
1.8e8±3.2e7 d^1/3 g^2/3 kg^1/3 cm^-2 s^-1/3 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
283000.0±13000.0 kg^1/6 K cm^1/2 s^1/3 d^-1/3 g^-1/6 m^-1/2
"Tₚ(Tₛ, aRₛ, α)"
1.78e11±3.7e10 J cm^5/2 s^8/3 d^-2/3 g^-5/6 kg^-1/6 m^-7/2
"H(μ, Tₚ, gₚ)"
5.0
"WASP-50b: Chakrabarty & Sengupta (2019)"
1.565e13±6.3e11 kg s^2 d^-2 m^-3
"ρₛ(P, aRₛ)"
3690.0±200.0 R⊙ d^-2
"gₛ(Mₛ, Rₛ)"
3.93e13±4.6e12 kg s^2 R⊙^3 d^-2 m^-3
"Mₛ(ρₛ, Rₛ)"
0.843±0.031 R⊙
"Rₛ(Rₛ)"
5400.0±100.0 K
"Tₛ(Tₛ)"
4.31e8±4.5e7 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.9551±5.0e-6 d
"P(P)"
"aRₛ(aRₛ)"
6.33±0.25 R⊙
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
256.6±4.4 m s^-1
"K(K)"
84.88±0.27°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
2.417e6±79000.0 m d^-1 s^-1
"gₚ(Mₚ, RₚRₛ, Rₛ)"
4.97e14±4.0e13 kg s R⊙^2 d^-1 m^-2
"Mₚ(K, i, P, Mₛ)"
0.1172±0.0043 R⊙
"Rₚ(RₚRₛ, Rₛ)"
7.38e16±3.7e15 kg s d^-1 m^-2 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
1393.0±27.0 K
"Tₚ(Tₛ, aRₛ, α)"
2.4±0.1 d J s kg^-1 m^-1
"H(μ, Tₚ, gₚ)"
5.0
"WASP-50b: C&S 2019 + TICv8"
2.51796 g cm^-3
"ρₛ(ρₛ)"
6.15e-10±3.2e-11 g m^3 R⊙ kg^-1 cm^-3 s^-2
"gₛ(Mₛ, Rₛ)"
7.0±1.1 g R⊙^3 cm^-3
"Mₛ(ρₛ, Rₛ)"
0.873±0.045 R⊙
"Rₛ(Rₛ)"
5520.0±130.0 K
"Tₛ(Tₛ)"
5.04e8±7.0e7 R⊙^2 W m^-2
"Lₛ(Tₛ, Rₛ)"
"RₚRₛ(RₚRₛ)"
1.9551±5.0e-6 d
"P(P)"
"aRₛ(ρₛ, P)"
0.000357±1.9e-5 d^2/3 g^1/3 m R⊙ kg^-1/3 cm^-1 s^-2/3
"a(aRₛ, Rₛ)"
"b(i, aRₛ)"
256.6±4.4 m s^-1
"K(K)"
84.88±0.27°
"i(i)"
3.32108e-27 kg
"μ(μ)"
"α(α)"
0.00715±0.00014 d^1/3 g^2/3 m^3 kg^-2/3 cm^-2 s^-7/3
"gₚ(Mₚ, RₚRₛ, Rₛ)"
1.58e6±170000.0 d^1/3 g^2/3 kg^1/3 R⊙^2 cm^-2 s^-1/3
"Mₚ(K, i, P, Mₛ)"
0.1214±0.0063 R⊙
"Rₚ(RₚRₛ, Rₛ)"
2.11e8±1.2e7 d^1/3 g^2/3 kg^1/3 cm^-2 s^-1/3 R⊙^-1
"ρₚ(Mₚ, Rₚ)"
193100.0±4500.0 kg^1/6 K cm^1/2 s^1/3 d^-1/3 g^-1/6 m^-1/2
"Tₚ(Tₛ, aRₛ, α)"
1.122e11±3.4e9 J cm^5/2 s^8/3 d^-2/3 g^-5/6 kg^-1/6 m^-7/2
"H(μ, Tₚ, gₚ)"
5.0
xxxxxxxxxx
const results = Derived[calculate_params(st) for st in studies]
How parameters were calculated
The calculator first checks if there are missing input parameters and then calls the appropriate function to calculate them for each study. The resulting derived parameters are then calculated from them.
Everything was done with a "star first" approach, meaning that all stellar parameters were determined first, and then the planet parameters were determined self-consistently from that. If conflicting parameters are given, the calculator will try to give priority to using direct observables to perform calculations and error otherwise.
For transparency, the inputs used for each calculation are shown in parenthesis next to each parameter.
x
function calculate_params(st::Study)
# Rₛ, Tₛ, Lₛ
if !isnothing(st.Rₛ)
Rₛ, inputs_Rₛ = st.Rₛ, "Rₛ(Rₛ)"
if any((!isnothing).([st.Tₛ, st.Lₛ]))
if all((!isnothing).([st.Tₛ, st.Lₛ]))
Lₛ, inputs_Lₛ = st.Lₛ, "Lₛ(Lₛ)"
Tₛ, inputs_Tₛ = st.Tₛ, "Tₛ(Tₛ)"
elseif isnothing(st.Tₛ)
Lₛ, inputs_Lₛ = st.Lₛ, "Lₛ(Lₛ)"
Tₛ, inputs_Tₛ = get_Tₛ(Lₛ, Rₛ)
else
Tₛ, inputs_Tₛ = st.Tₛ, "Tₛ(Tₛ)"
Lₛ, inputs_Lₛ = get_Lₛ(Tₛ, Rₛ)
end
else
error("Rₛ was given. Lₛ or Tₛ must also be given.")
end
else
if all((!isnothing).([st.Lₛ, st.Tₛ]))
Lₛ, inputs_Lₛ = st.Lₛ, "Lₛ(Lₛ)"
Tₛ, inputs_Tₛ = st.Tₛ, "Tₛ(Tₛ)"
Rₛ, inputs_Rₛ = get_Rₛ(Lₛ, Tₛ)
else
error("Rₛ was not given. Lₛ and Tₛ must be given then.")
end
end
# RₚRₛ and Rₚ
if !isnothing(st.Rₚ)
Rₚ, inputs_Rₚ = st.Rₚ, "Rₚ(Rₚ)"
RₚRₛ, inputs_RₚRₛ = get_RₚRₛ(Rₚ, Rₛ)
elseif !isnothing(st.RₚRₛ)
RₚRₛ, inputs_RₚRₛ = st.RₚRₛ, "RₚRₛ(RₚRₛ)"
Rₚ, inputs_Rₚ = get_Rₚ(RₚRₛ, Rₛ)
else
error("Please specify either RₚRₛ or Rₚ.")
end
# P
if !isnothing(st.P)
P, inputs_P = st.P, "P(P)"
else
error("Please specify a period.")
end
# ρₛ, aRₛ, a
if all((!isnothing).([st.aRₛ, st.ρₛ]))
error("Conflicting inputs. Only aRₛ or ρₛ can be given.")
end
if all((!isnothing).([st.aRₛ, st.b]))
error("Conflicting inputs. Only aRₛ or b can be given.")
end
if !isnothing(st.ρₛ)
ρₛ, inputs_ρₛ = st.ρₛ, "ρₛ(ρₛ)"
aRₛ, inputs_aRₛ = get_aRₛ(ρₛ, P)
a, inputs_a = get_a(aRₛ, Rₛ)
elseif !isnothing(st.aRₛ)
aRₛ, inputs_aRₛ = st.aRₛ, "aRₛ(aRₛ)"
a, inputs_a = get_a(aRₛ, Rₛ)
ρₛ, inputs_ρₛ = get_ρₛ(P, aRₛ)
elseif !isnothing(st.a)
a, inputs_a = st.a, "a(a)"
aRₛ, inputs_aRₛ = get_aRₛ(a, Rₛ)
ρₛ, inputs_ρₛ = get_ρₛ(P, aRₛ)
# else
# error("ρₛ or (aRₛ or a, or Mₛ) must be given for $(st.name)")
end
# Mₛ
if !isnothing(st.Mₛ)
Mₛ, inputs_Mₛ = st.Mₛ, "Mₛ(Mₛ)"
ρₛ, inputs_ρₛ = get_ρₛ(Mₛ, Rₛ)
aRₛ, inputs_aRₛ = get_aRₛ(ρₛ, P)
a, inputs_a = get_a(aRₛ, Rₛ)
else
Mₛ, inputs_Mₛ = get_Mₛ(ρₛ, Rₛ)
end
# Calculate remaining params if not given/calculated
i, inputs_i =
!isnothing(st.i) ? (st.i, "i(i)") : error("Must provide inclination (i).")
K, inputs_K =
!isnothing(st.K) ? (st.K, "K(K)") : error("Must provide RV semi-amplitude (K).")
α, inputs_α =
!isnothing(st.α) ? (st.α, "α(α)") : error("Must provide albedo (α).")
b, inputs_b = !isnothing(st.b) ? (st.b, "b(b)") : get_b(i, aRₛ)
Mₚ, inputs_Mₚ = !isnothing(st.Mₚ) ? (st.Mₚ, "Mₚ(Mₚ)") : get_Mₚ(K, i, P, Mₛ)
Tₚ, inputs_Tₚ = !isnothing(st.Tₚ) ? (st.Tₚ, "Tₚ(Tₚ)") : get_Tₚ(Tₛ, aRₛ, α)
gₛ, inputs_gₛ = !isnothing(st.gₛ) ? (st.gₛ, "gₛ(gₛ)") : get_gₛ(Mₛ, Rₛ)
gₚ, inputs_gₚ = !isnothing(st.gₚ) ? (st.gₚ, "gₚ(gₚ)") : get_gₚ(Mₚ, RₚRₛ, Rₛ)
ρₚ, inputs_ρₚ = !isnothing(st.ρₚ) ? (st.ρₚ, "ρₚ(ρₚ)") : get_ρₚ(Mₚ, Rₚ)
μ, inputs_μ =
!isnothing(st.μ) ? (st.μ, "μ(μ)") :
error("Must provide mean molecula weight (μ).")
# Calculate signal
H, inputs_H = get_H(μ, Tₚ, gₚ)
ΔD = get_ΔD(H, RₚRₛ, Rₛ)
# Store results
return Derived(
# Study
name = st.name,
# Star Params
ρₛ = (ρₛ, inputs_ρₛ),
gₛ = (gₛ, inputs_gₛ),
Mₛ = (Mₛ, inputs_Mₛ),
Rₛ = (Rₛ, inputs_Rₛ),
Tₛ = (Tₛ, inputs_Tₛ),
Lₛ = (Lₛ, inputs_Lₛ),
#Orbital params
RₚRₛ = (RₚRₛ, inputs_RₚRₛ),
P = (P, inputs_P),
aRₛ = (aRₛ, inputs_aRₛ),
a = (a, inputs_a),
b = (b, inputs_b),
K = (K, inputs_K),
i = (i, inputs_i),
# Planet params
μ = (μ, inputs_μ),
α = (α, inputs_α),
gₚ = (gₚ, inputs_gₚ),
Mₚ = (Mₚ, inputs_Mₚ),
Rₚ = (Rₚ, inputs_Rₚ),
ρₚ = (ρₚ, inputs_ρₚ),
Tₚ = (Tₚ, inputs_Tₚ),
H = (H, inputs_H),
# Signal
N_scales = st.N_scales,
ΔD = ΔD,
)
end;
These are the functions used to calculate each parameter based on the combination of inputs given. No if
statements or default "None
" keyword arguments needed thanks to Julia's multiple dispatch! For ease of reference, these functions also return a string of the inputs used.
x
begin
# Star radius
get_Rₛ(Lₛ, Tₛ) = (Lₛ / (4.0π*σ*Tₛ^4))^(1//2), "Rₛ(Lₛ, Tₛ)"
# Star-to-planet radius ratio
get_RₚRₛ(Rₚ, Rₛ) = Rₚ / Rₛ, "RₚRₛ(Rₚ, Rₛ)"
# Semi-major axis / Star density
function get_aRₛ(ρₛ::Unitful.Density, P::Unitful.Time)
return ((G * P^2 * ρₛ)/(3.0π))^(1//3), "aRₛ(ρₛ, P)"
end
get_aRₛ(a::Unitful.Length, Rₛ::Unitful.Length) = a / Rₛ, "aRₛ(a, Rₛ)"
# Semi-major axis
get_a(aRₛ, Rₛ) = aRₛ * Rₛ, "a(aRₛ, Rₛ)"
# Impact parameter
get_b(i, aRₛ) = aRₛ * cos(i), "b(i, aRₛ)"
# Star density
function get_ρₛ(P::Unitful.Time, aRₛ::Measurement)
return (3.0π / (G * P^2)) * aRₛ^3, "ρₛ(P, aRₛ)"
end
function get_ρₛ(Mₛ::Unitful.Mass, Rₛ::Unitful.Length)
return Mₛ / ((4.0/3.0)π * Rₛ^3), "ρₛ(Mₛ, Rₛ)"
end
# Star mass
get_Mₛ(ρₛ, Rₛ) = ρₛ * (4.0/3.0) * π * Rₛ^3.0, "Mₛ(ρₛ, Rₛ)"
# Star luminosity
get_Lₛ(Tₛ, Rₛ) = 4.0π * Rₛ^2 * σ * Tₛ^4, "Lₛ(Tₛ, Rₛ)"
# Star temperature
get_Tₛ(Lₛ, Rₛ) = (L / (4.0π * Rₛ^2 * σ))^(1//4), "Tₛ(Lₛ, Rₛ)"
# Planet mass
get_Mₚ(K, i, P, Mₛ) =
(K/sin(i)) * (P / (2.0π*G))^(1//3) * Mₛ^(2//3), "Mₚ(K, i, P, Mₛ)"
# Planet radius
get_Rₚ(RₚRₛ, Rₛ) = RₚRₛ * Rₛ, "Rₚ(RₚRₛ, Rₛ)"
# Planet density
get_ρₚ(Mₚ, Rₚ) = Mₚ / ((4.0/3.0)π * Rₚ^3), "ρₚ(Mₚ, Rₚ)"
# Star surface gravity
get_gₛ(Mₛ, Rₛ) = G * Mₛ / Rₛ^2, "gₛ(Mₛ, Rₛ)"
# Planet surface gravity
get_gₚ(Mₚ, RₚRₛ, Rₛ) = G * Mₚ / (RₚRₛ^2 * Rₛ^2), "gₚ(Mₚ, RₚRₛ, Rₛ)"
# Planet equilibrium temperature
get_Tₚ(Tₛ, aRₛ, α) = Tₛ * (1.0 - α)^(1//4) * (0.5/aRₛ)^(1//2), "Tₚ(Tₛ, aRₛ, α)"
# Planet scale height
get_H(μ, Tₚ, gₚ) = k * Tₚ / (μ * gₚ), "H(μ, Tₚ, gₚ)"
# Estimated signal from planet atmosphere
get_ΔD(H, RₚRₛ, Rₛ) = 2.0 * H * RₚRₛ/Rₛ
end;
Input parameters from study
xxxxxxxxxx
struct Study Union{Nothing, Quantity, Measurement}
# Reference name (e.g. Ciceri et al. 2015)
name::String = "Custom"
# Star params
Tₛ = nothing
ρₛ = nothing
Mₛ = nothing
Rₛ = nothing
gₛ = nothing
Lₛ = nothing
# Orbital params
RₚRₛ = nothing
aRₛ = nothing
a = nothing
b = nothing
P = nothing
K = nothing
i = nothing
# Planet params
μ = nothing
α = nothing
Tₚ = nothing
ρₚ = nothing
Mₚ = nothing
Rₚ = nothing
gₚ = nothing
N_scales::Float64 = 5.0 # Number of scale heights (default 5)
end;
Derived parameters
xxxxxxxxxx
struct Derived Tuple{Union{Nothing, Quantity, Measurement}, String}
# Reference name (e.g. Ciceri et al. 2015)
name::String = "Custom"
# Star Params
ρₛ
gₛ
Mₛ
Rₛ
Tₛ
Lₛ
#Orbital params
RₚRₛ::Tuple{Measurement, String}
P
aRₛ::Tuple{Measurement, String}
a
b::Tuple{Measurement, String}
K
i
# Planet params
μ
α::Tuple{Measurement, String}
gₚ
Mₚ
Rₚ
ρₚ
Tₚ
H
# Signal
N_scales::Float64
ΔD::Measurement
end;
Display final results
xxxxxxxxxx
function display_summary(d::Derived)
md"""
###### **$(d.name):**
**Star Params** \
$(d.Rₛ[2]) = $(d.Rₛ[1] |> u"Rsun") \
$(d.Mₛ[2]) = $(d.Mₛ[1] |> u"Msun") \
$(d.Tₛ[2]) = $(d.Tₛ[1] |> u"K") \
$(d.Lₛ[2]) = $(d.Lₛ[1] |> u"Lsun") \
$(d.ρₛ[2]) = $(d.ρₛ[1] |> u"g/cm^3") \
$(d.gₛ[2])(cm/s²) = $(log10(ustrip(d.gₛ[1] |> u"cm/s^2")))
**Orbital params** \
$(d.K[2]) = $(d.K[1] |> u"m/s") \
$(d.i[2]) = $(d.i[1] |> u"°") \
$(d.RₚRₛ[2]) = $(NoUnits, d.RₚRₛ) \
$(d.aRₛ[2]) = $(NoUnits, d.aRₛ) \
$(d.P[2]) = $(d.P[1] |> u"d") \
$(d.b[2]) = $(d.b)
**Planet params** \
$(d.μ[2]) = $(d.μ[1] |> u"u") \
$(d.α[2]) = $(d.α[1]) \
$(d.Rₚ[2]) = $(d.Rₚ[1] |> u"Rjup") \
$(d.Mₚ[2]) = $(d.Mₚ[1] |> u"Mjup") \
$(d.ρₚ[2]) = $(d.ρₚ[1] |> u"g/cm^3") \
$(d.Tₚ[2]) = $(d.Tₚ[1] |> u"K") \
$(d.gₚ[2]) = $(d.gₚ[1] |> u"m/s^2") \
log10 g (cm/s^2) = $(d.gₚ[1] |> u"cm/s^2" |> ustrip |> log10) \
$(d.H[2]) = $(d.H[1] |> u"km")
**Signal at $(d.N_scales) scale heights** \
ΔD = $(d.N_scales * uconvert(NoUnits, d.ΔD) * 1e6) ppm
"""
end;
Libraries for using things like physical constants and units.
xxxxxxxxxx
begin
using Pkg
Pkg.activate("..")
Pkg.instantiate()
using Unitful
using Measurements, UnitfulAstro, Parameters, Markdown
using PhysicalConstants.CODATA2018: G, k_B, m_u, σ
const amu, k = m_u, k_B
end;