p-Toluenesulfonyl chloride crystals to packing
Activity p-Toluenesulfonyl chloride by semi-batch chlorosulfonation of toluene with a drown-out quench (1000 t/a), GLO: the inventory of 1 kilogram of its reference product, attributional, cut-off.
What it is
Unallocated foreground LCI of p-Toluenesulfonyl chloride by semi-batch chlorosulfonation of toluene with a drown-out quench (1000 t/a), case design, derived from the flowsheet by cheme assess lca.
- Reference product
- 1 kilogram of p-Toluenesulfonyl chloride crystals to packing (1.01325 bar(a), 25 degC, 97.7499 % PTSCL_S (mole))
- Chemical
- p-toluenesulfonyl-chloride
- CAS
- 98-59-9
- Code
- p-toluenesulfonyl-chloride-1:p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a:product:TSCL
- Dataset
- p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a version 0.1.0 · UUID 6b4d6248-f69d-5443-b9d7-916b357ccdb4
- Activity UUID
- not available (the library assigns none; use the code)
- Database
- cheme-as-code-atlas-preview-a3c52e4 (version preview-a3c52e4)
- Process
- p-Toluenesulfonyl chloride by semi-batch chlorosulfonation of toluene with a drown-out quench (1000 t/a)
- Geography
- GLO · background inputs with a site rule link at the user's site location (default DE)
- Time period
- 2026 · valid until 2031
- Technology
- Batch plant: ammonium chloride and then toluene dosed into chlorosulfonic acid at 338 K (semi-batch, HCl vented as it forms), a second acid portion at 308 K, the mass dosed into a water heel at 288 K (drown-out quench, semi-batch), p-TsCl precipitated, filtered, reslurry-washed twice with ice water and vacuum-dried at 308 K; the HCl neutralised in a caustic scrubber; 1748.95 kg per batch, 571.8 batches a year on a dedicated train · level current
- Boundary
- gate-to-gate foreground of the plant
- Production volume
- 1,000,003 kg/a (product:TSCL per hour x operation.hours_per_year (7920 h/a))
- Classification
- ISIC Rev.4 2011 (taxonomy/families.yaml (ISIC Rev.4) of the process's families)
- System model
- attributional, cut-off (docs/system-model.md, methodology 1.1.0)
- Allocation
- mass, 100 % of the dataset to this product (rule single-output, from default)one product: nothing to allocate
- Rights
- CC-BY-4.0: the ChemE-as-Code process library's own concept design (LICENSE-DATA)
Exchanges per 1 kilogram of p-Toluenesulfonyl chloride crystals to packing
As exported: allocated and scaled to the reference product. Provenance: 13 assumed, 2 calculated. Pedigree scores (1 best, 5 worst): reliability, completeness, temporal correlation, geographical correlation, further technological correlation.
| Input | Amount | Unit | Provenance | Pedigree | Linked to |
|---|---|---|---|---|---|
| Chlorosulfonic acid (merchant) feed:CSA flowsheet streams S1 and S7 (D-004) From streams S1, S7 | 2.321 | kilogram | assumed | 4 4 1 3 3 | unlinked unlinked, no technosphere mapping: no mapping (no chemical slug or factor id); add it to lci/mappings.yaml technosphere or to the process's lca/mappings.yaml exchanges |
| Ammonium chloride (merchant) feed:NH4CL flowsheet stream S3 (D-004) From stream S3 | 0.1599 | kilogram | assumed | 4 4 1 3 3 | unlinked unlinked, no technosphere mapping: no mapping (no chemical slug or factor id); add it to lci/mappings.yaml technosphere or to the process's lca/mappings.yaml exchanges |
| Toluene (btx-1) feed:TOL flowsheet stream S4 (D-004) From stream S4 | 0.6119 | kilogram | assumed | 4 4 1 3 3 | Atlas (pinned): Benzene, toluene and mixed xylenes by solvent extraction of catalytic reformate (Toluene, RER) compatible: grade the input names no chemical only; toluene (Toluene) is taken; unit kilogram; system model cutoff (one database); allocation mass (deviation); boundary plant gate (pinned): no distribution or losses; the consumer's dataset counts its delivery |
| Process water (quench heel, scrubber make-up) feed:PW flowsheet streams S9 (quench heel) and S29 (scrubber make-up), D-006, D-007 From streams S9, S29 | 8.638 | kilogram | assumed | 4 4 1 3 3 | market for water, deionised (water, deionised, RoW) in your background (default ecoinvent-3.11-cutoff) |
| Process water for the cake washes (chilled in T-101) feed:WASHW flowsheet stream S31, chilled in E103 and split to the washes S16 and S20 (D-007) From stream S31 | 4.026 | kilogram | assumed | 4 4 1 3 3 | market for water, deionised (water, deionised, RoW) in your background (default ecoinvent-3.11-cutoff) |
| Caustic soda 50 wt% (chlor-alkali-1) feed:NAOH flowsheet stream S28 (D-007) From stream S28 | 0.8706 | kilogram | assumed | 4 4 1 3 3 | Atlas (pinned): Chlor-alkali by membrane-cell electrolysis (100 kt/a Cl2, 50 wt-% caustic soda, hydrogen) (Sodium hydroxide, Caustic soda 50 wt-% to storage, GLO) compatible: grade the input names no chemical only; sodium-hydroxide (Sodium hydroxide, Caustic soda 50 wt-% to storage) is taken; unit kilogram; system model cutoff (one database); allocation shares (deviation); boundary plant gate (pinned): no distribution or losses; the consumer's dataset counts its delivery |
| Electric power feed:POWER flowsheet energy streams P1 (R-101 agitator), P2 (Q-101 agitator), P3 (Nutsche agitator, paddle dryer, vacuum pump) and P4 (scrubber pump and fan), D-009 electricity From streams P1, P2, P3, P4 | 0.1932 | kilowatt hour | assumed | 4 4 1 3 3 | market for electricity, medium voltage (electricity, medium voltage, DE, site location) in your background (default ecoinvent-3.11-cutoff) |
| LP steam 350 kPa(a) (R-101 heating, the dryer's hot-water circuit) feed:LPS flowsheet energy streams Q1 (R-101 heat-up) and Q6 (the dryer's hot-water circuit), D-009 steam, LP, 138.85 degC, 3.5 bar(a) From streams Q1, Q6 | 0.34 | kilowatt hour | assumed | 4 4 1 3 3 | Atlas: heat from steam, per kWh (Atlas unit proxy) (heat from steam, by energy, GLO) |
| Waste acid (mother liquor, wash filtrates, dryer condensate) to neutralisation product:WA flowsheet stream S26 (D-010) From stream S26 | 12.6 | kilogram | calculated | 3 4 1 3 3 | Atlas (plant): wastewater to treatment, per kg (Atlas unit proxy) (wastewater, by mass, GLO) compatible: grade the input names wastewater only; wastewater (Wastewater treated) is taken; unit kilogram; system model cutoff (one database); allocation mass (single-output); boundary plant gate of a site utility: no utility market yet (docs/markets.md) |
| Spent scrubber liquor to wastewater treatment product:WS flowsheet stream S30 (D-007, D-010) From stream S30 | 3.023 | kilogram | calculated | 3 4 1 3 3 | Atlas (plant): wastewater to treatment, per kg (Atlas unit proxy) (wastewater, by mass, GLO) compatible: grade the input names wastewater only; wastewater (Wastewater treated) is taken; unit kilogram; system model cutoff (one database); allocation mass (single-output); boundary plant gate of a site utility: no utility market yet (docs/markets.md) |
| Cooling water return product:CW flowsheet energy streams Q2 (heat of sulfonation, R101's model), Q3 (cool-down and second acid portion, R102's model) and Q7 (scrubber), D-009, D-014 cold, 25 degC From streams Q2, Q3, Q7 | 0.6096 | kilowatt hour | assumed | 4 4 1 3 3 | Atlas (plant): cooling water service, per kWh heat rejected (Atlas screening proxy) (heat rejected to cooling water, GLO) compatible: grade the input names cooling-water only; cooling-water (Heat rejected to cooling water, 25/35 degC) is taken; unit kilowatt hour; carrier cold, 25 degC from cold, 25 degC; system model cutoff (one database); allocation mass (single-output); boundary plant gate of a site utility: no utility market yet (docs/markets.md) |
| Chilled brine return (263 K) product:BRINE flowsheet energy streams Q4 (heel cooling), Q5 (the quench's reaction heat and the dilution heat of the dosed acids, Q101's model), Q8 (DR-101's vacuum condenser) and Q9 (wash water chilling in T-101), D-009, D-014, D-015 cold, -15 degC From streams Q4, Q5, Q8, Q9 | 0.8107 | kilowatt hour | assumed | 4 4 1 3 3 | unlinked unlinked, no technosphere mapping: no mapping (chemical 'chilled-water'); add it to lci/mappings.yaml technosphere or to the process's lca/mappings.yaml exchanges |
| Nitrogen for inerting R-101, pressing the Nutsche filtrations and breaking the dryer's vacuum consumable:nitrogen about 140 Nm3 per batch x 1.2506 kg/Nm3, ASSUMED (D-012): R-101 purged with 3 volumes of its 4 m3 (12 Nm3), F-101's 20 m3 brought to 300 kPa(a) for each of its three filtrations (120 Nm3), DR-101's 4 m3 vacuum broken twice (8 Nm3); 175 kg per batch x 571.776 batches in 7920 h (process/recipe.yaml, case design, bottleneck CHLOROSULFONATE) | 0.1001 | kilogram | assumed | 4 4 1 3 3 | Atlas (pinned): Cryogenic air separation unit (500 t/d GOX) (Nitrogen, gaseous, <= 10 ppm O2, 8 barg, GLO) compatible: grade the input names nitrogen only; nitrogen/gan-8barg-10ppm (Nitrogen, gaseous, <= 10 ppm O2, 8 barg) is taken; unit kilogram; system model cutoff (one database); allocation exergy (physical-exergy); boundary plant gate (pinned): no distribution or losses; the consumer's dataset counts its delivery |
| Rinse water of Q-101 and F-101 between batches consumable:rinse-water 2 rinses per batch (recipe operations clean of Q-101 and F-101) x 1 m3 each, ASSUMED (D-003, D-012); 2000 kg per batch x 571.776 batches in 7920 h (process/recipe.yaml, case design, bottleneck CHLOROSULFONATE) | 1.144 | kilogram | assumed | 4 4 1 3 3 | unlinked unlinked, no technosphere mapping: no mapping (no chemical slug or factor id); add it to lci/mappings.yaml technosphere or to the process's lca/mappings.yaml exchanges |
| Disposal: Rinse water of Q-101 and F-101 between batches (site wastewater treatment of the acidic rinse water, with the waste acid (D-010)) disposal:consumable.rinse-water rinses to the neutralisation with the waste acid (D-012) | 1.144 | kilogram | assumed | 4 4 1 3 3 | unlinked unlinked, no technosphere mapping: no mapping (no chemical slug or factor id); add it to lci/mappings.yaml technosphere or to the process's lca/mappings.yaml exchanges |
Elementary flows
No elementary flows are exported for this activity (pass-through emissions and free inputs are left out, see the caveats).
The streams are the plant's own flows: an amount here is allocated and per 1 kilogram of p-Toluenesulfonyl chloride crystals to packing, so it differs from the stream's flow, and it can sum several streams.
Where these numbers come from: each exchange names its source above; the dataset is processes/p-toluenesulfonyl-chloride-1/lca/dataset.yaml in library version a3c52e4.
Used by
No other activity of this database links to it.
How good it is
- Review
- Not reviewed: no LCI review record yet
- Data quality
- DQR 2.33 · PEF-style DQR 2.72TeR 3 · GeR 3 · TiR 1 · P 3.87 · C 4 · weakest TeR · primary data 0 %
- Mass and carbon closure
- Assessed (lca/manifest.json balance, tolerance 5 %: design maturity concept (sourced screening))
- lci-carbon-origin: not-assessable
- lci-element-balance: not-assessable
- lci-mass-balance: closed
- element balance not assessable: no composition for consumable:nitrogen (no composition), consumable:rinse-water (no composition), disposal:consumable.rinse-water (no composition)
- carbon balance not assessable: no composition for consumable:nitrogen (no composition), consumable:rinse-water (no composition), disposal:consumable.rinse-water (no composition)
- Change report
- Not available: this build has no change report against an earlier release.
KPI benchmark positions
| KPI | Value | Reference range | Position |
|---|---|---|---|
| Chlorosulfonic acid consumption per kg of p-toluenesulfonyl chloride No open source with a plant's chlorosulfonic acid use per kg p-TsCl found (searched 2026-11-05 as for tscl-specific-toluene); the patents give laboratory ratios of about 3 (DE 1 912 956 A1) to 4 (PL 73685 B2) mol per mol toluene. Only the stoichiometric floor, 1.222 kg/kg, is known. | – kg/kg | not available | not evaluated |
| Toluene consumption per kg of p-toluenesulfonyl chloride No open source with a plant's or a pilot's toluene use per kg p-TsCl found independent of the dataset (searched 2026-11-05: Google Patents DE 1 912 956 A1, the dataset's basis, PL 73685 B2 and CN 105503671 A, all laboratory examples; web search for p-toluenesulfonyl chloride production consumption figures, which gave only encyclopaedia summaries, not read where licensed). Only the stoichiometric floor, 0.483 kg/kg, is known. | – kg/kg | not available | not evaluated |
How to use it
Downloads
- cheme-as-code-atlas-preview-a3c52e4.xlsx · bw2io ExcelImporter workbook (bw2io 0.9 Excel layout) · the whole databasecode p-toluenesulfonyl-chloride-1:p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a:product:TSCL
- cheme-as-code-atlas-preview-a3c52e4-olca-jsonld.zip · openLCA JSON-LD (olca-schema) (2) · the whole databaseprocess 6b4d6248-f69d-5443-b9d7-916b357ccdb4 (processes/6b4d6248-f69d-5443-b9d7-916b357ccdb4.json)
- cheme-as-code-atlas-preview-a3c52e4-multifunctional.json · Brightway 2.5 multifunctional database (JSON, for the multifunctional package) (cheme-as-code/lci-multifunctional/v1) · the whole databasecode p-toluenesulfonyl-chloride-1:p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a:product:TSCL
- cheme_as_code_lci-0.1.0-py3-none-any.whl · the installer
A file with this activity alone is not available: each file above is the whole database, and the line under it says how to find this activity there.
import bw2data as bd
from cheme_as_code_lci import install
bd.projects.set_current("my-project") # holds your licensed background + biosphere3
install("cheme-as-code-atlas-preview-a3c52e4.xlsx", background="ecoinvent-3.11-cutoff", location="DE")
activity = bd.get_activity(("cheme-as-code-atlas-preview-a3c52e4", "p-toluenesulfonyl-chloride-1:p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a:product:TSCL"))While any exchange of the database has no mapping, install() writes nothing and only lists the unlinked exchanges. So the last line finds no activity until the gaps are mapped: the download section gives the ways to use the database now.
How to cite
p-Toluenesulfonyl chloride crystals to packing, from p-Toluenesulfonyl chloride by semi-batch chlorosulfonation of toluene with a drown-out quench (1000 t/a) (dataset p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a 0.1.0), ChemE-as-Code Process Atlas LCI database preview-a3c52e4, activity p-toluenesulfonyl-chloride-1:p-toluenesulfonyl-chloride-by-semi-batch-chlorosulfonation-of-toluene-with-a-drown-out-quench-1000-t-a:product:TSCL. Cite the Process Atlas paper (in preparation, 2026), by Artur M. Schweidtmann and Jana M. Weber, and the ChemE-as-Code Process Atlas LCI database version preview-a3c52e4.
DOI: none yet (the Process Atlas paper is in preparation)
For the data, cite the Process Atlas paper; for the platform that builds and checks it, the ChemE-as-Code paper.
Schweidtmann, A. M. & Weber, J. M. (2026, in preparation). Process Atlas: an open, git-native, reproducible library and life cycle inventory of chemical processes (working title).
BibTeX
@unpublished{schweidtmann_process_atlas,
author = {Schweidtmann, Artur M. and Weber, Jana M.},
title = {{Process Atlas: an open, git-native, reproducible library and life cycle inventory of chemical processes (working title)}},
year = {2026},
url = {https://atlas.cheme-as-code.org},
note = {in preparation}
}Schweidtmann, A. M. (2026). ChemE-as-Code: An Open-Source Platform for Agentic AI in Chemical Engineering. arXiv:2611.07947. https://doi.org/10.48550/arXiv.2611.07947
BibTeX
@misc{schweidtmann_cheme_as_code,
author = {Schweidtmann, Artur M.},
title = {{ChemE-as-Code: An Open-Source Platform for Agentic AI in Chemical Engineering}},
year = {2026},
eprint = {2611.07947},
archivePrefix = {arXiv},
doi = {10.48550/arXiv.2611.07947},
url = {https://arxiv.org/abs/2611.07947}
}