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

    Homebrewing Facebook Group

The worlds easiest mash pH adjustment assistant method?

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Albeit that method #2 is preferred, I haven't completely given up on and thereby abandoned the initial SRM based method quite yet. I can't go back and change the SRM based methods Step 4 in post #1 of this thread since the allotted time for changing it has passed me by, so I'm entering a revised Step 4 here.

1st_Revised_Step 4: Calculates the anticipated pre-adjustment mash pH (pH_M).
pH_M =(0.001*SRM+1)*5.85-0.035*SRM+0.0003*SRM^2 (whereby * = multiply, and ^2 = Squared)

In this revision the original 5.92 constant has been changed to 5.85, and this value has been made into a variable with respect to SRM via the addition of the (0.001*SRM+1) multiplier.
 
Here are two snapshots of the final batch SRM based methods output with the above Step 4 modification applied, and with 11.45 mEq/mL acid strength for 88% Lactic Acid (positive adjustment, last column), and 10.71 mEq/gram caustic strength for Baking Soda (negative adjustment, last column). As for the earlier snapshots, the first snapshot changes only the batches final SRM color, and the second snapshot changes multiple values.

1st.png


2nd.png
 
Here it is as a free spreadsheet. Fluffed and Sizzled it up a bit. And named it 'SRM Made Easy'. No guarantees expressed or implied.
 

Attachments

  • SRM Made Easy.xlsx.zip
    7.8 KB
Here is a side by side of SRM Made Easy (SME) and the Kaiser Water Calculator. OG set to 1.050 for 'SME'

SME_VS_Kaiser.png
 
Further refinement. What was originally the constant 5.92, is now 5.76 for version 1.01 of 'SRM Made Easy'. Now it presumes a more mainstream or middle of the road base malt. Here is a "color by color" side by side with the Kaiser Water Calculator again so you can see the result of the SME change. Revised spreadsheet is also attached.

SME_1.01_VS_Kaiser.png
 

Attachments

  • SRM Made Easy 1.01.xlsx.zip
    7.8 KB
Throw in a guesstimate of acid and at some point in time all mashes match the target pH.
 
I added a "% Grist Wt. from Deep Roasted" button and the output appears to have gotten much better. I can see now why all other SRM based online or spreadsheet mash pH assistants have this feature. Onward to version 1.02, which I have attached.
 

Attachments

  • SRM Made Easy 1.02.xlsx.zip
    7.9 KB
Last edited:
Throw in a guesstimate of acid and at some point in time all mashes match the target pH.

I added 2.3 grams of baking soda to the strike water of a no-sparge robust stout awhile back, and after 30 minutes of mashing it measured 5.18 pH, and after 60 minutes of mashing it measured 5.21 pH. After plugging all of the specifics of that recipe 'into SRM Made Easy', it is telling me that I should have added 5.51 grams of baking soda to hit a mash pH of 5.4. Below is the screenshot from 'SRM Made Easy' version 1.02.

Robust Stout.png
 
Since base malt acidity (with respect to target mash pH) and base malt pHDI (deionized or distilled water mash pH) vary appreciably with base malt type, the last thing that 'SRM Made Easy' required whereby to improve its output noticeably was a base malt selector switch (drop down) similar to 'Mash Made Easy'. Thus version 1.03 is attached here adding this feature.
 

Attachments

  • SRM Made Easy 1.03.xlsx.zip
    8.7 KB
Don't consider abandoning this new SRM based approach until you've kicked its tires a bit. I've been spending a bit of time today going through a handful of my personal recipes stored within 'Mash Made Easy' and comparing calculated total mEq's between MME and the new 'SRM Made Easy 1.03', and (so far at least, plus considering that it is so early in the game for this new SRM based methodology) I'm finding surprisingly decent predicted total mEq correlation overall across a wide range of SRM's, grists, deep roast wt. percentages, mineralizations, alkalinities, mash water volumes, etc.... Much more comparison testing is obviously required, and the door is open to additional tweaking on the (empirical as to pH_M) SRM based side of things, but the bottom line (so far at least) has been that since the unveiling of version 1.03 of 'SRM Made Easy', both methodologies are showing themselves to be overall rather close in their predicted overall mEq's, and thereby in their output as to adjustment recommendations whereby to hit the targeted mash pH.
 
