simtools-submit-array-layouts#

Submit an array-layout parameter after validating its telescope elements.

Overview#

This application validates all telescope elements in an array-layout parameter against the telescope production table for the selected model version, then writes the validated parameter and metadata with updated_parameter_version.

Use the legacy array_layouts option to submit a complete canonical parameter file. Alternatively, define one new layout directly as a subset of an existing reference layout. Direct submission reads the requested parameter_version, preserves the existing named layouts, and rejects a new layout name that already exists.

Direct layout input#

The following command adds a South-site layout containing two telescopes from hyper_array:

simtools-submit-array-layouts \\
    --site South --model_version 7.0.0 \\
    --parameter_version 3.0.0 \\
    --updated_parameter_version 3.0.99 \\
    --array_layout_name South-dual-camera-example \\
    --array_element_list MSTS-01 MSTS-301

reference_array_layout defaults to hyper_array. The submitted elements must be non-empty, unique, and contained in that reference layout. Layout names are normalized by replacing spaces with dashes.

Legacy file input#

Submit a complete array-layout parameter file with:

simtools-submit-array-layouts \\
    --array_layouts array_layouts.json \\
    --model_version 6.0.0 \\
    --updated_parameter_version 0.1.0 \\
    --input_meta array_layouts.metadata.yml

Command line arguments#

options#

–help

show this help message and exit

–array_layouts

Complete canonical array-layout parameter file (legacy input).

–array_layout_name

Name of the new array layout.

–array_element_list

Telescope names in the new array layout.

–reference_array_layout

Existing layout that limits selectable telescopes.

Default: hyper_array.

–input_meta

Meta data file(s) associated to input data.

simulation model#

–model_version

Simulation production model version(s). Use –show_options model_version.

–parameter_version

model parameter version

–updated_parameter_version

updated parameter version

–overwrite_model_parameters

JSON string with model parameters to overwrite

–site

Observatory site (e.g., North, South). Use –show_options site.

output#

–output_file

Output data file.

–output_file_format

file format of output data

Default: ecsv.

–skip_output_validation

skip output data validation against schema

model repository#

–simulation_models_path

Path containing the simulation-model repository to read.

–simulation_models_git_path

Path to a local normal, bare, or mirror Git repository containing simulation models.

–simulation_models_git_revision

Git tag, ref, or commit to read from the simulation-model repository.

application#

–show_options

Print available values for a supported option and exit.

Integration examples#

The legacy file-input workflow is covered by:

Prepare array layouts for model submission#

Validate externally generated array-layout definitions and write them with an updated parameter version.

Application: simtools-submit-array-layouts

Integration test: submit_array_layouts.yml

Command

simtools-submit-array-layouts --config tests/integration_tests/config/submit_array_layouts.yml

Configuration

array_layouts: ${prepared:array_layouts-2.0.2.json}
model_version: 7.0.0
output_path: simtools-output
updated_parameter_version: 1.0.98

The submit_array_layouts_subset.yml integration test introduced with the user-defined layout workflow demonstrates direct subset submission:

Application: simtools-submit-array-layouts

Integration test: submit_array_layouts_subset.yml

Command

simtools-submit-array-layouts --config tests/integration_tests/config/submit_array_layouts_subset.yml

Configuration

array_element_list:
- MSTS-01
- MSTS-301
array_layout_name: South-dual-camera-example
model_version: 7.0.0
output_path: simtools-output
parameter_version: 3.0.0
reference_array_layout: hyper_array
site: South
updated_parameter_version: 3.0.99