• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

The 0 Effective Alkalinity Method

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I find that hard to believe but I'll have to take your word for it. A brewer with x lbs of Malt A and y lbs of Malt B and water with given properties would have to use trial and error on acid additions to see how much lactic acid is required for pH 5.4?

Yes, and in ml/gal to boot. Since most sheets are solving for the Mash pH, and not pHz, you don't get to choose your target. Silver's MME is a notable exception. In many ways it functions like our new sheet, except the guts are still color based.
 
You'll need to select a spreadsheet (Brunwater, etc...) and lay out step by step (like my post) how you would approach the problem.

OK.
Water: 8 gal Calcium 40 mg/L, Alkalinity 100 ppm as CaCO3, pH 8.3
Malt 10 lbs 3 °L base; 4 lbs 7 °L Base

In Brewers Friend go to the source water pane and enter 40 mg/L for the calcium, 0 ppm for the alkalinity and 7 for the pH
At the Grist Info pane enter 10, 3, 4 and 7 in the appropriate fields
Go to the Acid Additions pane, tick the Acid Added to Mash Only and Specify Acid by Target pH boxes. Specify Lactic Acid 88% and a target mash pH of 5.4 and then hit the Update Calculations button. "Add 3.64 mL" should appear next to the target mash pH box. This is the amount of acid you would needed were these grains to be mashed with distilled water or water whose alkalinity has been nullified by acidifying it to pH 5.4. A check of the Mash Report pane should confirm pH 5.4.
 
Last edited:
A.J., for most source waters, by the time you gain precision by introducing water pH into the mix ...
When you assay to control mash pH you do it based on the alkalinities of the malts WRT to mash pH and of the water WRT to mash pH. When you use a spreadsheet or calculator to determine the amount of acid to add for each of these sources you rely on measurements. In the best case these measurements are made on the water in your HLT and the malts in your grist case. Even under these best of circumstances the measurements are corrupted by various sources of error, the spreadsheets use oversimplifications of the chemistry and are we sure that 88% lactic acid is really 88%?. In the more typical case the water measurement was made by Ward Labs when the guy moved into the house last year. Best case or worst case the 0 alkalinity method removes any and all sources of error save 1 from the water equation. The one error it cannot remove is that of the pH measurement that determines when the water has been properly acidified (is it really at pH 5.4?). Whether the improvement in the pH estimate for the mash be 0.01 pH or 0.1 pH you are still better off with the 0 alkalinity method than if you rely on the more conventional means.

All that under consideration the guy that is going to benefit most is the guy whose source water is seasonably variable and doesn't have the means nor the desire to measure alkalinity and pH each times he brews.
 
Thanks, I'll try Brewers Friend. Trying to do the same in Bru n water doesn't seem to match the output of your calculator, not even when selecting 100% distilled. Maybe I've input something wrong.



 
I believe that 6.02 mL Lactic (to hit pH 5.4 in the mash) is intended for 100 ppm alkalinity mash water, but A.J. mistakenly said to enter it as zero (after initially mentioning it as 100 ppm).

In Mash Made Easy version 2.30 I get 6.5 mL of 88%lactic acid for a target pH of 5.40, and 6.02 mL of 88% lactic acid for a target pH of 5.43, provided that I set 8 gallons of mash water to 40 ppm Calcium and 100 ppm alkalinity.

So for this specific example Brewers Friend and MME are off by only 0.03 pH between them. But even this small and generally inconsequential difference could easily be erased by selecting a slightly different buffering capacity value than the 40 value I have set in MME version 2.30 as the default, and/or by entering a manual DI_pH value for each of this grists malts.
 
Last edited:
Actually it is because your faithful, but witless, correspondent forgot to 0 the alkalinity field! The number for 0 is 3.64 mL. I've edited No. 32 to show this. But there is something to be learned here. With the malt and the water you'd need 6 mL. For the malt only 3.64 meaning that the water takes 2.36 mEq. In the usual method you would enter 100 and calculate 6, measure out 6 and, assuming the lactic acid was really at it's labeled strength and the calculations correct hit pH 5.4. In the 0 alkalinity method you would just add lactic acid to the water until you hit pH 5.4. Were the calcualtions and measurements correct this would require 3.64 mL but it wouldn't matter if the water's alkalinity was actually 80 or if the lactic acid had aged to 84% or if the graduated cylinder was off 2%. The water would be right.
 
