Template existing planned storage - #149
Open
EllieKallmier wants to merge 3 commits into
Open
EllieKallmier wants to merge 3 commits into
EllieKallmier wants to merge 3 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Wraps up the existing/planned templating started in #143 by adding the
storage_existing_plannedtable, and moves the technology/station-keyed merge intohelpers.py, so new entrants and existing/planned storage share one function (sorry for not splitting out into smaller PR chunks whoops).Storage properties (the ones templated in this PR) come from three places:
IASR ID): capacity, storage capacity, commissioning date, closure year. Uses the same unit-keyed merge as generators.battery_properties): charge/discharge efficiencypumped_hydro_..._properties): round-trip efficiency, split into symmetric charge/discharge legsWhere the changes live:
Some design choices to flag
_merge_storage_type_split_propertiesI've split by complement from battery rows, but we could instead manually edit thetechnologyvalue for these units from the start. I just did this for the moment to avoid getting too into the hydro-phes weeds while it's still a bit in the air - I imagine we might make other hydro-related decisions that could change what the ideal templater output shape for those units. But am very open to thoughts+opinions.exclude_unit_keys: Added based on suggestion from Nick in review of Template existing and planned (ECAA) generators #143 to tighten scope of fuzzy-matching for the unit-level property merges. Property tables otherwise have both generator and storage units all listed in the same table so if there were ever a typo'd generator name that made it a closer match to a storage unit name that would create an incorrect mapping (potentially problematic and kinda annoying to locate if it happened I reckon).Some other data notes to flag - see #131:
Note on the category merge function and property maps:
I thought about adding a field to the mapping dicts that would indicate which 'category' column should be used to merge onto for different properties (see 'df_key_col' in '_merge_category_keyed_properties'), but in the end decided against. Because: those mappings are currently IASR-table facing only; they just describe the input table features important for the property merge. I didn't want to broaden that context to make those maps also describe the part-templated summary table. BUT as always open to persuasion/other preferences.