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

    Homebrewing Facebook Group

Statistical significance of mash pH estimates?

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
@doug293cz , thank you.

FWIW, I found MME 3.10 very close to Brewer's Friend's lactic addition on a recipe I will be brewing next week (2.20ml vs 2.47ml). BeerSmith3 suggested I add 6.3ml latic acid. I never could figure out how to use Bru'nWater and after repeated rereading its instructions and attempts to get it to calculate, I deleted it from my computer. I know another member had problems with it to. It just wasn't for me....
 
@doug293cz , thank you.

FWIW, I found MME 3.10 very close to Brewer's Friend's lactic addition on a recipe I will be brewing next week (2.20ml vs 2.47ml). BeerSmith3 suggested I add 6.3ml latic acid. I never could figure out how to use Bru'nWater and after repeated rereading its instructions and attempts to get it to calculate, I deleted it from my computer. I know another member had problems with it to. It just wasn't for me....

please post back after your brew day. i am curious as to whether mash made easy or bs3 is correct. there was a debate previously with another member that swears to the moon bs3 is correct........ to make it even more interesting the member that swears bs3 is correct is also the creator of mme. might have some explaining to do lol. sounds like you experience matches most others in regards to the bs3 ph tool. i also agree brunwater can be a pain in the ass to use. thats why i was so happy then sad when bs3 came out. i hoped to never need another program and be able to do it all on bs3. next brew ill try the 125% acid workaround. fingers crossed. cheers
 
Last edited:
Here are some things to consider when attempting to fathom the difficulty of achieving statistical correlation specifically as it relates to multiple home brewers with a broad range of experiences, procedures, pH meters, grains being used, etc...

1) Some data indicates that breweries take mash pH readings at mash temperature. The difference in readings between room temperature and mash temperature vary from source to source, and generally span a range from 0.2 to 0.35 pH. This span indicates that trusted sources can't even seem to come to a consensus as to how much impact to compensate for when taking room temperature pH readings.

2) I've seen declassified 1950's era data that indicates the ideal mash target to be 5.0 pH, but it was not mentioned as to being at mash temperature or room, though it was a peer review level paper, and as such I believe it was probably discussing a target mash temperature pH of 5.0. Yet this is merely my opinion of what I've read.

2) Weyermann data (for their Sauermalz and its impact) indicates and charts (side by side as more and more acid malt is added) "mash pH" and "wort pH" and a review of this data indicates that there is a continual spread of roughly 0.2 pH points between the two, with "wort pH" being at the higher end and mash pH at the lower end. At least one highly trusted forum member (who is involved in cutting edge mash pH software development) believes the two terms to be exactly the same, and originally I agreed with his assessment, but then I looked at the Weyermann Sauermalz data again, and now I have doubts. So among and betwixt us we can't even derive a consensus as to what is a mash pH and what is a wort pH (and how can Weyermann track them simultaneously and note their differences).

3) Some argue for early sampling in order to chase and adjust the mash pH, and some argue for later sampling when more of a static equilibrium has been achieved, and when all of the grain starches in the deep confines of the most difficult to liberate malted grain kernels have been reached by the mash water (in its progression toward becoming wort) and through enzymatic action been cleaved and converted into sugars. Thus we can't as a group even decide when to sample. But there is general evidence available for most brews (on an SRM basis) that points to later sampling indicating higher pH than earlier sampling, with this sometimes approaching or even slightly exceeding a rise of 0.2 pH points as the mash trends from not being complete to being complete. Effectively the mash is fully over when reactions are perceived (if not also measured) to have cease. But we can't as a group decide if we should measure pH later, when reactions have primarily ceased, or when they are still actively in process and the mash is nowhere near complete.

4) Some of us are chemists or engineers, or at least have had formal training and/or work experience to that end (with some of us old timers for multiple decades), and some admit they are outright confused by such science, and may have had none of such professional training, yet all of us here have equal rights to opinions. But one must be careful to mention when they are expressing an opinion. Otherwise those unawares can easily misconstrue opinion as fact derived from hard science.

I believe the OP has expressed valid opinions of concern, and I have added a few more to the mix. Until opinions are erased by standardization, it is my opinion that we are not even speaking the same language when we say that we brewed a batch and measured its mash pH to be x.xx.
 
To establish whether or not there actually can ever be any hope for statistical relevance in regard to any of the extant gen 1 mash pH assistant software solutions, I place a call to A.J. deLange for his gen 2 software solution to this, a hypothetical SMaSH:

A.J., given this hypothetical and simple SMaSH recipe case, how much 88% lactic acid is actually required to achieve an honest mash pH of 5.4 on a proton basis?

Case:
5 Kg. (11 lbs.) of Maris Otter, measured to have a DI_pH of 5.73 (as was recently done by member 'cire')
17 liters (4.5 gal.) of RO mash water with 50 ppm Ca++, zero Mg++ ppm, and zero alkalinity ppm

That depends on how much of the calcium phytin reaction we think takes place in the mash tun and how much in the kettle. Here are the amounts for Kolbach factors of 3.5 (complete reaction in mash tun) and 7 (half in the mash tun)

Crisp MO
pHDI 5.69
Lactic @ 3.5: 5.1 mL
Lactic @ 7: 5.6 mL

Muntons MO
pHDI 5.84
Lactic at 3.5: 7.0
Lactic at 7: 9.11

Hypothetical MO
pHDI 5.79
Lactic at 3.5: 5.9
Lactic at 7: 6.4

As while the pHDI's for the Crisp and Muntons offering are dramatically different their buffering parameters, all 3, are remarkably similar so I used them for the buffering characteristics of the hypothetical MO. Of course I have no right to do that but I have to get buffering numbers from somewhere.

