gammasimtools 0.23.0__py3-none-any.whl → 0.24.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 (59) hide show
  1. {gammasimtools-0.23.0.dist-info → gammasimtools-0.24.0.dist-info}/METADATA +1 -1
  2. {gammasimtools-0.23.0.dist-info → gammasimtools-0.24.0.dist-info}/RECORD +59 -58
  3. simtools/_version.py +2 -2
  4. simtools/application_control.py +4 -4
  5. simtools/applications/convert_geo_coordinates_of_array_elements.py +1 -1
  6. simtools/applications/db_add_file_to_db.py +2 -2
  7. simtools/applications/db_add_simulation_model_from_repository_to_db.py +1 -1
  8. simtools/applications/db_add_value_from_json_to_db.py +2 -2
  9. simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +1 -1
  10. simtools/applications/db_generate_compound_indexes.py +1 -1
  11. simtools/applications/db_get_array_layouts_from_db.py +2 -2
  12. simtools/applications/db_get_file_from_db.py +1 -1
  13. simtools/applications/db_get_parameter_from_db.py +1 -1
  14. simtools/applications/db_inspect_databases.py +4 -2
  15. simtools/applications/db_upload_model_repository.py +1 -1
  16. simtools/applications/derive_ctao_array_layouts.py +1 -1
  17. simtools/applications/generate_array_config.py +1 -1
  18. simtools/applications/maintain_simulation_model_add_production.py +11 -21
  19. simtools/applications/production_generate_grid.py +1 -1
  20. simtools/applications/submit_array_layouts.py +2 -2
  21. simtools/applications/validate_camera_fov.py +1 -1
  22. simtools/applications/validate_cumulative_psf.py +2 -2
  23. simtools/applications/validate_optics.py +1 -1
  24. simtools/configuration/commandline_parser.py +7 -9
  25. simtools/configuration/configurator.py +1 -1
  26. simtools/corsika/corsika_config.py +2 -4
  27. simtools/data_model/model_data_writer.py +1 -1
  28. simtools/data_model/schema.py +36 -34
  29. simtools/db/db_handler.py +61 -294
  30. simtools/db/db_model_upload.py +1 -1
  31. simtools/db/mongo_db.py +535 -0
  32. simtools/dependencies.py +33 -8
  33. simtools/layout/array_layout.py +7 -7
  34. simtools/layout/array_layout_utils.py +3 -3
  35. simtools/model/array_model.py +36 -67
  36. simtools/model/calibration_model.py +12 -9
  37. simtools/model/model_parameter.py +196 -159
  38. simtools/model/model_repository.py +159 -35
  39. simtools/model/model_utils.py +3 -3
  40. simtools/model/site_model.py +59 -27
  41. simtools/model/telescope_model.py +21 -13
  42. simtools/ray_tracing/mirror_panel_psf.py +4 -4
  43. simtools/ray_tracing/psf_parameter_optimisation.py +1 -1
  44. simtools/reporting/docs_auto_report_generator.py +1 -1
  45. simtools/reporting/docs_read_parameters.py +3 -2
  46. simtools/schemas/simulation_models_info.schema.yml +2 -1
  47. simtools/simtel/simtel_config_writer.py +97 -20
  48. simtools/simulator.py +2 -1
  49. simtools/testing/assertions.py +50 -6
  50. simtools/testing/validate_output.py +4 -8
  51. simtools/utils/value_conversion.py +10 -5
  52. simtools/version.py +24 -0
  53. simtools/visualization/plot_pixels.py +1 -1
  54. simtools/visualization/plot_psf.py +1 -1
  55. simtools/visualization/plot_tables.py +1 -1
  56. {gammasimtools-0.23.0.dist-info → gammasimtools-0.24.0.dist-info}/WHEEL +0 -0
  57. {gammasimtools-0.23.0.dist-info → gammasimtools-0.24.0.dist-info}/entry_points.txt +0 -0
  58. {gammasimtools-0.23.0.dist-info → gammasimtools-0.24.0.dist-info}/licenses/LICENSE +0 -0
  59. {gammasimtools-0.23.0.dist-info → gammasimtools-0.24.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.24.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,26 +1,26 @@
1
- gammasimtools-0.23.0.dist-info/licenses/LICENSE,sha256=a2q6KVo33OrRL_7ZSk7BYOT8KkUNV3WAMZW8CHEDkDU,1548
1
+ gammasimtools-0.24.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=ADBh2JtyPiL8yFdC_JGhFEVpNOBdSJnZ0ZOVCp71Qqw,706
4
+ simtools/application_control.py,sha256=q5y4-yNYaNDQgKZxyU8EujwcZPI_i-RmZsv3rRFjusM,3305
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=ciKwmvNwDz6WyMu72TjQe1qKPl8PsFvjzSTkQA5_Lmo,7258
7
+ simtools/simulator.py,sha256=HgyaGB49TDvtvPiF7K5O2wkNefpfhfEKyXw0I1vzg9Y,28826
8
8
  simtools/telescope_trigger_rates.py,sha256=_2NUG8UnhfpMGhaEDgHUOOdnweCUcRTrTOkGGYInHqo,3984
9
- simtools/version.py,sha256=aY5Rjp4wiX9CKZeXDJeQsqkMRg_vV7ixD7It4bWGRPs,5540
9
+ simtools/version.py,sha256=01MnfNqKGG0qpsiozYDVQKoj86RT3hVrn8ClOrm3Rgc,6164
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
26
  simtools/applications/derive_psf_parameters.py,sha256=DiinpJYuXmt4hQXjwN8uLVnAfq1unF2ZrmIG47Z7o3I,7882
@@ -29,12 +29,12 @@ simtools/applications/docs_produce_array_element_report.py,sha256=CW2s2JwT-LvsBN
29
29
  simtools/applications/docs_produce_calibration_reports.py,sha256=sOmC6uNjFaawj26nqJa3GsWAnQd0F96W6WKm3gj7J0I,1575
30
30
  simtools/applications/docs_produce_model_parameter_reports.py,sha256=P1Uv4d4XFZA39x8l1Ee7jQ28Qe_n8jGiU9wg8hP1pbE,1933
31
31
  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
32
+ simtools/applications/generate_array_config.py,sha256=8k3JvQNk0Stb-i1-WMpN4AL4FVWMg2uwhyNtIQ1WQXc,1877
33
33
  simtools/applications/generate_corsika_histograms.py,sha256=96FSduO6lFbo4mPJmU0Br85LeSBEDDBEMlo1SzxTIW4,11048
34
34
  simtools/applications/generate_default_metadata.py,sha256=yll6cUGl87DhBiov3rQhIPBcT0NIui06oILChjSQAdE,2053
35
35
  simtools/applications/generate_regular_arrays.py,sha256=X192RvFs8m-GOj1z4Awu3Lu-NT8L23SujdKun3iZONs,3862
36
36
  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
37
+ simtools/applications/maintain_simulation_model_add_production.py,sha256=lBBm6F5EQJqS2FnNGceEZI6ogzZpxna5IOTBPbXNMmc,2412
38
38
  simtools/applications/maintain_simulation_model_compare_productions.py,sha256=aD6eZq1RUMnE4J-AuNjuHCKy_vDmnFnhPCPO0wxshbA,3194
39
39
  simtools/applications/maintain_simulation_model_verify_production_tables.py,sha256=YpnP7EeaheV03KwW7ryEc4GHIqaEHOFkG-RqJOH64RE,1793
40
40
  simtools/applications/merge_tables.py,sha256=N7MGX-VD2tu72RWvSDEb1zfls6px-wqLU4t5Lbl9V6E,2656
@@ -45,7 +45,7 @@ simtools/applications/plot_tabular_data_for_model_parameter.py,sha256=zBFY5Vb6ns
45
45
  simtools/applications/print_version.py,sha256=McMS3mEmUn11t_ExRhqd_G4S3p5ErbUuWWOLBREalFQ,1709
46
46
  simtools/applications/production_derive_corsika_limits.py,sha256=-rJpLGqODtuPhXCEd-1fWFfRefrjGE_5jQMFfwoDwBQ,5823
47
47
  simtools/applications/production_derive_statistics.py,sha256=NT_EL-jUg151QrCY1E1NaBerpUg9caRWo1e4AUHSB7o,4771
48
- simtools/applications/production_generate_grid.py,sha256=vMaMY0pH-hEcDRJt12unBl8BdXLid_zW2TYns2wBXWo,5830
48
+ simtools/applications/production_generate_grid.py,sha256=L_LlHA3Uly6P3Rx4eaxVvPXz3Z8VAwNv_7XO6Hm2VXs,5824
49
49
  simtools/applications/production_merge_corsika_limits.py,sha256=sYOTG731ja0xW5p2Pq4dJdOuKwWi7MphASdZ-dg6osY,7588
50
50
  simtools/applications/run_application.py,sha256=XaDRG-1TptvMSXwNis1z_n43YqkEI_fVjZiTImjl6-o,3947
51
51
  simtools/applications/simulate_flasher.py,sha256=CR5dl-GSycEyu8_D51kHJNUAxokTvMJ-fRlEGS82gLw,4646
@@ -53,31 +53,32 @@ simtools/applications/simulate_illuminator.py,sha256=3UcrubHk_aErIsPW0rJTtlpXPnY
53
53
  simtools/applications/simulate_pedestals.py,sha256=0fmleOnAnNfJSoNX6zEgxHwJpOQldCrt02gtMDPZ_x0,3724
54
54
  simtools/applications/simulate_prod.py,sha256=B4Dj9lDp8p61ZwvPTXMoiBYPLinBGf9MRDo-dHV65H0,6464
55
55
  simtools/applications/simulate_prod_htcondor_generator.py,sha256=lcnYGjC5KwWmE0d6FFDXgg4XIolFPC0eXppDtUsp12s,3193
56
- simtools/applications/submit_array_layouts.py,sha256=AIIY_QBrOaRd-zOCICnktE9FKWLpZrbptLAGIW4eu8c,2713
56
+ simtools/applications/submit_array_layouts.py,sha256=MOXYpHROJmLGbjyDXQ6L0XMXEVQNXRaZLUR-ppcMb2o,2701
57
57
  simtools/applications/submit_data_from_external.py,sha256=4uXI_JSKNpQkSbuUfEWQgtvH-on7nffIgQHbpzjN0Bc,3043
58
58
  simtools/applications/submit_model_parameter_from_external.py,sha256=UwpSclpjBXN2Vu8aQzHHRffj-Tt3M2IxqIcTnviRwuM,3754
59
59
  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
60
+ simtools/applications/validate_camera_fov.py,sha256=hU_Ul_E3c_Hl-dKLIlzZPgWyDillNOJsLpQu7_L3f44,4535
61
+ simtools/applications/validate_cumulative_psf.py,sha256=yeki5GV0vFX6P5yuMCAPkfFI2C_S8OjrfZlSpn2ol00,6430
62
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
63
+ simtools/applications/validate_optics.py,sha256=7daD4S_9kze-MkmPUioekde3cgkmtfLVbl1CbqC6mYY,6451
64
+ simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py,sha256=MG7F0_QTEjt2_1rryyVTDDjR9rHHWOGDHuP0fAVWolQ,5172
65
65
  simtools/camera/camera_efficiency.py,sha256=DMw438cJ6gcnZyXHuTDAohk5duCF8EWpCqnE93FXziA,18927
66
66
  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
67
+ simtools/configuration/commandline_parser.py,sha256=T0o_K3m-nPmictwCSlFQIpB8m9dYePBPuJmK1EY_Ukc,27877
68
+ simtools/configuration/configurator.py,sha256=sxaXZNbEb2Lli9092vmXsp6L0hbxZM9dZ6WtC25QYdw,14788
69
+ simtools/corsika/corsika_config.py,sha256=h7QMedOBVBKOxmShF2VN9C0EXEXApiU70J7Qc06Ckd0,28858
70
70
  simtools/corsika/corsika_histograms.py,sha256=nbxSoAj_oW3KABfo46ioj9W2VpXKWKw5mOiMeb1nGjs,70524
71
71
  simtools/corsika/primary_particle.py,sha256=WK0UKYtdPSefes286ZGXsoGV9r6JqH19Tk9myza_plU,6613
72
72
  simtools/data_model/data_reader.py,sha256=abqVujfDYu1SHbMhpqRA851_WDWZr2SOoi35p0hZ_7s,4051
73
73
  simtools/data_model/format_checkers.py,sha256=bXF9dItkpZCGXAHdCH7vhgxEsIhXLLVFLOha-hKRspY,1949
74
74
  simtools/data_model/metadata_collector.py,sha256=31j1l6Kl3gzVfpWql0ft-Dl0uvsBc0nF18oN9hp849Q,23513
75
75
  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
76
+ simtools/data_model/model_data_writer.py,sha256=xvlDmFJW93lCaRBg4o5ZXegAZS7kcaC6LLyocJ2KJN4,16573
77
+ simtools/data_model/schema.py,sha256=BeJQTvK6OfjVxansVUKPc1PgyJarHQw6Jktlji-GDcE,10809
78
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
79
+ simtools/db/db_handler.py,sha256=ACBqi0k-4fqbq9gMmLg1wEa4LWWTXQuZQjoBg3VIjks,29418
80
+ simtools/db/db_model_upload.py,sha256=0j1h-EwJgTWUS5GCIULwSdvh36Bm0Yhqn0Nm0Wd2vXE,11813
81
+ simtools/db/mongo_db.py,sha256=mwtQ8l7HSXRDPZbkVO4xrMRVRsOUZpu_m0_l0-CswiU,16505
81
82
  simtools/io/ascii_handler.py,sha256=S2fP2x6vE4nEF5g0NRARIWKs8vKU3c9SW8XtcdrwhQU,7826
82
83
  simtools/io/hdf5_handler.py,sha256=Jnya-FMhmt_jQHIMQawUZrJA6S3QFo1BGGVt2Jaj89g,4177
83
84
  simtools/io/io_handler.py,sha256=qC4-htBLvHcHgHfsZeDJllevadpMBN7KtFPnuHSXrpI,3439
@@ -85,19 +86,19 @@ simtools/io/legacy_data_handler.py,sha256=ZJunKgO0gjCLHtBqVtYUAiD88ouJio1_w_XJHj
85
86
  simtools/io/table_handler.py,sha256=YJqbam9sBjKAhHDyzFd0X0duWT1jnYPyk0La9Gp2jeo,10713
86
87
  simtools/job_execution/htcondor_script_generator.py,sha256=7Wm1iR8PK0gbutbZATyBmhqQu-MZQI0HaJa7dJJVMHA,4248
87
88
  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
89
+ simtools/layout/array_layout.py,sha256=sk1yIEEBx2MlbNyISe6K7vnmQuyp-QAuoFPF0U6nDRo,25073
90
+ simtools/layout/array_layout_utils.py,sha256=_oxKTPsMDT2fIjhI1nka3MAkvqDSTx4nXK4jCzVfvNA,12572
90
91
  simtools/layout/geo_coordinates.py,sha256=9kKnXFi9vrfYKG_9elzFuzzssGFEUzxMubaclITkW_g,5944
91
92
  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
93
+ simtools/model/array_model.py,sha256=tlJn36uTD68zIbjE1QamwgdfH6lknpUro_vuBS6FOz8,18227
94
+ simtools/model/calibration_model.py,sha256=omSgM2CIMh7HB2Bnm3OFjvWRMNBfkpGd6AnYayAEGiY,1563
94
95
  simtools/model/camera.py,sha256=ewqhjovhxIX8a2hEHzxqZy2Mcfp621xk2nikxGDXDO4,21381
95
96
  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
97
+ simtools/model/model_parameter.py,sha256=_NJTj6aqcmLgTqC_qZeuAzgW2bmA0BoJLFm1U5gTFV8,22828
98
+ simtools/model/model_repository.py,sha256=NWjj46Fd4hba4YqjTM2sUQOHUPkgj_YEGXlb5iNCZE8,17932
99
+ simtools/model/model_utils.py,sha256=OUHsOKOhXDVCTRpSRCO4iJZncUB_6hy0uUaF2AeooI0,2963
100
+ simtools/model/site_model.py,sha256=ueu1t_fkpTZ-OnMYVlJyKbfySkqn_tVQN90NcyzSrTw,7060
101
+ simtools/model/telescope_model.py,sha256=No2BtJu5flgMTP6QoSwfsGd6RXfqabOobqvtftQlek0,14432
101
102
  simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py,sha256=ahUJYM4SWZAAk4qXTQlBEkhmLfZRntXRaTG6FmL3tNs,15503
102
103
  simtools/production_configuration/derive_corsika_limits.py,sha256=j0qQYlWBY112Jfr9ZH7Yq6ud-nsLRbBV6B5xoTLuNZw,10546
103
104
  simtools/production_configuration/derive_production_statistics.py,sha256=njjQuKgm-yRvykLLuivXF3cmCduAYKunvL13KbEWjQ0,5716
@@ -106,12 +107,12 @@ simtools/production_configuration/generate_production_grid.py,sha256=DlR2hqyG0jU
106
107
  simtools/production_configuration/interpolation_handler.py,sha256=CWJa9WfBhHLTJDnNODzU3GxU7fF6ni_fNPS-UwGyzxo,14095
107
108
  simtools/production_configuration/merge_corsika_limits.py,sha256=t9JDvrpkP33ISCRCPVLE8GunjHDF_RYlRPqXI469l0w,20838
108
109
  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/mirror_panel_psf.py,sha256=0TGSkeXmRSo25mIhoNqrEQJgMWK-oPk7TT-8VkuMsxc,11267
110
111
  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/psf_parameter_optimisation.py,sha256=E9jy2o-U5ORSMaOjWuQndJiOM92FHC1zLLcFWISkTgg,45673
112
113
  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
114
+ simtools/reporting/docs_auto_report_generator.py,sha256=Ee-zBf4pQahaN4RYv2aN_UEngFVMbzVqr_X3l_Q2vy8,14098
115
+ simtools/reporting/docs_read_parameters.py,sha256=TGn-6Y_u_sPW3EjkMYvoVXrL3qlsxLdGMhRjFQTqLNo,39559
115
116
  simtools/resources/array-element-ids.json,sha256=W8cijMEmHJ28RLIyixVVdHr16-iUbIuURT9QIoIzCoY,4566
116
117
  simtools/resources/array_elements.yml,sha256=MG-TyocXQCj6htA8af4nBzCxcfFZHs1XXtSfSl4kmBo,4285
117
118
  simtools/runners/corsika_runner.py,sha256=TB9sF2-mgzWf9wUKdw90XtkFiolW_RqKmmihMosiu7g,9115
@@ -127,7 +128,7 @@ simtools/schemas/model_parameter_and_data_schema.metaschema.yml,sha256=ktpW7ym7H
127
128
  simtools/schemas/plot_configuration.metaschema.yml,sha256=ALz6d3btyr0ao50nJ0tShMlMgR4SKP6MRC_qxiPjwmc,4408
128
129
  simtools/schemas/production_configuration_metrics.schema.yml,sha256=9IOmDjtAyH-8Ti5hoxKKjZ0kl7E7iKBBDvTL8SSv_To,1935
129
130
  simtools/schemas/production_tables.schema.yml,sha256=diTGV8z8K4yx4YDv0ZEEpTGimijru0PsvZMhaMN26_A,1428
130
- simtools/schemas/simulation_models_info.schema.yml,sha256=w4u19LejY00qbi0ElXwnaKUviGkxGW_11e0jeqeyOdM,2165
131
+ simtools/schemas/simulation_models_info.schema.yml,sha256=ycu5nubgScdNteiSnHrL87AW73nR6kTV9m4_n7F63ZA,2192
131
132
  simtools/schemas/input/MST_mirror_2f_measurements.schema.yml,sha256=2kFAIxgR36XIrTNvfvPB16OdnpkNdkXeCGnI01Tbc3Y,1124
132
133
  simtools/schemas/input/single_pe_spectrum.schema.yml,sha256=hLD8JgChI1eV2yl7E_e_uvQebsRuG18ag_4aEiLjToM,1244
133
134
  simtools/schemas/model_parameters/adjust_gain.schema.yml,sha256=n3k7JCkxDyl7LgU0y6-1BmxMO3yfy_Ab_emef4tEUTw,821
@@ -375,7 +376,7 @@ simtools/schemas/model_parameters/trigger_current_limit.schema.yml,sha256=WTz-6f
375
376
  simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml,sha256=U8ctXld0Ukz3JaVR0UGlxewzk-4RlsE3Gdq0hMW4qfQ,1476
376
377
  simtools/schemas/model_parameters/trigger_pixels.schema.yml,sha256=3-n2PBl9LQ4PBVOgR__XQpFYGUYYS_Jju_pvGSucTq8,1012
377
378
  simtools/simtel/simtel_config_reader.py,sha256=_R1eLpZPqSu2MbiEfN1zYTdr8jJl1uameGyaxupACe0,15005
378
- simtools/simtel/simtel_config_writer.py,sha256=f4Xu4LdHjbrzU4ZkuOSIOjtVkLd7VX770cEDNgPDK0c,27476
379
+ simtools/simtel/simtel_config_writer.py,sha256=SUT_tw5rM1DxEhoC3phMQ_SSbvQXPh2IusvYPCwltKc,30865
379
380
  simtools/simtel/simtel_io_event_histograms.py,sha256=M0EnmiS9AbzwLyZapkP2JJc3Dze40NoPTHKtWHxe1kg,17688
380
381
  simtools/simtel/simtel_io_event_reader.py,sha256=YPP4Cs4NncTIXxbu40veksnJ_3_cZ00-56kGoEuR8so,14595
381
382
  simtools/simtel/simtel_io_event_writer.py,sha256=8iK4qvCEjA3X8HB6QdcMWD1w0cC1UEdAm_XRuOM-sGE,12739
@@ -386,29 +387,29 @@ simtools/simtel/simulator_array.py,sha256=wuY4Xfg7PXzN95hihXfAHosgUl1YN5FCdvfL6r
386
387
  simtools/simtel/simulator_camera_efficiency.py,sha256=BQg1dAD7sqCJitBJiGSk7VOZCjF01OeUXk5qyh_0I18,11730
387
388
  simtools/simtel/simulator_light_emission.py,sha256=P3VEoxoXeIaJfIGstJ2rCNwfwJy9wGjA-eEnd-aXBNI,19967
388
389
  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/assertions.py,sha256=B8fc1x--ITmHy6aWXmZ_dg6k-bse10JbO-HUW7GcCD4,6350
390
391
  simtools/testing/configuration.py,sha256=kAjPzSDvgKJe-N2z5H3U2_fwjrbCZ20YDFqA1z921Mg,8291
391
392
  simtools/testing/helpers.py,sha256=LTVlkt36gQ0AtIK2mN6toI3vxwUPCjV5VMLA0nkS07U,1829
392
393
  simtools/testing/log_inspector.py,sha256=v5mtOz9tgBkCJuYYyDm8zV3x7yG7ctTrBNZCgox9l5w,1437
393
394
  simtools/testing/sim_telarray_metadata.py,sha256=VeqO_HcZ7QKBF4sghEG1TY5h2jTojUSxt8qfww-_aiw,7945
394
- simtools/testing/validate_output.py,sha256=9MGJE_U3VZicnDimR7lbr4PpYZgLdLnPisJttMBc8GM,13399
395
+ simtools/testing/validate_output.py,sha256=f3LAPhdPEEZsiR5jY6C7vWK4EEfyXuWkk0Ju7DKQdL0,13300
395
396
  simtools/utils/general.py,sha256=SNZNCzDnN2V-IbPsM5eqH6gcyuCf2lwx32vlAvuZhdQ,24000
396
397
  simtools/utils/geometry.py,sha256=VZlovI6E6p6EloqeM9kJ-YgbilZ_4dNIwoJ97evP5B0,9098
397
398
  simtools/utils/names.py,sha256=NBldXuTCEfiRSHaLT4gn2AH2y2bTW6QQIfyrC1GiO24,21836
398
- simtools/utils/value_conversion.py,sha256=Cl-BHOZWUhWr-W_hT4CR1iLfiphd8MSNkzYEjDe6iH8,6311
399
+ simtools/utils/value_conversion.py,sha256=UNPNjqCeuYRscZ6UJbVK2VhbViU97TsYulc7s23Mwao,6482
399
400
  simtools/visualization/legend_handlers.py,sha256=QhUeZwuftA1VxfcMQ40KrwnPaD2FU95fNgZfX68YTJE,9792
400
401
  simtools/visualization/plot_array_layout.py,sha256=5gQa29ooajwftCuBTZ2eEKZjaqgw9RMRAiG1-D_2RpE,10613
401
402
  simtools/visualization/plot_camera.py,sha256=dLXKHYfY_elqaKhj91HlntASoVixTrpc_Kf0jPU8RmU,11167
402
403
  simtools/visualization/plot_corsika_histograms.py,sha256=6DV0NT-b-yYZ9dbCgSU3UCUHJTTWkthBsXaYgrF7JAg,21874
403
404
  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
405
+ simtools/visualization/plot_pixels.py,sha256=QsMsRbjXyP7i15zTGUZWKvkVo8RRw4Pp-47xPRerr9Y,20564
406
+ simtools/visualization/plot_psf.py,sha256=0y3sIilriIqarFSv-yfod-1wtySTNBkq5ST79_8sFsU,25299
406
407
  simtools/visualization/plot_simtel_event_histograms.py,sha256=o9fPkKE1568MRumPVRyBs8ah5eyTN2mCLXseEwAy4RA,12751
407
408
  simtools/visualization/plot_simtel_events.py,sha256=zvfKboltaiz0yTPAv2_Is29hJlHbPMgofFhBEWNh0Ws,31450
408
- simtools/visualization/plot_tables.py,sha256=YfGrT1rj7wijKUgrFROrQ057SE0MbvSzxbkCdMLMEjw,8668
409
+ simtools/visualization/plot_tables.py,sha256=T3pfuj8YKeCZhef9KY2ne8dIzxnYnKiWDDN7aptjHXY,8662
409
410
  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,,
411
+ gammasimtools-0.24.0.dist-info/METADATA,sha256=i7KEt2rKteSU--2sgVex6Iqpzj15ByTWPjDUc03yGi4,5977
412
+ gammasimtools-0.24.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
413
+ gammasimtools-0.24.0.dist-info/entry_points.txt,sha256=F3seqX_FXRQhXNmk2Hcwi4YnWqTNQidJ06rw61RzcYc,5030
414
+ gammasimtools-0.24.0.dist-info/top_level.txt,sha256=9Yi7Q7aQX6alvpP2YGQtIYo208wdGkXUApHboEdj-ys,9
415
+ gammasimtools-0.24.0.dist-info/RECORD,,
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.24.0'
32
+ __version_tuple__ = version_tuple = (0, 24, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -49,8 +49,8 @@ def startup_application(parse_function, setup_io_handler=True, logger_name=None)
49
49
  io_handler_instance : io_handler.IOHandler or None
50
50
  IOHandler instance if setup_io_handler=True, None otherwise.
51
51
 
52
- Example
53
- -------
52
+ Examples
53
+ --------
54
54
  Basic usage in an application:
55
55
 
56
56
  .. code-block:: python
@@ -107,8 +107,8 @@ def get_application_label(file_path):
107
107
  str
108
108
  Application label (filename without extension).
109
109
 
110
- Example
111
- -------
110
+ Examples
111
+ --------
112
112
  .. code-block:: python
113
113
 
114
114
  def main():
@@ -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"],
@@ -46,7 +46,7 @@ def main():
46
46
  array_model = ArrayModel(
47
47
  label=app_context.args["label"],
48
48
  model_version=app_context.args["model_version"],
49
- mongo_db_config=app_context.db_config,
49
+ db_config=app_context.db_config,
50
50
  site=app_context.args.get("site"),
51
51
  layout_name=app_context.args.get("array_layout_name"),
52
52
  array_elements=app_context.args.get("array_elements"),
@@ -3,15 +3,18 @@ Generate a new simulation model production and update tables and model parameter
3
3
 
4
4
  This script is used to maintain the simulation model repository. It allows to create
5
5
  new production tables by copying an existing base version and applies modifications
6
- to production tables and model parameters as provided in a YAML file (see the example file below).
6
+ to production tables and model parameters as provided in a configuration file (see
7
+ the 'info.yml' examples in the simulation models repository).
7
8
 
8
9
  Two main use cases are covered by this script:
9
10
 
10
- 1. full update: Create a complete new set of production tables (e.g. for new major or minor
11
+ 1. full update: create a complete new set of production tables (e.g. for new major or minor
11
12
  versions of the simulation models). This will copy all production tables from the source
12
13
  directory and apply the modifications to the tables that are listed in the modifications file.
14
+ If the full update is based on a previous patch update, the full history of changes is applied
15
+ iteratively until the last base version is reached.
13
16
 
14
- 2. patch update: Create a set of new production tables including the changes defined in the
17
+ 2. patch update: create a set of new production tables including the changes defined in the
15
18
  modifications file. No unmodified tables are copied. For new production tables with patch
16
19
  modifications, the key-value pair 'base_model_version: <base_model version>' is added.
17
20
 
@@ -26,8 +29,8 @@ The following example applies a patch update with changes defined in a YAML file
26
29
  .. code-block:: console
27
30
 
28
31
  simtools-maintain-simulation-model-add-new-production \\
29
- --simulation_models_path ../simulation-models-dev/simulation-models/ \\
30
- --modifications tests/resources/production_tables_changes_for_threshold_study_6.2.0.yml
32
+ --model_path ../simulation-models-dev/simulation-models/ \\
33
+ --model_version 6.0.2
31
34
 
32
35
  """
33
36
 
@@ -44,20 +47,7 @@ def _parse():
44
47
  label=get_application_label(__file__),
45
48
  description="Generate a new simulation model production",
46
49
  )
47
- config.parser.add_argument(
48
- "--simulation_models_path",
49
- type=str,
50
- required=True,
51
- help="Path to the simulation models repository.",
52
- )
53
- config.parser.add_argument(
54
- "--modifications",
55
- type=str,
56
- required=True,
57
- help="File containing the list of changes to apply.",
58
- )
59
-
60
- return config.initialize(db_config=False, output=False)
50
+ return config.initialize(db_config=False, output=False, simulation_model=["model_version"])
61
51
 
62
52
 
63
53
  def main():
@@ -65,8 +55,8 @@ def main():
65
55
  app_context = startup_application(_parse)
66
56
 
67
57
  model_repository.generate_new_production(
68
- modifications=app_context.args["modifications"],
69
- simulation_models_path=Path(app_context.args["simulation_models_path"]),
58
+ model_version=app_context.args["model_version"],
59
+ simulation_models_path=Path(app_context.args["model_path"]),
70
60
  )
71
61
 
72
62
 
@@ -132,7 +132,7 @@ def main():
132
132
 
133
133
  axes = load_axes(app_context.args["axes"])
134
134
  site_model = SiteModel(
135
- mongo_db_config=app_context.db_config,
135
+ db_config=app_context.db_config,
136
136
  model_version=app_context.args["model_version"],
137
137
  site=app_context.args["site"],
138
138
  )
@@ -73,10 +73,10 @@ def main():
73
73
  """Submit and validate array layouts."""
74
74
  app_context = startup_application(_parse)
75
75
 
76
- db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
76
+ db = db_handler.DatabaseHandler(db_config=app_context.db_config)
77
77
 
78
78
  array_layouts = validate_array_layouts_with_db(
79
- production_table=db.read_production_table_from_mongo_db(
79
+ production_table=db.read_production_table_from_db(
80
80
  collection_name="telescopes", model_version=app_context.args["model_version"]
81
81
  ),
82
82
  array_layouts=ascii_handler.collect_data_from_file(app_context.args["array_layouts"]),
@@ -92,7 +92,7 @@ def main():
92
92
  tel_model = TelescopeModel(
93
93
  site=app_context.args["site"],
94
94
  telescope_name=app_context.args["telescope"],
95
- mongo_db_config=app_context.db_config,
95
+ db_config=app_context.db_config,
96
96
  model_version=app_context.args["model_version"],
97
97
  label=label,
98
98
  )
@@ -136,8 +136,8 @@ def main():
136
136
  model_version=app_context.args["model_version"],
137
137
  )
138
138
 
139
- if app_context.args.get("telescope_model_file"):
140
- tel_model.change_multiple_parameters_from_file(app_context.args["telescope_model_file"])
139
+ if app_context.args.get("overwrite_model_parameters"):
140
+ tel_model.overwrite_parameters_from_file(app_context.args["overwrite_model_parameters"])
141
141
 
142
142
  ray = RayTracing(
143
143
  telescope_model=tel_model,
@@ -137,7 +137,7 @@ def main():
137
137
  # 'camera_body_diameter': 289.7,
138
138
  # 'telescope_transmission': 1
139
139
  # }
140
- # tel_model.change_multiple_parameters(**pars_to_change)
140
+ # tel_model.overwrite_parameters(pars_to_change)
141
141
 
142
142
  app_context.logger.info(
143
143
  f"\nValidating telescope optics with ray tracing simulations for {tel_model.name}\n"
@@ -250,6 +250,13 @@ class CommandLineParser(argparse.ArgumentParser):
250
250
  type=str,
251
251
  default=None,
252
252
  )
253
+ _job_group.add_argument(
254
+ "--overwrite_model_parameters",
255
+ help="File name to overwrite model parameters from DB with provided values",
256
+ type=str,
257
+ required=False,
258
+ )
259
+
253
260
  if any(
254
261
  option in model_options for option in ["site", "telescope", "layout", "layout_file"]
255
262
  ):
@@ -261,15 +268,6 @@ class CommandLineParser(argparse.ArgumentParser):
261
268
  help="telescope model name (e.g., LSTN-01, SSTS-design, ...)",
262
269
  type=self.telescope,
263
270
  )
264
- _job_group.add_argument(
265
- "--telescope_model_file",
266
- help=(
267
- "Path to a YAML file containing modifications to the telescope model. "
268
- "This feature is intended for developers and lacks validation."
269
- ),
270
- type=Path,
271
- required=False,
272
- )
273
271
  if "layout" in model_options or "layout_file" in model_options:
274
272
  _job_group = self._add_model_option_layout(
275
273
  job_group=_job_group,
@@ -10,7 +10,7 @@ import astropy.units as u
10
10
  from dotenv import load_dotenv
11
11
 
12
12
  import simtools.configuration.commandline_parser as argparser
13
- from simtools.db.db_handler import jsonschema_db_dict
13
+ from simtools.db.mongo_db import jsonschema_db_dict
14
14
  from simtools.io import ascii_handler, io_handler
15
15
  from simtools.utils import general as gen
16
16
 
@@ -133,7 +133,7 @@ class CorsikaConfig:
133
133
  self.assert_corsika_configurations_match(model_versions, db_config=db_config)
134
134
  model_version = model_versions[0]
135
135
  self._logger.debug(f"Using model version {model_version} for CORSIKA parameters")
136
- db_model_parameters = ModelParameter(mongo_db_config=db_config, model_version=model_version)
136
+ db_model_parameters = ModelParameter(db_config=db_config, model_version=model_version)
137
137
  parameters_from_db = db_model_parameters.get_simulation_software_parameters("corsika")
138
138
 
139
139
  config["INTERACTION_FLAGS"] = self._corsika_configuration_interaction_flags(
@@ -170,9 +170,7 @@ class CorsikaConfig:
170
170
 
171
171
  # Get parameters for all model versions
172
172
  for model_version in model_versions:
173
- db_model_parameters = ModelParameter(
174
- mongo_db_config=db_config, model_version=model_version
175
- )
173
+ db_model_parameters = ModelParameter(db_config=db_config, model_version=model_version)
176
174
  parameters_from_db_list.append(
177
175
  db_model_parameters.get_simulation_software_parameters("corsika")
178
176
  )