Find the naked-eye stars Gaia's HIP cross-match lacks by position, and give two unnamed ones back their names

c64eea0 and ff744a0 left 34 of HYG's stars of V 6.5 or brighter off the map for want of a distance,
saying no survey gave them one. Gaia DR3 does, for twelve, above the ETL's own cut of five times
the parallax error: fetchStars looks Gaia up only by HIP number through hipparcos2_best_neighbour,
which lacks some of theirs (66 Ori's among them), and never looks up a HYG row with no HIP number.
HD 197770 is 1.102 +- 0.029 mas; HD 45291 and HD 124953 were on the map only as bare Gaia entries
a second of arc from where HYG has them, so searching their names found nothing.

fetchStars now fetches, once and cached, Gaia DR3's 35 910 sources brighter than G 7.5 with a
usable parallax, and for a naked-eye row nothing else places takes the nearest within 5" and a
magnitude of its V. At 15" theta-1 Ori (HIP 26220) took the source of theta-1 Ori C, 12.9" away and
already on the map; the twelve found are within 4.1". An ETL run from cache: 455 522 stars become
455 532, the naked-eye stars 8 886 become 8 898 (1 663 past 250 pc), with 66 Ori, HD 49567, HD 54309,
HD 74455, HD 114461, 10 Sge, HD 197770, HD 33948, HD 152249 and HD 162678 added, and HD 45291 and
HD 124953 folded into their Gaia entries under their names. 22 stay out, with no distance anywhere.
In the running app HD 197770 reads "907 +- 25 pc", 66 Ori "469 +- 61 pc", HD 45291 "108 pc" and
HD 124953 "46 pc". Four of the twelve have a RUWE above 3.7 in Gaia; the ETL has never filtered on it.

validateStars now also requires HD 197770 and HD 45291. Control: without the positional lookup,
the ETL fails with "HD 197770 is missing" (the naked-eye floor alone would not see twelve stars go),
and the baseline passes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-30 17:36:44 +02:00
co-authored by Claude Opus 5.5
parent 030447b83c
commit 4d47896b4a
6 changed files with 85 additions and 11 deletions
+8 -6
View File
@@ -73,14 +73,16 @@ const MIN_COLOURS_FROM_TEMPERATURE = 40;
*/
const MAX_ARCHIVE_IDS_OFF_THEIR_NAME = 5;
/**
* Every star the naked eye sees, kept at any distance (c64eea0): measured 8 886 of V 6.5 or
* brighter, 1 653 of them past 250 pc. With no magnitude handed to placementDistancePc, 7 379 are
* Every star the naked eye sees, kept at any distance (c64eea0): measured 8 898 of V 6.5 or
* brighter, 1 663 of them past 250 pc. With no magnitude handed to placementDistancePc, 7 379 are
* left and Rigel, Deneb and Alnilam are gone — and every other check passed, the HYG survivors
* going down rather than up.
* going down rather than up. HD 197770 and HD 45291 are two of the twelve only Gaia's bright
* sources place, by position; without that lookup they are gone and the count drops by twelve,
* which the floor alone would not see.
*/
const MIN_NAKED_EYE_STARS = 8_800;
const NAKED_EYE_MAGNITUDE_V = 6.5;
const REQUIRED_DISTANT_STARS = ['Rigel', 'Deneb', 'Alnilam'];
const REQUIRED_NAKED_EYE_STARS = ['Rigel', 'Deneb', 'Alnilam', 'HD 197770', 'HD 45291'];
function validateStars(stars: StarRecord[]): void {
assertCondition(stars.length > 0, 'No stars were produced.');
@@ -166,8 +168,8 @@ function validateStars(stars: StarRecord[]): void {
nakedEye >= MIN_NAKED_EYE_STARS,
`Only ${nakedEye} stars of V ${NAKED_EYE_MAGNITUDE_V} or brighter (at least ${MIN_NAKED_EYE_STARS} expected) — naked-eye stars are no longer kept at any distance.`
);
for (const name of REQUIRED_DISTANT_STARS) {
assertCondition(stars.some((star) => star.name === name), `${name} is missing — a naked-eye star past the survey is no longer kept.`);
for (const name of REQUIRED_NAKED_EYE_STARS) {
assertCondition(stars.some((star) => star.name === name), `${name} is missing — naked-eye stars are no longer kept wherever a survey places them.`);
}
console.log(` ${nakedEye} naked-eye stars.`);