Skip to content

Commit

Permalink
Merge pull request #115 from lsst-ts/tickets/DM-42902
Browse files Browse the repository at this point in the history
Tickets/dm42902: Updated the Verify_LATISS_Acq_Take_Sequence tests
  • Loading branch information
rbovill authored Mar 28, 2024
2 parents fd4d760 + 7ce0af3 commit 3f90e2a
Show file tree
Hide file tree
Showing 10 changed files with 268 additions and 26 deletions.
2 changes: 2 additions & 0 deletions conda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ build:
- auxtel_enable_atcs = lsst.ts.IntegrationTests.auxtel_enable_atcs:run_auxtel_enable_atcs
- auxtel_housekeeping = lsst.ts.IntegrationTests.auxtel_housekeeping:run_auxtel_housekeeping
- auxtel_image_taking = lsst.ts.IntegrationTests.image_taking_verification:run_auxtel_image_taking
- auxtel_latiss_acquire = lsst.ts.IntegrationTests.auxtel_latiss_acquire:run_auxtel_latiss_acquire
- auxtel_latiss_take_sequence = lsst.ts.IntegrationTests.auxtel_latiss_take_sequence:run_auxtel_latiss_take_sequence
- auxtel_latiss_acquire_and_take_sequence = lsst.ts.IntegrationTests.auxtel_latiss_acquire_and_take_sequence:run_auxtel_latiss_acquire_and_take_sequence
- auxtel_latiss_calibrations = lsst.ts.IntegrationTests.auxtel_latiss_calibrations:run_auxtel_latiss_calibrations
- auxtel_latiss_checkout = lsst.ts.IntegrationTests.auxtel_latiss_checkout:run_auxtel_latiss_checkout
Expand Down
6 changes: 6 additions & 0 deletions doc/version-history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ Version History
.. No new work should be required in order to complete this section.
.. Below is an example of a version history format.
v0.23.0
-------
* Fixed the csc_state_transition.py script to add the csc_index to the Class instantiation.
* Updated the LATISS Acquire and Take Sequence tests to use the separate scripts instead of the combined script.
* Updated ts-conda-build to version 0.4.

v0.22.0
-------
* Switched M1M3 to individual state transitions.
Expand Down
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ auxtel_disabled_enabled = "lsst.ts.IntegrationTests.auxtel_disabled_enabled:run_
auxtel_enable_atcs = "lsst.ts.IntegrationTests.auxtel_enable_atcs:run_auxtel_enable_atcs"
auxtel_housekeeping = "lsst.ts.IntegrationTests.auxtel_housekeeping:run_auxtel_housekeeping"
auxtel_image_taking = "lsst.ts.IntegrationTests.image_taking_verification:run_auxtel_image_taking"
auxtel_latiss_acquire = "lsst.ts.IntegrationTests.auxtel_latiss_acquire:run_auxtel_latiss_acquire"
auxtel_latiss_take_sequence = "lsst.ts.IntegrationTests.auxtel_latiss_take_sequence:run_auxtel_latiss_take_sequence"
auxtel_latiss_acquire_and_take_sequence = "lsst.ts.IntegrationTests.auxtel_latiss_acquire_and_take_sequence:run_auxtel_latiss_acquire_and_take_sequence"
auxtel_latiss_calibrations = "lsst.ts.IntegrationTests.auxtel_latiss_calibrations:run_auxtel_latiss_calibrations"
auxtel_latiss_checkout = "lsst.ts.IntegrationTests.auxtel_latiss_checkout:run_auxtel_latiss_checkout"
Expand Down
2 changes: 2 additions & 0 deletions python/lsst/ts/IntegrationTests/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@
from .auxtel_disabled_enabled import *
from .auxtel_enable_atcs import *
from .auxtel_housekeeping import *
from .auxtel_latiss_acquire import *
from .auxtel_latiss_acquire_and_take_sequence import *
from .auxtel_latiss_calibrations import *
from .auxtel_latiss_checkout import *
from .auxtel_latiss_take_sequence import *
from .auxtel_latiss_wep_align import *
from .auxtel_offline_standby import *
from .auxtel_prepare_for_flat import *
Expand Down
76 changes: 76 additions & 0 deletions python/lsst/ts/IntegrationTests/auxtel_latiss_acquire.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# This file is part of ts_IntegrationTests.
#
# Developed for the Vera C. Rubin Observatory Telescope & Site Software system.
# This product includes software developed by the Vera C. Rubin Observatory
# Project (https://www.lsst.org).
# See the COPYRIGHT file at the top-level directory of this distribution
# for details of code ownership.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License

