gammasimtools 0.19.0__py3-none-any.whl → 0.20.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.19.0.dist-info → gammasimtools-0.20.0.dist-info}/METADATA +1 -3
- {gammasimtools-0.19.0.dist-info → gammasimtools-0.20.0.dist-info}/RECORD +43 -41
- {gammasimtools-0.19.0.dist-info → gammasimtools-0.20.0.dist-info}/entry_points.txt +2 -2
- simtools/_version.py +2 -2
- simtools/applications/calculate_incident_angles.py +182 -0
- simtools/applications/db_add_simulation_model_from_repository_to_db.py +17 -14
- simtools/applications/db_add_value_from_json_to_db.py +6 -9
- simtools/applications/db_generate_compound_indexes.py +7 -3
- simtools/applications/db_get_file_from_db.py +11 -23
- simtools/applications/derive_trigger_rates.py +91 -0
- simtools/applications/plot_simtel_events.py +73 -31
- simtools/applications/validate_file_using_schema.py +7 -4
- simtools/configuration/commandline_parser.py +17 -11
- simtools/data_model/validate_data.py +8 -3
- simtools/db/db_handler.py +83 -26
- simtools/db/db_model_upload.py +11 -16
- simtools/dependencies.py +10 -5
- simtools/layout/array_layout_utils.py +37 -5
- simtools/model/array_model.py +18 -1
- simtools/model/site_model.py +25 -0
- simtools/production_configuration/derive_corsika_limits.py +9 -34
- simtools/ray_tracing/incident_angles.py +706 -0
- simtools/schemas/model_parameter_and_data_schema.metaschema.yml +2 -2
- simtools/schemas/model_parameters/nsb_reference_spectrum.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_spectrum.schema.yml +22 -29
- simtools/schemas/model_parameters/stars.schema.yml +1 -1
- simtools/schemas/production_tables.schema.yml +5 -0
- simtools/simtel/simtel_config_writer.py +17 -19
- simtools/simtel/simtel_io_event_histograms.py +253 -516
- simtools/simtel/simtel_io_event_reader.py +51 -2
- simtools/simtel/simtel_io_event_writer.py +31 -11
- simtools/simtel/simtel_io_metadata.py +1 -1
- simtools/simtel/simtel_table_reader.py +3 -3
- simtools/telescope_trigger_rates.py +119 -0
- simtools/testing/log_inspector.py +13 -11
- simtools/utils/geometry.py +20 -0
- simtools/visualization/plot_incident_angles.py +431 -0
- simtools/visualization/plot_simtel_event_histograms.py +376 -0
- simtools/visualization/visualize.py +1 -3
- simtools/applications/calculate_trigger_rate.py +0 -187
- simtools/applications/generate_sim_telarray_histograms.py +0 -196
- simtools/simtel/simtel_io_histogram.py +0 -623
- simtools/simtel/simtel_io_histograms.py +0 -556
- {gammasimtools-0.19.0.dist-info → gammasimtools-0.20.0.dist-info}/WHEEL +0 -0
- {gammasimtools-0.19.0.dist-info → gammasimtools-0.20.0.dist-info}/licenses/LICENSE +0 -0
- {gammasimtools-0.19.0.dist-info → gammasimtools-0.20.0.dist-info}/top_level.txt +0 -0
- /simtools/visualization/{simtel_event_plots.py → plot_simtel_events.py} +0 -0
|
@@ -3,8 +3,8 @@ $schema: http://json-schema.org/draft-06/schema#
|
|
|
3
3
|
$ref: '#/definitions/SimtoolsDataAndModelParameters'
|
|
4
4
|
title: SimPipe Data and Model Parameter Metaschema
|
|
5
5
|
description: YAML representation of data and model parameter metaschema
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
schema_version: 0.1.0
|
|
7
|
+
schema_name: model_parameter_and_data_schema.metaschema
|
|
8
8
|
type: object
|
|
9
9
|
|
|
10
10
|
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
%YAML 1.2
|
|
2
2
|
---
|
|
3
|
-
title: Schema for
|
|
3
|
+
title: Schema for nsb_spectrum model parameter
|
|
4
4
|
schema_version: 0.1.0
|
|
5
5
|
meta_schema: simpipe-schema
|
|
6
6
|
meta_schema_url: https://raw.githubusercontent.com/gammasim/simtools/main/src/simtools/schemas/model_parameter_and_data_schema.metaschema.yml
|
|
7
7
|
meta_schema_version: 0.1.0
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
developer_note: To be replaced by a data table
|
|
9
|
+
name: nsb_spectrum
|
|
10
|
+
description: |-
|
|
11
|
+
Spectrum of night sky background (NSB) as a function of wavelength.
|
|
12
|
+
data:
|
|
13
|
+
- type: file
|
|
14
|
+
unit: dimensionless
|
|
15
|
+
default: null
|
|
14
16
|
instrument:
|
|
15
17
|
class: Site
|
|
16
18
|
type:
|
|
@@ -18,27 +20,6 @@ instrument:
|
|
|
18
20
|
site:
|
|
19
21
|
- North
|
|
20
22
|
- South
|
|
21
|
-
data:
|
|
22
|
-
- type: data_table
|
|
23
|
-
table_columns:
|
|
24
|
-
- name: wavelength
|
|
25
|
-
description: Wavelength
|
|
26
|
-
required: true
|
|
27
|
-
unit: nm
|
|
28
|
-
type: float64
|
|
29
|
-
required_range:
|
|
30
|
-
min: 300.0
|
|
31
|
-
max: 700.0
|
|
32
|
-
input_processing:
|
|
33
|
-
- remove_duplicates
|
|
34
|
-
- sort
|
|
35
|
-
- name: intensity
|
|
36
|
-
description: Intensity of the night-sky background
|
|
37
|
-
required: true
|
|
38
|
-
unit: photons / arcsec**2 m**2 s** micron
|
|
39
|
-
type: float64
|
|
40
|
-
required_range:
|
|
41
|
-
min: 0.0
|
|
42
23
|
activity:
|
|
43
24
|
setting:
|
|
44
25
|
- SetParameterFromExternal
|
|
@@ -47,4 +28,16 @@ activity:
|
|
|
47
28
|
source:
|
|
48
29
|
- Calibration
|
|
49
30
|
simulation_software:
|
|
50
|
-
- name:
|
|
31
|
+
- name: simtools
|
|
32
|
+
plot_configuration:
|
|
33
|
+
- type: nsb_spectrum
|
|
34
|
+
title: 'NSB spectrum'
|
|
35
|
+
xtitle: 'Wavelength [nm]'
|
|
36
|
+
ytitle: 'Differential photon rate [10^9 / (nm s m^2 sr)]'
|
|
37
|
+
xscale: 'linear'
|
|
38
|
+
yscale: 'log'
|
|
39
|
+
no_markers: true
|
|
40
|
+
tables:
|
|
41
|
+
- parameter: nsb_spectrum
|
|
42
|
+
column_x: 'wavelength'
|
|
43
|
+
column_y: 'differential photon rate'
|
|
@@ -12,7 +12,7 @@ description: |-
|
|
|
12
12
|
altitude (both in degrees) and weighting factor for the number of photons. An
|
|
13
13
|
optional fourth value is the distance of the light source (in kilometers) or 0
|
|
14
14
|
(standing for infinity). In addition to ray-tracing evaluation, the stars also contribute
|
|
15
|
-
to the
|
|
15
|
+
to the night-sky background rate in the affected pixels.
|
|
16
16
|
short_description: File with shining stars in Az/Alt.
|
|
17
17
|
data:
|
|
18
18
|
- type: file
|
|
@@ -12,7 +12,11 @@ additionalProperties: false
|
|
|
12
12
|
|
|
13
13
|
definitions:
|
|
14
14
|
ProductionModelTable:
|
|
15
|
+
additionalProperties: false
|
|
15
16
|
properties:
|
|
17
|
+
production_table_name:
|
|
18
|
+
type: string
|
|
19
|
+
description: Name of the production table.
|
|
16
20
|
model_version:
|
|
17
21
|
type: string
|
|
18
22
|
description: Model version.
|
|
@@ -37,5 +41,6 @@ definitions:
|
|
|
37
41
|
type: string
|
|
38
42
|
description: Design model of a telescope
|
|
39
43
|
required:
|
|
44
|
+
- production_table_name
|
|
40
45
|
- model_version
|
|
41
46
|
- parameters
|
|
@@ -142,7 +142,7 @@ class SimtelConfigWriter:
|
|
|
142
142
|
return value
|
|
143
143
|
|
|
144
144
|
def _get_sim_telarray_metadata(
|
|
145
|
-
self, config_type, model_parameters, telescope_model_name,
|
|
145
|
+
self, config_type, model_parameters, telescope_model_name, additional_metadata=None
|
|
146
146
|
):
|
|
147
147
|
"""
|
|
148
148
|
Return sim_telarray metadata.
|
|
@@ -155,8 +155,8 @@ class SimtelConfigWriter:
|
|
|
155
155
|
Model parameters dictionary.
|
|
156
156
|
telescope_model_name: str
|
|
157
157
|
Name of the telescope model
|
|
158
|
-
|
|
159
|
-
Dictionary with
|
|
158
|
+
additional_metadata: dict
|
|
159
|
+
Dictionary with additional metadata to include using 'set'.
|
|
160
160
|
|
|
161
161
|
Returns
|
|
162
162
|
-------
|
|
@@ -197,12 +197,10 @@ class SimtelConfigWriter:
|
|
|
197
197
|
|
|
198
198
|
self._add_model_parameters_to_metadata(model_parameters, meta_parameters, prefix)
|
|
199
199
|
|
|
200
|
-
if
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
f"{sim_telarray_seeds['random_instrument_instances']}"
|
|
205
|
-
)
|
|
200
|
+
if additional_metadata:
|
|
201
|
+
for key, value in additional_metadata.items():
|
|
202
|
+
if value:
|
|
203
|
+
meta_parameters.append(f"{prefix} set {key}={value}")
|
|
206
204
|
|
|
207
205
|
return meta_parameters
|
|
208
206
|
|
|
@@ -224,7 +222,7 @@ class SimtelConfigWriter:
|
|
|
224
222
|
meta_parameters.append(f"{prefix} set {simtel_name}={value['value']}")
|
|
225
223
|
|
|
226
224
|
def write_array_config_file(
|
|
227
|
-
self, config_file_path, telescope_model, site_model,
|
|
225
|
+
self, config_file_path, telescope_model, site_model, additional_metadata=None
|
|
228
226
|
):
|
|
229
227
|
"""
|
|
230
228
|
Write the sim_telarray config file for an array of telescopes.
|
|
@@ -237,8 +235,8 @@ class SimtelConfigWriter:
|
|
|
237
235
|
Dictionary of TelescopeModel's instances as used by the ArrayModel instance.
|
|
238
236
|
site_model: Site model
|
|
239
237
|
Site model.
|
|
240
|
-
|
|
241
|
-
Dictionary with
|
|
238
|
+
additional_metadata: dict
|
|
239
|
+
Dictionary with additional metadata to include.
|
|
242
240
|
"""
|
|
243
241
|
config_file_directory = Path(config_file_path).parent
|
|
244
242
|
with open(config_file_path, "w", encoding="utf-8") as file:
|
|
@@ -263,7 +261,7 @@ class SimtelConfigWriter:
|
|
|
263
261
|
site_model.parameters,
|
|
264
262
|
config_file_directory,
|
|
265
263
|
telescope_model,
|
|
266
|
-
|
|
264
|
+
additional_metadata,
|
|
267
265
|
)
|
|
268
266
|
|
|
269
267
|
file.write(self.TAB + f"maximum_telescopes = {len(telescope_model)}\n\n")
|
|
@@ -285,8 +283,8 @@ class SimtelConfigWriter:
|
|
|
285
283
|
file.write(f"# include <{tel_config_file}>\n\n")
|
|
286
284
|
file.write("#endif \n\n") # configuration files need to end with \n\n
|
|
287
285
|
|
|
288
|
-
if
|
|
289
|
-
self._write_random_seeds_file(
|
|
286
|
+
if additional_metadata and additional_metadata.get("random_instrument_instances"):
|
|
287
|
+
self._write_random_seeds_file(additional_metadata, config_file_directory)
|
|
290
288
|
|
|
291
289
|
def _write_random_seeds_file(self, sim_telarray_seeds, config_file_directory):
|
|
292
290
|
"""
|
|
@@ -418,7 +416,7 @@ class SimtelConfigWriter:
|
|
|
418
416
|
file.write(f"{self.TAB}metaparam global set {key} = {value}\n")
|
|
419
417
|
|
|
420
418
|
def _write_site_parameters(
|
|
421
|
-
self, file, site_parameters, model_path, telescope_model,
|
|
419
|
+
self, file, site_parameters, model_path, telescope_model, additional_metadata=None
|
|
422
420
|
):
|
|
423
421
|
"""
|
|
424
422
|
Write site parameters.
|
|
@@ -433,8 +431,8 @@ class SimtelConfigWriter:
|
|
|
433
431
|
Path to the model for writing of additional files.
|
|
434
432
|
telescope_model: dict of TelescopeModel
|
|
435
433
|
Telescope models.
|
|
436
|
-
|
|
437
|
-
Dictionary with
|
|
434
|
+
additional_metadata: dict
|
|
435
|
+
Dictionary with additional metadata to include.
|
|
438
436
|
"""
|
|
439
437
|
file.write(self.TAB + "% Site parameters\n")
|
|
440
438
|
for par, value in site_parameters.items():
|
|
@@ -449,7 +447,7 @@ class SimtelConfigWriter:
|
|
|
449
447
|
if simtel_name is not None:
|
|
450
448
|
file.write(f"{self.TAB}{simtel_name} = {value}\n")
|
|
451
449
|
for meta in self._get_sim_telarray_metadata(
|
|
452
|
-
"site", site_parameters, self._telescope_model_name,
|
|
450
|
+
"site", site_parameters, self._telescope_model_name, additional_metadata
|
|
453
451
|
):
|
|
454
452
|
file.write(f"{self.TAB}{meta}\n")
|
|
455
453
|
file.write("\n")
|