IEAWindTask37 / windIO

Apache License 2.0
19 stars 11 forks source link

WindIO version converter #35

Open kenloen opened 4 months ago

kenloen commented 4 months ago

To make it easier to do braking changes of the schema's it would be beneficial to have converters between versions, especially if the conversion can be done both way old <-> new.

kilojoules commented 1 month ago

I think it could help us to differentiate between breaking changes and backwards-compatible changes. In principle, we should be able to add many options while still being backwards compatible. So far, almost all of the changes in motion (e.g., breaking the turbine ontology into a more modular set of files) are backwards-compatible. It would be simple to create a converter from these modular files to a single schema.

There are some instances in the plant where we have squashed ambiguity by using a restricted vocabulary or adopting a more restrictive syntax. Such a breaking change will ideally be reflected by updating the python package version string, where we can index the version of the python API, plant, and turbine.

Writing converters is non-trivial, but I suppose we could find a manageable workflow. Maybe a new converter could be included as part of each new python package release?