SpineOpt: A flexible open-source energy system modelling framework. (September 2022)