Recent Releases of CairnOpen

CairnOpen - Cairn 6.0.0

Non exhaustive list of modifications:

[Core]

  • Refactoring of EnergyVector: split into ElectricalCarrier and MaterialCarrier (with type Mass or Energy). A script update_v5.4_v6.0.py is included to migrate existing studies and ensure compatibility.
  • EnergyVector: improve management of atomic composition for MaterialCarrier, with support for user-defined inputs.
  • EnergyVector: add support for time-varying parameters (e.g., LHV/PCI, atomic composition, etc.).
  • Renaming Parameters and Indicators: renaming of certain parameters (Grey… -> Embodied…, …Constant -> …Offset) and indicators for clarity and consistency. Use the script update_v5.4_v6.0.py to migrate existing studies and ensure compatibility.
  • Profiling tool: new class allowing automatic measurement of execution time and memory usage, with data export for each run.
  • Sizing of converters: improve sizing based on Weight and consistency checks; removal of unused Pmin variables when minPower = 0.
  • Minimum capacity logic: extended to Compressor and Pipeline models.
  • Compressor: add an option to manually specify electrical consumption.
  • MultiConverter: users can now define upper limits on inputs/outputs via a CSV file.
  • VariableOpex at the port level: users can now define VariableOpex at the port level.
  • TecEcoAnalysis: removal of the Range parameter.
  • Multi-threading: add support for multi-thread execution of Parametric Study.
  • Logging: clean and improve log display.
  • Developer tools: add a model template for developers creating new components.
  • Code quality: general code cleanup, refactoring, and minor fixes.

[API]

  • Add a function to perform a Parametric Study.
  • Add an Import Group function: import_group(json: string)
  • Support for timeseries in dataframe format via the API: add_df_timeseries(problem: OptimProblem, timeSeries: pd.DataFrame)
  • Support for user comments via the API.
  • Add an attribute to know the energy vector associated with a bus: bus.carrier

[GUI]

  • The GUI now retrieves all necessary data (variables, indicators, ports, units, etc.) directly from the API, removing the dependency on Model.json.
  • Improve and centralized font sizes in the interface.
  • Add units in the results windows.
  • Fix display issues related to Parametric Study (progress bar, etc.).
  • Add support for exporting a single component or a selection of components (in addition to the existing group export).

Energy Systems - Energy System Modeling Frameworks - HTML
Published by stephanie-crevon 1 day ago

CairnOpen - Cairn 5.4.0

Non exhaustive list of modifications:

[Core]

  • Enabled bus-to-bus connections : to do so, it is mandatory to define a variable to exchange through the link
  • Split NodeLaw into two separate components: NodeLaw and ManualConstraint (custom constraints) - compatibility script: update_v5.3_v5.4.py
  • Extended minimum capacity handling to Compressor and Pipeline
  • ManualObjective: added CommonMinVariable and CommonMaxVariable to define bounds for all connected variables
  • Multiobjective: correction of the lexicographic function which allows to iteratively optimize objectives to reach a point on the Pareto front
  • Multiconverter: fixed non-functional weight-based sizing
  • EnergyVector: added support for timeseries-based LHV/GHV
  • Expanded the list of supported units
  • Removed the Range parameter from TecEcoAnalysis: both PLAN and HIST are now always exported

[API]

  • Added runCycle, a method that executes a single cycle step
  • Added a method to configure subscribed variables

[GUI]

  • Retrieved the parameter list via the API instead of Model.json
  • Removed the parameter filter in the top-right corner
  • Improved the plotter: now displays all past cycles in case of rolling-horizon
  • EnergyVector: added a menu entry to show the color panel
  • Added a button to display only installed components
  • Added a function to export a study as zip file
  • Removed the function that generated the LaTeX report
  • Included comments in exportParameters
  • Added units to post-processing results
  • Fixed an error occurring when a time series name contains accents

Energy Systems - Energy System Modeling Frameworks - HTML
Published by stephanie-crevon 3 months ago

CairnOpen - Cairn 5.3.0

