Priceless BiabCalc

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
How about adding a place for entering the name of the beer you're brewing. I always like to print out the info I get from the biab calculator, but then I have to write the name of the beer on it to keep things straight. Not a big deal, but it would be nice.

Edit - I see the post before me suggested the same thing. I'm always a couple months behind...

Should be done today.
 
Got a little distracted working on some other things. There's a lot of stuff going on in the background but I'm off for the next 4 days, planning on releasing a new version and doing some brewing. Will report back when completed.
 
It may seem redundant, but one thing I have found myself wanting lately is a place to enter a recipe name. I do enter everything on BF, but I also print out each priceless calc that I input and a lot of my notes are scribbled on these pages and most often, then input into BF later that day (or the next) when more relaxed...just a thought :)

How about adding a place for entering the name of the beer you're brewing. I always like to print out the info I get from the biab calculator, but then I have to write the name of the beer on it to keep things straight. Not a big deal, but it would be nice.

Edit - I see the post before me suggested the same thing. I'm always a couple months behind...

Alright you two. It's there, kinda. I'm not pushing it to the main page just yet, cuz it's ugly.

http://pricelessbrewing.github.io/BiabCalc/TestingZ

I really need to go through and clean it up and re-work the layout a bit. The left column has just grown too much. Some inputs are going to have to go to the middle column, probably the efficiency inputs since that makes the most sense. The check boxes/radios will be moving to the header (the top). I'll probably have to play with the column spacings as well to get everything to fit a little better. God I hate formatting.

Depending on how productive I am before game of thrones starts, I might get around to adding a text input field for
  1. Brew date
  2. Style
  3. Yeast

and if there's a remaining space in one of the three coloumns, probably the right side, I'll see if I can add a large text input field for note taking.

Also props to @Biscuits for double checking some of my formulas, I had used grain absorption rate instead of hop absorption rate for the dry hop loss. Not usually a big deal, since people rarely measure their packaging losses.

Lastly I'll see if I can find a way to reorganize the print field.
 
Cool! Thanks for taking the time. Sounds like you've got some great things in store for an already awesome calculator. :mug:
 
Depending on the language used I might be able to help on the coding. I've always wanted an option to print everything in a format that can be copied into a text file. Just copying and pasting from the page requires manual effort to rearrange.
 
Depending on the language used I might be able to help on the coding. I've always wanted an option to print everything in a format that can be copied into a text file. Just copying and pasting from the page requires manual effort to rearrange.

js/html/css. Warning, it's a bit sloppy. If you want to play with it, the codes available at or send me a pm.

I don't know anything about css @media printing atm. Would prefer to keep the layout when printed, but change the colors so it prints easier.

Beta Version up.

Warning! Might crash browser and/or lock up computer due to memory leak and possible forever loop. Do not press the autoscale button for more than ~0.030 gravity difference

Thoughts? Concerns? I'll mess with the alignment issues tomorrow morning.

The metric version efficiency and gravity measurents aren't working just yet, I know why, but don't feel like messing with it tonight. Probably tomorrow.

The green button automagically scales the grain bill to hit the target OG based on the estimated mash efficiency. Currently it only works upwards, as I just wanted to see if I could do it. Will clean that function up tomorrow, and make it work both ways.
 
Another update! Man I'm on a roll!

Beta 6

  • Fixed some formatting issues
  • AutoScale Recipe still unstable
  • Saving equipment and process data locally!!
  • Load Equipment and process data from local storage
  • Integrated autosizing notepad!

Let me tell you, getting the local storage took way longer than it should have.

Things saved to local storage.
  • Batch Size
  • Boil time
  • Grain Temp
  • Sparge Temp
  • Mash Thickness
  • Sparge Volume
  • Grain absorption rate
  • Hop Absorption Rate
  • Boil Rate
  • Pot Size
  • Kettle ID
  • Trub Loss (Kettle)
  • Trub Loss (Fermenter)
  • Trub Loss (mashtun) and/or deadspace and/or undrainable volume

To do:

  • Have mash thickness set to zero when sparge volume is entered, and vice versa
  • Stabilize the autoscaling by breaking it into steps, First look for OG difference of 0.25 and adjust in big steps, then .1 and medium steps, then 0.01 and small steps, etc etc. Both up and down.
  • Fix Metric versions mash analysis.
  • Save the units as well as values.
  • If saved data is available, load it when page starts.


