Utility to convert existing .py configuration files into the new .toml format.
New configuration system
The new configuration system uses .toml files. Users can pass optional CLI arguments to read configuration files with any name from any directory - a single source tree now supports multiple glaciers.
If installed as a package or editable, users can use entry points to run COSIPY/utilities/postprocessing from any working directory. Just add the path to data directory to config.toml and you're good to go. cosipy-help shows all the entry points available.
For cluster jobs, these entry points can be chained in a bash script to run consecutive simulations using different configurations.
The conversion utility convert_config.py is provided to help users migrate to the new system. Before merging the new update:
To avoid breaking everything, everywhere, all at once, COSIPY is now partly in src layout. It isn't PEP-compliant, but allows it to be run from source, installed as an editable, and built as a package, whilst preserving python COSIPY.py for existing users.
Refactors:
Adds:
New configuration system
The new configuration system uses .toml files. Users can pass optional CLI arguments to read configuration files with any name from any directory - a single source tree now supports multiple glaciers.
If installed as a package or editable, users can use entry points to run COSIPY/utilities/postprocessing from any working directory. Just add the path to data directory to
config.toml
and you're good to go.cosipy-help
shows all the entry points available.For cluster jobs, these entry points can be chained in a bash script to run consecutive simulations using different configurations.
The conversion utility
convert_config.py
is provided to help users migrate to the new system. Before merging the new update:Once uploaded to pip, this gives the workflow:
Changes to folder structure
To avoid breaking everything, everywhere, all at once, COSIPY is now partly in src layout. It isn't PEP-compliant, but allows it to be run from source, installed as an editable, and built as a package, whilst preserving
python COSIPY.py
for existing users.Closes: #42