Read a colour past either end of the dwarf table at that end, where the star has no type instead
dwarfSequenceAtColor answers null outside Pecaut & Mamajek's table, B−V −0.301 to 2.16 and BP−RP −0.12 to 5.1, and effectiveTemperatureK then fell back on the type, which Gaia's stars do not have and carbon stars' parser does not read. 219 stars with a measured colour got no temperature and so no radius, and were drawn at the Sun's radius in the Sun's colour: 110 white dwarfs within 50 pc, 38 Gaia stars redder than BP−RP 5.1 (Gaia DR3 6439125097427143808, an ultracool dwarf 4.0 pc away), HD 46687, La Superba and the other carbon stars, and an O8 star. Past the table, the colour is now read at the row it is past (clampToTable), but only for a star with no readable type: beside a type an off-table colour is more often the bad measurement — HD 49748 is G5 V at B−V −0.32 — so the type still wins there, as it did. The luminosity reads the same point, so a star past the red end also gets the M8.5 row's G−V and correction. A type's own colour past the table, which only O types have, is read at B0. Carbon and S stars (C, N, R, S) now count as giants, so their correction stays their type's, not an M8.5 dwarf's −5.78. Measured on the shipped catalogue: stars without a temperature 3 053 -> 2 834, without a radius 3 077 -> 2 858; all 292 stars with an off-table colour now have a temperature, against 73. Gaia DR3 6439125097427143808 is 2 420 K and 0.110 R☉ (M8.5 V: 0.104); the 110 white dwarfs a median 0.018 R☉ at 10 700 K (0.0013 to 0.034); HD 46687 212 R☉ at 2 420 K and La Superba 133; audit #16's Gaia DR3 5612323414549657984, k1 Pup, B6 V at BP−RP −0.15, 203 L☉ and 4.1 R☉ against 143 and none (FLAME gives 336 and 3.49). The 2 851 stars left without a radius have neither a colour nor a readable type, or no band. Controls, each failing its named test: no clamp for an untyped star (2 of 784 failed), the clamp winning over a type, an O type's colour unclamped, the luminosity off the unclamped sequence, and carbon stars not counted as giants (1 of 784 each); clampToTable ignored (3 of 784). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -158,6 +158,17 @@ describe('effectiveTemperatureK', () => {
|
||||
expect(effectiveTemperatureK({ magnitude: 11, distancePc: 5, spectralType: 'M5Ve', colorIndex: null })).toBeCloseTo(3106, 0);
|
||||
expect(effectiveTemperatureK({ magnitude: 11, distancePc: 5, spectralType: 'Unknown', colorIndex: null })).toBeNull();
|
||||
});
|
||||
|
||||
it('reads a colour past the table at its end where there is no type, and the type where there is', () => {
|
||||
// An ultracool dwarf redder than M8.5, a white dwarf bluer than B9, and an O star B−V puts at B0.
|
||||
expect(effectiveTemperatureK({ magnitude: 14.005, distancePc: 4.005, spectralType: 'Unknown', magnitudeBand: 'G', colorIndex: 5.113, colorSystem: 'BP-RP' })).toBe(2420);
|
||||
expect(effectiveTemperatureK({ magnitude: 14, distancePc: 25, spectralType: 'Unknown', magnitudeBand: 'G', colorIndex: -0.25, colorSystem: 'BP-RP' })).toBe(10700);
|
||||
expect(effectiveTemperatureK({ magnitude: 7, distancePc: 121, spectralType: 'O8', colorIndex: -0.31, colorSystem: 'B-V' })).toBe(31400);
|
||||
// HD 49748, G5 V at B−V −0.32: the colour is the one that is wrong.
|
||||
const g5 = effectiveTemperatureK({ magnitude: 9, distancePc: 184, spectralType: 'G5V', colorIndex: null })!;
|
||||
expect(effectiveTemperatureK({ magnitude: 9, distancePc: 184, spectralType: 'G5V', colorIndex: -0.319, colorSystem: 'B-V' })).toBe(g5);
|
||||
expect(g5).toBeGreaterThan(5500);
|
||||
});
|
||||
});
|
||||
|
||||
describe('radiusFromLuminositySolar', () => {
|
||||
@@ -165,6 +176,14 @@ describe('radiusFromLuminositySolar', () => {
|
||||
expect(radiusFromLuminositySolar(1, SOLAR_EFFECTIVE_TEMPERATURE_K)).toBeCloseTo(1, 12);
|
||||
});
|
||||
|
||||
it("gives an ultracool dwarf redder than the table an M8.5 dwarf's radius, not none", () => {
|
||||
// Gaia DR3 6439125097427143808, 4.0 pc away at BP−RP 5.11; M8.5 V is 0.104 R☉ (Mamajek).
|
||||
const star = { magnitude: 14.005, distancePc: 4.005, spectralType: 'Unknown', magnitudeBand: 'G', colorIndex: 5.113, colorSystem: 'BP-RP' } as const;
|
||||
const radius = radiusFromLuminositySolar(luminositySolar(star)!, effectiveTemperatureK(star)!);
|
||||
expect(radius / 0.104).toBeGreaterThan(1 / 1.2);
|
||||
expect(radius / 0.104).toBeLessThan(1.2);
|
||||
});
|
||||
|
||||
it('gives Sirius and TRAPPIST-1 their published radii from colour and brightness alone', () => {
|
||||
// 1.711 R☉ (Liebert et al. 2005) and 0.119 R☉ (Agol et al. 2021), each to within a fifth.
|
||||
for (const [star, published] of [
|
||||
|
||||
Reference in New Issue
Block a user