Estimate what a biomass gasifier produces from straw, how much tar it makes and whether the syngas is good enough for power or for chemicals.
Open-source tools · How-to · Biomass gasification
How to use biomass-to-syngas-opensource: size a biomass gasifier
Revised
· v1.0.0 · what changed
Code: github.com/herrrickshaw/biomass-to-syngas-opensource
Watch the walkthrough
Watch on YouTube: youtu.be/xHoqtYSpsn0
What it is for
India has an estimated 230 million tonnes a year of unutilised agricultural biomass, and open-field burning is a seasonal air-quality problem. Gasification is one proposed alternative, but it needs a sizing estimate first.
This toolkit gives a traceable first estimate: feedstock characterisation, a gasifier at a chosen temperature and type, tar and particulate cleanup, and a screening of syngas quality for its likely use.
Who it is for
- Students and analysts exploring biomass-to-energy options
- Early-stage project teams who need a quick comparison of gasifier types
- Anyone who wants an estimate they can trace to a literature source
- Detailed engineering design
- Rate-based cleanup sizing or collection and logistics planning
What you need
| Requirement | Why | How to get it |
|---|---|---|
| Python 3.10 or newer | The package declares requires-python >= 3.10 | python.org, or brew install python on macOS |
| Python packages: CoolProp, scipy, numpy, streamlit, pandas | Property correlations, calculations, tables and the web app | Installed automatically by pip install -e ".[dev]" |
| A terminal and git | To clone the repo and run the commands | Terminal on macOS/Linux, or WSL/Git Bash on Windows; or use GitHub Codespaces |
| Internet for the first install only | pip downloads the packages | No internet is needed to run the sizing code afterwards |
| API keys, accounts, licences | None required | No database, server, GPU, model download or API key is needed. The demo used none. |
Get the code and an AI assistant
You do not have to be a programmer. Get the repository, give it to an AI assistant, and ask in plain language. Any of these routes works:
| Tool | What you need | Best for |
|---|---|---|
| GitHub | Free account to fork or star; git to clone, or the green Code button, then Download ZIP, or open in Codespaces | Getting the code and keeping up with updates |
| Claude Code | Claude subscription or API key; run claude inside the cloned folder | Letting the AI read and run the whole repo |
| Gemini CLI | Google account; run gemini inside the cloned folder | The same hands-on workflow with Gemini |
| Claude.ai, Gemini or ChatGPT in the browser | A chat account; upload README.md and the files you care about (or paste the output of git ls-files) | Understanding the project and asking questions without installing anything |
| Other tools (Copilot Chat, Cursor, Codex CLI) | Open the cloned folder in the tool and point it at README.md first | Editing and extending the code |
git clone https://github.com/herrrickshaw/biomass-to-syngas-opensource.git
cd biomass-to-syngas-opensource
claude # or: gemini
Install
- Make sure Python 3.10 or newer is installed
python3 --version - Create and activate a virtual environment (keeps the install tidy)
python3 -m venv .venv && source .venv/bin/activate - Install the package with the test tools. The dependencies (CoolProp, pandas, plotly, streamlit or scipy/numpy) come in automatically from pyproject.toml.
pip install -e ".[dev]"
Quick start: commands and what you should see
Run the tests
pytest -q tests
18 passed in about 1.3 seconds in the demo.
Size a gasifier for 100 t/day of rice straw
python examples/full_chain_worked_example.py
87.43 mol/s of syngas at 850 C in a fluidized bed, 75.8% cold gas efficiency, tar cut from 29.40 g/s to 0.882 g/s after cleanup, H2:CO of 1.73:1, LHV 5.71 MJ/Nm3 and 50.2% inert gas. The recommended use is direct combustion or gas-engine power only, because the inert share is too high for chemical synthesis.
Optional: interactive app
streamlit run streamlit_app.py
A local web page opens. Present in the repo; not part of the captured demo.
Ways to use it
| Method | How it works |
|---|---|
| Command line (example scripts) | Run the worked example in examples/ and read the printed numbers. |
| Python library | Import the modules from the package in your own script or notebook and call them with your own feed and plant size. |
| Interactive web app | Run streamlit run streamlit_app.py from the repo folder for a browser-based version with sliders and charts. |
| Through an AI assistant | Open the cloned folder in Claude Code or Gemini CLI and ask it to run the example, change the inputs, or explain a result. Or upload README.md and docs/VALIDATION.md to a chat assistant. |
Sample prompts for your AI assistant
Copy, paste and edit the parts in [brackets].
- Explain this repository in plain English: what does it size, what goes in and what comes out?
- Run the tests and the worked example, then summarise the results in a short table.
- Compare downdraft, fluidized bed and updraft gasifiers for my feed and explain the tar numbers.
- Open docs/VALIDATION.md and tell me where this model matches published figures and where it does not.
- What would I need from a vendor or a licensed simulator before I could rely on these numbers?
- Change the plant size to [your tonnes per day] and show me which outputs change most.
Limits and honest caveats
- Conceptual sizing, not detailed engineering design.
- Measured in the demo: tar yield stayed at 29.39 g/s from 750 to 950 C. It is a lookup by gasifier type, not a temperature model.
- Measured: cold gas efficiency was 75.8% at every temperature in the sweep, so do not use the model to find an optimum temperature.
- The syngas was 50.2% inert, so it is rated for power, not as a chemical synthesis feed.
- The README notes fixed conversions and no rate-based cleanup sizing. Collection and logistics of the straw are the real barrier.
- The repo as checked has no LICENSE file; check the repo page before reusing the code.
Sources: the biomass-to-syngas-opensource README, docs/VALIDATION.md and examples/ folder, and the video demo run of 18 October 2026.
- v1.0.0 — 18 October 2026 — first published.
About this article: Researched, written and edited by Umashankar Triplicane Dwarakanathan, with AI research assistance; every figure is meant to trace to the primary source cited. See the Editorial Policy for how sourcing, AI use and corrections work.