scepter

Third-Party Notices for SCEPTer

This file summarises third-party software and data notices relevant to SCEPTer source distributions and related packaged artefacts.

It is provided for compliance and transparency. It is not legal advice.

Project licence

SCEPTer is distributed under the GNU General Public License v3.0 or later (GPL-3.0-or-later). See LICENSE for the project notice and LICENSES/ for bundled licence texts.

Core runtime dependencies

Package Licence Notes
numpy BSD-3-Clause  
scipy BSD-3-Clause  
astropy BSD-3-Clause  
matplotlib Matplotlib licence (BSD-compatible)  
pandas BSD-3-Clause  
h5py BSD-3-Clause  
shapely BSD-3-Clause  
psutil BSD-3-Clause  
pycraf GPL-3.0 Some pycraf functionality relies on ITU-derived reference data that may be subject to additional terms, including non-commercial-use restrictions. If you redistribute bundled environments or artefacts that ship pycraf and its data payloads, review those terms explicitly.
cysgp4 GPL-3.0 cysgp4 documents upstream Apache-2.0 and BSD-3-Clause attributions in its own packaged notices.

Optional / full-environment dependencies

The full GUI and notebook environment can also include:

Package Licence Category
numba BSD-2-Clause GPU acceleration
cupy MIT GPU acceleration
PySide6 LGPL-3.0 / GPL-3.0 Desktop GUI
pyvista MIT 3D visualization (wraps VTK)
pyvistaqt MIT 3D visualization
vtk (Visualization Toolkit) BSD-3-Clause 3D rendering engine underlying pyvista / pyvistaqt. See https://vtk.org and the Copyright.txt shipped with the VTK Python wheel for the full upstream notice.
plotly MIT Interactive plots
python-kaleido MIT Plotly image export
cartopy BSD-3-Clause Map projections
tqdm MPL-2.0 / MIT Progress bars
ipywidgets BSD-3-Clause Notebook widgets
ipykernel BSD-3-Clause Jupyter kernel
seaborn BSD-3-Clause Statistical plots
ipympl BSD-3-Clause Matplotlib in notebooks
trame Apache-2.0 Remote 3D rendering
trame-vtk Apache-2.0 VTK backend for Trame
trame-vuetify Apache-2.0 UI framework for Trame

Before redistributing bundled environments or appliance-style builds, verify the exact licence obligations for the optional dependency set you ship.

Bundled data files

File Source Notes
scepter/data/ne_10m_coastline.geojson Natural Earth Public domain. Derived from naturalearth.com 1:10m coastline dataset.
scepter/data/ne_10m_land.geojson Natural Earth Public domain. Derived from naturalearth.com 1:10m land polygon dataset.
scepter/data/earth_texture_nasa_flat_earth_8192.jpg NASA/GSFC See below.
scepter/data/satellite_app_icon.svg SCEPTer project GPL-3.0-or-later.
scepter/data/scepter_brand_mark.svg SCEPTer project GPL-3.0-or-later.
scepter/data/satellite_app_icon.ico SCEPTer project GPL-3.0-or-later.

NASA Earth texture

SGP4 propagation — algorithmic and implementation references

SCEPTer’s orbit propagation is carried out by the GPU kernels in scepter/gpu_accel.py and, on the CPU path, by the cysgp4 wrapper around Dan Warner’s C++ SGP4 library. Both paths expose two selectable backends, "vallado" and "dwarner", and both ultimately derive from the same publicly documented SGP4 analytical model.

The SCEPTer source files that implement these kernels are GPL-3.0-or-later (as SCEPTer itself), but the algorithms they implement and the C/C++ reference code against which they are validated come from the upstream works listed below. When you publish scientific results, build validation comparisons, or redistribute SCEPTer-derived binaries, please cite and (where applicable) preserve the upstream attributions.

Original analytical model

Hoots, F. R., & Roehrich, R. L. (December 1980). Models for Propagation of NORAD Element Sets. Project Spacetrack Report No. 3, Aerospace Defense Command (ADC/DO), United States Air Force. Later compiled, redistributed, and corrected by T. S. Kelso (CelesTrak).

Modern, corrected reference implementation (the "vallado" backend)

Vallado, D. A., Crawford, P., Hujsak, R., & Kelso, T. S. (2006, with 2012 errata updates). Revisiting Spacetrack Report #3. AIAA/AAS Astrodynamics Specialist Conference, Keystone, Colorado, 21-24 August 2006. Paper AIAA 2006-6753.

C++ port used by cysgp4 (the "dwarner" backend)

Warner, Daniel J.SGP4 C++ library (“dnwrnr/sgp4”).

cysgp4 — the Cython wrapper

Winkel, Benjamin.cysgp4: a wrapper of Daniel Warner’s SGP4 implementation.

TLE conventions, errata, and reference archive

Kelso, T. S.CelesTrak.

How to cite SCEPTer propagation output

When reporting results that depend on the SCEPTer propagation pipeline, please credit both the analytical model authors (Hoots & Roehrich) and the implementation authors (Vallado et al. for the "vallado" backend, Warner for the "dwarner" backend), together with CelesTrak / Kelso for the reference code and errata. A representative citation block for a SCEPTer-based paper might read:

Satellite ephemerides were propagated with SCEPTer vX.Y.Z using its GPU SGP4 backend (method=”dwarner”), which is a CuPy/Numba re- expression of Daniel Warner’s dnwrnr/sgp4 C++ implementation (Apache-2.0; https://github.com/dnwrnr/sgp4) and is validated against the CPU reference. The underlying analytical model is Hoots & Roehrich (1980), Spacetrack Report #3; the corrected modern reference is Vallado, Crawford, Hujsak & Kelso (2006), AIAA 2006-6753, with CelesTrak-hosted reference code.

Bundled licence texts

The LICENSES/ directory includes reference copies of the main licence texts:

An ITU-specific licence text is not bundled. Handle any ITU-derived data notices separately, based on the exact data you redistribute.

User-supplied custom antenna patterns

Starting with the custom-antenna-pattern feature (schema scepter_antenna_pattern_format=v1), SCEPTer accepts user-supplied antenna pattern LUTs loaded from JSON files. These files are user data; no licence obligations attach to SCEPTer from the act of loading them.

However, users are responsible for the provenance of LUTs they load. Regulatory masks and vendor datasheets are frequently redistribution-restricted — check the source’s own terms before embedding a pattern in a project JSON you publish or share. ITU-R reference patterns that SCEPTer samples internally (via scepter.analytical_fixtures) come from pycraf and SCEPTer’s own scepter.antenna module and inherit those upstream terms.

Example pattern files bundled under scepter/data/custom_patterns/ are synthetic fixtures generated on the fly from the analytical ITU formulations; they are distributed under the SCEPTer project licence (GPL-3.0-or-later) as fixture data, not as a redistribution of any protected regulatory dataset.