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.
- {lstosa-0.10.14 → lstosa-0.10.16}/PKG-INFO +1 -1
- {lstosa-0.10.14 → lstosa-0.10.16}/pyproject.toml +1 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/PKG-INFO +1 -1
- {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/SOURCES.txt +1 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/entry_points.txt +1 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/_version.py +2 -2
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/sequencer.cfg +5 -1
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/job.py +17 -2
- lstosa-0.10.16/src/osa/scripts/gain_selection.py +555 -0
- lstosa-0.10.16/src/osa/scripts/gainsel_webmaker.py +157 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/sequencer.py +71 -3
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/sequencer_webmaker.py +4 -4
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/tests/test_osa_scripts.py +27 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_jobs.py +9 -3
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/cliopts.py +8 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/stages.py +13 -6
- lstosa-0.10.14/src/osa/scripts/gain_selection.py +0 -374
- {lstosa-0.10.14 → lstosa-0.10.16}/.coveragerc +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/.gitignore +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/.mailmap +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/.pre-commit-config.yaml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/.readthedocs.yml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/LICENSE +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/MANIFEST.in +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/README.md +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/codemeta.json +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/crontab/crontab.txt +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/dev/mysql.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/Makefile +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/_static/logo_lstosa.png +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/authors.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/components/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/conf.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/configuration.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/contribute.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/documents/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/howto/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/introduction/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/introduction/reduction_steps_lstchain.png +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/jobs.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/make.bat +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/nightsummary.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/provenance.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/references.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/reports.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/scripts/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/troubleshooting/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/utils.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/veto.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/workflow/LSTOSA_flow.png +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/docs/workflow/index.rst +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/environment.yml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/example_sequencer.txt +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04183.history +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04183_failed.history +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04183_oneline.history +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/history_files/sequence_LST1_04185.0010.history +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/sacct_output.csv +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/extra/squeue_output.csv +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/setup.cfg +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/dependency_links.txt +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/requires.txt +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/lstosa.egg-info/top_level.txt +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/config.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/datamodel.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/configs/options.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/conftest.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/selection_cuts.toml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/significance.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/high_level/tests/test_significance.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/database.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/extract.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/nightsummary.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/set_source_coordinates.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_database.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_extract.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_nightsummary.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/nightsummary/tests/test_source_coordinates.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/osadb.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/paths.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/capture.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/config/definition.yaml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/config/environment.yaml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/config/logger.yaml +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/io.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/provenance/utils.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/raw.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/report.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/autocloser.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/calibration_pipeline.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/closer.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/copy_datacheck.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/datasequence.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/provprocess.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/reprocess_longterm.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/reprocessing.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/show_run_summary.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/simulate_processing.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/tests/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/scripts/update_source_catalog.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_osa.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_osadb.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_paths.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_raw.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_report.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/tests/test_veto.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/iofile.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/logging.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/mail.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/register.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/tests/test_iofile.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/tests/test_utils.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/utils/utils.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/version.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/veto.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/webserver/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/webserver/utils.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/__init__.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/dl3.py +0 -0
- {lstosa-0.10.14 → lstosa-0.10.16}/src/osa/workflow/tests/test_dl3.py +0 -0
- {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.
|
|
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.
|
|
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
|
|
@@ -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:
|
|
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
|