From 7f26fd2a80919708b440a46f088e60fb4110db53 Mon Sep 17 00:00:00 2001 From: Steve Pothier Date: Wed, 20 Nov 2024 15:16:36 -0700 Subject: [PATCH] misc changes per Nov 20 logging meeting. Readout=2.41. Detail exposure shows flag --- notebooks_tsqr/ExposureDetail.ipynb | 1726 ++++++++++++----- notebooks_tsqr/ExposureDetail.yaml | 7 - notebooks_tsqr/NightLog.ipynb | 1673 +++++++++++----- notebooks_tsqr/dashboard.ipynb | 225 ++- .../ts/logging_and_reporting/all_sources.py | 4 +- .../ts/logging_and_reporting/dashboard.py | 50 +- .../logging_and_reporting/source_adapters.py | 44 +- 7 files changed, 2624 insertions(+), 1105 deletions(-) diff --git a/notebooks_tsqr/ExposureDetail.ipynb b/notebooks_tsqr/ExposureDetail.ipynb index 0e13f4c..1a8bf7c 100644 --- a/notebooks_tsqr/ExposureDetail.ipynb +++ b/notebooks_tsqr/ExposureDetail.ipynb @@ -15,23 +15,20 @@ "# Report on observing nights that start upto but not included this day.\n", "#!day_obs = '2024-09-25' # Value to use for local testing (Summit)\n", "day_obs = \"YESTERDAY\" # TODO Change to 'YESTERDAY' to test with default before push\n", - "\n", - "# Total number of days of data to display (ending on day_obs)\n", - "number_of_days = \"1\" # TODO Change to '1' to test with default before push\n", - "\n", "instrument = \"LSSTComCam\"\n", "observation_reason = \"ALL\"\n", - "observation_type = \"science\"\n", + "observation_type = \"acq\" # TODO: \"science\", \"acq\", default=\"ALL\"\n", "science_program = \"ALL\"" ] }, { "cell_type": "code", "execution_count": 2, - "id": "e7da1f60-7f47-4c28-8bc0-d83ade57ab4b", + "id": "41a26669-e8fc-4eb4-bb71-9bb699f5e225", "metadata": {}, "outputs": [], "source": [ + "# IMPORT everything\n", "import os\n", "import datetime as dt\n", "import pandas as pd\n", @@ -47,10 +44,21 @@ " !pip install --upgrade git+https://github.com/lsst-ts/ts_logging_and_reporting.git@prototype > /dev/null 2>&1\n", "else:\n", " dev_msg = 'Imported lsst.ts.logging_and_reporting from local packages.'\n", - "import lsst.ts.logging_and_reporting.source_adapters as sad\n", + "#! import lsst.ts.logging_and_reporting.source_adapters as sad\n", "import lsst.ts.logging_and_reporting.utils as ut\n", "from lsst.ts.logging_and_reporting.reports import md\n", "\n", + "from lsst.ts.logging_and_reporting.all_sources import AllSources\n", + "from lsst.ts.logging_and_reporting.all_reports import AllReports" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "14dacf05-7215-4aa0-8e77-1a8ee5fa16ba", + "metadata": {}, + "outputs": [], + "source": [ "# Set default env to \"usdf\" and try before PUSH to repo.\n", "\n", "# The default provided here is for local testing.\n", @@ -65,17 +73,16 @@ "science_program = None if science_program=='ALL' else science_program\n", "params = dict(\n", " day_obs=day_obs,\n", - " number_of_days=number_of_days,\n", " instrument=instrument,\n", " observation_reason=observation_reason,\n", " observation_type=observation_type,\n", " science_program=science_program,\n", - ")\n" + ")" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "39ebaf06-bbcd-47a3-b72e-3e1925995c43", "metadata": {}, "outputs": [], @@ -83,11 +90,12 @@ "# Normalize Parameters (both explicit Times Squares params, in implicit ones)\n", "date = ut.get_datetime_from_dayobs_str(day_obs)\n", "# date: is EXCLUSIVE (upto, but not including)\n", - "days = int(number_of_days)\n", + "days = 1\n", + "verbose=False\n", "\n", "# Thus: [min_day_obs,max_day_obs)\n", "# Format: string, YYYY-MM-DD\n", - "min_date = date - dt.timedelta(days=days - 1)\n", + "min_date = date\n", "max_date = date + dt.timedelta(days=1)\n", "min_day_obs = min_date.strftime(\"%Y-%m-%d\") # Inclusive\n", "max_day_obs = max_date.strftime(\"%Y-%m-%d\") # prep for Exclusive" @@ -95,29 +103,44 @@ }, { "cell_type": "code", - "execution_count": 4, - "id": "a78b6f36-12a3-4f76-806a-ee0805c89318", + "execution_count": 5, + "id": "860a42fd-5fd2-474d-ad9f-576f36c73d6a", "metadata": {}, "outputs": [], "source": [ - "src_exp = sad.ExposurelogAdapter(\n", + "# Read records from (almost) all sources\n", + "timer = ut.Timer()\n", + "allsrc = AllSources(\n", " server_url=server,\n", " min_dayobs=min_day_obs,\n", " max_dayobs=max_day_obs,\n", + " verbose=verbose, \n", " limit=5000,\n", - ")" + ")\n", + "allrep = AllReports(allsrc=allsrc)\n", + "src_exp = allsrc.exp_src" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, + "id": "ca770a2f-ae03-460e-a9c5-ab67a989eb9e", + "metadata": {}, + "outputs": [], + "source": [ + "#! allrep.exp_rep.time_log_as_markdown()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, "id": "01206be5-db25-4a34-9ed4-8189bf54042b", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ - "# Observation Type: science" + "# Observation Type: acq" ], "text/plain": [ "" @@ -129,7 +152,7 @@ { "data": { "text/markdown": [ - "The number of exposures in this filtered result is 21" + "The number of exposures in this filtered result is 124" ], "text/plain": [ "" @@ -144,7 +167,7 @@ "\n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -156,213 +179,1243 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -389,7 +1442,19 @@ "if science_program:\n", " md(f'# Science Program: {science_program}')\n", "md(f'The number of exposures in this filtered result is {len(df.index)}')\n", - "display(HTML(df.to_html()))" + "display(HTML(df.to_html(index=False)))" + ] + }, + { + "cell_type": "markdown", + "id": "19cb9f00-c354-49a6-8baf-1a31b7316b96", + "metadata": {}, + "source": [ + "| Symbol | Meaning |\n", + "|:---|:---|\n", + "|  G | Good |\n", + "|  ?  | Questionable |\n", + "|  R  | Junk |" ] }, { @@ -410,7 +1475,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "id": "a1c0ef70-ac12-401e-8ca9-cdcdae52cc13", "metadata": {}, "outputs": [ @@ -418,10 +1483,9 @@ "data": { "text/plain": [ "{'day_obs': 'YESTERDAY',\n", - " 'number_of_days': '1',\n", " 'instrument': 'LSSTComCam',\n", " 'observation_reason': None,\n", - " 'observation_type': 'science',\n", + " 'observation_type': 'acq',\n", " 'science_program': None}" ] }, @@ -432,8 +1496,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "https://usdf-rsp-dev.slac.stanford.edu: 2024-11-11 to 2024-11-12 [5000] exposurelog endpoints=['instruments', 'exposures', 'messages']\n", - "instrument='LSSTComCam', science_program=None, observation_reason=None, observation_type='science'\n" + "https://usdf-rsp-dev.slac.stanford.edu: 2024-11-19 to 2024-11-20 [2500] exposurelog endpoints=['instruments', 'exposures', 'messages']\n", + "instrument='LSSTComCam', science_program=None, observation_reason=None, observation_type='acq'\n" ] } ], @@ -445,7 +1509,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "id": "0108873d-5a10-47f5-9f32-f7d5479c1b73", "metadata": {}, "outputs": [ @@ -453,7 +1517,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "{'LSSTComCamSim': 0, 'LATISS': 0, 'LSSTComCam': 337, 'LSSTCam': 0}\n" + "{'LSSTComCamSim': 0, 'LATISS': 0, 'LSSTComCam': 422, 'LSSTCam': 0}\n" ] } ], @@ -463,319 +1527,7 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "43897952-6ebd-4267-ad06-21f1da56e5ed", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "
exposure flagobs idtimespan beginseq num
0CC_O_20241111_0000942024-11-12T02:11:24.46501994sciencesciencePP-SURVEYunknownCC_O_20241119_0003372024-11-20T07:22:54.000983337acqacqBLOCK-T1550.0
unknownCC_O_20241119_0003362024-11-20T07:19:30.564991336acqinfocusBLOCK-T1550.0
unknownCC_O_20241119_0003332024-11-20T07:16:48.884999333acqacqBLOCK-T1550.0
unknownCC_O_20241119_0002952024-11-20T07:07:14.810986295acqinfocusBLOCK-T2980.0
unknownCC_O_20241119_0002922024-11-20T07:04:44.257990292acqinfocusBLOCK-T2980.0
unknownCC_O_20241119_0002892024-11-20T07:02:13.840017289acqinfocusBLOCK-T2980.0
unknownCC_O_20241119_0002862024-11-20T06:59:07.540002286acqacqBLOCK-T2860.0
unknownCC_O_20241119_0002852024-11-20T06:57:19.744006285acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002822024-11-20T06:54:43.905986282acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002792024-11-20T06:52:08.310008279acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002762024-11-20T06:43:13.312991276acqacqBLOCK-T2860.0
unknownCC_O_20241119_0002752024-11-20T06:41:57.942005275acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002722024-11-20T06:39:32.559008272acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002692024-11-20T06:37:01.663991269acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002662024-11-20T06:34:23.247992266acqacqBLOCK-T2860.0
unknownCC_O_20241119_0002652024-11-20T06:33:07.852988265acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002622024-11-20T06:30:37.300998262acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002592024-11-20T06:28:06.378984259acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002562024-11-20T06:22:15.168980256acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002532024-11-20T06:17:29.144018253acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002502024-11-20T06:14:30.984010250acqacqBLOCK-T2860.0
unknownCC_O_20241119_0002492024-11-20T06:13:20.728990249acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002462024-11-20T06:10:55.054986246acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002432024-11-20T06:08:29.698986243acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002402024-11-20T06:05:09.076014240acqacqBLOCK-T2860.0
unknownCC_O_20241119_0002392024-11-20T06:03:53.707000239acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002362024-11-20T06:01:23.260985236acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002332024-11-20T05:58:52.510002233acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002282024-11-20T05:25:00.402014228acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0002252024-11-20T05:22:29.952015225acqinfocusBLOCK-T2860.0
1CC_O_20241111_0000932024-11-12T02:10:17.42599593sciencesciencePP-SURVEYunknownCC_O_20241119_0002222024-11-20T05:19:56.455000222acqinfocusBLOCK-T2860.0
2CC_O_20241111_0000922024-11-12T02:09:25.96998792sciencesciencePP-SURVEYunknownCC_O_20241119_0002192024-11-20T05:17:31.022999219acqinfocusBLOCK-T2860.0
3CC_O_20241111_0000912024-11-12T02:08:15.94498091sciencesciencePP-SURVEYunknownCC_O_20241119_0002162024-11-20T05:15:02.164020216acqinfocusBLOCK-T2860.0
4CC_O_20241111_0000902024-11-12T02:07:21.12600590sciencesciencePP-SURVEYunknownCC_O_20241119_0002132024-11-20T05:03:27.715000213acqacqBLOCK-T2860.0
5CC_O_20241111_0000892024-11-12T02:06:11.16500989sciencesciencePP-SURVEYunknownCC_O_20241119_0002122024-11-20T05:02:17.950020212acqinfocusBLOCK-T2860.0
6CC_O_20241111_0000882024-11-12T02:05:18.87002088sciencesciencePP-SURVEYunknownCC_O_20241119_0002092024-11-20T04:59:52.966980209acqinfocusBLOCK-T2860.0
7CC_O_20241111_0000872024-11-12T02:04:09.17198787sciencesciencePP-SURVEYunknownCC_O_20241119_0002062024-11-20T04:57:23.317017206acqinfocusBLOCK-T2860.0
8CC_O_20241111_0000862024-11-12T02:03:17.70600286sciencesciencePP-SURVEYunknownCC_O_20241119_0002032024-11-20T04:54:48.058998203acqinfocusBLOCK-T2860.0
9CC_O_20241111_0000852024-11-12T02:02:09.84799185sciencesciencePP-SURVEYunknownCC_O_20241119_0002002024-11-20T04:52:24.793993200acqinfocusBLOCK-T2860.0
10CC_O_20241111_0000842024-11-12T02:01:18.09301284sciencesciencePP-SURVEYunknownCC_O_20241119_0001972024-11-20T04:50:00.505015197acqinfocusBLOCK-T2860.0
11CC_O_20241111_0000832024-11-12T02:00:11.10701483sciencesciencePP-SURVEYunknownCC_O_20241119_0001942024-11-20T04:47:13.711995194acqacqBLOCK-T2860.0
12CC_O_20241111_0000822024-11-12T01:59:21.47199982sciencesciencePP-SURVEYunknownCC_O_20241119_0001932024-11-20T04:46:03.558000193acqinfocusBLOCK-T2860.0
13CC_O_20241111_0000812024-11-12T01:58:14.29602081sciencesciencePP-SURVEYunknownCC_O_20241119_0001902024-11-20T04:43:38.164985190acqinfocusBLOCK-T2860.0
14CC_O_20241111_0000802024-11-12T01:52:13.008984unknownCC_O_20241119_0001872024-11-20T04:41:12.469014187acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001842024-11-20T04:38:47.011988184acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001812024-11-20T04:36:14.289018181acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001782024-11-20T04:33:50.479015178acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001752024-11-20T04:31:19.718015175acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001722024-11-20T04:28:37.361020172acqacqBLOCK-T2860.0
unknownCC_O_20241119_0001712024-11-20T04:27:27.125995171acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001682024-11-20T04:25:01.753016168acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001652024-11-20T04:22:36.009007165acqinfocusBLOCK-T2860.0
unknownCC_O_20241119_0001622024-11-20T04:20:08.312000162acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001592024-11-20T04:17:44.456011159acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001562024-11-20T04:15:20.560996156acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001532024-11-20T04:11:45.020986153acqacqBLOCK-T2860.0
unknownCC_O_20241119_0001522024-11-20T02:55:19.320010152acqacqBLOCK-T2860.0
unknownCC_O_20241119_0001512024-11-20T02:54:08.988989151acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001482024-11-20T02:52:26.491013148acqacqBLOCK-T2490.0
unknownCC_O_20241119_0001472024-11-20T02:51:16.123984147acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001442024-11-20T02:48:50.423990144acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001412024-11-20T02:46:19.914004141acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001382024-11-20T02:43:54.574981138acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001352024-11-20T02:41:29.012986135acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001322024-11-20T02:35:58.294000132acqacqBLOCK-T2490.0
unknownCC_O_20241119_0001312024-11-20T02:34:41.992020131acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001282024-11-20T02:32:11.569017128acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001252024-11-20T02:29:41.249012125acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001222024-11-20T02:28:14.682996122acqacqBLOCK-T2490.0
unknownCC_O_20241119_0001212024-11-20T02:26:59.513981121acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001182024-11-20T02:24:41.175001118acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001152024-11-20T02:22:22.779011115acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001122024-11-20T02:16:42.581982112acqacqBLOCK-T2490.0
unknownCC_O_20241119_0001112024-11-20T02:15:32.520001111acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001082024-11-20T02:13:13.233007108acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001052024-11-20T02:10:58.198012105acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0001022024-11-20T02:09:31.741994102acqacqBLOCK-T2490.0
junkCC_O_20241119_0001012024-11-20T02:04:54.481015101acqacqBLOCK-T2490.0
unknownCC_O_20241119_0000802024-11-20T01:15:46.56499980sciencesciencePP-SURVEYacqacqBLOCK-T2490.0
15CC_O_20241111_0000792024-11-12T01:51:06.008985unknownCC_O_20241119_0000792024-11-20T01:13:15.54099479sciencesciencePP-SURVEYacqinfocus_closed_loop_science_refocusBLOCK-T1550.0
16CC_O_20241111_0000782024-11-12T01:46:12.31200678sciencesciencePP-SURVEYunknownCC_O_20241119_0000762024-11-20T01:10:50.11498876acqinfocus_closed_loop_science_refocusBLOCK-T1550.0
17CC_O_20241111_0000772024-11-12T01:43:59.86999777sciencesciencePP-SURVEYunknownCC_O_20241119_0000732024-11-20T01:08:20.26800373acqinfocus_closed_loop_science_refocusBLOCK-T1550.0
18CC_O_20241111_0000762024-11-12T01:30:04.97800676sciencesciencePP-SURVEYunknownCC_O_20241119_0000702024-11-20T01:04:42.84999170acqacqBLOCK-T2490.0
19CC_O_20241111_0000752024-11-12T01:25:29.20299875sciencesciencePP-SURVEYunknownCC_O_20241119_0000692024-11-20T00:57:55.91999269acqacqBLOCK-T2490.0
20CC_O_20241111_0000742024-11-12T01:24:22.15101874sciencesciencePP-SURVEYunknownCC_O_20241119_0000682024-11-20T00:55:52.46300768acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000652024-11-20T00:53:22.08699765acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000622024-11-20T00:50:51.54599162acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000592024-11-20T00:48:21.11800059acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000562024-11-20T00:45:50.82901456acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000532024-11-20T00:42:21.62298753acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000502024-11-20T00:40:02.45198650acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000472024-11-20T00:37:42.74701147acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000442024-11-20T00:36:16.35299144acqacqBLOCK-T2490.0
unknownCC_O_20241119_0000432024-11-20T00:22:48.95000843acqinfocusBLOCK-T2490.0
unknownCC_O_20241119_0000402024-11-20T00:20:31.60398240acqacqBLOCK-T2490.0
unknownCC_O_20241119_0000392024-11-20T00:18:37.33600339acqacqBLOCK-T2490.0
unknownCC_O_20241119_0000382024-11-20T00:08:15.31399038acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000372024-11-20T00:06:22.91399637acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000362024-11-20T00:04:38.12100236acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000352024-11-20T00:03:27.46799635acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000342024-11-20T00:02:15.77001434acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000332024-11-20T00:00:41.96798833acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000322024-11-19T23:58:18.06500732acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000312024-11-19T23:57:18.41898131acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000302024-11-19T23:56:25.41198730acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000292024-11-19T23:55:31.71000529acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000282024-11-19T23:54:40.46498028acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000272024-11-19T23:53:52.55801827acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000262024-11-19T23:53:03.72400426acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000252024-11-19T23:52:16.21301725acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000242024-11-19T23:51:23.66898424acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000232024-11-19T23:50:09.06500423acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000222024-11-19T23:49:08.41500122acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000212024-11-19T23:48:25.05800421acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000202024-11-19T23:47:35.46998120acqcomcam_twilight_flatBLOCK-T2150.0
unknownCC_O_20241119_0000192024-11-19T22:23:21.97999019acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000182024-11-19T22:23:09.04600318acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000172024-11-19T22:22:56.09902017acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000162024-11-19T22:22:08.83498416acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000152024-11-19T22:21:55.89801915acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000142024-11-19T22:21:42.96700914acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000132024-11-19T22:21:08.26399913acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000122024-11-19T22:20:55.31798212acqtmacheckoutBLOCK-T2500.0
unknownCC_O_20241119_0000112024-11-19T22:20:42.38399411acqtmacheckoutBLOCK-T2500.0
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
obs idtimespan beginseq numobservation typeobservation reasonscience programexposure time
0CC_O_20241111_0000942024-11-12T02:11:24.46501994sciencesciencePP-SURVEY0.0
1CC_O_20241111_0000932024-11-12T02:10:17.42599593sciencesciencePP-SURVEY0.0
2CC_O_20241111_0000922024-11-12T02:09:25.96998792sciencesciencePP-SURVEY0.0
3CC_O_20241111_0000912024-11-12T02:08:15.94498091sciencesciencePP-SURVEY0.0
4CC_O_20241111_0000902024-11-12T02:07:21.12600590sciencesciencePP-SURVEY0.0
5CC_O_20241111_0000892024-11-12T02:06:11.16500989sciencesciencePP-SURVEY0.0
6CC_O_20241111_0000882024-11-12T02:05:18.87002088sciencesciencePP-SURVEY0.0
7CC_O_20241111_0000872024-11-12T02:04:09.17198787sciencesciencePP-SURVEY0.0
8CC_O_20241111_0000862024-11-12T02:03:17.70600286sciencesciencePP-SURVEY0.0
9CC_O_20241111_0000852024-11-12T02:02:09.84799185sciencesciencePP-SURVEY0.0
10CC_O_20241111_0000842024-11-12T02:01:18.09301284sciencesciencePP-SURVEY0.0
11CC_O_20241111_0000832024-11-12T02:00:11.10701483sciencesciencePP-SURVEY0.0
12CC_O_20241111_0000822024-11-12T01:59:21.47199982sciencesciencePP-SURVEY0.0
13CC_O_20241111_0000812024-11-12T01:58:14.29602081sciencesciencePP-SURVEY0.0
14CC_O_20241111_0000802024-11-12T01:52:13.00898480sciencesciencePP-SURVEY0.0
15CC_O_20241111_0000792024-11-12T01:51:06.00898579sciencesciencePP-SURVEY0.0
16CC_O_20241111_0000782024-11-12T01:46:12.31200678sciencesciencePP-SURVEY0.0
17CC_O_20241111_0000772024-11-12T01:43:59.86999777sciencesciencePP-SURVEY0.0
18CC_O_20241111_0000762024-11-12T01:30:04.97800676sciencesciencePP-SURVEY0.0
19CC_O_20241111_0000752024-11-12T01:25:29.20299875sciencesciencePP-SURVEY0.0
20CC_O_20241111_0000742024-11-12T01:24:22.15101874sciencesciencePP-SURVEY0.0
\n", - "" - ], - "text/plain": [ - " obs id timespan begin seq num \\\n", - "0 CC_O_20241111_000094 2024-11-12T02:11:24.465019 94 \n", - "1 CC_O_20241111_000093 2024-11-12T02:10:17.425995 93 \n", - "2 CC_O_20241111_000092 2024-11-12T02:09:25.969987 92 \n", - "3 CC_O_20241111_000091 2024-11-12T02:08:15.944980 91 \n", - "4 CC_O_20241111_000090 2024-11-12T02:07:21.126005 90 \n", - "5 CC_O_20241111_000089 2024-11-12T02:06:11.165009 89 \n", - "6 CC_O_20241111_000088 2024-11-12T02:05:18.870020 88 \n", - "7 CC_O_20241111_000087 2024-11-12T02:04:09.171987 87 \n", - "8 CC_O_20241111_000086 2024-11-12T02:03:17.706002 86 \n", - "9 CC_O_20241111_000085 2024-11-12T02:02:09.847991 85 \n", - "10 CC_O_20241111_000084 2024-11-12T02:01:18.093012 84 \n", - "11 CC_O_20241111_000083 2024-11-12T02:00:11.107014 83 \n", - "12 CC_O_20241111_000082 2024-11-12T01:59:21.471999 82 \n", - "13 CC_O_20241111_000081 2024-11-12T01:58:14.296020 81 \n", - "14 CC_O_20241111_000080 2024-11-12T01:52:13.008984 80 \n", - "15 CC_O_20241111_000079 2024-11-12T01:51:06.008985 79 \n", - "16 CC_O_20241111_000078 2024-11-12T01:46:12.312006 78 \n", - "17 CC_O_20241111_000077 2024-11-12T01:43:59.869997 77 \n", - "18 CC_O_20241111_000076 2024-11-12T01:30:04.978006 76 \n", - "19 CC_O_20241111_000075 2024-11-12T01:25:29.202998 75 \n", - "20 CC_O_20241111_000074 2024-11-12T01:24:22.151018 74 \n", - "\n", - " observation type observation reason science program exposure time \n", - "0 science science PP-SURVEY 0.0 \n", - "1 science science PP-SURVEY 0.0 \n", - "2 science science PP-SURVEY 0.0 \n", - "3 science science PP-SURVEY 0.0 \n", - "4 science science PP-SURVEY 0.0 \n", - "5 science science PP-SURVEY 0.0 \n", - "6 science science PP-SURVEY 0.0 \n", - "7 science science PP-SURVEY 0.0 \n", - "8 science science PP-SURVEY 0.0 \n", - "9 science science PP-SURVEY 0.0 \n", - "10 science science PP-SURVEY 0.0 \n", - "11 science science PP-SURVEY 0.0 \n", - "12 science science PP-SURVEY 0.0 \n", - "13 science science PP-SURVEY 0.0 \n", - "14 science science PP-SURVEY 0.0 \n", - "15 science science PP-SURVEY 0.0 \n", - "16 science science PP-SURVEY 0.0 \n", - "17 science science PP-SURVEY 0.0 \n", - "18 science science PP-SURVEY 0.0 \n", - "19 science science PP-SURVEY 0.0 \n", - "20 science science PP-SURVEY 0.0 " - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "src_exp.exposure_detail(instrument=instrument,\n", - " science_program=science_program,\n", - " observation_reason=observation_reason,\n", - " observation_type=observation_type\n", - " )\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "1d788add-ee07-4dd5-a37c-843073c2adfa", "metadata": {}, "outputs": [], @@ -808,7 +1560,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.10" } }, "nbformat": 4, diff --git a/notebooks_tsqr/ExposureDetail.yaml b/notebooks_tsqr/ExposureDetail.yaml index d4ad1ff..7519e68 100644 --- a/notebooks_tsqr/ExposureDetail.yaml +++ b/notebooks_tsqr/ExposureDetail.yaml @@ -16,13 +16,6 @@ parameters: TODAY, YESTERDAY) You probably want YESTERDAY. A value of TODAY means the last night shown will be the one that starts tonight.` default: "YESTERDAY" - number_of_days: - type: integer - description: > - Number of days (nights) to show in the report. - default: 1 - minimum: 1 - maximum: 9 instrument: type: string description: > diff --git a/notebooks_tsqr/NightLog.ipynb b/notebooks_tsqr/NightLog.ipynb index a3b7c34..e73bfe6 100644 --- a/notebooks_tsqr/NightLog.ipynb +++ b/notebooks_tsqr/NightLog.ipynb @@ -6,16 +6,15 @@ "metadata": {}, "source": [ "# About this Page\n", - "*This notebook is intended to align with [storyboard Version 51](https://rubinobs.atlassian.net/wiki/pages/viewpage.action?pageId=132612364&pageVersion=51)* (more or less)\n", - "If you are using this under Time Square and *get any errors* that you think come from this notebook, please tell Steve Pothier (steve.pothier@noirlab.edu). Include the full Times Square URL you used to get the error. \n", + "See [**slack #ts-logging**](https://rubin-obs.slack.com/archives/C07QJMQKJE6)\n", + "channel for discussion about this page. There you can report problems, questions, and requests for changes.\n", "\n", "## What is new in this app?(newest change at top of list)\n", + "- Do not show Time Loss info unless it is greater than zero\n", + "- Do not show software or hardware components (they are rarely used anyhow)\n", "- Embedded comments and questions to reader (Yellow background)\n", "- This page tries to work around existing problems with APIs used for source data. (There is a ticket to fix the APIs)\n", - "- Errors from APIs are displayed in this page (Red background).\n", - "\n", - "## Known issues\n", - "- (none known)" + "- Errors from APIs are displayed in this page (Red background).\n" ] }, { @@ -47,6 +46,7 @@ "metadata": {}, "outputs": [], "source": [ + "# IMPORT everything\n", "import datetime as dt\n", "import os\n", "from collections import defaultdict\n", @@ -150,7 +150,7 @@ { "data": { "text/markdown": [ - "# Showing data for 2024-11-19 to 2024-11-20 for LSSTComCamSim, LATISS, LSSTComCam, LSSTCam" + "# Showing data for 2024-11-20 to 2024-11-21 for LSSTComCamSim, LATISS, LSSTComCam, LSSTCam" ], "text/plain": [ "" @@ -162,7 +162,7 @@ { "data": { "text/markdown": [ - "Most recently run on: **2024-11-19 15:33:49**" + "Most recently run on: **2024-11-20 22:12:27**" ], "text/plain": [ "" @@ -225,7 +225,7 @@ { "data": { "text/markdown": [ - "No nightreport records found 2024-11-19 to 2024-11-20. " + "No nightreport records found 2024-11-20 to 2024-11-21. " ], "text/plain": [ "" @@ -237,7 +237,7 @@ { "data": { "text/markdown": [ - "Used [API Data](https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241119&max_day_obs=20241120)" + "Used [API Data](https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241120&max_day_obs=20241121)" ], "text/plain": [ "" @@ -273,7 +273,7 @@ { "data": { "text/markdown": [ - "**Almanac for the observing night starting 2024-11-19**" + "**Almanac for the observing night starting 2024-11-20**" ], "text/plain": [ "" @@ -287,80 +287,80 @@ "text/html": [ "\n", - "\n", + "
\n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", "
Sun Set2024-11-19 23:16:53Sun Set2024-11-20 23:17:44
Evening Civil Twilight2024-11-19 23:47:34(-6 degrees)Evening Civil Twilight2024-11-20 23:48:28(-6 degrees)
Evening Nautical Twilight2024-11-20 00:19:27(-12 degrees)Evening Nautical Twilight2024-11-21 00:20:27(-12 degrees)
Evening Astronomical Twilight2024-11-20 00:53:05(-18 degrees)Evening Astronomical Twilight2024-11-21 00:54:12(-18 degrees)
Moon Rise2024-11-20 03:44:50Moon Rise2024-11-21 04:26:54
Solar Midnight2024-11-20 04:28:30Solar Midnight2024-11-21 04:28:45
Morning Astronomical Twilight2024-11-20 08:03:55(-18 degrees)Morning Astronomical Twilight2024-11-21 08:03:18(-18 degrees)
Morning Nautical Twilight2024-11-20 08:37:33(-12 degrees)Morning Nautical Twilight2024-11-21 08:37:03(-12 degrees)
Morning Civil Twilight2024-11-20 09:09:27(-6 degrees)Morning Civil Twilight2024-11-21 09:09:02(-6 degrees)
Sun Rise2024-11-20 09:40:07Sun Rise2024-11-21 09:39:47
Moon Set2024-11-20 13:48:27Moon Set2024-11-21 14:51:23
Moon Illumination78%(% illuminated)Moon Illumination68%(% illuminated)
UTCUTC
\n" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -484,26 +484,71 @@ " \n", " \n", " \n", - " \n", + " LSSTComCam\n", " \n", " \n", " \n", " \n", - " Total night\n", - " 7:10:49\n", + " Total Night\n", + " 7:09:05\n", + " \n", + " \n", + " Total Exposure\n", + " 0:00:49\n", + " \n", + " \n", + " Slew time(1)\n", + " 0:00:00\n", + " \n", + " \n", + " Readout time(2)\n", + " 0:00:45\n", + " \n", + " \n", + " Time loss to fault\n", + " 0\n", + " \n", + " \n", + " Time loss to weather\n", + " 0\n", " \n", " \n", " Idle time\n", - " 7:10:49\n", + " 7:07:30\n", + " \n", + " \n", + " Number of exposures\n", + " 19\n", + " \n", + " \n", + " Mean readout time\n", + " 0:00:02\n", + " \n", + " \n", + " Number of slews(1)\n", + " 0\n", + " \n", + " \n", + " Mean Slew time(1)\n", + " 0:00:00\n", " \n", " \n", "\n", "" ], "text/plain": [ - " \n", - "Total night 7:10:49\n", - "Idle time 7:10:49" + " LSSTComCam\n", + "Total Night 7:09:05\n", + "Total Exposure 0:00:49\n", + "Slew time(1) 0:00:00\n", + "Readout time(2) 0:00:45\n", + "Time loss to fault 0\n", + "Time loss to weather 0\n", + "Idle time 7:07:30\n", + "Number of exposures 19\n", + "Mean readout time 0:00:02\n", + "Number of slews(1) 0\n", + "Mean Slew time(1) 0:00:00" ] }, "metadata": {}, @@ -545,7 +590,7 @@ { "data": { "text/markdown": [ - "- [OBS-689](https://rubinobs.atlassian.net/browse/OBS-689)" + "- [OBS-693](https://rubinobs.atlassian.net/browse/OBS-693)" ], "text/plain": [ "" @@ -557,7 +602,7 @@ { "data": { "text/markdown": [ - "- [OBS-692](https://rubinobs.atlassian.net/browse/OBS-692)" + "- [OBS-695](https://rubinobs.atlassian.net/browse/OBS-695)" ], "text/plain": [ "" @@ -569,7 +614,7 @@ { "data": { "text/markdown": [ - "- [OBS-690](https://rubinobs.atlassian.net/browse/OBS-690)" + "- [OBS-694](https://rubinobs.atlassian.net/browse/OBS-694)" ], "text/plain": [ "" @@ -581,7 +626,7 @@ { "data": { "text/markdown": [ - "- [OBS-691](https://rubinobs.atlassian.net/browse/OBS-691)" + "- [OBS-696](https://rubinobs.atlassian.net/browse/OBS-696)" ], "text/plain": [ "" @@ -610,7 +655,7 @@ { "data": { "text/markdown": [ - "No tickets found using: [API Data](https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241119&max_day_obs=20241120) in `confluence_url`." + "No tickets found using: [API Data](https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241120&max_day_obs=20241121) in `confluence_url`." ], "text/plain": [ "" @@ -686,7 +731,7 @@ { "data": { "text/markdown": [ - "**LSSTComCam: 0 total exposures**" + "**LSSTComCam: 19 total exposures**" ], "text/plain": [ "" @@ -695,6 +740,147 @@ "metadata": {}, "output_type": "display_data" }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Observation Type\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Detailgoodquestionablejunkunknown
acq0009
bias00010
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Observation Reason\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Detailgoodquestionablejunkunknown
comcam-usdf-checkout00010
tmacheckout0009
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Science Program\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Detailgoodquestionablejunkunknown
BLOCK-T24600010
BLOCK-T2500009
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/markdown": [ @@ -727,14 +913,8 @@ "source": [ "## Narrative Log BETA \n", "\n", - "*Pothier: I think this section is too wordy. Improvement suggestions are welcome.*\n", - "Possibilities:\n", - " \n", - "- Combine all three COMPONENT lists into one, truncate all values to first 5 characters, and only show unique value\n", - "- eliminate microsconds (and seconds)\n", - "- Give a color coded time lost time: (only when lost gt 0); color for type\n", "- Truncate text messages to N chars (ending with \"...\" as link if truncated, link goes to page with full message record including text and all attributes)\n", - "- Detect some kinds of \"blocks\" and render in smaller text (+ ot \n", + "- Detect some kinds of \"blocks\" and render in smaller text (+ other format changes) \n", "" ] }, @@ -753,12 +933,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 09:51:45.871329** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 10:37** **MainTel** \n", "\n", - "
We weren't able to lock the Y+ mirror cover in place using the EUI. It was fully retracted but the lock didn't engage. We spent about 20 minutes trying to troubleshoot, but had to give up.
\n" + "
TMA is parked. M2 recovered. Finishing the remainder of the shut down procedures.
\n" ], "text/plain": [ "" @@ -770,12 +947,62 @@ { "data": { "text/markdown": [ - "- **2024-11-19 09:05:43.008185** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", "\n", - "
Dome is closed. Continuing with parking and shutdown procedures.
\n" + "\n", + "M2 went into fault while trying to park the TMA with elevation parking settings. We had just tried to run BLOCK-284 with no success. \r\n", + "\r\n", + "\r\n", + "M2 is Reporting:\r\n", + "\r\n", + "\r\n", + "2024/11/20 09:46:40 TAI\r\n", + "Inclinometer Difference Error \r\n", + "\r\n", + "\r\n", + "2024/11/20 09:48:08 TAI\r\n", + "\r\n", + "\r\n", + "Error when doing the basic cleanup and power off the motor.\r\n", + "
Traceback (most recent call last):\r\n",
+       "  File "/opt/lsst/software/stack/miniconda/lib/python3.11/site-packages/lsst/ts/m2/csc.py", line 1277, in _basic_cleanup_and_power_off_motor\r\n",
+       "    await self._execute_command(\r\n",
+       "  File "/opt/lsst/software/stack/miniconda/lib/python3.11/site-packages/lsst/ts/m2/csc.py", line 2052, in _execute_command\r\n",
+       "    await command(*args, timeout=timeout, **kwargs)  # type: ignore[operator]\r\n",
+       "    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n",
+       "  File "/opt/lsst/software/stack/miniconda/lib/python3.11/site-packages/lsst/ts/m2com/controller.py", line 952, in set_closed_loop_control_mode\r\n",
+       "    raise RuntimeError(\r\n",
+       "RuntimeError: Closed-loop control mode is <ClosedLoopControlMode.OpenLoop: 3> instead of <ClosedLoopControlMode.TelemetryOnly: 2> in timeout.\r\n",
+       "d\r\n",
+       "2024/11/20 09:46:40 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Fault! errorCode=1, errorReport="Controller's state is Fault."\r\n",
+       "\r\n",
+       "\r\n",
+       "Elevation angle as measured by M2: 70.71. \r\n",
+       "TMA elevation position: 70.88. \r\n",
+       "\r\n",
+       "\r\n",
+       "Is this why there is an inclination error? \r\n",
+       "\r\n",
+       "\r\n",
+       "M2 error codes\r\n",
+       "\r\n",
+       "\r\n",
+       "11/20/2024 06:23:23\r\n",
+       "11/20/2024 06:23:31\r\n",
+       "11/20/2024 06:46:03\r\n",
+       "11/20/2024 06:46:03\r\n",
+       "11/20/2024 06:47:32\r\n",
+       "11/20/2024 06:50:14\r\n",
+       "6053.00\r\n",
+       "cRIO Communication Error\r\n",
+       "0.00\r\n",
+       "1.00\r\n",
+       "Controller's state is Fault.\r\n",
+       "6060.00\r\n",
+       "Inclinometer Difference Error\r\n",
+       "
\n" ], "text/plain": [ "" @@ -787,12 +1014,7 @@ { "data": { "text/markdown": [ - "- **2024-11-19 08:21:58.224141** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", - "\n", - "
Closing the mirror covers with the script is faulting the MTPtg. See SalIndex 104010 for more details.
\n" + "- Link: [OBS-696](https://rubinobs.atlassian.net/browse/OBS-696)" ], "text/plain": [ "" @@ -804,12 +1026,24 @@ { "data": { "text/markdown": [ - "- **2024-11-19 08:09:14.367060** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 10:02** **MainTel** \n", "\n", - "
AOS testing finished for the night. Testing team departing. Preparing closing procedures.
\n" + "
M2 error codes\r\n",
+       "\r\n",
+       "\r\n",
+       "11/20/2024 06:23:23\r\n",
+       "11/20/2024 06:23:31\r\n",
+       "11/20/2024 06:46:03\r\n",
+       "11/20/2024 06:46:03\r\n",
+       "11/20/2024 06:47:32\r\n",
+       "11/20/2024 06:50:14\r\n",
+       "6053.00\r\n",
+       "cRIO Communication Error\r\n",
+       "0.00\r\n",
+       "1.00\r\n",
+       "Controller's state is Fault.\r\n",
+       "6060.00\r\n",
+       "Inclinometer Difference Error
\n" ], "text/plain": [ "" @@ -821,12 +1055,15 @@ { "data": { "text/markdown": [ - "- **2024-11-19 07:45:43.774875** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 10:01** **MainTel** \n", "\n", - "
Slewing to elevation 65 to get more measurements for LUT. Likely last set.
\n" + "
Elevation angle as measured by M2: 70.71. \r\n",
+       "\r\n",
+       "\r\n",
+       "TMA elevation position: 70.88. \r\n",
+       "\r\n",
+       "\r\n",
+       "Is this why there is an inclination error?
\n" ], "text/plain": [ "" @@ -838,12 +1075,34 @@ { "data": { "text/markdown": [ - "- **2024-11-19 07:43:29.803078** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", "\n", - "
MTPtg fails to track target. Trying to resume the script and getting the CSC faults again.
\n" + "\n", + "M2 is Reporting:\r\n", + "\r\n", + "\r\n", + "2024/11/20 09:46:40 TAI\r\n", + "Inclinometer Difference Error \r\n", + "\r\n", + "\r\n", + "2024/11/20 09:48:08 TAI\r\n", + "\r\n", + "\r\n", + "Error when doing the basic cleanup and power off the motor.\r\n", + "
Traceback (most recent call last):\r\n",
+       "  File "/opt/lsst/software/stack/miniconda/lib/python3.11/site-packages/lsst/ts/m2/csc.py", line 1277, in _basic_cleanup_and_power_off_motor\r\n",
+       "    await self._execute_command(\r\n",
+       "  File "/opt/lsst/software/stack/miniconda/lib/python3.11/site-packages/lsst/ts/m2/csc.py", line 2052, in _execute_command\r\n",
+       "    await command(*args, timeout=timeout, **kwargs)  # type: ignore[operator]\r\n",
+       "    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n",
+       "  File "/opt/lsst/software/stack/miniconda/lib/python3.11/site-packages/lsst/ts/m2com/controller.py", line 952, in set_closed_loop_control_mode\r\n",
+       "    raise RuntimeError(\r\n",
+       "RuntimeError: Closed-loop control mode is <ClosedLoopControlMode.OpenLoop: 3> instead of <ClosedLoopControlMode.TelemetryOnly: 2> in timeout.\r\n",
+       "d\r\n",
+       "2024/11/20 09:46:40 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Fault! errorCode=1, errorReport="Controller's state is Fault."\r\n",
+       "
\n" ], "text/plain": [ "" @@ -855,12 +1114,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 06:59:08.974844** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 09:48** **MainTel** \n", "\n", - "
After some negotiating with the system, we are finally able to run BLOCK-286.
\n" + "
M2 went into fault while trying to park the TMA.
\n" ], "text/plain": [ "" @@ -872,12 +1128,43 @@ { "data": { "text/markdown": [ - "- **2024-11-19 06:44:57.573631** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", "\n", - "
Zeroing corrections and starting from scratch after a few corrections failed to apply errors.
\n" + "\n", + "BLOCK-284 failed again - failing to home TMA, when we literally just did. A bug? \r\n", + "Sal: 104373\r\n", + "\r\n", + "\r\n", + "2024/11/20 09:26:27 TAI\r\n", + "\r\n", + "\r\n", + "Error in run\r\n", + "
Traceback (most recent call last):\r\n",
+       "  File "/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/lsst/ts/salobj/base_script.py", line 631, in do_run\r\n",
+       "    await self._run_task\r\n",
+       "  File "/net/obs-env/auto_base_packages/ts_standardscripts/python/lsst/ts/standardscripts/base_block_script.py", line 302, in run\r\n",
+       "    await self.run_block()\r\n",
+       "  File "/net/obs-env/auto_base_packages/ts_standardscripts/python/lsst/ts/standardscripts/maintel/move_p2p.py", line 182, in run_block\r\n",
+       "    await self.mtcs.move_p2p_azel(\r\n",
+       "  File "/net/obs-env/auto_base_packages/ts_observatory_control/python/lsst/ts/observatory/control/maintel/mtcs.py", line 2242, in move_p2p_azel\r\n",
+       "    await self.process_as_completed(tasks)\r\n",
+       "  File "/net/obs-env/auto_base_packages/ts_observatory_control/python/lsst/ts/observatory/control/remote_group.py", line 1132, in process_as_completed\r\n",
+       "    raise e\r\n",
+       "  File "/net/obs-env/auto_base_packages/ts_observatory_control/python/lsst/ts/observatory/control/remote_group.py", line 1129, in process_as_completed\r\n",
+       "    ret_val = await res\r\n",
+       "              ^^^^^^^^^\r\n",
+       "  File "/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/asyncio/tasks.py", line 615, in _wait_for_one\r\n",
+       "    return f.result()  # May raise f.exception().\r\n",
+       "           ^^^^^^^^^^\r\n",
+       "  File "/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/lsst/ts/salobj/topics/remote_command.py", line 416, in set_start\r\n",
+       "    return await self.start(timeout=timeout, wait_done=wait_done)\r\n",
+       "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n",
+       "  File "/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/lsst/ts/salobj/topics/remote_command.py", line 487, in start\r\n",
+       "    return await cmd_info.next_ackcmd(timeout=timeout)\r\n",
+       "           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n",
+       "  File "/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/lsst/ts/salobj/topics/remote_command.py", line 191, in next_ackcmd\r\n",
+       "    raise base.AckError(msg="Command failed", ackcmd=ackcmd)\r\n",
+       "lsst.ts.salobj.base.AckError: msg='Command failed', ackcmd=(ackcmd private_seqNum=930398849, ack=<SalRetCode.CMD_FAILED: -302>, error=1, result='Failed: Homming not done\\nDiscrete motion not available\\nPerform a homming or \\nallow relative movements and relative commands in settings\\nNot accepted command: 103')\r\n",
+       "
\n" ], "text/plain": [ "" @@ -889,12 +1176,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 06:13:41.408965** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 09:24** **MainTel** \n", "\n", - "
Beginning BLOCK-286
\n" + "
BLOCK-284 failed saying TMA was not homed (it was in the position we left it after a point_azel). We are homing the axes and trying again.
\n" ], "text/plain": [ "" @@ -906,12 +1190,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 06:12:23.915316** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 09:17** **MainTel** \n", "\n", - "
Back on sky, in position. Taking an image at 0 (hexapod positions) - BLOCK-291. Had to pause to enable compensation mode.
\n" + "
MTDome shutters are closed. I went upstairs to close the shutters. I pushed ApS - Right first, and it closed completely. The operation button glowed solid green. I then pushed to close the left shutter. I waited more than 7 minutes. It LOOKED fully closed. The light kept flashing green, however. I waited until 10 minutes. The close button never stopped flashing green. I disabled the switches and left the 8th floor. There appeared to be no light leak.
\n" ], "text/plain": [ "" @@ -923,12 +1204,7 @@ { "data": { "text/markdown": [ - "- **2024-11-19 06:09:26.818252** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", - "\n", - "
Tiago assisting in troubleshooting, attempting a quick fix through ocsqueue.
\n" + "- Link: [OBS-695](https://rubinobs.atlassian.net/browse/OBS-695)" ], "text/plain": [ "" @@ -940,12 +1216,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 05:56:55.423836** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 09:14** **MainTel** \n", "\n", - "
Another timeout - Tiago looking into possible DDS issues.
\n" + "
Running BLOCK-284.
\n" ], "text/plain": [ "" @@ -957,12 +1230,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 05:47:27.969789** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 08:35** **MainTel** \n", "\n", - "
Slew and track target was failing due to long slew in azimuth. Applying timeout buffer.
\n" + "
CCW and rotator are out of sync again. Using the TMA EUI to realign the two.
\n" ], "text/plain": [ "" @@ -974,12 +1244,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 05:35:50.081106** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 08:23** **MainTel** \n", "\n", - "
Compensation mode was disabled due to undetermined reason.
\n" + "
Raising M1M3 again.
\n" ], "text/plain": [ "" @@ -991,12 +1258,14 @@ { "data": { "text/markdown": [ - "- **2024-11-19 05:33:51.570259** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 08:17** **MainTel** \n", "\n", - "
M2 Hexapod goes into fault state.
\n" + "
Attempting to do a move_azel, ignoring Mtdome components. \r\n",
+       "\r\n",
+       "\r\n",
+       "M1M3 faulted immediately. \r\n",
+       "2024/11/20 08:15:51 TAI\r\n",
+       "Force controller Z Moment Limit - applied 12161.35 N, expected -9000.00 N to 9000.00 N
\n" ], "text/plain": [ "" @@ -1008,12 +1277,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 04:18:17.846129** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 08:10** **MainTel** \n", "\n", - "
Cycling the MTAOS CSC.
\n" + "
Beginning shutdown procedures. Parking dome first.
\n" ], "text/plain": [ "" @@ -1025,12 +1291,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 04:14:32.157850** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 08:05** **MainTel** \n", "\n", - "
AOS team investigating.
\n" + "
We continued on with scheduler tests until about 05:05 and we interrupted observations to close for the night.
\n" ], "text/plain": [ "" @@ -1042,12 +1305,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 04:14:21.818259** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 07:21** **MainTel** \n", "\n", - "
Close loop comcam failed.
\n" + "
Close_loop_comcam failed spitting out a bunch of Nan values.
\n" ], "text/plain": [ "" @@ -1059,12 +1319,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 04:10:48.791505** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 07:18** **MainTel** \n", "\n", - "
Going back to AOS testing. BLOCK-291.
\n" + "
AOS team has finished collecting data - going to start the schedule for science driven observations.
\n" ], "text/plain": [ "" @@ -1076,12 +1333,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 03:59:15.458371** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 06:51** **MainTel** \n", "\n", - "
Intento no 3
\n" + "
We had a brief MTptg error, but it didn't fault data collection. Still getting data for different elevations for the LUT.
\n" ], "text/plain": [ "" @@ -1093,7 +1347,22 @@ { "data": { "text/markdown": [ - "- Link: [OBS-692](https://rubinobs.atlassian.net/browse/OBS-692)" + "- **2024-11-20 05:59** **MainTel** Time Lost: 0.47; Time Lost Type: fault;\n", + "\n", + "
Camera cable wrap stopped following the rotator, probably due to a rotator low-level controller error. We had to enter the Rot EUI and recover, then stand down the MTMount CSCs so we could nudge the CCW back to the rotator's position. Time of troubleshooting was about 30 minutes. \r\n",
+       "\r\n",
+       "\r\n",
+       "MTRotator faulted due to a CCW following error. EUI reports CCW is at 0.24 degrees, and rotator is at 2.2 degrees. \r\n",
+       "2024/11/20 05:27:54 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Fault! errorCode=1, errorReport='Low-level controller went to FAULT state'\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 05:27:51 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Camera cable wrap not following closely enough: error # 3 = 2.2000851374542925 > 2.2 deg
\n" ], "text/plain": [ "" @@ -1105,12 +1374,7 @@ { "data": { "text/markdown": [ - "- **2024-11-19 03:51:39.755884** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", - "\n", - "
Intento no 2.
\n" + "- Link: [OBS-694](https://rubinobs.atlassian.net/browse/OBS-694)" ], "text/plain": [ "" @@ -1122,7 +1386,9 @@ { "data": { "text/markdown": [ - "- Link: [OBS-691](https://rubinobs.atlassian.net/browse/OBS-691)" + "- **2024-11-20 05:55** **MainTel** \n", + "\n", + "
Trying to track target at 80 degrees elevation.
\n" ], "text/plain": [ "" @@ -1134,12 +1400,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 03:33:31.692957** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 05:55** **MainTel** \n", "\n", - "
Running BLOCK-75. Giant donut.
\n" + "
Homing axes, MTRotator came back cleanly after nudging the CCW to the rotator's position.
\n" ], "text/plain": [ "" @@ -1151,12 +1414,19 @@ { "data": { "text/markdown": [ - "- **2024-11-19 03:23:08.408621** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 05:50** **MainTel** \n", "\n", - "
Testing ticket creation.
\n" + "
MTRotator faulted due to a CCW following error. EUI reports CCW is at 0.24 degrees, and rotator is at 2.2 degrees. \r\n",
+       "2024/11/20 05:27:54 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Fault! errorCode=1, errorReport='Low-level controller went to FAULT state'\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 05:27:51 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Camera cable wrap not following closely enough: error # 3 = 2.2000851374542925 > 2.2 deg
\n" ], "text/plain": [ "" @@ -1168,7 +1438,9 @@ { "data": { "text/markdown": [ - "- Link: [OBS-690](https://rubinobs.atlassian.net/browse/OBS-690)" + "- **2024-11-20 05:24** **MainTel** Time Lost: 1.0; Time Lost Type: fault;\n", + "\n", + "
Logged time loss to OBS-693, but since I added a comment only, the time loss did not propagate in the narrative log. Creating the record here.
\n" ], "text/plain": [ "" @@ -1180,12 +1452,60 @@ { "data": { "text/markdown": [ - "- **2024-11-19 03:14:40.756263** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['Other']\n", + "- **2024-11-20 05:21** **MTMount** Time Lost: 0.92; Time Lost Type: fault;\n", "\n", - "
Logged a request to clean the all-sky cam.
\n" + "
h3. Error/Failure explanation:\r\n",
+       "The MTPtg CSC goes into a fault state when we try to send the telescope to a different position to track a target on the sky using a SAL script: track_target. \r\n",
+       "h3. What were you doing when the failure occurred?:\r\n",
+       "Two different system states have produced this behavior. In one case, the TMA was tracking the sky, and we issued a track_target script to send it to another position. The MTPtg CSC faulted, reporting a time out error that was not associated to anything specific, and we could not slew the telescope. In the other case, the TMA was stopped, not tracking the sky, and had no pending commands. We issued a track target script, and the same errors were produced. \r\n",
+       "h3. Detailed description of the steps followed that caused the error/failure:\r\n",
+       "One example: TMA tracking the sky\r\n",
+       "MTMount reports:\r\n",
+       "\r\n",
+       "2024/11/20 03:15:02 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesEnableTracking(sequence_id=13851778, command_code=, source=, timestamp=1732072501.1088629)=b'13851778\\n38\\n1\\n1732072501.1088629\\r\\n' failed: Command with id 13851778 has timed out after not receiving accept for 500 ms.\r\n",
+       "\r\n",
+       "\r\n",
+       "MTPTg reports:\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 03:15:02 TAI\r\n",
+       "\r\n",
+       "Error MTMount replied error for startTracking command (1732828374) Error no:1 message:Failed: Command with id 13851778 has time\r\n",
+       "\r\n",
+       "Another example - we stopped MTMount, not tracking, no pending commands:\r\n",
+       "MTPtg reports:\r\n",
+       "\r\n",
+       "2024/11/20 03:23:50 TAI\r\n",
+       "\r\n",
+       "Error MTMount replied error for trackTarget command (1733626109) Error no:1 message:Failed: Command with id 13858718 has timed \r\n",
+       "\r\n",
+       "\r\n",
+       "MTMount reports:\r\n",
+       "\r\n",
+       "2024/11/20 03:23:50 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesTrackTarget(sequence_id=13858718, command_code=, source=, timestamp=1732073030.406984, azimuth=-99.97881468391222, elevation=60.02329219282346, azimuth_velocity=-0.0010219022304360321, elevation_velocity=-0.0035535333296652137, tai=1732073030.5560682)=b'13858718\\n35\\n1\\n1732073030.406984\\n-99.97881468391222\\n60.02329219282346\\n-0.0010219022304360321\\n-0.0035535333296652137\\n1732073030.5560682\\r\\n' rejected: Command with id 13858718 has timed out after not receiving accept for 500 ms.\r\n",
+       "\r\n",
+       "Third example:\r\n",
+       "Another MTPtg error. Telescope was tracking after taking a series of closed loop data. \r\n",
+       "\r\n",
+       "\r\n",
+       "Going to slew from elevation 50 -> 80 if that means anything. Although it probably doesn't. \r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 05:05:08 TAI\r\n",
+       "\r\n",
+       "Error MTMount replied error for startTracking command (1732828382) Error no:1 message:Failed: Command with id 13925969 has time\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 05:05:08 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesEnableTracking(sequence_id=13925969, command_code=, source=, timestamp=1732079107.809806)=b'13925969\\n38\\n1\\n1732079107.809806\\r\\n' failed: Command with id 13925969 has timed out after not receiving accept for 500 ms.
\n" ], "text/plain": [ "" @@ -1197,7 +1517,7 @@ { "data": { "text/markdown": [ - "- Link: [OBS-689](https://rubinobs.atlassian.net/browse/OBS-689)" + "- Link: [OBS-693](https://rubinobs.atlassian.net/browse/OBS-693)" ], "text/plain": [ "" @@ -1209,12 +1529,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 02:45:53.141702** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 05:14** **MainTel** \n", "\n", - "
Starting BLOCK-291. Starting with dof to get a baseline.
\n" + "
Back on sky
\n" ], "text/plain": [ "" @@ -1226,12 +1543,22 @@ { "data": { "text/markdown": [ - "- **2024-11-19 02:41:44.612666** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 05:07** **MainTel** \n", "\n", - "
Keith confirms that they have all the z-band data they think they need. Stopping scheduler and moving on the AOS testing.
\n" + "
Another MTPtg error. Telescope was tracking after taking a series of closed loop data. \r\n",
+       "\r\n",
+       "\r\n",
+       "Going to slew from elevation 50 -> 80 if that means anything. Although it probably doesn't. \r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 05:05:08 TAI\r\n",
+       "Error MTMount replied error for startTracking command (1732828382) Error no:1 message:Failed: Command with id 13925969 has time\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 05:05:08 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesEnableTracking(sequence_id=13925969, command_code=<CommandCode.BOTH_AXES_ENABLE_TRACKING: 38>, source=<Source.CSC: 1>, timestamp=1732079107.809806)=b'13925969\\n38\\n1\\n1732079107.809806\\r\\n' failed: Command with id 13925969 has timed out after not receiving accept for 500 ms.
\n" ], "text/plain": [ "" @@ -1243,12 +1570,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 02:34:39.756283** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 04:15** **MainTel** \n", "\n", - "
MTPTg and MTMount failed - causing timeout errors in image-taking scripts. Cycling CSCs.
\n" + "
Closing the loops to begin BLOCK-286. LUT data collection.
\n" ], "text/plain": [ "" @@ -1260,15 +1584,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:59:42.785731** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 04:12** **MainTel** \n", "\n", - "
tried to track_target then MTPtg and MTMount faulted again for the same reason from earlier tonight. \r\n",
-       "\r\n",
-       "\r\n",
-       "salindex=103873 2024/11/19 01:58:20 TAI
\n" + "
Taking baseline image; confirming that we are in a rough focus.
\n" ], "text/plain": [ "" @@ -1280,12 +1598,15 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:57:37.303222** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 04:11** **MainTel** \n", "\n", - "
Recovering, stopping the scheduler.
\n" + "
In order:\r\n",
+       "\r\n",
+       "\r\n",
+       "stop tracking\r\n",
+       "runcommand MTMount, cmd: stop\r\n",
+       "move_p2p\r\n",
+       "track target
\n" ], "text/plain": [ "" @@ -1297,12 +1618,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:57:27.921693** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 04:10** **MainTel** \n", "\n", - "
M2hexapod faulted, probably due to Tiago's update on m2hexapod to inform us when compensation mode is disabled.
\n" + "
Able to track target, returning to sector of el=60, az=-100
\n" ], "text/plain": [ "" @@ -1314,12 +1632,18 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:50:53.640090** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 04:00** **MainTel** \n", "\n", - "
BLOCK-T155 started
\n" + "
MTPtg publishes same timeout error, MtMount publishes:\r\n",
+       "\r\n",
+       "\r\n",
+       "Error\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 03:57:42 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesEnableTracking(sequence_id=13858728, command_code=<CommandCode.BOTH_AXES_ENABLE_TRACKING: 38>, source=<Source.CSC: 1>, timestamp=1732075061.6208801)=b'13858728\\n38\\n1\\n1732075061.6208801\\r\\n' failed: Command with id 13858728 has timed out after not receiving accept for 500 ms.
\n" ], "text/plain": [ "" @@ -1331,15 +1655,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:50:27.477680** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:59** **MainTel** \n", "\n", - "
We will skip the 15 sec exp close_loop_comcam from BLOCK-292 because it is repeating T249. \r\n",
-       "\r\n",
-       "\r\n",
-       "30sec run data can be compared with BLOCK-249 data.
\n" + "
MTptg immediately fails when trying to track target.
\n" ], "text/plain": [ "" @@ -1351,25 +1669,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:27:44.671484** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:52** **MainTel** \n", "\n", - "
set_dof\r\n",
-       "dofs: [-1.18130823e+03, -5.70040010e+01,  7.52120018e+01,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  1.83383889e+03, -6.66709989e+01,  7.41173029e+02,\r\n",
-       "        8.99999961e-03,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\r\n",
-       "        0.00000000e+00,  0.00000000e+00]
\n" + "
Finally able to command the dome to a new position. Had to exit fault twice to clear two different errors related to AMCS.
\n" ], "text/plain": [ "" @@ -1381,12 +1683,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:26:45.716058** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:43** **MainTel** \n", "\n", - "
Starting BLOCK-T292 which is exp 30 sec version which we were doing so far until last night
\n" + "
Recovering the azimuth drive fault in MTDome.
\n" ], "text/plain": [ "" @@ -1398,12 +1697,15 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:25:29.273549** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:38** **MainTel** \n", "\n", - "
take image to make sure we are focused
\n" + "
Performing another slew to verify that we can slew. MTDome immediately crashes. \r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 03:37:19 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "AMCS status message now is 210118=Error of type Automation in subsystem AMCS: Azimuth drives not enabled.
\n" ], "text/plain": [ "" @@ -1415,14 +1717,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:18:56.245468** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:37** **MainTel** \n", "\n", - "
We are checking the PSF FWHM and compare to the SOAR seeing, we got the 1.63 FWHM while seeing was 1.4.\r\n",
-       "Residual AOS FWHM was going lower, to 0.29, so we decided to rerun the close_loop_comcam with max_iter : 2\r\n",
-       "with same config from before.
\n" + "
Tiago recommended a stop mount and movep2p. We were able to slew away successfully.
\n" ], "text/plain": [ "" @@ -1434,16 +1731,24 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:14:12.142802** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:28** **MainTel** \n", "\n", - "
Compensation failed; CSC going to Fault.\r\n",
+       "
Tracking target at 60, -100. Seems to be working. \r\n",
        "\r\n",
        "\r\n",
-       "raise salobj.ExpectedError(reason)\r\n",
-       "lsst.ts.salobj.base.ExpectedError: Not in ENABLED/Stationary state
\n" + "HA! Psych. It does not: repetitive errors \r\n", + "\r\n", + "\r\n", + "MTPtg reports:\r\n", + "2024/11/20 03:23:50 TAI\r\n", + "Error MTMount replied error for trackTarget command (1733626109) Error no:1 message:Failed: Command with id 13858718 has timed \r\n", + "\r\n", + "\r\n", + "MTMount reports:\r\n", + "2024/11/20 03:23:50 TAI\r\n", + "\r\n", + "\r\n", + "Command BothAxesTrackTarget(sequence_id=13858718, command_code=<CommandCode.BOTH_AXES_TRACK_TARGET: 35>, source=<Source.CSC: 1>, timestamp=1732073030.406984, azimuth=-99.97881468391222, elevation=60.02329219282346, azimuth_velocity=-0.0010219022304360321, elevation_velocity=-0.0035535333296652137, tai=1732073030.5560682)=b'13858718\\n35\\n1\\n1732073030.406984\\n-99.97881468391222\\n60.02329219282346\\n-0.0010219022304360321\\n-0.0035535333296652137\\n1732073030.5560682\\r\\n' rejected: Command with id 13858718 has timed out after not receiving accept for 500 ms.
\n" ], "text/plain": [ "" @@ -1455,15 +1760,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:13:42.334980** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:23** **MainTel** \n", "\n", - "
Recover M2 hexapod \r\n",
-       "\r\n",
-       "\r\n",
-       "Put the compensation mode back
\n" + "
Stopping MTMount with run_command -> stop
\n" ], "text/plain": [ "" @@ -1475,12 +1774,20 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:11:40.073625** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:16** **MainTel** \n", "\n", - "
M2Hexapod faulted.
\n" + "
MTMount reports:\r\n",
+       "2024/11/20 03:15:02 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesEnableTracking(sequence_id=13851778, command_code=<CommandCode.BOTH_AXES_ENABLE_TRACKING: 38>, source=<Source.CSC: 1>, timestamp=1732072501.1088629)=b'13851778\\n38\\n1\\n1732072501.1088629\\r\\n' failed: Command with id 13851778 has timed out after not receiving accept for 500 ms.\r\n",
+       "\r\n",
+       "\r\n",
+       "MTPTg reports:\r\n",
+       "\r\n",
+       "\r\n",
+       "2024/11/20 03:15:02 TAI\r\n",
+       "Error MTMount replied error for startTracking command (1732828374) Error no:1 message:Failed: Command with id 13851778 has time
\n" ], "text/plain": [ "" @@ -1492,14 +1799,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 01:00:34.868294** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:16** **MainTel** \n", "\n", - "
close_loop_comcam\r\n",
-       "max_iter: 5\r\n",
-       "used_dofs: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47]
\n" + "
Can't even slew without MTPtg faulting
\n" ], "text/plain": [ "" @@ -1511,15 +1813,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:52:28.621259** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:16** **MainTel** \n", "\n", - "
starting BLOCK-T249\r\n",
-       "close_loop_comcam\r\n",
-       "max_iter: 3\r\n",
-       "with used_dofs: [0, 5]
\n" + "
We had not homed the axes after recovering the MTMount so errors accumulated. Slewing to 55, -120
\n" ], "text/plain": [ "" @@ -1531,12 +1827,12 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:47:09.764310** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:09** **MainTel** \n", "\n", - "
take_image_comcam with 15exp time, ACQ
\n" + "
We are going to disable and re-enable dome following to try and sync the MTptg and dome loop.\r\n",
+       "\r\n",
+       "\r\n",
+       "This was not done due to mis-interpretation of MTPtg error - which was saying the homing was not DONE, not homing DOME.
\n" ], "text/plain": [ "" @@ -1548,17 +1844,16 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:42:51.831961** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:08** **MainTel** \n", "\n", - "
CCW needs to say tracking in the EUI to match with the rotator but says Status: Enable \r\n",
+       "
MTPtg failing to cooperate spitting errors out regarding the \"homing\" not being home\r\n",
        "\r\n",
        "\r\n",
-       "Run_command \r\n",
-       "component: MTMount \r\n",
-       "cmd: enableCameraWrapFollowing
\n" + "\r\n", + "\r\n", + "2024/11/20 03:04:23 TAI\r\n", + "Error MTMount replied error for startTracking command (1732828372) Error no:1 message:Failed: Not homming done\r\n", + "Not accepted com
\n" ], "text/plain": [ "" @@ -1570,12 +1865,15 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:40:42.339685** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 03:07** **MainTel** \n", "\n", - "
Enable dome following
\n" + "
2024/11/20 03:04:23 TAI\r\n",
+       "\r\n",
+       "\r\n",
+       "Command BothAxesEnableTracking(sequence_id=13843030, command_code=<CommandCode.BOTH_AXES_ENABLE_TRACKING: 38>, source=<Source.CSC: 1>, timestamp=1732071863.3330677)=b'13843030\\n38\\n1\\n1732071863.3330677\\r\\n' failed: Not homming done\r\n",
+       "Not accepted command: 108\r\n",
+       "Not homming done\r\n",
+       "Not accepted command: 408
\n" ], "text/plain": [ "" @@ -1587,12 +1885,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:40:21.610719** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 02:57** **MainTel** \n", "\n", - "
Whoops accidentally ran the script for AuxTel
\n" + "
MTMount and MTPtg faulted, likely due to a long slew. Cycling and continuing on sky.
\n" ], "text/plain": [ "" @@ -1604,25 +1899,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:39:31.259549** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 02:44** **MainTel** \n", "\n", - "
salIndex: 103851\r\n",
-       " - [STANDARD]\r\n",
-       " - Started at: 2024-11-19T00:38:20.733\r\n",
-       "\r\n",
-       "\r\n",
-       "Enable dome following failed \r\n",
-       "\r\n",
-       "\r\n",
-       "File \"/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/lsst/ts/salobj/topics/remote_command.py\", line 191, in next_ackcmd\r\n",
-       "    raise base.AckError(msg=\"Command failed\", ackcmd=ackcmd)\r\n",
-       "lsst.ts.salobj.base.AckError: msg='Command failed', ackcmd=(ackcmd private_seqNum=1062628139, ack=<SalRetCode.CMD_FAILED: -302>, error=1, result='Failed: Not allowed in state=<State.STANDBY: 5>')\r\n",
-       "\r\n",
-       "\r\n",
-       "Cycle MTDomeTrajectory
\n" + "
Continuing iterations to converge z corrections so we can begin the LUT run.
\n" ], "text/plain": [ "" @@ -1634,15 +1913,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:38:18.271839** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 02:25** **MainTel** \n", "\n", - "
Move the dome to the same position as the TMA\r\n",
-       "\r\n",
-       "\r\n",
-       "Then enable dome following
\n" + "
The TMA is pointing pretty far north where the pointing model, had to slew back to 100 and re-run BLOCK-292
\n" ], "text/plain": [ "" @@ -1654,16 +1927,15 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:37:13.346916** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 02:08** **MainTel** \n", "\n", - "
Moving to Euclid Deep Field South position\r\n",
+       "
Another MTPTg error - collecting data and occurrences at this point\r\n",
+       "\r\n",
        "\r\n",
        "\r\n",
-       "RA (decimal hours): 3.940\r\n",
-       "Dec = -48.73
\n" + "\r\n", + "2024/11/20 02:07:41 TAI\r\n", + "Error MTMount replied error for trackTarget command (1733569250) Error no:1 message:Failed: Command with id 13722734 has timed
\n" ], "text/plain": [ "" @@ -1675,13 +1947,7 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:34:23.801134** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", - "\n", - "
MTPtg is enabled \r\n",
-       "Enabling the scheduler
\n" + "- Link: [OBS-693](https://rubinobs.atlassian.net/browse/OBS-693)" ], "text/plain": [ "" @@ -1693,13 +1959,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:32:43.670640** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 02:04** **MainTel** \n", "\n", - "
Tiago updating MTPtg and scheduler\r\n",
-       "Sending MTPtg and scheduler to OFFLINE
\n" + "
Repeating BLOCK-249 after restarting the MTAOS CSC.
\n" ], "text/plain": [ "" @@ -1711,12 +1973,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:31:55.165542** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:54** **MainTel** \n", "\n", - "
Stop tracking for the MTPtg and scheduler updates.
\n" + "
Move to az: -25 el:50
\n" ], "text/plain": [ "" @@ -1728,12 +1987,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:28:19.925734** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:54** **MainTel** \n", "\n", - "
Try moving closer to the twilight az/el position
\n" + "
We stopped the BLOCK-T155 scheduler because we are below el = 35 deg
\n" ], "text/plain": [ "" @@ -1745,13 +2001,19 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:27:49.984434** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:50** **MainTel** \n", "\n", - "
Rerunning track_target \r\n",
-       "Worked this time
\n" + "
Timeout error again after we resumed the scheduler for BLOCK-T155\r\n",
+       "\r\n",
+       "\r\n",
+       "salIndex: 104138\r\n",
+       " - [STANDARD]\r\n",
+       " - Started at: 2024-11-20T01:40:35.084Z\r\n",
+       "\r\n",
+       "\r\n",
+       "File \"/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/asyncio/tasks.py\", line 502, in wait_for\r\n",
+       "    raise exceptions.TimeoutError() from exc\r\n",
+       "TimeoutError
\n" ], "text/plain": [ "" @@ -1763,12 +2025,47 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:25:47.811228** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- Link: [OBS-693](https://rubinobs.atlassian.net/browse/OBS-693)" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 01:46** **MainTel** \n", "\n", - "
Reenabled MTPtg
\n" + "
MTPtg faults with the timeout error whenever: \r\n",
+       "- we first enable the MTMount and try to move \r\n",
+       "- randomly during track target \r\n",
+       "\r\n",
+       "\r\n",
+       "\r\n",
+       "\r\n",
+       "\r\n",
+       "\r\n",
+       "\r\n",
+       "\r\n",
+       "Here's an example:\r\n",
+       "BLOCK-T155 timed out \r\n",
+       "salIndex: 104136\r\n",
+       " - Started at: 2024-11-20T01:35:29.519Z
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- Link: [OBS-693](https://rubinobs.atlassian.net/browse/OBS-693)" ], "text/plain": [ "" @@ -1780,15 +2077,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:25:30.207016** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:43** **MainTel** \n", "\n", - "
2024/11/19 00:01:50 TAI\r\n",
-       "salIndex: 103845\r\n",
-       " MTPtg faulted\r\n",
-       "Error MTMount replied error for trackTarget command (1738745515) Error no:1 message:Failed: Command with id 12377078 has timed
\n" + "
Resume the scheduler
\n" ], "text/plain": [ "" @@ -1800,12 +2091,16 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:24:23.830204** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:42** **MainTel** \n", "\n", - "
Trying track_target again
\n" + "
BLOCK-T155 timed out \r\n",
+       "salIndex: 104136\r\n",
+       " - [STANDARD]\r\n",
+       " - Started at: 2024-11-20T01:35:29.519Z\r\n",
+       "\r\n",
+       "\r\n",
+       "MTPTg faulted \r\n",
+       "Cycle the MTPTg
\n" ], "text/plain": [ "" @@ -1817,12 +2112,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:23:26.157231** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:04** **MainTel** \n", "\n", - "
The move_p2p script worked
\n" + "
Taking image first to see how the focus looks
\n" ], "text/plain": [ "" @@ -1834,15 +2126,13 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:22:59.773738** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:02** **MainTel** \n", "\n", - "
Tiago sent stop command to the mount \r\n",
+       "
Track target to ECDFS field \r\n",
        "\r\n",
        "\r\n",
-       "Now trying to run move_p2p script again
\n" + "ra: 3.5416\r\n", + "dec: -28.10
\n" ], "text/plain": [ "" @@ -1854,12 +2144,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:21:58.040112** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 01:01** **MainTel** \n", "\n", - "
but it stopped tracking.
\n" + "
Starting BLOCK-T155.
\n" ], "text/plain": [ "" @@ -1871,15 +2158,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:21:43.710986** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 00:36** **MainTel** \n", "\n", - "
salIndex: 103842 - Started at: 2024-11-19T00:20:16.091Z\r\n",
-       "Move p2p failed\r\n",
-       "raise base.AckError(msg=\"Command failed\", ackcmd=ackcmd)\r\n",
-       "lsst.ts.salobj.base.AckError: msg='Command failed', ackcmd=(ackcmd private_seqNum=930398849, ack=<SalRetCode.CMD_FAILED: -302>, error=1, result='Failed: The commands allowed in Tracking are: Stop\\n\\nNot accepted command: 103\\nThe commands allowed in Tracking are: Stop\\n\\nNot accepted command: 403')
\n" + "
Restarting BLOCK-T249
\n" ], "text/plain": [ "" @@ -1891,13 +2172,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:21:17.157898** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 00:35** **MainTel** \n", "\n", - "
salIndex: 103828\r\n",
-       "2024/11/18 22:32:20 TAI
\n" + "
Set dof again to all zeros
\n" ], "text/plain": [ "" @@ -1909,12 +2186,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:21:01.590729** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 00:33** **MainTel** \n", "\n", - "
Dome following disabled (verified in MTDome Status Chronograf dashboard)
\n" + "
Sending MTAOS to offline again.
\n" ], "text/plain": [ "" @@ -1926,12 +2200,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:14:04.351311** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 00:33** **MainTel** \n", "\n", - "
Stop tracking
\n" + "
Switching to BLOCK-T298 while AOS Team debugs the BLOCK-T249.   Never mind
\n" ], "text/plain": [ "" @@ -1943,20 +2214,227 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:13:03.728048** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 00:25** **MainTel** \n", "\n", - "
MTPtg wen to fault \r\n",
-       "SAL Index:103835\r\n",
+       "
salIndex: 104100 - Started at: 2024-11-20T00:21:42.368Z\r\n",
        "\r\n",
        "\r\n",
+       "Guillem is debugging
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:24** **MainTel** \n", + "\n", + "
raise base.AckError(msg=\"Command failed\", ackcmd=ackcmd)\r\n",
+       "lsst.ts.salobj.base.AckError: msg='Command failed', ackcmd=(ackcmd private_seqNum=1418882047, ack=<SalRetCode.CMD_FAILED: -302>, error=1, result='Failed: index 18 is out of bounds for axis 1 with size 18')
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:19** **MainTel** \n", + "\n", + "
Track target az: 135, el: 65
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:19** **MainTel** \n", + "\n", + "
Need to turn on the tracking
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:17** **MainTel** \n", + "\n", + "
Starting BLOCK-T249
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:16** **MainTel** \n", + "\n", + "
Setting new degrees of freedom (all zeros)
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:14** **MainTel** \n", + "\n", + "
Putting MTAOS back in enabled
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 00:12** **MainTel** \n", + "\n", + "
Stop tracking \r\n",
        "\r\n",
        "\r\n",
+       "Sending MTAOS to offline for update
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 21:56** **MainTel** \n", + "\n", + "
Just for the record, ComCam has r_03, y_04, and i_06 installed today based on metadata extracted from RubinTV.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 21:36** **MainTel** \n", + "\n", + "
The second attempt of `track_target.py` worked fine (sal index 104433).
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 21:35** **MainTel** \n", + "\n", + "
I am now running BLOCK-T250 TMA Checkout. When I reached Step 7, which asks to run a track_command. The script faulted with a \"No command acknowledgment seen\" (SAL Index 301036). I will try again (now, using MTQueue).
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 20:31**\n", + "\n", + "
trying to put MTRotator in enabled (last step of rotator startup), but there is an interlock error
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 20:24**\n", + "\n", + "
Working on rotator startup
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 20:23**\n", + "\n", + "
Running hardpoint breakaway tests
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 20:03**\n", + "\n", + "
During dome handoff we lost heartbeat from a lot of the CSCs\r\n",
+       "\r\n",
+       "\r\n",
+       "Tiago said  yagan17 and yagan13 daemons crashed \r\n",
+       "\r\n",
+       "\r\n",
+       "4:37pm the dome is back \r\n",
+       "\r\n",
+       "\r\n",
+       "Tried to send the dome from standby to disabled and faulted \r\n",
        "\r\n",
        "\r\n",
-       "This time MTMount did not fault
\n" + "We rebooted the cRIO remotely\r\n", + "\r\n", + "\r\n", + "Then we confirmed that we can move the dome in both directions with the CSC
\n" ], "text/plain": [ "" @@ -1968,12 +2446,14 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:12:59.117690** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 19:13** **MainTel** \n", "\n", - "
salindex=103835 2024-11-19T00:09:58.643Z
\n" + "
SAA (Single Actuator Axes) Failures:\r\n",
+       "  None\r\n",
+       "DAA (Dual Actuator Axes) Failures:\r\n",
+       "  - Actuator ID 227: Pri Index 61\r\n",
+       "  - Actuator ID 330: Pri Index 107\r\n",
+       "  - Actuator ID 409: Pri Index 123
\n" ], "text/plain": [ "" @@ -1985,12 +2465,10 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:09:28.916253** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 19:00** **MainTel** \n", "\n", - "
Trying track target again
\n" + "
Alarm from MTDomeCapacitorBanks.MTDome \r\n",
+       "Second time this has happened today during the day shift.
\n" ], "text/plain": [ "" @@ -2002,14 +2480,19 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:08:35.577085** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 18:51**\n", "\n", - "
Home both axes\r\n",
-       "Enable M1M3 balance system \r\n",
-       "Enable M1M3 slew controller flags
\n" + "
These actuators failed the bump test \r\n",
+       "\r\n",
+       "\r\n",
+       "SAA (Single Actuator Axes) Failures:\r\n",
+       "  None\r\n",
+       "DAA (Dual Actuator Axes) Failures:\r\n",
+       "  - Actuator ID 112: Pri Index 11\r\n",
+       "  - Actuator ID 227: Pri Index 61\r\n",
+       "  - Actuator ID 314: Pri Index 91\r\n",
+       "  - Actuator ID 330: Pri Index 107\r\n",
+       "  - Actuator ID 409: Pri Index 123
\n" ], "text/plain": [ "" @@ -2021,13 +2504,9 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:04:30.419216** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 18:27** **MainTel** \n", "\n", - "
Recover MTPTg\r\n",
-       "Recover MTMount
\n" + "
We can see motor current oscillations in M2Hex for the time it was left in ENABLED. They were low amplitude oscillations. But we need to characterize this data.
\n" ], "text/plain": [ "" @@ -2039,20 +2518,170 @@ { "data": { "text/markdown": [ - "- **2024-11-19 00:03:08.741028** Time Lost: 0.0; Time Lost Type: fault;\n", - " - components: ['MainTel']\n", - " - primary_software_components: ['None']\n", - " - primary_hardware_components: ['None']\n", + "- **2024-11-20 18:15** **MainTel** \n", "\n", - "
Ran M1M3 slew controller flag\r\n",
+       "
We forgot M2Hex enabled. It is now in a DISABLED state. We checked and there are no runaway events in any of the struts.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 18:06** **MainTel** \n", + "\n", + "
Restarting OSS again
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 17:46** **MainTel** \n", + "\n", + "
We will stop the OSS soon as part of the OSS microfiltering work lead by Freddy.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 17:39** **MainTel** \n", + "\n", + "
MTM1M3 is now in DISABLED state. Kate noticed that we do not have air inside the cell. Putting M1M3 into ENABLED opened the automatic valve and we are now seeing air inside the cell with ~ 125 PSI. \r\n",
        "\r\n",
        "\r\n",
-       "Then track target again.  Failed \r\n",
+       "We are getting ready to run bump tests. FA332 is still disabled so we are running via check_actuators.py.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 17:33** **MainTel** \n", + "\n", + "
Julen connected to perform some configuration changes in TMA EUI.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 17:27** **MainTel** \n", + "\n", + "
We are done with BLOCK-T4 and we will start M1M3 Bump Tests.\r\n",
+       "The telescope is still at horizon but we got confirmation that it is safe to run these test.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 16:45** **MainTel** \n", + "\n", + "
Starting BLOCK-T4 now
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 16:43** **MainTel** \n", + "\n", + "
We are back from lunch and we will resume warm-up hexapods. This time, we will run M2Hex.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 15:58** **MainTel** \n", + "\n", + "
Freddy reports that the mechanical team is working on cleaning the TMA oil. This is transparent for telescope operations and does not block us from moving. I am trying to coordinate TMA handover for today.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 15:47**\n", + "\n", + "
Warming up camera hexapod
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 15:36** **MainTel** \n", + "\n", + "
Meanwhile, we are powering up hexapods. MTHexapod:2 was ENABLED. When trying to transition to DISABLED, it went to a fault. We are now checking the cabinets to see what is their current situation. \r\n",
        "\r\n",
        "\r\n",
-       "File \"/opt/lsst/software/stack/conda/envs/lsst-scipipe-9.0.0/lib/python3.11/site-packages/lsst/ts/salobj/topics/remote_command.py\", line 191, in next_ackcmd\r\n",
-       "    raise base.AckError(msg=\"Command failed\", ackcmd=ackcmd)\r\n",
-       "lsst.ts.salobj.base.AckError: msg='Command failed', ackcmd=(ackcmd private_seqNum=2065515253, ack=<SalRetCode.CMD_FAILED: -302>, error=6612, result='Rejected : command not allowed in current state')
\n" + "When checking the hexapod cabinets, we noticed that they were all off. This means that it was only the hexapod summary state that, for whatever reason, was being displayed as ENABLED. This is less concerning, since the hexapod was not energized. We are powering them up now and we will continue with start ups and warm up.
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "- **2024-11-20 15:32** **MainTel** \n", + "\n", + "
Bruno and Kate already in the control room. We reviewed the HVAC set point, which is now set to 8ºC. The temperature near the sunset yesterday was 12ºC. However, the forecast temperature near sunset for today is predicted to be 10ºC. Let's leave the set point to 8ºC for now.
\n" ], "text/plain": [ "" @@ -2107,8 +2736,8 @@ "text/markdown": [ "## Project-Wide Night(s) Report \n", "- Run on logs and databases from **https://usdf-rsp-dev.slac.stanford.edu/**\n", - "- Report **1 observing night(s)** with the last reported night starting on **2024-11-19 12:00:00**.\n", - "- min_dayobs='2024-11-19', max_dayobs='2024-11-20'\n", + "- Report **1 observing night(s)** with the last reported night starting on **2024-11-20 12:00:00**.\n", + "- min_dayobs='2024-11-20', max_dayobs='2024-11-21'\n", "- Using ***Prototype* Logging and Reporting** Version: **52.dev0+g783922c.d20241115**\n", "- have_consdb = False\n", "- Imported lsst.ts.logging_and_reporting from local packages.\n", @@ -2183,7 +2812,7 @@ " \n", " nightreport/reports\n", " 0\n", - " https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241119&max_day_obs=20241120\n", + " https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241120&max_day_obs=20241121\n", " \n", " \n", " exposurelog/instruments\n", @@ -2193,32 +2822,32 @@ " \n", " exposurelog/exposures.LSSTComCamSim\n", " 0\n", - " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LSSTComCamSim&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241119&max_day_obs=20241120\n", + " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LSSTComCamSim&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241120&max_day_obs=20241121\n", " \n", " \n", " exposurelog/exposures.LATISS\n", " 0\n", - " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LATISS&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241119&max_day_obs=20241120\n", + " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LATISS&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241120&max_day_obs=20241121\n", " \n", " \n", " exposurelog/exposures.LSSTComCam\n", - " 0\n", - " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LSSTComCam&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241119&max_day_obs=20241120\n", + " 19\n", + " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LSSTComCam&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241120&max_day_obs=20241121\n", " \n", " \n", " exposurelog/exposures.LSSTCam\n", " 0\n", - " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LSSTCam&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241119&max_day_obs=20241120\n", + " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?registry=1&instrument=LSSTCam&order_by=-timespan_end&offset=0&limit=2500&min_day_obs=20241120&max_day_obs=20241121\n", " \n", " \n", " exposurelog/messages\n", " 0\n", - " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=2500&min_day_obs=20241119&max_day_obs=20241120\n", + " https://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=2500&min_day_obs=20241120&max_day_obs=20241121\n", " \n", " \n", " narrativelog/messages\n", - " 69\n", - " https://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages?is_human=either&is_valid=true&order_by=-date_added&offset=0&limit=1000&min_date_added=2024-11-19T00%3A00%3A00&max_date_added=2024-11-20T00%3A00%3A00\n", + " 93\n", + " https://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages?is_human=either&is_valid=true&order_by=-date_added&offset=0&limit=1000&min_date_added=2024-11-20T00%3A00%3A00&max_date_added=2024-11-21T00%3A00%3A00\n", " \n", " \n", " efd/targets\n", @@ -2315,7 +2944,7 @@ { "data": { "text/markdown": [ - "- Endpoint: https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241119&max_day_obs=20241120" + "- Endpoint: https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=100&min_day_obs=20241120&max_day_obs=20241121" ], "text/plain": [ "" @@ -2354,7 +2983,7 @@ { "data": { "text/markdown": [ - "- Endpoint: https://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=2500&min_day_obs=20241119&max_day_obs=20241120" + "- Endpoint: https://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages?is_human=either&is_valid=true&order_by=-day_obs&offset=0&limit=2500&min_day_obs=20241120&max_day_obs=20241121" ], "text/plain": [ "" @@ -2374,7 +3003,7 @@ { "data": { "text/markdown": [ - "### Overview for Service: `narrativelog` [69]" + "### Overview for Service: `narrativelog` [93]" ], "text/plain": [ "" @@ -2393,7 +3022,7 @@ { "data": { "text/markdown": [ - "- Endpoint: https://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages?is_human=either&is_valid=true&order_by=-date_added&offset=0&limit=1000&min_date_added=2024-11-19T00%3A00%3A00&max_date_added=2024-11-20T00%3A00%3A00" + "- Endpoint: https://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages?is_human=either&is_valid=true&order_by=-date_added&offset=0&limit=1000&min_date_added=2024-11-20T00%3A00%3A00&max_date_added=2024-11-21T00%3A00%3A00" ], "text/plain": [ "" @@ -2407,7 +3036,7 @@ "output_type": "stream", "text": [ "None\n", - "- Got 69 records. \n" + "- Got 93 records. \n" ] } ], @@ -2438,20 +3067,6 @@ " %run ./dashboard.ipynb" ] }, - { - "cell_type": "markdown", - "id": "09cba642-73db-4c3c-94f6-11aa311a3985", - "metadata": {}, - "source": [ - "### According to Storybaord, this section should be removed ...\n", - "... and replaced with a simple table tally of Good, Questionable, and Junk exposures per instrument.\n", - "| Symbol | Meaning |\n", - "|:---|:---|\n", - "|  G | Good |\n", - "|  ?  | Questionable |\n", - "|  R  | Junk |\n" - ] - }, { "cell_type": "code", "execution_count": 20, @@ -2481,8 +3096,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Elapsed time (excluding code import): 5.2 seconds\n", - "Finished 2024-11-19 15:33:50 UTC\n" + "Elapsed time (excluding code import): 5.9 seconds\n", + "Finished 2024-11-20 22:12:28 UTC\n" ] } ], diff --git a/notebooks_tsqr/dashboard.ipynb b/notebooks_tsqr/dashboard.ipynb index 01eeb5b..485632e 100644 --- a/notebooks_tsqr/dashboard.ipynb +++ b/notebooks_tsqr/dashboard.ipynb @@ -26,6 +26,132 @@ "from lsst.ts.logging_and_reporting.reports import md, mdlist" ] }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d790c498-2ebc-4b7b-9c32-80b8174dec8b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "10000" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Narrativelog components\n", + "dash = Dashboard()\n", + "endpoint = 'https://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages'\n", + "fields = [\n", + " 'components',\n", + " 'primary_software_components',\n", + " 'primary_hardware_components',\n", + "]\n", + "samples = dash.get_big_sample(endpoint,10000,fields)\n", + "len(samples)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "4bfbcc1d-bca7-49ce-85e0-73c932d0228e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "({'ATDome',\n", + " 'ATMCS',\n", + " 'Analysis',\n", + " 'AuxTel',\n", + " 'CSC level',\n", + " 'Calibration',\n", + " 'Calibrations',\n", + " 'Camera Control Software',\n", + " 'Component Level (EUI)',\n", + " 'DIMM',\n", + " 'Dome',\n", + " 'Environmental Monitoring Systems',\n", + " 'Facilities',\n", + " 'Hexapod',\n", + " 'IT Infrastricture',\n", + " 'IT Infrastructure',\n", + " 'Infrastructure',\n", + " 'LOVE',\n", + " 'M1M3',\n", + " 'M2',\n", + " 'MTMount',\n", + " 'MainTel',\n", + " 'Mount',\n", + " 'None',\n", + " 'Observer Remark',\n", + " 'Other',\n", + " 'Rotator',\n", + " 'Scheduler',\n", + " 'Science Cameras',\n", + " 'TCS',\n", + " 'TMA_CSC',\n", + " 'TMA_EUI',\n", + " 'Visualization'},\n", + " Counter({'None': 19593,\n", + " 'MainTel': 7159,\n", + " 'AuxTel': 1954,\n", + " 'MTMount': 113,\n", + " 'Other': 98,\n", + " 'Observer Remark': 81,\n", + " 'Mount': 49,\n", + " 'CSC level': 39,\n", + " 'Environmental Monitoring Systems': 23,\n", + " 'Calibrations': 21,\n", + " 'M1M3': 18,\n", + " 'Dome': 17,\n", + " 'Rotator': 13,\n", + " 'Calibration': 10,\n", + " 'Component Level (EUI)': 9,\n", + " 'LOVE': 8,\n", + " 'ATMCS': 8,\n", + " 'Hexapod': 8,\n", + " 'TMA_EUI': 8,\n", + " 'TMA_CSC': 7,\n", + " 'IT Infrastricture': 6,\n", + " 'IT Infrastructure': 6,\n", + " 'ATDome': 5,\n", + " 'Science Cameras': 3,\n", + " 'M2': 3,\n", + " 'DIMM': 2,\n", + " 'Facilities': 2,\n", + " 'Analysis': 2,\n", + " 'TCS': 2,\n", + " 'Scheduler': 1,\n", + " 'Infrastructure': 1,\n", + " 'Camera Control Software': 1,\n", + " 'Visualization': 1}))" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dash.nr_values(samples)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "79f246ba-849e-4eee-9f23-09b5ebd27f21", + "metadata": {}, + "outputs": [], + "source": [ + "# raise Exception('Stop now')" + ] + }, { "cell_type": "markdown", "id": "2", @@ -36,7 +162,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "id": "3", "metadata": {}, "outputs": [ @@ -46,12 +172,17 @@ "text": [ "Try to connect (self.timeout=(5.05, 20.0)) to each endpoint of https://summit-lsp.lsst.codes/nightreport \n", "DEBUG protected_get(url='https://summit-lsp.lsst.codes/nightreport/reports',timeout=(5.05, 20.0))\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://summit-lsp.lsst.codes/nightreport/reports (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='summit-lsp.lsst.codes', port=443): Max retries exceeded with url: /nightreport/reports (Caused by ConnectTimeoutError(, 'Connection to summit-lsp.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "Try to connect (self.timeout=(5.05, 20.0)) to each endpoint of https://summit-lsp.lsst.codes/narrativelog \n", "DEBUG protected_get(url='https://summit-lsp.lsst.codes/narrativelog/messages',timeout=(5.05, 20.0))\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://summit-lsp.lsst.codes/narrativelog/messages (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='summit-lsp.lsst.codes', port=443): Max retries exceeded with url: /narrativelog/messages (Caused by ConnectTimeoutError(, 'Connection to summit-lsp.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "Try to connect ({self.timeout=}) to each endpoint of https://summit-lsp.lsst.codes/exposurelog \n", "DEBUG protected_get(url='https://summit-lsp.lsst.codes/exposurelog/instruments',timeout=(5.05, 20.0))\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://summit-lsp.lsst.codes/exposurelog/instruments (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='summit-lsp.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/instruments (Caused by ConnectTimeoutError(, 'Connection to summit-lsp.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "DEBUG protected_get(url='https://summit-lsp.lsst.codes/exposurelog/exposures?instrument=na',timeout=(5.05, 20.0))\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://summit-lsp.lsst.codes/exposurelog/exposures?instrument=na (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='summit-lsp.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/exposures?instrument=na (Caused by ConnectTimeoutError(, 'Connection to summit-lsp.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "DEBUG protected_get(url='https://summit-lsp.lsst.codes/exposurelog/messages',timeout=(5.05, 20.0))\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://summit-lsp.lsst.codes/exposurelog/messages (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='summit-lsp.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/messages (Caused by ConnectTimeoutError(, 'Connection to summit-lsp.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "Try to connect (self.timeout=(5.05, 20.0)) to each endpoint of https://usdf-rsp-dev.slac.stanford.edu/nightreport \n", "DEBUG protected_get(url='https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports',timeout=(5.05, 20.0))\n", "Try to connect (self.timeout=(5.05, 20.0)) to each endpoint of https://usdf-rsp-dev.slac.stanford.edu/narrativelog \n", @@ -62,31 +193,31 @@ "DEBUG protected_get(url='https://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages',timeout=(5.05, 20.0))\n", "Try to connect (self.timeout=(5.05, 20.0)) to each endpoint of https://tucson-teststand.lsst.codes/nightreport \n", "DEBUG protected_get(url='https://tucson-teststand.lsst.codes/nightreport/reports',timeout=(5.05, 20.0))\n", - "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/nightreport/reports (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /nightreport/reports (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/nightreport/reports (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /nightreport/reports (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "Try to connect (self.timeout=(5.05, 20.0)) to each endpoint of https://tucson-teststand.lsst.codes/narrativelog \n", "DEBUG protected_get(url='https://tucson-teststand.lsst.codes/narrativelog/messages',timeout=(5.05, 20.0))\n", - "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/narrativelog/messages (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /narrativelog/messages (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/narrativelog/messages (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /narrativelog/messages (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "Try to connect ({self.timeout=}) to each endpoint of https://tucson-teststand.lsst.codes/exposurelog \n", "DEBUG protected_get(url='https://tucson-teststand.lsst.codes/exposurelog/instruments',timeout=(5.05, 20.0))\n", - "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/exposurelog/instruments (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/instruments (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/exposurelog/instruments (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/instruments (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "DEBUG protected_get(url='https://tucson-teststand.lsst.codes/exposurelog/exposures?instrument=na',timeout=(5.05, 20.0))\n", - "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/exposurelog/exposures?instrument=na (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/exposures?instrument=na (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/exposurelog/exposures?instrument=na (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/exposures?instrument=na (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "DEBUG protected_get(url='https://tucson-teststand.lsst.codes/exposurelog/messages',timeout=(5.05, 20.0))\n", - "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/exposurelog/messages (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/messages (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", + "DEBUG protected_get: FAIL: result=\"Error connecting to https://tucson-teststand.lsst.codes/exposurelog/messages (with timeout=(5.05, 20.0)). HTTPSConnectionPool(host='tucson-teststand.lsst.codes', port=443): Max retries exceeded with url: /exposurelog/messages (Caused by ConnectTimeoutError(, 'Connection to tucson-teststand.lsst.codes timed out. (connect timeout=5.05)'))\"\n", "\n", - "Connected to 10 out of 15 endpoints.(67%)\n", - "Successful connects (10): \n", - "\thttps://summit-lsp.lsst.codes/nightreport/reports\n", - "\thttps://summit-lsp.lsst.codes/narrativelog/messages\n", - "\thttps://summit-lsp.lsst.codes/exposurelog/instruments\n", - "\thttps://summit-lsp.lsst.codes/exposurelog/exposures?instrument=na\n", - "\thttps://summit-lsp.lsst.codes/exposurelog/messages\n", + "Connected to 5 out of 15 endpoints.(33%)\n", + "Successful connects (5): \n", "\thttps://usdf-rsp-dev.slac.stanford.edu/nightreport/reports\n", "\thttps://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages\n", "\thttps://usdf-rsp-dev.slac.stanford.edu/exposurelog/instruments\n", "\thttps://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?instrument=na\n", "\thttps://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages\n", - "Failed connects (5): \n", + "Failed connects (10): \n", + "\tGET error: https://summit-lsp.lsst.codes/nightreport/reports\n", + "\tGET error: https://summit-lsp.lsst.codes/narrativelog/messages\n", + "\tGET error: https://summit-lsp.lsst.codes/exposurelog/instruments\n", + "\tGET error: https://summit-lsp.lsst.codes/exposurelog/exposures?instrument=na\n", + "\tGET error: https://summit-lsp.lsst.codes/exposurelog/messages\n", "\tGET error: https://tucson-teststand.lsst.codes/nightreport/reports\n", "\tGET error: https://tucson-teststand.lsst.codes/narrativelog/messages\n", "\tGET error: https://tucson-teststand.lsst.codes/exposurelog/instruments\n", @@ -113,14 +244,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "id": "5", "metadata": {}, "outputs": [ { "data": { "text/markdown": [ - "score=67%" + "score=33%" ], "text/plain": [ "" @@ -141,18 +272,6 @@ "metadata": {}, "output_type": "display_data" }, - { - "data": { - "text/markdown": [ - "- https://summit-lsp.lsst.codes" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "data": { "text/markdown": [ @@ -182,7 +301,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "id": "7", "metadata": {}, "outputs": [ @@ -210,7 +329,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "https://summit-lsp.lsst.codes/nightreport/reports\n", + "https://usdf-rsp-dev.slac.stanford.edu/nightreport/reports\n", "{'id': '001fa344-0a20-4f66-8b76-35686e0cfd2d',\n", " 'site_id': 'base',\n", " 'telescope': 'AuxTel',\n", @@ -263,7 +382,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "https://summit-lsp.lsst.codes/narrativelog/messages\n", + "https://usdf-rsp-dev.slac.stanford.edu/narrativelog/messages\n", "{'id': '00013fa1-a7cd-4018-9f36-97dfd62b3200',\n", " 'site_id': 'summit',\n", " 'message_text': 'salIndex: 100484\\r\\n'\n", @@ -309,9 +428,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "https://summit-lsp.lsst.codes/exposurelog/instruments\n", - "{'butler_instruments_1': ['LSSTComCamSim', 'LSSTComCam'],\n", - " 'butler_instruments_2': ['LATISS'],\n", + "https://usdf-rsp-dev.slac.stanford.edu/exposurelog/instruments\n", + "{'butler_instruments_1': ['LSSTComCamSim', 'LATISS', 'LSSTComCam', 'LSSTCam'],\n", + " 'butler_instruments_2': [],\n", " 'butler_instruments_3': []}\n" ] }, @@ -332,22 +451,22 @@ "name": "stdout", "output_type": "stream", "text": [ - "https://summit-lsp.lsst.codes/exposurelog/exposures?instrument=LSSTComCamSim\n", - "{'obs_id': 'CC_C_20240916_000002',\n", - " 'id': 2024091600002,\n", + "https://usdf-rsp-dev.slac.stanford.edu/exposurelog/exposures?instrument=LSSTComCamSim\n", + "{'obs_id': 'CC_S_20240524_000001',\n", + " 'id': 7024052400001,\n", " 'instrument': 'LSSTComCamSim',\n", - " 'observation_type': 'unknown',\n", - " 'observation_reason': 'unknown',\n", - " 'day_obs': 20240916,\n", - " 'seq_num': 2,\n", - " 'group_name': '2024091600002',\n", + " 'observation_type': 'bias',\n", + " 'observation_reason': 'bias',\n", + " 'day_obs': 20240524,\n", + " 'seq_num': 1,\n", + " 'group_name': '2024-05-24T16:53:47.398',\n", " 'target_name': 'UNKNOWN',\n", " 'science_program': 'unknown',\n", " 'tracking_ra': None,\n", " 'tracking_dec': None,\n", " 'sky_angle': None,\n", - " 'timespan_begin': '2024-09-16T23:19:46.718984',\n", - " 'timespan_end': '2024-09-16T23:19:51.737000'}\n" + " 'timespan_begin': '2024-05-24T16:53:48.579980',\n", + " 'timespan_end': '2024-05-24T16:53:49.677000'}\n" ] }, { @@ -367,7 +486,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "https://summit-lsp.lsst.codes/exposurelog/messages\n", + "https://usdf-rsp-dev.slac.stanford.edu/exposurelog/messages\n", "{'id': '000f68b2-e560-40ce-bdbc-a57b3363e1e9',\n", " 'site_id': 'summit',\n", " 'obs_id': 'AT_O_20220608_000168',\n", @@ -390,7 +509,7 @@ } ], "source": [ - "server = \"https://summit-lsp.lsst.codes\"\n", + "server = \"https://usdf-rsp-dev.slac.stanford.edu\"\n", "samples = dash.get_sample_data(server)\n", "print(\"One record of data from all endpoints used by LogRep:\")\n", "for endpoint, sample in samples.items():\n", @@ -410,18 +529,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "9", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished 2024-11-12 18:48:32.850267\n" - ] - } - ], + "outputs": [], "source": [ "print(f\"Finished {str(datetime.now())}\")" ] @@ -443,7 +554,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.10" } }, "nbformat": 4, diff --git a/python/lsst/ts/logging_and_reporting/all_sources.py b/python/lsst/ts/logging_and_reporting/all_sources.py index 319f4d8..d263c2b 100644 --- a/python/lsst/ts/logging_and_reporting/all_sources.py +++ b/python/lsst/ts/logging_and_reporting/all_sources.py @@ -157,7 +157,9 @@ async def night_tally_observation_gaps(self, verbose=False): # per Merlin: There is no practical way to get actual detector read # time. He has done some experiments and inferred that it is # 2.3 seconds. He recommends hardcoding the value. - mean_readout_hrs = 2.3 / (60 * 60.0) + # Scot says use 2.41 per slack message in consolidated DB + readout_seconds = 2.41 + mean_readout_hrs = readout_seconds / (60 * 60.0) # Scot says care only about: ComCam, LSSTCam and Latiss for instrument in used_instruments: diff --git a/python/lsst/ts/logging_and_reporting/dashboard.py b/python/lsst/ts/logging_and_reporting/dashboard.py index e216015..70a4f8a 100644 --- a/python/lsst/ts/logging_and_reporting/dashboard.py +++ b/python/lsst/ts/logging_and_reporting/dashboard.py @@ -1,4 +1,5 @@ -from collections import defaultdict +from collections import Counter, defaultdict +from urllib.parse import urlencode from warnings import warn import lsst.ts.logging_and_reporting.source_adapters as sad @@ -29,6 +30,53 @@ class Dashboard: # TODO Move to its own file (utils.py). sad.ExposurelogAdapter, ] + def keep_fields(self, recs, outfields): + """Keep only keys in OUTFIELDS list of RECS (list of dicts) + SIDE EFFECT: Removes extraneous keys from all dicts in RECS. + """ + if (recs is None) or (len(recs) < 1): + return None + if not outfields: + return None + + nukefields = set(recs[0].keys()) - set(outfields) + for rec in recs: + nukefields = set(rec.keys()) - set(outfields) + for f in nukefields: + del rec[f] + + def get_big_sample(self, endpoint, samples, fields): + timeout = (5.05, 120) # connection, read timeouts (secs) + qparams = dict( + limit=samples, + ) + url = f"{endpoint}?{urlencode(qparams)}" + response = requests.get(url, timeout=timeout) + response.raise_for_status() + records = response.json() + self.keep_fields(records, fields) + return records + + def nr_values(self, samples): + cset = set() + sset = set() + hset = set() + histo = Counter() + + for idx, r in enumerate(samples): + if r.get("components"): + cset.update(r.get("components", [])) + if r.get("primary_software_components"): + sset.update(r.get("primary_software_components", [])) + if r.get("primary_hardware_components"): + hset.update(r.get("primary_hardware_components", [])) + + histo.update(r.get("components", [])) + histo.update(r.get("primary_software_components", [])) + histo.update(r.get("primary_hardware_components", [])) + + return (cset | sset | hset), histo + def get_sample_data(self, server): samples = defaultdict(dict) # samples[endpoint_url] -> one_record_dict diff --git a/python/lsst/ts/logging_and_reporting/source_adapters.py b/python/lsst/ts/logging_and_reporting/source_adapters.py index 02d7524..84ad880 100644 --- a/python/lsst/ts/logging_and_reporting/source_adapters.py +++ b/python/lsst/ts/logging_and_reporting/source_adapters.py @@ -595,22 +595,21 @@ def obs_date(rec): table = list() - show_fields = [ - "components", - "primary_software_components", - "primary_hardware_components", - ] - # Sort by OBS_NIGHT recs = sorted(recs, key=obs_night) # time_lost_type=weather is RARE for tele, g0 in itertools.groupby(recs, key=obs_night): for rec in g0: - rec_dt = dt.datetime.fromisoformat(rec[datetime_field]) + rec_dt = str(dt.datetime.fromisoformat(rec[datetime_field]))[:16] + attrstr = "" attrstr += f"**{rec_dt}**" - attrstr += f" Time Lost: {rec.get('time_lost')};" - attrstr += f" Time Lost Type: {rec.get('time_lost_type')};" + if rec.get("components"): + attrstr += " **" + ", ".join(rec.get("components", [])) + "** " + + if rec.get("time_lost", 0) > 0: + attrstr += f" Time Lost: {rec.get('time_lost')};" + attrstr += f" Time Lost Type: {rec.get('time_lost_type')};" new = rec.get("error_message") mdstr = "" if new: @@ -618,8 +617,6 @@ def obs_date(rec): else: msg = rep.htmlcode(rec["message_text"].strip()) mdstr += f"- {attrstr}" - for fname in show_fields: - mdstr += f"\n - {fname}: {rec.get(fname)}" mdstr += "\n\n" + msg + "\n" table.append(mdstr) @@ -825,18 +822,18 @@ def obs_id(rec): attrstr = f"{obsid} : {rec[datetime_field]}" for rec in obs_list: - match rec.get("exposure_flag"): - case "junk": - flag = rep.htmlbad - case "questionable": - flag = rep.htmlquestion - case _: # "none", the literal string in API! - # value changed to "good" in adapter after read - flag = rep.htmlgood - msg = rec["message_text"].strip() - plinks = [rep.mdpathlink(url) for url in rec.get("urls")] - links = ", ".join(plinks) - linkstr = "" if links == "" else f"\n - Links: {links}" + eflag = rec.get("exposure_flag") + if eflag == "junk": + flag = rep.htmlbad + elif eflag == "questionable": + flag = rep.htmlquestion + else: # "none", the literal string in API! + # value changed to "good" in adapter after read + flag = rep.htmlgood + msg = rec["message_text"].strip() + plinks = [rep.mdpathlink(url) for url in rec.get("urls")] + links = ", ".join(plinks) + linkstr = "" if links == "" else f"\n - Links: {links}" # (BLACK workaround) str = "" @@ -854,6 +851,7 @@ def exposure_detail( observation_reason=None, ): fields = [ + "exposure_flag", # joined from exposures.messages "obs_id", "timespan_begin", # 'time', "seq_num",