Read a star's bolometric correction off its colour, and carry Gaia's G to V first
A star's luminosity was its absolute magnitude plus a bolometric correction read off its spectral type, with its magnitude taken as V whatever band it was in. Gaia classifies none of its stars, so all of its 379 000 got the Sun's correction, and their G was read as V: TRAPPIST-1 came out at a seventh of its luminosity. The dwarf sequence spectral.ts already reads types off (Pecaut & Mamajek 2013, table 5, online version 2022.04.16) now carries its effective temperature, bolometric correction to V and Gaia G-V columns, and dwarfSequenceAtColor interpolates them at a colour, in the colour's own system. luminositySolar uses it wherever the star's colour is inside the table: the G magnitude is carried to V, then corrected. Only without such a colour does it fall back to the spectral type, as before. Against the archive's own st_lum for the 1 449 hosts that are catalogue stars, the median error goes from 0.038 to 0.022 dex and the 90th percentile from 0.292 to 0.115 dex; within a factor of 1.5, 84.5 % -> 93.8 %. For the 572 hosts Gaia describes: 90th percentile 0.332 -> 0.073 dex, 81.8 % -> 97.0 % within a factor of 1.5. Barnard's Star with no type now reads 0.0029 L_sun against 0.0035 published, and TRAPPIST-1 7.3e-4 against 5.5e-4 (Agol et al. 2021). Across the catalogue, 311 255 of 455 608 stars move by more than 10 % (median ratio 0.90: a G-type star's G is 0.16 brighter than its V), and so do the hosts of 3 158 planets, whose equilibrium temperatures follow as the fourth root. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -96,6 +96,22 @@ describe('luminositySolar', () => {
|
||||
expect(luminositySolar(PROXIMA)!).toBeGreaterThan(uncorrected * 5);
|
||||
});
|
||||
|
||||
it('reads the correction off the colour where the catalogue has no type', () => {
|
||||
// Barnard's Star, 0.0035 L☉ (Dawson & De Robertis 2004), as a star no one classified: the
|
||||
// Sun's correction left it at an eighth of that.
|
||||
const derived = luminositySolar({ magnitude: 9.54, distancePc: 1.8266, spectralType: 'Unknown', magnitudeBand: 'V', colorIndex: 1.57, colorSystem: 'B-V' })!;
|
||||
expect(derived / 0.0035).toBeGreaterThan(1 / 1.5);
|
||||
expect(derived / 0.0035).toBeLessThan(1.5);
|
||||
});
|
||||
|
||||
it('carries a Gaia G magnitude to V before correcting it', () => {
|
||||
// TRAPPIST-1 as Gaia has it, 5.53e-4 L☉ (Agol et al. 2021). Read as V its G is 3.1
|
||||
// magnitudes too bright, and its luminosity comes out seventeen times too high.
|
||||
const derived = luminositySolar({ magnitude: 15.6226, distancePc: 12.467, spectralType: 'Unknown', magnitudeBand: 'G', colorIndex: 4.902, colorSystem: 'BP-RP' })!;
|
||||
expect(derived / 5.53e-4).toBeGreaterThan(1 / 1.5);
|
||||
expect(derived / 5.53e-4).toBeLessThan(1.5);
|
||||
});
|
||||
|
||||
it('clamps a pathological record instead of producing an absurd luminosity', () => {
|
||||
const absurd = luminositySolar({ magnitude: -40, distancePc: 5000, spectralType: 'O5V' })!;
|
||||
expect(Number.isFinite(absurd)).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user