Silver_Is_Money:

Thanks so much for starting this thread and providing a simple formulaic approach to determining mash ph and the acid additions needed to hit your target. Also, thanks for providing MMM which I use to confirm my own back of the envelope PH calculations and make adjustments (for RO, start with 5.75 for base plus or minus .5 for munich/wheat malts, subtract .1 - .14 for Ca and Mg ppm 50-150, subtract % crystal and dark malts/.2 x .5).

I want to incorporate your formula into my brewing program (excel based) and test it out. My program has the ability to assign values to specific malts as well as separate kettle additions from grist, so determining a relevant SRM for the batch (sans sugars and syrups) is no problem. After running through all the posts and iterations, it is difficult to determine exactly what is in and out. Would it be possible to post the latest iteration of steps and assumption, just like you did in the first post. This would be greatly appreciated.

Finally just some thoughts on model enhancements, which could be totally off-base as I only have a high level understanding of PH. From your post 43 it looks like the major groups of malts mEqs grow with lovi. The exception is the Munich malts. Perhaps having a lovi-bond adjustment factor for each group of malts (base, roast, crystal/melanoidin, wheat/rye, munichs/biscuit could be applied to each before calculating the MCU for the Morey model, reducing or increasing SRM to a more relevant number for your formula. For example - the Munichs and Biscuit malts lovi could be reduced by a factor of 4. Alternatively, perhaps dividing each malt's lovi by the mEq (or tweaked mEq as something in the back of my mind is telling me that this stuff in non-linear) may provide a malt by malt specific adjustment . The sliding adjustment would emphasize malts that have greater impact on mEq relative to their color and deemphasize malts, like the Munichs, that have less impact. Once an adjusted MCU and SRM is calculated, the SRM can be loaded into your master equation. I could easily implement this approach into my program for testing.

Again thanks so much for leading this discussion as well as thanks to all of you who have contributed to the dialog.

Regards,

KB
 
You are free to tweak as you see fit. But as to the more precise "method #2" I believe the malt mEq's to pH 5.4 as the target within my post #43 list to be respectably accurate, meaning they should not be tweaked much if at all.

The complete and stand alone 'SRM Made Easy' version 1.03 is attached within post #69 above as a zip file. Just click on it to download it. As to the base malt drop down selector switch found within, SRM Made Easy version 1.03 takes the formula seen within post #61 as the "revised step 4 formula" for pH_M and replaces the constant of 5.85 with each individual base malts DI_pH (or pHDI) plus 0.09.

As to the impact of the "Percentage of Grist by Weight that is deep roasted" compensation, it simply adds 0.01 pH points to pH_M for every 1 percent of deep roasted grains/malts within the total of the grist weight. This seems to work quite well to compensate for color derived from deep roasted bringing with it less acidity than color not from deep roasted.

Note that grist weight as used within the SRM method does not include added adjunct sugars or their color or OG contributing factors. These must be backed out for recipes containing sugars.

You should now have everything required to make your own SRM based spreadsheet.
 
Last edited:
For the SRM method I quickly cobbled this together to bring it under a single post as you requested:

Step 1: Pick pH_T (your desired Target mash pH, this is often 5.4 or 5.5)
Step 2: Guess your beers final SRM color (whereby: EBC/1.97 = SRM)
Step 3: Determine your grists weight in Kg. (whereby: Lbs./2.20462 = Kg.)

Step 3.5, normalize SRM to 1.050 OG:
Normalized_SRM = NSRM = Actual_SRM * (-7.5*OG + 8.875)

Step 4: Calculate the anticipated pre-adjustment mash pH (pH_M).
pH_M =(0.001*NSRM+1)*(Base_Malt_DI_pH +0.09)-0.035*NSRM+0.0003*NSRM^2 + %_Deep Roast/100
(whereby for example if deep roast is 15% of grist weight, then 15/100 = 0.15 to be added)

Step 5: Calculate the grists mEq's of acid or base with respect to your desired mash pH target
mEq's = (pH_M - pH_T)*34*Kg_grist

Step 5.5) Calculate the adjusted mEq_Grist (which is required due to normalizing the SRM):
Adjusted_mEq_Grist = Step_5_mEq_Grist/(-2*OG + 3.1)

