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

    Homebrewing Facebook Group

EZ Water Calculator 2.0

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Taking V 2.0 out for a spin tomorrow, thanks for all the hard work TH. There are really good reasons to keep the pH in the ideal range so that is what I have been focusing on for the last few years...I like seeing that coming more to the forefront in V2.0.
 
I finally got around to playing with v2 today after using the previous version for numerous batches.

It's funny how you don't realize what you're missing until you try something better. I had no problems at all jumping into v2 and looking at some of the math behind it and reading Kai's background data, colour me impressed.

It's obvious that a LOT of work has gone into making this new version so I thank you!

I'm especially happy that you've gotten rid of the water/city profiles. This has caused so much confusion over the years, mostly from novice brewers who simply try and match their water to a certain city without thinking about the water & grain bill as an entity. The two aren't separate! If I had a nickel every time someone told me that all that was required to make an English Ale was Burton water...

I'm making an American Amber Ale tomorrow and targetting Randy Moser's ideal Pale Ale numbers using my city's very soft water. Nice to see that my target mash pH is going to be 5.23 which around where I'd expect given my past experience brewing similar SRM/styles. My pH meter tomorrow will confirm this.

I have to say, if I brew within the fairly wide guidelines or limits set in this spreadsheet, I may be able to retire my pH meter (ok - maybe not for everything, but at least for mash readings ;) ).

Thanks again!

Kal
 
I like the spreadsheet, seems quite helpful. I'll probably dig into Kai's paper and look at how the experimental data was applied.

Am I totally wrong but when targeting a particular element concentration in the final wort, shouldn't you consider the impact of boil evaporation?

Example: my starting water has 35ppm Calcium. If I start the boil with 8 gal and boil down to 6 gal, wouldn't my Calcium concentration increase by 8/6 to 47ppm?

I guess the chloride:sulfate ratio would remain unchanged.


Also, just to be clear, can someone define this for me? When batch sparging:
Mash water = all water present during saccarification rest
Sparge water = mashout water + sparge water

Do I have that right? Or does sparge water include mashout water? It would affect the salt addition quantities.


THANKS!
 
My advice would be to treat all of the water in the HLT and not target particular ion concentration in the final product.

If you do then, yes, boiling will concentrate. That is the least of your problems though. how much is left behind in the mash tun?

As for what is mash water, if you are doing infusion mashing with multiple rests, it is whatever amount of water you have in for the rest for which you are trying to control the mineral content. It seems like you are making it harder than it needs to be though. 99.9% of commercial beers are brewed with the same water (in terms of ionic makeup) for all mash infusions and sparging.
 
Would I be better off keeping things simple and following AJ's primer (1 tsp calcium chloride / no sauermalz (its for a porter) per 5 gallons of treated water) or try and come up with my own additions via EZ Water 2.0? I can't get my ph up into the recommended range using just AJ's method. Here's what I'm working with (I will be diluting with 50% RO to get my alkalinity closer to AJ's recommended 35).

Starting Water (ppm):
Ca: 28
Mg: 8
Na: 5
Cl: 8
SO4: 21
CaCO3: 73

Mash / Sparge Vol (gal): 2.81 / 4.5
RO or distilled %: 50% / 50%

Total Grain (lb): 9
Non-Roasted Spec. Grain: 1.5
Roasted Grain: 0.5
Beer Color (SRM): 28

Adjustments (grams) Mash / Boil Kettle:
CaSO4: 0 / 0
CaCl2: 2.3 / 3.683274021
MgSO4: 0 / 0
NaHCO3: 0 / 0
NaCl: 0 / 0
CaCO3: 0 / 0
Lactic Acid (ml): 0
Sauermalz (oz): 0

Mash Water / Total water (ppm):
Ca: 73 / 73
Mg: 4 / 4
Na: 3 / 3
Cl: 108 / 108
SO4: 11 / 11
Cl to SO4 Ratio: 10.32 / 10.32

Alkalinity (CaCO3): 37
RA: -18
Estimated pH: 4.96
 
Would I be better off keeping things simple and following AJ's primer (1 tsp calcium chloride / no sauermalz (its for a porter) per 5 gallons of treated water) or try and come up with my own additions via EZ Water 2.0? I can't get my ph up into the recommended range using just AJ's method. Here's what I'm working with (I will be diluting with 50% RO to get my alkalinity closer to AJ's recommended 35).

