py21cmsense.observatory.Observatory¶
- class py21cmsense.observatory.Observatory(*, antpos: ~typing.Annotated[~astropy.units.quantity.Quantity, PhysicalType('length')], beam: ~py21cmsense.beam.PrimaryBeam, latitude: Unit("rad") = <Quantity 0. rad>, Trcv: ~typing.Annotated[~astropy.units.quantity.Quantity, PhysicalType('temperature')] | ~collections.abc.Callable = <Quantity 100. K>, max_antpos: ~typing.Annotated[~astropy.units.quantity.Quantity, PhysicalType('length')] = <Quantity inf m>, min_antpos: ~typing.Annotated[~astropy.units.quantity.Quantity, PhysicalType('length')] = <Quantity 0. m>, beam_crossing_time_incl_latitude=True, world: str = 'earth', baseline_filters=(), redundancy_tol=1)[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 (
PrimaryBeaminstance) – 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 (astropy.units.quantity.Quantity | collections.abc.Callable) – Receiver temperature, either a temperature Quantity, or a callable that takes 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.
beam_crossing_time_incl_latitude (bool) – Whether the beam-crossing time is dependent on the latitude of the telescope. By default it is, so that the beam-crossing time is
tday * FWHM / (2pi cos(lat)). This affects both the thermal and sample variance calculations.world (string) – A string specifying whether the telescope is on the Earth or the moon.
Methods
__init__(*, antpos, PhysicalType], beam, ...)Method generated by attrs for class Observatory.
clone(**kwargs)Return a clone of this instance, but change kwargs.
from_profile(profile, **kwargs)Instantiate the Observatory from a builtin profile.
from_ska(subarray_template, Trcv, ...)Instantiate an SKA-Low or SKA-Mid subarray.
from_uvdata(uvdata, beam, **kwargs)Instantiate an Observatory from a
pyuvdata.UVDataobject.from_yaml(yaml_file)Instantiate an Observatory from a compatible YAML config file.
Determine all baseline groups.
grid_baselines(coherent, frequency, ...)Grid baselines onto a pre-determined uvgrid, accounting for earth rotation.
projected_baselines(baselines, ...)Compute projected baseline vectors.
Compute a list of time offsets within an LST-bin.
ugrid(frequency)Get a uv grid out to the maximum used baseline smaller than given bl_max.
ugrid_edges(frequency)Get a uv grid out to the maximum used baseline smaller than given bl_max.
vgrid(frequency)Return grid centers in the v direction (i.e. north-south).
vgrid_edges(frequency)TReturn grid edges in the v direction (i.e. north-south).
Attributes
The positions of antennas in the array in units of metres.
The displacement magnitude of the baseline groups.
Lengths of baselines in units of meters, shape (Nbls,).
Baseline vectors in metres for every pair of antennas, after applying filters.
Baseline vectors in metres for every pair of antennas, after applying filters.
Longest included baseline.
Shortest included baseline.
Number of antennas in the array.
A list of lists of redundant baseline groups as indices into
baselines.Get the baseline vectors for each redundant baseline group.
Get the weights for each redundant baseline group.
Raw baseline distances in metres for every pair of antennas.
Get a grid of bl length to the max used baseline smaller than given bl_max.
Get a grid of bl length to the max used baseline smaller than given bl_max.