Step #6,calculate alkalinity mEq's:
(Mash Water Volume in Liters)*(mg/L Alkalinity)/50 = Alkalinity mEq's

Step #7, calculate mineral mEq's:
(Mash Water Volume in Liters)*[(mg/L_Ca)/20/3.5 +(mg/L_Mg)/12.15/7)] = mEq's from Ca and Mg

Step #8, calculate total or overall mEq's:
Total_mEq's = Step#5.5 + Step#6 - Step#7

Step #9: Calculate adjustment to hit target mash pH:
Adjustment = Total_mEq's / mEq/ml (or mEq/gram) for adjusting acid or baking soda. Pick mEq/ml or mEq/gram value from below (these values are specific to pH 5.4 as the target, but are close enough for nearby targeted mash pH's):

85% Phosphoric Acid: 14.87 mEq/mL
75% Phosphoric Acid: 12.26 mEq/mL
30% Phosphoric Acid: 3.67 mEq/mL
10% Phosphoric Acid: 1.09 mEq/mL
88% Lactic Acid: 11.45 mEq/mL
80% Lactic Acid: 10.25 mEq/mL
*AMS (CRS): 3.66 mEq/mL
Baking Soda: -10.71 mEq/gram

Test it against 'SRM Made Easy' version 1.03 and if it gives the same adjustment advice I did this correctly.
 
Last edited:
For the SRM method I quickly cobbled this together to bring it under a single post as you requested:

Step 1: Pick pH_T (your desired Target mash pH, this is often 5.4 or 5.5)
Step 2: Guess your beers final SRM color (whereby: EBC/1.97 = SRM)
Step 3: Determine your grists weight in Kg. (whereby: Lbs./2.20462 = Kg.)

Step 3.5, normalize SRM to 1.050 OG:
Normalized_SRM = NSRM = Actual_SRM * (-7.5*OG + 8.875)

Step 4: Calculate the anticipated pre-adjustment mash pH (pH_M).
pH_M =(0.001*NSRM+1)*(Base_Malt_DI_pH +0.09)-0.035*NSRM+0.0003*NSRM^2 + %_Deep Roast/100
(whereby for example if deep roast is 15% of grist weight, then 15/100 = 0.15 to be added)

Step 5: Calculate the grists mEq's of acid or base with respect to your desired mash pH target
mEq's = (pH_M - pH_T)*34*Kg_grist

Step 5.5) Calculate the adjusted mEq_Grist (which is required due to normalizing the SRM):
Adjusted_mEq_Grist = Step_5_mEq_Grist/(-2*OG + 3.1)

Step #6,calculate alkalinity mEq's:
(Mash Water Volume in Liters)*(mg/L Alkalinity)/50 = Alkalinity mEq's

Step #7, calculate mineral mEq's:
(Mash Water Volume in Liters)*[(mg/L_Ca)/20/3.5 +(mg/L_Mg)/12.15/7)] = mEq's from Ca and Mg

Step #8, calculate total or overall mEq's:
Total_mEq's = Step#5.5 + Step#6 - Step#7

Step #9: Calculate adjustment to hit target mash pH:
Adjustment = Total_mEq's / mEq/ml (or mEq/gram) for adjusting acid or baking soda. Pick mEq/ml or mEq/gram value from below (these values are specific to pH 5.4 as the target, but are close enough for nearby targeted mash pH's):

85% Phosphoric Acid: 14.87 mEq/mL
75% Phosphoric Acid: 12.26 mEq/mL
30% Phosphoric Acid: 3.67 mEq/mL
10% Phosphoric Acid: 1.09 mEq/mL
88% Lactic Acid: 11.45 mEq/mL
80% Lactic Acid: 10.25 mEq/mL
*AMS (CRS): 3.66 mEq/mL
Baking Soda: -10.71 mEq/gram