This will establish the gen 1 vs. gen 2 software baseline for validity only for the range of light colored brews.
Taking Gen 1 to mean a program that assumes lactic acid releases 1 mEq of protons per mmol irrespective of target pH, that uses the Riffe equation to solve for pH and always uses 3.5 for the Kolbach factor the difference between Gen 1 and Gen 2 are going to be solely based on the Kolbach factor as no malts with pHDI distant from mash pH are involved and the water is free of alkalinity. Where you will get impressive differences is if your Gen1 program uses color to determine pHDI and decides that as all three of these malts have the same color they have the same pHDI. Then you are going to have, for Kf = 3.5 a range of 5.1 - 7 mL in the estimated acid requirement. Thus in this case (pale beer) the difference between the Gen I and Gen II computations is small. The focus needs to be on the malt models.

Now going back to a Gen I spreadsheet that takes pHDI and ask me how much chocolate malt would be needed to get to pH 5.4 the answer is 24%. In this case the Gen II computation tells us that the pH is 5.40 but a Gen I computation as described above says its 5.48. That's an appreciable difference between Gen I and Gen II.

Here I am talking about the best Gen I spreadsheets i.e. the ones that accept pHDI input. The most popular ones don't AFAIK and this are subject to errors of this magnitude from computational shortcomings AND the errors from trying to model based on color.

The interesting thing is that anyone can now have the Gen II capability in his spreadsheet or calculator.
 
Last edited:
isnt brewers friend gen 1? i found it surprising its calculating similar results as mme and no were near bs3 which are both gen 2.
 
For the record, Mash Made Easy shares absolutely no code (that I'm aware of) with Beersmith. RPIScotty, another poster of high esteem (at least in my opinion) on this forum stated within only the past few days (and in its defense) that Beersmith uses formulas sourced from D. M. Riffe, and Mash Made Easy uses none of D.M. Riffe's formulas to my knowledge either (and as an aside RPIScotty has , with my permission, and due to my trust of his character, seen the coding of my spreadsheet, and he personally uses D.M. Riffe's formulas, so he can assuredly vouch that I do not). But since D. M. Riffe is in my opinion a giant in this field beneath only perhaps A.J. deLange among those who frequent this forum, if Beersmith is utilizing his formulas correctly, there seems to be at least some likelihood that Beersmith's output has at least the potential to be seriously considered as valid. To Beersmith's defense, I've seen a number of cases where A.J. has instructed posters to add what in my opinion seem to be rather high lactic acid addition mL's, with my observation of this phenomenon witnessed for a number of cases involving low SRM recipes. The case may be that those typically utilizing more acidic base malts witness an associated need for noticeably less lactic acid, wherein those who typically use less acidic base malts witness a need for noticeably well more lactic acid, with both targeting 5.4 pH. Another issue that requires standardization in direct relevance to this thread.
 
Last edited:
A.J., in regard to your post above which is answering my Maris Otter SMaSH scenario query, your answer (given the malt variabilities which you mentioned) would most likely fall within the range of 5.1 to 7.0 mL of 88% lactic acid addition required to achieve a mash pH of 5.4. Did I interpret the core answer as regards lactic acid mL's required here correctly?

If I am seeing this correctly, it speaks directly to my post immediately above which mentions that your science and mathematics derived solutions often require what at first appearance are noticeably higher than (some popular gen 1 software derived) typical lactic acid additions.
 
Yea not so much anything to do with the code. Just that two gen 2 programs were so vastly different would say one must be broken or its just not as accurate as suggested. if gen 2 is what makes the .27ml acid differance how come the other gen 2 software is calling for a additional 4.10ml was more my point. Obviously we won't know which is closer until he measures his ph on brewday. Cheers

i should add this is based on codesections above post

FWIW, I found MME 3.10 very close to Brewer's Friend's lactic addition on a recipe I will be brewing next week (2.20ml vs 2.47ml). BeerSmith3 suggested I add 6.3ml latic acid. I never could figure out how to use Bru'nWater and after repeated rereading its instructions and attempts to get it to calculate, I deleted it from my computer. I know another member had problems with it to. It just wasn't for me....
 
Last edited:
The only gen 2 software that I'm aware of utilizes A.J.'s proton based code. To date, the only private to semi-public releases utilizing A.J.'s proton code have been made by A.J. and RPIScotty, with (I believe) ScrewyBrewer perhaps also working to this end, but not having made an official announcement of it, let alone a release. To my knowledge, gen 2 software has never been fully publicly released yet (to date). I have thankfully been privy to receive both A.J.'s and RPIScotty's pre-release spreadsheet editions, and I thank both of them for this.
 
The only gen 2 software that I'm aware of utilizes A.J.'s proton based code. To date, the only private to semi-public releases utilizing A.J.'s proton code have been made by A.J. and RPIScotty, with (I believe) ScrewyBrewer perhaps also working to this end, but not having made an official announcement of it, let alone a release. To my knowledge, gen 2 software has never been fully publicly released yet (to date). I have thankfully been privy to receive both A.J.'s and RPIScotty's pre-release spreadsheet editions, and I thank both of them for this.


is bs3 considered 1 or 2? any insight into why bs3 suggests so much more acid than mme? cheers
 
is bs3 considered 1 or 2? any insight into why bs3 suggests so much more acid than mme? cheers

1) BS3 is gen 1, but as stated above, if it is using Riffe's highly respected formulas (as RPIScotty attests), it has an undeniably high pedigree in that regard.

2) Since merely selecting a very high base malt DI_pH range for MME (from among the 6 default ranges provided via drop-down selection, with this not requiring manual override) allows MME to require as much lactic acid as I speculate may be seen for BS3 (based upon your insight), and with the flip side of this being that if you select within MME a different and much lower DI_pH range for the base malt you can potentially go lower in lactic acid requirement than than even BW (also from your insight), I can only surmise (I.E., it is merely my opinion) that the BW3 model is perhaps fixated upon the intent of higher DI_pH low Lovibond base malts being utilized by the homebrewer, and likewise surmise that BW is fixated upon the intent that lower DI_pH low Lovibond base malts be utilized by the homebrewer.

