gammasimtools 0.23.0__py3-none-any.whl → 0.25.0__py3-none-any.whl

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 (90) hide show
  1. {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/METADATA +1 -1
  2. {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/RECORD +89 -85
  3. {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/entry_points.txt +1 -0
  4. simtools/_version.py +2 -2
  5. simtools/application_control.py +54 -4
  6. simtools/applications/convert_geo_coordinates_of_array_elements.py +1 -1
  7. simtools/applications/db_add_file_to_db.py +2 -2
  8. simtools/applications/db_add_simulation_model_from_repository_to_db.py +1 -1
  9. simtools/applications/db_add_value_from_json_to_db.py +2 -2
  10. simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +1 -1
  11. simtools/applications/db_generate_compound_indexes.py +1 -1
  12. simtools/applications/db_get_array_layouts_from_db.py +2 -2
  13. simtools/applications/db_get_file_from_db.py +1 -1
  14. simtools/applications/db_get_parameter_from_db.py +1 -1
  15. simtools/applications/db_inspect_databases.py +4 -2
  16. simtools/applications/db_upload_model_repository.py +1 -1
  17. simtools/applications/derive_ctao_array_layouts.py +1 -1
  18. simtools/applications/derive_psf_parameters.py +5 -0
  19. simtools/applications/derive_pulse_shape_parameters.py +195 -0
  20. simtools/applications/generate_array_config.py +1 -1
  21. simtools/applications/maintain_simulation_model_add_production.py +11 -21
  22. simtools/applications/plot_array_layout.py +63 -1
  23. simtools/applications/production_generate_grid.py +1 -1
  24. simtools/applications/simulate_flasher.py +3 -2
  25. simtools/applications/simulate_pedestals.py +1 -1
  26. simtools/applications/simulate_prod.py +8 -23
  27. simtools/applications/simulate_prod_htcondor_generator.py +7 -0
  28. simtools/applications/submit_array_layouts.py +7 -5
  29. simtools/applications/validate_camera_fov.py +1 -1
  30. simtools/applications/validate_cumulative_psf.py +2 -2
  31. simtools/applications/validate_file_using_schema.py +49 -123
  32. simtools/applications/validate_optics.py +1 -1
  33. simtools/configuration/commandline_parser.py +15 -15
  34. simtools/configuration/configurator.py +1 -1
  35. simtools/corsika/corsika_config.py +199 -91
  36. simtools/data_model/model_data_writer.py +15 -3
  37. simtools/data_model/schema.py +145 -36
  38. simtools/data_model/validate_data.py +82 -48
  39. simtools/db/db_handler.py +61 -294
  40. simtools/db/db_model_upload.py +3 -2
  41. simtools/db/mongo_db.py +626 -0
  42. simtools/dependencies.py +38 -17
  43. simtools/io/eventio_handler.py +128 -0
  44. simtools/job_execution/htcondor_script_generator.py +0 -2
  45. simtools/layout/array_layout.py +7 -7
  46. simtools/layout/array_layout_utils.py +4 -4
  47. simtools/model/array_model.py +72 -72
  48. simtools/model/calibration_model.py +12 -9
  49. simtools/model/model_parameter.py +196 -160
  50. simtools/model/model_repository.py +176 -39
  51. simtools/model/model_utils.py +3 -3
  52. simtools/model/site_model.py +59 -27
  53. simtools/model/telescope_model.py +21 -13
  54. simtools/ray_tracing/mirror_panel_psf.py +4 -4
  55. simtools/ray_tracing/psf_analysis.py +11 -8
  56. simtools/ray_tracing/psf_parameter_optimisation.py +823 -680
  57. simtools/reporting/docs_auto_report_generator.py +1 -1
  58. simtools/reporting/docs_read_parameters.py +72 -11
  59. simtools/runners/corsika_runner.py +12 -3
  60. simtools/runners/corsika_simtel_runner.py +6 -0
  61. simtools/runners/runner_services.py +17 -7
  62. simtools/runners/simtel_runner.py +12 -54
  63. simtools/schemas/model_parameters/flasher_pulse_exp_decay.schema.yml +2 -0
  64. simtools/schemas/model_parameters/flasher_pulse_shape.schema.yml +50 -0
  65. simtools/schemas/model_parameters/flasher_pulse_width.schema.yml +2 -0
  66. simtools/schemas/simulation_models_info.schema.yml +4 -1
  67. simtools/simtel/pulse_shapes.py +268 -0
  68. simtools/simtel/simtel_config_writer.py +179 -21
  69. simtools/simtel/simtel_io_event_writer.py +2 -2
  70. simtools/simtel/simulator_array.py +58 -12
  71. simtools/simtel/simulator_light_emission.py +45 -8
  72. simtools/simulator.py +361 -346
  73. simtools/testing/assertions.py +110 -10
  74. simtools/testing/configuration.py +1 -1
  75. simtools/testing/log_inspector.py +4 -1
  76. simtools/testing/sim_telarray_metadata.py +1 -1
  77. simtools/testing/validate_output.py +46 -15
  78. simtools/utils/names.py +2 -4
  79. simtools/utils/value_conversion.py +10 -5
  80. simtools/version.py +61 -0
  81. simtools/visualization/legend_handlers.py +14 -4
  82. simtools/visualization/plot_array_layout.py +229 -33
  83. simtools/visualization/plot_mirrors.py +837 -0
  84. simtools/visualization/plot_pixels.py +1 -1
  85. simtools/visualization/plot_psf.py +1 -1
  86. simtools/visualization/plot_tables.py +1 -1
  87. simtools/simtel/simtel_io_file_info.py +0 -62
  88. {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/WHEEL +0 -0
  89. {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/licenses/LICENSE +0 -0
  90. {gammasimtools-0.23.0.dist-info → gammasimtools-0.25.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gammasimtools
3
- Version: 0.23.0
3
+ Version: 0.25.0
4
4
  Summary: Tools for the Simulation System of the CTA Observatory
5
5
  Author-email: simtools developers <simtools-developer@desy.de>
6
6
  License-Expression: BSD-3-Clause
@@ -1,103 +1,106 @@
1
- gammasimtools-0.23.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
1
+ gammasimtools-0.25.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
2
2
  simtools/__init__.py,sha256=yvx0i5ygbllmMtF2Tzy7pohvhQNH_dBdj0Bt8bKFYpc,231
3
- simtools/_version.py,sha256=qi2tdZyogcCsy661lry_BPvWPoopE76gBbefJuLSzfw,706
4
- simtools/application_control.py,sha256=_M6msqIsVepQOZAhTQnequmP6W7b4gefXL5UJndRCyw,3301
3
+ simtools/_version.py,sha256=Kl3WY3DazpC5lEIaMkcNebxoUZL2q26hCV9RsV8iNxM,706
4
+ simtools/application_control.py,sha256=8fFhUG2gbQd80mW-5C_LSM9zzr8H6TdhRf9ZJn99ZaY,5030
5
5
  simtools/constants.py,sha256=3N5bc8MlMWRzcg8EeSJweoioEo_uhStMxAzdb85Apvw,966
6
- simtools/dependencies.py,sha256=bDMw1Nyjya0-TnWp_K6LyV6JbO_aJDARa6KSGXhLcqc,6572
7
- simtools/simulator.py,sha256=FJavK6JvDPAptg02qA4YD85pDKvigGxlbUhOfkda7PA,28733
6
+ simtools/dependencies.py,sha256=lUB6S8Qy95ecnokcgsY_NmgNBznUtkpa9kjztxkswRY,7133
7
+ simtools/simulator.py,sha256=HNulg-jR2mh1yHcr-DzC2GunWm0JnT7bHRauvMe5nO4,30463
8
8
  simtools/telescope_trigger_rates.py,sha256=_2NUG8UnhfpMGhaEDgHUOOdnweCUcRTrTOkGGYInHqo,3984
9
- simtools/version.py,sha256=aY5Rjp4wiX9CKZeXDJeQsqkMRg_vV7ixD7It4bWGRPs,5540
9
+ simtools/version.py,sha256=zVXYJYK7Q9c7stKrbbeJekkIZ-KQkGrHUnnKiVxXd20,7246
10
10
  simtools/applications/calculate_incident_angles.py,sha256=utE5N6F_RjtNGxYx-HbAcQ4l6DtAmoZxYRgO7-jTM2g,6042
11
11
  simtools/applications/convert_all_model_parameters_from_simtel.py,sha256=ml3rLe9-nRdPQBARpssK9aU0StwQ27RaUa-_6H-ZlA0,11893
12
- simtools/applications/convert_geo_coordinates_of_array_elements.py,sha256=IBRLPbyuvLnYGxuGfXic6pr0VF0xwz__7ZodaQLztW0,5661
12
+ simtools/applications/convert_geo_coordinates_of_array_elements.py,sha256=ALghVkw2ElrcqySz1teIeBhyzcMEoqDjDQO6bUw7cHw,5655
13
13
  simtools/applications/convert_model_parameter_from_simtel.py,sha256=BRs_oOfXPpLV0XSWD0LMtrwJXn_JAGaj4CBWrc6Lm1c,3602
14
- simtools/applications/db_add_file_to_db.py,sha256=H8E0z3mKCwS4CdY-WpwhsyoAOPQvvpifEBIdRrPAs4I,5715
15
- simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=vLlQuYEfdE2YYI_sP2X-H-BlyIL2IQ0qFkaSp4imPMM,4098
16
- simtools/applications/db_add_value_from_json_to_db.py,sha256=Dsmn580Kg1MrrIoLmt1bPQyoudtbmJhuKs6hPQR8hgM,3899
17
- simtools/applications/db_generate_compound_indexes.py,sha256=IfqexB0KoK8EDBvaRyMahnjZcrSsrZy6WdV5TFxhtUE,1491
18
- simtools/applications/db_get_array_layouts_from_db.py,sha256=vHAhn8SVvTDeCHuLqzxcLzxGoqxgbrp_7ng0AXV-RwQ,4868
19
- simtools/applications/db_get_file_from_db.py,sha256=kxp1vUlBm-5k_fqQaw0AQeviyTrxs4r_HGyHhQvNQE0,2464
20
- simtools/applications/db_get_parameter_from_db.py,sha256=71K9AMFLgBwF2KON4dQAIK6cg9LkvpGK3SocNynZnZ4,5309
21
- simtools/applications/db_inspect_databases.py,sha256=9AESXp9FTpJkzTPD8xB3vCaQZYfthbDsuaL6G7deBfw,1960
22
- simtools/applications/db_upload_model_repository.py,sha256=rGB42LkNIoe-SGlEro6Zvp04Nv9RXiWwa1Y-lPETYNM,3490
23
- simtools/applications/derive_ctao_array_layouts.py,sha256=YQSybPlDMB0Q5fkUyw7GnC8e-J7BRqpGgrAYgWhkCYs,4140
14
+ simtools/applications/db_add_file_to_db.py,sha256=fHQCY3Y2hCuNacBLkPA1ug1XHTlfyevr1ZpWoePkVhA,5726
15
+ simtools/applications/db_add_simulation_model_from_repository_to_db.py,sha256=unQ9us6IEa2G2u9hK1XkeHuC7G9kznqzHL3KWJ2qba0,4092
16
+ simtools/applications/db_add_value_from_json_to_db.py,sha256=7BJ0A9lA11rVvpCw7blzxSePoijnJdptYM4xrXJe3og,3910
17
+ simtools/applications/db_generate_compound_indexes.py,sha256=p3zxXRzM0S6GuQRDb4906r3Hc7ceM5xbZk2lnqjHJ-A,1485
18
+ simtools/applications/db_get_array_layouts_from_db.py,sha256=dQOm1hj4NdfhIMO6ERTNy5Ybiypf7LnE49QWRS5w2aI,4856
19
+ simtools/applications/db_get_file_from_db.py,sha256=ROGfmBjKkMQvpx9cx66nqC4VyO6EGnJNxBR-y8BWmeM,2458
20
+ simtools/applications/db_get_parameter_from_db.py,sha256=PWPOh67StUx64ICeX8DwiUxdRvbrC4aprPGbGXm7xGc,5303
21
+ simtools/applications/db_inspect_databases.py,sha256=eetmPqIJwFZCIY65hykSAvZ1ItkN6OvVDWb1MRZSps0,1987
22
+ simtools/applications/db_upload_model_repository.py,sha256=StVJU6alEddTDWTqf_GPOla09A-roPudSbGk7xnGeFg,3484
23
+ simtools/applications/derive_ctao_array_layouts.py,sha256=MTYrHjOkyzE8aBKeluGebibV9T7ZOocRF30GbHtzsbs,4134
24
24
  simtools/applications/derive_mirror_rnda.py,sha256=S_9fUZ1TQbKltX86IWhS_10_KDF1abtxaixGh1UUGms,8964
25
25
  simtools/applications/derive_photon_electron_spectrum.py,sha256=-Drq6QPo7xXjGGmdDzGKJ6x1Byg9_jOaD-fSKG6CJQE,3988
26
- simtools/applications/derive_psf_parameters.py,sha256=DiinpJYuXmt4hQXjwN8uLVnAfq1unF2ZrmIG47Z7o3I,7882
26
+ simtools/applications/derive_psf_parameters.py,sha256=x1HVRgsQeCtyuUejfdwXYpZ73wmJQU7_ZI3mfP5RAws,8049
27
+ simtools/applications/derive_pulse_shape_parameters.py,sha256=D399tpUK2DQ_76I2GbVIf6DW-Mkh1WlcoPqFdesyddg,6243
27
28
  simtools/applications/derive_trigger_rates.py,sha256=4kdJjc7-pB2XiuEX9BHzbJ9XXBZ0vN0XITVtvQgq11k,2515
28
29
  simtools/applications/docs_produce_array_element_report.py,sha256=CW2s2JwT-LvsBNjgbJayEjR42oYx8grWs96zP_VR9LQ,2556
29
30
  simtools/applications/docs_produce_calibration_reports.py,sha256=sOmC6uNjFaawj26nqJa3GsWAnQd0F96W6WKm3gj7J0I,1575
30
31
  simtools/applications/docs_produce_model_parameter_reports.py,sha256=P1Uv4d4XFZA39x8l1Ee7jQ28Qe_n8jGiU9wg8hP1pbE,1933
31
32
  simtools/applications/docs_produce_simulation_configuration_report.py,sha256=EBqx1VDwUG_UQq_K_6DVz_aDOBxbiqb_PNob6UJ3bKA,1485
32
- simtools/applications/generate_array_config.py,sha256=wqyNBU-_OmCEZBVb02aeX6i-3m7sKIKxRZLzjX6VbME,1883
33
+ simtools/applications/generate_array_config.py,sha256=8k3JvQNk0Stb-i1-WMpN4AL4FVWMg2uwhyNtIQ1WQXc,1877
33
34
  simtools/applications/generate_corsika_histograms.py,sha256=96FSduO6lFbo4mPJmU0Br85LeSBEDDBEMlo1SzxTIW4,11048
34
35
  simtools/applications/generate_default_metadata.py,sha256=yll6cUGl87DhBiov3rQhIPBcT0NIui06oILChjSQAdE,2053
35
36
  simtools/applications/generate_regular_arrays.py,sha256=X192RvFs8m-GOj1z4Awu3Lu-NT8L23SujdKun3iZONs,3862
36
37
  simtools/applications/generate_simtel_event_data.py,sha256=An8efQclDJD2b-HzTUwqfXTIkRUsBVeq9q5M7MXE9BQ,9057
37
- simtools/applications/maintain_simulation_model_add_production.py,sha256=rF_eYEqTaMYzy35jtK-Ei1dYaym7XMwftXiM6gkuZLc,2609
38
+ simtools/applications/maintain_simulation_model_add_production.py,sha256=lBBm6F5EQJqS2FnNGceEZI6ogzZpxna5IOTBPbXNMmc,2412
38
39
  simtools/applications/maintain_simulation_model_compare_productions.py,sha256=aD6eZq1RUMnE4J-AuNjuHCKy_vDmnFnhPCPO0wxshbA,3194
39
40
  simtools/applications/maintain_simulation_model_verify_production_tables.py,sha256=YpnP7EeaheV03KwW7ryEc4GHIqaEHOFkG-RqJOH64RE,1793
40
41
  simtools/applications/merge_tables.py,sha256=N7MGX-VD2tu72RWvSDEb1zfls6px-wqLU4t5Lbl9V6E,2656
41
- simtools/applications/plot_array_layout.py,sha256=mik3-O3AhPIGBdvUBATji4MUnVhRe5eHkHNNFa9S564,11270
42
+ simtools/applications/plot_array_layout.py,sha256=x9IIj7sJrBz_SjKXXHEhZhN1QpMrQ1D3I5_dHCWqMoY,13494
42
43
  simtools/applications/plot_simtel_events.py,sha256=aIINMATBNEs5-K72ZyWVBLyd83-70eMjERMNKvknSUE,6787
43
44
  simtools/applications/plot_tabular_data.py,sha256=jsGBWFelKSD4TOI4WZHdez-mM9l666RLctJvqCkZfus,2691
44
45
  simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=zBFY5Vb6ns_gWTQN9BLTzhq-7x3pvnzS6CC6LR6y_CM,3161
45
46
  simtools/applications/print_version.py,sha256=McMS3mEmUn11t_ExRhqd_G4S3p5ErbUuWWOLBREalFQ,1709
46
47
  simtools/applications/production_derive_corsika_limits.py,sha256=-rJpLGqODtuPhXCEd-1fWFfRefrjGE_5jQMFfwoDwBQ,5823
47
48
  simtools/applications/production_derive_statistics.py,sha256=NT_EL-jUg151QrCY1E1NaBerpUg9caRWo1e4AUHSB7o,4771
48
- simtools/applications/production_generate_grid.py,sha256=vMaMY0pH-hEcDRJt12unBl8BdXLid_zW2TYns2wBXWo,5830
49
+ simtools/applications/production_generate_grid.py,sha256=L_LlHA3Uly6P3Rx4eaxVvPXz3Z8VAwNv_7XO6Hm2VXs,5824
49
50
  simtools/applications/production_merge_corsika_limits.py,sha256=sYOTG731ja0xW5p2Pq4dJdOuKwWi7MphASdZ-dg6osY,7588
50
51
  simtools/applications/run_application.py,sha256=XaDRG-1TptvMSXwNis1z_n43YqkEI_fVjZiTImjl6-o,3947
51
- simtools/applications/simulate_flasher.py,sha256=CR5dl-GSycEyu8_D51kHJNUAxokTvMJ-fRlEGS82gLw,4646
52
+ simtools/applications/simulate_flasher.py,sha256=dTtvdkbb3NskiAS2J4AOUuETIN1jt-j09nDdw_8qrno,4695
52
53
  simtools/applications/simulate_illuminator.py,sha256=3UcrubHk_aErIsPW0rJTtlpXPnYlEZaqWBuF1IW-0go,4220
53
- simtools/applications/simulate_pedestals.py,sha256=0fmleOnAnNfJSoNX6zEgxHwJpOQldCrt02gtMDPZ_x0,3724
54
- simtools/applications/simulate_prod.py,sha256=B4Dj9lDp8p61ZwvPTXMoiBYPLinBGf9MRDo-dHV65H0,6464
55
- simtools/applications/simulate_prod_htcondor_generator.py,sha256=lcnYGjC5KwWmE0d6FFDXgg4XIolFPC0eXppDtUsp12s,3193
56
- simtools/applications/submit_array_layouts.py,sha256=AIIY_QBrOaRd-zOCICnktE9FKWLpZrbptLAGIW4eu8c,2713
54
+ simtools/applications/simulate_pedestals.py,sha256=n5zsHu4Y9wZdnmI191v-bXJdAZg1doIk9HFMS-xR66o,3724
55
+ simtools/applications/simulate_prod.py,sha256=vqGd4KPuWgvJtF0p0H0K0H4YfiPezjUNmUqRAcYqdqA,5346
56
+ simtools/applications/simulate_prod_htcondor_generator.py,sha256=MZc6BuhB5UO_b-j7x4ag_3Jf3Cii2YAvghOd17ZaQOY,3367
57
+ simtools/applications/submit_array_layouts.py,sha256=xlIG3kAJZtSOr1RHeMCfOn9Y-7fi49ppLUJS_pQgfFA,2863
57
58
  simtools/applications/submit_data_from_external.py,sha256=4uXI_JSKNpQkSbuUfEWQgtvH-on7nffIgQHbpzjN0Bc,3043
58
59
  simtools/applications/submit_model_parameter_from_external.py,sha256=UwpSclpjBXN2Vu8aQzHHRffj-Tt3M2IxqIcTnviRwuM,3754
59
60
  simtools/applications/validate_camera_efficiency.py,sha256=sPmIiQYQM9ewco2ExKI_QJ_nL1wjwmY5NOSN6Us0Wjk,4949
60
- simtools/applications/validate_camera_fov.py,sha256=thI_mioeriBDLtxf4tweBTCiTcba_RzbAfysJD93ZMQ,4541
61
- simtools/applications/validate_cumulative_psf.py,sha256=x6qZXetd7JfFVk9sa937i3rRTk8D_cbyBiLrvr-JttA,6424
62
- simtools/applications/validate_file_using_schema.py,sha256=j2x-wca3QsePq71FMN32OLwBLmTKOHIaa-8bYkvZEx4,7161
63
- simtools/applications/validate_optics.py,sha256=PwaN5YMI4W3oOn07JY2_IVoXxW5vu4F7riIZg1sn1EI,6459
64
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=s9JW1XTl4J2wZRm3UVvp-gQmEGJNhOGfnsX_sT-tjw8,5178
61
+ simtools/applications/validate_camera_fov.py,sha256=hU_Ul_E3c_Hl-dKLIlzZPgWyDillNOJsLpQu7_L3f44,4535
62
+ simtools/applications/validate_cumulative_psf.py,sha256=yeki5GV0vFX6P5yuMCAPkfFI2C_S8OjrfZlSpn2ol00,6430
63
+ simtools/applications/validate_file_using_schema.py,sha256=W1om-MHJA105NAOkRMZ4q7HNjfw7E9Xh8ExZrvic17A,4455
64
+ simtools/applications/validate_optics.py,sha256=7daD4S_9kze-MkmPUioekde3cgkmtfLVbl1CbqC6mYY,6451
65
+ simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=MG7F0_QTEjt2_1rryyVTDDjR9rHHWOGDHuP0fAVWolQ,5172
65
66
  simtools/camera/camera_efficiency.py,sha256=DMw438cJ6gcnZyXHuTDAohk5duCF8EWpCqnE93FXziA,18927
66
67
  simtools/camera/single_photon_electron_spectrum.py,sha256=eQTpmy8NH8v5kkrlFjYmlIQhqcDwXHy44q-59PtXZEI,11572
67
- simtools/configuration/commandline_parser.py,sha256=laLNPNwxqgdldIjMJGYlVMflnyDOLdURhKLcnTSuS4Q,28020
68
- simtools/configuration/configurator.py,sha256=UPiGJ5k4367_CyWo4TBj4p1A-y5vDGEFtFXAQVJ4Gvg,14790
69
- simtools/corsika/corsika_config.py,sha256=Njfh4B_yvS_mDGiwQ8KzTzXCxbviFNzvNQoli2vUiYA,28900
68
+ simtools/configuration/commandline_parser.py,sha256=ZSrtN5FRHn-qM5s3fKEhXnVqFbXacXE3VmWX_Q9nUfM,28016
69
+ simtools/configuration/configurator.py,sha256=sxaXZNbEb2Lli9092vmXsp6L0hbxZM9dZ6WtC25QYdw,14788
70
+ simtools/corsika/corsika_config.py,sha256=P_RjtTl2AHXBHKkvM5EGIGKIiUIMkkmGz2HV2jUknuA,34207
70
71
  simtools/corsika/corsika_histograms.py,sha256=nbxSoAj_oW3KABfo46ioj9W2VpXKWKw5mOiMeb1nGjs,70524
71
72
  simtools/corsika/primary_particle.py,sha256=WK0UKYtdPSefes286ZGXsoGV9r6JqH19Tk9myza_plU,6613
72
73
  simtools/data_model/data_reader.py,sha256=abqVujfDYu1SHbMhpqRA851_WDWZr2SOoi35p0hZ_7s,4051
73
74
  simtools/data_model/format_checkers.py,sha256=bXF9dItkpZCGXAHdCH7vhgxEsIhXLLVFLOha-hKRspY,1949
74
75
  simtools/data_model/metadata_collector.py,sha256=31j1l6Kl3gzVfpWql0ft-Dl0uvsBc0nF18oN9hp849Q,23513
75
76
  simtools/data_model/metadata_model.py,sha256=wH52gC6MdwFw9A6UswZLsRlss7vbXDyxybBaI_UMt18,4642
76
- simtools/data_model/model_data_writer.py,sha256=GiYfEslFSlpxqnLu_IrVkuz_K2YH25BJdnYWatYnQRI,16579
77
- simtools/data_model/schema.py,sha256=11l8LToCICluth1DAYz5_IeqkQs1DoBpPGcvSwTBnko,10601
78
- simtools/data_model/validate_data.py,sha256=jVxiTP1YlDiGqyAjb-b6vofmpxaZQY3RAtjaVkuCuRo,31078
79
- simtools/db/db_handler.py,sha256=wyVze4jxqrtshn2c7lxfQfEYGl6pcogm6BuEKqzag_Y,37963
80
- simtools/db/db_model_upload.py,sha256=WfhdQBdCgI2bwFxWTmgdNiG8JQVYnt5x3HVqLBMmJCY,11819
77
+ simtools/data_model/model_data_writer.py,sha256=MaVZVQP6YVei493DFMIkj41eIlXZCJNlaObwv-iUspY,17192
78
+ simtools/data_model/schema.py,sha256=VkmWByIY9fkRMbCJRBLlg-G33deGHYPs0AShTv23f6Q,14257
79
+ simtools/data_model/validate_data.py,sha256=7S-cxzXUvDaQCCWyvV7QTx50pt7eHmuVC9jzBM2z9kk,32566
80
+ simtools/db/db_handler.py,sha256=ACBqi0k-4fqbq9gMmLg1wEa4LWWTXQuZQjoBg3VIjks,29418
81
+ simtools/db/db_model_upload.py,sha256=zHPmvNM5QG4BTIfHFCo3qJn8f5pnuNScdKKOUGQORnc,11872
82
+ simtools/db/mongo_db.py,sha256=Efgxk_0dJMnwW6fPaPbEfvNU2tEbJcDDTlVTGwqTkxQ,19393
81
83
  simtools/io/ascii_handler.py,sha256=S2fP2x6vE4nEF5g0NRARIWKs8vKU3c9SW8XtcdrwhQU,7826
84
+ simtools/io/eventio_handler.py,sha256=_72U8n6bikGrd9rFlimHOU7-mBaDtTdozkE4Bb5hJBw,4004
82
85
  simtools/io/hdf5_handler.py,sha256=Jnya-FMhmt_jQHIMQawUZrJA6S3QFo1BGGVt2Jaj89g,4177
83
86
  simtools/io/io_handler.py,sha256=qC4-htBLvHcHgHfsZeDJllevadpMBN7KtFPnuHSXrpI,3439
84
87
  simtools/io/legacy_data_handler.py,sha256=ZJunKgO0gjCLHtBqVtYUAiD88ouJio1_w_XJHjjp_6U,1260
85
88
  simtools/io/table_handler.py,sha256=YJqbam9sBjKAhHDyzFd0X0duWT1jnYPyk0La9Gp2jeo,10713
86
- simtools/job_execution/htcondor_script_generator.py,sha256=7Wm1iR8PK0gbutbZATyBmhqQu-MZQI0HaJa7dJJVMHA,4248
89
+ simtools/job_execution/htcondor_script_generator.py,sha256=np_mPnu8HdTQdTlb_MpTsNcBa9g6K3PJfJ1mmLiL2xE,4179
87
90
  simtools/job_execution/job_manager.py,sha256=xWZlf1t6RuKvTEp1nNkNkkrUtR6smulxGfV8_WN_vG8,4716
88
- simtools/layout/array_layout.py,sha256=NfaNiyp4URnPlw_pc6j-vhs6YKK8bH_aU8MXxDVFxVc,25126
89
- simtools/layout/array_layout_utils.py,sha256=4xV8BqO9E9RkS8cT_Gaat0wLHksBLsvvdUes7Z3M0dE,12590
91
+ simtools/layout/array_layout.py,sha256=sk1yIEEBx2MlbNyISe6K7vnmQuyp-QAuoFPF0U6nDRo,25073
92
+ simtools/layout/array_layout_utils.py,sha256=ueieDAWw9wi4E4eMWRGR4yQ2RAfu6amFAwYrF-gXZfg,12581
90
93
  simtools/layout/geo_coordinates.py,sha256=9kKnXFi9vrfYKG_9elzFuzzssGFEUzxMubaclITkW_g,5944
91
94
  simtools/layout/telescope_position.py,sha256=tXXf2_kr6ouPrDXWx20vf6c-yEo11AjN8_gJ2EwL5-g,20097
92
- simtools/model/array_model.py,sha256=38PJVqzmdMNMZnIQ-O0hq9azG-1U3B0xxnAqtRVjLFQ,19055
93
- simtools/model/calibration_model.py,sha256=9yJBRZ0cPl0KolzJJrrEPyjEQn21aSf2Xk1RPMtq8Po,1410
95
+ simtools/model/array_model.py,sha256=q_ZWTwGyxGw1x_IS2-VjbKUMnELYtzs6oVqpne-1kOg,18942
96
+ simtools/model/calibration_model.py,sha256=omSgM2CIMh7HB2Bnm3OFjvWRMNBfkpGd6AnYayAEGiY,1563
94
97
  simtools/model/camera.py,sha256=ewqhjovhxIX8a2hEHzxqZy2Mcfp621xk2nikxGDXDO4,21381
95
98
  simtools/model/mirrors.py,sha256=g0eS4qFzUmo9UIakC4CDo7ourAGuFd3EfzL9RdrF9zg,9098
96
- simtools/model/model_parameter.py,sha256=fXReEhLXKgNPOSCzsjANm4YuyxHWpJQyN1myTKnMnws,20324
97
- simtools/model/model_repository.py,sha256=HvluOt11vk65MdYG9SSBAWXU9i9N-bjitsDywnGEaiw,14117
98
- simtools/model/model_utils.py,sha256=KP0l_cjiflOeLvvBautti3J5DGKFPDj4ZOiAAMZSrRc,2981
99
- simtools/model/site_model.py,sha256=ahR5v0lYGyvskQVTLdR4luh6SJTMsum_xW1ObC01J-I,6156
100
- simtools/model/telescope_model.py,sha256=lKuJFdDMAGS0XeDqJMa_ZrfDBKZ8KzUlDEVcbn1_6Hg,14064
99
+ simtools/model/model_parameter.py,sha256=mUaNsoPTrGyzYUVtWBwbn8dQzJiaOS861Y5CoBtD6F0,22796
100
+ simtools/model/model_repository.py,sha256=32B4CaZgSZuWj9GckmfwBhKVApd3UikL_hsfjtuDs0k,18557
101
+ simtools/model/model_utils.py,sha256=OUHsOKOhXDVCTRpSRCO4iJZncUB_6hy0uUaF2AeooI0,2963
102
+ simtools/model/site_model.py,sha256=ueu1t_fkpTZ-OnMYVlJyKbfySkqn_tVQN90NcyzSrTw,7060
103
+ simtools/model/telescope_model.py,sha256=No2BtJu5flgMTP6QoSwfsGd6RXfqabOobqvtftQlek0,14432
101
104
  simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=ahUJYM4SWZAAk4qXTQlBEkhmLfZRntXRaTG6FmL3tNs,15503
102
105
  simtools/production_configuration/derive_corsika_limits.py,sha256=j0qQYlWBY112Jfr9ZH7Yq6ud-nsLRbBV6B5xoTLuNZw,10546
103
106
  simtools/production_configuration/derive_production_statistics.py,sha256=njjQuKgm-yRvykLLuivXF3cmCduAYKunvL13KbEWjQ0,5716
@@ -106,18 +109,18 @@ simtools/production_configuration/generate_production_grid.py,sha256=DlR2hqyG0jU
106
109
  simtools/production_configuration/interpolation_handler.py,sha256=CWJa9WfBhHLTJDnNODzU3GxU7fF6ni_fNPS-UwGyzxo,14095
107
110
  simtools/production_configuration/merge_corsika_limits.py,sha256=t9JDvrpkP33ISCRCPVLE8GunjHDF_RYlRPqXI469l0w,20838
108
111
  simtools/ray_tracing/incident_angles.py,sha256=sbrj20XAikRH_jH-tW88PQveT97w9mdAzVjvp0OsAns,25967
109
- simtools/ray_tracing/mirror_panel_psf.py,sha256=w4aGUlbS7XMBwv4dndpnZoBhZtOp0sZ8SIuPXrHqkp8,11241
110
- simtools/ray_tracing/psf_analysis.py,sha256=vZGPThRHfV3RNPeZF97jH2zoK2PlJoqPsJhkz17F_PQ,18140
111
- simtools/ray_tracing/psf_parameter_optimisation.py,sha256=26_bkJOMJARKCXqCZ7vliVQ5IBDRtzy6f0zDs4wVt0k,45681
112
+ simtools/ray_tracing/mirror_panel_psf.py,sha256=0TGSkeXmRSo25mIhoNqrEQJgMWK-oPk7TT-8VkuMsxc,11267
113
+ simtools/ray_tracing/psf_analysis.py,sha256=imSFCWSyRfcpqLMeSIwOoDWVwzLlHlnT7N0y6Qi2V2s,18290
114
+ simtools/ray_tracing/psf_parameter_optimisation.py,sha256=wH3IwL4TIrB9UprjXzj2YGJul_wHgrsMAXode2j-cBU,51621
112
115
  simtools/ray_tracing/ray_tracing.py,sha256=gPnhEBPlSE51jt3k3brvtuJZQT4MejPeqQm1alLaUqU,21959
113
- simtools/reporting/docs_auto_report_generator.py,sha256=cIQHQX-nyw49PB5UhgIdqPFXDhnVs1CC09NvedgYCTE,14104
114
- simtools/reporting/docs_read_parameters.py,sha256=QobY26NrcelSu_AETg5srtwRSqtuDjilx98RDcqPTNM,39529
116
+ simtools/reporting/docs_auto_report_generator.py,sha256=Ee-zBf4pQahaN4RYv2aN_UEngFVMbzVqr_X3l_Q2vy8,14098
117
+ simtools/reporting/docs_read_parameters.py,sha256=3BQ22fs8_1-23VO6vwgf7WVuJJ0qUHz_fhl88gB3W4E,41624
115
118
  simtools/resources/array-element-ids.json,sha256=W8cijMEmHJ28RLIyixVVdHr16-iUbIuURT9QIoIzCoY,4566
116
119
  simtools/resources/array_elements.yml,sha256=MG-TyocXQCj6htA8af4nBzCxcfFZHs1XXtSfSl4kmBo,4285
117
- simtools/runners/corsika_runner.py,sha256=TB9sF2-mgzWf9wUKdw90XtkFiolW_RqKmmihMosiu7g,9115
118
- simtools/runners/corsika_simtel_runner.py,sha256=g-u1t0a2oT9kR0mvEr4uh0b1TLJwev2nAZdJ1oymqNw,7508
119
- simtools/runners/runner_services.py,sha256=nYmfgvLQQdkNo-7QKxsx80u_BD6rlpymO5NdsRe6ii4,10292
120
- simtools/runners/simtel_runner.py,sha256=HCD7upSloWJDTPtDcwbsyXKSOs-ujhMX_4zqQpJ1ZMs,8284
120
+ simtools/runners/corsika_runner.py,sha256=mDD4_YtwIm8wvQtBTGBCrqtlj9sMKR-CZZpWmS2hy_0,9667
121
+ simtools/runners/corsika_simtel_runner.py,sha256=cki9Cc0wNo6zErrWJRkV-V-_J3g3eIboljiYg5clgFc,7795
122
+ simtools/runners/runner_services.py,sha256=_UhgQOOsIFpF2fiB6C7WhQA8jPIZhafzGbuErvlLLXI,10774
123
+ simtools/runners/simtel_runner.py,sha256=BAgVGLIbPbkGxxPu1ZtFFwIlYv7o84STdVkgFdky4jY,6581
121
124
  simtools/runners/simtools_runner.py,sha256=i9E50ha1-vOy5yRSP6BbjuP5PaHKLLj2rD74Pzah2cg,8262
122
125
  simtools/schemas/application_workflow.metaschema.yml,sha256=Gd2YIXT7DgdnlP0P-08ywGlle3RMhFqdPcHdrxNw6Gk,5657
123
126
  simtools/schemas/common_definitions.schema.yml,sha256=_vzwIM-qIqi32HrjMHIH0dO0STeCZFsAIli6acFol7Y,1180
@@ -127,7 +130,7 @@ simtools/schemas/model_parameter_and_data_schema.metaschema.yml,sha256=ktpW7ym7H
127
130
  simtools/schemas/plot_configuration.metaschema.yml,sha256=ALz6d3btyr0ao50nJ0tShMlMgR4SKP6MRC_qxiPjwmc,4408
128
131
  simtools/schemas/production_configuration_metrics.schema.yml,sha256=9IOmDjtAyH-8Ti5hoxKKjZ0kl7E7iKBBDvTL8SSv_To,1935
129
132
  simtools/schemas/production_tables.schema.yml,sha256=diTGV8z8K4yx4YDv0ZEEpTGimijru0PsvZMhaMN26_A,1428
130
- simtools/schemas/simulation_models_info.schema.yml,sha256=w4u19LejY00qbi0ElXwnaKUviGkxGW_11e0jeqeyOdM,2165
133
+ simtools/schemas/simulation_models_info.schema.yml,sha256=xGNHOuouJ0HEhBDeI-u4Euvj2zl_X4ba-jLTkdy8UJg,2308
131
134
  simtools/schemas/input/MST_mirror_2f_measurements.schema.yml,sha256=2kFAIxgR36XIrTNvfvPB16OdnpkNdkXeCGnI01Tbc3Y,1124
132
135
  simtools/schemas/input/single_pe_spectrum.schema.yml,sha256=hLD8JgChI1eV2yl7E_e_uvQebsRuG18ag_4aEiLjToM,1244
133
136
  simtools/schemas/model_parameters/adjust_gain.schema.yml,sha256=n3k7JCkxDyl7LgU0y6-1BmxMO3yfy_Ab_emef4tEUTw,821
@@ -249,10 +252,10 @@ simtools/schemas/model_parameters/flasher_bunch_size.schema.yml,sha256=DMxKdnJhb
249
252
  simtools/schemas/model_parameters/flasher_external_trigger.schema.yml,sha256=_5ebPJSy1e7UzfVAvpZ2t0x4xlSqy_E4SlXilSLUQCY,1047
250
253
  simtools/schemas/model_parameters/flasher_photons.schema.yml,sha256=h8wL2osBXIb5CTiTAWr4bcyFhpwKLzEx7QYeQgG8D3M,950
251
254
  simtools/schemas/model_parameters/flasher_position.schema.yml,sha256=8R9jKFPuB0XioJGs3xUVUwirIZpl-0Ra20VISXTk274,1298
252
- simtools/schemas/model_parameters/flasher_pulse_exp_decay.schema.yml,sha256=XZlUECzvqDcccyTOlaGKI3VoBX1ePWGiF6kPYpsrLvE,729
255
+ simtools/schemas/model_parameters/flasher_pulse_exp_decay.schema.yml,sha256=CYztKDC7m_Cb4efLmLTjvB08z-pj5KjiGs5sBbLVZxw,820
253
256
  simtools/schemas/model_parameters/flasher_pulse_offset.schema.yml,sha256=7Yhw_U-TwpQvUJ2CXP87AMprSRiODOcJz9ySj-MQDvY,1104
254
- simtools/schemas/model_parameters/flasher_pulse_shape.schema.yml,sha256=ifIYREILnM1MHyxpqRG9MdQypF5L2-aJAiEWX7WDJ4M,721
255
- simtools/schemas/model_parameters/flasher_pulse_width.schema.yml,sha256=_47DNmFY7WnUtR6gu152BlLguqV-dbqX67AbpWfhwwg,825
257
+ simtools/schemas/model_parameters/flasher_pulse_shape.schema.yml,sha256=-EIevi9dyEyExDGtN5FvknNttJ9NXkkp93zsabmoUxA,2105
258
+ simtools/schemas/model_parameters/flasher_pulse_width.schema.yml,sha256=CGBf_LHhP1Qn8NPi20TF8Imx1NgUIX693-02DaFvQ9o,916
256
259
  simtools/schemas/model_parameters/flasher_type.schema.yml,sha256=YiACuxCkUn-llJ5KuiqVo_wUxQcp6X4G3YnwHA6WOW8,685
257
260
  simtools/schemas/model_parameters/flasher_var_photons.schema.yml,sha256=iMT9UfYad9EzVn0582aJltzzTXNl4H12RZO_zCi8FJY,796
258
261
  simtools/schemas/model_parameters/flasher_wavelength.schema.yml,sha256=CQ0GARblgMunkn9iRmbpdhJiYq1vcVRbUBQEJJHYdRQ,889
@@ -374,41 +377,42 @@ simtools/schemas/model_parameters/transit_time_random.schema.yml,sha256=M9VdVDXo
374
377
  simtools/schemas/model_parameters/trigger_current_limit.schema.yml,sha256=WTz-6fNrY9RSyVmAM7R7Bz-1gT0aJtl7GZ2urtDNEsk,677
375
378
  simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml,sha256=U8ctXld0Ukz3JaVR0UGlxewzk-4RlsE3Gdq0hMW4qfQ,1476
376
379
  simtools/schemas/model_parameters/trigger_pixels.schema.yml,sha256=3-n2PBl9LQ4PBVOgR__XQpFYGUYYS_Jju_pvGSucTq8,1012
380
+ simtools/simtel/pulse_shapes.py,sha256=Z4Lz1EnwHZ4fwiWJrZPYOuQU1Khds0_-_pDjTpzvAyw,8224
377
381
  simtools/simtel/simtel_config_reader.py,sha256=_R1eLpZPqSu2MbiEfN1zYTdr8jJl1uameGyaxupACe0,15005
378
- simtools/simtel/simtel_config_writer.py,sha256=f4Xu4LdHjbrzU4ZkuOSIOjtVkLd7VX770cEDNgPDK0c,27476
382
+ simtools/simtel/simtel_config_writer.py,sha256=TFRaXXIPNLrOc2GHm8wrA2e_KeXUlyP4P6ZGSNHtl4s,34234
379
383
  simtools/simtel/simtel_io_event_histograms.py,sha256=M0EnmiS9AbzwLyZapkP2JJc3Dze40NoPTHKtWHxe1kg,17688
380
384
  simtools/simtel/simtel_io_event_reader.py,sha256=YPP4Cs4NncTIXxbu40veksnJ_3_cZ00-56kGoEuR8so,14595
381
- simtools/simtel/simtel_io_event_writer.py,sha256=8iK4qvCEjA3X8HB6QdcMWD1w0cC1UEdAm_XRuOM-sGE,12739
382
- simtools/simtel/simtel_io_file_info.py,sha256=T2xtdz-0pDZFf7cJw7brBxA9OHbDuBossTzY60RHFfw,1775
385
+ simtools/simtel/simtel_io_event_writer.py,sha256=uX_YGkH4orqQrtrowVZ-LQ96fumHMTFOHffi5EwUpLM,12749
383
386
  simtools/simtel/simtel_io_metadata.py,sha256=1BA32c-wHVD2MMfrXYdQuYPq2uPDyWBIpNGbwRMwjtc,6084
384
387
  simtools/simtel/simtel_table_reader.py,sha256=m4h74MuvnA15q1-4-esypvBKYPyeZS-1CqdvyJ4HVXc,15101
385
- simtools/simtel/simulator_array.py,sha256=wuY4Xfg7PXzN95hihXfAHosgUl1YN5FCdvfL6rvXoAU,8705
388
+ simtools/simtel/simulator_array.py,sha256=BcUuYN6fwgZnMWzu2H22LAmvAXqpHd9a2AtnajI0N2E,10545
386
389
  simtools/simtel/simulator_camera_efficiency.py,sha256=BQg1dAD7sqCJitBJiGSk7VOZCjF01OeUXk5qyh_0I18,11730
387
- simtools/simtel/simulator_light_emission.py,sha256=P3VEoxoXeIaJfIGstJ2rCNwfwJy9wGjA-eEnd-aXBNI,19967
390
+ simtools/simtel/simulator_light_emission.py,sha256=kk3MiZDANfS2b9WLvetNCg6aPQUliZ1im2Qoamjn_zQ,21944
388
391
  simtools/simtel/simulator_ray_tracing.py,sha256=ssgcFMSFZNIwzDeHuo7-fN-djNbru59a2pK-iZL33KA,11525
389
- simtools/testing/assertions.py,sha256=64p882eL4goOEq-KGURTnD_69vVRBBHA5AKfvlA9lgE,4774
390
- simtools/testing/configuration.py,sha256=kAjPzSDvgKJe-N2z5H3U2_fwjrbCZ20YDFqA1z921Mg,8291
392
+ simtools/testing/assertions.py,sha256=Edl0QaKeQENnvfWN1EVl1kAk42JQlB5Qjc9xQ_sKmnI,8031
393
+ simtools/testing/configuration.py,sha256=GjWrFqWzLRd6UG9kCEv0XzdRNcBbN3Zc7aGjoBFls3c,8273
391
394
  simtools/testing/helpers.py,sha256=LTVlkt36gQ0AtIK2mN6toI3vxwUPCjV5VMLA0nkS07U,1829
392
- simtools/testing/log_inspector.py,sha256=v5mtOz9tgBkCJuYYyDm8zV3x7yG7ctTrBNZCgox9l5w,1437
393
- simtools/testing/sim_telarray_metadata.py,sha256=VeqO_HcZ7QKBF4sghEG1TY5h2jTojUSxt8qfww-_aiw,7945
394
- simtools/testing/validate_output.py,sha256=9MGJE_U3VZicnDimR7lbr4PpYZgLdLnPisJttMBc8GM,13399
395
+ simtools/testing/log_inspector.py,sha256=ZN-X52i1HLP7jGvw-8PYex23U64QwpvYPw8-OvVbhCc,1535
396
+ simtools/testing/sim_telarray_metadata.py,sha256=gcrmn93HPH3bLZdyjnBRZ_MZs4mA51mbQnBltKt1hhI,7937
397
+ simtools/testing/validate_output.py,sha256=ReaScg16pVXDZ7CX3AnGL7MHfA9uyE8zTe1xEjkP5Bk,14675
395
398
  simtools/utils/general.py,sha256=SNZNCzDnN2V-IbPsM5eqH6gcyuCf2lwx32vlAvuZhdQ,24000
396
399
  simtools/utils/geometry.py,sha256=VZlovI6E6p6EloqeM9kJ-YgbilZ_4dNIwoJ97evP5B0,9098
397
- simtools/utils/names.py,sha256=NBldXuTCEfiRSHaLT4gn2AH2y2bTW6QQIfyrC1GiO24,21836
398
- simtools/utils/value_conversion.py,sha256=Cl-BHOZWUhWr-W_hT4CR1iLfiphd8MSNkzYEjDe6iH8,6311
399
- simtools/visualization/legend_handlers.py,sha256=QhUeZwuftA1VxfcMQ40KrwnPaD2FU95fNgZfX68YTJE,9792
400
- simtools/visualization/plot_array_layout.py,sha256=5gQa29ooajwftCuBTZ2eEKZjaqgw9RMRAiG1-D_2RpE,10613
400
+ simtools/utils/names.py,sha256=zujnLpGAoHQuCub1SmMv305sTNFSPSyey_QZjSHjdT0,21853
401
+ simtools/utils/value_conversion.py,sha256=UNPNjqCeuYRscZ6UJbVK2VhbViU97TsYulc7s23Mwao,6482
402
+ simtools/visualization/legend_handlers.py,sha256=D-EK2WjJAkh9f0pqsfG21TofqchL6FSiiUIAzamTjuA,10573
403
+ simtools/visualization/plot_array_layout.py,sha256=8YslFtXRa5jtiuBUB3im0slifWC8T1gT6JLVnKm0B-8,16548
401
404
  simtools/visualization/plot_camera.py,sha256=dLXKHYfY_elqaKhj91HlntASoVixTrpc_Kf0jPU8RmU,11167
402
405
  simtools/visualization/plot_corsika_histograms.py,sha256=6DV0NT-b-yYZ9dbCgSU3UCUHJTTWkthBsXaYgrF7JAg,21874
403
406
  simtools/visualization/plot_incident_angles.py,sha256=kj_YcBrFRR6C9IUe4bhekfXR9UrPBmwXBtSvrFdMRf0,13424
404
- simtools/visualization/plot_pixels.py,sha256=CrgO_sJNYfmiRwUSKL9dpQvzkGw73Jd-4sZW_1KUfTI,20570
405
- simtools/visualization/plot_psf.py,sha256=zd6amCW5ERd_DWVq3fGT-sDxK1p_z043Dh0sT_bVxnw,25307
407
+ simtools/visualization/plot_mirrors.py,sha256=nR8yDGCp2eQefMJNGyJdcaLAQl2klAAL6j3kgzcicmQ,26162
408
+ simtools/visualization/plot_pixels.py,sha256=QsMsRbjXyP7i15zTGUZWKvkVo8RRw4Pp-47xPRerr9Y,20564
409
+ simtools/visualization/plot_psf.py,sha256=0y3sIilriIqarFSv-yfod-1wtySTNBkq5ST79_8sFsU,25299
406
410
  simtools/visualization/plot_simtel_event_histograms.py,sha256=o9fPkKE1568MRumPVRyBs8ah5eyTN2mCLXseEwAy4RA,12751
407
411
  simtools/visualization/plot_simtel_events.py,sha256=zvfKboltaiz0yTPAv2_Is29hJlHbPMgofFhBEWNh0Ws,31450
408
- simtools/visualization/plot_tables.py,sha256=YfGrT1rj7wijKUgrFROrQ057SE0MbvSzxbkCdMLMEjw,8668
412
+ simtools/visualization/plot_tables.py,sha256=T3pfuj8YKeCZhef9KY2ne8dIzxnYnKiWDDN7aptjHXY,8662
409
413
  simtools/visualization/visualize.py,sha256=0vs7rt6OTCdrai7AO3bbd4sLuh1oEb_zAG_k53dgZVo,18815
410
- gammasimtools-0.23.0.dist-info/METADATA,sha256=X_NBSNhUq-G0wRnyNWuWB0AxPuVk0fxhGd0BU6spNqg,5977
411
- gammasimtools-0.23.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
412
- gammasimtools-0.23.0.dist-info/entry_points.txt,sha256=F3seqX_FXRQhXNmk2Hcwi4YnWqTNQidJ06rw61RzcYc,5030
413
- gammasimtools-0.23.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
414
- gammasimtools-0.23.0.dist-info/RECORD,,
414
+ gammasimtools-0.25.0.dist-info/METADATA,sha256=jrVF1kyY2u2gWsEswvnWh3zKzvXy4fiXS5-KVi61MKk,5977
415
+ gammasimtools-0.25.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
416
+ gammasimtools-0.25.0.dist-info/entry_points.txt,sha256=9qlTxm47fhxhKRWChXjBEbwRi3sdCOo3RXTJAo478z4,5128
417
+ gammasimtools-0.25.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
418
+ gammasimtools-0.25.0.dist-info/RECORD,,
@@ -16,6 +16,7 @@ simtools-derive-ctao-array-layouts = simtools.applications.derive_ctao_array_lay
16
16
  simtools-derive-mirror-rnda = simtools.applications.derive_mirror_rnda:main
17
17
  simtools-derive-photon-electron-spectrum = simtools.applications.derive_photon_electron_spectrum:main
18
18
  simtools-derive-psf-parameters = simtools.applications.derive_psf_parameters:main
19
+ simtools-derive-pulse-shape-parameters = simtools.applications.derive_pulse_shape_parameters:main
19
20
  simtools-derive-trigger-rates = simtools.applications.derive_trigger_rates:main
20
21
  simtools-docs-produce-array-element-report = simtools.applications.docs_produce_array_element_report:main
21
22
  simtools-docs-produce-calibration-reports = simtools.applications.docs_produce_calibration_reports:main
simtools/_version.py CHANGED
@@ -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.23.0'
32
- __version_tuple__ = version_tuple = (0, 23, 0)
31
+ __version__ = version = '0.25.0'
32
+ __version_tuple__ = version_tuple = (0, 25, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -5,6 +5,8 @@ from dataclasses import dataclass
5
5
  from pathlib import Path
6
6
 
7
7
  import simtools.utils.general as gen
8
+ from simtools import version
9
+ from simtools.db import db_handler
8
10
  from simtools.io import io_handler
9
11
 
10
12
 
@@ -49,8 +51,8 @@ def startup_application(parse_function, setup_io_handler=True, logger_name=None)
49
51
  io_handler_instance : io_handler.IOHandler or None
50
52
  IOHandler instance if setup_io_handler=True, None otherwise.
51
53
 
52
- Example
53
- -------
54
+ Examples
55
+ --------
54
56
  Basic usage in an application:
55
57
 
56
58
  .. code-block:: python
@@ -83,6 +85,8 @@ def startup_application(parse_function, setup_io_handler=True, logger_name=None)
83
85
 
84
86
  io_handler_instance = io_handler.IOHandler() if setup_io_handler else None
85
87
 
88
+ _resolve_model_version_to_latest_patch(args_dict, db_config, logger)
89
+
86
90
  return ApplicationContext(
87
91
  args=args_dict,
88
92
  db_config=db_config,
@@ -107,8 +111,8 @@ def get_application_label(file_path):
107
111
  str
108
112
  Application label (filename without extension).
109
113
 
110
- Example
111
- -------
114
+ Examples
115
+ --------
112
116
  .. code-block:: python
113
117
 
114
118
  def main():
@@ -116,3 +120,49 @@ def get_application_label(file_path):
116
120
  # label will be the filename without .py extension
117
121
  """
118
122
  return Path(file_path).stem
123
+
124
+
125
+ def _resolve_model_version_to_latest_patch(args_dict, db_config, logger):
126
+ """
127
+ Update model_version in args_dict to latest patch version if needed.
128
+
129
+ Updated to the latest patch version requires to setup a DB connection.
130
+
131
+ Parameters
132
+ ----------
133
+ args_dict : dict
134
+ Parsed command line arguments and configuration.
135
+ db_config : dict
136
+ Database configuration dictionary.
137
+ logger : logging.Logger
138
+ Logger instance for logging information.
139
+ """
140
+ mv = args_dict.get("model_version")
141
+ if not mv or not db_config:
142
+ return
143
+
144
+ versions = mv if isinstance(mv, list) else [mv]
145
+ kinds = [version.version_kind(v) for v in versions]
146
+ if all(k == version.MAJOR_MINOR_PATCH for k in kinds):
147
+ return
148
+
149
+ try:
150
+ db = db_handler.DatabaseHandler(db_config)
151
+ model_versions = db.get_model_versions()
152
+ except (ValueError, KeyError, OSError) as exc:
153
+ logger.warning(f"Could not connect to database, using version(s) as-is. Error: {exc}")
154
+ return
155
+
156
+ def resolve(v, k):
157
+ if k == version.MAJOR_MINOR_PATCH:
158
+ return v
159
+ try:
160
+ latest = version.resolve_version_to_latest_patch(v, model_versions)
161
+ logger.info(f"Resolved {v} to {latest}")
162
+ return latest
163
+ except (ValueError, KeyError) as exc:
164
+ logger.warning(f"Could not resolve {v}, using as-is. Error: {exc}")
165
+ return v
166
+
167
+ resolved = [resolve(v, k) for v, k in zip(versions, kinds)]
168
+ args_dict["model_version"] = resolved if isinstance(mv, list) else resolved[0]
@@ -138,7 +138,7 @@ def main():
138
138
  validate_schema_file = metadata.get_data_model_schema_file_name()
139
139
 
140
140
  layout = array_layout.ArrayLayout(
141
- mongo_db_config=app_context.db_config,
141
+ db_config=app_context.db_config,
142
142
  model_version=app_context.args["model_version"],
143
143
  site=site,
144
144
  telescope_list_file=app_context.args["input"],
@@ -159,14 +159,14 @@ def confirm_and_insert_files(files_to_insert, args_dict, db, logger):
159
159
  # drop test database; be safe and required DB name is sandbox
160
160
  if args_dict.get("test_db", False) and "sandbox" in args_dict["db"]:
161
161
  logger.info(f"Test database used. Dropping all data from {args_dict['db']}")
162
- db.db_client.drop_database(args_dict["db"])
162
+ db.mongo_db_handler.db_client.drop_database(args_dict["db"])
163
163
 
164
164
 
165
165
  def main():
166
166
  """Add files to the database."""
167
167
  app_context = startup_application(_parse, setup_io_handler=False)
168
168
 
169
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
169
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
170
170
 
171
171
  files_to_insert = collect_files_to_insert(app_context.args, app_context.logger, db)
172
172
  confirm_and_insert_files(files_to_insert, app_context.args, db, app_context.logger)
@@ -93,7 +93,7 @@ def main():
93
93
  """Add or update a model parameter database to the DB."""
94
94
  app_context = startup_application(_parse, setup_io_handler=False)
95
95
 
96
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
96
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
97
97
 
98
98
  if app_context.args.get("type") == "model_parameters":
99
99
  db_model_upload.add_model_parameters_to_db(
@@ -67,7 +67,7 @@ def main():
67
67
  app_context.logger.info(
68
68
  f"Using test database version {app_context.db_config['db_simulation_model_version']}"
69
69
  )
70
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
70
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
71
71
 
72
72
  files_to_insert = []
73
73
  if app_context.args.get("file_name", None) is not None:
@@ -109,7 +109,7 @@ def main():
109
109
  # drop test database; be safe and required DB name is sandbox
110
110
  if app_context.args.get("test_db", False) and "sandbox" in db.get_db_name():
111
111
  app_context.logger.info(f"Test database used. Dropping all data from {db.get_db_name()}")
112
- db.db_client.drop_database(db.get_db_name())
112
+ db.mongo_db_handler.db_client.drop_database(db.get_db_name())
113
113
 
114
114
 
115
115
  if __name__ == "__main__":
@@ -124,7 +124,7 @@ def write_ground_array_elements_to_repository(args_dict, db_config, logger):
124
124
 
125
125
  """
126
126
  array_model = ArrayModel(
127
- mongo_db_config=db_config,
127
+ db_config=db_config,
128
128
  model_version=None,
129
129
  site=args_dict["site"],
130
130
  array_elements=args_dict["input"],
@@ -37,7 +37,7 @@ def main():
37
37
  """Generate compound indexes for the specified database."""
38
38
  app_context = startup_application(_parse, setup_io_handler=False)
39
39
 
40
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
40
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
41
41
 
42
42
  db.generate_compound_indexes_for_databases(
43
43
  db_name=app_context.args["db_name"],
@@ -102,7 +102,7 @@ def _layout_from_db(args_dict, db_config):
102
102
  Table with array element positions.
103
103
  """
104
104
  array_model = ArrayModel(
105
- mongo_db_config=db_config,
105
+ db_config=db_config,
106
106
  model_version=args_dict["model_version"],
107
107
  site=args_dict["site"],
108
108
  layout_name=args_dict.get("array_layout_name", None),
@@ -121,7 +121,7 @@ def main():
121
121
  if app_context.args.get("site", None) is None:
122
122
  raise ValueError("Site must be provided to list available layouts.")
123
123
  site_model = SiteModel(
124
- mongo_db_config=app_context.db_config,
124
+ db_config=app_context.db_config,
125
125
  model_version=app_context.args["model_version"],
126
126
  site=app_context.args["site"],
127
127
  )
@@ -60,7 +60,7 @@ def main():
60
60
  """Get file from database."""
61
61
  app_context = startup_application(_parse)
62
62
 
63
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
63
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
64
64
  file_id = db.export_model_files(
65
65
  dest=app_context.io_handler.get_output_directory(),
66
66
  file_names=app_context.args["file_name"],
@@ -108,7 +108,7 @@ def main():
108
108
  """Get a parameter entry from DB for a specific telescope or a site."""
109
109
  app_context = startup_application(_parse)
110
110
 
111
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
111
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
112
112
 
113
113
  pars = db.get_model_parameter(
114
114
  parameter=app_context.args["parameter"],
@@ -32,10 +32,12 @@ def main():
32
32
  """Inspect databases."""
33
33
  app_context = startup_application(_parse, setup_io_handler=False)
34
34
 
35
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
35
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
36
36
  # databases without internal databases we don't have rights to modify
37
37
  databases = [
38
- d for d in db.db_client.list_database_names() if d not in ("config", "admin", "local")
38
+ d
39
+ for d in db.mongo_db_handler.db_client.list_database_names()
40
+ if d not in ("config", "admin", "local")
39
41
  ]
40
42
  requested = app_context.args["db_name"]
41
43
  if requested != "all" and requested not in databases:
@@ -87,7 +87,7 @@ def main():
87
87
  """Application main."""
88
88
  app_context = startup_application(_parse)
89
89
 
90
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
90
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
91
91
  db.print_connection_info()
92
92
 
93
93
  db_model_upload.add_complete_model(
@@ -92,7 +92,7 @@ def main():
92
92
  branch_name=app_context.args["repository_branch"],
93
93
  )
94
94
 
95
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
95
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
96
96
  db_array_layouts = db.get_model_parameter(
97
97
  parameter="array_layouts",
98
98
  site=app_context.args["site"],
@@ -187,6 +187,11 @@ def _parse():
187
187
  type=float,
188
188
  default=0.8,
189
189
  )
190
+ config.parser.add_argument(
191
+ "--cleanup",
192
+ help="Remove intermediate *.log and *.lis* files after optimization.",
193
+ action="store_true",
194
+ )
190
195
  return config.initialize(
191
196
  db_config=True,
192
197
  simulation_model=["telescope", "model_version", "parameter_version"],