Bring the figures the comments quote back to what the catalogue now holds
Later commits on this branch (0e9ab6f,ff744a0,8c3a860, and this round's fold, positional lookup and parallax fallback) changed counts that comments in build.ts, star-readouts.ts, star-catalog.ts and fetchExoplanets.ts still quoted as "measured" or "today". Each is now the value measured on the published catalogue after an ETL run from cache (decoded with decodeStarCatalog, or from the validator log where it prints them): - distances without a published error 439 -> 346, the Gliese ones 357 -> 264 (82 archive); - parallax distances ranged 1 109 -> 1 116; HYG stars at Gaia's distance 8 129 -> 8 105, and the Gaia-placed stars HYG describes 62 002 -> 61 713 at Gaia's distance, 62 097 in all; - HYG rows without a Gaia counterpart 11 554 -> 11 478: past 250 pc 8 307 (1 660 naked-eye), inside it 3 170 (1 204 brighter than V 8, 1 804 from 8 to 12, 162 fainter, 112 of them Gliese stars within 50 pc); the sentence also said those were every star past 250 pc, which the archive's hosts no longer let it be; - planets with a host 6 327 -> 6 328, the 26 left having neither a distance nor a parallax; - renamed hosts 575 -> 574; the composite table fills 100 of the 127 blank distances, not "the 100". No ceiling or floor changes; comments only. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@ import { HudReadout } from '../hud/hud-dock.component';
|
|||||||
/**
|
/**
|
||||||
* The catalogue that describes a star — its name, type and photometry — as the readout names it.
|
* The catalogue that describes a star — its name, type and photometry — as the readout names it.
|
||||||
*
|
*
|
||||||
* Not the same as `source`, which records whose *position* the star has: 62 002 stars HYG
|
* Not the same as `source`, which records whose *position* the star has: 62 097 stars HYG
|
||||||
* describes sit where Gaia places them, and carry `gaia`. What gives them away is their V
|
* describes sit where Gaia places them, and carry `gaia`. What gives them away is their V
|
||||||
* magnitude, which only HYG and the archive measure and the archive's stars have their own source.
|
* magnitude, which only HYG and the archive measure and the archive's stars have their own source.
|
||||||
*/
|
*/
|
||||||
@@ -77,8 +77,9 @@ function radiusReadout(radiusSolar: number, derived: boolean): HudReadout {
|
|||||||
* Exoplanet Archive places, which sit at its own distances — a lensing model's for the
|
* Exoplanet Archive places, which sit at its own distances — a lensing model's for the
|
||||||
* microlensing hosts among them, OGLE-2005-BLG-390L's 6.6 kpc for one, with no parallax behind it —
|
* microlensing hosts among them, OGLE-2005-BLG-390L's 6.6 kpc for one, with no parallax behind it —
|
||||||
* and the HYG stars neither Hipparcos nor Gaia measured, which sit at the Gliese catalogue's. Those
|
* and the HYG stars neither Hipparcos nor Gaia measured, which sit at the Gliese catalogue's. Those
|
||||||
* have no published error, and of the 313 on the map about 154 have a photometric or spectroscopic
|
* have no published error, and of the 313 on the map before 49 were folded into the Gaia source SIMBAD names
|
||||||
* parallax in CNS3 (Gliese & Jahreiss 1991), none measured: GJ 3522 at 4.46 pc is 1000/224 mas.
|
* them as (264 now), about 154 had a photometric or spectroscopic parallax in CNS3 (Gliese &
|
||||||
|
* Jahreiss 1991), none measured: GJ 3522 at 4.46 pc is 1000/224 mas.
|
||||||
*/
|
*/
|
||||||
export function positionsNote(stars: readonly StarRecord[]): string {
|
export function positionsNote(stars: readonly StarRecord[]): string {
|
||||||
const archive = stars.filter((star) => star.source === 'exoplanet-archive').length;
|
const archive = stars.filter((star) => star.source === 'exoplanet-archive').length;
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export const BYTES_PER_STAR_META =
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Bits of the photometry column. The band takes two: none (a stand-in magnitude), V or G. None
|
* Bits of the photometry column. The band takes two: none (a stand-in magnitude), V or G. None
|
||||||
* of it follows from the source, which records where the *position* came from: 62 002 stars
|
* of it follows from the source, which records where the *position* came from: 62 097 stars
|
||||||
* Gaia places keep HYG's V and B−V, and the archive's stars in G have a B−V from their
|
* Gaia places keep HYG's V and B−V, and the archive's stars in G have a B−V from their
|
||||||
* temperature. The next bit says whose parallax the distance is, which for a HYG star Gaia did
|
* temperature. The next bit says whose parallax the distance is, which for a HYG star Gaia did
|
||||||
* not place can still be Gaia's, and the last whether the colour was read off a temperature.
|
* not place can still be Gaia's, and the last whether the colour was read off a temperature.
|
||||||
|
|||||||
+16
-15
@@ -24,7 +24,7 @@ function assertCondition(condition: boolean, message: string): void {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Stars whose magnitude is a stand-in, and distances published without an error. Measured 309 and
|
* Stars whose magnitude is a stand-in, and distances published without an error. Measured 309 and
|
||||||
* 439: the 44 Gaia sources with no G and the 265 archive hosts with neither V nor G; the 357 Gliese
|
* 346: the 44 Gaia sources with no G and the 265 archive hosts with neither V nor G; the 264 Gliese
|
||||||
* distances (no Hipparcos parallax behind them) and 82 archive hosts the archive gives no error
|
* distances (no Hipparcos parallax behind them) and 82 archive hosts the archive gives no error
|
||||||
* for. Losing either field loses it for hundreds of thousands of stars.
|
* for. Losing either field loses it for hundreds of thousands of stars.
|
||||||
*/
|
*/
|
||||||
@@ -33,7 +33,7 @@ const MAX_STARS_WITHOUT_DISTANCE_ERROR = 1_000;
|
|||||||
/**
|
/**
|
||||||
* What the errors themselves come to, which the two counts above cannot see: Gaia's parallax_error
|
* What the errors themselves come to, which the two counts above cannot see: Gaia's parallax_error
|
||||||
* stored in milliarcseconds rather than over the parallax still encodes, decodes and passes both.
|
* stored in milliarcseconds rather than over the parallax still encodes, decodes and passes both.
|
||||||
* Measured: the median relative error of the stars at Gaia's distance is 0.33 %, and 1 109 parallax
|
* Measured: the median relative error of the stars at Gaia's distance is 0.33 %, and 1 116 parallax
|
||||||
* distances (0.24 % of the stars) have one of a fifth or more, which the card prints as a range.
|
* distances (0.24 % of the stars) have one of a fifth or more, which the card prints as a range.
|
||||||
* The mistake above gives 1.92 % and 17 689.
|
* The mistake above gives 1.92 % and 17 689.
|
||||||
*/
|
*/
|
||||||
@@ -41,8 +41,8 @@ const MAX_MEDIAN_GAIA_DISTANCE_ERROR = 0.01;
|
|||||||
const MAX_RANGED_DISTANCE_SHARE = 0.01;
|
const MAX_RANGED_DISTANCE_SHARE = 0.01;
|
||||||
/**
|
/**
|
||||||
* HYG stars that keep their own row but sit at Gaia's distance, which fetchStars flags for the card
|
* HYG stars that keep their own row but sit at Gaia's distance, which fetchStars flags for the card
|
||||||
* to say "HYG, Gaia DR3 distance". Measured 8 129; the flag dropped leaves none, and nothing else
|
* to say "HYG, Gaia DR3 distance". Measured 8 105; the flag dropped leaves none, and nothing else
|
||||||
* notices — the other 62 002 carry it from their Gaia row.
|
* notices — the other 61 713 carry it from their Gaia row.
|
||||||
*/
|
*/
|
||||||
const MIN_HYG_STARS_AT_GAIA_DISTANCE = 6_000;
|
const MIN_HYG_STARS_AT_GAIA_DISTANCE = 6_000;
|
||||||
/**
|
/**
|
||||||
@@ -225,19 +225,19 @@ function validateStars(stars: StarRecord[]): void {
|
|||||||
* The other failure leaves no close pair at all, because proper motion had already carried the
|
* The other failure leaves no close pair at all, because proper motion had already carried the
|
||||||
* two entries tens of arcseconds apart — the 2026-08-24 refresh, where HYG sat at epoch 2000.0
|
* two entries tens of arcseconds apart — the 2026-08-24 refresh, where HYG sat at epoch 2000.0
|
||||||
* and Gaia at J2016.0. What it does leave is HYG rows that found no counterpart: 36 056 of them
|
* and Gaia at J2016.0. What it does leave is HYG rows that found no counterpart: 36 056 of them
|
||||||
* against the 11 554 today, and no counterpart was possible for most of those. 8 301 of them are
|
* against the 11 478 today, and no counterpart was possible for most of those. 8 307 of them are
|
||||||
* every star in the published catalogue beyond 250 pc, which the main query never downloads: 6 835
|
* every star beyond 250 pc but the archive's planet hosts, which the main query never downloads: 1 660
|
||||||
* that Gaia's parallax puts past `ETL_GAIA_DISTANCE_PC` while Hipparcos put them inside
|
* naked-eye stars kept at any distance, and 6 647 fainter ones that Hipparcos put inside
|
||||||
* `ETL_STAR_DISTANCE_PC`, and 1 466 naked-eye stars kept at any distance. The other 3 252 are what
|
* `ETL_STAR_DISTANCE_PC` while Gaia's parallax puts them past `ETL_GAIA_DISTANCE_PC`. The other
|
||||||
* Gaia genuinely lacks: 1 194 brighter than V 8, which it saturates on or measures poorly, 1 832
|
* 3 170 are what Gaia genuinely lacks: 1 204 brighter than V 8, which it saturates on or measures
|
||||||
* between 8 and 12, and 226 fainter, 184 of them Gliese stars within 50 pc that neither of its
|
* poorly, 1 804 between 8 and 12, and 162 fainter, 112 of them Gliese stars within 50 pc that
|
||||||
* queries holds. So the headroom left to the ceiling tracks the gap between those two cutoffs as
|
* neither of its queries holds. So the headroom left to the ceiling tracks the gap between those two cutoffs as
|
||||||
* much as Gaia's completeness.
|
* much as Gaia's completeness.
|
||||||
*
|
*
|
||||||
* This bounds a merge that went wrong, and — loosely — a Gaia download that came back short: a
|
* This bounds a merge that went wrong, and — loosely — a Gaia download that came back short: a
|
||||||
* truncated answer leaves the HYG rows whose counterpart it dropped without one, so survivors go
|
* truncated answer leaves the HYG rows whose counterpart it dropped without one, so survivors go
|
||||||
* *up*, not down. Measured on the main query when it was the only one, with 10 886 survivors
|
* *up*, not down. Measured on the main query when it was the only one, with 10 886 survivors
|
||||||
* against today's 11 554: 11 004 at nine tenths of its rows, 12 711 at half, 16 258 at a third. So
|
* against today's 11 478: 11 004 at nine tenths of its rows, 12 711 at half, 16 258 at a third. So
|
||||||
* this ceiling only catches a deep truncation, and `fetchGaiaStars` catches the shallower ones
|
* this ceiling only catches a deep truncation, and `fetchGaiaStars` catches the shallower ones
|
||||||
* with a row floor on each query.
|
* with a row floor on each query.
|
||||||
*/
|
*/
|
||||||
@@ -326,8 +326,9 @@ function validateBodies(bodies: BodyRecord[]): void {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The share of planets that must have a star on the map: 6 327 of 6 354 did when the ETL began
|
* The share of planets that must have a star on the map: 6 327 of 6 354 did when the ETL began
|
||||||
* adding the hosts the catalogue lacks from the archive's own figures, up from 2 071. The other
|
* adding the hosts the catalogue lacks from the archive's own figures, up from 2 071, and 6 328
|
||||||
* 27 have no distance in either archive table, so nothing can place them; the floor leaves room
|
* once a blank sy_dist gave way to the parallax (mu2 Sco b). The other 26 have neither a distance
|
||||||
|
* nor a parallax in either archive table, so nothing can place them; the floor leaves room
|
||||||
* for a few more of those, not for the matching or the additions to stop working.
|
* for a few more of those, not for the matching or the additions to stop working.
|
||||||
*/
|
*/
|
||||||
const MIN_HOSTED_SHARE = 0.995;
|
const MIN_HOSTED_SHARE = 0.995;
|
||||||
@@ -357,7 +358,7 @@ function validateExoplanets(exoplanets: ExoplanetRecord[], stars: StarRecord[]):
|
|||||||
const host = starsById.get(exoplanet.hostStarId);
|
const host = starsById.get(exoplanet.hostStarId);
|
||||||
assertCondition(host !== undefined, `Exoplanet ${exoplanet.id} references unknown star id ${exoplanet.hostStarId}.`);
|
assertCondition(host !== undefined, `Exoplanet ${exoplanet.id} references unknown star id ${exoplanet.hostStarId}.`);
|
||||||
// A host known only as "Gaia DR3 2635476908753563008" cannot be found by searching for
|
// A host known only as "Gaia DR3 2635476908753563008" cannot be found by searching for
|
||||||
// TRAPPIST-1; fetchExoplanets names it after its host, and 575 were renamed.
|
// TRAPPIST-1; fetchExoplanets names it after its host, and 574 were renamed.
|
||||||
assertCondition(!isDesignation(host!), `Exoplanet ${exoplanet.id}'s host is only a designation, ${host!.name}, not named after ${exoplanet.hostStarName}.`);
|
assertCondition(!isDesignation(host!), `Exoplanet ${exoplanet.id}'s host is only a designation, ${host!.name}, not named after ${exoplanet.hostStarName}.`);
|
||||||
// The Sun has no exoplanets, so any match to it is a matching failure — historically a
|
// The Sun has no exoplanets, so any match to it is a matching failure — historically a
|
||||||
// blank distance column parsing as 0, which puts the host at the origin and matches Sol
|
// blank distance column parsing as 0, which puts the host at the origin and matches Sol
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ const CACHE_FILE = `exoplanet-archive-ps-${createHash('sha1').update(TAP_URL).di
|
|||||||
* each column from wherever it is best measured, so an orbit read from it could pair one paper's
|
* each column from wherever it is best measured, so an orbit read from it could pair one paper's
|
||||||
* eccentricity with another's argument of periastron; none of its orbital columns are asked for.
|
* eccentricity with another's argument of periastron; none of its orbital columns are asked for.
|
||||||
* Its system columns equal the default rows' wherever both are given (6 225 distances, 6 352
|
* Its system columns equal the default rows' wherever both are given (6 225 distances, 6 352
|
||||||
* positions, none different). What it adds is the 100 distances the default rows leave blank,
|
* positions, none different). What it adds is 100 of the 127 distances the default rows leave blank,
|
||||||
* TRAPPIST-1's seven among them, 870 host masses, and the parallax, photometry and stellar
|
* TRAPPIST-1's seven among them, 870 host masses, and the parallax, photometry and stellar
|
||||||
* parameters below — each of which may come from a different reference.
|
* parameters below — each of which may come from a different reference.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user