ska_ost_senscalc.utilities

Module holding functions that handle celestial emission, atmospheric behaviour and Telescope Parameters

class ska_ost_senscalc.utilities.Atmosphere[source]

Class to handle atmospheric properties

static calculate_Tatm(weather, obs_freq)[source]

Calculate Atmospheric Temperature

Parameters:
  • weather (float) – PWV in mm

  • obs_freq (astropy.units.Quantity) – observing frequency

Returns:

Brightness temperature of atmosphere

Return type:

astropy.units.Quantity

static get_tauz_atm(weather, obs_freq)[source]

Calculate atmospheric optical depth at zenith

Parameters:
  • weather (float) – PWV in mm

  • obs_freq (astropy.units.Quantity) – observing frequency

Returns:

optical depth

Return type:

float

static tau_atm(weather, obs_freq, elevation)[source]

Get atmospheric optical depth at given elevation.

Parameters:
  • weather (str) – “Good”, “Average” or “Bad”

  • obs_freq (astropy.units.Quantity) – observing frequency

  • elevation (astropy.units.Quantity) – target elevation

Returns:

optical depth

Return type:

float

class ska_ost_senscalc.utilities.Celestial[source]

Class to handle Celestial emission

calculate_Tgal(target, obs_freq, dish_type, alpha)[source]

Calculate Galactic Temperature TODO: Make use of target direction.

Parameters:
  • target (astropy.coordinates.SkyCoord) – target direction

  • obs_freq (astropy.units.Quantity) – observing frequency

  • dish_type (DishType) – the type of dish

  • alpha (float) – spectral index of emission

Returns:

brightness temperature of Galactic emission in beam

Return type:

astropy.units.Quantity

class ska_ost_senscalc.utilities.DishType(value)[source]

Enumeration for different dish types

class ska_ost_senscalc.utilities.TelParams[source]

Class for handling Telescope Parameters

static calculate_Trcv(obs_freq, obs_band, dish_type)[source]

Calculate Receiver Temperature. Works using obs freq only, not band. For SKA1 where bands overlap e.g. band 1, 2, returns the value reflecting the better performer.

Parameters:
  • obs_freq (astropy.units.Quantity) – the observing frequency

  • obs_band (str) – the observing band [“Band 1”, “Band 2”, “Band 3”, “Band 4”, “Band 5a”, “Band 5b”]

  • dish_type (DishType) – the type of dish

Returns:

T receiver

Return type:

astropy.units.Quantity

static calculate_Tspl(dish_type)[source]

Calculate spillover temperature. This is signal from the ground that gets onto the detector. In reality it could depend on the alt/az pointing of the dish - for now it is assumed to be 3K for SKA1 and 4K for MeerKAT.

Parameters:

dish_type (DishType) – the type of dish

Returns:

T spillover

Return type:

astropy.units.Quantity

static calculate_dish_efficiency(obs_freq, dish_type)[source]

Calculate aperture efficiency taking into account losses from feedhorn illumination of the aperture, phase errors at the dish surface, and diffraction.

Parameters:
  • obs_freq (astropy.units.Quantity) – the observing frequency

  • dish_type (DishType) – the type of dish

Returns:

dish aperture efficiency

Return type:

astropy.units.Quantity

static dish_area(dish_type)[source]

Calculate geometric area of a specified dish type.

Parameters:

dish_type (DishType) – the type of dish

Returns:

the dish area

Return type:

astropy.units.Quantity

static dish_fwhm(obs_freq, dish_type)[source]

Calculate the full-width at half-maximum (FWHM) of the dish at the observing frequency.

Parameters:
  • obs_freq (astropy.units.Quantity) – the observing frequency

  • dish_type (DishType) – the type of dish

Returns:

the fwhm

Return type:

astropy.units.Quantity

static mid_core_location()[source]

Return the astropy EarthLocation of the SKA Mid core site. The data are taken from Wikipedia as astropy does not yet hold site information for the SKA.

Returns:

the location of the SKA Mid core site

Return type:

astropy.coordinates.EarthLocation

class ska_ost_senscalc.utilities.Telescope(value)[source]

Enumeration for the different telescope types

class ska_ost_senscalc.utilities.Utilities[source]

Class to contain generally useful methods

static Tx(freq, T)[source]

Function to apply correction to Rayleigh-Jeans temperature to describe the roll-off at high frequency of ‘Johnson noise’ in a resistor. Typically denoted by adding a subscript “x” to the temperature

Parameters:
  • freq (astropy.units.Quantity) – the frequency

  • T (astropy.units.Quantity) – the temperature

Returns:

the corrected temperature

Return type:

astropy.units.Quantity

static sensible_units(flux)[source]

Function to set fluxes to sensible units, where ‘sensible’ means that the numerical value lies between 0.1 and 100

Parameters:

flux (astropy.units.Quantity) – the flux to be converted

Returns:

the flux with value between 0.1 and 100 units

Return type:

astropy.units.Quantity

static to_astropy(quantity, unit)[source]

Convert input to astropy quantity with SKA standard unit

Parameters:
  • quantity (scalar or astropy.units.Quantity) – the value to be converted

  • unit (astropy unit) – the standard unit to use

Returns:

the quantity in SKA standard units

Return type:

astropy.units.Quantity