A New Mash Chemistry and Brewing Water Calculator

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

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

Kaiser

Well-Known Member
Joined
Nov 1, 2005
Messages
3,895
Reaction score
171
Location
Pepperell, MA
When I started helping Brewer’s Friend as a technical adviser I couldn’t help but notice that the mash pH predicted by its brewing water calculator was way off. Since I have done extensive work on brewing water and mash chemistry already I took this as an opportunity to develop a new Mash Chemistry and Brewing Water Calculator from scratch. The goal was to build something that provides a simple and intuitive user interface yet implements the underlying chemistry to at a level of accuracy that is generally not done in brewing water calculators. In fact the only calculator that goes to that extent is A.J deLange’s NUBWS (Nearly Universal Brewing Water Spreadsheet).

Since Brewer’s Friend is an online recipe calculator the new calculator would also become an online tool. This worked very well in its favor since it is very cumbersome to model complex systems in spreadsheets. PHP, or any other programming language for that matter, makes that type of modeling much easier. In addition to that modern web browser technology makes it simple to create dynamic forms that can readily adjust the form to only asking the user for information that is actually needed based on the context.

That was 3 months ago and after many long nights of coding, re-coding, testing and even running more mash pH experiments version 1.0 has finally been released and is available on Brewer’s Friend.

When you first open the calculator it presents itself like any other basic water with sections for source water, salt additions, grist, mash pH and final water report following this flow chart:

BasicWaterCalcUseDiagram.png


Flow chart for basic use of the calculator
But that’s not all. For those who need want to do more complex water treatment calculations, the full flow chart looks more like this:

AdvancedWaterCalcUseDiagram.png



The first release features makes these features available:

  • Blending of two water sources
  • Bicarbonate/carbonate content can be set from either alkalinity or bicarbonate. pH can also be entered for increased accuracy
  • Electrical balance (ion balance) of the source water
  • Simple GH&KH measurements can be used as a crude way of specifying the source water.
  • Report of basic and advanced water parameters of the source water. Among the advanced properties are temporary/permanent hardness and CO2 partial pressure
  • supports all major salts (including magnesium chloride) as well as the hydroxides slaked lime and lye
  • Alkalinity reduction through boiling and slaked lime. These are features that rely on a more accurate implementation of the water’s carbo system
  • Wide range of supported acids including the less commonly used citric, tartaric and acetic acid.
  • Salt and acid additions can be made to all water or only the strike (mash) water
  • A different water source can be used for sparge water. In most cases that might be reverse osmosis water when the tap water is suitable for mashing.
  • Salt additions to sparge water or kettle
  • Sparge water acidification with a wide range of acids.
  • Detailed report of the treated mash water
  • Support for undissolved chalk.
  • Grist pH properties can be estimated from beer color or malt bill
  • Mash pH prediction based on balancing the various weak and strong acid systems that might be present (carbo system, weak acids and grist)
  • overall water report based on the mash and sparge water profile
  • target water comparison of the overall water report

For now this tool is only available as a stand-alone calculator but Brewer’s Friend is planning to integrate it into the recipe editor. This will eliminate duplicate entry of the beer’s malt bill. It will also allow the user to use saved source water profile(s).

Go ahead and give it a try. If you have feedback, positive or negative, please let me know:


Mash Chemistry and Brewing Water Calculator


In subsequent posts I’m planning to write more about some of the discoveries I made while writing this tool and how it’s mash pH prediction does compared to actual mash pH data that I have.
 
I wish the Palmer/Kaminski book would hurry up and get released, but this new update will help a lot!!

I am having fits, trying to brew a dark hoppy beer with my brewing water.

Thanks
 
I wish the Palmer/Kaminski book would hurry up and get released, but this new update will help a lot!!

The book is coming along as far as I know. One of the challenges is that there are many unanswered questions and once you answer one question a few more pop up.

Kai
 
Just looked it over and played with it some. Right now I have only DH/KH and water pH to go from. As I indicated in another thread my KH seems borked. I got 2 in my tap water, my RO water and my RO waste water. What I just did was enter my DH and pH then adjusted the KH until I got the mash pH I measured last time. I made my adjustments from there. Since I'll brew later today I'll test it out and see how I fare. I'm 50/50 on adding to the mash or the boil since I was right around 5.4 in the mash last time though. (same recipe) My calcium is low and I have to bring it up but not for mash purposes.
 
very nice work. I'm looking forward to trying this out on my next brew. Is it safe to assume that all pH values are taken at ambient temperatures instead of mash temperature?
 
