Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tested code. replaced dataclass with hashable objects. updated depend… #50

Open
wants to merge 1 commit into
base: feature/generator_new
Choose a base branch
from

Conversation

JuliusSchlumberger
Copy link
Collaborator

I tried to refactor most code to use Action Objects to create Sequence Objects. From the list of sequence objects, those not performing sufficiently can be filtered out and for the remaining, we can create ActionInstance objects along with the input files for the Pathways Generator.

Added some low-level objects of Sequence, and ActionInstance. Sequence contains information on the Actions it includes along with information whether or not they are considered for next steps (or filtered out). ActionInstance contains information on the Action, the unique instance and linked tippingpoint, as well as information regarding the performance of a pathway up to that specific point. This could potentially be used to extend on Kor's original Action object.

I added all relevant files for the generator in the adaptation_pathways directory (not as AJ suggested under app/model/...), because this seems more plausible for users that just might want to use the python package without the front-end.

Questions with front-end connection:

definition of Metric to use to determine tipping points - currently requires the object as an argument (not just the name of a metric).
Scenario - not clear to me how the presence or absence of scenario data is shown in the Scenario object and thus how to determine whether pathways are built based on performance or timing.
Manual adjustments - the current code does not allow for manual overwriting (unless unique Sequences objects are added), how should this work and be considered when re-sampling (or is that a matter for the next round of developments?)

Remaining steps:

I have not tested the code if it does what it is supposed to do. I want to do over the coming days, but wanted to share a first update to get feedback if this goes in a direction that is acceptable.
I also have not yet implemented action-action interactions (change in performance), which could be a low-hanging fruit to implement.
Similarly, if - after filtering out sequences not meeting filtering criteria - the number of sequences is still too large, the code currently randomly samples the. There could be more elegant ways to deal with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant