Skip to content

updated biochar logic as CDR technology#258

Open
BertoGBG wants to merge 10 commits into
PyPSA:masterfrom
BertoGBG:biochar_pyrolysis_update_PR
Open

updated biochar logic as CDR technology#258
BertoGBG wants to merge 10 commits into
PyPSA:masterfrom
BertoGBG:biochar_pyrolysis_update_PR

Conversation

@BertoGBG

@BertoGBG BertoGBG commented Jan 27, 2026

Copy link
Copy Markdown
Contributor

Closes # (if applicable).

Changes proposed in this Pull Request

The technology biochar pyrolysis in compile_cost_assumption.py was updated with change of basis for units and additional parameters. The changes is in line with the planned implementation in pypsa-eur PyPSA/pypsa-eur#2141. Biochar pyrolysis will be implemented considered a CDR technology rather than a biomass conversion technology, and all the parameters are expressed per tonne of CO2 sequestered.

Checklist

  • [Y] Code changes are sufficiently documented; i.e. new functions contain docstrings and further explanations may be given in doc.
  • [Y] Data source for new technologies is clearly stated.
  • Newly introduced dependencies are added to environment.yaml (if applicable).
  • A note for the release notes doc/release_notes.rst of the upcoming release is included.
  • [Y ] I consent to the release of this PR's code under the GPLv3 license.

@BertoGBG

Copy link
Copy Markdown
Contributor Author

The test expects 7 rows for biochar pyrolysis but the code now produces 9.
The 2 extra rows come from the new biochar yield and CO2 sequestration parameters your PR added. The test update from (7, 9) → (9, 9) is correct and intentional.

I also updated the parameters name to the standard e.g. "biomass input" -> "biomass-input"

@BertoGBG

BertoGBG commented Apr 9, 2026

Copy link
Copy Markdown
Contributor Author

the output files were added and code detaisl fixed

@euronion euronion self-requested a review May 5, 2026 09:02
@euronion

euronion commented May 5, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the PR and sorry for keeping you waiting for a review.

Can you elaborate what you mean by "as biochar pyrolysis is not considered as CDR technology"?
(The better the PR description and release notes are, the easier it is for us to review)
Your PR changes the units to deviate from the DEA data sheet, which does list the outputs as MWh.

Is your goal maybe to view pyrolysis as a CDR technology and change the units to reflect the costs and inputs per carbon sequestered?

@BertoGBG

BertoGBG commented May 6, 2026

Copy link
Copy Markdown
Contributor Author

your comment is spot on, it was a typo (now rather than not). I have improve the text explainng the scope and linking it to the pypsa-eur feature. it should also explain why we changed basis for the paramaters and the reason for deviating from standard technology-data unit. however it will be consistent with the pypsa-eur implementation

…_update_PR

# Conflicts:
#	docs/release_notes.rst
#	outputs/US/costs_2020.csv
#	outputs/US/costs_2025.csv
#	outputs/US/costs_2030.csv
#	outputs/US/costs_2035.csv
#	outputs/US/costs_2040.csv
#	outputs/US/costs_2045.csv
#	outputs/US/costs_2050.csv
#	outputs/costs_2020.csv
#	outputs/costs_2025.csv
#	outputs/costs_2030.csv
#	outputs/costs_2035.csv
#	outputs/costs_2040.csv
#	outputs/costs_2045.csv
#	outputs/costs_2050.csv
@BertoGBG

Copy link
Copy Markdown
Contributor Author

I updated the PR and rebased it to the latest version of the master branch.

Heads up: CI on master itself is currently failing — test_get_sheet_location, test_get_data_from_dea, and test_add_carbon_capture fail on a clean master checkout (KeyError: ('cement capture', 'Variable O&M')).
My rebased PR inherits this, so their CI failure isn't from my changes — the snakemake build and output
regeneration pass. They should go green once master's tests are fixed.

@euronion euronion left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, this makes sense then.

I don't mind changing the base unit for this technology and marking it as a breaking change, but I'd like to have a confirmation from someone else as well. Tagging @fneum .

I've also added a few comments. They are to ensure that people using the data understand more about the numbers from the comments in the output file and do not have to dive into the code to understand your logic.
Feel free to add more context to the further_description column! Not everyone is a biomass pyrolysis expert :)

Comment thread docs/release_notes.rst
.. The features listed below are not released yet, but will be part of the next release!
.. To use the features already you have to use the ``master`` branch.

* Updated Biochar pyrolysis: units updated with rebase on CO2 sequestered, biomass properties aligned with other biomass technolgies, 0.7 coefficient applied to calculate final CO2 sequestration beyond 100 years. (https://github.com/PyPSA/technology-data/pull/258)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Updated Biochar pyrolysis: units updated with rebase on CO2 sequestered, biomass properties aligned with other biomass technolgies, 0.7 coefficient applied to calculate final CO2 sequestration beyond 100 years. (https://github.com/PyPSA/technology-data/pull/258)
**Breaking changes**
* Biochar pyrolysis: Reference units changed from MWh_biochar output to t_CO2 sequestered and, biomass properties have been aligned with other biomass technolgies. (https://github.com/PyPSA/technology-data/pull/258)
**Changes**

Comment thread outputs/costs_2020.csv
biochar pyrolysis,investment,12176693.375,EUR/t_CO2/h,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Specific investment",2025.0
biochar pyrolysis,lifetime,25.0,years,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Technical lifetime",2020.0
biochar pyrolysis,yield-biochar,0.0582,ton biochar/MWh_feedstock,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: yield biochar",2020.0
biochar pyrolysis,yield-biochar,0.0597,t_biochar/MWh_biomass,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: yield biochar",2020.0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we are already touching the parameters, can we rename this one for consistency to "biochar-output"?

Comment thread outputs/costs_2020.csv
biochar pyrolysis,efficiency-heat,0.4848,per unit,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: efficiency heat",2020.0
biochar pyrolysis,investment,210317.9044,EUR/kW_biochar,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Specific investment",2025.0
biochar pyrolysis,VOM,59.9468,EUR/t_CO2,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Variable O&M",2025.0
biochar pyrolysis,biomass-input,7.6748,MWh_biomass/t_CO2,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Biomass Input",2020.0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To check I understand this correctly: this means how much MWh_biomass input is required for 1 t of CO2 sequestered indefinitely (i.e. the CO2 is stable in the ground)?

If yes, can you add this as a note, that the CO2 here is sequestered CO2, not CO2 emissions?

Comment thread outputs/costs_2025.csv
biochar pyrolysis,biomass-input,7.6748,MWh_biomass/t_CO2,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Biomass Input",2020.0
biochar pyrolysis,electricity-input,0.3184,MWh_e/t_CO2,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: El-Input",2020.0
biochar pyrolysis,heat-output,3.7859,MWh_th/t_CO2,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: H-Output",2020.0
biochar pyrolysis,investment,12176693.375,EUR/t_CO2/h,"Danish Energy Agency, inputs/data_sheets_for_renewable_fuels.xlsx","105 Slow pyrolysis, Straw: Specific investment",2025.0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I divide this value with the biomass-input and the process efficiency I should get the specific investments from the DEA sheet, right?

Image

Efficiency should be at 0.88.

(12 176 693 EUR/t_CO2/h) / (7.6748 MWh_biomass/t_CO2) / 0.88 = 1 802 933 EUR/MW_biomass

The difference seems to be the 0.7 factor. Is this correct?

Can you document this factor in the further_description column for all entries related to this technology please?

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.

2 participants