lstosa 0.10.14__tar.gz → 0.10.16__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 (130) hide show
  1. {lstosa-0.10.14 → lstosa-0.10.16}/PKG-INFO +1 -1
  2. {lstosa-0.10.14 → lstosa-0.10.16}/pyproject.toml +1 -0
  3. {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/PKG-INFO +1 -1
  4. {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/SOURCES.txt +1 -0
  5. {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/entry_points.txt +1 -0
  6. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/_version.py +2 -2
  7. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/sequencer.cfg +5 -1
  8. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/job.py +17 -2
  9. lstosa-0.10.16/src/osa/scripts/gain_selection.py +555 -0
  10. lstosa-0.10.16/src/osa/scripts/gainsel_webmaker.py +157 -0
  11. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/sequencer.py +71 -3
  12. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/sequencer_webmaker.py +4 -4
  13. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/tests/test_osa_scripts.py +27 -0
  14. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_jobs.py +9 -3
  15. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/cliopts.py +8 -0
  16. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/stages.py +13 -6
  17. lstosa-0.10.14/src/osa/scripts/gain_selection.py +0 -374
  18. {lstosa-0.10.14 → lstosa-0.10.16}/.coveragerc +0 -0
  19. {lstosa-0.10.14 → lstosa-0.10.16}/.gitignore +0 -0
  20. {lstosa-0.10.14 → lstosa-0.10.16}/.mailmap +0 -0
  21. {lstosa-0.10.14 → lstosa-0.10.16}/.pre-commit-config.yaml +0 -0
  22. {lstosa-0.10.14 → lstosa-0.10.16}/.readthedocs.yml +0 -0
  23. {lstosa-0.10.14 → lstosa-0.10.16}/LICENSE +0 -0
  24. {lstosa-0.10.14 → lstosa-0.10.16}/MANIFEST.in +0 -0
  25. {lstosa-0.10.14 → lstosa-0.10.16}/README.md +0 -0
  26. {lstosa-0.10.14 → lstosa-0.10.16}/codemeta.json +0 -0
  27. {lstosa-0.10.14 → lstosa-0.10.16}/crontab/crontab.txt +0 -0
  28. {lstosa-0.10.14 → lstosa-0.10.16}/dev/mysql.py +0 -0
  29. {lstosa-0.10.14 → lstosa-0.10.16}/docs/Makefile +0 -0
  30. {lstosa-0.10.14 → lstosa-0.10.16}/docs/_static/logo_lstosa.png +0 -0
  31. {lstosa-0.10.14 → lstosa-0.10.16}/docs/authors.rst +0 -0
  32. {lstosa-0.10.14 → lstosa-0.10.16}/docs/components/index.rst +0 -0
  33. {lstosa-0.10.14 → lstosa-0.10.16}/docs/conf.py +0 -0
  34. {lstosa-0.10.14 → lstosa-0.10.16}/docs/configuration.rst +0 -0
  35. {lstosa-0.10.14 → lstosa-0.10.16}/docs/contribute.rst +0 -0
  36. {lstosa-0.10.14 → lstosa-0.10.16}/docs/documents/index.rst +0 -0
  37. {lstosa-0.10.14 → lstosa-0.10.16}/docs/howto/index.rst +0 -0
  38. {lstosa-0.10.14 → lstosa-0.10.16}/docs/index.rst +0 -0
  39. {lstosa-0.10.14 → lstosa-0.10.16}/docs/introduction/index.rst +0 -0
  40. {lstosa-0.10.14 → lstosa-0.10.16}/docs/introduction/reduction_steps_lstchain.png +0 -0
  41. {lstosa-0.10.14 → lstosa-0.10.16}/docs/jobs.rst +0 -0
  42. {lstosa-0.10.14 → lstosa-0.10.16}/docs/make.bat +0 -0
  43. {lstosa-0.10.14 → lstosa-0.10.16}/docs/nightsummary.rst +0 -0
  44. {lstosa-0.10.14 → lstosa-0.10.16}/docs/provenance.rst +0 -0
  45. {lstosa-0.10.14 → lstosa-0.10.16}/docs/references.rst +0 -0
  46. {lstosa-0.10.14 → lstosa-0.10.16}/docs/reports.rst +0 -0
  47. {lstosa-0.10.14 → lstosa-0.10.16}/docs/scripts/index.rst +0 -0
  48. {lstosa-0.10.14 → lstosa-0.10.16}/docs/troubleshooting/index.rst +0 -0
  49. {lstosa-0.10.14 → lstosa-0.10.16}/docs/utils.rst +0 -0
  50. {lstosa-0.10.14 → lstosa-0.10.16}/docs/veto.rst +0 -0
  51. {lstosa-0.10.14 → lstosa-0.10.16}/docs/workflow/LSTOSA_flow.png +0 -0
  52. {lstosa-0.10.14 → lstosa-0.10.16}/docs/workflow/index.rst +0 -0
  53. {lstosa-0.10.14 → lstosa-0.10.16}/environment.yml +0 -0
  54. {lstosa-0.10.14 → lstosa-0.10.16}/extra/example_sequencer.txt +0 -0
  55. {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04183.history +0 -0
  56. {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04183_failed.history +0 -0
  57. {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04183_oneline.history +0 -0
  58. {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04185.0010.history +0 -0
  59. {lstosa-0.10.14 → lstosa-0.10.16}/extra/sacct_output.csv +0 -0
  60. {lstosa-0.10.14 → lstosa-0.10.16}/extra/squeue_output.csv +0 -0
  61. {lstosa-0.10.14 → lstosa-0.10.16}/setup.cfg +0 -0
  62. {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/dependency_links.txt +0 -0
  63. {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/requires.txt +0 -0
  64. {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/top_level.txt +0 -0
  65. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/__init__.py +0 -0
  66. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/__init__.py +0 -0
  67. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/config.py +0 -0
  68. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/datamodel.py +0 -0
  69. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/options.py +0 -0
  70. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/conftest.py +0 -0
  71. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/__init__.py +0 -0
  72. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/selection_cuts.toml +0 -0
  73. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/significance.py +0 -0
  74. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/tests/test_significance.py +0 -0
  75. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/__init__.py +0 -0
  76. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/database.py +0 -0
  77. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/extract.py +0 -0
  78. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/nightsummary.py +0 -0
  79. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/set_source_coordinates.py +0 -0
  80. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_database.py +0 -0
  81. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_extract.py +0 -0
  82. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_nightsummary.py +0 -0
  83. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_source_coordinates.py +0 -0
  84. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/osadb.py +0 -0
  85. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/paths.py +0 -0
  86. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/__init__.py +0 -0
  87. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/capture.py +0 -0
  88. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/config/definition.yaml +0 -0
  89. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/config/environment.yaml +0 -0
  90. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/config/logger.yaml +0 -0
  91. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/io.py +0 -0
  92. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/utils.py +0 -0
  93. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/raw.py +0 -0
  94. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/report.py +0 -0
  95. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/__init__.py +0 -0
  96. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/autocloser.py +0 -0
  97. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/calibration_pipeline.py +0 -0
  98. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/closer.py +0 -0
  99. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/copy_datacheck.py +0 -0
  100. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/datasequence.py +0 -0
  101. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/provprocess.py +0 -0
  102. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/reprocess_longterm.py +0 -0
  103. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/reprocessing.py +0 -0
  104. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/show_run_summary.py +0 -0
  105. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/simulate_processing.py +0 -0
  106. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/tests/__init__.py +0 -0
  107. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/update_source_catalog.py +0 -0
  108. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/__init__.py +0 -0
  109. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_osa.py +0 -0
  110. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_osadb.py +0 -0
  111. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_paths.py +0 -0
  112. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_raw.py +0 -0
  113. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_report.py +0 -0
  114. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_veto.py +0 -0
  115. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/__init__.py +0 -0
  116. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/iofile.py +0 -0
  117. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/logging.py +0 -0
  118. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/mail.py +0 -0
  119. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/register.py +0 -0
  120. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/tests/test_iofile.py +0 -0
  121. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/tests/test_utils.py +0 -0
  122. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/utils.py +0 -0
  123. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/version.py +0 -0
  124. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/veto.py +0 -0
  125. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/webserver/__init__.py +0 -0
  126. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/webserver/utils.py +0 -0
  127. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/__init__.py +0 -0
  128. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/dl3.py +0 -0
  129. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/tests/test_dl3.py +0 -0
  130. {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/tests/test_stages.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.10.14
3
+ Version: 0.10.16
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>
@@ -75,6 +75,7 @@ reprocessing = "osa.scripts.reprocessing:main"
75
75
  reprocess_longterm = "osa.scripts.reprocess_longterm:main"
76
76
  gain_selection = "osa.scripts.gain_selection:main"
77
77
  update_source_catalog = "osa.scripts.update_source_catalog:main"
78
+ gainsel_webmaker = "osa.scripts.gainsel_webmaker:main"
78
79
 
79
80
  [tool.setuptools.packages.find]
80
81
  where = ["src"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lstosa
3
- Version: 0.10.14
3
+ Version: 0.10.16
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>
@@ -90,6 +90,7 @@ src/osa/scripts/closer.py
90
90
  src/osa/scripts/copy_datacheck.py
91
91
  src/osa/scripts/datasequence.py
92
92
  src/osa/scripts/gain_selection.py
93
+ src/osa/scripts/gainsel_webmaker.py
93
94
  src/osa/scripts/provprocess.py
94
95
  src/osa/scripts/reprocess_longterm.py
95
96
  src/osa/scripts/reprocessing.py
@@ -6,6 +6,7 @@ copy_datacheck = osa.scripts.copy_datacheck:main
6
6
  datasequence = osa.scripts.datasequence:main
7
7
  dl3_stage = osa.workflow.dl3:main
8
8
  gain_selection = osa.scripts.gain_selection:main
9
+ gainsel_webmaker = osa.scripts.gainsel_webmaker:main
9
10
  provprocess = osa.scripts.provprocess:main
10
11
  reprocess_longterm = osa.scripts.reprocess_longterm:main
11
12
  reprocessing = osa.scripts.reprocessing:main
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.10.14'
16
- __version_tuple__ = version_tuple = (0, 10, 14)
15
+ __version__ = version = '0.10.16'
16
+ __version_tuple__ = version_tuple = (0, 10, 16)
@@ -29,6 +29,7 @@ LONGTERM_DIR: %(OSA_DIR)s/DL1DataCheck_LongTerm
29
29
  MERGED_SUMMARY: %(OSA_DIR)s/Catalog/merged_RunSummary.ecsv
30
30
  SEQUENCER_WEB_DIR: %(OSA_DIR)s/SequencerWeb
31
31
  GAIN_SELECTION_FLAG_DIR: %(OSA_DIR)s/GainSel
32
+ GAIN_SELECTION_WEB_DIR: %(OSA_DIR)s/GainSelWeb
32
33
 
33
34
  # To be set by the user. Using PROD-ID will overcome the automatic
34
35
  # fetching of lstchain version. Otherwise leave it empty (and without the colon symbol).
@@ -54,6 +55,7 @@ dl1_to_dl2: lstchain_dl1_to_dl2
54
55
  dl1a_config: /software/lstchain/data/lstchain_standard_config.json
55
56
  store_image_dl1ab: True
56
57
  merge_dl1_datacheck: True
58
+ use_ff_heuristic_gain_selection: False
57
59
  dl1b_config: /software/lstchain/data/lstchain_standard_config.json
58
60
  dl2_config: /software/lstchain/data/lstchain_standard_config.json
59
61
  rf_models: /data/models/prod5/zenith_20deg/20201023_v0.6.3
@@ -70,11 +72,13 @@ electron: /path/to/DL2/electron_mc_testing.h5
70
72
  PARTITION_PEDCALIB: short, long
71
73
  PARTITION_DATA: short, long
72
74
  MEMSIZE_PEDCALIB: 3GB
73
- MEMSIZE_DATA: 16GB
75
+ MEMSIZE_DATA: 6GB
76
+ MEMSIZE_GAINSEL: 2GB
74
77
  WALLTIME: 1:15:00
75
78
  # Days from current day up to which the jobs are fetched from the queue.
76
79
  # Default is None (left empty).
77
80
  STARTTIME_DAYS_SACCT:
81
+ ACCOUNT: dpps
78
82
 
79
83
  [WEBSERVER]
80
84
  # Set the server address and port to transfer the datacheck plots
@@ -342,6 +342,7 @@ def scheduler_env_variables(sequence, scheduler="slurm"):
342
342
 
343
343
  sbatch_parameters.append(f"--partition={cfg.get('SLURM', f'PARTITION_{sequence.type}')}")
344
344
  sbatch_parameters.append(f"--mem-per-cpu={cfg.get('SLURM', f'MEMSIZE_{sequence.type}')}")
345
+ sbatch_parameters.append(f"--account={cfg.get('SLURM', 'ACCOUNT')}")
345
346
 
346
347
  return ["#SBATCH " + line for line in sbatch_parameters]
347
348
 
@@ -652,7 +653,7 @@ def get_squeue_output(squeue_output: StringIO) -> pd.DataFrame:
652
653
  return df
653
654
 
654
655
 
655
- def run_sacct() -> StringIO:
656
+ def run_sacct(job_id: str = None) -> StringIO:
656
657
  """Run sacct to obtain the job information."""
657
658
  if shutil.which("sacct") is None:
658
659
  log.warning("No job info available since sacct command is not available")
@@ -667,13 +668,18 @@ def run_sacct() -> StringIO:
667
668
  "-o",
668
669
  ",".join(FORMAT_SLURM),
669
670
  ]
671
+
672
+ if job_id:
673
+ sacct_cmd.append("--jobs")
674
+ sacct_cmd.append(job_id)
675
+
670
676
  if cfg.get("SLURM", "STARTTIME_DAYS_SACCT"):
671
677
  days = int(cfg.get("SLURM", "STARTTIME_DAYS_SACCT"))
672
678
  start_date = (datetime.date.today() - datetime.timedelta(days=days)).isoformat()
673
679
  sacct_cmd.extend(["--starttime", start_date])
674
680
 
675
681
  return StringIO(sp.check_output(sacct_cmd).decode())
676
-
682
+
677
683
 
678
684
  def get_sacct_output(sacct_output: StringIO) -> pd.DataFrame:
679
685
  """
@@ -808,3 +814,12 @@ def update_sequence_state(sequence, filtered_job_info: pd.DataFrame) -> None:
808
814
  sequence.exit = "0:15"
809
815
  elif any("RUNNING" in job for job in filtered_job_info.State):
810
816
  sequence.state = "RUNNING"
817
+
818
+
819
+ def job_finished_in_timeout(job_id: str) -> bool:
820
+ """Return True if the input job_id finished in TIMEOUT state."""
821
+ job_status = get_sacct_output(run_sacct(job_id=job_id))["State"]
822
+ if job_id and job_status.item() == "TIMEOUT":
823
+ return True
824
+ else:
825
+ return False