I must inject here that it is my personal opinion that A.J. should not be de-Facto lumping all software other than his quite new proton balance based software into a single (and thus restrictively limiting) category as "gen 1". The range of math models between software of this type is broad, and should not be lumped together as one in quite the way that he is doing. If all gen 1 software was gen 1, then it would all give the same output advice, but the (A.J. defined) gen 1's offer broadly varying output advice, to sometimes a quite high degree. Witness my recent discussions regarding a posters high in deep roasted malts recipe, where the gen 1's spanned from solutions requiring mash water acidification, to those requiring 16.5 grams of baking soda, and a range of in-betweens.
 
Last edited:
1) BS3 is gen 1, but as stated above, if it is using Riffe's highly respected formulas (as RPIScotty attests), it has an undeniably high pedigree in that regard.

2) Since merely selecting a very high base malt DI_pH range for MME (from among the 6 default ranges provided via drop-down selection, with this not requiring manual override) allows MME to require as much lactic acid as I speculate may be seen for BS3 (based upon your insight), and with the flip side of this being that if you select within MME a different and much lower DI_pH range for the base malt you can potentially go lower in lactic acid requirement than than even BW (also from your insight), I can only surmise (I.E., it is merely my opinion) that the BW3 model is perhaps fixated upon the intent of higher DI_pH low Lovibond base malts being utilized by the homebrewer, and likewise surmise that BW is fixated upon the intent that lower DI_pH low Lovibond base malts be utilized by the homebrewer.


wanna guess which ends up closer in the end? brewers friend/mme or bs3? my money is on brewers friend/mme. cheers
 
wanna guess which ends up closer in the end? brewers friend/mme or bs3? my money is on brewers friend/mme. cheers

You must at some juncture come to realize that some base malts are clearly much more basic (with respect to a mash pH target of 5.4) than others. It simply isn't possible to speculate as to which software may come closest, without first knowing the inherent nature of the base malt being used (unless the software permits a range of choices to the end user in regard to base malt DIpH).

And for the record, MME does not to my knowledge utilize any Brewer's Friend code to determine mash pH.
 
You must at some juncture come to realize that some base malts are clearly much more basic (with respect to a mash pH target of 5.4) than others. It simply isn't possible to state which software will come closest, without first knowing the inherent nature of the base malt being used.

And for the record, MME does not to my knowledge utilize any Brewer's Friend code to determine mash pH.

wanna " GUESS" which ends up closer in the end? brewers friend/mme or bs3? my money is on brewers friend/mme. theres no way to word it that they are both correct in some way if theres that much a diffearance. one will either be closer or not closer. cheers
 
I'm honored to hear independent reports that MME often comes close to providing similar output to Brewer's Friend, as Brewer's Friend is among the elite selections that one can make with regard to mash pH assistant software. I believe much of BF's development was assisted by Kai Troester.
 
1)
I must inject here that it is my personal opinion that A.J. should not be de-Facto lumping all software other than his quite new proton balance based software into a single (and thus restrictively limiting) category as "gen 1". The range of math models between software of this type is broad, and should not be lumped together as one in quite the way that he is doing. If all gen 1 software was gen 1, then it would all give the same output advice, but the (A.J. defined) gen 1's offer broadly varying output advice, to sometimes a quite high degree.

Let me clarify what I mean by Gen I vs Gen II. Of course Gen I's differ and when the first Gen II spreadsheets get written they will differ too. In the broadest sense Gen I means just what the name suggests - a Gen I spreadsheet/calculator is one that has been prepared up to this point in time.

A Gen I program has one or more of the following characteristics:

1)Algorithm based on a combination of chemistry and empirical observations. If a result doesn't match an observation the algorithm is modified to produce a result that better matches the observation.
2)Tries to treat the problem as one in which the pH is a linear function of malt and water and addition parameters
3)Ignores malt pHDI - attempts to chacterize malt "acidity" based on color or malt type but does not accept malt pHDI or other titration data input.
4)Assumes that the effect of alkalinity on pH is independent of water sample pH
5)Uses bicarbonate as a proxy for alkalinity
6)Ignores the fact that the effect of alkalinity depends on the pH used in determining alkalinity
7)Assumes that the ability of lactic and phosphoric acids to deliver protons and that the ability of bicarbonate/carbonate to absorb them are independent of mash pH.
8)Ignores the alkalinity of the water molecules themselves.
9)Ignores the fact that acid released by the reaction of calcium and magnesium with malt phosphate does not complete in the mash tun but continues in the kettle.

A Gen II program is, broadly, any program that handles each of the above in the following way