very nice work. I'm looking forward to trying this out on my next brew. Is it safe to assume that all pH values are taken at ambient temperatures instead of mash temperature?

yes. I'll make a note of that in the next release. Thanks for bringing this up.

Kai
 
Just looked it over and played with it some. Right now I have only DH/KH and water pH to go from.

you mean GH&KH? DH, or better written as dH, refers to a hardness used by Gemans (Deutsche Haerte) and could be the unit of both GH and KH.


I got 2 in my tap water, my RO water and my RO waste water. What I just did was enter my DH and pH then adjusted the KH until I got the mash pH I measured last time.

How much did you have to adjust it?

Kai
 
you mean GH&KH? DH, or better written as dH, refers to a hardness used by Gemans (Deutsche Haerte) and could be the unit of both GH and KH.




How much did you have to adjust it?

Kai
I use an aquarium test kit for now. Still waiting to here back from the city since we have reservoir water I don't want to be sending off samples every month. But, basically I raised KH from 2 dH to 3dH and that agreed well enough with the pH reading I got from mash last time. I'm doing the same recipe. Since untreated water gave me a mash pH of just a shade over 5.4 I'm thinking of just adding my calcium supplements to the kettle and not messing with the mash for this brew.

Using the balanced profile throwing in 2 grams each of calcium chloride and gypsum drives my pH down to 5.3 and still leaves the profile lacking according to the 'basic' profile.
Code:
          Ca+2	Mg+2	Na+	SO4-2	Cl-	HCO	

Actual	82.9	7.7	0.0	59.0	51.0	9.619	 
 							 
Delta	7.9	2.7	-40.0	-21.0	-24.0	-100.4

Two grams of baking soda brings me closer to 5.5

Code:
         Ca+2	Mg+2	Na+	SO4-2	Cl-	HCO	
Actual	82.9	7.7	28.9	59.0	51.0	70.043	 
 							 
Delta	7.9	2.7	-11.1	-21.0	-24.0	-40.0
 
Very cool, Kai! It predicts my actual mash pH, most of the spreadsheets guess high. I found the interface to be easy to use and the feedback very interesting.

The only thing I’m not sure of is the range check at the very bottom. Apparently it does not correlate with the target style. I chose the ‘Pale/Light’ profile which recommends 10ppm SO4. Mine came out at 29 but the stupid blue arrow complains that it’s low. That seems off in context.

I would either correlate it to the target water or move it up to ‘Overall Water Report.’ Also a print option would be a groovy thing, especially since it lives on the web. Having gone to the trouble of punching in all the numbers it would be nice to have something to look at later. Or maybe members could save their profiles.

Good job.
 
Very cool, Kai! It predicts my actual mash pH, most of the spreadsheets guess high. I found the interface to be easy to use and the feedback very interesting.

Thanks. I do have some limited competitive pH prediction data and want to expand that more before I publish it. One thing I learned is that there is both and art and a science to predicting mash pH. The art comes into play since science is too complex and not enough understood to be properly modeled.

The only thing I’m not sure of is the range check at the very bottom. Apparently it does not correlate with the target style. I chose the ‘Pale/Light’ profile which recommends 10ppm SO4. Mine came out at 29 but the stupid blue arrow complains that it’s low. That seems off in context.

The current set of target profiles is what Brewer’s Friend had for its old calculator. I haven’t spent much time on scrubbing them but plan to do that soon. Personally I don’t use them. I just eyeball the overall report.

I would either correlate it to the target water or move it up to ‘Overall Water Report.’ Also a print option would be a groovy thing, especially since it lives on the web. Having gone to the trouble of punching in all the numbers it would be nice to have something to look at later. Or maybe members could save their profiles.

I agree that the range check should move to the Overall Report section.

Print option will be nice. I was planning to have it print a “water treatment plan”. For simple adjustments it just lists salt and acid additions. If brewers use boiling or slaked lime treatment it would include detailed steps for that. That may take a bit though.

Saving the state is on top of the list of new features. We left if out for the first release since I want to wait any longer for a release.

Kai
 
Nice work Kai. I spend most of my day writing software, so let me see if I can break something. :)

Here's a data point for you from a brew last weekend.

Just for fun, I've entered every possible number into these sheets with their predictions:

Code:
[FONT="Courier New"]
EZ (v3.1):          5.51

Kai (sheet):        5.44

Kai (web as SRM):   5.46  (no acid malt)
Kai (web as SRM):   5.42  (acid malt as 28g 2.5% lactic acid in Acid Additions section)
Kai (web as SRM):   5.43  (acid malt as 1 oz acid malt in Acid Additions section)

