From 9bf50b21c75fa8a3a60ba66f6d353e23683b01c2 Mon Sep 17 00:00:00 2001 From: Gernot Maier Date: Tue, 28 Jan 2025 13:40:16 +0100 Subject: [PATCH] Simplifications of get simulation software from parameter name --- .../upload_from_model_repository_to_db.sh | 2 +- src/simtools/model/model_parameter.py | 11 ++--------- src/simtools/simtel/simtel_config_writer.py | 5 +---- src/simtools/utils/names.py | 12 +----------- tests/resources/model_parameters/mirror_list.json | 1 + tests/unit_tests/utils/test_names.py | 13 ------------- 6 files changed, 6 insertions(+), 38 deletions(-) diff --git a/database_scripts/upload_from_model_repository_to_db.sh b/database_scripts/upload_from_model_repository_to_db.sh index 2a82112d2..85d2bfd66 100755 --- a/database_scripts/upload_from_model_repository_to_db.sh +++ b/database_scripts/upload_from_model_repository_to_db.sh @@ -6,7 +6,7 @@ # shellcheck disable=SC1091 DB_SIMULATION_MODEL_URL="https://gitlab.cta-observatory.org/cta-science/simulations/simulation-model/simulation-models.git" -DB_SIMULATION_MODEL_BRANCH="v1.0.0-parameters" +DB_SIMULATION_MODEL_BRANCH="prod5-prod6-corrections" # Check that this script is not sourced but executed if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then diff --git a/src/simtools/model/model_parameter.py b/src/simtools/model/model_parameter.py index adc5a9b37..248a984af 100644 --- a/src/simtools/model/model_parameter.py +++ b/src/simtools/model/model_parameter.py @@ -344,7 +344,7 @@ def extra_label(self): """Return the extra label if defined, if not return ''.""" return self._extra_label if self._extra_label is not None else "" - def get_simtel_parameters(self, parameters=None, telescope_model=True, site_model=True): + def get_simtel_parameters(self, parameters=None): """ Get simtel parameters as name and value pairs. @@ -352,10 +352,6 @@ def get_simtel_parameters(self, parameters=None, telescope_model=True, site_mode ---------- parameters: dict Parameters (simtools) to be renamed (if necessary) - telescope_model: bool - If True, telescope model parameters are included. - site_model: bool - If True, site model parameters are included. Returns ------- @@ -369,10 +365,7 @@ def get_simtel_parameters(self, parameters=None, telescope_model=True, site_mode _simtel_parameter_value = {} for key in parameters: _par_name = names.get_simulation_software_name_from_parameter_name( - key, - simulation_software="sim_telarray", - search_telescope_parameters=telescope_model, - search_site_parameters=site_model, + key, simulation_software="sim_telarray" ) if _par_name is not None: _simtel_parameter_value[_par_name] = parameters[key].get("value") diff --git a/src/simtools/simtel/simtel_config_writer.py b/src/simtools/simtel/simtel_config_writer.py index 4c144192f..1fee7d48d 100644 --- a/src/simtools/simtel/simtel_config_writer.py +++ b/src/simtools/simtel/simtel_config_writer.py @@ -294,10 +294,7 @@ def _write_site_parameters(self, file, site_model, model_path, telescope_model): _site_parameters = site_model.get_simtel_parameters() for par, value in _site_parameters.items(): _simtel_name = names.get_simulation_software_name_from_parameter_name( - par, - simulation_software="sim_telarray", - search_telescope_parameters=False, - search_site_parameters=True, + par, simulation_software="sim_telarray" ) _simtel_name, value = self._convert_model_parameters_to_simtel_format( _simtel_name, value, model_path, telescope_model diff --git a/src/simtools/utils/names.py b/src/simtools/utils/names.py index 43415e029..e4ee803ca 100644 --- a/src/simtools/utils/names.py +++ b/src/simtools/utils/names.py @@ -335,8 +335,6 @@ def get_collection_name_from_array_element_name(name, array_elements_only=True): def get_simulation_software_name_from_parameter_name( par_name, simulation_software="sim_telarray", - search_telescope_parameters=True, - search_site_parameters=True, ): """ Get the name used in the simulation software from the model parameter name. @@ -350,21 +348,13 @@ def get_simulation_software_name_from_parameter_name( Model parameter name. simulation_software: str Simulation software name. - search_telescope_parameters: bool - If True, telescope model parameters are included. - search_site_parameters: bool - If True, site model parameters are included. Returns ------- str Simtel parameter name. """ - _parameter_names = {} - if search_telescope_parameters: - _parameter_names.update(telescope_parameters()) - if search_site_parameters: - _parameter_names.update(site_parameters()) + _parameter_names = {**telescope_parameters(), **site_parameters()} try: _parameter = _parameter_names[par_name] diff --git a/tests/resources/model_parameters/mirror_list.json b/tests/resources/model_parameters/mirror_list.json index 172113ce6..7371c99c6 100644 --- a/tests/resources/model_parameters/mirror_list.json +++ b/tests/resources/model_parameters/mirror_list.json @@ -1,5 +1,6 @@ { "schema_version": "0.2.0", + "parameter": "mirror_list", "instrument": "LSTN-01", "site": "North", "parameter_version": "2.0.0", diff --git a/tests/unit_tests/utils/test_names.py b/tests/unit_tests/utils/test_names.py index c8de8bbc9..dcf42c8a1 100644 --- a/tests/unit_tests/utils/test_names.py +++ b/tests/unit_tests/utils/test_names.py @@ -500,19 +500,6 @@ def test_get_simulation_software_name_from_parameter_name(): == "reference_point_longitude" ) - with pytest.raises(KeyError): - names.get_simulation_software_name_from_parameter_name( - "corsika_observation_level", - simulation_software="sim_telarray", - search_site_parameters=False, - ) - with pytest.raises(KeyError): - names.get_simulation_software_name_from_parameter_name( - "telescope_axis_height", - simulation_software="sim_telarray", - search_telescope_parameters=False, - ) - def test_get_parameter_name_from_simtel_name(): assert names.get_parameter_name_from_simtel_name("focal_length") == "focal_length"