Starting Water (ppm):
Ca: 28
Mg: 8
Na: 5
Cl: 8
SO4: 21
CaCO3: 73

Mash / Sparge Vol (gal): 2.81 / 4.5
RO or distilled %: 50% / 50%

Total Grain (lb): 9
Non-Roasted Spec. Grain: 1.5
Roasted Grain: 0.5
Beer Color (SRM): 28

Adjustments (grams) Mash / Boil Kettle:
CaSO4: 0 / 0
CaCl2: 2.3 / 3.683274021
MgSO4: 0 / 0
NaHCO3: 0 / 0
NaCl: 0 / 0
CaCO3: 0 / 0
Lactic Acid (ml): 0
Sauermalz (oz): 0

Mash Water / Total water (ppm):
Ca: 73 / 73
Mg: 4 / 4
Na: 3 / 3
Cl: 108 / 108
SO4: 11 / 11
Cl to SO4 Ratio: 10.32 / 10.32

Alkalinity (CaCO3): 37
RA: -18
Estimated pH: 4.96

personally I would use the EZ spreadsheet all the way.

No need to dilute with RO water. The alkalinity from your tap water will help balance the acidity from the dark malts in your porter. Your mash pH is too low. Ditch the RO water, possibly ditch the CaCl2 and add some CaCO3 to increase your calcium and help with the pH. Check the pH during the mash.

OR better yet, brew it both ways and let us know which is better.
 
It seems like you are making it harder than it needs to be though. 99.9% of commercial beers are brewed with the same water (in terms of ionic makeup) for all mash infusions and sparging.

Yeah, I'm likely making it more complicated than desired. Thing is, I don't currently have a HLT. I heat my sparge water in my boil kettle and add to mash tun. Then heat sparge water in boil kettle. So I don't really have a vessel large enough to hold all the water at once, thus I can't prepare all the water at once.

My water (Lake Michigan) is actually pretty good for mashing the lighter colored styles I mostly brew. I've been treating my water in the boil only to adjust the malt/bitter profile. Now Wifey is asking for some darker beers and I'm getting into mash water adjustments for the first time.

Thanks for your take, though.
 
Yeah, I'm likely making it more complicated than desired. Thing is, I don't currently have a HLT. I heat my sparge water in my boil kettle and add to mash tun. Then heat sparge water in boil kettle. So I don't really have a vessel large enough to hold all the water at once, thus I can't prepare all the water at once.

My water (Lake Michigan) is actually pretty good for mashing the lighter colored styles I mostly brew. I've been treating my water in the boil only to adjust the malt/bitter profile. Now Wifey is asking for some darker beers and I'm getting into mash water adjustments for the first time.

Thanks for your take, though.

I would add the mash additions based on the volume of water at scarification. This is key for getting the mash pH correct.

Add the sparge additions to the boil kettle. Even if you had a HLT, the salts would not dissolve fully in the sparge water.

I'd account for the mash out water as part of the sparge water. Once again those salts go in the boil kettle.
 
Would I be better off keeping things simple and following AJ's primer ... I can't get my ph up into the recommended range using just AJ's method. Here's what I'm working with (I will be diluting with 50% RO to get my alkalinity closer to AJ's recommended 35)...

Alkalinity (CaCO3): 37
RA: -18
Estimated pH: 4.96

Just because the spreadsheet says the mash pH will be 4.96 doesn't mean it will be 4.96. My approach says keep it simple and check pH. I advise against adding bases (sodium bicarbonate, sodium carbonate, calcium oxide) to mash unless measurement of mash pH with a properly calibrated meter shows that the pH is indeed too low. This is based on my (and others') observations that it usually isn't.
 
so, is this spreadsheet accurate for huge beers? RIS, for example....

I mean, I plug in 67 SRM, 24 pounds of grain, 1 lb crystal and 2.5 pounds roasted, and, well, i get some pretty low pH numbers, lol.

i was going to try to use distilled and build from scratch since my tap water isn't very good, but, I can't get the estimated pH very far above 4, lol.
 
TH,
I got to thinking about water salts today while brewing, and I believe I can write a formula in Excel, OpenOffice, or in a web app that will optimize amount of brewing salts required to match a certain profile. Would you be interested in incorporating this into your calculator spreadsheets?

