Well AJ, with a little trial and error on the mineral input it's not hard to get it perfect. Here is an example.....
Perfect means 0 error and it is possible to do that if you ignore the bicarbonate. If you add the salts to DI water that you specified you get close but the pH is 11.3. I don't think you want pH 11.3. At that pH the water is oversaturated with respect to CaCO3 and you may get precipitation.
If you come to me and say "A. J., I want this profile" and hand me a list of ion concentrations the first thing I am going to say is "And at what pH do you want this water". A reasonable answer for a brewer, IMO, is "Mash pH, of course". At mash pH alkalinity is no longer a factor and that is why it is a reasonable pH to shoot for. So here is a perfect synthesis for this profile at pH 5.4 from ion free water.
Salt/Acid/Base mg/gal Synth
CaCl2.2H2O 239.39
NaCl 0.25
MgCl2.6H2O 80.93
CaSO4.2H20 119.23
MgSO4.7H20 285.72
H2O (DI) Liters 0.00
CaCO3 0.00
NaHCO3 276.28
CO2 0.00
HCl 0.00
Ca(OH)2 247.90
Na2CO3.H2O 0.00
Sodium Lactate 0.00
Potassium Lactate 0.00
Lactic 892.87
Sulfuric 0.00
88% Lactic ml/Gal 0.8419
Note that a fair amount of acid is required to keep the pH from going to 11.3. Since this is a Black something profile it is quite possible that the intention is that some or all of that acid may be supplied by dark malts.
Anyway, if you are just starting out then this is probably beyond where you want to be having discussions at this point so I'll shift gears. I couldn't get sodium to match up and then noticed you have specified 8 mg/L for your RO water. Is it really that high. RO membranes are tweaked to be especially good at rejecting sodium as most systems are proceeded by a sodium cation exchanger. If your water going in has 100 mg/L sodium and the calcium and magnesium levels you specify the water going to the membrane is going to be at about 240 but the membrane should block 98% or a little more of that so your permeate sodium should be no higher than 4.8. I just checked my system which is now at least 7 yrs old and has had 24,000 L of permeate run through it. It still rejects 98.9% of sodium ions. Were your system as good as mine (and I would expect it is unless it is even older than mine) your RO water sodium would be 2.64 mg/L.
While I agree with McKnuckle that is it more useful to use your brewing skill/knowledge to learn how the water profile affects the beer taste for certain styles, I am not quite there yet. So therefore using Bru'n Water's built in profiles would be a great start.
I agree with him too. Use the supplied profiles as rough guidelines. As the remarks about pH and acid above should have made clear, those are not real profiles. They are representative and as such useful.
Although some of you use a +/- 5-10 ppm rule as the water may not be consistently the same every time anyways.
When working with water chemistry you should use a 5 - 10% rule. 10 ppm error in reproducing a sulfate level of 20 is very different from a 10 ppm error in shooting for one at 300. An error of 5% is much more meaningful and as I noted in my previous post natural systems seem to respond to stimuli geometrically, not arithmetically.
So why not reduce your margin of error. I mean if the water is off 5 ppm one day and your target if off 10 ppm in the other direction that could mean a 15 ppm difference. Or maybe some of you use that rule cause it's "close enough" and not that important. Well heck, some of the profiles listed in Bru'n Water only change by 10-15 ppm.
And you could be off by 6 ppm on sodium simply because of uncertainty in what your RO system does. Another factor to consider is that errors don't add arithmetically. They add in the mean square sense. Thus if there is an uncertainty of ±20 mg/L in your water's sulfate content and an uncertainty of ±20 mg/L in the sulfate level of your synthesis the uncertainty in the treated water is going to be 28 mg/L. Now if you go for a perfect synthesis so that unceratainty is 0 your overall uncertainty is still ±20 mg/L. Put another way, the largest error source dominates the error budget.
Maybe I am a perfectionist, maybe I am overthinking it and it just isn't a big deal as I am making it out to be.......
The main thing to keep in mind is that it is kind of fun to come up with algorithms for optimization. I've got a very elaborate spreadsheet for finding exact (and I do mean exact here) salt additions. I can decide whether to minimize the geometric or arithmetic error, whether I want to consider calcium more important than chloride and by how much if I do and so on. Thing is I never use it except to answer questions here.