1)Algorithm is based on the chemistry alone. Empirical observations are not included. No changes are made to the algorithm if a result does not match an observation. The explanation is found by examination of input malt or water data.
2)Recognizes that the problem is non linear as the chemistry clearly shows. Uses techniques that solve non linear equations.
3)Requires input malt data that accurately reproduces the malts' titration curves including pHDI and 3 buffering coefficients
4)Computes the proton deficit attributable to bicarbonate in the water from reported alkalinity, sample pH and titration end point as dictated by the chemistry.
5)Doesn't even calculate bicarbonate as no knowledge of it is needed. Computes the effects of water as indicated in 4).
6)See 4)
7) Computes the normality of added acids and/or bases based on the target pH as required by the chemistry
8) Computes the proton deficit of the water molecules themselves.
9) Requires an estimate of the portion of the calcium/magnesium/phosphate protons are released in the mash tun.

Note that no mention of malt models is mentioned. A Gen II program is guaranteed to give a good answer if it is fed good malt and water data. If fed bad data it will produce bad answers just as a Gen I program will. The Gen I programs tended to require broad input characterizations of malts such as their color which results in at best fair representation of malts. A Gen II program demands malt titration data as input but as there is not much of that available it will, in many cases, have to be generated from broad characterizations. Feeding Gen II algorithms with malt data deduced from color or malt type is subject to the same difficulties as when this is done in a Gen I program.

There are no Gen II programs out there. What is out there is a whole bunch of Excel functions which make preparing a Gen II based spreadsheet really easy. The user of such a spreadsheet is guaranteed freedom from any of the problems enumerated above but not from the modeling problem. The functions themselves are, as they are intended for use with Excel, written in Microsoft VBA. Each is quite small and simple and a port to any modern (or archaic) programming language should be quite simple. So, in summary, Gen II to me means
1)Computational accuracy
2)Great simplification in spreadsheet preparation
 
Last edited:
I've seen a number of cases where A.J. has instructed posters to add what in my opinion seem to be rather high lactic acid addition mL's, with my observation of this phenomenon witnessed for a number of cases involving low SRM recipes. The case may be that those typically utilizing more acidic base malts witness an associated need for noticeably less lactic acid, wherein those who typically use less acidic base malts witness a need for noticeably well more lactic acid, with both targeting 5.4 pH. Another issue that requires standardization in direct relevance to this thread.
The amount of acid requires depends on the properties of the malts. As seen in No. 44 the amount can vary quite a bit even for the same malt type as titration characteristics vary between maltsters, lot numbers, seasons. Also, my recommendations will be higher because, as indicated in No. 56, the Gen II algorithms recognize that the strength of lactic acid varies with pH. At pH 5.4 88% is 11.45 N. A Gen I program probably assumes it to be 11.77 N. That's not much but it does represent the need for 2.7% more of this acid. Other than that it depends on the malts and the water. If you think I've recommended too much acid question me about the malt and water - not about the Gen II algorithms (though, of course, I am still looking for coding goofs etc.)

A.J., in regard to your post above which is answering my Maris Otter SMaSH scenario query, your answer (given the malt variabilities which you mentioned) would most likely fall within the range of 5.1 to 7.0 mL of 88% lactic acid addition required to achieve a mash pH of 5.4. Did I interpret the core answer as regards lactic acid mL's required here correctly?
Yep. That's what I was trying to say. In interpreting lactic (or any other) addition you have to be aware of the implications. Taking the hypothesized malt case we found an addition of 5.9 mL required if the phytin reaction completes in the mash tun and 6.4 if it only half completes. Being the conservative sort I would assume that only half takes place and would use 6.4 mL. That would bring my pH to 5.4 (if the malt model is accurate). But suppose I'm wrong in my assumption. Suppose in fact it fully completes in the mash tun. What's the impact of using 0.5 mL too much acid? The pH drops by 0.024. And that's the worst case.

If I am seeing this correctly, it speaks directly to my post immediately above which mentions that your science and mathematics derived solutions often require what at first appearance are noticeably higher than (some popular gen 1 software derived) typical lactic acid additions.
Again you seem to be questioning the science and the mathematics used to describe it. As I am, I hope, a good scientist (engineer really) I question everything. Everything here is based on proton conservation and Henderson - Hasselbalch. Anyone can look up Henderson - Hasselbalch on Wikipedia. program it into a spreadsheet or other programming environment, look up, also on Wikipedia, the pKs for carbonic acid and be off and running. But does that represent the real world? Are those pK's wrong (you or I can go into Wikipedia and change them anytime we like). What about the escape of CO2 when we add acid to water etc. So we want confirmation that our science/math is right and we experiment to confirm that. In No. 128 of the thread at https://www.homebrewtalk.com/forum/...ded-to-a-dark-beer-recipes-mash.652804/page-4 I posted some data obtained from titration of my well water. The science/math let me calculate the shape of the curve that should fit through the data and that's what's plotted on that chart and it does fit the data quite well. The science/math is vindicated. Thus I repeat again that if you find something fishy don't question the science. Question the data. In any case tell me about it.

[Edit]Actually, do question the science. We may all be amateur scientists here but amateur or professional a scientist questions everything!
 
Again you seem to be questioning the science and the mathematics used to describe it.

Actually (via your confirmation indicating what a precise gen 2 model predicts based upon hard science) I was merely attempting to emphasize a point in an effort to educate the many among us who do not believe that a broad number of gen 1 software packages can ever possibly be correct (in a relative and gen 1 exclusive comparative sense) for any recipe fed to them, merely because one particularly popular of such spreadsheets consistently seems to indicate that much less acid is required than for the others for recipes such as my specific test case scenario.