Test it against 'SRM Made Easy' version 1.03 and if it gives the same adjustment advice I did this correctly.
Thanks so much for doing this and I look forward to applying it to my program. I'll let you know how it goes. Any recommendation on a PH for dummies book:). One other question regarding the Munich and biscuit malts. While they have lovibond numbers similar to some of the crystal malts, they are much less acidic. Does a similar adjustment like the roast malts need to made to the Munichs, just a bit lower like raise step 4 ph .005 for every 1% of grist? Given their often large percentage of the grist, they can have significant upward impact on SRM without the corresponding impact to Ph.
 
Thanks so much for doing this and I look forward to applying it to my program. I'll let you know how it goes. Any recommendation on a PH for dummies book:). One other question regarding the Munich and biscuit malts. While they have lovibond numbers similar to some of the crystal malts, they are much less acidic. Does a similar adjustment like the roast malts need to made to the Munichs, just a bit lower like raise step 4 ph .005 for every 1% of grist? Given their often large percentage of the grist, they can have significant upward impact on SRM without the corresponding impact to Ph.

Did you notice the negative signs on two of the munich/biscuit malts? They are more acidic than the positive signed base malts. They just utilize a different slope. Many try to slope them right in line with base malts, but this does not work in my experience. So far I see no need to apply any changes on their behalf. But since I agree that they are nowhere near as acidic as caramel/crystal malts to adjust for them may offer improvement, particularly if you tend to go quite heavy on them within the grist, and tweaking the empirical pH_M for better outcome is the goal here so I will watch for your results.
 
Last edited:
Munich and Biscuit malts mEq/Kg_pH5.4:

10L = plus 3.8 (a bit basic with respect to the targeted pH 5.4 value)
20L = minus 2.8 (a bit acidic with respect to the targeted pH 5.4 value)
30L = minus 9.1 (more acidic with respect to the targeted pH 5.4 value)

But I agree they do not slope as for caramel/crystal.

NOTE: To "best fit" model caramel/crystal acidity I had to resort to a non-linear slope as my math model. The rest of the malt classes (from memory) are OK with linear based acidity slopes. The valuations seen in my post #43 list are rounded to 1 decimal place values...
 
Last edited:
At first I missed the negative signs but later caught them so I see the Munichs do follow a consistent path.

I will play with your model and as a first tweak to test, I will assign adjusted lovibonds that follow the crystal malt mEqs and see how that impacts the output. Also, I will use your DiPHs in MMM for the base malts - I hope a weighted average if blending base malts is somewhat accurate.

After seeing your table on mEqs for the different malts, I was amazed on how correlated lovibond is to mEqs at least within malt types. That said, there should be no reason SRM can't be used as a proxy and a reasonable estimate for PH to be made based on SRM.

Thanks again for all the direction in this thread as well as many others.

Regards,

KB
 
Determining a malts buffering value:

Buffering_Value_Malt = mEq's_of_Titrant_added / [(Delta_pH_Malt)*Kg_Malt_Titrated]

For example:

1) Make a congress mash of 50 grams of a ground base malt in 200 mL of DI or distilled water.
2) Cool to 20 degrees C. and take its DI_pH, lets say it is 5.75
3) Add 10 mL's of 0.1 normal HCl (adding acid here since its DI_pH is basic with respect to target pH 5.4)
4) Stir, settle, cool again to 20 degrees C., and measure the resulting pH, lets say it is 5.15
5) 10 mL * 0.1N = 1 mEq of HCl titrant added
6) Base Malts Buffering value = 1 / ((5.75-5.15)*(50/1000)) = 33.33 mEq/Kg_pH

When you get into malts with twice this buffering capacity it might be best to titrate with 20 mL vs 10 mL. Titrations such as this will be going in the opposite pH direction whereby to bridge the target pH region, and will require 0.1N NaOH as the titrant.
 
