Skip to content

Telescope

A telescope is the central unit of observation in Skynet. Each telescope is a physical system at an observatory site that can carry out observation tasks, and a record in Skynet that ties together a mount, devices, instruments, queues, and access policy.

If you're an owner: this is the record SkyNode pairs against, and the record observers ultimately submit work to (through observing accounts + queues).

What a telescope record references

Every Telescope points at:

  • A Mount — the moving structure that tracks targets. Each telescope has exactly one mount.
  • An optional Enclosure — dome or roll-off roof, with automation for rotation, shutter, and weather safety.
  • A set of Devices — cameras, OTAs, filter wheels, focusers, instrument rotators, antennas, receivers, radio backends, weather sensors. The mix depends on whether the telescope is optical, radio, or hybrid.
  • A set of Instruments — each instrument is a combination of devices that together can carry out a given observation type (an "imager" combines an OTA + camera + filter wheel; a "radio spectrometer" combines a receiver + radio backend). See Instrumentation.
  • An ordered list of Observing queues — how time on the telescope is prioritized across users and programs. See Telescope access.
  • A set of Operational constraints — telescope-level safety and scheduling rules that layer on top of the observatory-level ones.

Telescopes also carry:

  • Identity — name, slug, short name, optional IAU code, description, hero image.
  • Ownership — the entity (user or organization) that owns the telescope. This is who has top-level authority over access policy and configuration.
  • Location — inherits from the observatory's site, but the telescope carries its own latitude/longitude/elevation so a single observatory can host telescopes with subtly different pads.
  • Availability flagsisAvailable gates scheduling entirely; isPublic controls whether non-members can see the telescope at all.
  • Calibration observing account — points at the account used to fund calibration tasks (flats, darks, biases) on this telescope.
  • Flat-field screen — declares whether a flat-field screen exists, and if so, where it's mounted (enclosure, fixed alt/az).
  • Local horizon — JSON-encoded local-horizon profile used during visibility calculations.

Manual control and SkyNode pairing

Every telescope record carries a controlAuthority that's either remote (the default — SkyNode runs tasks scheduled by the hub) or manual (automated scheduling is paused; the local operator is driving). When a ManualControlLease is active, SkyNode pauses task execution even if controlAuthority is remote, until the lease expires or is released.

The link between a telescope record and a running SkyNode install is the SkyNodeInstallation record. Pairing happens during install (see SkyNode → Overview).

In the web app

The owner-facing telescope UI is broad. Routes in the React port (in-progress) under apps/website-react/app/routes/entity/:

Route file What an owner does there
org-telescopes.tsx Browse organization telescopes
org-telescope-overview.tsx Status dashboard
org-telescope-settings.tsx Edit telescope configuration
org-telescope-live.tsx Live camera feed + mount position
org-telescope-weather.tsx Weather telemetry, constraint status
org-telescope-log.tsx Hardware log book
org-telescope-tasks.tsx Current task queue and history
org-telescope-queues.tsx Edit observing queues and prioritization
org-telescope-timeline.tsx Schedule view
org-telescope-access-grants.tsx Manage who can access this telescope
org-telescope-api-tokens.tsx Issue API credentials for integrations
org-telescope-ip-cameras.tsx Configure IP camera feeds

The Angular site has equivalents under apps/website/src/app/features/entity/telescopes/; both UIs run against the same /v1/telescopes/* endpoints.

Reference

Telescope Schema

Description: A single pier/instrument host belonging to an Observatory.

A Telescope's ``latitude``, ``longitude``, and ``elevation`` (from
:class:`LocationMixIn`) describe the *physical pier coordinates* of this
telescope. They are intentionally distinct from the parent
:class:`Observatory`'s coordinates: an observatory is a region (often
spanning a mountain or campus) that contains one or more telescopes housed
in different enclosures, so each telescope's pier may be tens of meters or
even kilometers offset from the observatory centroid. Mount-level optical
pivot offsets are tracked separately on :class:`Mount` (``pivot_x/y/z``).

Properties

Name Type Description
id Integer No description
uid UUID No description
owner_id Integer The organization or user which owns the telescope
observatory_id Integer No description
enclosure_id Integer (Optional) No description
name String(100) No description
short_name String(50) (Optional) No description
slug String(50) No description
iau_code String(3) (Optional) No description
description String(Unbounded) No description
image_id UUID (Optional) No description
is_available Boolean No description
is_public Boolean Whether the telescope is can be seen by all Skynet users and used through Skynet's first light account. Private telescopes are only visible to the owner and users with the appropriate permissions.
local_horizon JSONB (Optional) No description
calibration_observing_account_id Integer (Optional) No description
location String(100) No description
latitude Float No description
longitude Float No description
elevation Float No description

Relationships

Relationship Name Type
queues ObservingQueue
owner Entity
observatory Observatory
enclosure Enclosure
devices Device
instruments Instrument
image File
calibration_observing_account ObservingAccount
gallery_items TelescopeGalleryItem
ip_cameras IPCamera
log TelescopeLogEntry
access_grants TelescopeAccessGrant
manual_control_leases ManualControlLease
shutdown_interlocks ShutdownInterlock
sky_node_installations SkyNodeInstallation
states TelescopeSnapshot