That said, wherein you compute that ~5.9 mL's of 88% lactic acid are required for my strictly scenario delimited grist and water conditions and quantities to mash at pH 5.4 based strictly upon hard science, my Mash Made Easy 3.10 Metric program *** only indicates (for 5 Kg's of a Maris Otter class base malt at EBC color 6.0) a need for 3.51 mL's of the same acid (or 3.57 mL's when I manually override the softwares internally selected 5.73 pH (internally software rounded) and insert 5.73 pH (actual) to hit the test scenario requirement here square on the nose). So my quasi-empirical (gen 1 if you must) approach is in the end not really close to adding sufficient acid for this specific recipe scenario to mash at pH 5.4, yet to those who measure pH earlier rather than later in the mash it may outwardly appear to be more correct, while in fact being less correct. (this I presume to be because mash pH rises continually during the mash for light colored beers)

**** Mash Made Easy 3.10 standard calls for 3.50 mL's of 88% lactic acid for inputs of 11 lbs. Maris Otter, the recommended base malt DI_pH selector range choice made for same, and 4.5 gallons of water with 50 ppm of calcium. And 3.56 mL's for the case where the internally rounded (and therefore apparent) ~5.73 DI_pH is manually overridden with precisely 5.73 DI_pH***

Edit: A.J., if you were to limit your gen 2 software to the addition of only 3.51 mL of 88% lactic acid (as opposed to ~5.9 mL to hit pH 5.4) for my SMaSH grist and water scenario what mash pH is then predicted via gen 2? This will indicate how far off I am with MME for this secnario. And also by inference lend guidance as to potentially how much more far off any gen 1 software forecasting less lactic acid than MME for this scenario must be.
 
Last edited:
Actually (via your confirmation indicating what a precise gen 2 model predicts based upon hard science) I was merely attempting to emphasize a point in an effort to educate the many among us who do not believe that a broad number of gen 1 software packages can ever possibly be correct (in a relative and gen 1 exclusive comparative sense) for any recipe fed to them, merely because one particularly popular of such spreadsheets consistently seems to indicate that much less acid is required than for the others for recipes such as my specific test case scenario.

That said, wherein you compute that ~5.9 mL's of 88% lactic acid are required for my strictly scenario delimited grist and water conditions and quantities to mash at pH 5.4 based strictly upon hard science, my Mash Made Easy 3.10 Metric program *** only indicates (for 5 Kg's of a Maris Otter class base malt at EBC color 6.0) a need for 3.51 mL's of the same acid (or 3.57 mL's when I manually override the softwares internally selected 5.73 pH (internally software rounded) and insert 5.73 pH (actual) to hit the test scenario requirement here square on the nose). So my quasi-empirical (gen 1 if you must) approach is in the end not really close to adding sufficient acid for this specific recipe scenario to mash at pH 5.4, yet to those who measure pH earlier rather than later in the mash it may outwardly appear to be more correct, while in fact being less correct. (this I presume to be because mash pH rises continually during the mash for light colored beers)

**** Mash Made Easy 3.10 standard calls for 3.50 mL's of 88% lactic acid for inputs of 11 lbs. Maris Otter, the recommended base malt DI_pH selector range choice made for same, and 4.5 gallons of water with 50 ppm of calcium. And 3.56 mL's for the case where the internally rounded (and therefore apparent) ~5.73 DI_pH is manually overridden with precisely 5.73 DI_pH***

Edit: A.J., if you were to limit your gen 2 software to the addition of only 3.51 mL of 88% lactic acid (as opposed to ~5.9 mL to hit pH 5.4) for my SMaSH grist and water scenario what mash pH is then predicted via gen 2? This will indicate how far off I am with MME for this secnario. And also by inference lend guidance as to potentially how much more far off any gen 1 software forecasting less lactic acid than MME for this scenario must be.
It now seems all these recent posts regarding ph are more directed at the fact people are taking readings at 10-20 mins and it's matching what there software is suggesting. So is you argument that the ph needs to be taken at 30 mins if using newer software and the old method is incorrect? If so we have all wasted alot of bandwidth debating seemingly the same thing over and over and I think rewording the question would have prevent the ongoing debate. That being said these threads in the last few days are the first time I've heard of doing it that late. Ive never noticed a significant change in the ph from 10-30 mins but I've also only been concerned about staying in range. I also use a herms system and run it at full speed recirculation so it might help with how much time it takes to get a accurate reading as the liquid is turned over much faster than just letting it sit. Cheers
 
That said, wherein you compute that ~5.9 mL's of 88% lactic acid are required for my strictly scenario delimited grist and water conditions and quantities to mash at pH 5.4 based strictly upon hard science, my Mash Made Easy 3.10 Metric program *** only indicates (for 5 Kg's of a Maris Otter class base malt at EBC color 6.0) a need for 3.51 mL's of the same acid (or 3.57 mL's when I manually override the softwares internally selected 5.73 pH (internally software rounded) and insert 5.73 pH (actual) to hit the test scenario requirement here square on the nose). So my quasi-empirical (gen 1 if you must) approach is in the end not really close to adding sufficient acid for this specific recipe scenario to mash at pH 5.4,
How correct any of these answers are depends on the malt. If cire's measurement of pHDI is accurate and if the malt has the same buffering as what I modeled (based on measurements of 2 MO samples with astoundingly close buffering characteristics) then 5.9 mL is going to be the right answer. I'm going to say it again in the hope that eventually it will sink in. I need 2 measurements. One with just DI water and one with DI water with a pinch of bicarb added.

...yet to those who measure pH earlier rather than later in the mash it may outwardly appear to be more correct, while in fact being less correct. (this I presume to be because mash pH rises continually during the mash for light colored beers)
The situation that demonstrates the most dramatic change in pH over time is the one in which acid is added to the mash water. After 20 - 30 minutes (with lots of stirring) things should be stable enough to measure.