__all__ = [
"AuxTelLatissAcquire",
"run_auxtel_latiss_acquire",
]

import argparse
import asyncio

from lsst.ts.IntegrationTests import BaseScript

from .configs.config_registry import registry


class AuxTelLatissAcquire(BaseScript):
"""Execute the given Standard or External script,
with the given Yaml configuration,
placed in the given ScriptQueue location.
Parameters
----------
sequence : `str`
Defines which sequence to run.
Choices are ["verify", "nominal", "test"].
"""

index: int = 2
configs: tuple = ([],)
scripts: list = [
("auxtel/latiss_acquire.py", BaseScript.is_external),
]

def __init__(self, sequence: str) -> None:
super().__init__()
self.sequence = sequence
self.configs = (registry[f"auxtel_acquire_{sequence}"],)


def run_auxtel_latiss_acquire() -> None:
parser = argparse.ArgumentParser()
parser.add_argument(
"sequence",
type=str,
choices=["verify", "nominal", "test"],
help="Specify which sequence to run.",
)
args = parser.parse_args()
script_class = AuxTelLatissAcquire(sequence=args.sequence)
print(
f"\nAuxTel Latiss Acquire; "
f"running the {script_class.scripts[0][0]} script, "
f"for the {script_class.sequence} sequence, "
f"with configuration;\n{script_class.configs}"
)
asyncio.run(script_class.run())
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ class AuxTelLatissAcquireTakeSequence(BaseScript):
----------
sequence : `str`
Defines which sequence to run.
Choices are ["pointing", "verify", "nominal", "test"].
Choices are ["pointing",].
"""

index: int = 2
configs: tuple = ([],)
scripts: list = [
("auxtel/latiss_acquire.py", BaseScript.is_external),
("auxtel/latiss_acquire_and_take_sequence.py", BaseScript.is_external),
]

def __init__(self, sequence: str) -> None:
Expand All @@ -62,7 +62,9 @@ def run_auxtel_latiss_acquire_and_take_sequence() -> None:
parser.add_argument(
"sequence",
type=str,
choices=["pointing", "verify", "nominal", "test"],
choices=[
"pointing",
],
help="Specify which sequence to run.",
)
args = parser.parse_args()
Expand Down
76 changes: 76 additions & 0 deletions python/lsst/ts/IntegrationTests/auxtel_latiss_take_sequence.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# This file is part of ts_IntegrationTests.
#
# Developed for the Vera C. Rubin Observatory Telescope & Site Software system.
# This product includes software developed by the Vera C. Rubin Observatory
# Project (https://www.lsst.org).
# See the COPYRIGHT file at the top-level directory of this distribution
# for details of code ownership.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License

__all__ = [
"AuxTelLatissTakeSequence",
"run_auxtel_latiss_take_sequence",
]

import argparse
import asyncio

from lsst.ts.IntegrationTests import BaseScript

from .configs.config_registry import registry


class AuxTelLatissTakeSequence(BaseScript):
"""Execute the given Standard or External script,
with the given Yaml configuration,
placed in the given ScriptQueue location.
Parameters
----------
sequence : `str`
Defines which sequence to run.
Choices are ["verify", "nominal", "test"].
"""

index: int = 2
configs: tuple = ([],)
scripts: list = [
("auxtel/latiss_take_sequence.py", BaseScript.is_standard),
]

def __init__(self, sequence: str) -> None:
super().__init__()
self.sequence = sequence
self.configs = (registry[f"auxtel_take_sequence_{sequence}"],)


def run_auxtel_latiss_take_sequence() -> None:
parser = argparse.ArgumentParser()
parser.add_argument(
"sequence",
type=str,
choices=["verify", "nominal", "test"],
help="Specify which sequence to run.",
)
args = parser.parse_args()
script_class = AuxTelLatissTakeSequence(sequence=args.sequence)
print(
f"\nAuxTel Latiss Take Sequence; "
f"running the {script_class.scripts[0][0]} script, "
f"for the {script_class.sequence} sequence, "
f"with configuration;\n{script_class.configs}"
)
asyncio.run(script_class.run())
Original file line number Diff line number Diff line change
Expand Up @@ -107,23 +107,23 @@
registry["auxtel_acquire_and_take_sequence_pointing"] = yaml.safe_dump(
{
"object_name": "HD164461",
"rot_type": "PhysicalSky",
"acq_filter": "empty_1",
"acq_grating": "empty_1",
"target_pointing_tolerance": 4,
"max_acq_iter": 4,
"do_acquire": True,
"do_take_sequence": False,
"do_pointing_model": True,
"reason": "IntegrationTesting",
"program": "IntegrationTesting",
"reason": "IntegrationTesting_PointingConfiguration",
"program": "IntegrationTesting_PointingConfiguration",
},
explicit_start=True,
canonical=True,
)

# latiss_acquire and latiss_take_sequence configs
# verfiy
registry["auxtel_acquire_and_take_sequence_verify"] = yaml.safe_dump(
registry["auxtel_acquire_verify"] = yaml.safe_dump(
{
"object_name": "HD164461",
"rot_type": "PhysicalSky",
Expand All @@ -132,50 +132,69 @@
"acq_exposure_time": 0.4,
"target_pointing_tolerance": 6,
"max_acq_iter": 3,
"do_acquire": True,
"do_take_sequence": False,
"do_pointing_model": False,
"target_pointing_verification": False,
"reason": "IntegrationTesting",
"program": "IntegrationTesting",
"reason": "IntegrationTesting_VerifyConfiguration",
"program": "IntegrationTesting_VerifyConfiguration",
},
explicit_start=True,
canonical=True,
)
registry["auxtel_take_sequence_verify"] = yaml.safe_dump(
{
"filter_sequence": ["SDSSr_65mm"],
"grating_sequence": ["empty_1"],
"reason": "IntegrationTesting_VerifyConfiguration",
"program": "IntegrationTesting_VerifyConfiguration",
},
explicit_start=True,
canonical=True,
)

# nominal/standard
registry["auxtel_acquire_and_take_sequence_nominal"] = yaml.safe_dump(
registry["auxtel_acquire_nominal"] = yaml.safe_dump(
{
"object_name": "HD164461",
"rot_type": "PhysicalSky",
"acq_filter": "SDSSr_65mm",
"acq_grating": "empty_1",
"target_pointing_tolerance": 5,
"target_pointing_verification": False,
"reason": "IntegrationTesting_NominalConfiguration",
"program": "IntegrationTesting_NominalConfiguration",
},
explicit_start=True,
canonical=True,
)
registry["auxtel_take_sequence_nominal"] = yaml.safe_dump(
{
"grating_sequence": ["holo4_003", "holo4_003", "empty_1"],
"filter_sequence": ["empty_1", "SDSSr_65mm", "SDSSr_65mm"],
"exposure_time_sequence": [4.0, 4.0, 1.0],
"target_pointing_tolerance": 5,
"target_pointing_verification": False,
"do_acquire": True,
"do_take_sequence": True,
"reason": "IntegrationTesting",
"program": "IntegrationTesting",
"reason": "IntegrationTesting_NominalConfiguration",
"program": "IntegrationTesting_NominalConfiguration",
},
explicit_start=True,
canonical=True,
)

# test
registry["auxtel_acquire_and_take_sequence_test"] = yaml.safe_dump(
registry["auxtel_acquire_test"] = yaml.safe_dump(
{
"object_name": "HD164461",
"rot_type": "PhysicalSky",
"reason": "IntegrationTesting_TestConfiguration",
"program": "IntegrationTesting_TestConfiguration",
},
explicit_start=True,
canonical=True,
)
registry["auxtel_take_sequence_test"] = yaml.safe_dump(
{
"grating_sequence": ["holo4_003", "holo4_003", "holo4_003"],
"filter_sequence": ["SDSSr_65mm", "SDSSr_65mm", "SDSSr_65mm"],
"exposure_time_sequence": [5.0, 5.0, 5.0],
"do_acquire": False,
"do_take_sequence": True,
"reason": "IntegrationTesting",
"program": "IntegrationTesting",
"reason": "IntegrationTesting_TestConfiguration",
"program": "IntegrationTesting_TestConfiguration",
},
explicit_start=True,
canonical=True,
Expand Down
1 change: 1 addition & 0 deletions python/lsst/ts/IntegrationTests/csc_state_transition.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ def main(opts: argparse.Namespace) -> None:
script_class = CSCStateTransition(
csc=opts.csc,
state=opts.state,
csc_index=opts.csc_index,
additional_configuration=opts.additional_configuration,
)
except KeyError as ke:
Expand Down
Loading

0 comments on commit 3f90e2a

Please sign in to comment.