Cairn 5.3

Non exhaustive list of modifications:

  • Upgrade the environment to Python 3.13

[Core]

  • Modify the names of the indicators in PLAN/HIST
  • Remove the "Direction" parameter for Grid and SourceLoad: the direction is now deduced from the default port direction (INPUT => injection/load, OUTPUT => extraction/source)
  • Correction regarding the size of the matrices in the MultiConverter: matrix B is no longer mandatory (if absent => 0) and you can also put a single scalar k in the .csv file to indicate that it is a vector of size * k
  • Update the ManualObjective model: only the Add and Lexicographic objective types are now supported; the Blended type has been removed
  • Rename the Opex parameter to FixedOpex. The compatibility script update_v5.2.1_v5.3.py can be used to update old JSON files
  • Add the VariableOpex parameter, allowing the user to define a price per unit of flow, but currently linked to the first output port (feature to be improved)
  • Complete dynamization of indicator names through a dedicated class that automatically generates names based on the associated port parameters
  • Refactoring of OptimProblem into an independent class, removing its inheritance from MilpComponent to improve clarity and architecture
  • Indicators are now accessible as soon as a component is created, allowing them to be obtained immediately without having to run a simulation

[GUI]

  • Ability to type the name of the time series in the dropdown menu
  • Add a feature to add "User-Defined Labels" (UDL) in TecEco and fill them in each component
  • Add an option in the "File" menu to export parameters
  • Display the version status (official or stable) next to the Cairn logo in the footer
  • Improvement of the log system: all messages are now written to the .log file
  • Ability to create links between TecEcoAnalysis and ManualObjective
  • Add the possibility to run simulations over a limited period via startTime and endTime in SimulationControl
  • When exporting a group, include the required EnergyVectors as well as the original bus when a duplicated bus is part of the group
  • Add the possibility to select multiple components and move them to another page
  • In multi-page mode: rename duplicated buses to PageX.{BusName}, and indicate the target page of the dotted arrows
  • Prevent the connection of a port until its associated variable is configured
  • Hide the Environmental Impacts tabs (and color the (+) button in red) when EnvironmentModel is disabled
  • Retrieve the list of indicators via the API instead of using Model.json
  • Integration of QTests for automated testing of the GUI, including the setup of two initial test cases

[API]

  • Add methods to export parameters, export the PLAN file, rename the component, and configure labels (UDL)
  • Introduction of a unified CairnObject structure: all components of a problem (milp-components, buses, energy_carriers, solver, TecEcoAnalysis, SimulationControl) are now treated as objects with methods to read or modify their parameters more easily. The old methods related to milp-components, buses, and energy_carriers remain available

Energy Systems - Energy System Modeling Frameworks - HTML
Published by stephanie-crevon 5 months ago

CairnOpen - Cairn 5.1.0

Cairn 5.1

Non exhaustive list of modifications:

  • Add the "MinSize" parameter for all models: minimum capacity
  • Cleanup of SourceLoad: peak shaving option has been reviewed and SourceLoadFlexible has been removed
  • Correction on StorageGen: minEsto was set to the minimum size of the storage
  • Correction of the indicator related to environmental replacement and properly account for replacements in the total quantities of impacts
  • API: add a copy_component method
  • API: cleanup of vectors and expressions at the beginning of an execution to allow multiple executions under the same instance
  • Wheel installation also in the installer

Energy Systems - Energy System Modeling Frameworks - HTML
Published by stephanie-crevon 10 months ago

CairnOpen - Cairn 5.0.0

First open source release of Cairn.
Only windows platform is supported so far.

Energy Systems - Energy System Modeling Frameworks - HTML
Published by stephanie-crevon about 1 year ago

CairnOpen - Cairn-4.5.9

🌟 Cairn release

Package to be installed using pip : pip install cairn-<ver>-cp310-cp310-win_amd64.whl
Version : 4.5.9
Python version : 3.10

Energy Systems - Energy System Modeling Frameworks - HTML
Published by ucefdjebourcea about 1 year ago