Tag Archives: text files

Beersmith3 BJCP Water Profiles

If water additions are somewhat of an enigma for you or you just don’t like to have to think (like me), I’ve worked out a method to quickly add recommended water profiles for most every BJCP style.  If you’ve been using Beersmith as your brewing software since version 2, you’ve probably been aware of the water profile tools.  Beersmith3 has made a big upgrade in that you can specify your target water profile and the salt additions will be calculated automatically.

Difficulty: level_2

Due to messing around with software files and probably some confidence if you haven’t edited files before.

Time Required

About 15 minutes, including the software download.

Background

Since the city water profiles are not what one should target when creating their brewing water, and the novice water chemist might be unsure if their lager should follow a yellow full or amber balanced, I’m pulling some resources together to take some of the guesswork and thinking out of it.  Did I mention, I don’t like to have to think?

One of the great features of Beersmith is that most of the files containing data are BSMX files, which are modifications/evolutions of Beer XML files.  What is great about this, is that files can be edited in a standard text editor.

http://www.beerxml.com/

In this post, I’ll show you how to quickly add them through a text editor, rather than adding them manually.  At the end of this small project, you’ll have added water profiles corresponding to most every BJCP style to Beersmith.

2018-OCT-23 UPDATE:  In the initial post, I had generated water profiles based off of one of my sources that was itself based on the 2008 styles.  I’ve gone through and done my best to match up appropriate water profiles for the additional styles in the 2015 BJCP guidelines.  I now have available a 2008 file and a 2015 file.

To avoid confusion in BJCP updates, I’ve added the year of the style to the names.  This will be especially important for users that want to access both the 2008 and 2015 styles at the same time.

As an example of the title changes:

03B. Oktoberfest Lager (2008) – Acidify: Maybe

would now read

06A. Marzen (2015) – Acidify: Maybe

Here are some good resources to understand the BJCP styles.

This would be your first stop

BJCP Style Guidelines

Then review this document to understand the differences from 2008 to 2015.  I hear there are some more small changes coming in 2019…

2008 Categories vs 2015 Categories

What I will not be covering in this post is a discussion or comparison of accuracy between water calculators.  Currently on various online social platforms and forums, there are spirited debates on the merits of each water addition calculator, especially the mash pH estimation tools.

I also have to give my opinion/recommendation on water here.  If you are relying on a water report you got for your home or using a city water report, I would strongly urge you to stop or at least allow for wide variation.  A neighbor down the street works for the Indianapolis water department and he was telling me that they are constantly changing water sources due to different variables.  Sometimes, multiple changes in a day.

That cemented my decision to just purchase an RO system (See the post on RO System Installation here) and not mess with water reports ever again.  Unless you are measuring your water profile with each batch or you have an extremely consistent water source, I would recommend going RO or purchasing DI or RO water from a store.

I also have to give mega credit to my two sources for the values used in my file.

Importance of Brewing Water

One of the most concise and understandable water articles I’ve ever read was an article written by Thean Leonard Kruger (aka KRUGER_BREWER) on homebrewtalk.

https://www.homebrewtalk.com/importance-brewing-water.html

This article was the inspiration and source of my values for my water profiles.

THE Water book

I also used and would consider a must-own is the book WATER: A Comprehensive Guide for Brewers by John Palmer & Colin Kaminski.  (Brewers Publications).  I’ll reference information from the 1st edition in this post.

All I’ve done is work out how to edit the Beersmith water.bsmx file to accept values without manually entering them one by one.

If you enjoy this post, please consider supporting this site by clicking on and purchasing products through the affiliate links in this post and on this website.

Cost

Free software and your time

Tools/Materials Required

Any text editor will work
Notepad is one that is already packaged with Windows and is about as basic as you can get.
My favorite however is Notepad++

I’ve found it to be one of the best text editors out there and sometimes it is even better to write code in Notepad++ than the original software’s editor.  Best of all, it’s free.

https://notepad-plus-plus.org/

