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
|
@@ -42,10 +42,7 @@ r"""
|
|
|
42
42
|
--updated_parameter_version 3.0.0
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
import
|
|
46
|
-
from pathlib import Path
|
|
47
|
-
|
|
48
|
-
import simtools.utils.general as gen
|
|
45
|
+
from simtools.application_control import get_application_label, startup_application
|
|
49
46
|
from simtools.configuration import configurator
|
|
50
47
|
from simtools.db import db_handler
|
|
51
48
|
from simtools.layout.array_layout_utils import (
|
|
@@ -55,10 +52,10 @@ from simtools.layout.array_layout_utils import (
|
|
|
55
52
|
)
|
|
56
53
|
|
|
57
54
|
|
|
58
|
-
def _parse(
|
|
55
|
+
def _parse():
|
|
59
56
|
"""Parse command line configuration."""
|
|
60
57
|
config = configurator.Configurator(
|
|
61
|
-
label=
|
|
58
|
+
label=get_application_label(__file__),
|
|
62
59
|
description="Derive CTAO array layouts from CTAO common identifiers repository.",
|
|
63
60
|
)
|
|
64
61
|
config.parser.add_argument(
|
|
@@ -85,34 +82,32 @@ def _parse(label):
|
|
|
85
82
|
)
|
|
86
83
|
|
|
87
84
|
|
|
88
|
-
def main():
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
logger = logging.getLogger()
|
|
92
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
|
|
85
|
+
def main():
|
|
86
|
+
"""Derive CTAO array layouts from CTAO common identifiers repository."""
|
|
87
|
+
app_context = startup_application(_parse)
|
|
93
88
|
|
|
94
89
|
ctao_array_layouts = retrieve_ctao_array_layouts(
|
|
95
|
-
site=
|
|
96
|
-
repository_url=
|
|
97
|
-
branch_name=
|
|
90
|
+
site=app_context.args["site"],
|
|
91
|
+
repository_url=app_context.args["repository_url"],
|
|
92
|
+
branch_name=app_context.args["repository_branch"],
|
|
98
93
|
)
|
|
99
94
|
|
|
100
|
-
db = db_handler.DatabaseHandler(mongo_db_config=db_config)
|
|
95
|
+
db = db_handler.DatabaseHandler(mongo_db_config=app_context.db_config)
|
|
101
96
|
db_array_layouts = db.get_model_parameter(
|
|
102
97
|
parameter="array_layouts",
|
|
103
|
-
site=
|
|
98
|
+
site=app_context.args["site"],
|
|
104
99
|
array_element_name=None,
|
|
105
|
-
parameter_version=
|
|
106
|
-
model_version=
|
|
100
|
+
parameter_version=app_context.args.get("parameter_version"),
|
|
101
|
+
model_version=app_context.args.get("model_version"),
|
|
107
102
|
)
|
|
108
103
|
db_array_layouts["array_layouts"].pop("_id", None)
|
|
109
104
|
db_array_layouts["array_layouts"].pop("entry_date", None)
|
|
110
|
-
logger.info(f"Layouts from model parameter database: {db_array_layouts}")
|
|
105
|
+
app_context.logger.info(f"Layouts from model parameter database: {db_array_layouts}")
|
|
111
106
|
|
|
112
107
|
write_array_layouts(
|
|
113
108
|
array_layouts=merge_array_layouts(db_array_layouts["array_layouts"], ctao_array_layouts),
|
|
114
|
-
args_dict=
|
|
115
|
-
db_config=db_config,
|
|
109
|
+
args_dict=app_context.args,
|
|
110
|
+
db_config=app_context.db_config,
|
|
116
111
|
)
|
|
117
112
|
|
|
118
113
|
|
|
@@ -125,18 +125,15 @@ r"""
|
|
|
125
125
|
|
|
126
126
|
"""
|
|
127
127
|
|
|
128
|
-
import
|
|
129
|
-
from pathlib import Path
|
|
130
|
-
|
|
131
|
-
import simtools.utils.general as gen
|
|
128
|
+
from simtools.application_control import get_application_label, startup_application
|
|
132
129
|
from simtools.configuration import configurator
|
|
133
130
|
from simtools.ray_tracing.mirror_panel_psf import MirrorPanelPSF
|
|
134
131
|
|
|
135
132
|
|
|
136
|
-
def _parse(
|
|
133
|
+
def _parse():
|
|
137
134
|
"""Parse command line configuration."""
|
|
138
135
|
config = configurator.Configurator(
|
|
139
|
-
description="Derive mirror random reflection angle.", label=
|
|
136
|
+
description="Derive mirror random reflection angle.", label=get_application_label(__file__)
|
|
140
137
|
)
|
|
141
138
|
psf_group = config.parser.add_mutually_exclusive_group()
|
|
142
139
|
psf_group.add_argument(
|
|
@@ -217,15 +214,13 @@ def _parse(label):
|
|
|
217
214
|
)
|
|
218
215
|
|
|
219
216
|
|
|
220
|
-
def main():
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
args_dict, db_config = _parse(label)
|
|
217
|
+
def main():
|
|
218
|
+
"""Derive mirror random reflection angle of a single mirror panel."""
|
|
219
|
+
app_context = startup_application(_parse)
|
|
224
220
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
panel_psf = MirrorPanelPSF(label, args_dict, db_config)
|
|
221
|
+
panel_psf = MirrorPanelPSF(
|
|
222
|
+
app_context.args.get("label"), app_context.args, app_context.db_config
|
|
223
|
+
)
|
|
229
224
|
panel_psf.derive_random_reflection_angle(save_figures=True)
|
|
230
225
|
panel_psf.print_results()
|
|
231
226
|
panel_psf.write_optimization_data()
|
|
@@ -34,18 +34,17 @@ r"""
|
|
|
34
34
|
|
|
35
35
|
"""
|
|
36
36
|
|
|
37
|
-
import logging
|
|
38
37
|
from pathlib import Path
|
|
39
38
|
|
|
40
|
-
|
|
39
|
+
from simtools.application_control import get_application_label, startup_application
|
|
41
40
|
from simtools.camera.single_photon_electron_spectrum import SinglePhotonElectronSpectrum
|
|
42
41
|
from simtools.configuration import configurator
|
|
43
42
|
|
|
44
43
|
|
|
45
|
-
def _parse(
|
|
44
|
+
def _parse():
|
|
46
45
|
"""Parse command line configuration."""
|
|
47
46
|
config = configurator.Configurator(
|
|
48
|
-
label=
|
|
47
|
+
label=get_application_label(__file__),
|
|
49
48
|
description="Derive single photon electron spectrum from a given amplitude spectrum.",
|
|
50
49
|
)
|
|
51
50
|
config.parser.add_argument(
|
|
@@ -112,13 +111,11 @@ def _parse(label):
|
|
|
112
111
|
return config.initialize(db_config=False, output=True, simulation_model=["telescope"])
|
|
113
112
|
|
|
114
113
|
|
|
115
|
-
def main():
|
|
116
|
-
|
|
114
|
+
def main():
|
|
115
|
+
"""Derive single photon electron spectrum from a given amplitude spectrum."""
|
|
116
|
+
app_context = startup_application(_parse)
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
|
|
120
|
-
|
|
121
|
-
single_pe = SinglePhotonElectronSpectrum(args_dict)
|
|
118
|
+
single_pe = SinglePhotonElectronSpectrum(app_context.args)
|
|
122
119
|
single_pe.derive_single_pe_spectrum()
|
|
123
120
|
single_pe.write_single_pe_spectrum()
|
|
124
121
|
|
|
@@ -110,22 +110,19 @@ r"""
|
|
|
110
110
|
|
|
111
111
|
"""
|
|
112
112
|
|
|
113
|
-
import
|
|
114
|
-
from pathlib import Path
|
|
115
|
-
|
|
113
|
+
from simtools.application_control import get_application_label, startup_application
|
|
116
114
|
from simtools.configuration import configurator
|
|
117
|
-
from simtools.io import io_handler
|
|
118
115
|
from simtools.model.model_utils import initialize_simulation_models
|
|
119
116
|
from simtools.ray_tracing import psf_parameter_optimisation as psf_opt
|
|
120
|
-
from simtools.utils.general import get_log_level_from_user
|
|
121
117
|
|
|
122
118
|
|
|
123
119
|
def _parse():
|
|
124
120
|
config = configurator.Configurator(
|
|
121
|
+
label=get_application_label(__file__),
|
|
125
122
|
description=(
|
|
126
123
|
"Derive mirror_reflection_random_angle, mirror_align_random_horizontal "
|
|
127
124
|
"and mirror_align_random_vertical using cumulative PSF measurement."
|
|
128
|
-
)
|
|
125
|
+
),
|
|
129
126
|
)
|
|
130
127
|
config.parser.add_argument(
|
|
131
128
|
"--src_distance",
|
|
@@ -184,30 +181,36 @@ def _parse():
|
|
|
184
181
|
help="Use KS statistic for monte carlo uncertainty analysis.",
|
|
185
182
|
action="store_true",
|
|
186
183
|
)
|
|
184
|
+
config.parser.add_argument(
|
|
185
|
+
"--fraction",
|
|
186
|
+
help="PSF containment fraction for diameter calculation (e.g., 0.8 for D80, 0.95 for D95).",
|
|
187
|
+
type=float,
|
|
188
|
+
default=0.8,
|
|
189
|
+
)
|
|
187
190
|
return config.initialize(
|
|
188
191
|
db_config=True,
|
|
189
192
|
simulation_model=["telescope", "model_version", "parameter_version"],
|
|
190
193
|
)
|
|
191
194
|
|
|
192
195
|
|
|
193
|
-
def main():
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
label = label = Path(__file__).stem
|
|
197
|
-
logger = logging.getLogger()
|
|
198
|
-
logger.setLevel(get_log_level_from_user(args_dict["log_level"]))
|
|
196
|
+
def main():
|
|
197
|
+
"""Derive PSF parameters."""
|
|
198
|
+
app_context = startup_application(_parse)
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
telescope_name=args_dict["telescope"],
|
|
207
|
-
model_version=args_dict["model_version"],
|
|
200
|
+
tel_model, site_model, _ = initialize_simulation_models(
|
|
201
|
+
label=app_context.args.get("label"),
|
|
202
|
+
db_config=app_context.db_config,
|
|
203
|
+
site=app_context.args["site"],
|
|
204
|
+
telescope_name=app_context.args["telescope"],
|
|
205
|
+
model_version=app_context.args["model_version"],
|
|
208
206
|
)
|
|
209
207
|
|
|
210
|
-
psf_opt.run_psf_optimization_workflow(
|
|
208
|
+
psf_opt.run_psf_optimization_workflow(
|
|
209
|
+
tel_model,
|
|
210
|
+
site_model,
|
|
211
|
+
app_context.args,
|
|
212
|
+
app_context.io_handler.get_output_directory(),
|
|
213
|
+
)
|
|
211
214
|
|
|
212
215
|
|
|
213
216
|
if __name__ == "__main__":
|
|
@@ -37,9 +37,7 @@ Derive trigger rates for the South Alpha layout:
|
|
|
37
37
|
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
|
-
import
|
|
41
|
-
|
|
42
|
-
import simtools.utils.general as gen
|
|
40
|
+
from simtools.application_control import get_application_label, startup_application
|
|
43
41
|
from simtools.configuration import configurator
|
|
44
42
|
from simtools.telescope_trigger_rates import telescope_trigger_rates
|
|
45
43
|
|
|
@@ -47,6 +45,7 @@ from simtools.telescope_trigger_rates import telescope_trigger_rates
|
|
|
47
45
|
def _parse():
|
|
48
46
|
"""Parse command line configuration."""
|
|
49
47
|
config = configurator.Configurator(
|
|
48
|
+
label=get_application_label(__file__),
|
|
50
49
|
description="Derive trigger rates for a single telescope or an array of telescopes.",
|
|
51
50
|
)
|
|
52
51
|
config.parser.add_argument(
|
|
@@ -78,13 +77,11 @@ def _parse():
|
|
|
78
77
|
)
|
|
79
78
|
|
|
80
79
|
|
|
81
|
-
def main():
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
logger = logging.getLogger()
|
|
85
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict.get("log_level", "info")))
|
|
80
|
+
def main():
|
|
81
|
+
"""Derive trigger rates for a single telescope or an array of telescopes."""
|
|
82
|
+
app_context = startup_application(_parse)
|
|
86
83
|
|
|
87
|
-
telescope_trigger_rates(
|
|
84
|
+
telescope_trigger_rates(app_context.args, app_context.db_config)
|
|
88
85
|
|
|
89
86
|
|
|
90
87
|
if __name__ == "__main__":
|
|
@@ -7,20 +7,18 @@ The report includes detailed information on each parameter,
|
|
|
7
7
|
such as the parameter name, value, unit, description, and short description.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
-
import logging
|
|
11
10
|
from pathlib import Path
|
|
12
11
|
|
|
12
|
+
from simtools.application_control import get_application_label, startup_application
|
|
13
13
|
from simtools.configuration import configurator
|
|
14
|
-
from simtools.io import io_handler
|
|
15
14
|
from simtools.reporting.docs_auto_report_generator import ReportGenerator
|
|
16
15
|
from simtools.reporting.docs_read_parameters import ReadParameters
|
|
17
|
-
from simtools.utils import general as gen
|
|
18
16
|
|
|
19
17
|
|
|
20
|
-
def _parse(
|
|
18
|
+
def _parse():
|
|
21
19
|
"""Parse command line configuration."""
|
|
22
20
|
config = configurator.Configurator(
|
|
23
|
-
label=
|
|
21
|
+
label=get_application_label(__file__),
|
|
24
22
|
description=("Produce a markdown report for model parameters."),
|
|
25
23
|
)
|
|
26
24
|
|
|
@@ -51,34 +49,35 @@ def _parse(label):
|
|
|
51
49
|
)
|
|
52
50
|
|
|
53
51
|
|
|
54
|
-
def main():
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
def main():
|
|
53
|
+
"""Produce a markdown file for a given array element, site, and model version."""
|
|
54
|
+
app_context = startup_application(_parse)
|
|
55
|
+
output_path = app_context.io_handler.get_output_directory()
|
|
57
56
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
if any(
|
|
58
|
+
[
|
|
59
|
+
app_context.args.get("all_telescopes"),
|
|
60
|
+
app_context.args.get("all_sites"),
|
|
61
|
+
app_context.args.get("all_model_versions"),
|
|
62
|
+
]
|
|
63
|
+
):
|
|
65
64
|
ReportGenerator(
|
|
66
|
-
db_config,
|
|
67
|
-
args,
|
|
65
|
+
app_context.db_config,
|
|
66
|
+
app_context.args,
|
|
68
67
|
output_path,
|
|
69
68
|
).auto_generate_array_element_reports()
|
|
70
69
|
|
|
71
70
|
else:
|
|
72
|
-
model_version = args["model_version"]
|
|
71
|
+
model_version = app_context.args["model_version"]
|
|
73
72
|
ReadParameters(
|
|
74
|
-
db_config,
|
|
75
|
-
args,
|
|
73
|
+
app_context.db_config,
|
|
74
|
+
app_context.args,
|
|
76
75
|
Path(output_path / f"{model_version}"),
|
|
77
76
|
).produce_array_element_report()
|
|
78
77
|
|
|
79
|
-
logger.info(
|
|
80
|
-
f"Markdown report generated for {args['site']}"
|
|
81
|
-
f" Telescope {args['telescope']} (v{model_version}):"
|
|
78
|
+
app_context.logger.info(
|
|
79
|
+
f"Markdown report generated for {app_context.args['site']}"
|
|
80
|
+
f" Telescope {app_context.args['telescope']} (v{model_version}):"
|
|
82
81
|
f" {output_path}"
|
|
83
82
|
)
|
|
84
83
|
|
|
@@ -2,47 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
r"""Produces a markdown file for calibration reports."""
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
|
|
5
|
+
from simtools.application_control import get_application_label, startup_application
|
|
7
6
|
from simtools.configuration import configurator
|
|
8
|
-
from simtools.
|
|
9
|
-
from simtools.reporting.docs_read_parameters import ReadParameters
|
|
10
|
-
from simtools.utils import general as gen
|
|
7
|
+
from simtools.reporting.docs_auto_report_generator import ReportGenerator
|
|
11
8
|
|
|
12
9
|
|
|
13
|
-
def _parse(
|
|
10
|
+
def _parse():
|
|
14
11
|
"""Parse command line configuration."""
|
|
15
12
|
config = configurator.Configurator(
|
|
16
|
-
label=
|
|
13
|
+
label=get_application_label(__file__),
|
|
17
14
|
description=("Produce a markdown report for calibration parameters."),
|
|
18
15
|
)
|
|
19
16
|
|
|
17
|
+
config.parser.add_argument(
|
|
18
|
+
"--all_model_versions",
|
|
19
|
+
action="store_true",
|
|
20
|
+
help="Produce reports for all model versions.",
|
|
21
|
+
)
|
|
22
|
+
|
|
20
23
|
return config.initialize(
|
|
21
24
|
db_config=True,
|
|
22
25
|
simulation_model=["model_version"],
|
|
23
26
|
)
|
|
24
27
|
|
|
25
28
|
|
|
26
|
-
def main():
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
io_handler_instance = io_handler.IOHandler()
|
|
31
|
-
output_path = io_handler_instance.get_output_directory(label=label_name, sub_dir="productions")
|
|
32
|
-
|
|
33
|
-
logger = logging.getLogger()
|
|
34
|
-
logger.setLevel(gen.get_log_level_from_user(args["log_level"]))
|
|
35
|
-
|
|
36
|
-
read_parameters = ReadParameters(
|
|
37
|
-
db_config=db_config, args=args, output_path=output_path / f"{args.get('model_version')}"
|
|
38
|
-
)
|
|
29
|
+
def main():
|
|
30
|
+
"""Produce a markdown file for calibration reports."""
|
|
31
|
+
app_context = startup_application(_parse)
|
|
39
32
|
|
|
40
|
-
|
|
33
|
+
output_path = app_context.io_handler.get_output_directory()
|
|
41
34
|
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
generator = ReportGenerator(
|
|
36
|
+
db_config=app_context.db_config, args=app_context.args, output_path=output_path
|
|
44
37
|
)
|
|
45
|
-
|
|
38
|
+
generator.auto_generate_calibration_reports()
|
|
39
|
+
|
|
40
|
+
if app_context.args.get("all_model_versions"):
|
|
41
|
+
app_context.logger.info("Calibration reports for all model versions produced successfully.")
|
|
42
|
+
else:
|
|
43
|
+
app_context.logger.info(
|
|
44
|
+
f"Calibration reports for model version {app_context.args.get('model_version')}"
|
|
45
|
+
" produced successfully."
|
|
46
|
+
)
|
|
47
|
+
app_context.logger.info(f"Output path: {output_path}")
|
|
46
48
|
|
|
47
49
|
|
|
48
50
|
if __name__ == "__main__":
|
|
@@ -8,19 +8,16 @@ comparing their values over various model versions.
|
|
|
8
8
|
Currently only implemented for telescopes.
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
|
|
11
|
+
from simtools.application_control import get_application_label, startup_application
|
|
13
12
|
from simtools.configuration import configurator
|
|
14
|
-
from simtools.io import io_handler
|
|
15
13
|
from simtools.reporting.docs_auto_report_generator import ReportGenerator
|
|
16
14
|
from simtools.reporting.docs_read_parameters import ReadParameters
|
|
17
|
-
from simtools.utils import general as gen
|
|
18
15
|
|
|
19
16
|
|
|
20
|
-
def _parse(
|
|
17
|
+
def _parse():
|
|
21
18
|
"""Parse command line configuration."""
|
|
22
19
|
config = configurator.Configurator(
|
|
23
|
-
label=
|
|
20
|
+
label=get_application_label(__file__),
|
|
24
21
|
description=("Produce a markdown report for model parameters."),
|
|
25
22
|
)
|
|
26
23
|
|
|
@@ -37,32 +34,28 @@ def _parse(label):
|
|
|
37
34
|
return config.initialize(db_config=True, simulation_model=["site", "telescope"])
|
|
38
35
|
|
|
39
36
|
|
|
40
|
-
def main():
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
output_path = io_handler_instance.get_output_directory(label=label_name, sub_dir="parameters")
|
|
45
|
-
|
|
46
|
-
logger = logging.getLogger()
|
|
47
|
-
logger.setLevel(gen.get_log_level_from_user(args["log_level"]))
|
|
37
|
+
def main():
|
|
38
|
+
"""Produce a model parameter report per array element."""
|
|
39
|
+
app_context = startup_application(_parse)
|
|
40
|
+
output_path = app_context.io_handler.get_output_directory()
|
|
48
41
|
|
|
49
|
-
if any([args.get("all_telescopes"), args.get("all_sites")]):
|
|
42
|
+
if any([app_context.args.get("all_telescopes"), app_context.args.get("all_sites")]):
|
|
50
43
|
ReportGenerator(
|
|
51
|
-
db_config,
|
|
52
|
-
args,
|
|
44
|
+
app_context.db_config,
|
|
45
|
+
app_context.args,
|
|
53
46
|
output_path,
|
|
54
47
|
).auto_generate_parameter_reports()
|
|
55
48
|
|
|
56
49
|
else:
|
|
57
50
|
ReadParameters(
|
|
58
|
-
db_config,
|
|
59
|
-
args,
|
|
51
|
+
app_context.db_config,
|
|
52
|
+
app_context.args,
|
|
60
53
|
output_path,
|
|
61
54
|
).produce_model_parameter_reports()
|
|
62
55
|
|
|
63
|
-
logger.info(
|
|
64
|
-
f"Markdown report generated for {args['site']}"
|
|
65
|
-
f"Telescope {args['telescope']}: {output_path}"
|
|
56
|
+
app_context.logger.info(
|
|
57
|
+
f"Markdown report generated for {app_context.args['site']}"
|
|
58
|
+
f"Telescope {app_context.args['telescope']}: {output_path}"
|
|
66
59
|
)
|
|
67
60
|
|
|
68
61
|
|
|
@@ -2,21 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
r"""Produces a markdown file for a given simulation configuration."""
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
|
|
5
|
+
from simtools.application_control import get_application_label, startup_application
|
|
7
6
|
from simtools.configuration import configurator
|
|
8
|
-
from simtools.
|
|
9
|
-
from simtools.reporting.docs_read_parameters import ReadParameters
|
|
10
|
-
from simtools.utils import general as gen
|
|
7
|
+
from simtools.reporting.docs_auto_report_generator import ReportGenerator
|
|
11
8
|
|
|
12
9
|
|
|
13
|
-
def _parse(
|
|
10
|
+
def _parse():
|
|
14
11
|
"""Parse command line configuration."""
|
|
15
12
|
config = configurator.Configurator(
|
|
16
|
-
label=
|
|
13
|
+
label=get_application_label(__file__),
|
|
17
14
|
description=("Produce a markdown report for model parameters."),
|
|
18
15
|
)
|
|
19
16
|
|
|
17
|
+
config.parser.add_argument(
|
|
18
|
+
"--all_model_versions",
|
|
19
|
+
action="store_true",
|
|
20
|
+
help="Produce reports for all model versions.",
|
|
21
|
+
)
|
|
22
|
+
|
|
20
23
|
return config.initialize(
|
|
21
24
|
db_config=True,
|
|
22
25
|
simulation_model=["model_version"],
|
|
@@ -24,26 +27,22 @@ def _parse(label):
|
|
|
24
27
|
)
|
|
25
28
|
|
|
26
29
|
|
|
27
|
-
def main():
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
def main():
|
|
31
|
+
"""Produce a markdown file for a given simulation configuration."""
|
|
32
|
+
app_context = startup_application(_parse)
|
|
30
33
|
|
|
31
|
-
|
|
32
|
-
output_path = io_handler_instance.get_output_directory(label=label_name, sub_dir="productions")
|
|
34
|
+
output_path = app_context.io_handler.get_output_directory()
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
read_parameters = ReadParameters(
|
|
38
|
-
db_config=db_config, args=args, output_path=output_path / f"{args.get('model_version')}"
|
|
36
|
+
report_generator = ReportGenerator(
|
|
37
|
+
db_config=app_context.db_config, args=app_context.args, output_path=output_path
|
|
39
38
|
)
|
|
39
|
+
report_generator.auto_generate_simulation_configuration_reports()
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
f"Configuration reports for {args.get('simulation_software')} produced successfully."
|
|
41
|
+
app_context.logger.info(
|
|
42
|
+
f"Configuration reports for {app_context.args.get('simulation_software')} "
|
|
43
|
+
"produced successfully."
|
|
45
44
|
)
|
|
46
|
-
logger.info(f"Output path: {output_path}
|
|
45
|
+
app_context.logger.info(f"Output path: {output_path}")
|
|
47
46
|
|
|
48
47
|
|
|
49
48
|
if __name__ == "__main__":
|
|
@@ -25,50 +25,31 @@ North - 5.0.0:
|
|
|
25
25
|
The output is saved in simtools-output/test/model.
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
|
-
import
|
|
29
|
-
from pathlib import Path
|
|
30
|
-
|
|
31
|
-
import simtools.utils.general as gen
|
|
28
|
+
from simtools.application_control import get_application_label, startup_application
|
|
32
29
|
from simtools.configuration import configurator
|
|
33
30
|
from simtools.model.array_model import ArrayModel
|
|
34
31
|
|
|
35
32
|
|
|
36
|
-
def _parse(
|
|
37
|
-
"""
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
label : str
|
|
43
|
-
Label describing the application.
|
|
44
|
-
description : str
|
|
45
|
-
Description of the application.
|
|
46
|
-
|
|
47
|
-
Returns
|
|
48
|
-
-------
|
|
49
|
-
CommandLineParser
|
|
50
|
-
Command line parser object.
|
|
51
|
-
"""
|
|
52
|
-
config = configurator.Configurator(label=label, description=description)
|
|
33
|
+
def _parse():
|
|
34
|
+
"""Parse command line configuration."""
|
|
35
|
+
config = configurator.Configurator(
|
|
36
|
+
label=get_application_label(__file__),
|
|
37
|
+
description="Generate sim_telarray configuration files for a given array.",
|
|
38
|
+
)
|
|
53
39
|
return config.initialize(db_config=True, simulation_model=["site", "layout", "model_version"])
|
|
54
40
|
|
|
55
41
|
|
|
56
42
|
def main():
|
|
57
43
|
"""Generate sim_telarray configuration files for a given array."""
|
|
58
|
-
|
|
59
|
-
label=Path(__file__).stem,
|
|
60
|
-
description=("Generate sim_telarray configuration files for a given array."),
|
|
61
|
-
)
|
|
62
|
-
logger = logging.getLogger("simtools")
|
|
63
|
-
logger.setLevel(gen.get_log_level_from_user(args_dict["log_level"]))
|
|
44
|
+
app_context = startup_application(_parse)
|
|
64
45
|
|
|
65
46
|
array_model = ArrayModel(
|
|
66
|
-
label=
|
|
67
|
-
model_version=
|
|
68
|
-
mongo_db_config=db_config,
|
|
69
|
-
site=
|
|
70
|
-
layout_name=
|
|
71
|
-
array_elements=
|
|
47
|
+
label=app_context.args["label"],
|
|
48
|
+
model_version=app_context.args["model_version"],
|
|
49
|
+
mongo_db_config=app_context.db_config,
|
|
50
|
+
site=app_context.args.get("site"),
|
|
51
|
+
layout_name=app_context.args.get("array_layout_name"),
|
|
52
|
+
array_elements=app_context.args.get("array_elements"),
|
|
72
53
|
)
|
|
73
54
|
array_model.print_telescope_list()
|
|
74
55
|
array_model.export_all_simtel_config_files()
|