Skip to content

v0.15.0

Choose a tag to compare

@hsteinacker-siz hsteinacker-siz released this 05 Aug 13:09
· 23 commits to master since this release
9987c84

Version 0.15.0

Major feature: Parameter studies, optimisation and sensitivity analysis

  • Add a parameter_study section for repeatedly simulating an energy system with different input parameters

    • Define variable parameters using optimisation bounds, starting values, explicit values or generated ranges
    • Run Cartesian-product, zipped or random parameter variations
    • Define objectives from simulation, economic and emissions results and combine them using sum, weighted linear functions or separate multi-objective outputs
  • Add single- and multi-objective optimisation using algorithms from Optim, BlackBoxOptim, Metaheuristics, NLopt and NOMAD

    • Add run, time and tolerance limits, objective-specific minimisation or maximisation and an optional refinement stage
    • Normalise parameters internally while retaining physical values in project files and outputs
  • Add global and local sensitivity analyses

    • Calculate first- and total-order Sobol indices using polynomial chaos expansion
    • Evaluate one-at-a-time local parameter changes around starting values or the best available result
    • Reuse matching results from preceding parameter-study calculations
  • Add threaded execution, interruption handling and dedicated parameter-study logging

    • Preserve available results when studies are interrupted with Ctrl+C
  • Add CSV and interactive HTML outputs

    • Include complete result tables, continuous CSV writing, optimisation and parameter-relation plots, interactive 3D plots and global- and local-sensitivity outputs
  • Add disable_all_simulation_outputs, enabled by default, to suppress regular outputs from individual parameter-study simulations

  • Add parameter-study examples and scenarios for multi-family-house parameter variation, component-size optimisation and sensitivity analysis

Breaking changes

  • Rename general output-path parameters for consistency

    • csv_output_filecsv_output_file_path
    • output_plot_fileoutput_plot_file_path
    • sankey_plot_filesankey_plot_file_path
  • Rename CSV-related parameters to consistently use lowercase csv

    • write_summary_CSVwrite_summary_csv
    • output_economic_CSVoutput_economic_csv
    • economic_CSV_file_patheconomic_csv_file_path
    • output_emissions_CSVoutput_emissions_csv
    • emissions_CSV_file_pathemissions_csv_file_path
  • Change fixed output precision to use significant digits instead of decimal digits

    • Update scenario reference outputs to reflect the changed rounding behaviour

Minor changes / fixes

  • Add multi-family-house and district examples and scenarios with economic and GHG emissions calculations
  • Add summary CSV generation with automatic aggregation of means, sums, minima and maxima
  • Add capex_specific_scale and the economic result annuity_opex_including_energies
  • Improve validation and error messages for invalid profile values, unknown component types, empty interfaces and missing scenarios
  • Extend the storage_driven control module with control_mode for storages used as sources
  • Fix heat-pump temperature calculations, secondary-interface behaviour, slice splitting and storage transfer handling
  • Fix transformer order-of-operations handling for active part-load operation on middle busses
  • Fix an incorrect conditional in GeothermalHeatCollector
  • Fix profile handling, geothermal plotting, file-only plotting and logger shutdown
  • Clarify heat-pump COP warnings, installation instructions and file-path formatting
  • Add and update missing scenario reference outputs

Internal changes

  • Add BlackBoxOptim, Metaheuristics, NLopt, NOMAD and PolyChaos
  • Separate parameter-study execution and output generation into dedicated modules
  • Rename file_output.jl to simulation_output.jl and generalise simulation-result extraction
  • Add the GlobalInfo log level for messages applying to complete parameter studies
  • Cache reusable profiles and the order of operations across repeated simulation runs
  • Improve scenario tooling and update examples, inputs and reference files