Simulating Constellation Emission Patterns for Telescopes (radio)
This is a modular package to systematically simulate the satellite constellation emissions and measure the EPFD of the observed sky area.
The simulation can be performed using a simulated constellation or from real satellite constellation two line elements (TLEs). Satellite TLEs can be found on https://celestrak.org/
We use the PyCRAF and cysgp4 packages for many of the base calculations, see requirements.txt for list of dependancies, code was written and tested in Python 3.10
Two Conda environment files are provided so you can choose between a lighter install and the fully accelerated/visualization stack:
conda env create -f environment.yml && conda activate scepter-devnumba, cuda-version>=12.0, pyvista, plotly, python-kaleido, trame, trame-jupyter-extension, jupyter-server-proxy, trame-vtk, trame-vuetify): conda env create -f environment-full.yml && conda activate scepter-dev-fullIf you start with the lite environment and later need the optional packages, update it in place with:
conda env update -n scepter-dev -f environment-full.yml
python -m ipykernel install --user --name scepter-dev
All packages are pulled from conda-forge, including CUDA-enabled builds where available, so Codespaces or local shells using either environment will align with the expected toolchain.
GitHub Copilot users can refer to .github/copilot-instructions.md for project-specific guidance to keep suggestions consistent with the codebase. Agents and collaborators can consult AGENTS.md for repository-wide instructions on environment updates and testing expectations.
Read the Docs content lives in docs/, with the hosted build configured through .readthedocs.yaml.
To build the documentation locally from the lite environment:
conda activate scepter-dev
sphinx-build -b html docs docs/_build/html
To refresh an older local environment before building:
conda env update -n scepter-dev -f environment.yml
conda activate scepter-dev
sphinx-build -b html docs docs/_build/html

In the obs module, we have the tools for creating an observation simulation that will provide an RFI sky model from satellite emissions.
The simulation is organised through multiple dimensions to give consideration of the telescope pointings, satellite design, constellation beam patterns through a series of time.
scepter operates in a dynamic cube to store the measurements corresponding to each antenna and satellite pairs.
Currently, 6 dimensions are used:
Github Repo: https://github.com/hqiu-nju/scepter Code will be moving to SKAO Gitlab in the future.