Edit: A.J., if you were to limit your gen 2 software to the addition of only 3.51 mL of 88% lactic acid (as opposed to ~5.9 mL to hit pH 5.4) for my SMaSH grist and water scenario what mash pH is then predicted via gen 2?

5.51
 
Last edited:
It now seems all these recent posts regarding ph are more directed at the fact people are taking readings at 10-20 mins and it's matching what there software is suggesting. So is you argument that the ph needs to be taken at 30 mins if using newer software and the old method is incorrect? If so we have all wasted alot of bandwidth debating seemingly the same thing over and over and I think rewording the question would have prevent the ongoing debate. That being said these threads in the last few days are the first time I've heard of doing it that late. Ive never noticed a significant change in the ph from 10-30 mins but I've also only been concerned about staying in range. I also use a herms system and run it at full speed recirculation so it might help with how much time it takes to get a accurate reading as the liquid is turned over much faster than just letting it sit. Cheers

If you are happy to accept a false low early pH reading taken when saccharification is incomplete and reactions are still actively happening, merely because it works for your preferred software (and obviously for your preferred general to specific chosen water to grist ratio, which is a demonstrable tripping point for your softwares output precision) rather than achieve a more correct mash pH, then by all means remain happy and continue as you have been doing. But this thread is seriously attempting to establish the strict criteria by which valid mash pH measurements can be achieved (plus determine if they even can) across multiple people making multiple batches, and the last thing that statistical significance (the entire point of this thread) needs by which to damage it and make it impossible to achieve is to have everyone who contributes on a different page rather than everyone on the same page.

But despite your happiness, if your software says something on the order of 2.4 mL of lactic acid is correct to hit a 5.4 mash pH target, and A.J. deLanges proton balancing software says something on the order of 5.9 mL is required (quite similar as to what BS3 predicts from your testimony in other threads by the way), and if A.J.'s software is using hard science based upon measured chemical reaction reality (and D.M. Riffe, is doing likewise, wherein BS3 is using D.M. Riffe), then shouldn't you be willing to take a step back and reflect upon the potential implications of this a bit, rather than ever boldly charging forward and stating your position that sampling at 10 minutes always works for you and your preferred software so therefore it not only should, but must, be made to work the exact same way for everyone else as well, with the clear implication that their software and science efforts and mash pH sampling times are flawed?
 
Last edited:
If you are happy to accept a false low early pH reading taken when saccharification is incomplete and reactions are still actively happening, merely because it works for your preferred software (and obviously for your preferred general to specific chosen water to grist ratio, which is a demonstrable tripping point for your softwares output precision) rather than achieve a more correct mash pH, then by all means remain happy and continue as you have been doing. But this thread is seriously attempting to establish the strict criteria by which valid mash pH measurements can be achieved (plus determine if they even can) across multiple people making multiple batches, and the last thing that statistical significance (the entire point of this thread) needs by which to damage it and make it impossible to achieve is to have everyone who contributes on a different page rather than everyone on the same page.

But despite your happiness, if your software says something on the order of 2.4 mL of lactic acid is correct to hit a 5.4 mash pH target, and A.J. deLanges proton balancing software says something on the order of 5.9 mL is required (quite similar as to what BS3 predicts from your testimony in other threads by the way), and if A.J.'s software is using hard science based upon measured chemical reaction reality (and D.M. Riffe, is doing likewise, wherein BS3 is using D.M. Riffe), then shouldn't you be willing to take a step back and reflect upon the potential implications of this a bit, rather than ever boldly charging forward and stating your position that sampling at 10 minutes always works for you and your preferred software so therefore it not only should, but must, be made to work the exact same way for everyone else as well, with the clear implication that their software and science efforts and mash pH sampling times are flawed?
I was asking a question. You seem to think everyone is challenging you and never actually answer the questions. Take a breath. You and the others have forgotten more about this topic then I'll ever know. Jeez what's so hard for you to understand. I'm asking a simple question because I genuinely stiil don't understand what this huge debate is about. I ask a simple question and get a huge long scientific answer that most including myself don't understand. Can you please answer my question directly and simply. All I've ever said over and over and over again is that the software I was using appeared to be working fine. All my question to you is what software do you recommend I use and what time do you suggest I check my pH. It's that simple dude come on wake up. It's not a challenge.
 
I was asking a question. ... snip ... All my question to you is what software do you recommend I use and what time do you suggest I check my pH. It's that simple dude come on wake up. It's not a challenge.

1) MpH or Brewer's Friend in grist mode, followed by gen 2 when it actually appears. Brewer's Friend accepts DI_pH values.

2) 30 minutes or later during the mash.
 
1) MpH or Brewer's Friend in grist mode, followed by gen 2 when it actually appears. Brewer's Friend accepts DI_pH values.

2) 30 minutes or later during the mash.
Thanks for the easy to understand response. Do you think it's possible the reason people are having issues with bs3 is because there taking there Reading's at the 10min mark? I only ask because I really really want a all in one solution and didn't have luck with bs3? Cheers
 
