Finding electricity at-grid generation processes for residual grid mix #1
dt-woods
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
One of the design goals for the NetlOlca class is to support
elci_to_remPython project, which creates residual grid mix percentages by fuel type for each balancing authority (2020 data). These data are exported to CSV as shown in the table below.The goal is to update electricity generation mixes (as found in openLCA) to reflect the new percentages (i.e., "Gen_Ratio_new" in the table).
Assuming that electricity generation comes from the Federal LCA Commons, it generally falls into the following structure:
Here's where things get funny. It seems that BA electricity generation is split. There are sub-folders that are fuel-based (e.g., BIOMASS, COAL, GAS, GEOTHERMAL) and there are combined processes (e.g., Electricity; at grid; generation mix - Arizona Public Service Company), which contain all fuel categories.
The individual fuel category process appear to have all upstream and emissions data associated with them.
The Balancing Authority (at grid, generation mix) only have the fraction of 1 MWh for each fuel category. Therefore, the goal is to update these mix processes.
The first step is to find all processes associated with "Electricity; at grid; generation mix - BA NAME - BA". Perhaps query with regular expressions?
Example code (assuming IPC Server connection to aluminum_single_system.zolca).
Next steps: go to
get_descriptorsand iterate over each object, checking to see if their name matches the query.Assuming you already ran the code above to create and connect the NetlOlca to openLCA.
Next Steps
Updated, 29 August 2023
Find Exchange Fuel Name
Produces the following output:
Read Residual Grid Mix Data
Produces the following output
Query Residual Mix
Using
df = get_residual_mix(1, csv_dir)as shown in the code snipped above, the output produces some interesting edge cases.Edge Cases
df(e.g., Homestead, City of).Quality Control Testing
Test 2 - Find where exchange amounts do not balance
The issue is that for some Balancing Authority areas, the fuels in 2020 are different than those in 2016 or 2018. Therefore, not only must existing fuels be updated (or removed), but also new inputs be added when needed.
For example, 'Portland General Electric Company' does not have coal or wind in the Electricity Baseline, which are both found in the 2020 dataset.
All reactions