Skip to Content
ReferenceCLIconstellation walker

orbitforge constellation walker

Synopsis

orbitforge constellation walker \ --name <NAME> --planes <N> --sats-per-plane <N> \ --altitude-km <KM> --inclination-deg <DEG> --output <PATH> [OPTIONS]

Description

Generates a Walker constellation: satellites distributed evenly across planes, and evenly within each plane, so that coverage gaps are spread rather than clustered.

The output is a constellation definition, not a trajectory. It fixes where the satellites start; simulate advances them through time.

Options

ParameterTypeUnitDefaultRequiredDescription
--namestringn/a—YesConstellation name, used for satellite identifiers and labels.
--planesintegercount—YesNumber of orbital planes.
--sats-per-planeintegercount—YesSatellites per plane, evenly spaced in true anomaly.
--altitude-kmfloatkm—YesOrbit altitude above the reference ellipsoid.
--inclination-degfloatdeg—YesInclination. Sets the latitude ceiling; see the warning below.
--outputpathn/a—YesOutput constellation JSON path.
--patternenumn/adeltaNo`delta` spreads RAAN over 360 degrees; `star` spreads it over 180.
--phasingintegern/a1NoInter-plane phasing factor F, where 0 <= F < planes.
--raan-offset-degfloatdeg0NoRAAN of the first plane. Rotates the whole shell without changing its geometry.
--fov-degfloatdeg45NoPayload field of view, used later for coverage footprints.

Worked examples

Walker Delta

orbitforge constellation walker \ --name demo --planes 6 --sats-per-plane 10 \ --altitude-km 550 --inclination-deg 53 --fov-deg 45 \ --output demo.json
Generated 'demo' with 60 satellites (6 planes x 10 per plane) -> demo.json

Walker Star, near-polar

orbitforge constellation walker \ --name star --planes 6 --sats-per-plane 8 \ --altitude-km 800 --inclination-deg 98 --pattern star --fov-deg 40 \ --output star.json
Generated 'star' with 48 satellites (6 planes x 8 per plane) -> star.json

An inclination of 98 degrees is retrograde and close to sun-synchronous at this altitude, which is the usual choice for Earth observation.

Delta and Star

PatternRAAN spreadCharacter
delta360 degreesEven coverage between the inclination limits. The usual choice for broadband and Earth observation
star180 degreesPlanes converge over the poles. Strong polar coverage, with a seam where ascending and descending planes meet

A Star pattern concentrates planes into a half-sphere of RAAN, so ascending and descending planes counter-rotate relative to each other. Where they meet, the relative velocity between adjacent planes is at its largest, which matters if you intend to fly inter-satellite links across that seam.

Phasing

--phasing sets the offset applied to each successive plane, so that satellites in adjacent planes do not all cross the equator at the same moment:

ΔΩ=360∘p,Δν=360∘s,offset per plane=360∘Fp⋅s\Delta\Omega = \frac{360^\circ}{p}, \qquad \Delta\nu = \frac{360^\circ}{s}, \qquad \text{offset per plane} = \frac{360^\circ F}{p \cdot s}

where pp is planes, ss is satellites per plane, and FF is the phasing factor.

The value matters. A poor choice clusters satellites at plane crossings, which both wastes coverage and creates the close approaches that conjunction screen exists to find. Screen any design whose phasing you have changed.

The inclination ceiling

Inclination sets a hard limit on the latitude that can be covered at all. A 53-degree constellation never passes over the poles, so polar ground points are never covered by any satellite in it, regardless of how many you add.

This appears in coverage output as a minimum of 0.0 percent alongside a healthy mean. See coverage and revisit.

InclinationReachesTypical use
0 degreesEquator onlyGeostationary and equatorial systems
53 degreesUp to 53 degrees latitudeBroadband, where most people live
98 degreesEverything, retrogradeSun-synchronous Earth observation

What the output contains

The constellation JSON holds each satellite’s identifier and initial Keplerian elements, plus the field of view. It carries no payload, mass, or RF properties, because those are supplied to the analysis commands that need them.

Satellite identifiers follow the pattern <name>-s0-p<plane>-sat<index>, for example demo-s0-p00-sat00. Error messages from later commands name satellites this way, so the identifier tells you which plane and slot failed.

See also

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on