Last edited:
After seeing your table on mEqs for the different malts, I was amazed on how correlated lovibond is to mEqs at least within malt types. That said, there should be no reason SRM can't be used as a proxy and a reasonable estimate for PH to be made based on SRM.

The values are highly idealized norms, and thus the witnessed correlation. Spreadsheets need to start somewhere, and slopes are the name of the game. The mEq values are derived averages stemming from presumptive DI_pH's gleaned from diverse public domain sources, including some actual hard data provided to me directly by Breiss upon my request, and likewise from presumptive buffering capacities gleaned from the public domain. Begin with data from different sources, and interpret/massage/cull it differently as well (as is merely normal human behavioral confirmation bias whereby to get a perceived better fit), and your software ends up with different slopes than mine. Individual lots of real world malts will of course not be precise fits, and the R^2 values for real malts will not show anywhere near such good correlation. Small lab scale "congress" mashes do not scale well to larger home brewer and/or commercial batch sizes as well. Calculated buffer values based upon pulverized grists and highly controlled and idealized/perfected congress mashes seem to require a multiplier (OK, to be honest here, a fudge factor) by which to better scale them to the poor grind and miserable efficiency of particularly the average home brewer.

If you undertake your own quasi-congress mashes using the same grind as for your brewing sessions, and do your own titrations. you might be able to achieve better scaling correlation to both DI_pH and buffering capacity with your home brewing system.
 
Last edited:
I just realized that I'm violating my own simplicity as to entry level standards set for this thread. Bad me!!! But then again, it's all potentially a foundational part of writing the Mash pH for dummies book. At least it is all within one thread,

I might add that AJ deLange found it necessary to titrate to 3 different pH endpoints in order to achieve greater precision, because the titration curves are in reality not linear. But the non linearity only shows itself appreciably over broad moves in Delta_pH, whereby grist buffering component barriers such as dissociation constant inflection points interfere with what is generally decently enough linear. If you restrict yourself to a 1 (or for some highly buffering malts, 2 mEq) titration bridging in direction across the typical idealized mash target pH range just to either side of where phosphate buffering is rather linear, and don't thereby titrate yourself into a region (or regions) of non linearity due to pKa's causing buffer collapse thereby, this triple titration is highly unlikely in my opinion to show any real world meaningful gain. But the other side of the coin is that single small mEq titrations that move pH only a small amount require respectably trusted precision in calibration and operation of a highly reliable pH meter, and place more emphasis with respect to precision upon this end of the measurement spectrum.
 
Last edited:
This turns out to be a pretty silly discussion if the end result is a spreadsheet of some form or another. ;)

Spreadsheets tend to put you out of back of the envelope territory. Not that I’m complaining. The reason A.J.’s troubleshooter was so profound was that it took something very simple, in theoretical terms, but difficult, in practical terms and put it in spreadsheet form so that Joe Homebrewer could wield its mighty power easily.
 
Last edited:
Some random musings:

It should be noted that the constant value of '34' as seen within step #5 of the SRM based model is merely a middle of the road or nominalized approximation for the overall or aggregate grist "buffering factor" value, chosen intentionally to make the SRM method simple. Any good spreadsheet built around the technically more precise 'Method 2' (as I've been calling it), which does not involve batch or final beer SRM's, must utilize actual derived buffering factor values for each individual grist component.

I wonder if the aforementioned grist buffering value "fudge factor" multiplier which seems to be highly requisite in making what I've been referring to as the technically more highly precise "Method 2" (as opposed to the 'SRM Method) a better fit to real world mash pH adjustment values correlates somehow to mash efficiency, and can be derived as a variable with respect to efficiency rather than assigned as a rather arbitrary constant.

I wonder if the AJ method finds better correlation to the mash pH adjustment results found in the real world by home brewers via the application of the potentially highly variable "fudge factor", or if it is so complete and spot on that it does not need to apply this major 'kludge' due to its higher degree of purported perfection?

Short version: If we somehow believe we know every requisite factor regarding proton balancing, why is the "fudge factor" required at all for method #2?