Hrm... something doesn't add up here... The process from AJ and z-bob both say to use 0 alkalinity water but silver_is_money says to use 100 ppm alkalinity water... when the alkalinity is set in Bru n water it also comes up with 6.2ml for 8 gal... but isn't the gist to use 0 alkalinity water as the input to determine the amount of acid needed to overcome the grains acidity/alkalinity? Still confused.
 
Hrm... something doesn't add up here... The process from AJ and z-bob both say to use 0 alkalinity water but silver_is_money says to use 100 ppm alkalinity water...
You have to read these posts very carefully and often more than once. What he said was that he believed that the 6 mL figure pertained to a mash made with water of 100 ppm alkalinity - not one with 0 actual or effective alkalinity and he was right. I forgot to 0 the alkalinity when I kicked off the calculation.
 
Those posts were made at pretty much the same time.

Anyway, even zeroing the alkalinity in Bru n water gives only 1ml of lactic required for 8 gal. (As the screenshots above demonstrate).

I'll go back and re-read and re-try - I'm probably still missing something crucial.
 
The discrepancy is found in the 8 gallons of water. Do you mean 4gal for mash and 4gal for sparge? That's apparently how you ran it through Brewers Friend to end up with 3.64ml. I took it to mean 8 gallons of strike water (not 4 strike and 4 sparge) as that's how I was entering it into Brunwater (see screenshot).
 
The new Bru'n Water 1.22 should not have the sometimes serious past error involving mash thickness and its impact upon output. Are you using 1.22?
 
The discrepancy is found in the 8 gallons of water. Do you mean 4gal for mash and 4gal for sparge? That's apparently how you ran it through Brewers Friend to end up with 3.64ml. I took it to mean 8 gallons of strike water (not 4 strike and 4 sparge) as that's how I was entering it into Brunwater (see screenshot).
Well that's why I intended but I did screw that up too and had it set 4/4 and that does make a difference. The problem is that it shouldn't as if the water has 0 alkalinity then no acid goes to the water (in reality very little) - it all flows to the grain. With more water it says less acid (0.8L) is needed when in fact just a scosh more is. I admit I don't use the programs much and so may be screwing it up totally.
 
The new Bru'n Water 1.22 should not have the sometimes serious past error involving mash thickness and its impact upon output. Are you using 1.22?
I have to ask. How serious is the sometimes serious error under typical real-world mash scenarios? And by typical, I mean in the 1 to 2.5 quart per pound mash thickness range. I'm not calling the error into doubt having kept up with related posts for 3 weeks now. But on a scale of 1 to 10 how likely is it someone will encounter the error at all? And if they do how badly will it skew their pH prediction results 10%? 100%? Finally is the skew in pH prediction greater than that introduced by incorrect grain DIpH, calcium or Lactic acid potency, etc.?

Example: Say a majority of people enjoy listening to music played on a $200 system reproducing sound with 99% accuracy. While an audiophile may spend 10 or more times that amount trying to reach that last 1% of accuracy. Who stands to benefit the most as this relates to brewing beer?
 
