---
title: Moon Avoidance
description: "The moon does not ruin every filter equally: a 3nm Ha filter shrugs off moonlight that makes a Luminance sub worthless. Astro PM models moon tolerance **per filter**, with a physically motivated curve you can see and tune – so…"
url: "https://astro-pm.com/docs/moon-avoidance-profiles/"
updated: "2026-07-12"
category: Astro PM App Guide / Projects
---

# Moon Avoidance

The moon does not ruin every filter equally: a 3nm Ha filter shrugs off moonlight that makes a Luminance sub worthless. Astro PM models moon tolerance **per filter**, with a physically motivated curve you can see and tune – so a bright-moon night is automatically spent on narrowband, and dark hours are protected for the filters that truly need them.

### How Astro PM Decides "Moon-Safe"

For every 5-minute slot of the night, each filter’s profile is evaluated with a four-layer decision. The first layer that passes makes the slot safe for that filter:

1. **Moon below the horizon** – always safe. Moon-down time is the universal currency.
2. **Moon at or below Max Alt** – a low-hanging moon is heavily dimmed by the atmosphere; below this altitude cap the slot is safe regardless of phase.
3. **Illumination at or below Max Illumination %** – a thin crescent is harmless; below this threshold the moon’s position is ignored entirely.
4. **Separation check** – otherwise, the target must be farther from the moon than the *required separation* for this moment, which comes from the avoidance curve below.

If all four fail, the slot is moon-blocked for that filter – and the scheduler simply plans a more tolerant filter (or another target) into it.

### The Avoidance Curve: Separation & Width

The required separation is not a fixed number – it follows the lunar cycle with a **Lorentzian curve** peaked at full moon:

`required separation = Separation / (1 + (days from full / Width)²)`

- **Separation (°)** is the peak requirement, applied at full moon with the moon high in the sky.
- **Width (days to 50%)** is how fast the requirement falls off: the number of days from full moon at which the requirement has dropped to half. A large Width keeps avoidance strict across most of the cycle; a small Width concentrates it in a tight window around full.

At new moon the requirement is nearly zero – almost everything is safe; approaching full it climbs toward the peak. This is the curve shown in the interactive chart:

[![](https://astro-pm.com/wp-content/uploads/2026/07/Screenshot-2026-07-12-130255.png)](https://astro-pm.com/wp-content/uploads/2026/07/Screenshot-2026-07-12-130255.png)

Reading the chart: the faint yellow area is moon illumination across the 29.5-day cycle; the blue line is your current profile *with* altitude relaxation; the orange dashed line is the same profile *without* relaxation; the green line previews values you are editing. With **Show Target Separation** on, the actual moon-target distance is overlaid – white where it clears the requirement (safe), red where it does not. Phase markers (new, quarters, full) and a “today” line anchor you in the cycle.

### Altitude Relaxation: Relax Scale, Min Alt, Max Alt

A moon sitting just above the horizon is far less damaging than the same moon at 60°. The relaxation settings encode that:

- **Max Alt (°)** – at or above this altitude the full Separation and Width apply (default 5°).
- **Relax Scale** – for every degree the moon sits *below* Max Alt, the required separation is reduced by this many degrees. 0 disables relaxation entirely.
- **Min Alt (°)** – the bottom of the relaxation range; by the time the moon reaches it, the Width has collapsed and avoidance effectively disappears. A slightly negative value (default -15°) keeps a small margin around moonset.

Between Max Alt and Min Alt, both Separation and Width scale down progressively as the moon descends – so the last hour before moonset opens up gradually rather than flipping from blocked to open.

### Settings Reference

| Setting | Range | Default | Plain meaning |
| --- | --- | --- | --- |
| Separation (°) | 0-180 | 60 | peak distance required at full moon, moon high |
| Width (days to 50%) | 0.1-30 | 7 | days from full moon where requirement halves |
| Relax Scale | 0-10 | 0 | degrees of forgiveness per degree of low moon |
| Min Alt (°) | -90-90 | -15 | below this, avoidance is effectively off |
| Max Alt (°) | -90-90 | 5 | above this, full strictness applies |
| Max Illumination (%) | 0-100 | 40 | at or below this phase, always safe |

### The Built-In Profiles

Four ready-made profiles ship with Astro PM (built-ins cannot be deleted, but you can clone and adjust):

| Profile | Sep | Width | Relax | Min/Max Alt | Max Illum | Use for |
| --- | --- | --- | --- | --- | --- | --- |
| **No Moon** | 180° | 14d | 0 | -90° / -2° | 0% | the moon must be down – darkest-sky work |
| **Strict** | 90° | 8d | 0 | -15° / 5° | 30% | broadband L, R, G, B |
| **Moderate** | 60° | 5d | 2 | -15° / 5° | 60% | mid-width narrowband (7nm OIII etc.) |
| **Relaxed** | 25° | 3d | 3 | -15° / 5° | 80% | 3nm Ha / SII – moonlight barely registers |

### Assigning Profiles: Project Default, Named, or No LA

Every exposure line in a project has a **Moon Avoidance Profile** selector with three kinds of choices:

- **A named profile** (built-in or your own) – global: edit it once and every project using it follows.
- **Project Default** – uses the moon settings saved on *this project* (the fields under “Enable Moon Avoidance” in the project editor). Good for one-off tuning without touching your library.
- **No LA** – no lunar avoidance at all; this filter images regardless of the moon.

New projects seed their defaults from your app-wide defaults, so your house style carries forward automatically. Typical setup: broadband lines on *Strict*, narrowband lines on *Relaxed*, and a luminance-hungry galaxy project on *No Moon*.

[![](https://astro-pm.com/wp-content/uploads/2026/07/Screenshot-2026-07-12-130335.png)](https://astro-pm.com/wp-content/uploads/2026/07/Screenshot-2026-07-12-130335.png)

### What the Scheduler Does With It

Profiles do not just filter time – they drive allocation strategy. The engine groups a target’s filters into **tiers** by restrictiveness, then treats the night as two resources:

- **Moon-down time** is the scarce currency. It goes to the most restrictive work first – and targets whose filters can *only* shoot moon-down (the No Moon tier) get first claim before moon-flexible projects touch it.
- **Moon-up time** goes to the least restrictive tier that is safe in each slot. With the moon rising, relaxed filters run first, saving stricter work for after moonset; with the moon setting, the order flips as conditions improve.

The result on a bright night: Ha subs while the moon rides high, OIII as it sinks, broadband only in the true dark – without you scheduling any of it by hand.

### Where You See It: Charts & Simulator

Moon avoidance is visible everywhere planning happens:

- **Visibility chart** – the red band shows moon-up hours during darkness; the green recommended-exposure bands are drawn *per tier*, stacked light-to-dark from most tolerant to most restrictive, so you can see exactly which filters get time on any given night of the season.
- **Nightly graph** – the moon’s altitude arc is drawn in red with the same stacked green bands, plus filter pills marking which filters are imageable in the usable window.
- **The simulator and NINA** run the identical rules – same curve, same constants – so the plan you see is the plan that executes at the observatory.

[![](https://astro-pm.com/wp-content/uploads/2026/07/Screenshot-2026-07-12-130504.png)](https://astro-pm.com/wp-content/uploads/2026/07/Screenshot-2026-07-12-130504.png)
Nightly Graph showing Lunar Avoidance

   **Tip:** Sanity-check a new profile with the chart window’s “Show Target Separation” overlay on a real target: white line above the curve means safe nights, red means blocked. Ten seconds of looking beats a week of wondering why a filter never gets scheduled.
