Skip to content

Adding CO2 Hydrogenation as a methanol production technology#137

Merged
jmartin4u merged 117 commits intoNatLabRockies:developfrom
jmartin4u:meoh-merge
Aug 15, 2025
Merged

Adding CO2 Hydrogenation as a methanol production technology#137
jmartin4u merged 117 commits intoNatLabRockies:developfrom
jmartin4u:meoh-merge

Conversation

@jmartin4u
Copy link
Copy Markdown
Collaborator

@jmartin4u jmartin4u commented May 15, 2025

Adding CO2 Hydrogenation as a methanol production technology

Previously, the only methanol production technology included was Steam Methane Reforming (SMR), which uses natural gas as its main feedstock and does not connect to other H2I converters. Now, the methanol production technology of CO2 Hydrogenation has been added, which uses hydrogen as a feedstock and connects with the existing electrolyzer converter.

PR Checklist

  • CHANGELOG.md has been updated to describe the changes made in this PR
  • Documentation
    • Docstrings are up-to-date
    • Related docs/ files are up-to-date, or added when necessary
    • Documentation has been rebuilt successfully
    • Examples have been updated
  • Tests pass (If not, and this is expected, please elaborate in the tests section)
  • PR description thoroughly describes the new feature, bug fix, etc.

Related issues

Impacted areas of the software

  • .gitignore: Kept output files that were generated in the /examples/ directory from being tracked
  • changelog.md: Noted the addition of CO2 hydrogen model
  • docs/technology_models/methanol.md: Wrote a descriptive doc of the methanol models
  • examples/03_methanol/: Updated examples and split them into folders for each methanol production technologies
    • examples/03_methanol/smr/: Updated this existing example of SMR and placed it in its own folder
    • examples/03_methanol/co2_hydrogenation/: Added this new example of CO2 hydrogenation
  • h2integrate/converters/methanol/: Updated to include CO2 hydrogenation technology
    • h2integrate/converters/methanol/methanol_baseclass.py: Removed some variables that are not used for all methanol production technologies, changed the naming convention to follow _in/_out/_consume convention (see below)
    • h2integrate/converters/methanol/smr_methanol_plant.py: Added some variables that are used by SMR specifically (not all methanol technologies), changed the naming convention to follow _in/_out/_consume convention (see below)
    • h2integrate/converters/methanol/co2h_methanol_plant.py: Created a new CO2 Hydrogenation model that follows the same structure and naming conventions as the SMR model
  • core/supported_models.py: Added the new CO2 hydrogenation model as an H2I-supported model
  • tests/test_all_examples.py: Added tests of the methanol examples

Additional supporting information

Test results, if applicable

johnjasa and others added 30 commits March 12, 2025 22:44
Was unable to delete locally, git tracking issue?
Was unable to delete locally, git tracking issue?
@johnjasa johnjasa self-requested a review July 29, 2025 19:48
@jmartin4u jmartin4u requested a review from kbrunik August 8, 2025 20:42
Copy link
Copy Markdown
Collaborator

@johnjasa johnjasa left a comment

Choose a reason for hiding this comment

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

I like this a lot! Your organization of the methanol production methods and the associated examples is very clear. I also like the breakdown of LCOM from different sources in the finance model.

I pushed some minor changes and have a request for docstring update; ready to merge after that imo.

@define
class MethanolPerformanceConfig(BaseConfig):
plant_capacity_kgpy: float = field()
plant_capacity_flow: str = field(validator=contains(["hydrogen", "methanol"]))
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.

Update docstrings throughout for this additional param

Copy link
Copy Markdown
Collaborator

@kbrunik kbrunik left a comment

Choose a reason for hiding this comment

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

Thanks for the good work Jonathan!

@@ -0,0 +1,10 @@
# Methanol model
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.

I would recommend adding your publication here to reference and say methods of the models are further described there.

@jmartin4u jmartin4u merged commit 604d68f into NatLabRockies:develop Aug 15, 2025
5 checks passed
@jmartin4u jmartin4u deleted the meoh-merge branch August 15, 2025 15:14
@johnjasa johnjasa mentioned this pull request Dec 18, 2025
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.

3 participants