Thoughts on the data saving? The intention is to not saving recipe specific data, just process/equipment. As such the following are not being saved, but it would be trivial to add them. If you think it would be of benefit, let me know.

  • Grain bill
  • Hop Bill
  • Dry Hops
  • Mash Temp
 
Another update! Man I'm on a roll!

Beta 6

  • Fixed some formatting issues
  • AutoScale Recipe still unstable
  • Saving equipment and process data locally!!
  • Load Equipment and process data from local storage
  • Integrated autosizing notepad!

Let me tell you, getting the local storage took way longer than it should have.

Things saved to local storage.
  • Batch Size
  • Boil time
  • Grain Temp
  • Sparge Temp
  • Mash Thickness
  • Sparge Volume
  • Grain absorption rate
  • Hop Absorption Rate
  • Boil Rate
  • Pot Size
  • Kettle ID
  • Trub Loss (Kettle)
  • Trub Loss (Fermenter)
  • Trub Loss (mashtun) and/or deadspace and/or undrainable volume

To do:

  • Have mash thickness set to zero when sparge volume is entered, and vice versa
  • Stabilize the autoscaling by breaking it into steps, First look for OG difference of 0.25 and adjust in big steps, then .1 and medium steps, then 0.01 and small steps, etc etc. Both up and down.
  • Fix Metric versions mash analysis.
  • Save the units as well as values.
  • If saved data is available, load it when page starts.


Thoughts on the data saving? The intention is to not saving recipe specific data, just process/equipment. As such the following are not being saved, but it would be trivial to add them. If you think it would be of benefit, let me know.

  • Grain bill
  • Hop Bill
  • Dry Hops
  • Mash Temp
Sounds good, looking forward to playing with it. I assume the local values are stored as cookies. If not, how is it done? And, I expected to see something else on the todo list. :D

Brew on :mug:
 
Sounds good, looking forward to playing with it. I assume the local values are stored as cookies. If not, how is it done? And, I expected to see something else on the todo list. :D

Brew on :mug:
Sssshhh it's a secret. Going to write up a blog post first, and run some charts first before posting on that other thing...:mug:


I was going to use cookies at first, but was having a bunch of issues with it. Probably because I'm an amateur programmer at best. I'd be much happier if I could just tell people to format things for me, and just stick to the math.

It's actually using html5's localstorage functions that are stored locally, like a cookie, and can only save strings, like cookies, and save a name-value pair, like cookies, and persist across sessions and are specific to the domain, like cookies, but totally aren't cookies apparently. :confused:

The only thing that I can tell, because I'm a newb, is that localstorage is more universally supported and has a larger file limit (5MB instead of XX KB).
 
Could you put in a checkbox to remember the diameter of the kettle because my dumb ass can never remember that and I seem to have to measure it again every time.
 
See above. It's part of the saved data in beta 6.

I listed KettleID because that's the variable name, referring to the interior diameter, and not kettle width. My bad!

Please check out the beta 6 link and let me know if it works.
 
Looks way better than last nights beta! Nice and clean looking. The saved defaults is perfect and much appreciated. :mug:
The note pad is a very nice addition!
 
Yet another update! I need a beer! Will replace the main page tomorrow and make a blog post on all the new features, and probably make each variable name a popwindow with a full description and a link for further reading.

Beta 7

  • Fixed some formatting issues
  • AutoScale Recipe should be stable now. I did some testing and didn't have any issues. I still don't recommend clicking it if you have any critical things going on (unsaved homework for instance ;) )
  • Saving equipment, process data, and units automagically.
  • Load Equipment, process data, and units from local storage
  • Integrated autosizing notepad!
  • Have mash thickness set to zero when sparge volume is entered, and vice versa. Should help clarify some things for users
  • Stabilized the autoscaling by breaking it into steps, First look for OG difference of 0.25 and adjust in big steps, then .1 and medium steps, then 0.01 and small steps, etc etc. Both up and down, should be working now.
  • If saved data is available, load it when page starts.


Things saved to local storage. Found out if I save units, I have to save everything. Otherwise when you load the saved data, the recipe variables might be in the wrong units and everything gets weird.
  • All Input variables
  • Unit Selection

To do:

  • Fix Metric versions mash analysis.
  • Recipe formulation
  • Collapsible sections.
  • Popup windows for clickable variables


