Reference

This reference page details the functions included in Virgo, describing their roles and what they do.

simulate

simulate(l, b, beamwidth=0.6, v_min=-400, v_max=400, plot_file='')

Simulate 21 cm profiles based on the LAB HI Survey.

Parameters:
  • l (float) – Target galactic longitude [deg]
  • b (float) – Target galactic latitude [deg]
  • beamwidth (float) – Telescope half-power beamwidth (approx. equal to 0.7 * lambda/D) [deg]
  • v_min (float) – Minimum radial velocity (xlim) [km/s]
  • v_max (float) – Maximum radial velocity (xlim) [km/s]

predict

predict(lat, lon, height=0, source='', date='', plot_sun=True, plot_file='')

Plots source Alt/Az given the observer’s Earth coordinates.

Parameters:
  • lat (float) – Observer latitude [deg]
  • lon (float) – Obesrver longitude [deg]
  • height (float) – Observer elevation [m]
  • source (string) – Date in YYYY-MM-DD format. If no date is given, it defaults to today’s system date.
  • plot_sun (bool) – Also plot Sun position for reference
  • plot_file (string) – Output plot filename

equatorial

equatorial(alt, az, lat, lon, height=0)

Takes observer’s location and Alt/Az as input and returns RA/Dec as a tuple.

Parameters:
  • alt (float) – Altitude [deg]
  • az (float) – Azimuth [deg]
  • lat (float) – Observer latitude [deg]
  • lon (float) – Observer longitude [deg]
  • height (float) – Observer elevation [m]

galactic

galactic(ra, dec)

Converts RA/Dec. to galactic coordinates, returning galactic longitude and latitude (tuple).

Parameters:
  • ra (float) – Right ascension [deg]
  • dec (float) – Declination [deg]

frequency

frequency(wavelength)

Transform wavelength to frequency.

Parameters:wavelength (float) – Wavelength [m]

wavelength

wavelength(frequency)

Transform frequency to wavelength.

Parameters:frequency (float) – Wave frequency [Hz]

gain

gain(D, f, e=0.7, u='dBi')

Estimate parabolic antenna gain.

Parameters:
  • D (float) – Antenna diameter [m]
  • f (float) – Frequency [Hz]
  • e (float) – Aperture efficiency (0 >= e >= 1)
  • u (string) – Output gain unit (‘dBi’, ‘linear’ or ‘K/Jy’)

A_e

A_e(gain, f)

Transform antenna gain to effective aperture [m^2].

Parameters:
  • gain (float) – Antenna gain [dBi]
  • f (float) – Frequency [Hz]

beamwidth

beamwidth(D, f)

Estimate parabolic antenna half-power beamwidth (FWHM).

Parameters:
  • D (float) – Antenna diameter [m]
  • f (float) – Frequency [Hz]

NF

NF(T_noise, T_ref=290)

Convert noise temperature to noise figure [dB].

Parameters:
  • T_noise (float) – Noise temperature [K]
  • T_ref (float) – Reference temperature [K]

T_noise

T_noise(NF, T_ref=290)

Convert noise figure to noise temperature [K].

Parameters:
  • NF (float) – Noise figure [dB]
  • T_ref (float) – Reference temperature [K]

G_T

G_T(gain, T_sys)

Compute antenna gain-to-noise-temperature (G/T).

Parameters:
  • gain (float) – Antenna gain [dBi]
  • T_sys (float) – System noise temperature [K]

SEFD

SEFD(A_e, T_sys)

Compute system equivalent flux density [Jy].

Parameters:
  • A_e (float) – Effective antenna aperture [m^2]
  • T_sys (float) – System noise temperature [K]

snr

snr(S, sefd, t, bw)

Estimate the obtained signal-to-noise ratio of an observation (radiometer equation).

Parameters:
  • S (float) – Source flux density [Jy]
  • sefd (float) – Instrument’s system equivalent flux density [Jy]
  • t (float) – Total on-source integration time [sec]
  • bw (float) – Acquisition bandwidth [Hz]

map_hi

map_hi(ra=None, dec=None, plot_file='')

Plots the all-sky 21 cm map (LAB HI survey). Setting RA/Dec (optional args) will add a red dot indicating where the telescope is pointing to.

Parameters:
  • ra (float) – Right ascension [deg]
  • dec (float) – Declination [deg]
  • plot_file (string) – Output plot filename

