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.9.tar.gz (191.1 kB 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.9-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for spacevlbi-1.1.9.tar.gz
Algorithm Hash digest
SHA256 93f3f94ef209c205880b24c756cb1d7136e9f7f2bb333f482af1bff96bd14819
MD5 dc4cf797faa54b8a6fa60e998617dffe
BLAKE2b-256 2774e55415105ca087be2287c881d5a4a34f4bfd310061c80748dd191039100f

See more details on using hashes here.

Provenance

The following attestation bundles were made for spacevlbi-1.1.9.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.9-py3-none-any.whl.

File metadata

  • Download URL: spacevlbi-1.1.9-py3-none-any.whl
  • Upload date:
  • Size: 58.2 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3c9f76b8c53cc62afc0d60c25556957a6006893293606cc1b2e68c0223bdce6b
MD5 58a789c94bd9fc736f07df6d18fb1cce
BLAKE2b-256 d676cffa9ed62c3ab3a5a14e3e081813e3c11fc7135023e9084b62269c60fa6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for spacevlbi-1.1.9-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