My fear is that it really is simple (but maybe it's not) and that I am just unable to explain it clearly.
@ajdelange since the publication of the book 'Water' piked my interest. I have been reading all I can find about brewing water properties while experimenting with mash prediction. I've read many of your posts here and your published papers on this subject. About a year ago I bought the syringes with cc and ml markings needed to run the DIpH testing and buffering titration tests to find buffering coefficients for (a), (b) and (c). At the time you posted how a homebrewer like myself could do this testing and I thank you for that. Fast forward a year later having tested for DIpH of several grains I have yet to test for (a).

The information you provide in my mind is invaluable to someone interested in the finer points of brewing beer. Admittedly I can spend weeks reading and trying to digest most of the information you post. I would like to see a sticky regarding the titration process to find the buffering coefficient values. Similar to the thread you and I had going last year. I also would like to begin an 'open source' approach where brewers familiar with DIpH and buffering testing could share their results, ideas, and questions.
 
@ajdelange since the publication of the book 'Water' piked my interest. I have been reading all I can find about brewing water properties while experimenting with mash prediction. I've read many of your posts here and your published papers on this subject. About a year ago I bought the syringes with cc and ml markings needed to run the DIpH testing and buffering titration tests to find buffering coefficients for (a), (b) and (c). At the time you posted how a homebrewer like myself could do this testing and I thank you for that. Fast forward a year later having tested for DIpH of several grains I have yet to test for (a).

The information you provide in my mind is invaluable to someone interested in the finer points of brewing beer. Admittedly I can spend weeks reading and trying to digest most of the information you post. I would like to see a sticky regarding the titration process to find the buffering coefficient values. Similar to the thread you and I had going last year. I also would like to begin an 'open source' approach where brewers familiar with DIpH and buffering testing could share their results, ideas, and questions.

Agreed.
 
Well that's why I intended but I did screw that up too and had it set 4/4 and that does make a difference. The problem is that it shouldn't as if the water has 0 alkalinity then no acid goes to the water (in reality very little) - it all flows to the grain. With more water it says less acid (0.8L) is needed when in fact just a scosh more is. I admit I don't use the programs much and so may be screwing it up totally.

Something is definitely amiss with both calculators:

Brewers Friend:

8 gal - strike | 0 gal - sparge = 2.83 ml
4 gal - strike | 4 gal - sparge = 3.64 ml

Brunwater:

8 gal - strike | 0 gal - sparge = 1.0 ml
4 gal - strike | 4 gal - sparge = 0.85 ml

I'm to the point where all these calculators are shams, I mean some people are even making money off these things.
 
I have to ask. How serious is the sometimes serious error under typical real-world mash scenarios?
That depends on whether you are in a "sometimes serious" situation or not. The first generation programs give a decent answer lots of the time but sometimes they are way off base. I think this is because they use largely empirically derived models which models are based on what happens most of the time. As an example, declaring bicarbonate to be 61*alkalinity/50 works pretty well if your water's pH is between 6 and 8. Outside that range the approximation's accuracy starts to fall off. Even at pH 9 this particular error isn't serious but perhaps simpler to understand than the more serious errors that have been discovered recently. Thus the question you have to ask yourself is "Am I in a potentially serious error situation here?" With respect to the bicarbonate approximation you at least know that you are if your water's pH is 9.8 but who is going to remember that? With respect to the other errors I don't know how to word a caveat that says "Don't use this program when...." because I don't know where the errors lie. I can look at the models used (or what I think are the models used) ask myself "How is this connected to the underlying science?" and only observe that they seem to fit what the science predicts in a lot of cases and that they don't in others. I have noted here over the years that Bru'n Water, which is, obviously, the most used and thus the most commented on, seems to do better when high colored malts are not involved or are used at low levels and this makes sense because the non linearity of their titration curves introduces larger errors in a forced linear model (which all the first generation programs, AFAIK, use). Thus I often tell people "Use the program to get you in the ballpark but, especially if dark malts are involved, do a test mash." Now if you take that advice then it doesn't really matter how bad the program is as you will catch it out when you do the test mash and still make a good beer (or at least one mashed at the correct pH).

And by typical, I mean in the 1 to 2.5 quart per pound mash thickness range.
Suppose you are a BIAB or no sparge brewer?

I'm not calling the error into doubt having kept up with related posts for 3 weeks now. But on a scale of 1 to 10 how likely is it someone will encounter the error at all?
And if they do how badly will it skew their pH prediction results 10%? 100%?[/QUOTE] I don't see the problem as being in pH prediction but in reliance on these programs for acid addition recommendations. The recent big discovery showed that the most popular program gave a wildly wrong answer for that under some conditions. If those recomendations were folowed it is likely that the desired mash pH would be substantially off. By how much, I don't know nor can I tell you how much worse that is going to make your beer than it might have otherwise been. Nor can I even tell you when this problem will occur. I haven't the time or inclination to check all these programs and publish "flight envelopes" for them. I think a much better short term fix is to tell the author there is a problem and have him repair it. Don't you? The long term fix is to start producing second generation spreadsheets and programs which are not subject to these errors and uncertainties

Finally is the skew in pH prediction greater than that introduced by incorrect grain DIpH, calcium or Lactic acid potency, etc.?
That would depend on those uncertainties. In science or industry if we need to estimate something (here the amount of acid we must add to a mash to get a desired pH) and that estimate is derived from a series of measurements (water alkalinity and pH, malt titration parameters, acid strength, malt masses, water volume) it is clear that an error in any of those measurements will contribute to uncertainty in the estimate. The art of error propagation is used to determine how much each measurement uncertainty contributes to the acid addition uncertainty. These contributions are tabulated in an "error budget" and that list is examined in order to see if there are ways to reduce or eliminate the dominant errors. There is another item on the error budget besides those attributable to measurements and that is error introduced by the algorithm that processes the measurements. To answer your question one needs to have numbers for the error budget and those are hard to get. In this case I can look at the apparent error in Brewer's Friend and propagate that through to an uncertainty in acid amount and propagate that further to an estimate of error in the desired pH. But I have another option and that is to replace Brewer's Friend with a program that contributes 0 approximation error thus removing that item from the budget all together. Now you are quite right to point out, as I think is your intention is asking this question, that if the budget item for program errors is 0.02 pH while the RSS (if you know what that means, great, if not don't worry about it) of the other items is 0.05 pH then the total error is 0.054 pH and eliminating 0.02 program error would only improve things to 0.05 and we might question whether it is worth it to 'fix' the program. But, of course, we don't know what the program error is relative to the rest of the budget and so find it prudent to 'fix' the program if that isn't too expensive (and it isn't).

We've deviated quite a bit from the main theme of this thread and it is doubtful that many will read down this far but right in line with the theme of the thread is that by using the 0 alkalinity method we take a couple more items out of the error budget - those related to the water's volume measurement, pH measurement and alkalinity measurement.


Example: Say a majority of people enjoy listening to music played on a $200 system reproducing sound with 99% accuracy. While an audiophile may spend 10 or more times that amount trying to reach that last 1% of accuracy. Who stands to benefit the most as this relates to brewing beer?

This is a good analogy. Most loudspeakers deliver THD (distortion) of a couple of percent. Modern amplifiers have THD specs of tenths or hundredths of percent. Given this, why do we bother with such good specs for the amp when the speakers are relatively so poor? The answer is that it really ins't that difficult, with today's technology, to build an amplifier whose THD is 10 dB below the THD of the speakers (10 dB is the engineer's rule of thumb - if somethings error contribution is 10 or more dB's below another's then we can ignore its error).

It's the same here. It really isn't difficult too build a spreadsheet that eliminates program error from the error budget. Watch this space!
 
Last edited:
Something is definitely amiss with both calculators:

Brewers Friend:

8 gal - strike | 0 gal - sparge = 2.83 ml
4 gal - strike | 4 gal - sparge = 3.64 ml

Brunwater:

8 gal - strike | 0 gal - sparge = 1.0 ml
4 gal - strike | 4 gal - sparge = 0.85 ml

I'm to the point where all these calculators are shams, I mean some people are even making money off these things.

The differences are because the mEq's of available calcium to react with the grist change (as in double) when you go from 4 gallons of mash water with 40 ppm calcium to 8 gallons of mash water with 40 ppm of calcium.

When Mash Made Easy is fed calcium into distilled water until for 4 gallons of mash water its concentration reads 40 ppm and then for 8 gallons it subsequently reads 20 ppm (I.E., when the mEq's of calcium are held perfectly constant) the 4 gallon and 8 gallon 88% lactic acid acid additions required to hit 5.4 pH in the mash are 3.33 mL and 3.34 mL respectively, or essentially identical. But when one is not building water from scratch on top of distilled, but rather is using existing water (such as tap) with 40 ppm of calcium through and through, the mEq's of calcium fully double when using 8 gallons of said water as opposed to only 4 gallons. This alters the results in Mash Made Easy to 2.95 mL of lactic acid for 8 gallons and 3.33 mL lactic acid for 4 gallons. The double shot of mEq's of calcium present within 8 gallons (twice as much as for 4 gallons) result in more downward pH shift due to mineralization for this specific case. So one needs to beware of this matter, as I tried to discuss on the "thought experiment" thread, to little avail. I.E., the matter of mEq's of minerals added vs. ppm's of minerals added, wherein the two must be viewed as mutually exclusive when one decides to alter the gallons of mash water. And particularly when one transitions from mash with sparge to BIAB with no sparge, wherein the mash water may be doubling for BIAB.
 
Last edited:
Yes. The calcium was responsible. Kai understands the chemistry better than most so I was very surprised when I came up with this apparent error in his program. FALSE ALARM!
 
I have to ask. How serious is the sometimes serious error under typical real-world mash scenarios? And by typical, I mean in the 1 to 2.5 quart per pound mash thickness range.

I can't speak for Bru'n Water 1.22, having not downloaded it yet, but for earlier editions the error was greater than 50% with respect to the quantity of acid required to move the mash to 5.4 pH for the mash and sparge case vs. the BIAB case.
 
Am I asking about the doubling of mash water without mineral additions? Is that what you mean by the mash vs sparge case? Being a BIAB brewer myself using a 1.0 to 2.5 quarts per pound mash thickness and mineral additions is typical. So again does the sometimes serious error occur when using a typical mash thickness with mineral additions or not? And if it does how 'serious' is the error when using a typical mash thickness?
 
Last edited:
The error was not present for 3.2 quarts per pound. It was present for 1.6 quarts per pound.

Scenario 1, 12.5 lbs mashed into 40 quarts, or 3.2 qts./lb., as I recall took 6.2 mL lactic acid, and this was in reasonable agreement with the others.

Scenario 2, 25 lbs mashed into the very same 40 qts., or 1.6 qts./lb., took 5.8 mL lactic, when it should have taken closer to 12.4 mL (if one assumes 6.2 mL to be correct for scenario 1)

So only those who mashed extremely thin were getting decent advice. Far more mainstream mashing was far more catastrophic. It didn't really matter though, as the masses of fans were all mashing within 0.1 pH points of their desired target regardless of mash thickness. Reality is like that sometimes. It's called confirmation bias. A form of psychoses in which (for the sufferer) the software must always be right, even when it isn't.

In all fairness, until version 2 came along, Mash Made Easy had issues essentially as serious, but for dark brews instead of mash thickness. The darker the brew, the more serious the issue. And just as 1.22 fixes the serious issue for Bru'n Water, version 2.xx fixed this most grievous (to date) of MME's issues. But if you have an abject fear of adding baking soda to your dark beer recipes mash water, then 'MME' version 2.x may not be for you. And from what I've seen, ditto fro Bru'n Water. Neither of these two spreadsheets are afraid to tell you to add baking soda.
 
Last edited:
The error was not present for 3.2 quarts per pound. It was present for 1.6 quarts per pound.

Scenario 1, 12.5 lbs mashed into 40 quarts, or 3.2 qts./lb., as I recall took 6.2 mL lactic acid, and this was in reasonable agreement with the others.

Scenario 2, 25 lbs mashed into the very same 40 qts., or 1.6 qts./lb., took 5.8 mL lactic, when it should have taken closer to 12.4 mL (if one assumes 6.2 mL to be correct for scenario 1)

So only those who mashed extremely thin were getting decent advice. Far more mainstream mashing was far more catastrophic. It didn't really matter though, as the masses of fans were all mashing within 0.1 pH points of their desired target regardless of mash thickness. Reality is like that sometimes. It's called confirmation bias. A form of psychoses in which (for the sufferer) the software must always be right, even when it isn't.
But once a minimum amount of calcium was added to the mash water didn't the seriousness of the issue become less notable in all scenarios.
 
But once a minimum amount of calcium was added to the mash water didn't the seriousness of the issue become less notable in all scenarios.

I just tried it. and the exact same error is present, Instead of doubling vs scenario #1, the required acid still goes down for scenario #2, for the case of 5 grams of added calcium chloride. This for a pre 1.21 version. 1.21, and now 1.22 are supposed to fix this.
 
I admit I haven’t had the time needed to keep up with you AJ and Scotty. It’s finding time more than believing in the new approach keeping me from coding or testing.
 
I admit I haven’t had the time needed to keep up with you AJ and Scotty. It’s finding time more than believing in the new approach keeping me from coding or testing.

I’ve been working with some testers from lob.com on bugs and adding some extra convenience code to the macros.

I’ve had the time so I’m trying to get it ready for release. I need to double check the malt classes and their values tomorrow.
 
I’ve been working with some testers from lob.com on bugs and adding some extra convenience code to the macros.

I’ve had the time so I’m trying to get it ready for release. I need to double check the malt classes and their values tomorrow.

Does it require the zero alkalinity method?
 
Back
Top