observe

observe(obs_parameters, spectrometer='wola', obs_file='observation.dat', start_in=0)

Begin data acquisition (requires SDR connected to the machine).

Parameters:
  • obs_parameters (dict) – Observation parameters
  • spectrometer (string) – Spectrometer flowchart/pipeline (‘WOLA’/’FTF’)
  • obs_file (string) – Output data filename
  • start_in (float) – Schedule observation start [sec]

Arguments for obs_parameters:

obs_parameters
Parameters:
  • dev_args (string) – Device arguments (gr-osmosdr)
  • rf_gain (float) – RF gain
  • if_gain (float) – IF gain
  • bb_gain (float) – Baseband gain
  • frequency (float) – Center frequency [Hz]
  • bandwidth (float) – Instantaneous bandwidth [Hz]
  • channels (int) – Number of frequency channels (FFT size)
  • t_sample (float) – Integration time per FFT sample
  • duration (float) – Total observing duration [sec]

plot

plot(obs_parameters='', n=0, m=0, f_rest=0, slope_correction=False, dB=False, rfi=[0,0], xlim=[0,0], ylim=[0,0], dm=0, obs_file='observation.dat', cal_file='', waterfall_fits='', spectra_csv='', power_csv='', plot_file='plot.png')

Process, analyze and plot data.

Parameters:
  • obs_parameters (dict) – Observation parameters
  • n (int) – Median filter factor (spectrum)
  • m (int) – Median filter factor (time series)
  • f_rest (float) – Spectral line reference frequency used for radial velocity (Doppler shift) calculations [Hz]
  • slope_correction (bool) – Correct slope in poorly-calibrated spectra using linear regression
  • dB (bool) – Display data in decibel scaling
  • rfi (list) – Blank frequency channels contaminated with RFI ([low_frequency, high_frequency]) [Hz]
  • xlim (list) – x-axis limits ([low_frequency, high_frequency]) [Hz]
  • ylim (list) – y-axis limits ([start_time, end_time]) [Hz]
  • dm (float) – Dispersion measure for dedispersion [pc/cm^3]
  • obs_file (string) – Input observation filename (generated with virgo.observe)
  • cal_file (string) – Input calibration filename (generated with virgo.observe)
  • waterfall_fits (string) – Output FITS filename
  • spectra_csv (string) – Output CSV filename (spectra)
  • power_csv (string) – Output CSV filename (time series)
  • plot_file (string) – Output plot filename

Arguments for obs_parameters:

obs_parameters
Parameters:
  • dev_args (string) – Device arguments (gr-osmosdr)
  • rf_gain (float) – RF gain
  • if_gain (float) – IF gain
  • bb_gain (float) – Baseband gain
  • frequency (float) – Center frequency [Hz]
  • bandwidth (float) – Instantaneous bandwidth [Hz]
  • channels (int) – Number of frequency channels (FFT size)
  • t_sample (float) – Integration time per FFT sample
  • duration (float) – Total observing duration [sec]

plot_rfi

plot_rfi(rfi_parameters, data='rfi_data', dB=True, plot_file='plot.png')

Plots wideband RFI survey spectrum.

Parameters:
  • rfi_parameters (dict) – Identical to obs_parameters, but also including ‘f_lo’: f_lo
  • data (string) – Survey data directory containing individual observations
  • dB (bool) – Display data in decibel scaling
  • plot_file (string) – Output plot filename

monitor_rfi

monitor_rfi(f_lo, f_hi, obs_parameters, data='rfi_data')

Begin data acquisition (wideband RFI survey).

Parameters:
  • obs_parameters (dict) – Observation parameters (identical to parameters used to acquire data)
  • f_lo (float) – Start frequency [Hz]
  • f_hi (float) – End frequency [Hz]
  • data (string) – Survey data directory to output individual observations to

Arguments for obs_parameters:

obs_parameters
Parameters:
  • dev_args (string) – Device arguments (gr-osmosdr)
  • rf_gain (float) – RF gain
  • if_gain (float) – IF gain
  • bb_gain (float) – Baseband gain
  • frequency (float) – Center frequency [Hz]
  • bandwidth (float) – Instantaneous bandwidth [Hz]
  • channels (int) – Number of frequency channels (FFT size)
  • t_sample (float) – Integration time per FFT sample
  • duration (float) – Total observing duration [sec]