Skip to main content

Python package to simulate and optimise space-based VLBI missions

Project description

spacevlbi

Python package for simulating and optimising a space-based Very Long Baseline Interferometry (VLBI) mission. This package enables multiple space telescopes to be modelled by propagating their orbital and attitude state. Elements of the spacecraft design that impact when observations can be performed can also be included in the simulation to assess and mitigate their impact on the science return of the mission (e.g. source visibility including Sun/Earth/Moon avoidance, star trackers, radiators, solar panels, ground station access times, etc.).

A ground-based array of radio antenna can also be modelled, enabling the $(u,v)$ coverage that the full interferometer can achieve of a given source(s) to be calculated.

Although the package has been developed specifically for space VLBI applications, it can also be used more generally for modelling other types of astronomy mission and assessing the impact of the spacecraft design on the science return.

Installation

spacevlbi requires the latest development version of the poliastro package. Ensure that pip is installed and run the following command before trying to install spacevlbi:

pip install https://github.com/poliastro/poliastro/archive/main.zip

The latest version of spacevlbi is available on PyPi. Run the following command to install:

pip install spacevlbi

Installing with pip will install/update the other required libraries automatically (numpy, matplotlib, astropy and geopandas).

Structure

In this repository you can find:

  • spacevlbi/ directory containing the core Python libraries
  • Examples/ directory containing example scripts to demonstrate the use of the package
  • docs/ directory containing readthedocs configuration files

Documentation

More detailed documentation for the package is available here.

Provided in the Examples folder is the script ExampleSetup.py. This script shows how the package can be used to model a VLBI array with a single space element. This example is based upon the preliminary concept for the Black Hole Explorer (BHEX) mission. The script ExampleSpaceTelescope.py shows how an object of the SpaceTelescope class can be defined.

Running the provided example will produce the following figures in an Output folder:

  • AttitudeSphere.pdf
  • GroundStationAccess.pdf
  • Orbit.pdf
  • UV.pdf
  • GroundStationContact.pdf

The terminal will show the simulation progress by printing the current timestep. Once the simulation is complete, additional print statements will confirm the generation of the four figures listed previously. The example script will also calculate the optimal position(s) for a star tracker to avoid Sun and Earth blinding.

Citation

If you use spacevlbi in your publication, please cite: Hudson+ 2025

Author(s)

This software has been developed by Ben Hudson ORCID logo 0000-0002-3368-1864, Technische Universiteit Delft

License

spacevlbi is licensed under GPLv3. See LICENSE.txt for more details.

Technische Universiteit Delft hereby disclaims all copyright interest in the program "spacevlbi". spacevlbi is a python package to simulate space-based VLBI missions written by the Author(s).
Ben Hudson, Faculty of Aerospace Engineering, Technische Universiteit Delft.

© 2024, B. Hudson

Would you like to contribute?

If you have any comments, feedback, or recommendations, feel free to reach out by sending an email to benhudson@tudelft.nl

If you would like to contribute directly, you are welcome to fork this repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spacevlbi-1.1.10.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spacevlbi-1.1.10-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

Details for the file spacevlbi-1.1.10.tar.gz.

File metadata

  • Download URL: spacevlbi-1.1.10.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for spacevlbi-1.1.10.tar.gz
Algorithm Hash digest
SHA256 9b8f1b27d8fe53ebc6eae35e17793bfe499a5edfca7ddd22438beff44f180d7d
MD5 ebc70b952044f45ffedcf8933a78bd68
BLAKE2b-256 f535cce93024953c4486f378d8c60b581793ac112c2f46fb9b29ee29de9b47f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for spacevlbi-1.1.10.tar.gz:

Publisher: python-publish.yml on bhudson2/spacevlbi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spacevlbi-1.1.10-py3-none-any.whl.

File metadata

  • Download URL: spacevlbi-1.1.10-py3-none-any.whl
  • Upload date:
  • Size: 58.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for spacevlbi-1.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b6ecde6586aa612c65f611796594f9e76ada951ede96a562f7d1b02bea1ccb3b
MD5 a962d7cf461c3b6b238dc0fd7d282e00
BLAKE2b-256 d176b2cad71cb5aa25c195e59e7235197cd8a176f5ec804143d9d09450c83c41

See more details on using hashes here.

Provenance

The following attestation bundles were made for spacevlbi-1.1.10-py3-none-any.whl:

Publisher: python-publish.yml on bhudson2/spacevlbi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page