Follow their instructions for installation.

Text File for Insertion

Also needed will be my text file to insert into your existing water.bsmx file.  Further down in the post.

Basics: How to change or create water profiles in Beersmith3

Unfortunately, Beersmith currently doesn’t have an easily accessible water profile tool like the mash, equipment and ingredient profile editors, so you have to go through an actual recipe to get there.  Keep in mind that once you select a profile, it will change your water profile too, so I suggest using a dummy recipe to do your water editing.

From your recipe, go to the water tab and click on “Match a Target Profile”.

Click on “Choose Target Profile”

Then click on “Create New Water”

Now set whatever targets you want, a name, price and inventory if you choose to use those features.

That’s it!

What’s Included in the Download here

In the book Water on pages 156-159, Palmer and Kaminski lay out the water profiles for different categories of beers, but it sill requires the reader to think.  The mineral addition columns don’t spell out the targets in the format typically used by most every single water calculator out there.  Also, the BJCP styles are listed, but again, requires the user to go back and reference this chart when they go to brew a new style of beer.

Kruger’s article on homebrewtalk made an excellent start with extracting and listing maximum and minimum ranges for each mineral value and tying them to a specific BJCP beer style.  He also ordered them in the exact format that the water calculators use.  I’m assuming that each addition doesn’t necessarily have a linear relationship, but what I did was then take the averages of those max/min values to nail down one target number for the water profile.  Once you see the text file, be my guest to move your target values around.

Paraphrasing the data I’ve taken from Water are the notes on page 155 about acidity for each style.

Yes: acid additions are needed to hit target mash pH
Maybe: acid additions are generally not needed, but may be helpful
No: acid additions are generally not needed
If you want more detail, please buy the book.  It should be on your bookshelf anyway.
The way Beersmith handles the information in the file, the notes are pretty much only readable when you select the target water profile.  I did add the acidification recommendation to each profile title, that way the user has some tieback without having to reload the water profile.
Download file

I’ll start this off as a v1, since after I post this, there will inevitably be some errors or a water expert will weigh in and point to a better method.

2018-OCT-23 Updates: I’ve created a new file that contains my best estimations of appropriate water profiles for the 2015 BJCP guildelines.  Notes on my methodology are after the download button for the 2015 file.  I also somehow missed Russian Imperial Stout on the 2008 file, so that has updated as well.

2008

Did not include 20, 21 and 23, all of which should use the base style water profiles
20 Fruit Beer
21 Spice, Herb or Vegetable Beer
23 Specialty Beer

2015

Did not include 28-34, all of which should use the base style water profiles
28 America Wild Ale
29 Fruit Beer
30 Spiced Beer
31 Alternative Fermentables Beer
32 Smoked Beer *Except for 06B. Rauchbier
33 Wood Aged Beer
34 Specialty Beer

New Style source profile

03A. Czech Pale Lager: Used 03B. Czech Premium Pale Lager profile
03C. Czech Amber Lager: Used 07A. Vienna Lager
03D. Czech Dark Lager: Used 08A. Munich Dunkel
04B. Festbier: Used 04A. Munich Helles
05A. German Leichtbier: Used average of German Pils and Munich Helles
07C. Pale Kellerbier: Used 04A. Munich Helles
07C. Amber Kellerbier: Used 07A. Vienna Lager
10B. Dunkles Weissbier: Used 08A. Munich Dunkel
12A. British Golden Ale: Used 18B. American Pale Ale
12B. Australian Sparkling Ale: Used 18A. Blonde Ale
15C. Irish Extra Stout: Used 15B. Irish Stout
16C. Tropical Stout: Used 16A. Sweet Stout
17A. British Strong Ale: Used 17B. Old Ale
22B. American Strong Ale: Used 22C. American Barleywine
22D. Wheatwine: Used 22C. American Barleywine
26A. Trappist Single: Used 05D. German Pils
27A. Gose: Used minimums
27A. Kentucky Common: Used 09D. Irish Red
27A. Lichtenhainer: Used minimums
27A. London Brown Ale: Used 13B. British Brown Ale
27A. Piwo Grodziskie: Used minimums
27A. Pre-Prohibition Lager: Used 02A. German Pils
27A. Pre-Prohibition Porter: Used 13C. English Porter
27A. Sahti: Used minimums

