Skip to content

Rework of TwoLevelTree#22

Merged
JulStraus merged 14 commits intomainfrom
js/twoleveltree
Sep 12, 2024
Merged

Rework of TwoLevelTree#22
JulStraus merged 14 commits intomainfrom
js/twoleveltree

Conversation

@JulStraus
Copy link
Copy Markdown
Collaborator

@JulStraus JulStraus commented Aug 27, 2024

This PR focuses on a rework of the TwoLevelTree structure. While it is not yet finalized, it includes the following main points:

  1. Reworked the structures based on the changes in the iteration procedures.
  2. Included support for proper strategic periods analyses, operational scenarios, and representative periods. The combination of operational scenarios and representative periods is not yet included.
  3. Reworked the StrategicStochasticProfiles to be consistent with the other type of profiles.
  4. WithPrev on the strategic periods of a TwoLevelTree is now basing it on the parent node. That is no changes are required

There are still a few things to be finalized:

  • Include support for the combination of operational scenarios and representative periods. This should be rather straightforward.
  • Rethink constructors and the top type, i.e., TwoLevelTree.
  • Improve on testing.
  • Think more about parametric types for the new created types.
  • Think about what to export

Minor comments from my end:

  • I am not fully satisfied with the TwoLevelTree at the moment, as it includes all nodes from the beginning. This does however work quite well. It could be reworked eventually.
  • Branch probability as a field: I added it separately to avoid any issue with the probability of the individual operational scenarios.

As a last point: All tests are running. I included new tests for the combination with RepresentativePeriods. However, I cannot guarantee that all functions for other subtypes are working, e.g., functions for StrategicPeriod. I though of formatting in the end, not before. The key reason for that is that I want to avoid any issues ;)

@JulStraus JulStraus added the enhancement New feature or request label Aug 27, 2024
@JulStraus JulStraus requested review from hellemo and trulsf August 27, 2024 13:47
@JulStraus
Copy link
Copy Markdown
Collaborator Author

The documentation fails in the current stage as we do not provide a library of internal types/functions. I would add these eventually.

Comment thread src/profiles.jl Outdated
Comment thread src/tree_nodes.jl Outdated
@codecov-commenter
Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@JulStraus
Copy link
Copy Markdown
Collaborator Author

JulStraus commented Sep 11, 2024

I added now a first take on the documentation for compilation properties. There is some weird behavior in Documenter, but I cannot say what a solution may be. That is specifically for cross referencing in docstrings.

I personally would say that it is more or less now a version which can be seen as acceptable. I personally would however do changes to it in PR #23 as the readjustments may simplify the overall understandability. Note that this will be a separate commit in said branch in the end.

Similarly, all open points could be an open discussion for us pre releasing the new version.

@JulStraus JulStraus marked this pull request as ready for review September 11, 2024 13:09
@JulStraus JulStraus merged commit 98e2b33 into main Sep 12, 2024
@JulStraus JulStraus deleted the js/twoleveltree branch September 12, 2024 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants