Configuration#
Reference documentation for the configuration of simtools applications.
configurator#
Application configuration.
- class configuration.configurator.Configurator(config=None, label=None, usage=None, description=None, epilog=None)[source]#
Application configuration.
Allow to set configuration parameters by
command line arguments
configuration file (yml file)
configuration dict when calling the class
environmental variables
Assigns unique ACTIVITY_ID to this configuration (uuid).
Configuration parameter names are converted always to lower case.
- Parameters:
- config: dict
Configuration parameters as dict.
- label: str
Class label.
- usage: str
Application usage description.
- description: str
Text displayed as description.
- epilog: str
Text display after all arguments.
- default_config(arg_list=None, add_db_config=False)[source]#
Return dictionary of default configuration.
- Parameters:
- arg_list: list
List of arguments.
- add_db_config: bool
Add DB configuration file.
- Returns:
- dict
Configuration parameters as dict.
- initialize(require_command_line=True, paths=True, output=False, simulation_model=None, simulation_configuration=None, db_config=False, job_submission=False)[source]#
Initialize application configuration.
Configure from command line, configuration file, class config, or environmental variable.
Priorities in parameter settings. 1. command line; 2. yaml file; 3. class init; 4. env variables.
Conflicting configuration settings raise an Exception, with the exception of settings from environmental variables, which are only done when the configuration parameter is None.
- Parameters:
- require_command_line: bool
Require at least one command line argument.
- paths: bool
Add path configuration to list of args.
- output: bool
Add output file configuration to list of args.
- simulation_model: list
List of simulation model configuration parameters to add to list of args
- simulation_configuration: dict
Dict of simulation software configuration parameters to add to list of args.
- db_config: bool
Add database configuration parameters to list of args.
- job_submission: bool
Add job submission configuration to list of args.
- Returns:
- dict
Configuration parameters as dict.
- dict
Dictionary with DB parameters
commandline_parser#
Command line parser for applications.
- class configuration.commandline_parser.CommandLineParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=<class 'argparse.HelpFormatter'>, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True, exit_on_error=True)[source]#
Command line parser for applications.
Wrapper around standard python argparse.ArgumentParser.
Command line arguments should be given in snake_case, e.g. input_meta.
- Parameters:
- argparse.ArgumentParser class
Object for parsing command line strings into Python objects. For a list of keywords, please refer to argparse.ArgumentParser documentation.
- static azimuth_angle(angle)[source]#
Argument parser type to check that the azimuth angle provided is in the interval [0, 360].
Other allowed options are north, south, east or west which will be translated to an angle where north corresponds to zero.
- Parameters:
- angle: float or str
azimuth angle to verify or convert
- Returns:
- Astropy.Quantity
Validated/Converted azimuth angle in degrees
- Raises:
- argparse.ArgumentTypeError
When angle is outside of the interval [0, 360] or not in (north, south, east, west)
- static efficiency_interval(value)[source]#
Argument parser type to check that value is an efficiency in the interval [0,1].
- Parameters:
- value: float
value provided through the command line
- Returns:
- float
Validated efficiency interval
- Raises:
- argparse.ArgumentTypeError
When value is outside of the interval [0,1]
- initialize_default_arguments(paths=True, output=False, simulation_model=None, simulation_configuration=None, db_config=False, job_submission=False)[source]#
Initialize default arguments used by all applications (e.g., log level or test flag).
- Parameters:
- paths: bool
Add path configuration to list of args.
- output: bool
Add output file configuration to list of args.
- simulation_model: list
List of simulation model configuration parameters to add to list of args (use: ‘version’, ‘telescope’, ‘site’)
- simulation_configuration: dict
Dict of simulation software configuration parameters to add to list of args.
- db_config: bool
Add database configuration parameters to list of args.
- job_submission: bool
Add job submission configuration parameters to list of args.
- initialize_simulation_configuration_arguments(simulation_configuration)[source]#
Initialize default arguments for simulation configuration and simulation software.
- Parameters:
- simulation_configuration: dict
Dict of simulation software configuration parameters.
- initialize_simulation_model_arguments(model_options)[source]#
Initialize default arguments for simulation model definition.
Note that the model version is always required.
- Parameters:
- model_options: list
Options to be set: “telescope”, “site”, “layout”, “layout_file”
- static parse_integer_and_quantity(input_string)[source]#
Parse a string representing an integer and a quantity with units.
This is e.g., used for the ‘core_scatter’ argument.
- Parameters:
- input_string: str
The input string (e.g., “5 1500 m”) or a tuple converted to string (e.g., “(5, <Quantity 1500 m>)”).
- Returns:
- tuple: A tuple containing an integer and an astropy.units.Quantity object.
- Raises:
- ValueError: If the input string does not match the required format.
- static parse_quantity_pair(string)[source]#
Parse a string representing a pair of astropy quantities separated by a space.
- Args:
string: The input string (e.g., “0 deg 1.5 deg”).
- Returns:
- tuple: A tuple containing two astropy.units.Quantity objects.
- Raises:
- ValueError: If the string is not formatted correctly (e.g., missing space).
- static site(value)[source]#
Argument parser type to check that a valid site name is given.
- Parameters:
- value: str
site name
- Returns:
- str
Validated site name
- Raises:
- argparse.ArgumentTypeError
for invalid sites
- static telescope(value)[source]#
Argument parser type to check that a valid telescope name is given.
- Parameters:
- value: str
telescope name
- Returns:
- str
Validated telescope name
- Raises:
- argparse.ArgumentTypeError
for invalid telescope
- static zenith_angle(angle)[source]#
Argument parser type to check that the zenith angle provided is in the interval [0, 180].
We allow here zenith angles larger than 90 degrees in the improbable case such simulations are requested. It is not guaranteed that the actual simulation software supports such angles!.
- Parameters:
- angle: float, str, astropy.Quantity
zenith angle to verify
- Returns:
- Astropy.Quantity
Validated zenith angle in degrees
- Raises:
- argparse.ArgumentTypeError
When angle is outside of the interval [0, 180]