To do (far out man)

  • Auto function to analyze measured preboil info, and adjust boil time and/or suggest DME amount to hit intended OG.
  • Autofunction to take the above info, and adjust the hop additions automatically based on the new batch size.
  • Collapsible sections.
  • Popup windows for clickable variables



Do you think I should have it automatically save as you enter new values, or just when clicked?



Thinking about a name change. It's grown quite a bit, and does a ton more than any other biab calculator and is extremely generalized. Any suggestions?


BrewCalc, BrewWorks, BeerCalc, MashCalc,?



Wooops found a bug!

The autoloading of the saved localstorage data is misbehaving. It's loading the saved data everytime something changes, basically making it completely unresponsive. Fixed that now. Going to do more testing then move to beta8. Feel free to ignore beta7, as it's pretty broken if you have ever pressed save data.
 
Been quiet here. Must be a good sign! I know the calc is running great for me. Thanks again for such a great tool :mug:
 
Used the priceless calculator for my brew day today. The numbers were spot on, looking forward to using it for my future batches.
 
Thanks guys. Honestly I've just been busy. Had some life changes pop up around july, and spent a few months moving around before coming back to SE michigan.

I stilll have the same "to-do" lists but I didnt come up with a easy way to "share" recipes/variables which I should be able to impliment the next time I have some free time to play with the code. Recipe formulas are easy and completed in excel, I just don't know when I'll have time to dig into the html enough to be happy with a layout and interface that makes sense and is easy to use. BeerXML support for importing will likely happen before that.
 
Small update coming tonight.

Removing Grain moisture content from gravity formulas in order to compare equally to beersmith/brewers friend etc. I'm sick of trying to educate and show them that these formulas are more accurate, and they're really getting 77% instead of 80% mash efficiency.

Added text input for grain potential, don't know why I had forgotten about this one.
 
Small update coming tonight.

Removing Grain moisture content from gravity formulas in order to compare equally to beersmith/brewers friend etc. I'm sick of trying to educate and show them that these formulas are more accurate, and they're really getting 77% instead of 80% mash efficiency.

Added text input for grain potential, don't know why I had forgotten about this one.

Well shiat! Is this update going to be noticeable to us and our efficiency's that we're used to seeing using the priceless calc?
 
I was on the fence about it, but I'll make it a toggleable option for "simple Efficiency and advanced efficiency", but keeping simple as the default selection. Simple will match beersmith exactly, advanced will match the current efficiency formulas being used.
 
I was on the fence about it, but I'll make it a toggleable option for "simple Efficiency and advanced efficiency", but keeping simple as the default selection. Simple will match beersmith exactly, advanced will match the current efficiency formulas being used.

Elegant solution. I'll stick with the advanced, thank you.

Brew on :mug:
 
Medium sized update, mostly background stuff. Implimented the simple efficiency formulas as default,

Testing Page