How can 'Method 2' based math models incorporate data indicating wild mash pH measurement variability swings across 'single infusion', 'step mash', and 'decoction', as witnessed by peer reviewed brewing masters, and as seen as to its magnitude within other of my threads.

Do the protons respond differently when enzymes are partially destroyed via decoction, or activated to differing measure via step mashing? I.E, is there any enzyme activity related correlation to the "fudge factor" multiplier first identified by D. M. Riffe?

If one spreadsheet says add 4 mL's of 88% Lactic Acid to hit target mash pH, and another says add 3 mL's, does one answer lead to a better final beer product (by such measures as flavor satisfaction and long term storage stability) than the other answer?

What is the measure of a methods silliness? Or of the silliness of attempting to bring understandable awareness to the masses for things hidden by so many for so long, or alternately made so confusing?

Can quasi-empirical to outright empirical based pH adjustment measures (such as, for example an SRM based methodology) ever approach the precision of technical methodologies to within a degree whereby such measures as flavor satisfaction and storage stability can be measured to be statistically insignificant?

Is it silly to swat flies with atom bombs? (note that my answer to this one as it relates specifically to mash pH adjustment assistance is actually "no", and that is why I've often mentioned that I'm unworthy to tie AJ's shoes.)
 
Last edited:
Larry,

I didn’t mean silly as in stupid, foolish, etc. I was just referring to the fact that you started out sort of proposing a pen and paper/calculator algorithm and ended up back at a spreadsheet. No ill will, criticism, etc. was intended or implied.

At the end of the day it’s the malt model that really drives the various iterations of pH adjustment spreadsheets. Everything else is pretty standard.
 
It should be noted that the constant value of '34' as seen within step #5 of the SRM based model is merely a middle of the road or nominalized approximation for the overall or aggregate grist "buffering factor" value, chosen intentionally to make the SRM method simple. Any good spreadsheet built around the technically more precise 'Method 2' (as I've been calling it), which does not involve batch or final beer SRM's, must utilize actual derived buffering factor values for each individual grist component.

In this case we have some measured values for pH DI, a1, a2, and a3 to work from. Technically you don't need to measure these values but you have to:

a.) Be willing to use an actual batch of beer to tweak them;
b.) Be comfortable enough tweaking them

What I have had very good luck with is taking data from our forum members at LOB.com who have all other variables worked out and consistent batch results, and tweak values for a1 and a2 in particular to get matching results for their batches. Now granted, we have some guys over there using industrial in-line pH transmitters and recorders, so obviously not everybody could do the same but i am confident in the reporting of their values.

I wonder if the aforementioned grist buffering value "fudge factor" multiplier which seems to be highly requisite in making what I've been referring to as the technically more highly precise "Method 2" (as opposed to the 'SRM Method) a better fit to real world mash pH adjustment values correlates somehow to mash efficiency, and can be derived as a variable with respect to efficiency rather than assigned as a rather arbitrary constant.

This fudge factor has not turned out to be a factor for me in my calcs. Even "field" data has not shown this to be not necessary. YMMW. I actually attempted to apply it in a few cases where people seems to be having un-diagnosable issues with pH, but it turned out we just needed to tweak the titration constants for Munich and Sauermalz.

I wonder if the AJ method finds better correlation to the mash pH adjustment results found in the real world by home brewers via the application of the potentially highly variable "fudge factor", or if it is so complete and spot on that it does not need to apply this major 'kludge' due to its higher degree of purported perfection?

Obviously, I am a champion for A.J.'s algorithm. I have made some tweaks to mine but it is essentially the same exact thing at heart. Most of my tweaks were for the user interface and not the background functions, although I did have to tweak, pretty considerably, the Find pHz function (the function that auto calculates pHz without macro buttons or the solver) to fit my needs better.

I can say that A.J.'s base algorithm, and my adaptation, do not use this kludge at all.

Short version: If we somehow believe we know every requisite factor regarding proton balancing, why is the "fudge factor" required at all for method #2?

I can't answer this because I don't in fact use it. Maybe it's the way your calculations are structured?

