ska_oso_pdm.sb_definition.observing_constraints

The ska_oso_pdm.sb_definition.observing_constraints module models SB entities concerned with observational limits such as solar, lunar and planetary separation constraints, altitude limits, local sidereal time windows and receptor selection constraints. The contents of the module are presented in the diagram below.

../../_images/ska_oso_pdm_sb_definition_observing_constraints.svg

Class diagram for the observing_constraints module

An example serialisation of this model to JSON is shown below.

{
  "sun_separation": {
    "min": {
      "value": 30.0,
      "unit": "arcmin"
    }
  },
  "moon_separation": {
    "min": {
      "value": 45.0,
      "unit": "arcsec"
    }
  },
  "jupiter_separation": {
    "min": {
      "value": 12.0,
      "unit": "deg"
    }
  },
  "altitude": {
    "min": {
      "value": 0.5,
      "unit": "rad"
    },
    "max": {
      "value": 80.0,
      "unit": "deg"
    }
  },
  "lst": {
    "start": {
      "value": 1.0,
      "unit": "hourangle"
    },
    "end": {
      "value": 3.14159,
      "unit": "rad"
    }
  },
  "minimum_receptors": 16,
  "required_receptors": [
    "SKA001",
    "SKA036",
    "SKA063"
  ]
}

Models for observing constraints on an SBDefinition.

class AltitudeConstraint(*, min: Quantity | None = None, max: Quantity | None = None)[source]
class AngularSeparationConstraint(*, min: Quantity | None = None)[source]
class LSTConstraint(*, start: Quantity, end: Quantity)[source]
class ObservingConstraints(*, sun_separation: ~ska_oso_pdm.sb_definition.observing_constraints.AngularSeparationConstraint = <factory>, moon_separation: ~ska_oso_pdm.sb_definition.observing_constraints.AngularSeparationConstraint = <factory>, jupiter_separation: ~ska_oso_pdm.sb_definition.observing_constraints.AngularSeparationConstraint = <factory>, altitude: ~ska_oso_pdm.sb_definition.observing_constraints.AltitudeConstraint = <factory>, lst: ~ska_oso_pdm.sb_definition.observing_constraints.LSTConstraint | None = None, minimum_receptors: int | None = None, required_receptors: frozenset[str] = frozenset({}))[source]