• Print view

## Extrasolar Planets (updated catalogue)

EarthSolar
Posts: 12
Joined: 30.12.2016
With us: 3 years 8 months
I think all IAU-approved proper names should be put in front of the designations so they show up in the name tag. Currently this is true for stars, in line with the default stars, but not the planets.

DrJMOS
Posts: 29
Joined: 08.08.2020
With us: 1 month 22 days
Contact:
I've seen other problem, lot of gas giants that are class 2 appear as class 1 or 3

Topic author
Sirius_Alpha
Posts: 96
Joined: 21.03.2019
With us: 1 year 6 months
DrJMOS wrote:I've seen other problem, lot of gas giants that are class 2 appear as class 1 or 3

Planet temperatures are calculated by the following.
Spoiler

Code: Select all

`// Get sudarsky class + albedo.double L_star = CalculateLuminosity();for (int i = 0; i < PlanetList.Count; i++){    // Determine planet equilibrium temperature.    Planet P = PlanetList[i];    if (!PlanetList[i].Param.Temp.Measured || PlanetList[i].MoonList.Count > 0)    {        double numerator = (L_star);        if (PlanetList[i].Param.BondAlbedo.Measured)      numerator *= (1 - PlanetList[i].Param.BondAlbedo.value);        double denominator = 16 * Constants.σ * Math.PI * Math.Pow(PlanetList[i].Param.Orbit.a.ConvertTo(Unit.Meter), 2);        double Teq = Math.Pow(numerator / denominator, 1.0 / 4.0);        if (!P.Param.Temp.Measured)      P.Param.Temp = new Measurement(Teq.ToString(), Unit.Kelvin);        // Add it for moons now.        for (int j = 0; j < PlanetList[i].MoonList.Count; j++)        {      if (!PlanetList[i].MoonList[j].Param.Temp.Measured)             PlanetList[i].MoonList[j].Param.Temp = new Measurement(Teq.ToString(), Unit.Kelvin);        }    } } `

Stellar luminosity is calculated by
Spoiler

Code: Select all

`        public double CalculateLuminosity()        {            double R = Param.Radius.ConvertTo(Unit.Kilometer) * 1000; // meters.            double T = Param.Temp.value; // K.            double L = 4 * Math.PI * Math.Pow(R, 2) * Constants.σ * Math.Pow(T, 4);            return L;        }`

Then, giant planet textures are assigned through the following, respecting the temperature transitions given by Sudarsky, et al (2000).
Spoiler

Code: Select all

`if (Param.Mass.Measured && Param.Mass.ConvertTo(Unit.EarthMass) > 3000) // Only if we have measured the mass.{    return SudarskyClass.BrownDwarf;}if (Param.Temp.ConvertTo(Unit.Kelvin) > 1500){    if (!Param.GeometricAlbedo.Measured)        Param.GeometricAlbedo = new Measurement("0.5"); // Celestia Default.    return SudarskyClass.V;     // Metal/silicate clouds.}if (Param.Temp.ConvertTo(Unit.Kelvin) > 900){    if (!Param.GeometricAlbedo.Measured)        Param.GeometricAlbedo = new Measurement("0.05"); // Celestia Default.    return SudarskyClass.IV;    // Alkali clouds.}if (Param.Temp.ConvertTo(Unit.Kelvin) > 350){    if (!Param.GeometricAlbedo.Measured)        Param.GeometricAlbedo = new Measurement("0.1"); // Celestia Default.    return SudarskyClass.III;   // Cloudless.}if (Param.Temp.ConvertTo(Unit.Kelvin) > 250){    if (!Param.GeometricAlbedo.Measured)        Param.GeometricAlbedo = new Measurement("0.75"); // Celestia Default.    return SudarskyClass.II;    // Water clouds.}if (!Param.GeometricAlbedo.Measured)    Param.GeometricAlbedo = new Measurement("0.5"); // Celestia Default for Class I.return SudarskyClass.I;         // Ammonia clouds.`

If you find an error in my code, or that the orbit parameters I am using for a particular extrasolar planet are incorrect. Definitely let me know. Another potential source of error would be a bad value for the luminosity of the star -- likely due to an incorrect radius or temperature input. The latter would unfortunately not manifest in the .stc file unfortunately.
Exoplanet nerd. I maintain a monthly-updated exoplanet catalogue here:
https://celestia.space/forum/viewtopic.php?f=23&t=18705