The following outlines a large refactoring project for the simulation configuration code. Any input would be appreciated.
The current implementation of the configuration of simulation productions / runs needs updates to take additional functionality into account since its first implementation:
improved command line configurator
usage of json-schema for yaml file validation (e.g., data/parameters/simtel-runner-array_parameters.yml and data/parameters/array-simulator_parameters is used as template for validation only)
the possibility to update model parameters using the model parameter repository (meaning functionality of the "array block" to change parameter (see e.g., here is not required anymore)
corsika and sim_telarray configuration parameters will go / are already in the database (e.g., here)
Given this, I will try and implement the following changes to address the points discussed above and the issues in this milestone:
move all configuration parameters into the database (add a configuration_corsika section); means also to add schema for all of them (these are e.g., many of values in INTERACTION_FLAGS, CHERENKOV_EMISSION_PARAMETERS, DEBUGGING_OUTPUT_PARAMETERS sections of data/parameters/corsika_parameters.yml)
use only the command line configurator for the configuration of the simulation productions, and not any other yaml files (command line configuration parameters can be provided using a config file)
After implementing these changes, the following example configuration files will be obsolete:
The following outlines a large refactoring project for the simulation configuration code. Any input would be appreciated.
The current implementation of the configuration of simulation productions / runs needs updates to take additional functionality into account since its first implementation:
Given this, I will try and implement the following changes to address the points discussed above and the issues in this milestone:
configuration_corsika
section); means also to add schema for all of them (these are e.g., many of values inINTERACTION_FLAGS
,CHERENKOV_EMISSION_PARAMETERS
,DEBUGGING_OUTPUT_PARAMETERS
sections of data/parameters/corsika_parameters.yml)After implementing these changes, the following example configuration files will be obsolete:
This should allow to remove some of the code dealing with configuration dictionaries and their validation (e.g., general.validate_config_data)