I'm hoping that AJ just mis-read the grist composition..
No. Just checked. We can go through the components:
5.45 kg (81.4%) Crisp Maris Otter:
DI pH 5.69
Buffering at pHDI: -46.6 mEq/kg-pH
Linear Approximation to proton deficit at pH 5.5: 48.1
Proton Deficit to pH 5.5: 49.4
Data Source: Measured in Lab
0.34 kg (5.1%) 20L Crystal Malt:
DI pH 5.22
Buffering Average: -29.6 mEq/kg-pH
Linear Approximation to proton deficit at pH 5.5: -2.8
Data Source: Kai Troester
0.34 kg (5.1%) 120L Crystal Malt:
DI pH 4.75
Buffering Average: -48.4 mEq/kg-pH
Linear Approximation to proton deficit at pH 5.5: -12.4
Data Source: Kai Troester
0.34 kg (5.1%) Roast Barley (300L)
DI pH 4.70
Buffering at pHDI: -35.4 mEq/kg-pH
Linear Approximation to proton deficit at pH 5.5: -9.7
Proton Deficit to pH 5.5: -16.8
Data Source: Measured in Lab
0.23 kg (3.4%) Chocolate Malt (300L)
DI pH 4.70
Buffering at pHDI: -76.4 mEq/kg-pH
Linear Approximation to proton deficit at pH 5.5: -13.9
Proton Deficit to pH 5.5: -14.4
Data Source: Lab Measurements on 600L Chocolate. Note: Kai's measurement on Black Patent: pHDI 4.62, Avg buffering: -41.5
...above since it is VERY apparent that it is an EXTREMELY acidic grist and doesn't need a drop of acid in the mash when the brewer started with RO water.
Add those proton deficits up with the small deficits for the RO water and small surfeit from the calcium chloride addition and you get 0. Thus the mash pH is 5.5 and it is VERY apparent than this mash isn't acidic at all. A pH of 5.5 might be a wee bit high for some who might choose to add some acid but I'd accept it. Now if I used Muntons I'd get, as noted, 5.6 and be tempted to add some but since I know the Muntons has an unusuall high pH glide (with temperature) I wouldn't.
Having worked and tested grists similar to the OP's grist, I'm familiar with the very low pH that will be produced. With straight RO water, I estimate that the grist pH will easily fall into the 5.2 range
I can't say that it isn't possible to produce a grist similar to the OP's which would exhibit pH as low as 5.2 but think it quite unlikely. The base malts here just have too much proton deficit, 49 mEq in the case of Crisp and 91 in the case of Muntons (because of it's higher pHDI - the buffering capacities are about the same). To get to 5.2 I would have to supply 127 mEq of protons to the base malt. If I substitute 5.1% sauermalz for the roast barley I can do that (it gives me 107 of those 127 with the rest coming from the other colored malts).
While I appreciate AJ's efforts with his mash pH model, this is an area where I am now positive that it fails.
I think you had better get some experimental evidence in hand after which you will revise that opinion. I would also caution making statements like this based on empirical evidence. Some great science has been done empirically but it doesn't have a leg to stand on against data.
AJ and I are aware that the same modeling effort was conducted by Breiss and they could not craft an acceptable model either that properly models the low pH excursion with significant crystal and roast malt additions.
That's Briess's problem, not mine.
I agree that those methods should work,
They do work if the malt and other mash component proton deficits/surfeits are modeled properly. Briess did not take the correct set of measurements. They measured to 5.7, they did not allow for the time factor, they did not account for the non linearity, and I have no idea how they actually did pH measurement, what temperature they used and so on. Kai did similar things. While his measurement technique was crude (acid strength determined from the label on hardware store HCl...) he at least did the titrations to 5.4 so that while non linearity isn't accounted for the total proton deficit calculated to pH near 5.4 isn't far off. I use his numbers where I don't have actual measurements (as indicated above) with pretty good results and his spreadsheet based on his measurements seems to be pretty good according to what I see here.
..however the evidence is that there is something else in the chemistry that is not being accounted for.
What is that evidence? In all the cases I have checked (and, of course, that number is finite) the model is not only robust if you believe in acid/base chemistry, but gives pretty good results given the disparities in, for example, the properties of Maris Otter (and, of course, any other malt). It takes a brave man to stand up in public and say 'Malt absorbs sulfuric acid in one way and lactic acid in another', I'll give you that.
Fortunately, the entirely empirical model used in Bru'n Water takes that response into account.
Analyst: When I mix this malt with this set of properties with that malt with that set of properties I expect to get this pH and when I take a measurement in the lab I get a result pretty close to that. This is a pretty good model.
Empiricist: Your model can't be right because when I do that I get a different answer.
Analyst: When you mix malts with the specific properties I laid out?
Empiricist: Well, I don't know about that. It was the same types of malt though.
Analyst: OK, so what were the properties of your malts?
Empiricist: I don't know.
Analyst: Then how can you possibly comment sensibly on the model?
Keep working AJ, you will find it eventually.
I have found it but clearly there is more work to do. The further I go the more obvious is that this is a good model (I just back checked against a dry stout I did a year or so ago using Crisp MO, roast barley and flaked barley, all of which I have subsequently measured and the model predicts pH within 0.01 of what I actually measured) but there are doubtless more details yet to reveal themselves I'm sure. I haven't hit the 'gotcha' yet and this is definitely not it. I've just unearthed the temperature glide disparity between malts. Considering this ought to give better room temperature pH estimates. Naturally, the more data I get on individual malts the deeper my understanding becomes and the more solid the model. My overall fear is that by the time we get into the difference between maltsters and crops and varieties and temperature glides and who knows what else that the data required to feed this robust model may be impractical to collect. It's already clear that the maltsters will have to do it.
A more interesting question is how you are able to get a pH as low as you do using malts anything like those that the OP is using here in the quantities he is using (19%). The colored malts would have to have potency like that of sauermalz rather than the colored malts that I, Kai, or even Briess measured. The alternative would have to be that the base malt has alkalinity way below what either I, Kai or Briess measured, or, I suppose, a combination of the above.
It would help in these discussions if you would reveal exactly how Bru'n water estimates mash pH but you seem reticent to do so other than to say "It's empirical". This implies doing a lot of mashes, measuring a lot of pH's and fitting curves to plots of some sort. I suspect the reticence stems from the fact that we might not find the approach very robust as indeed may be the case given our understanding of the number of combinations you would have to explore, imposed by variability in malt properties, in order to have any hope of significance.
One thought on why you might have seen low numbers is that you didn't wait for stabilization. When an acid malt (especially sauermalz) is placed in a mash the acid goes into solution quickly causing the pH to plummet (alarmingly the first couple of times I saw it). It can then take several minutes to crawl up to close to its equilibrium value and up to half an hour before it is within say, 0.02 pH of where it appears to be going.