How can 'Method 2' based math models incorporate data indicating wild mash pH measurement variability swings across 'single infusion', 'step mash', and 'decoction', as witnessed by peer reviewed brewing masters, and as seen as to its magnitude within other of my threads.

Do you see these wild swings in your brewhouse when switching between mashing regimes? Could it maybe be recirculation based? I have heard many people over the years say the mash takes a while to stabilize but again, recirculation seems to help lock pH in and hold it there for those that use it so this may not be an issue for everyone.

Short version? A method doesn't need to account for something that isn't there/isn't a factor. Especially if that factor is a function of poor mash mixing, etc. You should not expect a spreadsheet/software developer to code in fixes for the mechanical aspects of your system, etc.

I'm going to go back and reread that paper you posted. I don't think I gave it it's just due when you posted.

Is it silly to swat flies with atom bombs? (note that my answer to this one as it relates specifically to mash pH adjustment assistance is actually "no", and that is why I've often mentioned that I'm unworthy to tie AJ's shoes.)

I had a conversation with A.J. when I asked him if he wanted to collaborate on a sheet that put his troubleshooter to use in a user interface based spreadsheet. The reason it was called the "Engine" to start with is because we got off on a tangent about Resto-mod type vehicles, whose outward appearance often belies the modern mechanics of it's drive train, engine, etc.

The point? You don't need to understand what's under the hood to get an incredible amount of joy out of a Ferrari, Modern Corvette, Tesla, etc. Sometimes it's good enough to mash the gas and feel the rush.

In this case, the advantage of a powerful algorithm, especially one that also allows you to easily do calculations that on paper, or even in a traditional .xlsx sheet, would be very cumbersome and difficult, is that it allows you to pay attention to the mash more and make tweaks that have a real bearing on results.
 
Thanks for the clarification Big Monk.

The Malt mEq/Kg_pH5.4 list I provided, incomplete as it is, has been derived with the application of the "fudge factor", so applying it a second time would be a serious error. It is generic as obviously (being retired and on fixed income and also limited by medical issues) I'm not privy to your resources at 'LOB'. I'm still mashing in a cooler with a bag in it, so other than single infusion is something I've rarely attempted, and that was decades ago, before I even attempted to consider or bother with mash pH.

I asked if you might assist in corrections and/or in an expansion of this list. But first might I ask if your valuations for Malt mEq/Kg_pH5.4 vary appreciably from mine in any glaring malt categories (sans perhaps in 'sign', the choice for which is arbitrary)?
 
Last edited:
Thanks for the clarification Big Monk.

The Malt mEq/Kg_pH5.4 list I provided, incomplete as it is, has been derived with the application of the "fudge factor", so applying it a second time would be a serious error. It is generic as obviously (being retired and on fixed income and also limited by medical issues) I'm not privy to your resources at 'LOB'. I'm still mashing in a cooler with a bag in it, so other than single infusion is something I've rarely attempted, and that was decades ago, before I even attempted to consider or bother with mash pH.

I asked if you might assist in corrections and/or in an expansion of this list. But first might I ask if your valuations for Malt mEq/Kg_pH5.4 vary appreciably from mine in any glaring malt categories?

I did not meant o imply that we have somehow corrected/improved the fudge factor, but rather that I don't use one at all.

I'll pull down your sheets and have a look.
 
----------------------
I can say that A.J.'s base algorithm, and my adaptation, do not use this kludge at all.

Perhaps this is because you have not relied upon accumulated data sourced from various others as I have. Likely the Congress Mash derived data at my disposal is a confused mess of confliction and procedural inconsistencies from one source to the next, whereby process specifics are lacking. For example, did my sources:
1) Pulverize their Congress Mash grist vs. grinding at a typical home brewers level (whereby I'm at ~0.032" on my grain mill).
2) Measure their pHDI's at 20 degrees C., or at mash temp (or other)? I may be dreaming here, but seem to recall AJ once mentioning mash temp as the standard for congress mash pHDI. ???
3) Were the buffer values normalized to Kg_pH5.4, or to some other target pH? From memory, some highly quantity limited and confusing data found for example within the "Water" book mentions pH 5.7, and also seems to mention an attempt to normalize to some pH or another, but the values seen side by side within the two columns have almost zero correlation. Which column is to be preferred. My preference was to ignore this books conflicting data and look elsewhere.