Kai (web as Grist): 5.62  (no acid malt)
Kai (web as Grist): 5.57  (acid malt as 28g 2.5% lactic acid in Acid Additions section)
Kai (web as Grist): 5.56  (acid malt as 1 oz acid malt in Acid Additions section)
Kai (web as Grist): 5.56  (acid malt as 1 oz in malt bill)

Bru'n (v1.13):      5.37
-----------------------------------------------------------------
Actual @20m:        5.44
Actual @55m:        5.47
[/FONT]

If you'd like, I can PM you with the details.

One source of potential user-error happens when grist is defined by malt bill. The "Acidulated Malt" weight box up in the "Acid Additions" section does not get dimmed/disabled, and may potentially get doubled-up if it was in there before and the user switches to malt-bill. I did that on my first go.


"Would be cool..." (sorry, I get this all time)
1. Floating/docked "Mash pH:" so you can see it no matter where you are scrolled in the page. I like to see the effect of changes without scrolling.
2. In "Salt Additions", show the approx. ppm of your addition so you can see without scrolling to "Mash Water Report". i.e. ~0.2 tsp, 13 Ca, 31 SO4
3. In "Sparge/Kettle Salt Additions", a check-box (or maybe a button) for "Match Mash Additions in ppm". Since I measure these out separately but target the same ppm (usually). This makes me tweak the kettle addition to get my same ppm Ca, for example.

Everyone's workflow is a little different so you're not going to please everyone. But overall I like it's simplicity. I've learned above ALL: if the user can find the one-in-a-million thing to screw something up, that makes NO SENSE..... they will do it.

Oh, and it told me "SO4/Cl ratio: 0.4 Too malty".... but I dislike sulfate and this makes excellent beer. :D OK, just teasing you now.

Good job!
 
I hate floaters with a passion. I find them annoying and they usually block something I'm trying to read. I'd vote, if indeed we get to vote on this, to just adding pH to places you make adjustments.
 
I hate floaters with a passion. I find them annoying and they usually block something I'm trying to read. I'd vote, if indeed we get to vote on this, to just adding pH to places you make adjustments.

Sorry I probably wasn't clear in my terminology. I agree, I hate floating pop-up windows.

It should be in a frozen pane somehow, but still in the reference of the same window and webpage.
 
Sorry I probably wasn't clear in my terminology. I agree, I hate floating pop-up windows.

It should be in a frozen pane somehow, but still in the reference of the same window and webpage.
A small pop-up window that I can move to where I want it wouldn't be bad. Anything that moves in relationship to the page annoys me. I was hoping 'mobile' would push http back to a form more like the beginning when I could use 'linx'. I don't do mobile but I hear a lot of complaints that the mobile sites annoy people even more. Simple is my preference. Put only what is needed.
 
I'm still trying to wrap my head around all of this water chemistry stuff (ezwater, bru'n, this one) and really like the format of this one. Thanks for this resource!
 
Nice work Kai. I spend most of my day writing software, so let me see if I can break something. :)

Me too (well, not exactly software but it is code and I have to deal with bugs and revison control and such). That's why this project was almost like my day job.



Code:
[FONT="Courier New"]
EZ (v3.1):          5.51

Kai (sheet):        5.44

Kai (web as SRM):   5.46  (no acid malt)
Kai (web as SRM):   5.42  (acid malt as 28g 2.5% lactic acid in Acid Additions section)
Kai (web as SRM):   5.43  (acid malt as 1 oz acid malt in Acid Additions section)

Kai (web as Grist): 5.62  (no acid malt)
Kai (web as Grist): 5.57  (acid malt as 28g 2.5% lactic acid in Acid Additions section)
Kai (web as Grist): 5.56  (acid malt as 1 oz acid malt in Acid Additions section)
Kai (web as Grist): 5.56  (acid malt as 1 oz in malt bill)

Bru'n (v1.13):      5.37
-----------------------------------------------------------------
Actual @20m:        5.44
Actual @55m:        5.47
[/FONT]

Looks like my old spreadsheet does pretty good. But in general there seems to be both art and science to predicting mash pH. As with IBUs there are a number of formulas out there. My goal is to be within 0.1 pH units for most practical grists. As I find cases where the calculator is off I have an interest to find the assumption that was incorrect. That means making a number of small mashes.

If you'd like, I can PM you with the details.

yes, mail me the details. I'll add that to my database of water, grist and pH info and will be able to run and compare it when I make any changes to the pH estimation formula.

One source of potential user-error happens when grist is defined by malt bill. The "Acidulated Malt" weight box up in the "Acid Additions" section does not get dimmed/disabled, and may potentially get doubled-up if it was in there before and the user switches to malt-bill. I did that on my first go.