If you have a few minutes, go through the testing page above and let me know if you have any issues, comments, or suggestions. I'll be working on it a bit more tomorrow or the next day before pushing the update to the main page.

  1. Implimented the simple efficiency formulas to match beersmith/BF/Brewtarget etc
  2. Added an input text box for grain potential
  3. Input cell box for yeast pitch rate
  4. Output variable for yeast cells needed, and estimated starter size
  5. rearranged some input variables a bit
  6. made measured efficiency and gravities hidden by default
  7. Implimented a manual brewhouse efficiency cell, that behaves the same as beersmith and overrides the efficiency estimations (and is used for the new estimated gravities if manual brewhouse % != estimated brewhouse
  8. Updated the save/load/export/import dataset to save ALL input variables, including name, date, style, og, and measurements
  9. Changed import/export behavior. Datastring now fills the data textbox automatically, no popup window.
  10. Import will fail if textstring is too short.
  11. Import will fail if it's matching current values
  12. Import will change to indicate completion
  13. Loading will indicate completion
  14. Created Standalone calculator for Thermal expansion
  15. Displayed previously private estimator for DMS concentration using formulas from MilkTheFunks Mark Hammond member
  16. Created Placeholder for standalone efficiency predictor, still private
  17. Created Simple and Advanced layouts (really proud of this one)

Didn't get around to creating a toggle for the efficiency formula, but I'll put it in tomorrow after work. Should be quick, since I just have to make two radios (or a single function that toggles, like the simple/advanced layout button). I'll think about that one some more.

To do Nearby future:

  • Add a reset button in case of dataset failure (sometimes loading/importing doesn't work right)
  • Go through all unit changing, some things aren't changing atm for metric, but I'm lazy
  • Integrate standalone calculators into main calculator by hiding the Efficiency Section, and replacing it with a new section.
  • Standalone Boil off rate calculator, linking to the "visual guide to boil off for homebrewer blog page"

Distant future todo
  • Impliment a mash temp loss cell, and use it for step mashes
  • Figure out how to use DS3 to produce graphs for mash temp steps (like beersmith does)
 
How do you all determine what to enter for the loss categories? Kettle, packaging, and mashtun.

I filter out the trub so I don't waste space in my carboy to maximize beer volume if that matters.
 
How do you all determine what to enter for the loss categories? Kettle, packaging, and mashtun.

I filter out the trub so I don't waste space in my carboy to maximize beer volume if that matters.

Volume losses are determined by measuring the volume left behind in a vessel after you transfer most of the material to a different vessel(s). Specifically:
Mash Tun Loss is the volume left in the bottom of the mash tun after transferring the wort to the boil kettle.
Kettle Loss is the volume left in the bottom of the boil kettle after you transfer the wort to the fermenter.
Packaging Loss is the volume of beer left in the fermenter (plus any spilled volume) after kegging or bottling the beer.​
Another way to look at it is:
Mash Tun Loss = Mash Volume - Wort Volume in Boil Kettle
Kettle Loss = Wort Volume in Boil Kettle - Wort Volume in Fermenter
Packaging Loss = Beer Volume in Fermenter - Beer Volume in Kegs/Bottles​
You must determine the losses specific to your system, and then input them to the calculator. Volumes include any suspended solids, or solids that have settled out on the bottom of a vessel.

Brew on :mug:
 
On a related note, as a BIAB calculator, really there should be no mash tun loss, right? Because there is no mash tun in BIAB??

Is that value in there for those who do a modified BIAB?
 
On a related note, as a BIAB calculator, really there should be no mash tun loss, right? Because there is no mash tun in BIAB??

Is that value in there for those who do a modified BIAB?

Correct, for a classical BIAB, where you mash in the BK, there is no mash tun loss.

At the risk of stepping on @pricelessbrewing 's toes, the calculator is NOT just a BIAB calculator any more. It has evolved into a generalized calculator well suited for any no-sparge or single batch sparge process, and can even be useful for fly sparge or multiple batch sparge (but doesn't really cover those completely.) It started out as a strict BIAB calculator, and the name hasn't been changed to cover its expanded capabilities.

Brew on :mug:
 
On a related note, as a BIAB calculator, really there should be no mash tun loss, right? Because there is no mash tun in BIAB??

Is that value in there for those who do a modified BIAB?

There's still a mashtun, it's just not a separate piece of equipment, it's your kettle. Many users (and brewers) do BIAB in a separate mashtun, and call it miab (mash in a bag).

As @doug293cz has said, it's generalized to support almost any type of brewing process. Thanks for the assistance doug, my works blocked HBT now so I'm not always able to reply within 24 hours anymore :/

I've thought about a name change, but don't know what to change it to. If I ever get around to adding recipe formulation, beerxml support, or get another contributor on the github page, I'll probably consider renaming it more permanently.
 
There's still a mashtun, it's just not a separate piece of equipment, it's your kettle.

Got it. So the key, for traditional BIAB, would be to enter a volume in only kettle loss OR mash tun loss, but not both.

In terms of the overall calculator, I just wanted to say, as a total noob, I've found it great, even before doing any actual brewing, to allow me to play with numbers and see what various inputs do to the output. It's helped cement concepts in my noggin in a very user-friendly way. Thanks for making the tool.
 
Got it. So the key, for traditional BIAB, would be to enter a volume in only kettle loss OR mash tun loss, but not both.

In terms of the overall calculator, I just wanted to say, as a total noob, I've found it great, even before doing any actual brewing, to allow me to play with numbers and see what various inputs do to the output. It's helped cement concepts in my noggin in a very user-friendly way. Thanks for making the tool.

Glad to hear. Thanks for using it :mug:
 
https://pricelessbrewing.github.io/BiabCalc/#EfficiencyEvaluation

Another update!

New features
  • Using new lauter efficiency formula
  • Automatic user generated efficiency curves
  • Efficiency Feedback calculator
  • Simple Layout (volumes/temps only)
  • Advanced Layout (volumes, temps, efficiency, gravities, etc)
  • Yeast Cell calculations, and approximate starter size (Advanced only)
  • Donation button
  • Some cleanup

Near future to-do
  • Considering changing layout drastically to get ready for recipe formulation, I would move to a table setup that lists each Brewday step together, witht heir volumes, temps, gravities readings etc.
  • Standalone pot size boil off estimator
  • mashTemp Graph after recipe formulation basis is created
  • Dynamic Efficiency feedback
  • Add metric support to efficiency feedback page


Known Issues
  • Unit conversions appear to have broken at some point, will need to trace the bug.


This has been a relatively big process, as I had to learn several programming concepts and libraries that were new to me. Super happy with the current result, but there’s some format and layout changes planned.

The initial concept for this project was that I had been using Braukaisers formulas for batchsparge lauter efficiency simulations, which @Doug293cz first laid out. It served me well, but I knew there had to be a faster and simpler way to calculate the lauter efficiency without converting to extract weight, plato, and sg and back and forth multiple times. The result is a new derivation, as far as I know, for estimating lauter efficiency for batch sparge, and no sparge, mashing that's is much simpler to calculate, and easy to comprehend while getting to the same numbers.

There were two major breakthroughs in deriving this formulation:

1) Using run off volume divided by mash (not water) volume to calculate lauter efficiency, and calculating the mash volume from the predicted mash sg and densities. Before it required calculating the extract weight, which was a much more convulated method requiring several unit conversions.

