gammasimtools 0.22.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.
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/METADATA +2 -1
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/RECORD +128 -125
- simtools/_version.py +2 -2
- simtools/application_control.py +118 -0
- simtools/applications/calculate_incident_angles.py +17 -22
- simtools/applications/convert_all_model_parameters_from_simtel.py +28 -43
- simtools/applications/convert_geo_coordinates_of_array_elements.py +26 -45
- simtools/applications/convert_model_parameter_from_simtel.py +21 -41
- simtools/applications/db_add_file_to_db.py +13 -14
- simtools/applications/db_add_simulation_model_from_repository_to_db.py +20 -33
- simtools/applications/db_add_value_from_json_to_db.py +29 -24
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +20 -35
- simtools/applications/db_generate_compound_indexes.py +11 -13
- simtools/applications/db_get_array_layouts_from_db.py +20 -40
- simtools/applications/db_get_file_from_db.py +15 -17
- simtools/applications/db_get_parameter_from_db.py +33 -35
- simtools/applications/db_inspect_databases.py +13 -12
- simtools/applications/db_upload_model_repository.py +13 -31
- simtools/applications/derive_ctao_array_layouts.py +16 -21
- simtools/applications/derive_mirror_rnda.py +9 -14
- simtools/applications/derive_photon_electron_spectrum.py +7 -10
- simtools/applications/derive_psf_parameters.py +13 -20
- simtools/applications/derive_trigger_rates.py +6 -9
- simtools/applications/docs_produce_array_element_report.py +22 -23
- simtools/applications/docs_produce_calibration_reports.py +26 -24
- simtools/applications/docs_produce_model_parameter_reports.py +15 -22
- simtools/applications/docs_produce_simulation_configuration_report.py +21 -22
- simtools/applications/generate_array_config.py +14 -33
- simtools/applications/generate_corsika_histograms.py +22 -43
- simtools/applications/generate_default_metadata.py +15 -36
- simtools/applications/generate_regular_arrays.py +11 -15
- simtools/applications/generate_simtel_event_data.py +23 -33
- simtools/applications/maintain_simulation_model_add_production.py +20 -37
- simtools/applications/maintain_simulation_model_compare_productions.py +10 -12
- simtools/applications/maintain_simulation_model_verify_production_tables.py +8 -11
- simtools/applications/merge_tables.py +14 -23
- simtools/applications/plot_array_layout.py +77 -54
- simtools/applications/plot_simtel_events.py +11 -13
- simtools/applications/plot_tabular_data.py +17 -38
- simtools/applications/plot_tabular_data_for_model_parameter.py +16 -23
- simtools/applications/print_version.py +14 -42
- simtools/applications/production_derive_corsika_limits.py +5 -9
- simtools/applications/production_derive_statistics.py +12 -25
- simtools/applications/production_generate_grid.py +20 -48
- simtools/applications/production_merge_corsika_limits.py +17 -21
- simtools/applications/run_application.py +12 -32
- simtools/applications/simulate_flasher.py +21 -25
- simtools/applications/simulate_illuminator.py +7 -14
- simtools/applications/simulate_pedestals.py +13 -13
- simtools/applications/simulate_prod.py +21 -33
- simtools/applications/simulate_prod_htcondor_generator.py +11 -25
- simtools/applications/submit_array_layouts.py +16 -19
- simtools/applications/submit_data_from_external.py +18 -34
- simtools/applications/submit_model_parameter_from_external.py +27 -40
- simtools/applications/validate_camera_efficiency.py +23 -21
- simtools/applications/validate_camera_fov.py +21 -26
- simtools/applications/validate_cumulative_psf.py +27 -35
- simtools/applications/validate_file_using_schema.py +15 -33
- simtools/applications/validate_optics.py +27 -33
- simtools/camera/camera_efficiency.py +0 -2
- simtools/configuration/commandline_parser.py +39 -13
- simtools/configuration/configurator.py +1 -6
- simtools/corsika/corsika_config.py +2 -9
- simtools/data_model/data_reader.py +0 -2
- simtools/data_model/metadata_collector.py +0 -2
- simtools/data_model/model_data_writer.py +1 -3
- simtools/data_model/schema.py +36 -34
- simtools/data_model/validate_data.py +0 -2
- simtools/db/db_handler.py +61 -296
- simtools/db/db_model_upload.py +1 -1
- simtools/db/mongo_db.py +535 -0
- simtools/dependencies.py +33 -8
- simtools/io/hdf5_handler.py +0 -5
- simtools/io/legacy_data_handler.py +0 -5
- simtools/job_execution/job_manager.py +0 -3
- simtools/layout/array_layout.py +7 -9
- simtools/layout/array_layout_utils.py +3 -3
- simtools/layout/telescope_position.py +0 -2
- simtools/model/array_model.py +38 -71
- simtools/model/calibration_model.py +12 -11
- simtools/model/camera.py +0 -2
- simtools/model/mirrors.py +0 -2
- simtools/model/model_parameter.py +200 -140
- simtools/model/model_repository.py +159 -35
- simtools/model/model_utils.py +3 -8
- simtools/model/site_model.py +59 -29
- simtools/model/telescope_model.py +21 -15
- simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py +0 -2
- simtools/production_configuration/derive_production_statistics.py +0 -2
- simtools/production_configuration/interpolation_handler.py +0 -2
- simtools/ray_tracing/mirror_panel_psf.py +4 -4
- simtools/ray_tracing/psf_analysis.py +0 -2
- simtools/ray_tracing/psf_parameter_optimisation.py +1 -1
- simtools/ray_tracing/ray_tracing.py +0 -2
- simtools/reporting/docs_auto_report_generator.py +109 -1
- simtools/reporting/docs_read_parameters.py +4 -9
- simtools/runners/corsika_runner.py +0 -2
- simtools/runners/corsika_simtel_runner.py +0 -2
- simtools/runners/simtel_runner.py +0 -2
- simtools/schemas/model_parameters/transit_time_random.schema.yml +29 -0
- simtools/schemas/simulation_models_info.schema.yml +2 -1
- simtools/simtel/simtel_config_reader.py +0 -2
- simtools/simtel/simtel_config_writer.py +128 -33
- simtools/simtel/simtel_io_metadata.py +3 -3
- simtools/simtel/simulator_array.py +9 -21
- simtools/simtel/simulator_camera_efficiency.py +0 -2
- simtools/simtel/simulator_light_emission.py +1 -3
- simtools/simtel/simulator_ray_tracing.py +0 -2
- simtools/simulator.py +2 -6
- simtools/testing/assertions.py +52 -8
- simtools/testing/configuration.py +17 -4
- simtools/testing/validate_output.py +4 -8
- simtools/utils/general.py +5 -13
- simtools/utils/geometry.py +0 -5
- simtools/utils/names.py +1 -13
- simtools/utils/value_conversion.py +10 -5
- simtools/version.py +85 -0
- simtools/visualization/plot_array_layout.py +129 -23
- simtools/visualization/plot_incident_angles.py +0 -2
- simtools/visualization/plot_pixels.py +1 -1
- simtools/visualization/plot_psf.py +1 -1
- simtools/visualization/plot_simtel_events.py +0 -11
- simtools/visualization/plot_tables.py +1 -1
- simtools/visualization/visualize.py +0 -12
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/WHEEL +0 -0
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/entry_points.txt +0 -0
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/licenses/LICENSE +0 -0
- {gammasimtools-0.22.0.dist-info → gammasimtools-0.24.0.dist-info}/top_level.txt +0 -0
|
@@ -280,7 +280,7 @@ def get_array_layouts_from_db(
|
|
|
280
280
|
if layout_name:
|
|
281
281
|
layout_names = gen.ensure_iterable(layout_name)
|
|
282
282
|
else:
|
|
283
|
-
site_model = SiteModel(site=site, model_version=model_version,
|
|
283
|
+
site_model = SiteModel(site=site, model_version=model_version, db_config=db_config)
|
|
284
284
|
layout_names = site_model.get_list_of_array_layouts()
|
|
285
285
|
|
|
286
286
|
layouts = []
|
|
@@ -373,7 +373,7 @@ def _get_array_layout_dict(
|
|
|
373
373
|
):
|
|
374
374
|
"""Return array layout dictionary for a given telescope list."""
|
|
375
375
|
array_model = ArrayModel(
|
|
376
|
-
|
|
376
|
+
db_config=db_config,
|
|
377
377
|
model_version=model_version,
|
|
378
378
|
site=site,
|
|
379
379
|
array_elements=telescope_list,
|
|
@@ -416,7 +416,7 @@ def get_array_elements_from_db_for_layouts(layouts, site, model_version, db_conf
|
|
|
416
416
|
dict
|
|
417
417
|
Dictionary mapping layout names to telescope IDs.
|
|
418
418
|
"""
|
|
419
|
-
site_model = SiteModel(site=site, model_version=model_version,
|
|
419
|
+
site_model = SiteModel(site=site, model_version=model_version, db_config=db_config)
|
|
420
420
|
layout_names = site_model.get_list_of_array_layouts() if layouts == ["all"] else layouts
|
|
421
421
|
layout_dict = {}
|
|
422
422
|
for layout_name in layout_names:
|
simtools/model/array_model.py
CHANGED
|
@@ -7,7 +7,6 @@ import astropy.units as u
|
|
|
7
7
|
from astropy.table import QTable
|
|
8
8
|
|
|
9
9
|
from simtools.data_model import data_reader, schema
|
|
10
|
-
from simtools.db import db_handler
|
|
11
10
|
from simtools.io import io_handler
|
|
12
11
|
from simtools.model.calibration_model import CalibrationModel
|
|
13
12
|
from simtools.model.site_model import SiteModel
|
|
@@ -15,8 +14,6 @@ from simtools.model.telescope_model import TelescopeModel
|
|
|
15
14
|
from simtools.simtel.simtel_config_writer import SimtelConfigWriter
|
|
16
15
|
from simtools.utils import general, names
|
|
17
16
|
|
|
18
|
-
__all__ = ["ArrayModel"]
|
|
19
|
-
|
|
20
17
|
|
|
21
18
|
class ArrayModel:
|
|
22
19
|
"""
|
|
@@ -24,8 +21,8 @@ class ArrayModel:
|
|
|
24
21
|
|
|
25
22
|
Parameters
|
|
26
23
|
----------
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
db_config: dict
|
|
25
|
+
Database configuration.
|
|
29
26
|
model_version: str
|
|
30
27
|
Model version.
|
|
31
28
|
label: str, optional
|
|
@@ -37,30 +34,33 @@ class ArrayModel:
|
|
|
37
34
|
array_elements: Union[str, Path, List[str]], optional
|
|
38
35
|
Array element definitions (list of array element or path to file with
|
|
39
36
|
the array element positions).
|
|
37
|
+
calibration_device_types: List[str], optional
|
|
38
|
+
List of calibration device types (e.g., 'flat_fielding') attached to each telescope.
|
|
40
39
|
sim_telarray_seeds : dict, optional
|
|
41
40
|
Dictionary with configuration for sim_telarray random instrument setup.
|
|
42
41
|
simtel_path: str, Path, optional
|
|
43
42
|
Path to the sim_telarray installation directory.
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
overwrite_model_parameters: str, optional
|
|
44
|
+
File name to overwrite model parameters from DB with provided values.
|
|
46
45
|
"""
|
|
47
46
|
|
|
48
47
|
def __init__(
|
|
49
48
|
self,
|
|
50
|
-
|
|
49
|
+
db_config,
|
|
51
50
|
model_version,
|
|
52
51
|
label=None,
|
|
53
52
|
site=None,
|
|
54
53
|
layout_name=None,
|
|
55
54
|
array_elements=None,
|
|
55
|
+
calibration_device_types=None,
|
|
56
56
|
sim_telarray_seeds=None,
|
|
57
57
|
simtel_path=None,
|
|
58
|
-
|
|
58
|
+
overwrite_model_parameters=None,
|
|
59
59
|
):
|
|
60
60
|
"""Initialize ArrayModel."""
|
|
61
61
|
self._logger = logging.getLogger(__name__)
|
|
62
62
|
self._logger.debug("Init ArrayModel")
|
|
63
|
-
self.
|
|
63
|
+
self.db_config = db_config
|
|
64
64
|
self.model_version = model_version
|
|
65
65
|
self.label = label
|
|
66
66
|
self.layout_name = (
|
|
@@ -71,7 +71,8 @@ class ArrayModel:
|
|
|
71
71
|
self._config_file_path = None
|
|
72
72
|
self._config_file_directory = None
|
|
73
73
|
self.io_handler = io_handler.IOHandler()
|
|
74
|
-
|
|
74
|
+
|
|
75
|
+
self.overwrite_model_parameters = overwrite_model_parameters
|
|
75
76
|
|
|
76
77
|
self.array_elements, self.site_model, self.telescope_models, self.calibration_models = (
|
|
77
78
|
self._initialize(site, array_elements, calibration_device_types)
|
|
@@ -107,9 +108,10 @@ class ArrayModel:
|
|
|
107
108
|
self._logger.debug(f"Getting site parameters from DB ({site})")
|
|
108
109
|
site_model = SiteModel(
|
|
109
110
|
site=names.validate_site_name(site),
|
|
110
|
-
|
|
111
|
+
db_config=self.db_config,
|
|
111
112
|
model_version=self.model_version,
|
|
112
113
|
label=self.label,
|
|
114
|
+
overwrite_model_parameters=self.overwrite_model_parameters,
|
|
113
115
|
)
|
|
114
116
|
|
|
115
117
|
# Case 1: array_elements is a file name
|
|
@@ -119,7 +121,7 @@ class ArrayModel:
|
|
|
119
121
|
)
|
|
120
122
|
# Case 2: array elements is a list of elements
|
|
121
123
|
elif isinstance(array_elements_config, list):
|
|
122
|
-
array_elements = self._get_array_elements_from_list(array_elements_config)
|
|
124
|
+
array_elements = self._get_array_elements_from_list(array_elements_config, site_model)
|
|
123
125
|
# Case 3: array elements defined in DB by array layout name
|
|
124
126
|
elif self.layout_name is not None:
|
|
125
127
|
array_elements = self._get_array_elements_from_list(
|
|
@@ -170,7 +172,7 @@ class ArrayModel:
|
|
|
170
172
|
return len(self.telescope_models)
|
|
171
173
|
|
|
172
174
|
@property
|
|
173
|
-
def site(self)
|
|
175
|
+
def site(self):
|
|
174
176
|
"""
|
|
175
177
|
Return site.
|
|
176
178
|
|
|
@@ -181,34 +183,6 @@ class ArrayModel:
|
|
|
181
183
|
"""
|
|
182
184
|
return self.site_model.site
|
|
183
185
|
|
|
184
|
-
@property
|
|
185
|
-
def model_version(self):
|
|
186
|
-
"""Model version."""
|
|
187
|
-
return self._model_version
|
|
188
|
-
|
|
189
|
-
@model_version.setter
|
|
190
|
-
def model_version(self, model_version):
|
|
191
|
-
"""
|
|
192
|
-
Set model version.
|
|
193
|
-
|
|
194
|
-
Parameters
|
|
195
|
-
----------
|
|
196
|
-
_model_version: str or list
|
|
197
|
-
Model version (e.g., "6.0.0").
|
|
198
|
-
If a list is passed, it must contain exactly one element,
|
|
199
|
-
and only that element will be used.
|
|
200
|
-
|
|
201
|
-
Raises
|
|
202
|
-
------
|
|
203
|
-
ValueError
|
|
204
|
-
If more than one model version is passed.
|
|
205
|
-
"""
|
|
206
|
-
if isinstance(model_version, list):
|
|
207
|
-
raise ValueError(
|
|
208
|
-
f"Only one model version can be passed to {self.__class__.__name__}, not a list."
|
|
209
|
-
)
|
|
210
|
-
self._model_version = model_version
|
|
211
|
-
|
|
212
186
|
def _build_telescope_models(self, site_model, array_elements, calibration_device_types):
|
|
213
187
|
"""
|
|
214
188
|
Build telescope models for all telescopes of this array.
|
|
@@ -245,8 +219,9 @@ class ArrayModel:
|
|
|
245
219
|
site=site_model.site,
|
|
246
220
|
telescope_name=element_name,
|
|
247
221
|
model_version=self.model_version,
|
|
248
|
-
|
|
222
|
+
db_config=self.db_config,
|
|
249
223
|
label=self.label,
|
|
224
|
+
overwrite_model_parameters=self.overwrite_model_parameters,
|
|
250
225
|
)
|
|
251
226
|
calibration_models[element_name] = self._build_calibration_models(
|
|
252
227
|
telescope_models[element_name],
|
|
@@ -276,9 +251,10 @@ class ArrayModel:
|
|
|
276
251
|
calibration_models[device_name] = CalibrationModel(
|
|
277
252
|
site=site_model.site,
|
|
278
253
|
calibration_device_model_name=device_name,
|
|
279
|
-
|
|
254
|
+
db_config=self.db_config,
|
|
280
255
|
model_version=self.model_version,
|
|
281
256
|
label=self.label,
|
|
257
|
+
overwrite_model_parameters=self.overwrite_model_parameters,
|
|
282
258
|
)
|
|
283
259
|
return calibration_models
|
|
284
260
|
|
|
@@ -291,9 +267,7 @@ class ArrayModel:
|
|
|
291
267
|
"""Export sim_telarray configuration files for all telescopes into the model directory."""
|
|
292
268
|
exported_models = []
|
|
293
269
|
for tel_model in self.telescope_models.values():
|
|
294
|
-
name = tel_model.name
|
|
295
|
-
"_" + tel_model.extra_label if tel_model.extra_label != "" else ""
|
|
296
|
-
)
|
|
270
|
+
name = tel_model.name
|
|
297
271
|
if name not in exported_models:
|
|
298
272
|
self._logger.debug(f"Exporting configuration file for telescope {name}")
|
|
299
273
|
tel_model.write_sim_telarray_config_file(
|
|
@@ -338,7 +312,7 @@ class ArrayModel:
|
|
|
338
312
|
if not self._array_model_file_exported:
|
|
339
313
|
self.export_sim_telarray_config_file()
|
|
340
314
|
|
|
341
|
-
def get_config_directory(self)
|
|
315
|
+
def get_config_directory(self):
|
|
342
316
|
"""
|
|
343
317
|
Get the path of the array config directory for sim_telarray.
|
|
344
318
|
|
|
@@ -367,14 +341,12 @@ class ArrayModel:
|
|
|
367
341
|
self._logger.warning("No model files found to pack.")
|
|
368
342
|
return None
|
|
369
343
|
|
|
370
|
-
archive_name = self.get_config_directory() / "
|
|
371
|
-
general.pack_tar_file(archive_name, model_files)
|
|
344
|
+
archive_name = self.get_config_directory() / f"model_files_{self.model_version}.tar.gz"
|
|
345
|
+
general.pack_tar_file(archive_name, model_files, sub_dir=f"model/{self.model_version}")
|
|
372
346
|
self._logger.info(f"Packed model files into {archive_name}")
|
|
373
347
|
return archive_name
|
|
374
348
|
|
|
375
|
-
def _load_array_element_positions_from_file(
|
|
376
|
-
self, array_elements_file: str | Path, site: str
|
|
377
|
-
) -> dict:
|
|
349
|
+
def _load_array_element_positions_from_file(self, array_elements_file, site):
|
|
378
350
|
"""
|
|
379
351
|
Load array element (e.g. telescope) positions from a file into a dict.
|
|
380
352
|
|
|
@@ -402,14 +374,8 @@ class ArrayModel:
|
|
|
402
374
|
}
|
|
403
375
|
|
|
404
376
|
def _get_telescope_position_parameter(
|
|
405
|
-
self,
|
|
406
|
-
|
|
407
|
-
site: str,
|
|
408
|
-
x: u.Quantity,
|
|
409
|
-
y: u.Quantity,
|
|
410
|
-
z: u.Quantity,
|
|
411
|
-
parameter_version: str | None = None,
|
|
412
|
-
) -> dict:
|
|
377
|
+
self, telescope_name, site, x, y, z, parameter_version=None
|
|
378
|
+
):
|
|
413
379
|
"""
|
|
414
380
|
Return dictionary with telescope position parameters (following DB model database format).
|
|
415
381
|
|
|
@@ -446,7 +412,7 @@ class ArrayModel:
|
|
|
446
412
|
"model_parameter_schema_version": "0.1.0",
|
|
447
413
|
}
|
|
448
414
|
|
|
449
|
-
def _get_array_elements_from_list(self, array_elements_list
|
|
415
|
+
def _get_array_elements_from_list(self, array_elements_list, site_model=None):
|
|
450
416
|
"""
|
|
451
417
|
Return dictionary with array elements from a list of telescope names.
|
|
452
418
|
|
|
@@ -458,6 +424,8 @@ class ArrayModel:
|
|
|
458
424
|
----------
|
|
459
425
|
array_elements_list: list
|
|
460
426
|
List of telescope names.
|
|
427
|
+
site_model: SiteModel
|
|
428
|
+
Site model.
|
|
461
429
|
|
|
462
430
|
Returns
|
|
463
431
|
-------
|
|
@@ -469,31 +437,30 @@ class ArrayModel:
|
|
|
469
437
|
try:
|
|
470
438
|
array_elements_dict[names.validate_array_element_name(name)] = None
|
|
471
439
|
except ValueError:
|
|
472
|
-
array_elements_dict.update(self._get_all_array_elements_of_type(name))
|
|
440
|
+
array_elements_dict.update(self._get_all_array_elements_of_type(name, site_model))
|
|
473
441
|
return array_elements_dict
|
|
474
442
|
|
|
475
|
-
def _get_all_array_elements_of_type(self, array_element_type
|
|
443
|
+
def _get_all_array_elements_of_type(self, array_element_type, site_model):
|
|
476
444
|
"""
|
|
477
|
-
Return all array elements of a specific type
|
|
445
|
+
Return all array elements of a specific type.
|
|
478
446
|
|
|
479
447
|
Parameters
|
|
480
448
|
----------
|
|
481
449
|
array_element_type : str
|
|
482
450
|
Type of the array element (e.g. LSTN, MSTS)
|
|
451
|
+
site_model: SiteModel
|
|
452
|
+
Site model.
|
|
483
453
|
|
|
484
454
|
Returns
|
|
485
455
|
-------
|
|
486
456
|
dict
|
|
487
457
|
Dict with array elements.
|
|
488
458
|
"""
|
|
489
|
-
|
|
490
|
-
array_element_type
|
|
491
|
-
model_version=self.model_version,
|
|
492
|
-
collection="telescopes",
|
|
459
|
+
return self._get_array_elements_from_list(
|
|
460
|
+
site_model.get_array_elements_of_type(array_element_type)
|
|
493
461
|
)
|
|
494
|
-
return self._get_array_elements_from_list(all_elements)
|
|
495
462
|
|
|
496
|
-
def export_array_elements_as_table(self, coordinate_system
|
|
463
|
+
def export_array_elements_as_table(self, coordinate_system="ground"):
|
|
497
464
|
"""
|
|
498
465
|
Export array elements positions to astropy table.
|
|
499
466
|
|
|
@@ -4,8 +4,6 @@ import logging
|
|
|
4
4
|
|
|
5
5
|
from simtools.model.model_parameter import ModelParameter
|
|
6
6
|
|
|
7
|
-
__all__ = ["CalibrationModel"]
|
|
8
|
-
|
|
9
7
|
|
|
10
8
|
class CalibrationModel(ModelParameter):
|
|
11
9
|
"""
|
|
@@ -19,31 +17,34 @@ class CalibrationModel(ModelParameter):
|
|
|
19
17
|
Site name (e.g., South or North).
|
|
20
18
|
calibration_device_model_name: str
|
|
21
19
|
Calibration device model name (ex. ILLS-01, ILLN-01, ...).
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
db_config: dict
|
|
21
|
+
Database configuration.
|
|
24
22
|
model_version: str
|
|
25
23
|
Model version.
|
|
26
24
|
label: str, optional
|
|
27
25
|
Instance label. Important for output file naming.
|
|
26
|
+
overwrite_model_parameters: str, optional
|
|
27
|
+
File name to overwrite model parameters from DB with provided values.
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
def __init__(
|
|
31
31
|
self,
|
|
32
|
-
site
|
|
33
|
-
calibration_device_model_name
|
|
34
|
-
|
|
35
|
-
model_version
|
|
36
|
-
label
|
|
32
|
+
site,
|
|
33
|
+
calibration_device_model_name,
|
|
34
|
+
db_config,
|
|
35
|
+
model_version,
|
|
36
|
+
label=None,
|
|
37
|
+
overwrite_model_parameters=None,
|
|
37
38
|
):
|
|
38
39
|
"""Initialize CalibrationModel."""
|
|
39
40
|
super().__init__(
|
|
40
41
|
site=site,
|
|
41
42
|
array_element_name=calibration_device_model_name,
|
|
42
43
|
collection="calibration_devices",
|
|
43
|
-
|
|
44
|
+
db_config=db_config,
|
|
44
45
|
model_version=model_version,
|
|
45
|
-
db=None,
|
|
46
46
|
label=label,
|
|
47
|
+
overwrite_model_parameters=overwrite_model_parameters,
|
|
47
48
|
)
|
|
48
49
|
|
|
49
50
|
self._logger = logging.getLogger(__name__)
|
simtools/model/camera.py
CHANGED
simtools/model/mirrors.py
CHANGED