The ephemeris module takes a list of bodies and a list of aspects, walks day by day through your date range, and reports every day on which a pair of those bodies came closest to forming one of those angles.
For each day in the range it computes the ecliptic longitude of every selected body at 12:00 UT. For each pair of bodies and each requested aspect it then measures how far the actual separation sits from the exact aspect angle. A day is reported when that deviation is both inside your orb and smaller than the day before and the day after. In other words, the module reports the turning point of the approach, not every day the aspect is loosely in force.
The five aspects are the classical Ptolemaic set:
| Aspect | Glyph | Exact angle | Meaning of the geometry |
|---|---|---|---|
| Conjunction | ☌ | 0° | The two bodies share the same ecliptic longitude. |
| Sextile | ✳ | 60° | One sixth of the circle apart. |
| Square | □ | 90° | One quarter of the circle apart. |
| Trine | △ | 120° | One third of the circle apart. |
| Opposition | ☍ | 180° | Directly across the circle. |
Positions come from JPL DE421, the same planetary ephemeris NASA used for the Lunar Reconnaissance Orbiter, read through the Skyfield library. Nothing here is interpolated from a printed table or approximated with mean orbital elements.
| Field | Accepted values | Default | What it does |
|---|---|---|---|
| Start date | 1900-01-01 to 2050-12-31 | One year ago | First day scanned. The bounds are the usable span of the DE421 kernel, which itself runs from 1899-07-29 to 2053-10-09. |
| End date | Same bounds, on or after the start date, at most 10 years later | Today | Last day scanned. A range longer than 3,660 days is rejected rather than truncated. |
| Planets | Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. At least two. | Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn | Every unordered pair of the selected bodies is tested. Five bodies gives 10 pairs, ten bodies gives 45. |
| Aspects | Conjunction, opposition, square, trine, sextile. At least one. | All five | Which angles to look for. Deselecting aspects you do not use is the cleanest way to cut a result set down to a readable size. |
| Orb | 0.1 to 10.0 degrees, in steps of 0.1 | 1.5° | How far from exact still counts. This is a filter on which turning points are reported, not a widening of the aspect itself. |
| Frame | Geocentric or heliocentric | Geocentric | Where the observer stands. Geocentric is Earth, and uses apparent positions. Heliocentric is the Sun, and uses astrometric positions. |
Observed from the Sun, the Sun has no direction, and the Moon's longitude is effectively the Earth's. Both are silently removed from a heliocentric run, and the response tells you which bodies were dropped. If that leaves fewer than two bodies the request is refused rather than answered with something meaningless. Select at least two of Mercury through Pluto before switching the frame.
For Jupiter, Saturn, Uranus, Neptune and Pluto the module uses the barycentre of each planet and its moons, which is what DE421 provides at this precision. The difference from the planet's own centre is far below the resolution of a daily aspect scan, but it is worth knowing the number is a barycentre and not the planet body.
The goal: list every Mars to Saturn hard aspect in 2026, tightly enough that only the near-exact days appear.
Sign in, then pick Planetary Ephemeris from the module list on the dashboard. The parameter card appears on the left, results fill the card below it.
Start 2026-01-01, end 2026-12-31. That is 365 days, comfortably inside the ten year limit.
Click the chips to leave only Mars and Saturn selected. Two bodies means one pair, so every row in the result is the pair you asked about. Leaving the seven defaults on would give 21 pairs and bury the answer.
For hard aspects only, leave conjunction, square and opposition selected and switch off trine and sextile.
Leave it at 1.5. With slow bodies such as Mars and Saturn a tight orb is safe, because their relative motion is slow enough that the exact day is still found. Widening the orb on slow pairs mostly adds days either side of the same event, it does not find new events.
Geocentric is what a chart from Earth shows, and it is what most Gann and Bradley material assumes unless it says otherwise. Heliocentric removes the retrograde loops, which is a different question, not a better answer.
Click Run computation. A one year range costs 2 compute units. The results card replaces itself with the event table and the header line tells you how many events were found, which frame was used, and what you were charged.
The timeline is drawn between the summary bar and the event table. It answers the question a date-sorted table cannot: when do the aspects bunch up, and which pairs are doing the bunching.
| Channel | Meaning |
|---|---|
| Lane, vertical | The planet pair, in the order your request listed the planets |
| Position, horizontal | The day the pair came closest to the exact angle |
| Marker | The aspect, by shape and colour |
Both shape and colour carry the aspect, so the chart survives being printed in grey and survives a reader who cannot separate the hues. Gold circle is a conjunction, red diamond an opposition, violet square a square, green triangle a trine, blue six-point star a sextile.
The applying flag is deliberately not drawn. At a detected minimum it is true by construction for almost every event, so plotting it would look like information and be none. It stays in the table, where the column heading can explain what it means.
The grey band above the lanes counts events per four-day bucket across every lane at once. That is the clustering, read directly. A tall bar means several pairs reached exactness within the same few days.
The Moon aspects everything roughly monthly, so it supplies most of the events in any run. In the example above, 165 of the 257 events involve the Moon. The density band ends up showing a lunar drumbeat and very little else.
The Hide Moon pairs button beneath the chart removes those lanes and redraws the band from what is left. The note next to it says why. Use the full view to see everything, and the filtered view when you want to know whether the slower bodies were doing anything together.
A tall bar means several pairs reached exactness at once. That is a description of the sky. It is not a description of a market, and this app makes no claim connecting the two.
| Column | What it is | How to read it |
|---|---|---|
| Date | The calendar day of the closest approach, ISO format. | Treat it as a day, not a moment. The scan samples once per day, so the true instant of exactness falls somewhere inside this day or within a few hours of its edges. |
| P1 / P2 | The pair of bodies. | The order is the order of your selection, not an astrological ordering. Mars to Saturn and Saturn to Mars are the same event and appear once. |
| Aspect | Which of the five angles was matched. | Shown with its glyph and name. |
| Sep° | The actual angular separation on that day, 0° to 180°. | Compare it to the aspect's exact angle. A square at 90.60° separation was six tenths of a degree past exact when sampled. |
| Orb° | The distance from exact, that is the absolute difference between Sep° and the aspect angle. | This is the precision column. 0.00 means the sample landed on exactness. Values approaching your orb setting are the loosest events in the set. Sort your thinking by this column, not by the date. |
| A/S | An applying / separating flag. | Read the warning below before using this column for anything. |
It records only whether the deviation from exact was still shrinking on the day before the reported day. Because every reported day is by definition a local minimum, that is true for essentially every interior event, so the column reads A almost everywhere. It does not distinguish applying from separating aspects in the traditional astrological sense. We would rather say so plainly than let you build a rule on it. If applying versus separating matters to your method, derive it from the direction of Sep° across consecutive runs, or from a sub-daily source.
Download CSV gives you the full event list, not just the rows on screen, with these columns:
The download costs nothing. Viewing and exporting results are free, you are only charged when a computation runs. The file is generated in your browser from the result already on screen, so exporting the same result twice is free both times.
| Limit | Detail |
|---|---|
| Daily resolution | One sample per day at 12:00 UT. An event whose exact moment is at 03:00 is reported on the day whose noon sample is closest, and the Orb° you see is measured at noon, not at exactness. |
| Fast pairs need a wider orb | The Moon moves roughly 13° a day. With a 1.5° orb, a lunar aspect can pass between two noon samples without either sample landing inside the orb, so the event is never reported. For any pair involving the Moon, use an orb of at least 7°. |
| Longitude only | Aspects are measured in ecliptic longitude. Declination parallels and contra-parallels are not detected here. Declination does appear in the Bradley siderograph, which uses the Venus and Mars declinations directly. |
| Date bounds | 1900-01-01 to 2050-12-31. Outside that the request is refused, because the kernel's own coverage ends in 2053 and accuracy degrades toward the edges. |
| Ten year maximum | Per request. Longer studies are several requests, which is also how you keep the unit cost visible instead of buried in one large run. |
It tells you when a geometric configuration occurs. It says nothing about what a market did, will do, or should do on those dates, and it does not rank one aspect as more significant than another. There is no forecast in this output and none is implied. Any meaning you attach to a date on this list is your interpretation, tested against your own price history, at your own risk.
| Mistake | What happens | Fix |
|---|---|---|
| Running all ten bodies and all five aspects over ten years | 45 pairs times 5 aspects over 3,652 days. Thousands of rows, and a 20 unit charge, for a question you cannot read the answer to. | Ask one question at a time. Two to four bodies and the aspects you actually use. |
| A tight orb on a Moon pair | Events silently missing, with no error to tell you. | 7° or wider whenever the Moon is selected, or leave the Moon out. |
| Expecting a row for every day the aspect is in orb | Only one row appears per approach, and it looks like days are missing. | That single row is the closest day. It is the answer, not a truncation. |
| Switching to heliocentric with only Sun, Moon and one planet selected | The request is refused, because dropping the Sun and Moon leaves one body and a pair needs two. | Select at least two bodies from Mercury through Pluto before switching frames. |
| Comparing a geocentric run to a heliocentric one date for date | The dates do not line up and it looks like a bug. | They are different observations. Retrograde motion exists in one and not the other. Pick a frame and stay in it for a given study. |
Ephemeris runs are charged at 2 compute units per year of date range, rounded, with a minimum of 1 unit.
| Range | Units |
|---|---|
| 1 month | 2 |
| 1 year | 2 |
| 3 years | 6 |
| 10 years, the maximum | 20 |
A range shorter than a year still costs 2 units, because the charge is computed on a minimum of one year. Units reset daily at midnight UTC. A failed request costs nothing: units are recorded only after a computation succeeds, so a validation error or a refused frame does not spend your quota. See pricing for the daily allowance on each plan.
Crohamhurst is a calculation tool. It produces dates, degrees, levels and tables. It does not produce recommendations, signals or forecasts, and nothing in this guide is financial advice. Trading carries risk of loss.