2) Using Grain potential to get mash sg, and densities instead of using grain yield and converting units four times for each infusion step.

I'll clean up all the math and post a blog post soon laying out the derivation, but it's live now!

There are actually two calculators on this page;

First is the Efficiency Evaluation calculator in the center blue column, and the top right Feedback section. You enter all of the necessary measurements, and it will automatically calculate your Conversion, lauter, sparge, mash, and brewhouse efficiencies. After those are calculated, it compares to what my formulas would predict, and assigns a score to it. Scores greater than 10 should be viewed with skepticism, as it's greater than a perfect batch sparge, and may indicate a measurement error. I can see this getting used daily given the frequency of efficiency troubleshooting posts on various forums.

The Second is the Efficiency Estimation graph.

To-do: Create dynamic feedback suggestions in the textarea in the bottom right when applicable. Example: "You're getting ~XX% Conversion, which is a little low, suggestions are to mill finer, check your mash pH, and ensure adequate dough in procedure."

There are some other updates in the background, like the thermal expansion calculator, and working to get ready for recipe formulation, and other standalone calculators (refractometer, stuff like that).

I've also decided to go forward with a donation button. My mash software will always remain free to use, with no subscriptions or payment necessary.
 
Ugh another small jump for those beer nerds interested enough (Looking at you doug and chunkwagon). You can approximate the lauter efficiency curves easily with the following formulas.

Did some quick testing, and the difference between this formula and the correct way is <0.003% according to the what-if table I just ran. Close enough, as your malster spec sheets only indicate integer potentials, and a 0.5 potential difference will cause a greater variance.

LauterFirstRunOffEfficiency ~= RunOffVolume / MashWortVolume

MashWortVolume ~= (0.0016005465398018200 * GrainWeight*GrainPotential) + WaterStrikeVolume

SecondrunningsLauter ~= SecondRunOffVolume / (MashWortVolume + SecondRunOffVolume)

TotalLauter = LauterFirstRunOffEfficiency + SecondrunningsLauter + etc etc

add terms for each infusion step.

MashEfficiency = TotalLauter * Conversion

Brewhouse = MashEfficiency *PostboilVolumeChilled/VolumeIntoFermenter

Or alternatively

Brewhouse = MashEfficiency *(1-(KettleLoss/PostBoilVolumeChilled))
 
I've been 'on call' for the past week and time spent checking out the latest updates has been really short. I look forward to digging in some hopefully this weekend! I did really like the simple calc from what time I did have last night.
 
Do you guys change the absorption rate for whole leaf hops vs. pellets? If so, how many gal/oz have you found to be accurate for whole leaf?
 
Back
Top