gammasimtools 0.21.0__py3-none-any.whl → 0.23.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.21.0.dist-info → gammasimtools-0.23.0.dist-info}/METADATA +3 -3
- gammasimtools-0.23.0.dist-info/RECORD +414 -0
- {gammasimtools-0.21.0.dist-info → gammasimtools-0.23.0.dist-info}/entry_points.txt +2 -1
- simtools/_version.py +2 -2
- simtools/application_control.py +118 -0
- simtools/applications/calculate_incident_angles.py +17 -25
- simtools/applications/convert_all_model_parameters_from_simtel.py +29 -45
- simtools/applications/convert_geo_coordinates_of_array_elements.py +26 -45
- simtools/applications/convert_model_parameter_from_simtel.py +21 -42
- simtools/applications/db_add_file_to_db.py +12 -13
- simtools/applications/db_add_simulation_model_from_repository_to_db.py +20 -33
- simtools/applications/db_add_value_from_json_to_db.py +28 -23
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +19 -34
- simtools/applications/db_generate_compound_indexes.py +12 -27
- simtools/applications/db_get_array_layouts_from_db.py +19 -39
- 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 +10 -11
- simtools/applications/db_upload_model_repository.py +104 -0
- 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 +24 -21
- 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 +17 -48
- 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 +15 -24
- simtools/applications/plot_array_layout.py +77 -55
- 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 -26
- 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 +79 -81
- simtools/applications/simulate_illuminator.py +56 -197
- simtools/applications/{simulate_calibration_events.py → simulate_pedestals.py} +22 -68
- simtools/applications/simulate_prod.py +21 -33
- simtools/applications/simulate_prod_htcondor_generator.py +11 -25
- simtools/applications/submit_array_layouts.py +15 -18
- simtools/applications/submit_data_from_external.py +18 -34
- simtools/applications/submit_model_parameter_from_external.py +27 -41
- simtools/applications/validate_camera_efficiency.py +23 -22
- simtools/applications/validate_camera_fov.py +21 -27
- simtools/applications/validate_cumulative_psf.py +28 -37
- simtools/applications/validate_file_using_schema.py +35 -45
- simtools/applications/validate_optics.py +27 -33
- simtools/camera/camera_efficiency.py +8 -13
- simtools/configuration/commandline_parser.py +33 -11
- simtools/configuration/configurator.py +0 -7
- simtools/corsika/corsika_config.py +9 -16
- simtools/corsika/corsika_histograms.py +1 -1
- simtools/data_model/data_reader.py +0 -2
- simtools/data_model/metadata_collector.py +0 -2
- simtools/data_model/model_data_writer.py +87 -27
- simtools/data_model/schema.py +61 -2
- simtools/data_model/validate_data.py +1 -3
- simtools/db/db_handler.py +58 -39
- simtools/db/db_model_upload.py +210 -5
- simtools/io/hdf5_handler.py +0 -5
- simtools/io/io_handler.py +31 -83
- simtools/io/legacy_data_handler.py +0 -5
- simtools/job_execution/job_manager.py +43 -1
- simtools/layout/array_layout.py +0 -2
- simtools/layout/array_layout_utils.py +1 -5
- simtools/layout/telescope_position.py +0 -2
- simtools/model/array_model.py +95 -46
- simtools/model/calibration_model.py +0 -2
- simtools/model/camera.py +0 -2
- simtools/model/mirrors.py +0 -2
- simtools/model/model_parameter.py +50 -16
- simtools/model/model_repository.py +139 -106
- simtools/model/model_utils.py +21 -11
- simtools/model/site_model.py +0 -2
- simtools/model/telescope_model.py +20 -2
- simtools/production_configuration/calculate_statistical_uncertainties_grid_point.py +0 -2
- simtools/production_configuration/derive_corsika_limits.py +1 -1
- simtools/production_configuration/derive_production_statistics.py +0 -2
- simtools/production_configuration/interpolation_handler.py +0 -2
- simtools/ray_tracing/incident_angles.py +7 -7
- simtools/ray_tracing/mirror_panel_psf.py +1 -1
- simtools/ray_tracing/psf_analysis.py +0 -2
- simtools/ray_tracing/psf_parameter_optimisation.py +180 -73
- simtools/ray_tracing/ray_tracing.py +1 -5
- simtools/reporting/docs_auto_report_generator.py +108 -0
- simtools/reporting/docs_read_parameters.py +168 -104
- simtools/resources/array_elements.yml +26 -0
- simtools/runners/corsika_runner.py +0 -2
- simtools/runners/corsika_simtel_runner.py +11 -19
- simtools/runners/runner_services.py +5 -6
- simtools/runners/simtel_runner.py +0 -2
- simtools/runners/simtools_runner.py +0 -2
- simtools/schemas/application_workflow.metaschema.yml +1 -1
- simtools/schemas/common_definitions.schema.yml +39 -0
- simtools/schemas/model_parameter.metaschema.yml +19 -13
- simtools/schemas/model_parameter_and_data_schema.metaschema.yml +6 -12
- simtools/schemas/model_parameters/adjust_gain.schema.yml +0 -5
- simtools/schemas/model_parameters/altitude.schema.yml +0 -5
- simtools/schemas/model_parameters/array_coordinates.schema.yml +0 -5
- simtools/schemas/model_parameters/array_coordinates_UTM.schema.yml +0 -5
- simtools/schemas/model_parameters/array_element_position_ground.schema.yml +0 -7
- simtools/schemas/model_parameters/array_element_position_utm.schema.yml +0 -7
- simtools/schemas/model_parameters/array_layouts.schema.yml +0 -5
- simtools/schemas/model_parameters/array_triggers.schema.yml +0 -5
- simtools/schemas/model_parameters/array_window.schema.yml +0 -7
- simtools/schemas/model_parameters/asum_clipping.schema.yml +0 -3
- simtools/schemas/model_parameters/asum_offset.schema.yml +0 -7
- simtools/schemas/model_parameters/asum_shaping.schema.yml +0 -7
- simtools/schemas/model_parameters/asum_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/atmospheric_profile.schema.yml +0 -5
- simtools/schemas/model_parameters/atmospheric_transmission.schema.yml +0 -5
- simtools/schemas/model_parameters/axes_offsets.schema.yml +0 -7
- simtools/schemas/model_parameters/calibration_devices.schema.yml +30 -0
- simtools/schemas/model_parameters/camera_body_diameter.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_body_shape.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_config_file.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_config_rotate.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_degraded_efficiency.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_degraded_map.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_depth.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_filter.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_filter_incidence_angle.schema.yml +0 -3
- simtools/schemas/model_parameters/camera_pixels.schema.yml +0 -7
- simtools/schemas/model_parameters/camera_transmission.schema.yml +0 -7
- simtools/schemas/model_parameters/channels_per_chip.schema.yml +0 -7
- simtools/schemas/model_parameters/correct_nsb_spectrum_to_telescope_altitude.schema.yml +0 -7
- simtools/schemas/model_parameters/corsika_observation_level.schema.yml +0 -5
- simtools/schemas/model_parameters/dark_events.schema.yml +4 -3
- simtools/schemas/model_parameters/default_trigger.schema.yml +0 -7
- simtools/schemas/model_parameters/design_model.schema.yml +0 -7
- simtools/schemas/model_parameters/disc_ac_coupled.schema.yml +0 -7
- simtools/schemas/model_parameters/disc_bins.schema.yml +0 -7
- simtools/schemas/model_parameters/disc_start.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_amplitude.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_fall_time.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_gate_length.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_hysteresis.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_output_amplitude.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_output_var_percent.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_pulse_shape.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_rise_time.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_scale_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_sigsum_over_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_time_over_threshold.schema.yml +1 -9
- simtools/schemas/model_parameters/discriminator_var_gate_length.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_var_sigsum_over_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_var_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/discriminator_var_time_over_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/dish_shape_length.schema.yml +0 -5
- simtools/schemas/model_parameters/dsum_clipping.schema.yml +1 -5
- simtools/schemas/model_parameters/dsum_ignore_below.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_offset.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_pedsub.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_pre_clipping.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_prescale.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_presum_max.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_presum_shift.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_shaping.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_shaping_renormalize.schema.yml +0 -3
- simtools/schemas/model_parameters/dsum_threshold.schema.yml +2 -12
- simtools/schemas/model_parameters/dsum_zero_clip.schema.yml +0 -3
- simtools/schemas/model_parameters/effective_focal_length.schema.yml +0 -7
- simtools/schemas/model_parameters/epsg_code.schema.yml +0 -5
- simtools/schemas/model_parameters/fadc_ac_coupled.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_amplitude.schema.yml +2 -9
- simtools/schemas/model_parameters/fadc_bins.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_compensate_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_dev_pedestal.schema.yml +0 -2
- simtools/schemas/model_parameters/fadc_err_compensate_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_err_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_amplitude.schema.yml +2 -9
- simtools/schemas/model_parameters/fadc_lg_compensate_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_dev_pedestal.schema.yml +0 -2
- simtools/schemas/model_parameters/fadc_lg_err_compensate_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_err_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_max_signal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_max_sum.schema.yml +0 -2
- simtools/schemas/model_parameters/fadc_lg_noise.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_sensitivity.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_sysvar_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_var_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_lg_var_sensitivity.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_long_event_threshold.schema.yml +0 -3
- simtools/schemas/model_parameters/fadc_long_sum_bins.schema.yml +0 -3
- simtools/schemas/model_parameters/fadc_long_sum_offset.schema.yml +0 -3
- simtools/schemas/model_parameters/fadc_max_signal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_max_sum.schema.yml +0 -2
- simtools/schemas/model_parameters/fadc_mhz.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_noise.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_pulse_shape.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_sensitivity.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_sum_bins.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_sum_offset.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_sysvar_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_var_pedestal.schema.yml +0 -7
- simtools/schemas/model_parameters/fadc_var_sensitivity.schema.yml +0 -7
- simtools/schemas/model_parameters/fake_mirror_list.schema.yml +0 -3
- simtools/schemas/model_parameters/flasher_angular_distribution.schema.yml +32 -0
- simtools/schemas/model_parameters/flasher_angular_distribution_width.schema.yml +32 -0
- simtools/schemas/model_parameters/flasher_bunch_size.schema.yml +28 -0
- simtools/schemas/model_parameters/flasher_external_trigger.schema.yml +32 -0
- simtools/schemas/model_parameters/flasher_photons.schema.yml +34 -0
- simtools/schemas/model_parameters/flasher_position.schema.yml +43 -0
- simtools/schemas/model_parameters/flasher_pulse_exp_decay.schema.yml +29 -0
- simtools/schemas/model_parameters/flasher_pulse_offset.schema.yml +35 -0
- simtools/schemas/model_parameters/flasher_pulse_shape.schema.yml +30 -0
- simtools/schemas/model_parameters/flasher_pulse_width.schema.yml +32 -0
- simtools/schemas/model_parameters/flasher_type.schema.yml +28 -0
- simtools/schemas/model_parameters/flasher_var_photons.schema.yml +31 -0
- simtools/schemas/model_parameters/flasher_wavelength.schema.yml +33 -0
- simtools/schemas/model_parameters/flatfielding.schema.yml +0 -7
- simtools/schemas/model_parameters/focal_length.schema.yml +0 -7
- simtools/schemas/model_parameters/focal_surface_parameters.schema.yml +0 -3
- simtools/schemas/model_parameters/focal_surface_ref_radius.schema.yml +0 -3
- simtools/schemas/model_parameters/focus_offset.schema.yml +0 -7
- simtools/schemas/model_parameters/gain_variation.schema.yml +0 -7
- simtools/schemas/model_parameters/geomag_horizontal.schema.yml +2 -7
- simtools/schemas/model_parameters/geomag_rotation.schema.yml +2 -7
- simtools/schemas/model_parameters/geomag_vertical.schema.yml +2 -7
- simtools/schemas/model_parameters/hg_lg_variation.schema.yml +0 -5
- simtools/schemas/model_parameters/iobuf_maximum.schema.yml +0 -7
- simtools/schemas/model_parameters/iobuf_output_maximum.schema.yml +0 -7
- simtools/schemas/model_parameters/laser_events.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_external_trigger.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_photons.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_pulse_exptime.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_pulse_offset.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_pulse_sigtime.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_pulse_twidth.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_var_photons.schema.yml +4 -3
- simtools/schemas/model_parameters/laser_wavelength.schema.yml +4 -3
- simtools/schemas/model_parameters/led_events.schema.yml +4 -3
- simtools/schemas/model_parameters/led_photons.schema.yml +4 -3
- simtools/schemas/model_parameters/led_pulse_offset.schema.yml +4 -3
- simtools/schemas/model_parameters/led_pulse_sigtime.schema.yml +4 -3
- simtools/schemas/model_parameters/led_var_photons.schema.yml +4 -3
- simtools/schemas/model_parameters/lightguide_efficiency_vs_incidence_angle.schema.yml +0 -7
- simtools/schemas/model_parameters/lightguide_efficiency_vs_wavelength.schema.yml +0 -7
- simtools/schemas/model_parameters/min_photoelectrons.schema.yml +0 -7
- simtools/schemas/model_parameters/min_photons.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_align_random_distance.schema.yml +0 -5
- simtools/schemas/model_parameters/mirror_align_random_horizontal.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_align_random_vertical.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_class.schema.yml +2 -9
- simtools/schemas/model_parameters/mirror_degraded_reflection.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_focal_length.schema.yml +0 -5
- simtools/schemas/model_parameters/mirror_list.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_offset.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_reflection_random_angle.schema.yml +0 -7
- simtools/schemas/model_parameters/mirror_reflectivity.schema.yml +0 -7
- simtools/schemas/model_parameters/multiplicity_offset.schema.yml +0 -7
- simtools/schemas/model_parameters/muon_mono_threshold.schema.yml +0 -7
- simtools/schemas/model_parameters/nsb_autoscale_airmass.schema.yml +0 -7
- simtools/schemas/model_parameters/nsb_gain_drop_scale.schema.yml +0 -3
- simtools/schemas/model_parameters/nsb_offaxis.schema.yml +0 -7
- simtools/schemas/model_parameters/nsb_pixel_rate.schema.yml +0 -7
- simtools/schemas/model_parameters/nsb_reference_spectrum.schema.yml +0 -5
- simtools/schemas/model_parameters/nsb_reference_value.schema.yml +0 -5
- simtools/schemas/model_parameters/nsb_scaling_factor.schema.yml +0 -5
- simtools/schemas/model_parameters/nsb_sky_map.schema.yml +0 -5
- simtools/schemas/model_parameters/nsb_spectrum.schema.yml +0 -5
- simtools/schemas/model_parameters/num_gains.schema.yml +0 -7
- simtools/schemas/model_parameters/only_triggered_telescopes.schema.yml +0 -7
- simtools/schemas/model_parameters/optics_properties.schema.yml +0 -7
- simtools/schemas/model_parameters/parabolic_dish.schema.yml +0 -3
- simtools/schemas/model_parameters/pedestal_events.schema.yml +4 -7
- simtools/schemas/model_parameters/photon_delay.schema.yml +0 -7
- simtools/schemas/model_parameters/photons_per_run.schema.yml +4 -4
- simtools/schemas/model_parameters/pixel_cells.schema.yml +0 -3
- simtools/schemas/model_parameters/pixels_parallel.schema.yml +0 -3
- simtools/schemas/model_parameters/pixeltrg_time_step.schema.yml +0 -7
- simtools/schemas/model_parameters/pm_average_gain.schema.yml +0 -5
- simtools/schemas/model_parameters/pm_collection_efficiency.schema.yml +0 -5
- simtools/schemas/model_parameters/pm_gain_index.schema.yml +0 -5
- simtools/schemas/model_parameters/pm_photoelectron_spectrum.schema.yml +0 -7
- simtools/schemas/model_parameters/pm_transit_time.schema.yml +4 -9
- simtools/schemas/model_parameters/pm_voltage_variation.schema.yml +0 -5
- simtools/schemas/model_parameters/primary_mirror_degraded_map.schema.yml +0 -7
- simtools/schemas/model_parameters/primary_mirror_diameter.schema.yml +0 -3
- simtools/schemas/model_parameters/primary_mirror_hole_diameter.schema.yml +0 -3
- simtools/schemas/model_parameters/primary_mirror_incidence_angle.schema.yml +0 -3
- simtools/schemas/model_parameters/primary_mirror_parameters.schema.yml +0 -3
- simtools/schemas/model_parameters/primary_mirror_ref_radius.schema.yml +0 -3
- simtools/schemas/model_parameters/primary_mirror_segmentation.schema.yml +0 -3
- simtools/schemas/model_parameters/qe_variation.schema.yml +0 -7
- simtools/schemas/model_parameters/quantum_efficiency.schema.yml +0 -7
- simtools/schemas/model_parameters/random_focal_length.schema.yml +2 -7
- simtools/schemas/model_parameters/random_generator.schema.yml +0 -7
- simtools/schemas/model_parameters/random_mono_probability.schema.yml +0 -7
- simtools/schemas/model_parameters/reference_point_altitude.schema.yml +0 -5
- simtools/schemas/model_parameters/reference_point_latitude.schema.yml +0 -5
- simtools/schemas/model_parameters/reference_point_longitude.schema.yml +0 -5
- simtools/schemas/model_parameters/reference_point_utm_east.schema.yml +0 -5
- simtools/schemas/model_parameters/reference_point_utm_north.schema.yml +0 -5
- simtools/schemas/model_parameters/sampled_output.schema.yml +0 -7
- simtools/schemas/model_parameters/save_pe_with_amplitude.schema.yml +0 -7
- simtools/schemas/model_parameters/secondary_mirror_baffle.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_degraded_map.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_degraded_reflection.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_diameter.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_hole_diameter.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_incidence_angle.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_parameters.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_ref_radius.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_reflectivity.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_segmentation.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_shadow_diameter.schema.yml +0 -3
- simtools/schemas/model_parameters/secondary_mirror_shadow_offset.schema.yml +0 -3
- simtools/schemas/model_parameters/stars.schema.yml +0 -5
- simtools/schemas/model_parameters/store_photoelectrons.schema.yml +0 -7
- simtools/schemas/model_parameters/tailcut_scale.schema.yml +0 -7
- simtools/schemas/model_parameters/telescope_axis_height.schema.yml +0 -7
- simtools/schemas/model_parameters/telescope_random_angle.schema.yml +0 -7
- simtools/schemas/model_parameters/telescope_random_error.schema.yml +0 -7
- simtools/schemas/model_parameters/telescope_sphere_radius.schema.yml +0 -7
- simtools/schemas/model_parameters/telescope_transmission.schema.yml +0 -7
- simtools/schemas/model_parameters/teltrig_min_sigsum.schema.yml +0 -7
- simtools/schemas/model_parameters/teltrig_min_time.schema.yml +0 -7
- simtools/schemas/model_parameters/transit_time_calib_error.schema.yml +0 -7
- simtools/schemas/model_parameters/transit_time_compensate_error.schema.yml +0 -7
- simtools/schemas/model_parameters/transit_time_compensate_step.schema.yml +0 -7
- simtools/schemas/model_parameters/transit_time_error.schema.yml +0 -7
- simtools/schemas/model_parameters/transit_time_jitter.schema.yml +0 -7
- simtools/schemas/model_parameters/transit_time_random.schema.yml +29 -0
- simtools/schemas/model_parameters/trigger_current_limit.schema.yml +0 -7
- simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml +0 -7
- simtools/schemas/model_parameters/trigger_pixels.schema.yml +0 -7
- simtools/schemas/production_tables.schema.yml +8 -8
- simtools/schemas/simulation_models_info.schema.yml +78 -0
- simtools/simtel/simtel_config_reader.py +0 -2
- simtools/simtel/simtel_config_writer.py +118 -26
- simtools/simtel/simtel_io_metadata.py +3 -3
- simtools/simtel/simulator_array.py +43 -85
- simtools/simtel/simulator_camera_efficiency.py +0 -2
- simtools/simtel/simulator_light_emission.py +336 -631
- simtools/simtel/simulator_ray_tracing.py +2 -4
- simtools/simulator.py +45 -19
- simtools/testing/assertions.py +2 -2
- simtools/testing/configuration.py +21 -6
- simtools/testing/sim_telarray_metadata.py +4 -4
- simtools/utils/general.py +5 -13
- simtools/utils/geometry.py +34 -5
- simtools/utils/names.py +1 -13
- simtools/version.py +83 -0
- simtools/visualization/plot_array_layout.py +129 -23
- simtools/visualization/plot_incident_angles.py +0 -2
- simtools/visualization/plot_psf.py +163 -61
- simtools/visualization/plot_simtel_events.py +1 -12
- simtools/visualization/visualize.py +0 -12
- gammasimtools-0.21.0.dist-info/RECORD +0 -396
- simtools/model/flasher_model.py +0 -106
- {gammasimtools-0.21.0.dist-info → gammasimtools-0.23.0.dist-info}/WHEEL +0 -0
- {gammasimtools-0.21.0.dist-info → gammasimtools-0.23.0.dist-info}/licenses/LICENSE +0 -0
- {gammasimtools-0.21.0.dist-info → gammasimtools-0.23.0.dist-info}/top_level.txt +0 -0
|
@@ -56,6 +56,12 @@ axes_range : float, optional
|
|
|
56
56
|
Range of the both axes in meters.
|
|
57
57
|
marker_scaling : float, optional.
|
|
58
58
|
Scaling factor for plotting of array elements, optional.
|
|
59
|
+
grayed_out_array_elements : list, optional
|
|
60
|
+
List of array elements to plot as gray circles.
|
|
61
|
+
highlighted_array_elements : list, optional
|
|
62
|
+
List of array elements to plot with red circles around them.
|
|
63
|
+
legend_location : str, optional
|
|
64
|
+
Location of the legend (default "best").
|
|
59
65
|
|
|
60
66
|
Examples
|
|
61
67
|
--------
|
|
@@ -97,41 +103,39 @@ Plot all layouts for the North site and model version 6.0.0:
|
|
|
97
103
|
.. code-block:: console
|
|
98
104
|
|
|
99
105
|
simtools-plot-array-layout --site North --plot_all_layouts --model_version=6.0.0
|
|
100
|
-
"""
|
|
101
106
|
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
Plot layout with some telescopes grayed out and others highlighted:
|
|
108
|
+
|
|
109
|
+
.. code-block:: console
|
|
110
|
+
|
|
111
|
+
simtools-plot-array-layout --site North
|
|
112
|
+
--array_layout_name alpha
|
|
113
|
+
--model_version=6.0.0
|
|
114
|
+
--grayed_out_array_elements LSTN-01 LSTN-02
|
|
115
|
+
--highlighted_array_elements MSTN-01 MSTN-02
|
|
116
|
+
--legend_location "upper right"
|
|
117
|
+
"""
|
|
104
118
|
|
|
105
119
|
import matplotlib as mpl
|
|
106
120
|
import matplotlib.pyplot as plt
|
|
107
121
|
|
|
108
122
|
import simtools.layout.array_layout_utils as layout_utils
|
|
109
|
-
|
|
123
|
+
from simtools.application_control import get_application_label, startup_application
|
|
110
124
|
from simtools.configuration import configurator
|
|
111
|
-
from simtools.io import io_handler
|
|
112
125
|
from simtools.visualization import visualize
|
|
113
126
|
from simtools.visualization.plot_array_layout import plot_array_layout
|
|
114
127
|
|
|
115
128
|
|
|
116
|
-
def _parse(
|
|
117
|
-
"""
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
usage : str
|
|
127
|
-
Example on how to use the application.
|
|
128
|
-
|
|
129
|
-
Returns
|
|
130
|
-
-------
|
|
131
|
-
CommandLineParser
|
|
132
|
-
Command line parser object.
|
|
133
|
-
"""
|
|
134
|
-
config = configurator.Configurator(label=label, description=description, usage=usage)
|
|
129
|
+
def _parse():
|
|
130
|
+
"""Parse command line configuration."""
|
|
131
|
+
config = configurator.Configurator(
|
|
132
|
+
label=get_application_label(__file__),
|
|
133
|
+
description="Plots array layout.",
|
|
134
|
+
usage=(
|
|
135
|
+
"Use '--array_layout_name plot_all' to plot all layouts for the given site "
|
|
136
|
+
"and model version."
|
|
137
|
+
),
|
|
138
|
+
)
|
|
135
139
|
|
|
136
140
|
config.parser.add_argument(
|
|
137
141
|
"--figure_name",
|
|
@@ -176,6 +180,33 @@ def _parse(label, description, usage=None):
|
|
|
176
180
|
required=False,
|
|
177
181
|
default=None,
|
|
178
182
|
)
|
|
183
|
+
config.parser.add_argument(
|
|
184
|
+
"--grayed_out_array_elements",
|
|
185
|
+
help="List of array elements to plot as gray circles.",
|
|
186
|
+
type=str,
|
|
187
|
+
nargs="*",
|
|
188
|
+
required=False,
|
|
189
|
+
default=None,
|
|
190
|
+
)
|
|
191
|
+
config.parser.add_argument(
|
|
192
|
+
"--highlighted_array_elements",
|
|
193
|
+
help="List of array elements to plot with red circles around them.",
|
|
194
|
+
type=str,
|
|
195
|
+
nargs="*",
|
|
196
|
+
required=False,
|
|
197
|
+
default=None,
|
|
198
|
+
)
|
|
199
|
+
config.parser.add_argument(
|
|
200
|
+
"--legend_location",
|
|
201
|
+
help=(
|
|
202
|
+
"Location of the legend (e.g., 'best', 'upper right', 'upper left', "
|
|
203
|
+
"'lower left', 'lower right', 'right', 'center left', 'center right', "
|
|
204
|
+
"'lower center', 'upper center', 'center')."
|
|
205
|
+
),
|
|
206
|
+
type=str,
|
|
207
|
+
required=False,
|
|
208
|
+
default="best",
|
|
209
|
+
)
|
|
179
210
|
return config.initialize(
|
|
180
211
|
db_config=True,
|
|
181
212
|
simulation_model=[
|
|
@@ -199,8 +230,8 @@ def read_layouts(args_dict, db_config, logger):
|
|
|
199
230
|
Dictionary with command line arguments.
|
|
200
231
|
db_config : dict
|
|
201
232
|
Database configuration.
|
|
202
|
-
logger : logging.
|
|
203
|
-
|
|
233
|
+
logger : logging.app_context.logger
|
|
234
|
+
app_context.logger instance.
|
|
204
235
|
|
|
205
236
|
Returns
|
|
206
237
|
-------
|
|
@@ -248,28 +279,17 @@ def read_layouts(args_dict, db_config, logger):
|
|
|
248
279
|
|
|
249
280
|
def main():
|
|
250
281
|
"""Plot array layout application."""
|
|
251
|
-
|
|
252
|
-
args_dict, db_config = _parse(
|
|
253
|
-
label,
|
|
254
|
-
(
|
|
255
|
-
"Plots array layout."
|
|
256
|
-
"Use '--array_layout_name plot_all' to plot all layouts for the given site "
|
|
257
|
-
"and model version."
|
|
258
|
-
),
|
|
259
|
-
)
|
|
260
|
-
logger = logging.getLogger()
|
|
261
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
|
|
262
|
-
io_handler_instance = io_handler.IOHandler()
|
|
282
|
+
app_context = startup_application(_parse)
|
|
263
283
|
|
|
264
|
-
layouts = read_layouts(
|
|
284
|
+
layouts = read_layouts(app_context.args, app_context.db_config, app_context.logger)
|
|
265
285
|
|
|
266
|
-
if
|
|
286
|
+
if app_context.args.get("array_layout_name_background"):
|
|
267
287
|
background_layout = layout_utils.get_array_layouts_from_db(
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
db_config,
|
|
272
|
-
|
|
288
|
+
app_context.args["array_layout_name_background"],
|
|
289
|
+
app_context.args["site"],
|
|
290
|
+
app_context.args["model_version"],
|
|
291
|
+
app_context.db_config,
|
|
292
|
+
app_context.args["coordinate_system"],
|
|
273
293
|
)["array_elements"]
|
|
274
294
|
else:
|
|
275
295
|
background_layout = None
|
|
@@ -278,29 +298,31 @@ def main():
|
|
|
278
298
|
for layout in layouts:
|
|
279
299
|
fig_out = plot_array_layout(
|
|
280
300
|
telescopes=layout["array_elements"],
|
|
281
|
-
show_tel_label=
|
|
282
|
-
axes_range=
|
|
283
|
-
marker_scaling=
|
|
301
|
+
show_tel_label=app_context.args["show_labels"],
|
|
302
|
+
axes_range=app_context.args["axes_range"],
|
|
303
|
+
marker_scaling=app_context.args["marker_scaling"],
|
|
284
304
|
background_telescopes=background_layout,
|
|
305
|
+
grayed_out_elements=app_context.args["grayed_out_array_elements"],
|
|
306
|
+
highlighted_elements=app_context.args["highlighted_array_elements"],
|
|
307
|
+
legend_location=app_context.args["legend_location"],
|
|
285
308
|
)
|
|
286
309
|
site_string = ""
|
|
287
310
|
if layout.get("site") is not None:
|
|
288
311
|
site_string = f"_{layout['site']}"
|
|
289
|
-
elif
|
|
290
|
-
site_string = f"_{
|
|
312
|
+
elif app_context.args["site"] is not None:
|
|
313
|
+
site_string = f"_{app_context.args['site']}"
|
|
291
314
|
coordinate_system_string = (
|
|
292
|
-
f"_{
|
|
293
|
-
if
|
|
315
|
+
f"_{app_context.args['coordinate_system']}"
|
|
316
|
+
if app_context.args["coordinate_system"] not in layout["name"]
|
|
294
317
|
else ""
|
|
295
318
|
)
|
|
296
|
-
plot_file_name =
|
|
319
|
+
plot_file_name = app_context.args["figure_name"] or (
|
|
297
320
|
f"array_layout_{layout['name']}{site_string}{coordinate_system_string}"
|
|
298
321
|
)
|
|
299
322
|
|
|
300
323
|
visualize.save_figure(
|
|
301
324
|
fig_out,
|
|
302
|
-
|
|
303
|
-
/ plot_file_name,
|
|
325
|
+
app_context.io_handler.get_output_directory() / plot_file_name,
|
|
304
326
|
dpi=400,
|
|
305
327
|
)
|
|
306
328
|
plt.close()
|
|
@@ -76,19 +76,18 @@ Examples
|
|
|
76
76
|
|
|
77
77
|
"""
|
|
78
78
|
|
|
79
|
-
import logging
|
|
80
79
|
from pathlib import Path
|
|
81
80
|
|
|
82
81
|
import simtools.utils.general as gen
|
|
82
|
+
from simtools.application_control import get_application_label, startup_application
|
|
83
83
|
from simtools.configuration import configurator
|
|
84
|
-
from simtools.io import io_handler
|
|
85
84
|
from simtools.visualization.plot_simtel_events import PLOT_CHOICES, generate_and_save_plots
|
|
86
85
|
|
|
87
86
|
|
|
88
|
-
def _parse(
|
|
87
|
+
def _parse():
|
|
89
88
|
"""Parse command line configuration."""
|
|
90
89
|
config = configurator.Configurator(
|
|
91
|
-
label=
|
|
90
|
+
label=get_application_label(__file__),
|
|
92
91
|
description=(
|
|
93
92
|
"Create diagnostic plots from sim_telarray files using simtools visualization."
|
|
94
93
|
),
|
|
@@ -178,17 +177,16 @@ def _parse(label: str):
|
|
|
178
177
|
|
|
179
178
|
def main():
|
|
180
179
|
"""Generate plots from sim_telarray files."""
|
|
181
|
-
|
|
182
|
-
args, _db = _parse(label)
|
|
180
|
+
app_context = startup_application(_parse)
|
|
183
181
|
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
simtel_files = [
|
|
183
|
+
Path(p).expanduser() for p in gen.ensure_iterable(app_context.args["simtel_files"])
|
|
184
|
+
]
|
|
185
|
+
plots = list(gen.ensure_iterable(app_context.args.get("plots")))
|
|
186
186
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
generate_and_save_plots(simtel_files=simtel_files, plots=plots, args=args, ioh=ioh)
|
|
187
|
+
generate_and_save_plots(
|
|
188
|
+
simtel_files=simtel_files, plots=plots, args=app_context.args, ioh=app_context.io_handler
|
|
189
|
+
)
|
|
192
190
|
|
|
193
191
|
|
|
194
192
|
if __name__ == "__main__":
|
|
@@ -23,37 +23,24 @@ Plot tabular data using a configuration file.
|
|
|
23
23
|
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
import logging
|
|
27
|
-
from pathlib import Path
|
|
28
|
-
|
|
29
26
|
import simtools.utils.general as gen
|
|
27
|
+
from simtools.application_control import get_application_label, startup_application
|
|
30
28
|
from simtools.configuration import configurator
|
|
31
29
|
from simtools.constants import PLOT_CONFIG_SCHEMA
|
|
32
30
|
from simtools.data_model import schema
|
|
33
31
|
from simtools.data_model.metadata_collector import MetadataCollector
|
|
34
|
-
from simtools.io import ascii_handler
|
|
32
|
+
from simtools.io import ascii_handler
|
|
35
33
|
from simtools.visualization import plot_tables
|
|
36
34
|
|
|
37
35
|
|
|
38
|
-
def _parse(
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
description : str
|
|
47
|
-
Description of the application.
|
|
48
|
-
usage : str
|
|
49
|
-
Example on how to use the application.
|
|
50
|
-
|
|
51
|
-
Returns
|
|
52
|
-
-------
|
|
53
|
-
CommandLineParser
|
|
54
|
-
Command line parser object.
|
|
55
|
-
"""
|
|
56
|
-
config = configurator.Configurator(label=label, description=description, usage=usage)
|
|
36
|
+
def _parse():
|
|
37
|
+
"""Parse command line configuration."""
|
|
38
|
+
config = configurator.Configurator(
|
|
39
|
+
label=get_application_label(__file__),
|
|
40
|
+
description="Plots tabular data.",
|
|
41
|
+
usage="""simtools-plot-tabular-data --plot_config config_file_name "
|
|
42
|
+
--output_file output_file_name""",
|
|
43
|
+
)
|
|
57
44
|
|
|
58
45
|
config.parser.add_argument(
|
|
59
46
|
"--plot_config",
|
|
@@ -79,33 +66,25 @@ def _parse(label, description, usage):
|
|
|
79
66
|
|
|
80
67
|
def main():
|
|
81
68
|
"""Plot tabular data."""
|
|
82
|
-
|
|
83
|
-
label=Path(__file__).stem,
|
|
84
|
-
description="Plots tabular data.",
|
|
85
|
-
usage="""simtools-plot-tabular-data --plot_config config_file_name "
|
|
86
|
-
--output_file output_file_name""",
|
|
87
|
-
)
|
|
88
|
-
logger = logging.getLogger()
|
|
89
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict.get("log_level", "INFO")))
|
|
90
|
-
io_handler_instance = io_handler.IOHandler()
|
|
69
|
+
app_context = startup_application(_parse)
|
|
91
70
|
|
|
92
71
|
plot_config = gen.convert_keys_in_dict_to_lowercase(
|
|
93
72
|
schema.validate_dict_using_schema(
|
|
94
|
-
ascii_handler.collect_data_from_file(
|
|
73
|
+
ascii_handler.collect_data_from_file(app_context.args["plot_config"]),
|
|
95
74
|
PLOT_CONFIG_SCHEMA,
|
|
96
75
|
)
|
|
97
76
|
)
|
|
98
77
|
|
|
99
78
|
plot_tables.plot(
|
|
100
79
|
config=plot_config["plot"],
|
|
101
|
-
output_file=
|
|
102
|
-
db_config=
|
|
103
|
-
data_path=
|
|
80
|
+
output_file=app_context.io_handler.get_output_file(app_context.args["output_file"]),
|
|
81
|
+
db_config=app_context.db_config,
|
|
82
|
+
data_path=app_context.args.get("table_data_path"),
|
|
104
83
|
)
|
|
105
84
|
|
|
106
85
|
MetadataCollector.dump(
|
|
107
|
-
|
|
108
|
-
|
|
86
|
+
app_context.args,
|
|
87
|
+
app_context.io_handler.get_output_file(app_context.args["output_file"]),
|
|
109
88
|
add_activity_name=True,
|
|
110
89
|
)
|
|
111
90
|
|
|
@@ -46,19 +46,18 @@ Plot tabular data for all types defined in the schema file:
|
|
|
46
46
|
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
|
-
import
|
|
50
|
-
from pathlib import Path
|
|
51
|
-
|
|
52
|
-
import simtools.utils.general as gen
|
|
49
|
+
from simtools.application_control import get_application_label, startup_application
|
|
53
50
|
from simtools.configuration import configurator
|
|
54
51
|
from simtools.data_model.metadata_collector import MetadataCollector
|
|
55
|
-
from simtools.io import io_handler
|
|
56
52
|
from simtools.visualization import plot_tables
|
|
57
53
|
|
|
58
54
|
|
|
59
|
-
def _parse(
|
|
55
|
+
def _parse():
|
|
60
56
|
"""Parse command line configuration."""
|
|
61
|
-
config = configurator.Configurator(
|
|
57
|
+
config = configurator.Configurator(
|
|
58
|
+
label=get_application_label(__file__),
|
|
59
|
+
description="Plots tabular data for a model parameter.",
|
|
60
|
+
)
|
|
62
61
|
|
|
63
62
|
config.parser.add_argument("--parameter", type=str, required=True, help="Parameter name.")
|
|
64
63
|
config.parser.add_argument(
|
|
@@ -73,31 +72,25 @@ def _parse(label, description):
|
|
|
73
72
|
|
|
74
73
|
def main():
|
|
75
74
|
"""Plot tabular data."""
|
|
76
|
-
|
|
77
|
-
label=Path(__file__).stem,
|
|
78
|
-
description="Plots tabular data for a model parameter.",
|
|
79
|
-
)
|
|
80
|
-
logger = logging.getLogger()
|
|
81
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict.get("log_level", "INFO")))
|
|
82
|
-
io_handler_instance = io_handler.IOHandler()
|
|
75
|
+
app_context = startup_application(_parse)
|
|
83
76
|
|
|
84
77
|
plot_configs, output_files = plot_tables.generate_plot_configurations(
|
|
85
|
-
parameter=
|
|
86
|
-
parameter_version=
|
|
87
|
-
site=
|
|
88
|
-
telescope=
|
|
89
|
-
output_path=
|
|
90
|
-
plot_type=
|
|
91
|
-
db_config=db_config,
|
|
78
|
+
parameter=app_context.args["parameter"],
|
|
79
|
+
parameter_version=app_context.args["parameter_version"],
|
|
80
|
+
site=app_context.args["site"],
|
|
81
|
+
telescope=app_context.args.get("telescope"),
|
|
82
|
+
output_path=app_context.io_handler.get_output_directory(),
|
|
83
|
+
plot_type=app_context.args["plot_type"],
|
|
84
|
+
db_config=app_context.db_config,
|
|
92
85
|
)
|
|
93
86
|
|
|
94
87
|
for plot_config, output_file in zip(plot_configs, output_files):
|
|
95
88
|
plot_tables.plot(
|
|
96
89
|
config=plot_config,
|
|
97
90
|
output_file=output_file,
|
|
98
|
-
db_config=db_config,
|
|
91
|
+
db_config=app_context.db_config,
|
|
99
92
|
)
|
|
100
|
-
MetadataCollector.dump(
|
|
93
|
+
MetadataCollector.dump(app_context.args, output_file=output_file, add_activity_name=True)
|
|
101
94
|
|
|
102
95
|
|
|
103
96
|
if __name__ == "__main__":
|
|
@@ -6,55 +6,27 @@ The versions of simtools, the DB, sim_telarray, and CORSIKA are printed.
|
|
|
6
6
|
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
import logging
|
|
10
|
-
from pathlib import Path
|
|
11
|
-
|
|
12
9
|
from simtools import dependencies, version
|
|
10
|
+
from simtools.application_control import get_application_label, startup_application
|
|
13
11
|
from simtools.configuration import configurator
|
|
14
|
-
from simtools.io import ascii_handler
|
|
15
|
-
from simtools.utils import general as gen
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def _parse(label, description, usage):
|
|
19
|
-
"""
|
|
20
|
-
Parse command line configuration.
|
|
12
|
+
from simtools.io import ascii_handler
|
|
21
13
|
|
|
22
|
-
No command line arguments are required for this application,
|
|
23
|
-
but the configurator is called to set up the DB connection and
|
|
24
|
-
the structure with _parse is kept from other applications for consistency.
|
|
25
|
-
|
|
26
|
-
Parameters
|
|
27
|
-
----------
|
|
28
|
-
label : str
|
|
29
|
-
Label describing the application.
|
|
30
|
-
description : str
|
|
31
|
-
Description of the application.
|
|
32
|
-
usage : str
|
|
33
|
-
Example on how to use the application.
|
|
34
|
-
|
|
35
|
-
Returns
|
|
36
|
-
-------
|
|
37
|
-
CommandLineParser
|
|
38
|
-
Command line parser object.
|
|
39
|
-
"""
|
|
40
|
-
config = configurator.Configurator(label=label, description=description, usage=usage)
|
|
41
14
|
|
|
15
|
+
def _parse():
|
|
16
|
+
"""Parse command line configuration."""
|
|
17
|
+
config = configurator.Configurator(
|
|
18
|
+
label=get_application_label(__file__),
|
|
19
|
+
description="Print the versions of simtools, the DB, sim_telarray and CORSIKA.",
|
|
20
|
+
usage="simtools-print-version",
|
|
21
|
+
)
|
|
42
22
|
return config.initialize(db_config=True, output=True, require_command_line=False)
|
|
43
23
|
|
|
44
24
|
|
|
45
25
|
def main():
|
|
46
26
|
"""Print the versions of the simtools software."""
|
|
47
|
-
|
|
48
|
-
args_dict, db_config = _parse(
|
|
49
|
-
label=label,
|
|
50
|
-
description="Print the versions of simtools, the DB, sim_telarray and CORSIKA.",
|
|
51
|
-
usage="simtools-print-version",
|
|
52
|
-
)
|
|
53
|
-
logger = logging.getLogger()
|
|
54
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
|
|
55
|
-
io_handler_instance = io_handler.IOHandler()
|
|
27
|
+
app_context = startup_application(_parse)
|
|
56
28
|
|
|
57
|
-
version_string = dependencies.get_version_string(db_config)
|
|
29
|
+
version_string = dependencies.get_version_string(app_context.db_config)
|
|
58
30
|
version_dict = {"simtools version": version.__version__}
|
|
59
31
|
|
|
60
32
|
print()
|
|
@@ -68,11 +40,11 @@ def main():
|
|
|
68
40
|
key, value = version_entry.split(": ", 1)
|
|
69
41
|
version_dict[key] = value
|
|
70
42
|
|
|
71
|
-
if not
|
|
43
|
+
if not app_context.args.get("output_file_from_default", False):
|
|
72
44
|
ascii_handler.write_data_to_file(
|
|
73
45
|
data=version_dict,
|
|
74
|
-
output_file=
|
|
75
|
-
|
|
46
|
+
output_file=app_context.io_handler.get_output_file(
|
|
47
|
+
app_context.args.get("output_file", "simtools_version.json")
|
|
76
48
|
),
|
|
77
49
|
)
|
|
78
50
|
|
|
@@ -82,9 +82,7 @@ Derive limits for a given file for custom defined array layouts:
|
|
|
82
82
|
--output_file corsika_simulation_limits_lookup.ecsv
|
|
83
83
|
"""
|
|
84
84
|
|
|
85
|
-
import
|
|
86
|
-
|
|
87
|
-
import simtools.utils.general as gen
|
|
85
|
+
from simtools.application_control import get_application_label, startup_application
|
|
88
86
|
from simtools.configuration import configurator
|
|
89
87
|
from simtools.production_configuration.derive_corsika_limits import (
|
|
90
88
|
generate_corsika_limits_grid,
|
|
@@ -94,7 +92,8 @@ from simtools.production_configuration.derive_corsika_limits import (
|
|
|
94
92
|
def _parse():
|
|
95
93
|
"""Parse command line configuration."""
|
|
96
94
|
config = configurator.Configurator(
|
|
97
|
-
|
|
95
|
+
label=get_application_label(__file__),
|
|
96
|
+
description="Derive limits for energy, radial distance, and viewcone.",
|
|
98
97
|
)
|
|
99
98
|
config.parser.add_argument(
|
|
100
99
|
"--event_data_file",
|
|
@@ -133,12 +132,9 @@ def _parse():
|
|
|
133
132
|
|
|
134
133
|
def main():
|
|
135
134
|
"""Derive limits for energy, radial distance, and viewcone."""
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
logger = logging.getLogger()
|
|
139
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict.get("log_level", "info")))
|
|
135
|
+
app_context = startup_application(_parse)
|
|
140
136
|
|
|
141
|
-
generate_corsika_limits_grid(
|
|
137
|
+
generate_corsika_limits_grid(app_context.args, app_context.db_config)
|
|
142
138
|
|
|
143
139
|
|
|
144
140
|
if __name__ == "__main__":
|
|
@@ -50,27 +50,21 @@ The output will be a file containing the grid points with the derived number of
|
|
|
50
50
|
added.
|
|
51
51
|
"""
|
|
52
52
|
|
|
53
|
-
import
|
|
54
|
-
from pathlib import Path
|
|
55
|
-
|
|
53
|
+
from simtools.application_control import get_application_label, startup_application
|
|
56
54
|
from simtools.configuration import configurator
|
|
57
|
-
from simtools.io import io_handler
|
|
58
55
|
from simtools.production_configuration.derive_production_statistics_handler import (
|
|
59
56
|
ProductionStatisticsHandler,
|
|
60
57
|
)
|
|
61
|
-
from simtools.utils import general as gen
|
|
62
|
-
|
|
63
58
|
|
|
64
|
-
def _parse(label, description):
|
|
65
|
-
"""
|
|
66
|
-
Parse command line arguments for the statistical error evaluator application.
|
|
67
59
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
60
|
+
def _parse():
|
|
61
|
+
"""Parse command line arguments."""
|
|
62
|
+
config = configurator.Configurator(
|
|
63
|
+
label=get_application_label(__file__),
|
|
64
|
+
description=(
|
|
65
|
+
"Evaluate statistical uncertainties from DL2 MC event files and interpolate results."
|
|
66
|
+
),
|
|
67
|
+
)
|
|
74
68
|
|
|
75
69
|
config.parser.add_argument(
|
|
76
70
|
"--grid_points_production_file",
|
|
@@ -139,19 +133,11 @@ def _parse(label, description):
|
|
|
139
133
|
|
|
140
134
|
def main():
|
|
141
135
|
"""Run the ProductionStatisticsHandler."""
|
|
142
|
-
|
|
136
|
+
app_context = startup_application(_parse)
|
|
143
137
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
"Evaluate statistical uncertainties from DL2 MC event files and interpolate results.",
|
|
138
|
+
manager = ProductionStatisticsHandler(
|
|
139
|
+
app_context.args, output_path=app_context.io_handler.get_output_directory()
|
|
147
140
|
)
|
|
148
|
-
logger = logging.getLogger()
|
|
149
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
|
|
150
|
-
|
|
151
|
-
_io_handler = io_handler.IOHandler()
|
|
152
|
-
output_path = _io_handler.get_output_directory(label, sub_dir="")
|
|
153
|
-
|
|
154
|
-
manager = ProductionStatisticsHandler(args_dict, output_path=output_path)
|
|
155
141
|
manager.run()
|
|
156
142
|
|
|
157
143
|
|