1) BS3 is gen 1, but as stated above, if it is using Riffe's highly respected formulas (as RPIScotty attests), it has an undeniably high pedigree in that regard.
I've responded to this post before but am doing so again on a different part of it i.e. that quoted above. I was looking at the Riffe formula the other day and got a "hey, that looks familiar!" twinge. And indeed it is. This is going to get a bit technical so don't feel bad if you are not one of the small group interested in this stuff (e.g. people developing spreadsheets - maybe this should be under Brewing Software.

The proton deficit of a mash at pHz is

Q(pH) = ∑_i mi*(a1i*∆pHi + a2i*∆pHi^2 + a3i*∆pHi^3) + Qw(pH) + Qo(pH)

in which mi represents the mass of malt number i, ∆pHi = pH - pHDi where pH is a pH of interest (e.g. the desired mash pH) and pHDi the pH of a mash made with malt i and deionized water, a1i the linear buffering coefficient for malt i, a2i the quadratic buffering coefficient for malt i and a3i the cubic. Qw is the proton deficit of the water (mostly due to alkalinity) and Qo the deficit of other stuff in the mash, that is the acids or bases the brewer has added to set pH. Both of these are non linear functions of pH as is, obviously, the sum over the malts. The pH of the mash is the pH that sets Q(pH) = 0 at which pH the protons contributed by acid malts and added acids just equal the protons absorbed by the basic malts, the water's alkalinity and any added bases. As the function is clearly non linear we can't write a simple equation pH = formula to solve it. What we have to do is guess what we think the answer might be and call this pHo. pHo = 5.4, in the middle of the range of desirable mash pH's might be a good guess. We then find the rate of change of the function with pH at pHo. This is symbolized by dQo/dpH. Those familiar with a little calculus will easily perceive that

dQo/dpH = ∑_i mi*(a1i +2*a2i*∆pHi + 3*a3i*∆pHi^2) + dQw(pHo)/dpH + dQo(pHo)/dpH

∆pHi = pHo - pHDi in this formula

We now "correct" our initial guess and come up with a new guess, pH1

pH1 = pHo - Q(pHo)/(dQo/dpH)

We then repeat the process until we are satisfied that Q(pHn) is sufficiently close to 0. Those with some familiarity will recognize that this is the Newton - Raphson algorithm. It is how mash pH is found in the Gen II software.

Gen I programs don't (AFAIK) do iterative processing (though any Excel spreadsheet is capable through its Solver and other means). So what they do is say "Lets pretend the malts are linear, that the water's deficit is given by the alkalinity and that the number of protons absorbed or released by added acids and bases are constants". This implies that the a2 and a3 coefficients are both 0 as are dQw(pHo)/dpH and dQo(pHo)/dpH. These assumptions simplify Q to

Q(pHo) = ∑_i mi*a1i*(pHo - pHDi) - Qw - Qo

and dQo/dpH to

dQo/dpH = ∑_i mi*a1i

The first guess is then

pH1 = pHo - (∑_i mi*a1i*(pHo - pHDi) + Qw(pH) + Qo(pH))/∑_i mi*a1i

There is no reason to make a second or subsequent guesses as the linearized approximation to Q will be 0 at pH1.

Now Riffe went one step further (to his detriment). He set pHo = 0. This changes pH1 to

pH1 = - (∑_i mi*a1i*(- pHDi) + Qw(pH) + Qo(pH))/∑_i mi*a1i

Rearranging the signs

pH1 = (∑_i mi*a1i*pHDi - Qw + Qo)/∑_i mi*a1i

This is the Riffe equation arrived at by solving Q(pH) = ∑_i mi*a1i*(pH - pHDi) + Qw + Qo for pH. Appreciating that this is essentially taking the first step in a Newton-Raphson solution might have let him perceive that one does not need to completely throw away non linear malt information (where it is available) nor does one have to neglect the dependence of the deficits of bicarbonate (added or alkalinity derived), lactic, phosphoric or other acids and bases on pH in order to have a non iterative solution. One has everything he needs to compute

pH1 = pHo -( ∑_i mi*(a1i*∆pHi + a2i*∆pHi^2 + a3i*∆pHi^3) + Qw(pH) + Qo(pH) )/(∑_i mi*(a1i +2*a2i*∆pHi + 3*a3i*∆pHi^2) + dQw(pHo)/dpH + dQo(pHo)/dpH)

and thus get a better answer than the current form of the equation. To do so he must compute the water and addition deficits and their derivatives. While the formulas for dQw/dpH and dQo/dpH are algebraic nightmares it is easy enough to get these derivatives from, for example

dQw/dpH = ( Qw(pH + epsilon) - Qw(pH) )/epsilon

where epsilon is a very small number.

All the formulas above are there to show the relationship of the Riffe equation to the first step of Newton-Raphson. The message to be taken away here is that a developer will get a better answer from

pH = 5.4 - Q(5.4)/dQ(5.4)/dpH

with dQ/dpH = ( Q(pH + epsilon) - Q(pH) )/epsilon than he will from the Riffe formula as it is now stated. Note that improvement depends on how non linear the mash is and is typically quite small but it can be up to 0.05 pH or more in some cases. If one is to use a linear malt model and constant Qw and Qo there is no advantage. Of course its still better to write code to implement Newton- Raphson.
 
Last edited:
I posted something to the "How do I correlate pHDI with Wort pH" thread which may just have appreciable relevance here in this thread which is trying to establish baselines for standardization.

The link to my post is:
"https://www.homebrewtalk.com/forum/...t-ph-for-weyermann-malts.653767/#post-8377418

To gain a more full understanding for this linked post, please read the entire thread once you get there via the above link.

This insight just hit me early this morning. As of my posts from yesterday (right up to my last one) I was still chasing the elusive "mash pH" standardization requirements. Now I'm abandoning "mash pH" itself as fantasy conception useful only for bragging rights. In the real world of brewing the only thing that matters (with respect to pH, and its measurement) is "wort pH".

The Weyermann "mash pH/wort pH" stuff can be seen in the Sauermalz (acid malt) progression table presented within this pdf of what I believe was originally a Weyermann ppt presentation:
http://lowoxygenbrewing.com/wp-content/uploads/2016/11/Weyermann_TKW_Mash-pH_2010.pdf
 
Last edited:
Well, last Tuesday night I finally was able to brew a Saison. I changed a couple of items in my recipe and obtained new lactic acid addition suggestions. They were:

Mash Made Easy 3.10 2.98ml
Brewer's Friend 3.07ml
BeerSmith 3 7.01ml

I choose to add 3.07ml. Below are my readings:
@15 minutes: cooled to 31.8c (89.24F) 5.48 pH
@15 minutes: cooled to 29.1c (84.38F) 5.53 pH

@30 minutes: cooled to 40.3c (120.74F) 5.52 pH
@30 minutes: cooled to 29.3c (84.74F) 5.56 pH
@30 minutes: cooled to 24.6c (76.28F) 5.56 pH
 
Nice test results there!!!

For every recipe thrown at it Mash Made Easy actually provides 6 different outcomes for 6 different primary base malt types. Which of the 6 DI_pH ranges did you have selected for your recipes primary base malt when you arrived at 2.98 mL, and what specific base malt did you actually utilize in this recipe?
 
If your target was 5.4 mash pH, and you mashed at 5.56 pH, then my first guess (not knowing any specifics of the recipe or the water) is that something closer to ~5.5 mL or 6 mL of 88% lactic acid was required here.
 
I probably did not use the correct drop downs. With that said, I used the very bottom (6th) one (-5.77 to 5.82 DI_pH). I'm guessing I probably did not input some items correctly...my target was 5.40 pH.

My recipe was:
- 16.30 RO water with 9.90g gypsum and 7.91 calcium chloride
- 14.7lbs Dingeman's Pilsner
- 2.37lbs Briess Rye Malt
- 2.10lbs Briess Aromatic Malt
- 1.20lbs Flaked Rye
- 0.63lbs Torrefied Wheat

I have a two vessel k-rim system similar to Blichmann's BrewEasy except I use Spike Brewing's 20 gallon custom kettles side by side with two recirculating pumps.
 
You entered it correctly for the Pilsner malt.

I can see now where I'm going to have to properly accommodate both rye malt and flaked rye in my next upgrade release. By forcing a far more correct DI_pH (complements of D.M. Riffe) of 6.65 for the Flaked Rye via manual override I was able to get MME up to a need for 4.89 mL of 88% lactic acid, as can be seen below. Drop the 6.65 pH manual override and MME (as otherwise seen below) is asking for 3.71 mL of 88% lactic acid.

CodeSection.png


Edit: Does anyone have a measured DI_pH for Briess Rye Malt (or anyone else's Rye Malt)?
 
Last edited:
As it turns out, BS3 was likely not any farther off than the others (for the way you input the requisite data). BS3's estimate of 7 mL of 88% lactic acid (again, per your inputs) would highly likely have mashed this recipe within the 5.25 to 5.3 pH range. Essentially the same magnitude of error as for the others, only in the opposite direction.
 
@Silver_Is_Money , thank you for looking at this. I definitely had items wrong. I had the grist buffering capacity at 34.0. My anticipated gallons to fermenter was 10.5 gallons.

I had:
- Dingeman's Pilsner 1.6 Lovibond Color
- Briess Rye Malt 3.7
- Briess Aromatic Malt 20
- Flaked Rye 3.0
- Torrefied Wheat 1.50
 
It would have been interesting to see if a sample drawn at fully 60 minutes into the mash would have come in at about 5.61 to 5.63 pH.
 
@Silver_Is_Money , thank you for looking at this. I definitely had items wrong. I had the grist buffering capacity at 34.0. My anticipated gallons to fermenter was 10.5 gallons.

I had:
- Dingeman's Pilsner 1.6 Lovibond Color
- Briess Rye Malt 3.7
- Briess Aromatic Malt 20
- Flaked Rye 3.0
- Torrefied Wheat 1.50

Oops, my error in not revising my copy of MME to reflect 10.5 gallons to the fermenter (and leaving it at 5.7 gallons) impacts only the final SRM color forecast. And changing my input to match your specific Lovibond colors would hardly move the results. And 34 vs. 35 for the buffering changes things very little also. As you mentioned above, what really matters is choosing the best drop-down selectors for each grist component (or better yet of course, manually inputting DI_pH values). And I clearly need selectors for Rye Malt and for Flaked Rye in an update. But I will first need to attain a valid DI_pH for Rye Malt.
 
Last edited:
I will take a 60 minute measurement in the future. Thanks for the suggestion.

Thank you! Are you interested in taking a DI_pH for your Briess Rye Malt? Mash 50 grams of the malt in 100 mL of distilled (or good quality RO) water at about 146-158 degrees F. for 60 minutes, and take the DI pH reading at room temperature.
 
I definitely had items wrong. I had the grist buffering capacity at 34.0. My anticipated gallons to fermenter was 10.5 gallons.

I had:
- Dingeman's Pilsner 1.6 Lovibond Color
- Briess Rye Malt 3.7
- Briess Aromatic Malt 20
- Flaked Rye 3.0
- Torrefied Wheat 1.50
@CodeSection for a 10 gallon batch using the grains you mention. I get a predicted mash pH of 5.50 without adding any lactic acid when just adding 9.9g gypsum and 7.1g of calcium chloride. When adding 3.1ml lactic acid it changes to 5.41 pH. How sure are you of your actual pH measurements?
 
As an aside, I find it interesting that both BS3 and ezReipe (ScrewyBrewer's latest spreadsheet) use D.M. Riffe's formulas, yet one (ezRecipe) arrives at ~3.1 mL of lactic acid, while the other (BS3) arrives at ~7 mL's.
 

Latest posts

Back
Top