Skip to main content

vlbisim

vlbisim is a Python package for simulating Very Long Baseline Interferometry (VLBI) observations. It allows users to define telescope arrays, simulate uv-coverage for astronomical sources, visualize baseline distributions, and create synthetic dirty images. The package supports major VLBI arrays such as VLBA, EHT, ngVLA, EVN, and user-defined custom arrays.


Features

  • Define and configure telescopes with latitude, longitude, elevation, and visibility limits.
  • Calculate uv-coverage for arbitrary telescope arrays and sources.
  • Simulate interferometric observations with customizable observation times and scan durations.
  • Plot uv-coverage with baseline highlighting options.
  • Generate synthetic dirty images from uv-coverage.
  • Visualize telescope locations on world maps and globes.
  • Supports major VLBI arrays, including VLBA, EHT, ngVLA, GMVA, EVN, MeerKAT, SKA, and others.

Installation

pip install vlbisim

Note: Some features require additional dependencies such as numpy, matplotlib, astropy, basemap, and numba.


Usage

Importing the package

from vlbisim import Telescope, getArray, simulateUV, plotUVdata, plotMap

Define telescopes

# Create a single telescope
t1 = Telescope(lat=50.524778, lon=6.883972, name="Effelsberg", elev_lim=15)

# Load a pre-defined array
vlba = getArray("VLBA")

Simulate uv-coverage

# Define source coordinates [RA, Dec] in degrees
source = [180.0, 45.0]

# Simulate uv-coverage
uv_coverage = simulateUV(vlba, source, n_iter=100, obsstart=0, obsend=24, make_plot=True)

Plot uv-coverage

plotUVdata(uv_coverage, highlight_baselines=[0, 1, 2])

Plot telescope array on a world map

plotMap(vlba, llcrnrlat=-90, urcrnrlat=90, llcrnrlon=-180, urcrnrlon=180)

Additional Utilities

  • SplitScans: Split long observations into shorter scans.
  • combine_telescopes: Merge multiple arrays.
  • getHighlightBaselines: Highlight specific baselines in plots.
  • plotGlobe: Visualize telescope arrays on a 3D globe.
  • get_elevation: Fetch telescope elevation using Open-Meteo API.

Examples

# Combine two arrays
full_array = combine_telescopes([getArray("VLBA"), getArray("EVN")])

# Split observation into scans
uv_scans = SplitScans(full_array, source=[180,45], obstart=0, obsend=24, scan_time=2, n_scans=12)

# Animate uv-coverage and save as mp4
simulateUV(full_array, source, make_movie=True, output_name="uvout.mp4")

Dependencies

  • numpy
  • matplotlib
  • astropy
  • basemap
  • numba
  • requests

License

This project is licensed under the MIT License.

Metadata

Release files for vlbisim 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vlbisim 0.1.1
File Size Uploaded
vlbisim-0.1.1.tar.gz 12.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vlbisim 0.1.1
File Interpreter ABI Platform
vlbisim-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 24.9 kB

Release files / vlbisim-0.1.1.tar.gz

Download URL vlbisim-0.1.1.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4a05d9d7742c07ba0907168cfa55f507565619e76131a39283650934a1828424
BLAKE2b-256 checksum
How to use checksums
71030cd0e77fbcece346a042426da778eaa0ea2ea21d907177bde28d14cc33ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / vlbisim-0.1.1-py3-none-any.whl

Download URL vlbisim-0.1.1-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81ab1eb7386538b03b406985330eb12eabf6f2da38dea9713f0818e1b2b66eba
BLAKE2b-256 checksum
How to use checksums
d5e3383f202b2a86afb424e6dba44c2d36f4311a5af785b70de05e73756632c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page