yes, there are 2 places to add acid malt the acid from both will be considered. That might be confusing, I agree. I think it should be simple to hide the acid malt field when the gist is entered as malt bill.


"Would be cool..." (sorry, I get this all time)
1. Floating/docked "Mash pH:" so you can see it no matter where you are scrolled in the page. I like to see the effect of changes without scrolling.

We have thought about that. The idea of a floating report section also came up but that may create a hassle for mobile users.

Instead it may make sense to have an option that lets you see abbreviated result row below each expanded section. That row would show Ca, Mg, Na, Cl, SO4, and mash pH. I have noticed a lot of scrolling myself since most of the adjustments have to be made by trial and error.

3. In "Sparge/Kettle Salt Additions", a check-box (or maybe a button) for "Match Mash Additions in ppm". Since I measure these out separately but target the same ppm (usually). This makes me tweak the kettle addition to get my same ppm Ca, for example.

I thought about that since this is also how I measure my salts. Though recently I have been throwing them all into the mash and used only R/O water for sparging.

I now Bru'n Water has the option to replace pH raising salts/hydroxides with ones that don't. Would that also be desired?

I put that on the list

Oh, and it told me "SO4/Cl ratio: 0.4 Too malty".... but I dislike sulfate and this makes excellent beer. :D OK, just teasing you now.

The SO4/CL ratio descriptors were taken from John Palmer's spreadsheet. I don't really believe in them either but lots of people are looking for this feature.

Thanks for the feedback.

Kai
 
yes, mail me the details. I'll add that to my database of water, grist and pH info and will be able to run and compare it when I make any changes to the pH estimation formula.

You bet, doing it now.

I thought about that since this is also how I measure my salts. Though recently I have been throwing them all into the mash and used only R/O water for sparging.

I still sparge with straight RO, but I add the additions (calculated for sparge volume) straight to the kettle before the 1st runnings. That's actually a feature of EZ I like -- it will calculate the equivalent weight of each salt for the sparge volume. So if I have 1 gram CaCl2 for my 4 gallon mash, and I have sparge set to 5 gallons, it shows 1.25 grams (1 * 5/4) for sparge (kettle). Quick and easy. I can still figure out the amounts on yours, it just takes a little trial and error to get it dialed in.

I now Bru'n Water has the option to replace pH raising salts/hydroxides with ones that don't. Would that also be desired?

I'm not exactly sure what you're talking about so I'll have to go take a look. I can't say it's something I've ever run into though. Maybe it's for people who have come across a profile+additions and don't really know what they are doing... it helps adjust the addition they were given to be more realistic?
 
Well, the good news is I finally tracked down a "typical" analysis of our city water on line albeit from 2011. When I plug those numbers in with my last recipe I get a difference of .03 on mash pH. Given this is a 'typical' report on reservoir water I'd say that is close enough given I'm still pretty novice with taking the actual pH readings.

The bad news is my water is a little strange. Has decent sulfate and chloride amounts already. The bad news is the calcium is deficient. Groan. So the two most popular ways to raise calcium will take some caution and taste testing on my part I guess. I just brewed so I have a few weeks with my next recipe to think about this. I do have RO water though.

Code:
pH                                            10.7
Alkalinity-Total		 43	mg/I as CaCQ3 
Chloride 		         85	mg/l
Sodium 			          47	mg/l
Calcium			          28.6	mg/l
Magnesium		            5.6	mg/l
Suflate				52        mg/l SO4

ps: What is the HCO hanging out at the right on the water profiles?
 
I now Bru'n Water has the option to replace pH raising salts/hydroxides with ones that don't. Would that also be desired?

...

The SO4/CL ratio descriptors were taken from John Palmer's spreadsheet. I don't really believe in them either but lots of people are looking for this feature.

Looking forward to experimenting with another water tool! Like the IBU formulae, I like trying to find a 'window' of expected IBU or mash pH.

I think the SO4/Cl metric is a bit overblown. That said, I like to separate sparge and mash water for darker beers. BrunWater's option to adjust sparge additions is great to maintain the Ca level, while keeping SO4/Cl in the ballpark when removing chalk and lime in the sparge liquor.
 
Really like this Kai, thank you! I hope this is what I can use from now on to get rid of the several sheets of scratch paper of frantic calculations that seem to form the night before every brew day.
I already see a few tweaks to my strike/sparge water on my sweet stout. I was in the ballpark, but this tool will get me on the pitcher's mound!
I entered all the information from my last brew day and your predicted mash pH was spot on to my actual readings with my Milwaukee 101 pH meter.
 
