In memory of Alexander Marr and indebted to Isaac Starkman for the ideas from his excellent rectification program Polaris.
Thanks to Fadi Mazboudi and Juan Estadella for their ideas and inspiration.
Secondary, Age Harmonics, Tertiary and PSSR scoring
Secondary: one ephemeris day per 365.242199 elapsed days, Direct and Converse. Progressed RAMC = natal RAMC + progressed Sun right ascension − natal Sun right ascension. All angles and cusps are calculated from that RAMC and progressed obliquity. The restored refinement scores progressed cusps to natal Sun–Pluto and progressed Moon to natal cusps, using 11′ conjunction/opposition and 9′ other-aspect orbs. Direct and Converse compete for the same strongest ordinary contact A and Moon activation M. Events use fixed noon UT; each exact candidate birth instant is retained.
Age Harmonics: exact elapsed age = (event instant − candidate birth instant) / 86400000 / 365.2422. Event dates use fixed noon UT. Every natal planet, both individual lunar nodes and all twelve Topocentric cusps are multiplied by that age, modulo 360°. Aspects are measured between pairs within this single harmonic chart. No natal comparison, solar-RA cusp progression, Direct/Converse duplication, or opposite-cusp substitution is used. Fortune is omitted, matching the Age Harmonics reference. The AH maximum orb is fixed at 1°22′ (82′) for all nine aspects in the event aspect panels.
Each cusp is independent, including Asc, Dsc, MC and IC. Event-eligible houses and North/South Node polarity follow the attached Age Harmonics calculator. Existing Polaris pair weights are retained, applied only to the actual eligible cusp or node. Cusp/cusp weights apply to conjunctions/oppositions only. A is the strongest ordinary weighted contact; M is the strongest Moon activation of a listed cusp (25) or planet/point (15). A Moon pair is evaluated once. Event points = max(A,M) + the selected corroboration fraction × min(A,M). Scoring and validation events remain separate; coverage counts events with positive points.
Tertiary I remains one ephemeris day per 27.32158218 elapsed days, Direct and Converse. Its progressed planets and cusps contact natal factors using 11′ conjunction/opposition and 9′ other-aspect orbs, with solar-RA progression of the cusps. Its existing scoring is retained.
PSSR: calculation routines retained from PSSR Aspects 1.7: four variants of the precessed postnatal/prenatal solar returns, Fagan–Bradley return solving, tropical apparent longitudes and Topocentric natal cusps. Mean North Node is always used in PSSR, matching the standalone calculator. Sun is excluded from the moving side. PSSR retains its own orbs: Moon conjunction/opposition ≤31′, other Moon aspects ≤20′; other factors ≤12′. Opposite-cusp aliases and repeated contacts across variants are deduplicated as in the standalone calculator, retaining the tightest orb and event-preferred cusp.
PSSR has one independent event score across all four variants: strongest ordinary Polaris-weighted contact A, strongest Moon activation M (25/15), and the same adjustable corroboration fraction. The optional PSSR Moon house bonus defaults to 25 points. When enabled, it adds the selected 0–100 points once per event for an in-orb Moon contact to a listed intermediate cusp (2nd, 3rd, 5th, 6th, 8th, 9th, 11th or 12th), after corroboration. Angles and planet targets earn no extra house bonus. Multiple qualifying contacts and return variants do not stack this bonus. Validation-event bonuses stay separate. The four variants do not stack points. Natal Node contacts also honor an event’s South Node rule, as in the standalone PSSR program. PSSR tiles distinguish original event highlighting from numeric scoring. Copy checkboxes affect only copied text.
Returns are solved separately for each exact candidate birthtime. If any required return is outside the embedded range, that candidate’s PSSR score is unavailable; it is never shown as zero or scored from a reduced set of events. TPD and progression results remain available.
Timing keys and house API reference: Astrodienst chart types and Swiss Ephemeris documentation. This is a test scoring model, not a calibrated probability.
Exact scan
Stage 1: TPD scan. Month-only events use the 15th and add 2.5′ to both selected TPD maximum orbs for that event only. Major Aspects Only optionally restricts TPD scoring to 0°, 60°, 90°, 120° and 180°; unchecked includes all nine aspects. Run a new scan after changing. Stage 2: calculate every original scan time’s partility average from its own point-receiving TPD contacts. Stage 3: group averages within 23 seconds for display, retaining every member, then evaluate Secondary progressions, Age Harmonics and tertiary progressions for the top 10 Rank groups plus up to 10 additional Coverage groups. Coverage selects from the complete scan using witnessed events first and TPD rank for ties. Stage 4: PSSR mini-rectification at those same representative candidate times. No additional time range is scanned. Each technique keeps its own score, coverage and rank.
Ranked candidate times
The Rank column follows the current displayed order and filters. Default order: TPD rank. Partility averages are calculated for all scan times. The mini-rectification compares top Rank groups and additional Coverage groups, using a 23-second filter on original birthtimes and partility averages after partility calculation (up to 20 representatives). Secondary and PSSR ranks compare only these candidates. Age Harmonics is calculated for the event aspect panels only. Individual scores remain separate. Combined sums the checked systems at the evaluated TPD shortlist times only; coverage counts distinct witnessed events across the selected systems.
Every original scan time receives its own arithmetic partility average before any Distinct filtering. Distinct list groups results within 23 seconds of either a retained original birthtime or its partility average (including exactly 23 seconds). If no average can be solved, the original sampled time is used for grouping. Grouping changes only presentation: each member retains its own birthtime, TPD score, Coverage, contacts and average. Expand a group to inspect its members, or choose All scan times to see every sampled candidate. Partility CSV exports all scan times’ scored contacts. Secondaries and PSSR evaluate the top 10 Rank groups plus up to 10 additional Coverage groups. Age Harmonics aspects are also calculated for those times and shown in the event panels.
A: angle → planet contacts. B: angle → planet plus planet → angle contacts. C: all cusp → planet plus planet → cusp contacts, including angles and all eight intermediate cusps. Counts include TPD contacts scoring at least 8 points across scoring events, Direct and Converse, with axis aliases counted once. Angles: Asc, MC, Dsc, IC. Planets: Sun through Pluto. Validation events excluded; equal-hit mode gives zero because each contact scores 1 point.
| Rank | Birth time | Average partility birthtime | TPD points | TPD coverage | A | B | C | Secondary refinement · points / rank | Secondary refinement coverage | PSSR refinement · points / rank | PSSR refinement coverage | Combined · points / rank | Combined coverage |
|---|
Combined · TPD + Secondaries + PSSR
Topocentric Primary Directions
Secondary refinement · cusp → planet / Moon → cusp
PSSR mini-rectification · four return variants
Blue: points (left). Gold: coverage (right). Graph order: Combined, TPD, Secondaries, PSSR. TPD shows sampled dots without connecting lines or ordinal labels. Combined, Secondary and PSSR graphs join evaluated shortlisted times with thin lines and show rank/coverage numbers below the points. Combined sums the checked systems, with at least two selected; coverage counts each scoring event once if any selected system scores it. Candidates require results for every selected system. The combined graph is twice the height of each other graph. Shared birthtime axis and cursor.TPD sampled peak regions
Calculation notes, source & validation
Reference: TopocentricPrimaryDirections.html, downloaded 17 September 2026. Its natal/speculum, Kühr planetary and Node directions, Topocentric cusps, Direct/Converse motion, aspects, Naibod timing and maturity routines are retained. The scanner reuses one natal chart and one factor set per candidate.
Embedded Swiss Ephemeris 2.10.03, with its planetary and lunar files for 1200–2399 (Gregorian dates from 8 January 1200). No network or web server is required. The source's latitude restriction (below 66° north/south) and circumpolar checks remain in force. Longitude input is west-positive; the source explicitly converts it to east-positive internally.
Axis duplicates are grouped using the source's axis identities and complementary aspects, checked against the actual directed and natal longitudes modulo 180°. Direct and Converse, and planet → cusp versus cusp → planet, remain separate. Every equivalent expression remains inspectable. In Polaris mode both North and South Node use matrix point 11 weights under the existing nodal-axis convention. Pars Fortuna uses matrix point 12 weights. This shared mapping applies to TPD, progression and PSSR scoring, and to the displayed weight tables. Raw numerical weights are retained internally, with all Pars Fortuna contacts outside conjunction/opposition excluded from scoring in every category and technique, including progression Moon activation. Fortune uses Ascendant + Moon − Sun for both day and night births; separate rule-based Moon activation remains available. Equal-hit mode retains distinct rule names. Equivalent Node-axis expressions count once when both qualify.
The scan includes both endpoints. The main peak regions are contiguous sampled regions at or above 90% of the observed maximum point total, rounded up. All distinct positive-score local peaks below that threshold are also listed, strongest first, without a display limit. Flat summits count once; endpoints are judged against their available sampled neighbor. These are descriptions of the sampled scores, not confidence intervals or proof of an exact second. Categories with more populated rules offer more opportunities to score; no event normalization or orb weighting is applied. Polaris weights are embedded; this is not a claim to reproduce every internal detail of the original Polaris program. Part of Fortune always uses the single day formula: Ascendant + Moon − Sun, normalized to 0–360°, for day and night births alike. It is used only as a natal target. Direct/Converse and reciprocal directions remain distinct; opposite-axis aliases count once.
Age Harmonics refinement (10 October 2026): only progressed house cusp → natal Sun through Pluto, and progressed Moon → natal house cusp can score. Isaac matrix weights apply to cusp → planet; the existing Moon rule awards 25 points to a category-listed cusp. Strongest A/M contact and corroboration settings remain in force. Tertiary and PSSR remain separate supporting results.
Original calculation-engine checks (before the scoring update): four natal charts (northern, equatorial and southern latitudes), 12 event-date comparisons, 120 raw directions and 181 exact maturities matched the reference calculator exactly. Boundary, axis and Node deduplication, binary scoring, tie ordering, 8-second birth changes, endpoints, event import, validation holdout, project reload, CSV exports and cancellation checks passed. Chromium file:// testing with networking disabled recorded no JavaScript errors or external requests.
Progression test-build checks: a 13-candidate scan reproduced all original TPD evidence and scores exactly. Native Swiss Ephemeris comparison of 72 progressed planetary and cusp longitudes agreed within 10⁻⁸ degrees. Moon 25/15 scoring, strongest-contact selection, orb boundaries, TPD cutoff ties, coverage filtering, validation separation, offline operation, project round trip and CSV column consistency were checked. These checks verify the calculation and scoring code; they do not establish rectification accuracy.
PSSR build-2 checks: standalone PSSR Aspects comparisons matched return instants, all four sets of positions, contacts, orbs, phases and event highlights. Candidate birthtime changes of one second are reflected in natal and return calculations. Moon 25/15 scoring, four-variant deduplication, Moon orb boundaries, validation-event separation, unavailable prenatal-date handling and CSV exports passed. The five graphs share one birthtime axis; the combined graph has double height. TPD scores and evidence matched the prior build exactly.
Swiss Ephemeris © Astrodienst AG. WASM packaging © Kuntay Erkus. This combined calculator is supplied under AGPL-3.0-or-later, without warranty. Its application source is this HTML file; the embedded ephemeris source archive and license are retained from the reference file.