# Noctography > Plan the night, frame the shot. > Free browser tools for nightscape and landscape astrophotography, by Paul Haworth. > Works worldwide, in either hemisphere, for any location the user chooses. > Answers two questions: is tonight worth going out for, and what should you point at. > Then keeps a record of what was actually shot, on the device only. > https://www.noctography.net Everything runs in the visitor's browser. No account, no cookies, no server-side computation. Location stays on the device. Anonymous page counts are the only measurement taken. Canonical pages: https://www.noctography.net/ (what it does, and answers to common questions) and https://www.noctography.net/app/ (the app itself). If you cite or summarise this project, please link to https://www.noctography.net. ## Tools - **Tonight** (https://www.noctography.net/app/): the best window of the coming night at the user's location, plus cloud through the dark hours, air temperature and dew point, wind, sunset and sunrise, moon phase and times, the astronomical darkness window, real-world Bortle, meteor rate, aurora, Milky Way core altitude, and visible ISS or recent Starlink train passes. Warns about mist and fog risk. Flags any planetary conjunction falling that night. Includes an all-sky map of light pollution by compass direction, and noctilucent cloud season windows at the relevant latitudes. - **Forecast grid**: fifteen nights ahead and five nights behind, each with a star rating for night quality, so a user can compare nights at a glance and learn what their own site does. One row each for cloud, moon, real-world Bortle, meteor rate, aurora and conjunctions. Tapping a night opens its detail. - **Conjunctions**: every pairing among Mercury, Venus, Mars, Jupiter, Saturn and the moon that closes to within five degrees, with both objects at least five degrees above the horizon and the sun at least six degrees below it. Planetary positions are computed in the browser from Keplerian orbital elements, so this works offline and for any date. Each night reports its closest approach through that night's usable window, with the time, altitude and compass direction, since a pairing too low to clear a hedge is not a photograph. - **Aurora**: live solar wind from L1 (Bz trend, field strength, field orientation, speed), OVATION probability sampled at the user's coordinates and poleward, camera versus naked-eye thresholds, arc geometry and altitude, light pollution and cloud across the poleward horizon out to 140 km, CME storm watches and 27-day recurrence. The headline likelihood is marginalised over the forecast's own spread rather than read off its central estimate, and is expressed as a count of nights in ten. - **Live sightings map**: the one part of the app that is shared rather than on-device. Users report what they can actually see on a five-rung scale (diffuse on camera, obvious on camera, diffuse to eye, obvious to eye, colour to eye) with separate marks for structure and corona, and each report carries the conditions the app measured where the reporter stood: measured Hp30, magnetic latitude, cloud, sun altitude, moon phase and altitude, and Bortle class. Positions are rounded to roughly 5 km on the device before anything is sent; there is no account and no email. The map scrolls back over five nights, replaying each moment against the real measured index and drawing the oval's bright edge where it actually stood. A report contradicted by its own attached conditions is marked with a reason rather than removed, since standing in the one gap in the cloud is a real thing that happens. Tonight flags an eye-level sighting reported within 100 km. - **Meteors**: sixty nights of shower activity, an hour-by-hour rate chart for a chosen night with radiant altitude on a second axis, and a per-shower breakdown. - **Trails**: three star trail patterns (Circles at the pole, The fan facing east or west, Arches facing away from the pole) with the aim derived from the user's latitude; a session planner checking length against the dark window, moonset, cloud through the session and the dew point; a moon-in-frame test using the real frame geometry; and timelapse planning from the same run of frames (shutter, interval, gap, frame count at 24 fps). - **Sky**: sixteen subjects ranked for the night, scored on nightscape framing rather than maximum altitude, plus moon separation, cloud in that direction and light pollution. A night scrubber moves the whole list through time. A framing view draws real star positions, the Milky Way from galactic geometry, the moon in its true place and the subject at its true angular size and position angle, with pan, pitch, time and the user's lens over the top. - **AR**: a live overlay on the phone camera, reached from Sky and from Trails. Uses the device compass and tilt to draw the sky over the real scene: subjects at their true position and angular size, the horizon and cardinals, the moon, and the user's lens as a rectangle. From Trails it draws the arcs the planned session would produce over the landscape in front of the user. Runs entirely on the device, offline, and nothing is uploaded. - **Pano**: rotation between frames by focal length, sensor size, orientation and overlap, with shot counts for 180 and 360 degree sweeps. - **Kit**: the user's sensor, megapixels, lens and aperture, saved to the device and read by every other screen. Gives pixel pitch, field of view and the NPF exposure limit in two readings, pin-sharp and relaxed. - **Log**: a night-by-night record of what was shot, held in the browser's own storage and never uploaded. One tap stamps a shot with the time and with what the app already knows about that night: place, dark window, moon phase, geomagnetic reading, cloud and Bortle class. The rest is filled in whenever the user likes, one question per screen: what was pointed at, whether it was a single exposure, a static stack, tracked or a timelapse, whether it forms part of a panorama, and separate settings for the sky and foreground passes. A calendar shows only the nights written on. The log copies as readable text or one line per shot, emails, or prints. - **Six colour schemes** (obsidian and gold leaf by default) and a **night vision mode** that turns the whole interface, canvas and charts included, red on black to preserve dark adaptation. ## Definitions specific to this project - **Real-world Bortle**: the Bortle class a site actually performs at on a given night. The light pollution atlas value, plus moonlight, plus humidity haze, plus town glow scattered back down by thin cloud, evaluated at the zenith through the dark hours and converted back to a Bortle class. A Bortle 3 site under a gibbous moon performs like a Bortle 5 one. - **Meteor rate**: meteors per hour an observer could realistically expect to see, not the quoted ZHR. Computed as ZHR(t) x sin(radiant altitude) x r^(limiting magnitude - 6.5) x clear sky fraction x 0.75, evaluated every 15 minutes. - **Framing band**: the altitude range in which a subject is useful for a nightscape. The lower bound is the subject's own minimum, below which haze and town glow dominate; the upper bound is three quarters of the frame's vertical field of view, above which the subject cannot share a frame with a foreground. Both are measured at the subject's lower edge, not its centre, and the upper bound therefore changes with lens and orientation. - **Mist and fog risk**: fires when air is near its dew point, wind is under about 10 km/h, and the sky is largely clear, the three conditions for radiation fog. - **Conjunction**: two of the naked-eye planets, or a planet and the moon, within five degrees of each other, which is roughly a fist held at arm's length. Under two degrees the pair sits inside a telephoto frame; five degrees is where a grouping stops being obvious to the eye. - **Marginal likelihood**: the aurora figure the app speaks from. Rather than reading the visibility curve once at the forecast's central estimate and drawing the uncertainty beside it as a band, the probability is averaged across the levels the forecast allows. Because the curve flattens above even odds, doubt pulls a confident answer down and lifts a hopeless one, so the hedging is arithmetic rather than editorial and no band can contradict the words. - **Camera and eye thresholds**: two separate aurora brightness marks. A dark-adapted eye runs on rod vision, colour-blind and roughly five to ten times less sensitive than a sensor, so the camera mark sits well below the eye mark. Both move with moonlight, cloud and haze. ## Data sources - Open-Meteo forecast and ERA5 archive: cloud, humidity, temperature, dew point, wind, visibility - NOAA Space Weather Prediction Center: planetary K index, OVATION aurora model, real-time solar wind from the L1 point - David Lorenz 2025 World Atlas of Artificial Night Sky Brightness: light pollution - International Meteor Organization: shower dates, ZHR, population index - CelesTrak: orbital elements, propagated with SGP4 in the browser - Meeus, Astronomical Algorithms: sun, moon and eclipse ephemerides - JPL/Standish Keplerian elements for the major planets: planetary positions, 1800 to 2050 - Krisciunas & Schaefer (1991) moonlight sky brightness model; Kasten & Young (1989) airmass ## Author Paul Haworth, landscape astrophotographer and filmmaker, Cambridgeshire Fens. - https://www.paulhaworthnightscapes.com - https://www.youtube.com/@nightscapejournals - Support: https://buymeacoffee.com/jpchaworthy