Source code for generate_array_config
#!/usr/bin/python3
"""
Generate sim_telarray configuration files for a given array.
The applications generates the sim_telarray configuration files for a given array, site,
and model_version using the model parameters stored in the database.
Command line arguments
----------------------
site : str
Site name (e.g., North, South).
array_layout_name : str
Name of the layout array (e.g., test_layout, alpha, 4mst, etc.).
array_element_list : list
List of array elements (e.g., telescopes) to plot (e.g., ``LSTN-01 LSTN-02 MSTN``).
Example
-------
North - 5.0.0:
.. code-block:: console
simtools-generate-array-config --site North --array_layout_name alpha --model_version 5.0.0
The output is saved in simtools-output/test/model.
"""
from simtools.application_control import get_application_label, startup_application
from simtools.configuration import configurator
from simtools.model.array_model import ArrayModel
def _parse():
"""Parse command line configuration."""
config = configurator.Configurator(
label=get_application_label(__file__),
description="Generate sim_telarray configuration files for a given array.",
)
return config.initialize(db_config=True, simulation_model=["site", "layout", "model_version"])
[docs]
def main():
"""Generate sim_telarray configuration files for a given array."""
app_context = startup_application(_parse)
array_model = ArrayModel(
label=app_context.args["label"],
model_version=app_context.args["model_version"],
mongo_db_config=app_context.db_config,
site=app_context.args.get("site"),
layout_name=app_context.args.get("array_layout_name"),
array_elements=app_context.args.get("array_elements"),
)
array_model.print_telescope_list()
array_model.export_all_simtel_config_files()
if __name__ == "__main__":
main()