Arte SheetsLearn. Try. Understand.

Enology, Wine Chemistry & Barrel Cellar QA, Henderson-Hasselbalch Molecular SO2 & KMBS

Winemaking Molecular SO2 vs pH & KMBS Addition Formula

Calculate Antimicrobial Molecular SO2 (mg/L) from Wine pH and Free SO2, Required Free SO2 (ppm), Free SO2 Deficit (mg/L), and Potassium Metabisulfite KMBS Dose (g).

A "rule-of-thumb" 30 ppm Free SO2 protects crisp pH 3.2 Sauvignon Blanc—yet leaves pH 3.82 Napa Cabernet defenseless against Brettanomyces spoilage!

Only the neutral, un-ionized **Molecular `SO_2` (`H_2O·SO_2`, `pK_{a1} = 1.81` in hydroalcoholic wine)** diffuses across yeast and bacterial cell membranes (`95%+` of "Free `SO_2`" measured by Ripper/Aeration-Oxidation titration sits as `HSO_3⁻` bisulfite ion with weak antimicrobial power)! By **Henderson-Hasselbalch Equilibrium**, **Active Molecular `SO_2 = Free_SO2 / (1 + 10^(pH - 1.81))`** (`mg/L` = `ppm`): crisp white/sweet wines need **`0.80` mg/L Molecular `SO_2`** (and dry aged reds **`0.50–0.60` mg/L** against *Brettanomyces*!)—requiring **Target Free `SO_2 = Molecular_{target} * (1 + 10^(pH - 1.81))`** (`mg/L`), which climbs **`3x` for every `+0.47` pH shift**! Because commercial **Potassium Metabisulfite (`K_2S_2O_5`, `KMBS`, `MW = 222.32`)** yields **`57.6%` stoichiometric `SO_2` by weight** (`2 * 64.06 / 222.32 = 0.5763`), closing deficit `Delta_F = Required_Free - Current_Free` (`mg/L`) across Tank Volume `V_{hL}` (`hectoliters = 100 L`) requires **`KMBS_g = MAX(0, (Delta_F * V_{hL} * 100) / (1,000 * 0.576))`** (`grams`)!

Verify on a `120` hL (`12,000` L) Stainless Tank of `pH 3.35` Chardonnay—Wine_pH = 3.35 (B2), Lab_Free_`SO_2` = 18.0 mg/L (B3), Target_Molecular_`SO_2` = 0.80 mg/L (B4), and Tank_Volume = 120.0 hL (B5): Current Molecular `SO_2` sits low at `0.505` mg/L (E2), Required Free `SO_2` equals `28.5` mg/L (E3, `+10.5` mg/L deficit in E4), and Cellar `KMBS` Addition equals **`219.6` g** (E5)! In a shared harvest cellar workbook, lab technicians (`suggester` role) propose Ripper/AO `B2:B3` readings and `@mention` the head winemaker; note that the Arte Sheets ChatGPT `0.1.0` connector remains `In review` / `Not published` (and on scoped OAuth cloud workbooks, `owner`/`editor` winemakers review live `E2:E5` recalculation before issuing cellar work orders).

Enology Molecular SO2 KPI (Current Free=18 mg/L, Target Mol=0.80 mg/L, 120 hL Tank)FormulaVerified Output
Current Active Molecular SO2 (mg/L)Current_Free_mg_L / (1 + 10^(pH - 1.81))0.505 mg/L @ pH 3.35 (0.174 @ pH 3.82!)
Required Free SO2 for Target (mg/L)Target_Mol_mg_L * (1 + 10^(pH - 1.81))28.5 mg/L (82.7 mg/L sensory sulfur!)
Free SO2 Deficit to Add (mg/L)Required_Free_mg_L - Current_Free_mg_L+10.5 mg/L (+64.7 mg/L @ pH 3.82)
KMBS Powder Addition (57.6% SO2, g)MAX(0, (Deficit_mg_L * hL * 100) / 576)219.6 g (1,347.2 g impractical @ pH 3.82!)

Henderson-Hasselbalch (pKa1 = 1.81) Molecular SO2 & 57.6% KMBS Dosing Formula

Validate realistic `Wine_pH` in `[2.70, 4.30]`, `Current_Free_SO2` in `[0, 150]` mg/L, `Target_Molecular_SO2` in `[0.20, 2.00]` mg/L, and `Tank_Volume > 0.1` hL!

=LET(ph_w, B2, cf_s, B3, tm_s, B4, vh_l, B5, rf_s, tm_s * (1 + (10 ^ (ph_w - 1.81))), df_s, rf_s - cf_s, IF(OR(ph_w < 2.7, ph_w > 4.3, cf_s < 0, cf_s > 150, tm_s < 0.2, tm_s > 2, vh_l <= 0.1), "Invalid Enology Input", ROUND(MAX(0, (df_s * vh_l * 100) / 576), 1)))

Post-Malolactic High-pH 3.82 Wine Sensory Ceiling Trap Check (Set Wine pH B2 = 3.82)

Shift `pH` up after malolactic fermentation to `B2 = 3.82`: `18` mg/L Free `SO_2` now delivers a tiny `0.174` mg/L Molecular `SO_2` (E2), while hitting `0.80` mg/L would demand **`82.7` mg/L Free `SO_2`** (E3, `1,347.2` g KMBS in E5—above human nasal pungency threshold and bleaching red anthocyanins!), proving why high-pH reds target `0.50` mg/L + tartaric acidulation + `0.45` um sterile membrane filtration!

=IF(ISTEXT(E5), E5, ROUND(B4 * (1 + (10 ^ (B2 - 1.81))), 1))

Try the example

Use the original values or change them to test your understanding.

Further reading