First caution

Do remember, the downloadable file is a text file (.txt).  It is not a complete water.bsmx file.  The purpose of this post is to show the reader how to insert this pre-formatted data into their water.bsmx file.

**DISCLAIMER**

I am not responsible if you make a wrong step and somehow render your Beersmith installation useless.
Please make a backup of your water.bsmx file before editing it, better yet, make a backup of your entire Beersmith installation folder

How File is Constructed

Most readers familiar with programming or XML will be right at home here.  There isn’t anything to difficult to discern.  It’s pretty intuitive.

Header

This contains information that Beersmith reads when opening the file.

You can see in my example the <Size>60</Size> line.  This will be important to edit when you add my text file.  This tells the file how many entries to read.  If you get this wrong, Beersmith will either strip out one of the entries or I don’t know what else it could do.

This also shows the <Data> tag to start the entries.
The CR and LF rectangles are the symbols shown in Notepad++ to indicate end of lines.

Body / Individual Water Profiles

Each water profile begins with <Water> and ends with </Water>

I don’t know what tags are actually required, so I included all in my file.

You can see the CR and LF symbols again.  Also shown are orange arrows, which are the tab symbols.  It appears that Beersmith cleans the unnecessary ones up after opening, reading and saving the water file.

Footer

The footer is also only a few lines and helps to close out the file.

Make sure you don’t have any additional information after the closing data tag </Data>.

Water Profile File Modification (what you are here for!)

Here is the quick method for those that are confident in what they are doing
  1. After making a backup of your water.bsmx file
  2. Without Beersmith running
  3. Open the “water.bsmx” file
  4. Increase the <Size>some number</Size> value in the header by the number of new entries (add 73 for 2008, add 100 for 2015)
  5. Insert my new text data at the end of the last </Water> profile
  6. Save the file
  7. Open Beersmith and using a test recipe, check that all of the profiles have been loaded
Here is the longer detailed set of instructions
  1. After making a backup of your water.bsmx file
  2. Ensure Beersmith is not running
  3. Browse to and open your “water.bsmx” file with your text editor.
    1. Should be located in your Beersmith3 installation folder
  4. Tips for Notepad++
    1. to get easily readable formatted text, Language menu > XML
    2. When editing Input/Output files, I also turn on the View > Show Symbol > Show All Characters
      1. This way, I can see if there are any unintentional non-visible characters that could break the file
  5. Find the <Size>some number</Size> tags at the header of the file and increment them by the number of new entries.  With my version 1, that would be (add 73 for 2008, add 100 for 2015).
    1. Example: If it currently shows <Size>30</Size>, you should change it to <Size>103</Size>
    2. 30 + 73 = 103
  6. Now go to the bottom of the file to the last closing tag for water </Water>
    1. take note of this line number
  7. Insert my entire text file in this spot
  8. Double check the beginning line where you inserted the file and the end to ensure there are no empty lines
  9. Save the file
  10. Open Beersmith and using a test recipe, check that all of the profiles have been loaded
    1. Beersmith does seem to do some cleanup when it opens or closes the file and removes any unnecessary tab characters that were in the file to begin with.

Conclusion

Since I am not a water expert, I hope this helps other non-water experts.  So please don’t ask me any water chemistry questions, I’m just a messenger here.  If you are a water expert, I hope I’ve presented all factual or at least close enough information that will help brewers with this sometimes confusing and intimidating subject.  Regardless of what camp you are in, I would welcome feedback for future improvement.

Like this post?

Please support this site by clicking on and purchasing products through the affiliate links in this post and on this website.

Please also consider sharing on your favorite social hangout or making a small donation to help me purchase something to make another post.