Interesting that D.M. Riffe also found a need to apply the kludge, and in fact was the first to identify the need for it, and also to give an initial quantification for its value. Also interesting is that somewhere among AJ's posts, he inquired of Riffe as to his current valuation of it, as if perhaps also seeing merit in it.
 
----------------------


Perhaps this is because you have not relied upon accumulated data sourced from various others as I have. Likely the Congress Mash derived data at my disposal is a confused mess of confliction and procedural inconsistencies from one source to the next, whereby process specifics are lacking. For example, did my sources:
1) Pulverize their Congress Mash grist vs. grinding at a typical home brewers level (whereby I'm at ~0.032" on my grain mill).
2) Measure their pHDI's at 20 degrees C., or at mash temp (or other)? I may be dreaming here, but seem to recall AJ once mentioning mash temp as the standard for congress mash pHDI. ???
3) Were the buffer values normalized to Kg_pH5.4, or to some other target pH? From memory, some highly quantity limited and confusing data found for example within the "Water" book mentions pH 5.7, and also seems to mention an attempt to normalize to some pH or another, but the values seen side by side within the two columns have almost zero correlation. Which column is to be preferred. My preference was to ignore this books conflicting data and look elsewhere.

Interesting that D.M. Riffe also found a need to apply the kludge, and in fact was the first to identify the need for it, and also to give an initial quantification for its value. Also interesting is that somewhere among AJ's posts, he inquired of Riffe as to his current valuation of it, as if perhaps also seeing merit in it.

The first thing to ask yourself is: Why would we need this kludge in the first place?
 
The first thing to ask yourself is: Why would we need this kludge in the first place?

True! Reliable congress mash data which scales precisely to ones own process would obviously not require it. Or even better, skip congress mashes and derive pHDI, buffer values, and mEq's to target pH by Kg. weight directly from process batches, such that (sans for lot to lot derivations) the data is incredibly reliable thereby with respect to a specific brewing set-up and process. But then how does one make the valuations generic enough for validity within another persons brewing set-up and process. Another scaling conflict issue.
 
True! Reliable congress mash data which scales precisely to ones own process would obviously not require it. Or even better, skip congress mashes and derive pHDI, buffer values, and mEq's to target pH by Kg. weight directly from process batches, such that (sans for lot to lot derivations) the data is incredibly reliable thereby with respect to a specific brewing set-up and process. But then how does one make the valuations generic enough for validity within another persons brewing set-up and process. Another scaling conflict issue.

I've gotten to the point where the only real scaling issue I see is in modelling malt. In that case, you have to be willing to take accept that you have a starting point and that the user has to configure that springboard to work for them. For instance, we get the following from A.J.:

dQ (mEq/kg) = a1 * (pHz - pHDI) + a2 * (pHz - pHDI) ^ 2 + a3 * (pHz - pHDI) ^ 3

where a1, a2 and a3 are titration co-efficients that describe the specific malt's mEq/kg properties in a mashing system. Technically you could go to the aN co-efficient with incremental increases in accuracy but more than likely a1 and a2 are sufficient.

So take for instance some work I did with @Robert65 who was generous enough to share some batch data with me. Rob had always used the standard "back of the envelope" mEq calcs by hand and calculator to determine, to a fairly high degree of accuracy given the constraints and assumptions, his pH. I asked if he would help me work out a few things, specifically around Munich and Sauermalz, which he uses extensively.

What we found was that if we took my starting points for Munich and Sauermalz malt classes* and modified a1 and a2 slightly enough to match his "field" data, we were able to improve the accuracy of the algorithm on subsequent batches.

*NOTE: Malt class in this context refers to the master list of categories I made for use in my sheet from the available data, i.e. deLange, Troester, Riffe, etc.
 

Latest posts

Back
Top