lstosa 0.11.4__tar.gz → 0.11.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. {lstosa-0.11.4 → lstosa-0.11.5}/.mailmap +2 -1
  2. {lstosa-0.11.4 → lstosa-0.11.5}/PKG-INFO +1 -1
  3. {lstosa-0.11.4 → lstosa-0.11.5}/src/lstosa.egg-info/PKG-INFO +1 -1
  4. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/_version.py +3 -3
  5. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/sequencer.py +33 -3
  6. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/sequencer_webmaker.py +1 -1
  7. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/tests/test_osa_scripts.py +4 -4
  8. {lstosa-0.11.4 → lstosa-0.11.5}/.coveragerc +0 -0
  9. {lstosa-0.11.4 → lstosa-0.11.5}/.gitignore +0 -0
  10. {lstosa-0.11.4 → lstosa-0.11.5}/.pre-commit-config.yaml +0 -0
  11. {lstosa-0.11.4 → lstosa-0.11.5}/.readthedocs.yml +0 -0
  12. {lstosa-0.11.4 → lstosa-0.11.5}/LICENSE +0 -0
  13. {lstosa-0.11.4 → lstosa-0.11.5}/MANIFEST.in +0 -0
  14. {lstosa-0.11.4 → lstosa-0.11.5}/README.md +0 -0
  15. {lstosa-0.11.4 → lstosa-0.11.5}/codemeta.json +0 -0
  16. {lstosa-0.11.4 → lstosa-0.11.5}/crontab/crontab-orig.txt +0 -0
  17. {lstosa-0.11.4 → lstosa-0.11.5}/crontab/crontab.txt +0 -0
  18. {lstosa-0.11.4 → lstosa-0.11.5}/dev/mysql.py +0 -0
  19. {lstosa-0.11.4 → lstosa-0.11.5}/docs/Makefile +0 -0
  20. {lstosa-0.11.4 → lstosa-0.11.5}/docs/_static/logo_lstosa.png +0 -0
  21. {lstosa-0.11.4 → lstosa-0.11.5}/docs/authors.rst +0 -0
  22. {lstosa-0.11.4 → lstosa-0.11.5}/docs/components/index.rst +0 -0
  23. {lstosa-0.11.4 → lstosa-0.11.5}/docs/conf.py +0 -0
  24. {lstosa-0.11.4 → lstosa-0.11.5}/docs/configuration.rst +0 -0
  25. {lstosa-0.11.4 → lstosa-0.11.5}/docs/contribute.rst +0 -0
  26. {lstosa-0.11.4 → lstosa-0.11.5}/docs/documents/index.rst +0 -0
  27. {lstosa-0.11.4 → lstosa-0.11.5}/docs/howto/index.rst +0 -0
  28. {lstosa-0.11.4 → lstosa-0.11.5}/docs/index.rst +0 -0
  29. {lstosa-0.11.4 → lstosa-0.11.5}/docs/introduction/index.rst +0 -0
  30. {lstosa-0.11.4 → lstosa-0.11.5}/docs/introduction/reduction_steps_lstchain.png +0 -0
  31. {lstosa-0.11.4 → lstosa-0.11.5}/docs/jobs.rst +0 -0
  32. {lstosa-0.11.4 → lstosa-0.11.5}/docs/make.bat +0 -0
  33. {lstosa-0.11.4 → lstosa-0.11.5}/docs/nightsummary.rst +0 -0
  34. {lstosa-0.11.4 → lstosa-0.11.5}/docs/provenance.rst +0 -0
  35. {lstosa-0.11.4 → lstosa-0.11.5}/docs/references.rst +0 -0
  36. {lstosa-0.11.4 → lstosa-0.11.5}/docs/reports.rst +0 -0
  37. {lstosa-0.11.4 → lstosa-0.11.5}/docs/scripts/index.rst +0 -0
  38. {lstosa-0.11.4 → lstosa-0.11.5}/docs/troubleshooting/index.rst +0 -0
  39. {lstosa-0.11.4 → lstosa-0.11.5}/docs/utils.rst +0 -0
  40. {lstosa-0.11.4 → lstosa-0.11.5}/docs/veto.rst +0 -0
  41. {lstosa-0.11.4 → lstosa-0.11.5}/docs/workflow/LSTOSA_flow.png +0 -0
  42. {lstosa-0.11.4 → lstosa-0.11.5}/docs/workflow/index.rst +0 -0
  43. {lstosa-0.11.4 → lstosa-0.11.5}/environment-lstcam.yml +0 -0
  44. {lstosa-0.11.4 → lstosa-0.11.5}/environment.yml +0 -0
  45. {lstosa-0.11.4 → lstosa-0.11.5}/extra/example_sequencer.txt +0 -0
  46. {lstosa-0.11.4 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04183.history +0 -0
  47. {lstosa-0.11.4 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04183_failed.history +0 -0
  48. {lstosa-0.11.4 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04183_oneline.history +0 -0
  49. {lstosa-0.11.4 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04185.0001.history +0 -0
  50. {lstosa-0.11.4 → lstosa-0.11.5}/extra/history_files/sequence_LST1_04185.0010.history +0 -0
  51. {lstosa-0.11.4 → lstosa-0.11.5}/extra/sacct_output.csv +0 -0
  52. {lstosa-0.11.4 → lstosa-0.11.5}/extra/squeue_output.csv +0 -0
  53. {lstosa-0.11.4 → lstosa-0.11.5}/pyproject.toml +0 -0
  54. {lstosa-0.11.4 → lstosa-0.11.5}/setup.cfg +0 -0
  55. {lstosa-0.11.4 → lstosa-0.11.5}/src/lstosa.egg-info/SOURCES.txt +0 -0
  56. {lstosa-0.11.4 → lstosa-0.11.5}/src/lstosa.egg-info/dependency_links.txt +0 -0
  57. {lstosa-0.11.4 → lstosa-0.11.5}/src/lstosa.egg-info/entry_points.txt +0 -0
  58. {lstosa-0.11.4 → lstosa-0.11.5}/src/lstosa.egg-info/requires.txt +0 -0
  59. {lstosa-0.11.4 → lstosa-0.11.5}/src/lstosa.egg-info/top_level.txt +0 -0
  60. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/__init__.py +0 -0
  61. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/configs/__init__.py +0 -0
  62. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/configs/config.py +0 -0
  63. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/configs/datamodel.py +0 -0
  64. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/configs/options.py +0 -0
  65. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/configs/sequencer.cfg +0 -0
  66. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/conftest.py +0 -0
  67. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/high_level/__init__.py +0 -0
  68. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/high_level/selection_cuts.toml +0 -0
  69. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/high_level/significance.py +0 -0
  70. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/high_level/tests/test_significance.py +0 -0
  71. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/job.py +0 -0
  72. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/__init__.py +0 -0
  73. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/database.py +0 -0
  74. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/extract.py +0 -0
  75. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/nightsummary.py +0 -0
  76. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/set_source_coordinates.py +0 -0
  77. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_database.py +0 -0
  78. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_extract.py +0 -0
  79. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_nightsummary.py +0 -0
  80. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/nightsummary/tests/test_source_coordinates.py +0 -0
  81. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/osadb.py +0 -0
  82. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/paths.py +0 -0
  83. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/__init__.py +0 -0
  84. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/capture.py +0 -0
  85. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/config/definition.yaml +0 -0
  86. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/config/environment.yaml +0 -0
  87. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/config/logger.yaml +0 -0
  88. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/io.py +0 -0
  89. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/provenance/utils.py +0 -0
  90. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/raw.py +0 -0
  91. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/report.py +0 -0
  92. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/__init__.py +0 -0
  93. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/autocloser.py +0 -0
  94. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/calibration_pipeline.py +0 -0
  95. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/closer.py +0 -0
  96. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/copy_datacheck.py +0 -0
  97. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/datasequence.py +0 -0
  98. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/gain_selection.py +0 -0
  99. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/gainsel_webmaker.py +0 -0
  100. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/provprocess.py +0 -0
  101. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/reprocess_longterm.py +0 -0
  102. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/reprocessing.py +0 -0
  103. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/sequencer_catB_tailcuts.py +0 -0
  104. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/show_run_summary.py +0 -0
  105. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/simulate_processing.py +0 -0
  106. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/tests/__init__.py +0 -0
  107. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/scripts/update_source_catalog.py +0 -0
  108. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/__init__.py +0 -0
  109. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_jobs.py +0 -0
  110. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_osa.py +0 -0
  111. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_osadb.py +0 -0
  112. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_paths.py +0 -0
  113. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_raw.py +0 -0
  114. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_report.py +0 -0
  115. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/tests/test_veto.py +0 -0
  116. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/__init__.py +0 -0
  117. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/cliopts.py +0 -0
  118. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/iofile.py +0 -0
  119. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/logging.py +0 -0
  120. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/mail.py +0 -0
  121. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/register.py +0 -0
  122. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/tests/test_iofile.py +0 -0
  123. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/tests/test_utils.py +0 -0
  124. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/utils/utils.py +0 -0
  125. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/version.py +0 -0
  126. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/veto.py +0 -0
  127. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/webserver/__init__.py +0 -0
  128. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/webserver/utils.py +0 -0
  129. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/workflow/__init__.py +0 -0
  130. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/workflow/dl3.py +0 -0
  131. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/workflow/stages.py +0 -0
  132. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/workflow/tests/test_dl3.py +0 -0
  133. {lstosa-0.11.4 → lstosa-0.11.5}/src/osa/workflow/tests/test_stages.py +0 -0
@@ -1,6 +1,7 @@
1
1
  Andres Baquero <obaquero@ucm.es> andres-baquero <obaquero@ucm.es>
2
2
 
3
- Daniel Morcuende <dmorcuen@ucm.es> morcuended <dmorcuen@ucm.es>
3
+ Daniel Morcuende <daniel.morcuende@cta-observatory.org> morcuended <dmorcuen@ucm.es>
4
+ Daniel Morcuende <daniel.morcuende@cta-observatory.org> morcuended <dmorcuende@iaa.es>
4
5
 
5
6
  Jose Luis Contreras <jlcontreras@fis.ucm.es> Jose Contreras <jose.contreras@cp02.ctan.cta-observatory.org>
6
7
  Jose Luis Contreras <jlcontreras@fis.ucm.es> Jose Luis Contreras <pda.jl.contreras@gmail.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.11.4
3
+ Version: 0.11.5
4
4
  Summary: Onsite analysis pipeline for the CTA LST-1
5
5
  Author: María Láinez, José Enrique Ruiz, Lab Saha, Andrés Baquero, José Luis Contreras, Maximilian Linhoff
6
6
  Author-email: Daniel Morcuende <dmorcuen@ucm.es>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.11.4
3
+ Version: 0.11.5
4
4
  Summary: Onsite analysis pipeline for the CTA LST-1
5
5
  Author: María Láinez, José Enrique Ruiz, Lab Saha, Andrés Baquero, José Luis Contreras, Maximilian Linhoff
6
6
  Author-email: Daniel Morcuende <dmorcuen@ucm.es>
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.11.4'
32
- __version_tuple__ = version_tuple = (0, 11, 4)
31
+ __version__ = version = '0.11.5'
32
+ __version_tuple__ = version_tuple = (0, 11, 5)
33
33
 
34
- __commit_id__ = commit_id = 'gd434a8783'
34
+ __commit_id__ = commit_id = 'gdc0cee0a4'
@@ -11,7 +11,7 @@ import os
11
11
  import sys
12
12
  from decimal import Decimal
13
13
  import datetime
14
-
14
+ import re
15
15
  from osa import osadb
16
16
  from osa.configs import options
17
17
  from osa.configs.config import cfg
@@ -50,6 +50,7 @@ __all__ = [
50
50
  "update_sequence_status",
51
51
  "get_status_for_sequence",
52
52
  "output_matrix",
53
+ "check_catB_status",
53
54
  "report_sequences",
54
55
  "update_job_info",
55
56
  ]
@@ -205,6 +206,34 @@ def update_sequence_status(seq_list):
205
206
  )
206
207
  seq.muonstatus = int(Decimal(get_status_for_sequence(seq, "MUON") * 100) / seq.subruns)
207
208
  seq.dl2status = int(Decimal(get_status_for_sequence(seq, "DL2") * 100))
209
+ seq.catbstatus = check_catB_status(seq)
210
+
211
+
212
+ def check_catB_status(seq):
213
+ catbstatus = "None"
214
+
215
+ if seq.type == "DATA":
216
+ directory = options.directory
217
+
218
+ closed_files = list(directory.glob(f"catB*{seq.run}*.closed"))
219
+ if closed_files:
220
+ catbstatus = "CLOSED"
221
+ else:
222
+ log_files = list(options.log_directory.glob(f"catB_calibration_{seq.run}_*.err"))
223
+ if log_files:
224
+ filename = sorted(log_files)[-1].name
225
+ match = re.search(f"catB_calibration_{seq.run}_(\d+).err", filename)
226
+ if match:
227
+ job_id = match.group(1)
228
+
229
+ sacct_output = run_sacct(job_id)
230
+ sacct_info = get_sacct_output(sacct_output)
231
+
232
+ if not sacct_info.empty:
233
+ catbstatus = sacct_info.iloc[0]["State"]
234
+
235
+ return catbstatus
236
+
208
237
 
209
238
 
210
239
  def get_status_for_sequence(sequence, data_level) -> int:
@@ -278,7 +307,7 @@ def report_sequences(sequence_list):
278
307
  "Exit",
279
308
  ]
280
309
  if options.tel_id in ["LST1", "LST2"]:
281
- header.extend(("DL1%", "MUONS%", "DL1AB%", "DATACHECK%", "DL2%"))
310
+ header.extend(("DL1%", "MUONS%", "CAT-B","DL1AB%", "DATACHECK%", "DL2%"))
282
311
  matrix = [header]
283
312
  for sequence in sequence_list:
284
313
  row_list = [
@@ -297,12 +326,13 @@ def report_sequences(sequence_list):
297
326
  sequence.exit,
298
327
  ]
299
328
  if sequence.type in ["DRS4", "PEDCALIB"]:
300
- row_list.extend((None, None, None, None, None))
329
+ row_list.extend((None, None, None, None, None, None))
301
330
  elif sequence.type == "DATA":
302
331
  row_list.extend(
303
332
  (
304
333
  sequence.dl1status,
305
334
  sequence.muonstatus,
335
+ sequence.catbstatus,
306
336
  sequence.dl1abstatus,
307
337
  sequence.datacheckstatus,
308
338
  sequence.dl2status,
@@ -107,7 +107,7 @@ def lines_to_matrix(lines: Iterable) -> list:
107
107
  matrix = []
108
108
  for line in lines:
109
109
  l_fields = line.split()
110
- if len(l_fields) == 18:
110
+ if len(l_fields) == 19:
111
111
  matrix.append(l_fields)
112
112
  return matrix
113
113
 
@@ -163,10 +163,10 @@ def test_simulated_sequencer(
163
163
  assert rc.stdout == dedent(
164
164
  f"""\
165
165
  =================================== Starting sequencer.py at {now} UTC for LST, Telescope: LST1, Date: 2020-01-17 ===================================
166
- Tel Seq Parent Type Run Subruns Source Action Tries JobID State CPU_time Exit DL1% MUONS% DL1AB% DATACHECK% DL2%
167
- LST1 1 None PEDCALIB 1809 5 None None None None None None None None None None None None
168
- LST1 2 1 DATA 1807 11 Crab None None None None None None 0 0 0 0 100
169
- LST1 3 1 DATA 1808 9 MadeUpSource None None None None None None 0 0 0 0 100
166
+ Tel Seq Parent Type Run Subruns Source Action Tries JobID State CPU_time Exit DL1% MUONS% CAT-B DL1AB% DATACHECK% DL2%
167
+ LST1 1 None PEDCALIB 1809 5 None None None None None None None None None None None None None
168
+ LST1 2 1 DATA 1807 11 Crab None None None None None None 0 0 None 0 0 100
169
+ LST1 3 1 DATA 1808 9 MadeUpSource None None None None None None 0 0 None 0 0 100
170
170
  """ # noqa: E501
171
171
  )
172
172
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes