Constraints

Library for simulating space-based VLBI missions (spacevlbi)

Copyright 2024 Ben Hudson

Licensed under the GNU General Public License, Version 3.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

spacevlbi.Constraints.Elevation(position, ra, dec)

Calculate elevation of a target source from the horizon at a ground telescope location in the topocentric frame.

Parameters:
  • position (numpy.ndarray) – GroundTelescope ECI position vector in metres, defaults to None

  • ra (float) – Right ascension of target source in degrees, defaults to None

  • dec (float) – Declination of target source in degrees, defaults to None

Returns:

Elevation of target source from horizon in degrees

Return type:

float

spacevlbi.Constraints.ObsLimits(spaceTelescopes, groundTelescopes, groundStations, sourceRa, sourceDec, rSun, rMoon)

Calculate whether any of the functional constraints are stopping an observation from being performed at the current time step.

Parameters:
  • spaceTelescopes (list) – Array of SpaceTelescope objects, defaults to None

  • groundTelescopes (list) – Array of GroundTelescope objects, defaults to None

  • groundStations (list) – Array of GroundStation objects, defaults to None

  • sourceRa (float) – Right ascension of target source in degrees, defaults to None

  • sourceDec (float) – Declination of target source in degrees, defaults to None

  • rSun (numpy.ndarray) – Sun position vector in ECI frame in metres, defaults to None

  • rMoon (numpy.ndarray) – Moon position vector in ECI frame in metres, defaults to None

Returns:

Array of SpaceTelescope objects

Return type:

list

Returns:

Array of GroundTelescope objects

Return type:

list

spacevlbi.Constraints.ObsMask(telescope1, telescope2)

For two specific antenna, calculate whether an observation can be performed at the current time step.

Parameters:
  • telescope1 (SpaceTelescope or GroundTelescope) – SpaceTelescope or GroundTelescope object, defaults to None

  • telescope2 (SpaceTelescope or GroundTelescope) – SpaceTelescope or GroundTelescope object, defaults to None

Returns:

Flag indicating whether observation can be performed by these two antenna at the current time step

Return type:

bool

spacevlbi.Constraints.SourceVisibility(ra, dec, position)

Calculate whether source at given right ascension and declination is in view of a space telescope (i.e. not blocked by the Earth).

Parameters:
  • ra (float) – Right ascension of target source in degrees, defaults to None

  • dec (float) – Declination of target source in degrees, defaults to None

  • position (numpy.ndarray) – Spacecraft ECI position vector in metres, defaults to None

Returns:

Flag indicating whether source is in view of spacecraft. In View == 1, Obstructed == 0.

Return type:

bool