We just released a new version that has a few bug fixes but also adds the capability to save the current input values into a record that can be accessed trough an encoded link.

Kai
 
More feedback: I brewed again this weekend, your program predicted a 5.42 mash pH but it ended up 5.39 in real life. WAY off!
J/K... loving this new tool! Again, thanks for sharing.
 
I just tried it this weekend and it worked beautifully. It was very easy to use and yet also had everything I needed. This will be my go to calculator now. Thanks.
 
We just released version 1.3 which has a few notable enhancements:

- option to show overall water and mash pH at the bottom of each section. That will reduce the scrolling needed when you try to match a profile or mash pH.
- support for CRS/AMS, which is a HCL/H2SO4 mix used by our UK brewing friends
- support for malt pH parameter entry as DI water pH or acdidity in mEq/kg. That's for folks who know these parameters.

We are working hard on the integration into the recipe editor but want this to work well and intuitively. That's why its taking its time.

Kai
 
Wow, I plugged in the data from my last few brews and the predicted pH was really really close (well within the margin of error). Question, do I enter amber malts, biscuit, aromatic, brown as base malts or roasted malts?
 
We released version 1.4 last night which has a few notable usability enhancements:

- when you sign up for BF (Trial member or paid member) you can see all your saved water treatment records under My Brewing -> My Water Calcs. There you can edit the record to add a name and description

- when saving water water calc inputs you can also add a name and description.

- scrubbed the target water profiles to make them balanced and added a few more. A summary of all target profiles can be seen here: http://www.brewersfriend.com/brewing-water-target-profiles/

- added the ability to enter salts as g/gal, g/l and mmol/l

- tsp amounts for acids are now shown.

Kai
 
This might be part of one of the spreadsheets/calculators out there and I am not seeing it. What I am looking for is if my mash is at 5.8 pH and I want to get it to say 5.4 pH how much acid am I going to use. Surely this has to be an easy calculation. I have checked out brewers friend and it is great. I am going to try it against what I have been using and see how it compares.

but just for simple pH adjustment, after all brewing salts have been added, how much acid to use would be a great calculation.

thanks for all the hard work by everyone!
 
but just for simple pH adjustment, after all brewing salts have been added, how much acid to use would be a great calculation.

Yes this is an easy enough calculation to do and others have also requested that. I'll put this on the top of my list.

Kai
 
Kai, I have an old Ward Lab report, almost 3 years old now, that I have been using those #'s in EZ. [Total Hardness, CaCO3 is 53, Total Alkalinity, CaCO3 is 22, pH 7.2]

I'm interested in using the "GH & KH Water Report" with the "ppm as CaCO3" on your calculator. Instead of buying the API GH & KH test kit......

Taylor Chemical Water Tests:
Would measuring the Calcium Hardness and Total Alkalinity using the Taylor tests be more accurate? link; http://www.taylortechnologies.com/products_kitinfo.asp?&MarketID=1&KitID=2232
Do these 2 tests equate to the "ppm as CaCO3" on your calculator?

Is measuring "ppm as CaCO3" more accurate than the simple API kit and would it make a difference overall in the calculations?

~Richard
 
I'm interested in using the "GH & KH Water Report" with the "ppm as CaCO3" on your calculator. Instead of buying the API GH & KH test kit......

Taylor Chemical Water Tests:
Would measuring the Calcium Hardness and Total Alkalinity using the Taylor tests be more accurate? link; http://www.taylortechnologies.com/products_kitinfo.asp?&MarketID=1&KitID=2232
Do these 2 tests equate to the "ppm as CaCO3" on your calculator?

Is measuring "ppm as CaCO3" more accurate than the simple API kit and would it make a difference overall in the calculations?

~Richard

That kit appears to be measuring only calcium hardness and not the combined hardness of calcium and magnesium. This might be ok given that in most waters magnesium is fairly low (compared to Ca) and its effect on mash pH is also lower.

To use this test you would enter Ca as "ppm as CaCO3" since that is how this test kit reports it and enter Alkalinity the same way. The GH&KH option doesn't work for this kit since it assumes that GH is the combined hardness of Ca and Mg.

Kai
 
you can fill in the rest based on the old report. From the looks of it it won't make much of a difference since your ion levels are relatively low and you'll likely be adding salts anyway.

Does the old Ward Labs report list SO4 as Sulfur (S) or as SO4? If I enter you values they balance better with SO4 as mg/l as opposed to "mg/l as S"

Kai

Kai
 

Latest posts

Back
Top