Let me explain what I mean by this... you could put in your starting water profile, and enter the values for your target profile, and the optimization routine would calculate the amount of each salt to add to come as close as possible to that target.

Also, I read that you hadn't found anyone to do an HTML version of it. I could probably do that for you if you're interested.

Drop me a PM and we can talk...
 
The Excel Solver handles optimization quite easily. There is a question as to what your optimization cirterion should be, however. Should it be rms error, rms log error, peak error, mean error....? (I use log error as that minimizes the percentage error for each salt). The hard part is not in the optimization but in the modeling. The EZ spreadheet handles the model OK as long as polyprotic acids are not involved and the pH is less than 8.3. It is a trivial matter to minimize rms or log rms differences in calcium, magnesium, sulfate, chloride, sodium... simply by putting a formula for the "error" in a cell and then asking Solver to minimize that cell subject to the constraint that all additions are non negative. Calcium carbonate is not adequately modeled and neither is sodium bicarbonate though you might be able to rough it in without too much error as long as optimization is done over alkalinity and not bicarbonate. The problem here is that the spreadsheet does not ask about source water pH and as such has to assume that the final pH is 8.3 which may be a reasonable approximation if the source is of low buffering capacity (low alkalinity). But given that you accept the approximations in the EZ spreadsheet I guess there is no reason why you shouldn't calculate salt additions based on the implied model. As I said earlier, it is easy enough to do. You can even weight ions if you want too (e.g. make sulfate count twice as much in the error function as chloride which means closer matching of sulfate at the expense of the chloride match).

But yes, it is possible to have a spreadsheet with source water at one mineral composition and pH diluted with dilution water with another mineral composition and pH and calculate the amounts of salts (including carbonates - but acid is required) and dilution water which should be added to "best" match a target water at a specified pH using nothing more sophisticated than Excel's Solver (well, to be realistic I think we must allow that the Solver is quite sophisticated). But getting a good match often requires the addition of calcium carbonate and if that is done CO2 must be sparged as well (which few are willing to do). And one cannot get a good match to an electrically unbalanced profile and many, if not most, of the published profiles are seriously imbalanced (why, I have no idea). So while it's doable I think it may be more involved that you are anticipating. You can get an idea as to what it takes by having a look at the NUBWS (Nearly Universal Brewing Water Spreadsheet) at www.wetnewf.org. I usually don't advertise this because my goal is to simplify things for home brewers - not confuse them further. Now maybe if a skilled programmer hid the working bits and developed a nice user I/F.....
 
so, is this spreadsheet accurate for huge beers? RIS, for example....

The darker the beer the less accurate it becomes. This is in large measure because the correlation between beer color, water alkalinity and malt acidity is too weak to be used as a basis for design. This, and other spreadheets, assume that the amount of acid supplied by malt is directly related to the color and while there is a correlation it is not a strong one. The parent of the EZ sheet has model which calls for absurd amounts of alkali. The EZ is much toned down but the fundamental concept is still built in. This is why it calculates pH's which are lower than observed.

I mean, I plug in 67 SRM, 24 pounds of grain, 1 lb crystal and 2.5 pounds roasted, and, well, i get some pretty low pH numbers, lol.

