Skip to content

Commit 98ee734

Browse files
committed
Update astro constants with actual standards
1 parent cb13c27 commit 98ee734

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

src/celastro/astro.h

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,31 @@
2525
namespace celestia::astro
2626
{
2727

28-
constexpr inline float SOLAR_ABSMAG = 4.83f;
28+
// Angle between J2000 mean equator and the ecliptic plane: 23 deg 26' 21".448
29+
// Seidelmann, Explanatory Supplement to the Astronomical Almanac (1992), eqn 3.222-1
30+
constexpr inline double J2000Obliquity = 23.4392911_deg;
31+
32+
// CODATA 2022
33+
constexpr inline double speedOfLight = 299792.458; // km/s
34+
constexpr inline double G = 6.67430e-11; // N m^2 / kg^2
35+
36+
// CODATA 2022 + IAU 2015 Resolution B3
37+
constexpr inline double SolarMass = 1.3271244e20 / G; // kg
38+
constexpr inline double EarthMass = 3.986004e14 / G; // kg
39+
constexpr inline double LunarMass = 7.346e22; // kg
40+
constexpr inline double JupiterMass = 1.2668653e17 / G; // kg
41+
42+
// IAU 2015 Resolution B2
43+
constexpr inline float SOLAR_ABSMAG = 4.74f;
44+
45+
// IAU 2015 Resolution B3
46+
constexpr inline double SOLAR_IRRADIANCE = 1361.0; // W / m^2
47+
constexpr inline double SOLAR_POWER = 3.828e26; // W
48+
49+
// Bessel (1979)
50+
constexpr inline double VEGAN_IRRADIANCE = 3.640e-11; // W / m^2
51+
52+
// Auxiliary magnitude conversion factor
2953
constexpr inline float LN_MAG = 1.0857362f; // 5/ln(100)
3054

3155
// Lowest screen brightness of a point to render
@@ -179,25 +203,6 @@ void anomaly(double meanAnomaly, double eccentricity,
179203
double& trueAnomaly, double& eccentricAnomaly);
180204
double meanEclipticObliquity(double jd);
181205

182-
constexpr inline double speedOfLight = 299792.458; // km/s
183-
constexpr inline double G = 6.672e-11; // N m^2 / kg^2; gravitational constant
184-
constexpr inline double SolarMass = 1.989e30;
185-
constexpr inline double EarthMass = 5.972e24;
186-
constexpr inline double LunarMass = 7.346e22;
187-
constexpr inline double JupiterMass = 1.898e27;
188-
189-
// Angle between J2000 mean equator and the ecliptic plane: 23 deg 26' 21".448
190-
// (Seidelmann, Explanatory Supplement to the Astronomical Almanac (1992), eqn 3.222-1).
191-
constexpr inline double J2000Obliquity = 23.4392911_deg;
192-
193-
constexpr inline double SOLAR_IRRADIANCE = 1367.6; // watts / m^2
194-
constexpr inline double SOLAR_POWER = 3.8462e26; // in watts
195-
196-
// Irradiance of Vega is calculated for the generic V filter
197-
// (http://svo2.cab.inta-csic.es/svo/theory/fps3/index.php?id=Generic/Bessell.V&&mode=browse&gname=Generic&gname2=Bessell#filter.
198-
// The green channel is used to calibrate the point light sources (e.g. stars),
199-
// since it is the closest analog to the V filter of the Johnson system.
200-
constexpr inline double VEGAN_IRRADIANCE = 3.6262e-11; // watts / m^2
201206

202207
namespace literals
203208
{

0 commit comments

Comments
 (0)