Implement PINT (Put IN one at a Time) CBA methodology #353
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #136.
Changes proposed in this Pull Request
Implements the PINT (Put IN one at a Time) methodology for Cost-Benefit Analysis as specified in TYNDP 2024 CBA guidelines.
New scripts:
scripts/cba/prepare_pint_reference.py: Prepares the PINT reference network containing onlyin_reference=Trueprojectsscripts/cba/prepare_pint_project.py: Adds a single candidate project to the PINT reference networkModified files:
rules/cba.smk: Addedhurdle_costsparam toprepare_pint_projectrule; updatedinput_indicators()to filter projects by CBA methodscripts/cba/_helpers.py: Addedfilter_projects_by_method()with registry pattern for method-specific project filteringTasks
in_reference=Falsefor PINT)Workflow
To run PINT analysis, add
pintto thecba.methodslist in config:Open issues
None
Notes
solve_cba_network,make_indicators,collect_indicators,plot_indicators)in_referencestatus happens at workflow level ininput_indicators()for consistencyMETHOD_PROJECT_FILTERS) allows easy addition of future CBA methodsChecklist
pixi.toml(usingpixi add <dependency-name>).config/config.default.yaml.doc/configtables/*.csv.config/test/*.yaml.doc/data_sources.rst.doc/*.rstfiles.doc/release_notes.rstis added.READMEanddoc/index.rst.