ImperialCollegeLondon / ImperialCollegeLondon/virtual_ecosystem

Configuration tool

Open
#1,380 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
20
Forks
5
Avg merge
2d 1h
Merged PRs (30d)
34

Description

At the moment, `ve_run` can take a collection of config files. These only need to specify changes from defaults, and are then combined and passed through config validation to give a complete valid configuration, which can optionally be written out during a run.

Thing is, actual users (🎩 tip to @arne-exe @lelavathy @Baizurah ), would like to be able to look at that complete configuration _before_ a run, to see all the settings.

One way to do this is to create a new entry point `ve_configure` that basically just duplicates the configuration handling at the start of `ve_run` but just returns the validated, compiled file. That can then be fed into `ve_run`, but users get to look at it before the simulation starts.

We _could_ then retire that functionality from `ve_run`: it takes a single file and we can remove the output option for the compiled file.

This retains the original flexibility of being able to build a configuration from a library of sub-configurations, but has a better separation of concerns. The `ve_run` would of course still validate the config!

Or we can leave `ve_run` as is and just add the `ve_configuration` tool as an optional step.

Contributor guide

Open the contributing guide

Research direction

Start by locating the configuration handling at the beginning of ve_run and trace how config files are combined, validated, and optionally written. Clarify whether the new entry point should be ve_configure or ve_configuration, and whether ve_run's existing output behavior should remain. Done means users can inspect a complete validated configuration before a simulation while ve_run still validates its input.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.