py21cmsense.observatory.Observatory¶
- class py21cmsense.observatory.Observatory(*, antpos: tp.Length, beam: beam.PrimaryBeam, latitude: un.rad = <Quantity 0. rad>, Trcv: tp.Temperature | Callable = <Quantity 100. K>, max_antpos: tp.Length = <Quantity inf m>, min_antpos: tp.Length = <Quantity 0. m>)[source]¶
A class defining an interferometric Observatory and its properties.
- Parameters:
antpos (array) – An array with shape (Nants, 3) specifying the positions of the antennas. These should be in the ENU (East-North-Up) frame, relative to a central location given by latitude. If not a Quantity, units are assumed to be meters.
beam (
PrimaryBeam
instance) – A beam, assumed to be homogeneous across antennas.latitude (float or Quantity, optional) – Latitude of the array center. If a float, assumed to be in radians. Note that longitude is not required, as we assume an isotropic sky.
Trcv (tp.Temperature | Callable) – Receiver temperature, either a temperature Quantity, or a callable that taakes a single frequency Quantity and returns a temperature Quantity.
min_antpos, max_antpos – The minimum/maximum radial distance to include antennas (from the origin of the array). Assumed to be in units of meters if no units are supplied. Can be used to limit antennas in arrays like HERA and SKA that have a “core” and “outriggers”. The minimum is inclusive, and maximum exclusive.
Methods
__init__
(*, antpos, beam[, latitude, Trcv, ...])Method generated by attrs for class Observatory.
baseline_coords_from_groups
(baseline_groups)Convert a dictionary of baseline groups to an array of ENU co-ordinates.
baseline_weights_from_groups
(baseline_groups)Get number of baselines in each group.
clone
(**kwargs)Return a clone of this instance, but change kwargs.
from_profile
(profile[, frequency])Instantiate the Observatory from a builtin profile.
from_uvdata
(uvdata, beam, **kwargs)Instantiate an Observatory from a
pyuvdata.UVData
object.from_yaml
(yaml_file[, frequency])Instantiate an Observatory from a compatible YAML config file.
get_redundant_baselines
([baseline_filters, ...])Determine all baseline groups.
grid_baselines
(coherent[, baselines, ...])Grid baselines onto a pre-determined uvgrid, accounting for earth rotation.
longest_used_baseline
([bl_max])Determine the maximum baseline length kept in the array, in wavelengths.
projected_baselines
([baselines, time_offset])The projected baseline lengths (in wavelengths).
time_offsets_from_obs_int_time
(integration_time)Compute a list of time offsets within an LST-bin.
ugrid
([bl_max])Centres of the UV grid plane.
ugrid_edges
([bl_max])Get a uv grid out to the maximum used baseline smaller than given bl_max.
Attributes
The positions of antennas in the array in units of metres.
Lengths of baselines in units of wavelengths, shape (Nant, Nant).
Raw baseline distances in metres for every pair of antennas.
Central frequency of the observation.
Longest baseline in units of wavelengths.
Conversion factor for metres to wavelengths at fiducial frequency.
Number of antennas in the array.
The time it takes for the sky to drift through the FWHM.
Shortest baseline in units of wavelengths.