Single Dish Radio Astronomy Software Tools¶
For an overview of SDRAST and the current status please visit https://sdrast.github.io/.
The module has functions that are specific to radio astronomy, as opposed to astronomy in general. They include antenna properties (beam size, efficiency, etc.), noise power and temperature, source flux from brightness temperature, black body radiation intensity (adopted from the Physics moduele), power unit conversions used in electrical engineering, etc.
Radio_Astronomy Package¶
Radio_astronomy - basic radio astronomy functions
Function Groups¶
Antenna¶
Functions for antenna properties:
antenna_gain(aperture_efficiency,geometrical_area)
antenna_solid_angle(aperture_efficiency,geometrical_area,wavelength)
antenna_temperature(flux,effective_area)
beam_efficiency(antenna_solid_angle, beam_solid_angle)
beam_solid_angle(*args)
directivity(aperture_efficiency, geometrical_area, wavelength)
HPBW(feedtaper,wavelength,diameter)
ruze_loss_factor(surface_rms,wavelength)
Noise¶
Functions related noise temperature:
antenna_temp(antenna_gain,flux_density)
noise_figure(Tsys)
noise_power(Tsys,bandwidth)
rms_noise(Tsys,bandwidth,integration_time)
SNR(Ta,Tsys,bandwidth,integration_time)
Radio Sources¶
Relating flux, antenna temperature, etc.:
flux(Tb,freq,angular_diameter)
janskyPQ(Jy)
Conversions¶
Converting between units, log to linear, etc.:
dB(gain)
dBm(power)
dbm_to_dbuv(dbm)
dbuv_to_uV(dbuv)
dbm_to_v(dbm)
dBm_to_watts(dbm)
dbuv_to_dbm(dbuv)
dbuv_to_dmw_per_sq_m(dbuv)
dbuv_to_v(dbuv)
dmw_per_sq_m_to_dbuv(dbmw)
gain(dB)
v_to_dbuv(v)
volts_to_watts(V)
v_to_dbm(V)
watts_to_volts(W)
Functions¶
|
Blackbody radiation intensity, W/m^2/Hz/rad^2, f is in Hz, and T is in K. |
|
Half-power beamwidth estimate |
|
Signal-to-noise ratio for a signal Ta relative to the system noise |
|
Antenna gain in K/Jy. |
|
Antenna solid angle of an antenna, assuming radiation efficiency = 1 |
|
Antenna temperature of a source from flux and antenna gain. |
|
Convert flux to antenna temperature |
|
Fraction of flux in the main beam that registers at the receiver. |
|
Solid angle of the main beam. |
|
Converts a linear gain into dB |
|
Converts a power in W to db(milliwatts) |
|
Convert dBm into watts |
|
Convert dB(milliwatts) to dB(microvolts) |
|
Convert dBm to V across a 20-ohm load |
|
Convert dBuv to dBm. |
|
Convert dB(uV) to dB(mW/m^2) |
|
dBuv (dB microvolts) to V (volts) |
|
dBuv (dB microvolts) to V (volts) |
|
Frequency shift corresponding to a velocity shift. |
|
Forward gain of an antenna over an isotropic antenna as a factor |
|
Convert dB(mW/m^2) to dB(uV) |
|
Flux received from a source |
|
Directivity of an antenna in dB. |
|
Returns the channel number where a given frequency is to be found. |
|
Convert dB into gain |
|
jansky unit (Jy) as a PhysicalQuantity() class instance |
|
Returns the noise figure in dB given a system temperature in K |
|
Returns the noise power in W |
|
Receiver r.m.s. |
|
Loss due to reflecting surface irregulaties in a paraboloid |
|
Frequency interval between peaks in a spectral pattern from a standing wave |
|
Volts to dB(mW) for a 50 ohm load |
|
Volts to dBuv (dB microvolts) |
Volts to watts for a 50 ohm load |
|
Watts to volts for a 50 ohm load |
|
|
Wave number given the wavelength |
Class Inheritance Diagram¶
Radio_Astronomy.bands Module¶
conversion from waveguide band to frequency and vice-versa
Examples:
In [1]: from Radio_Astronomy.bands import *
In [2]: frequency_to_band(3)
Out[2]: 'S'
In [3]: band_to_frequency('K')
Out[3]: 22
Functions¶
|
nominal band center frequency in GHz from band code |
|
band code from frequency in GHz |
Radio_Astronomy.michigan Module¶
Provides source fluxes from the University of Michigan Radio Observatory database.
The MRO radio source catalog was developed from years of monitoring a select set of radio sources. The catalog work was discontinued.
The description and plots included in the UMRAO web site were last updated on August 23, 2012. For questions or for additional data, contact Margo Aller.
Functions¶
|
Create an array. |
|
Convert a date string to a datenum using |
|
Gets the latest data from the Michigan database for a source |
|
Return the index of the element of the array with the nearest value |
|
Interpolate or extrapolate flux of source for given date and frequency |
|
Least squares polynomial fit. |
|
Evaluate a polynomial at specific values. |
Radio_Astronomy.radio_flux Module¶
Functions to compute fluxes of standard radio sources, the Sun, Venus, Jupiter and Saturn. The brightness of the Galactic background emission is also provided.
The origin of the data is given in the documentation for radio_flux
,
planet\_brightness
, get\_planet\_flux
, and
galactic_BG
.
Functions¶
|
Difference between data and a model |
|
Return e raised to the power of x. |
|
Flux received from a source |
|
Average galactic background temperature |
|
Get the flux of a calibrator by name, frequency and date. |
|
Flux of planet calibrators |
|
Minimize the sum of squares of a set of equations. |
|
Return the base 10 logarithm of x. |
|
2-order polynomial in log(x) |
|
Brightness temperature of a planet. |
|
Return x**y (x to the power of y). |
|
Flux density in Jy of standard calibrators. |
Longitude of planet facing earth from heliocentric longitude |
Radio_Astronomy.vla_cal Module¶
Module vla_cal creates or updates files of VLA calibrators and retrieves data for a specified calibrator.
Administration¶
It is expected that the pickle files VLA_cals, B_names and 3C_names exist.
If they do not, the following must be done in the module directory
/usr/local/lib/python2.6/site-packages/Radio_Astronomy/
.
>>> from Radio_Astronomy.vla_cal import *
>>> cal_data = get_VLA_calibrators()
>>> make_VLA_pickle_file(cal_data)
>>> Bname_dict,cat_3C_dict = VLA_name_xref(cal_data)
>>> make_Bname_pickle_file(Bname_dict)
>>> make_3C_pickle_file(cat_3C_dict)
3C_VLA_cals is a convenience.pickle file that provides coordinate data keyed to 3C names. It is created as follows
>>> make_3C_file()
User Instructions¶
If you only needs coordinates for a 3C source then this will suffice
>>> ra,dec,jname = get_3C_coords(name)
If you need all the data for a source then do this
>>> data_dict = get_cal_data(source)
Notes
One source of annoyance is that astronomers do not all or always use the same designations as NRAO, that is, more or less characters, like b1937+21, j0218+4232 and so on.
IAU source designation recommendations can be found at <http://cdsweb.u-strasbg.fr/Dic/iau-spec.html>
Functions¶
|
Returns the declination part of an IAU source name |
|
Returns a dictionary for looking up Bnames given Jnames |
|
Make cross-reference lookup for IAU B names and 3C catalog numbers. |
|
Handles cases where the IAU designator is too long or too short. |
|
Formatted J2000 right ascension and declination and IAU name |
|
Create a dictionary keyed on J-names of calibrators in the VLA data base. |
|
Return calibrator data for a source. |
Returns the VLA calibrator dictionary |
|
|
Gets flux as a function of frequency for the source |
|
|
|
Makes VLA calibrators 3C pickle file. |
|
Create a picke file with a 3C to Jname cross-reference |
|
Create a picke file with a Bname to Jname cross-reference |
|
Put the VLA calibrator dictionary in a pickle file |
|
Try to match a short IAU name to one in a catalogue |
|
Least squares polynomial fit. |
|
Evaluate a polynomial at specific values. |
The code can be cloned from this site
The `documentation <>`_https://sdrast.github.io/Radio_Astronomy/`_ was generated with Sphinx.