Presets
- dsns.presets.ground_constellation(id_helper: IDHelper, aws: bool = False, connected: bool = False, reduced: bool = False, **kwargs) Constellation
Build a ground constellation using the locations of AWS ground stations.
- Parameters:
id_helper – ID helper to use.
aws – Whether to use the locations of AWS ground stations.
connected – Whether to connect the ground stations using fixed links.
reduced – If true, limit to ground stations within 60 degrees of the equator.
**kwargs – Additional arguments to pass to the GroundConstellation constructor.
- dsns.presets.gps_constellation(id_helper: IDHelper, **kwargs) Constellation
Build a GPS constellation.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the WalkerConstellation constructor.
- dsns.presets.iridium_constellation(id_helper: IDHelper, **kwargs) Constellation
Build an Iridium constellation.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the WalkerConstellation constructor.
- dsns.presets.small_iridium_constellation(id_helper: IDHelper, **kwargs) Constellation
Build a constellation similar to Iridium, but with only 2 planes and 4 satellites per plane.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the WalkerConstellation constructor.
- dsns.presets.starlink_constellation(id_helper: IDHelper, use_tle: bool = False, **kwargs) Constellation
Build a Starlink constellation, based on the proposal for phase 1, or on TLE data.
- Parameters:
id_helper – ID helper to use.
use_tle – Whether to use TLE data.
**kwargs – Additional arguments to pass to the Constellation constructor.
- dsns.presets.cubesat_constellation(id_helper: IDHelper, url_cubesats: str | None = None, file_cubesats: str | None = None, epoch: datetime | None = None, **kwargs) Constellation
Build a constellation of all CubeSats currently in orbit.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the TLEConstellation constructor.
- dsns.presets.viasat_constellation(id_helper: IDHelper, **kwargs) Constellation
Build a Viasat-3 constellation. This constellation is composed of 3 geostationary satellites.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the WalkerConstellation constructor.
- dsns.presets.mpower_constellation(id_helper: IDHelper, **kwargs) Constellation
Build an O3b mPOWER constellation. This constellation is composed of 7 satellites in MEO, with a semi-major axis of 14444 km.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the WalkerConstellation constructor.
- dsns.presets.dsn_constellation(id_helper: IDHelper, **kwargs) Constellation
Build a Deep Space Network constellation. This constellation is composed of 3 ground stations.
- Parameters:
id_helper – ID helper to use.
**kwargs – Additional arguments to pass to the GroundConstellation constructor.
- dsns.presets.ground_ill_helper(ground_constellation: Constellation, space_constellation: Constellation, min_elevation=20.0) GroundILLHelper
Build an inter-layer link helper for a ground constellation and a space constellation.
- Parameters:
ground_constellation – Ground constellation.
space_constellation – Space constellation.
min_elevation – Minimum elevation angle for visibility (degrees).
- dsns.presets.dsn_ill_helper(dsn_constellation: Constellation | list[int], space_constellation: Constellation | list[int], space_body_radius: float) OcclusionILLHelper
Build an inter-layer link helper for a DSN constellation and a space constellation.
- Parameters:
dsn_constellation – DSN constellation.
space_constellation – Space constellation.
space_body_radius – Radius of the body around which the space constellation orbits (m).
- dsns.presets.interplanetary_ill_helper(constellation_a: Constellation | list[int], constellation_b: Constellation | list[int], radius_a: float, radius_b: float, max_links: int = 1) OcclusionILLHelper
Build an inter-layer link helper for a connection between two constellations orbiting different bodies.
- Parameters:
constellation_a – First constellation.
constellation_b – Second constellation.
radius_a – Radius of the body around which the first constellation orbits (m).
radius_b – Radius of the body around which the second constellation orbits (m).
max_links – Maximum number of links per satellite.
- dsns.presets.leo_leo_ill_helper(leo_constellation_a: Constellation, leo_constellation_b: Constellation) DistanceILLHelper
Build an inter-layer link helper for two LEO constellations.
- Parameters:
leo_constellation_a – First LEO constellation.
leo_constellation_b – Second LEO constellation.
- class dsns.presets.GroundMultiConstellation
Preset multi-constellation for a ground “constellation” consisting of ground stations only. Ground stations are connected to each other using fixed links.
- __init__()
- class dsns.presets.GPSMultiConstellation
Preset multi-constellation for a GPS constellation with ground stations. GPS satellites are connected to the ground stations based on visibility.
- __init__()
- class dsns.presets.IridiumMultiConstellation(iridium_kwargs: dict[str, Any] = {})
Preset multi-constellation for the Iridium constellation connected to ground stations.
- __init__(iridium_kwargs: dict[str, Any] = {})
- class dsns.presets.StarlinkMultiConstellation(starlink_kwargs: dict[str, Any] = {})
Preset multi-constellation for a Walker constellation corresponding to a proposal for phase 1 of the Starlink constellation.
- __init__(starlink_kwargs: dict[str, Any] = {})
- class dsns.presets.StarlinkTLEMultiConstellation
Preset multi-constellation for the Starlink constellation using TLE data.
- __init__()
- class dsns.presets.CubesatMultiConstellation(url_cubesats: str | None = None, file_cubesats: str | None = None, epoch: datetime | None = None)
Preset multi-constellation for all CubeSats currently in orbit using TLE data.
- __init__(url_cubesats: str | None = None, file_cubesats: str | None = None, epoch: datetime | None = None)
- class dsns.presets.LeoLeoMultiConstellation
Preset multi-constellation containing a ground constellation, a Starlink constellation, and an Iridium constellation. All constellations are connected to the ground. Starlink and OneWeb satellites are also connected to each other.
- __init__()
- class dsns.presets.LeoMeoMultiConstellation
Preset multi-constellation containing a ground constellation, an Iridium constellation, and an mPOWER constellation. All constellations are connected to the ground. Iridium and mPOWER satellites are also connected to each other.
- __init__()
- class dsns.presets.LeoGeoMultiConstellation
Preset multi-constellation containing a ground constellation, an Iridium constellation, and the Viasat-3 constellation. All constellations are connected to the ground. Iridium and Viasat-3 satellites are also connected to each other.
- __init__()
- class dsns.presets.LeoMeoGeoMultiConstellation
Preset multi-constellation containing a ground constellation, an Iridium constellation, an mPOWER constellation, and the Viasat-3 constellation. All constellations are connected to the ground. Iridium, mPOWER, and Viasat-3 satellites are also connected to each other.
- __init__()
- class dsns.presets.MultiLayerMultiConstellation
Preset multi-constellation for a multi-layer constellation consisting of a ground constellation, a GPS constellation, a Starlink constellation, and an Iridium constellation. All constellations are connected to the ground. GPS and Iridium satellites are also connected to each other.
- __init__()
- class dsns.presets.EarthMoonMultiConstellation(num_relays=1, configuration='base')
Preset multi-constellation for Earth-Mars communication. TODO finish description.
- earth_nodes: list[int] = []
- moon_nodes: list[int] = []
- earth_moon_links: list[tuple[int, int]] = []
- __init__(num_relays=1, configuration='base')
Initialize the multi-constellation.
- Parameters:
num_relays – Number of relay satellites around the Moon.
configuration – Configuration to use (base, surface, single, multiple).
- class dsns.presets.EarthMarsMultiConstellation(earth_constellation: str = 'iridium', mars_constellation: str = 'iridium', num_relays: int = 1)
Preset multi-constellation for Earth-Mars communication. Earth and Mars each have a constellation of satellites. There is a deep space link between Earth and Mars.
- earth_nodes: list[int] = []
- mars_nodes: list[int] = []
- earth_mars_links: list[tuple[int, int]] = []
- __init__(earth_constellation: str = 'iridium', mars_constellation: str = 'iridium', num_relays: int = 1)
Initialize the multi-constellation.
- Parameters:
earth_constellation – Constellation to use for Earth (iridium or starlink).
mars_constellation – Constellation to use for Mars (iridium or starlink).
num_relays – Number of relay satellites around Mars.
- class dsns.presets.EarthMoonMarsMultiConstellation(num_relays: int = 1, moon: bool = True, mars: bool = True, moon_mars_link: bool = True)
Preset multi-constellation for Earth-Moon-Mars communication.
- earth_nodes: list[int] = []
- moon_nodes: list[int] = []
- mars_nodes: list[int] = []
- relay_constellations: Constellation = []
- __init__(num_relays: int = 1, moon: bool = True, mars: bool = True, moon_mars_link: bool = True)
Initialize the multi-constellation.
- Parameters:
num_relays – Number of relay satellites around the Moon and Mars.
moon – Include the Moon in the simulation.
mars – Include Mars in the simulation.
moon_mars_link – Include a link between the Moon and Mars.
- moon: bool
- mars: bool
- moon_mars_link: bool
- class dsns.presets.FixedMultiConstellation(num_sats: int = 10)
Preset multi-constellation with a fixed number of unmoving satellites, connected via fixed links. Satellites are distributed evenly on a circle around the origin, with a radius of 1e6 meters. Satellites are connected to each other in a ring.
- __init__(num_sats: int = 10)
Initialize the multi-constellation.
- Parameters:
num_sats – Number of satellites to create.
- class dsns.presets.EarthVisualizer(multi_constellation: MultiConstellation, time_scale: float = 100.0, space_scale: float = 1e-06, earth_materials: tuple[str, str, str] | None = None, viewport_size: tuple[int, int] = (800, 600), bg_color: tuple[float, float, float] = (0.0, 0.0, 0.0))
Preset visualizer for rendering Earth satellites.
- __init__(multi_constellation: MultiConstellation, time_scale: float = 100.0, space_scale: float = 1e-06, earth_materials: tuple[str, str, str] | None = None, viewport_size: tuple[int, int] = (800, 600), bg_color: tuple[float, float, float] = (0.0, 0.0, 0.0))
Initialize the visualizer.
- Parameters:
multi_constellation – Multi-constellation to visualize.
time_scale – Time scale factor.
space_scale – Space scale factor.
earth_materials – Materials to use for the Earth.
viewport_size – Size of the viewport.
bg_color – Background color.
- run_simulation()
- run_viewer()
Run the viewer. This should be called after run_simulation().
- class dsns.presets.EarthMarsVisualizer(multi_constellation: EarthMarsMultiConstellation, time_scale: float = 100.0, space_scale: float = 1e-06, interplanetary_scale: float = 1e-10, earth_materials: tuple[str, str, str] | None = None, mars_material: str | None = None, viewport_size: tuple[int, int] = (800, 600), bg_color: tuple[float, float, float] = (0.0, 0.0, 0.0))
Preset visualizer for rendering Earth-Mars communication.
- __init__(multi_constellation: EarthMarsMultiConstellation, time_scale: float = 100.0, space_scale: float = 1e-06, interplanetary_scale: float = 1e-10, earth_materials: tuple[str, str, str] | None = None, mars_material: str | None = None, viewport_size: tuple[int, int] = (800, 600), bg_color: tuple[float, float, float] = (0.0, 0.0, 0.0))
Initialize the visualizer.
- Parameters:
multi_constellation – Multi-constellation to visualize.
time_scale – Time scale factor.
space_scale – Space scale factor.
interplanetary_scale – Interplanetary scale factor.
earth_materials – Materials to use for the Earth.
mars_material – Material to use for Mars.
viewport_size – Size of the viewport.
bg_color – Background color.
- run_simulation()
- run_viewer()
Run the viewer. This should be called after run_simulation().
- class dsns.presets.EarthMoonVisualizer(multi_constellation: EarthMoonMultiConstellation, time_scale: float = 100.0, space_scale: float = 1e-06, interplanetary_scale: float = 1e-10, earth_materials: tuple[str, str, str] | None = None, moon_material: str | None = None, viewport_size: tuple[int, int] = (800, 600), bg_color: tuple[float, float, float] = (0.0, 0.0, 0.0))
Preset visualizer for rendering Earth-Moon communication.
- __init__(multi_constellation: EarthMoonMultiConstellation, time_scale: float = 100.0, space_scale: float = 1e-06, interplanetary_scale: float = 1e-10, earth_materials: tuple[str, str, str] | None = None, moon_material: str | None = None, viewport_size: tuple[int, int] = (800, 600), bg_color: tuple[float, float, float] = (0.0, 0.0, 0.0))
Initialize the visualizer.
- Parameters:
multi_constellation – Multi-constellation to visualize.
time_scale – Time scale factor.
space_scale – Space scale factor.
interplanetary_scale – Interplanetary scale factor.
earth_materials – Materials to use for the Earth.
moon_material – Material to use for the Moon.
viewport_size – Size of the viewport.
bg_color – Background color.
- run_simulation()
- run_viewer()
Run the viewer. This should be called after run_simulation().