With low ion water (RO, DI) you will probably see a pH between 5.2 and 5.5 (based on mine and a few other peoples' experiences) with 10% roast grain. This is not to say that it is impossible for you to see lower (depending on the titratable acidity of the actual malts you use).

i was going to try to use distilled and build from scratch since my tap water isn't very good, but, I can't get the estimated pH very far above 4, lol.

That should work. Add a little (1 tsp/5 gal) calcium chloride for calcium and a similar amount of gypsum if you like and you should be fine. But what I'd really want you to do is measure mash pH with a pH meter and have some chalk or pickling lime on hand to add should the pH come in too low (less than 5.1 - 5.2).
 
But what I'd really want you to do is measure mash pH with a pH meter and have some chalk or pickling lime on hand to add should the pH come in too low (less than 5.1 - 5.2).

yeah, pH meter is on the list. problem is, it's a very long list, lol. my tap water isn't very desirable, its from a well and softened, so I have zero Ca/Mg but Na, Cl and Biocarbonates are spiked. Sulfate is average i guess at 42ppm...

I did the RIS as a parti-gyle, using mostly tap water in the mash with no adjustments. I meant to add some salts to the boil, but with the parti-gyle madness I completely forgot.

I got pretty decent mash eff and it's already at 68% AA after 1.5 weeks.
 
The shortcomings are some of the things I mentioned in my previous post. I guess the top level comment would be that pH is not considered and when you have a system that involves a polyprotic weak acid (carbonic acid) the key to the whole thing is pH which regulates the relative amounts of carbonic, bicarbonate and carbonate in a system.

Looking at the first line - base line water, this particular mix of ions can only exist at pH 9.02. That's higher than the WHO recommendation but it is possible that someone's tap water is actually that high in pH. Moving to the second line, the Burton target, that mix of ions can only exist at pH 9.97 which is a pretty ridiculous pH. I.E there are errors in both the baseline and Burton target waters. This is very common in the published target waters one finds in magazines, on the web etc. The discrepancies in peoples' water reports are usually smaller and are caused by measurement errors and neglect of ions present in low concentration (iron, potassium, strontium, aluminum, boron, copper...) on the part of the lab when the brewers sends off for lab analysis and, in the case of water supplier reports, by the use of averages, measurements of different ions done on different days of the week and analysis errors on the part of municipal labs.

As a minimum, any water analysis spreadsheet or program needs to check target and source reports for electrical balance and provide some means of correction. Electrically imbalanced water cannot physically exist and that means you can't synthesize it.

In the basic optimization routine you are assuming that 1 gram per gallon of sodium bicarbonate contributes 189 mg/L bicarbonate. That isn't exactly true under any circumstances because at most 98% of 189 mg/L stays as bicarbonate and 1% each convert to carbonic acid and carbonate ion. This is at pH 8.35 or so. At pH 7 20% converts to carbonic so only 80% of 180 mg/L remains as bicarbonate.

With calcium carbonate things become hairier still. Calcium carbonate contributes no bicarbonate to the solution until enough protons are supplied to the reaction
CO3-- + H+ <--> HCO3-. For small carbonate additions the water itself provides enough but there is, of course, a pH shift which must be taken into account. For larger additions, external acid must be supplied. Nature uses carbonic. If you are trying to match a natural profile you must use carbonic too. Otherwise only poor matches are possible.

So your algorithm needs to obtain information about source and target pH, use the pH information to determine the relative fractions of carbonic, bicarbonate and carbonate and then determine the pH at which electrical balance occurs for each trial addition of salts. Then compute the residual on operate on it to "correct" the trial additions until the conditions of electrical balance and mmse are acheived. I've done this with simulated annealing and I think it could be done with iterative Moore-Penrose but as I've noted, the Excel Solver (don't know how it works but it's not annealing) will do the job.

So unfortunately, you have just scratched the surface here. The problem is not linear (because of the dependence on pH) and so an iterative solution will be required. Take out the bicarbonate and carbonate and what you have is fine as hydrochoric and sulfuric acid can be assumed completely dissociated at mash and brewing liquor pH.

Just as a matter of interest I calculated the salt additions necessary to match the example source (at pH 9.02) to the Burton target at pH 9.97. The additions are CaSO4: 2.626, MgSO4: 2.232, NaCl: 0.148, NaHCO3 0.019, CaCl2: 0.019, CaCO3: 0.732 and, most important CO2 0.118 all grams per gallon. As the match is to the profile at a pH at which the profile can exist the match is good: 1.1% maximum error. If I try to match at a more reasonable pH e.g. 7 all the numbers change but not that much with the exception of CaCO3 which goes to 0.364 and CO2 which goes to 0.293. As this match is to a profile which never existed it is not so good. Maximum error is 8%.

Again I invite you you to look at the NUBWS which can solve problems like this and at the users manual for it both available at www.wetnewf.org. This will help you get an idea of the magnitude of the problem. The underlying chemistry can be found at the same site in the Cerevesia or New Brewer articles posted there.
 
I'm playing with version 2, and first of all THANK YOU TH for this!

Second, I'm puzzled by the Roasted Grain and SRM impact on pH. It looks like when, all other things being equal, and I increase Roasted Grains, the pH goes Up rather than Down. Is this because I haven't changed the SRM value yet? And how are SRMs and Roasted Grain amounts both used in the Ph calculation, if one drives the other? I hope this question made some sense! TIA!

---VikeMan
 
I'm playing with version 2, and first of all THANK YOU TH for this!

Second, I'm puzzled by the Roasted Grain and SRM impact on pH. It looks like when, all other things being equal, and I increase Roasted Grains, the pH goes Up rather than Down. Is this because I haven't changed the SRM value yet? And how are SRMs and Roasted Grain amounts both used in the Ph calculation, if one drives the other? I hope this question made some sense! TIA!

---VikeMan

The model is that the change in mash pH from a base malt only mash to a base with specialty malts/grains mash is the sum of a linear function of the color of the roasted grains and a linear function (with a different slope) of the function of the non roasted grains.

So when you reduce the % of roasted grain but keep the color the same, you are saying that the % of non roasted grain is increasing and these grains are assumed to have more acidity per unit color than roasted grains by the model.
 
Why did you remove HCL?

With my v. hard water I need HCL to lower the alkalinity to be able to just get the mash in to the right pH range.

Also after reading the KAi paper it is apparent that he never used really hard water at all, I actually believe( needs to be worked on) that your calculator becomes inaccurate with water pH levels above 8 lie mine (8.2).

Could you also put back up version 1.7?
 
The EZ spreadsheet has an appropriate caveat about accuracy when pH gets high. Properly modeling carbonic/bicarbonate/carbonate chemistry at higher pH increases the complexity of the calculations by orders of magniturde.
 
Parkinson - I have very hard water as well. I'd recommend using distilled/RO water to cut it down. I've been using ajdelange's water recommendations in the sticky thread titled Water Priming (or something along those lines). Works really well and you no longer need to worry about HCL or the like.
 
I've made 4 batches now and used EZ Water Calculator 2.0 (instead of the original) and each time my actual mash pH measures approx 0.2 pH *lower* than what EZ thinks it's going to be.

I left this for a while figuring I made a mistake somewhere but it's been fairly consistent over the last 4 batches. From talking to local brewers, seems I'm not the only one too.

I understand that this is an extremely complex subject so I'm curious what's going on. My pH meter's been calibrated twice during these 4 batches, once right before this last batch.

Here's the numbers for the last batch (an APA):

Code:
Starting Water  (ppm):				
Ca:	8.9			
Mg:	2.2			
Na:	16			
Cl:	6.1			
SO4:	27			
CaCO3:	32			
				
Mash / Sparge Vol (gal):	6	/	10	
RO or distilled %:	0%	/	0%	
				
Total Grain (lb):	17.7			
Non-Roasted Spec. Grain:	3.7			
Roasted Grain:	0			
Beer Color (SRM):	5.32			
				
Adjustments (grams) Mash / Boil Kettle:				
CaSO4:	7.7	/	12.83333333	
CaCl2:	2	/	3.333333333	
MgSO4:	3.8	/	6.333333333	
NaHCO3:	0	/	0	
NaCl:	0	/	0	
CaCO3:	0	/	0	
Lactic Acid (ml):	0			
Sauermalz (oz):	0			
				
Mash Water / Total water (ppm):				
Ca:	110	/	110	
Mg:	18	/	18	
Na:	16	/	16	
Cl:	49	/	49	
SO4:	281	/	281	
Cl to SO4 Ratio:	0.17	/	0.17	
				
Alkalinity (CaCO3):	32			
RA:	-57			
Estimated pH:	5.46

The measured pH of the mash with salts added was 5.26 (exactly 0.2 lower than what EZ calculated).

My city's water report is here: http://www.ottawa.ca/residents/water/wq/city_wells/wq_reports/2009_annual/brit_sum_2009_en.pdf

The average numbers they give have not varied more than 1 ppm or so over the last 3 years. These 4 batches were brewed between late Oct 2010 and early Feb 2011.

I'm use Beer Tools Pro to calculate the beer colour.
My jeweler's scale has been calibrated with a 5 gram weight.

Kal
 
Very cool.. I never messed with my water much because the beer was already really good. Looking at my water profiles, my ratio is tilted towards the bitter scale. Makes alot of sense, my pale ales and IPA area have always been the best while the more malty beers (porters, stouts, etc) tend to taste kind of dry. Luckily my tastes are more towards the hoppy/bitter scale, but at least now I have a better understanding of why my maltier styles weren't quite right. Excited to give this a try! Thanks!
 
Back
Top