Tag Archives: IBU

Predicting Wort Temperature After Flameout

Abstract
In a previous post, I described a method for estimating IBUs that are produced in hot wort after flameout.  This method relies on both (a) relative utilization as a function of temperature, described elsewhere, and (b) a function that describes the decrease in wort temperature after flameout (but before “forced cooling” with a wort chiller).  In this blog post, I describe temperature data collected under a variety of conditions and the resulting formula for predicting the temperature of wort as it naturally cools after flameout.  The data suggest that this rate of natural cooling is primarily influenced by (a) the release of steam, which is in turn influenced by the wort volume, surface area of wort exposed to air, and size of the opening in the kettle through which steam can escape, and (b) radiation of heat from the kettle.  Other factors, such as ambient temperature, are of much lesser significance.  The resulting formula, for homebrew-scale batch sizes, is T = 53.70 × exp(-b × t) + 319.55, where b = (0.0002925 × effectiveArea / volume) + .00538 and effectiveArea = (surfaceArea × openingArea)0.5.  The parameter T is temperature (in degrees Kelvin), t is time after flameout (in minutes), b is the rate constant that describes how quickly the temperature decreases, effectiveArea is the “effective” area through which steam ventilates, surfaceArea is the surface area of wort exposed to air (in square centimeters), openingArea is the area of the opening in the kettle (in square centimeters), and volume is the wort volume (in litres).

1. Motivation
The motivation for the work described here was to predict the temperature decrease of wort after flameout, in order to facilitate computation of the mIBU method of predicting IBUs for homebrew-scale batch sizes.

If one thinks about the various factors that might influence this temperature decrease, many things may come to mind:

  1. The wort volume, with larger volumes potentially cooling more slowly,
  2. The size or surface area of the kettle (which may be much larger than the wort volume), with larger kettles potentially radiating more heat than smaller kettles,
  3. The size of the opening in the kettle (with potentially slower cooling for a smaller opening that traps more heat),
  4. The ambient or room temperature (with wort potentially cooling faster if the room temperature is 10°C (50°F) as opposed to 30°C (86°F)),
  5. The relative humidity (with wort potentially cooling faster in drier conditions),
  6. The specific gravity of the wort (with higher specific gravities potentially cooling differently from water),
  7. The removal of the kettle from the heat source (with potentially slower cooling if the kettle remains on a hot burner),
  8. The kettle material (with materials such as aluminum potentially cooling faster than materials such as stainless steel), and
  9. Whether the kettle is insulated or not (with potentially slower cooling for an insulated kettle).

In order to investigate these possibilities, I tested these factors with either wort or (for simplicity) water, plotted the results, and determined which factors have the greatest impact on the rate of temperature change.  With this information, I then constructed a formula for predicting wort temperature after flameout as a function of time.  This function can be used directly in the mIBU method.

2. Data
I measured the decrease in temperature after boiling for 33 conditions in order to test the various factors listed above; these conditions are listed in Table 1 at the very bottom of this post.  (I did not control for ambient temperature and relative humidity separately; generally, a lower ambient temperature was correlated with a higher relative humidity.)  I measured the temperature of wort or water after flameout in 22 conditions with the kettle uncovered, and additional 11 conditions with the kettle partially or fully covered.   I used wort in 5 cases and water in 28 cases.  I used a Thermapen Mk4 for measuring temperature in all cases except condition AG, in which I used a TelTru analog thermometer with a 30 cm (12″) probe.  I took measurements at 1-minute intervals for the first 15 or 20 minutes after flameout. (Measurements were taken for only 15 minutes for three conditions: T, U, and V.)  For the conditions using water, I measured volume to the nearest 30 ml (1 ounce) using a “Legacy Pro” 4000-ml (128-oz) graduated pitcher (which looks identical to the US Plastics Corp. Accu-Pour™ PP Measuring Pitcher),  recorded the temperature of each addition, and normalized from this volume and temperature to the volume at boiling using Equation 3 in “ITS-90 Density of Water Formulation for Volumetric Standards Calibration” (Jones and Harris, Journal of Research of the National Institute of Standards and Technology, vol 97, no. 3, pp. 335-340 (1992)).  For the conditions using wort, I estimated the volume at close to boiling using a measuring stick or the difference between pre- and post-boil specific gravity.  Twelve of the more interesting conditions are plotted in Figure 1, with time on the horizontal axis and temperature (in degrees Celsius) on the vertical axis.

I will mostly use metric units throughout this blog post in order to simplify the presentation, with apologies to readers in the United States.  The final formula uses degrees Kelvin.

tempDecayExp-Fig1-rawData

Figure 1. Temperature (in degrees Celsius) as a function of time (in minutes) for twelve of the 33 conditions.  The legend for each condition specifies the volume of liquid (water or wort, in litres), the amount by which the kettle was covered (in percent; 0% = uncovered and 100% = completely covered), the size of the kettle (in litres), and any other details about the condition, such as ambient temperature or insulation.  Only one of the conditions in this plot used wort (specific gravity 1.052); the other cases here used water.

3. Parameter Estimation
3.1 Exponential Decay

It can be seen that all of the data in Figure 1 can have a good fit to a function with exponential decay.  Those conditions not plotted in Figure 1 also show a similar goodness of fit to an exponential decay function.  (For many of the cases, a straight line also seems to be a good fit, but the exponential decay function can model nearly-straight lines as well as curved lines of the type seen here.)  An exponential decay function is of the general form a × exp(-b×t) + c, where t is (in this case) time, a, b, and c are parameters that describe the shape of the function, and exp(x) indicates the constant “e” to the power of x, or 2.71828x.  In this case, the parameter b is called the rate constant, and it describes how quickly the function (or temperature) decreases.  (I like using fooplot to visualize different functions and parameter values; one can enter something like “54*exp(-0.03x)+46” on this page to see a representative exponential decay function, setting the graph lower limits to 0, the x-axis upper limit to 50, and the y-axis upper limit to 100.)  The liquid was at boiling in all cases at time 0, with an average measured temperature over all conditions of 100.1°C.  (The expected boiling point of water at my elevation (76 meters above sea level) is 99.7°C.  However, the boiling point of wort is higher than that of water, so the average boiling point over all conditions (with 5 of the 33 cases using wort) was higher than 99.7°C.  The difference of less than 0.4°C is within the  specified accuracy of my Thermapen, which is ±0.4°C.)    If t = 0, then exp(-b×t) is 1 for any value of b, and so a + c must equal 100.1.

In order to simplify the parameter estimation, I searched over conditions A through V (those conditions in which the kettle is uncovered) minimizing the root-mean-square (RMS) error to find the best value of b in each case and the values of a and c that were the best over all conditions.  (In other words, a and c were optimized to have the same value over all conditions, whereas b was optimized per condition.)  If the total RMS error over all conditions is small with constant values of a and c, then the different shapes of each curve can be described well with a single parameter, b.

The search for a and c yielded a=53.70°C and c=46.40°C with an overall RMS error of 0.31°C.   The maximum RMS error was 0.64°C for condition O.  The small RMS error over all conditions indicates that we can, in fact, describe the different rates of temperature decay of these conditions with a single parameter, the rate constant b.  The question then becomes whether we can predict b from the various factors in each condition, and if so, if certain factors are more important than others in predicting b.  (It’s also worth noting that the optimal value of c in this case is not room temperature.  Presumably, if time were measured in hours instead of minutes, the values of a and c would have turned out differently, with c at around room temperature.)

3.2 Predicting the Rate Constant for Uncovered Kettles
Figure 2 plots the values of b that minimize the RMS error in each uncovered-kettle condition with a=53.70°C and c=46.40°C.  The horizontal axis is the volume of wort or water, and the vertical axis is the value of b.  A few clear patterns emerge: the data obtained from a single kettle are grouped in a curved line with negative slope (for the two cases where there are multiple data points per kettle), and these curves (representing different kettles) are separated from each other by possibly constant scaling factors.  The curved line with negative slope for the 38-litre kettle looks like a function of the form 1/x, where x in this case is volume.  This suggests that b can be approximated as a function of scaling/volume, where scaling is some (still unknown) property of the kettle and volume is the wort volume (in litres).

tempDecayExp-Fig2-rateConstVsVolume

Figure 2. Temperature-decay rate constants for all conditions with uncovered kettles, plotted as a function of wort volume.  Each group (e.g. black squares or red diamonds) is for a different kettle (and kettle diameter).

After considering various possibilities for the factor called scaling, the area of the kettle opening (πr2), which equals the surface area of wort exposed to the air, shows a good fit to this set of data.  The black “×” marks in Figure 3 plot the values of area/volume on the horizontal axis for the uncovered kettle (where area is the area of the kettle opening (or πr2, where r is the radius of the kettle) in square centimeters, and volume is the volume of liquid, in litres) and values of the rate constant b on the vertical axis.  The approximately straight line of black × marks in Figure 3 is interesting.  It implies that the rate of temperature decay, represented by the parameter b, can be predicted quite well from only the area of the kettle opening and the volume of liquid.  The value of b when the area is zero implies a rate of cooling caused by heat radiated from the kettle (with an entirely closed system), and the slope of the line implies faster cooling as more steam escapes the kettle with greater wort surface area.  In other words, if b is modeled as a straight line of the form b = slope × (area / volume) + offset, where slope is the slope of the line and offset is the value when area = 0, then offset represents the temperature decay due to heat radiated from the kettle, and slope represents the temperature decay caused by the loss of heat in the steam.  In this case, a good fit can be seen for the line b = 0.0002925 × (area / volume) + 0.00538.

tempDecayExp-Fig3-rateConstVsArea

Figure 3. Temperature-decay rate constant as a function of (kettle opening area) divided by volume, for uncovered kettles. In this case, the kettle opening area equals the area of wort exposed to air.

3.3 The Rate Constant for (Partially) Covered Kettles
I then plotted the values of b for those cases in which the kettle is partially or completely covered, as shown in Figure 4 (with much lower limits on the X and Y axes of this graph).  The cases in which the kettle is completely covered cluster somewhat around the predicted value of b when the area is zero.  Larger kettles and volumes have smaller values of b, implying less radiated heat loss from larger kettles and/or volumes.  Conditions Z and AG are nearly identical except for the size of the kettle; Z used 15.4 litres of water in a covered 18.9 litre kettle, and AG used 15.6 litres of water in a covered 37.9 litre kettle.  The temperature after 20 minutes was very close in both conditions, and the estimated value of b is nearly the same in both cases (0.00371 vs 0.00373).  Therefore, it seems that the size of the kettle has very little impact on the rate of temperature decay through radiated heat, but the volume of liquid does have an impact on radiated heat.

Again looking at Figure 4, the conditions in which the kettle is only partially covered deviate from the predicted line, regardless of whether area (the horizontal axis) is (a) the exposed wort surface area (blue circles) or (b) the kettle opening area (green squares).  The predicted line lies somewhere between these two extremes.  This suggests that if the kettle is partially covered, the amount of steam produced is (still) roughly proportional to the surface area of the wort exposed to air (i.e. the area of the fully-open kettle), but that this steam is not able to escape quite as quickly, leaving more heat trapped in the kettle.  (For an uncovered kettle, the area of the opening in the kettle and the surface area of wort exposed to air are the same.)

One possibility is that the rate of heat loss is proportional to the geometric average of the wort surface area and the opening area.  We can call this the “effective area,” i.e. effectiveArea = (surfaceArea × openingArea)0.5, where surfaceArea is the wort surface area, openingArea is the area of the kettle opening, and (x)0.5 indicates the square root of x.  In this case, when the area of the opening is zero (for a covered kettle), the effective area is also zero.  When the area of the opening equals the surface area of the wort, the effective area is the same as the surface area of the wort.  When we plot effectiveArea / volume on the horizontal axis and b on the vertical axis in Figure 5, we observe that the data from the partially-covered conditions are much closer to the straight line, allowing us to predict temperature decay fairly well with a small number of parameters.

tempDecayExp-Fig4-rateConstCoveredKettle

Figure 4. Rate constants for uncovered kettles (black “×” marks), fully-covered kettles with area = 0 (red triangles), partially-covered kettles with area = area of kettle opening (green squares), and (the same) partially-covered kettles with area = wort surface area (blue circles). The line with the best fit to uncovered-kettle data is also plotted.

tempDecayExp-Fig5-rateConstCoveredKettleEffectiveArea

Figure 5. Rate constants for uncovered kettles (black “×” marks), partially covered kettles (dark red diamonds), and fully covered kettles (light red triangles), plotted as a function of “effective area”. Effective area is the geometric mean of the exposed wort surface area and kettle opening area.

4. Model Accuracy
4.1 Looking at Factors Potentially Influencing Temperature
In the model we have developed, we can predict temperature after flameout using three parameters: wort volume, kettle diameter (to compute exposed wort surface area), and kettle opening diameter (to compute the area of the opening).  Other factors, such as ambient temperature and specific gravity, have a fairly small deviation from the predicted line, indicating that these factors have only a minor impact on the decrease in temperature.  For example, in Figures 3, 4, and 5 there are two rate constants that have the same area/volume value of 46.9 cm2.  (This is most easily seen in the two “×” marks at area/volume=46.9 on the right-hand side of Figure 4.)  The one just below the predicted line, with a value of 0.0190, was from Condition C with water from an uncovered 19-litre kettle and an ambient temperature of 12°C (53°F).   This case has a predicted temperature of 86.9°C after 15 minutes, which is very close to the measured temperature of 86.8°C.  The one even lower than the predicted line, with a value of 0.0176, was obtained under the same conditions except with an ambient temperature of 33°C (91°F), Condition J.  This case has the same predicted temperature of 86.9°C, but a measured temperature of 87.8°C after 15 minutes.  From this, we can conclude that ambient temperature does have an effect on the rate of temperature decrease, with warmer ambient temperatures yielding a slower decrease in temperature.  However, this effect is minor, with a large difference in ambient temperatures (21°C (38°F)) yielding a small difference of 1.0°C (1.8°F) after 15 minutes.  (I also learned that brewing in very hot climates would not be very pleasant for me.  I respect anyone with the dedication to brew when the temperature is above 30°C (86°F).)

Over all conditions, the average absolute difference in temperature at 15 minutes between measured and modeled temperatures is 0.8°C.  The largest difference at 15 minutes, 1.9°C, is for Condition AE, which has a large volume in an entirely closed kettle.

4.2 Factors Potentially Influencing Temperature
In general, we can look at the difference in measured temperatures at 15 minutes between two conditions when only one factor is different between the conditions.  A factor with a larger difference can be considered more important in influencing temperature decay than a factor with a smaller difference.  (The value of 15 minutes is somewhat arbitrary but I think not unreasonable.  It is the largest time point for which I have measured data in all conditions.)  One issue with this metric is that smaller volumes will generally have greater temperature differences over time than larger volumes.  In addition, the diameter of the kettle and area of the kettle opening will have an impact on the magnitude of the measured temperatures.  In order to normalize for these factors, one could look at the difference divided by the temperature of one of the conditions, but this relative error is less intuitive.  I’m not aware of an intuitive error metric that addresses the dependence on volume and kettle characteristics, so I’ll simply report the measurement difference as well as the volume.  Unless otherwise indicated, the kettle diameter and area of the kettle opening are the same within each comparison.

As discussed in the previous section, a high ambient temperature can have a measured temperature difference after 15 minutes of 1.0°C at 15.6 litres.  Removing the kettle from the hot metal burner yields a measured difference of -0.8°C at 25 litres.  A stainless steel kettle (instead of an aluminum kettle) yields a measured difference of 1.0°C at 7.8 litres.  The enamel kettle yields a measured difference of -3.3°C at 11.7 litres, but the two kettles have different exposed surface areas (75.2 cm2 for enamel, 60.6 cm2 for aluminum), and so this difference may appear larger than it is, even after accounting for volume.  (The predicted difference in temperature for the enamel kettle is -1.4°C).  An insulated kettle yields a measured difference of 1.0°C at 15.6 litres.  (The insulation in this case was a combination of closed-cell foam insulation and mylar wrap, around and over the aluminum kettle.)   As noted earlier for covered kettles, larger volumes have slower temperature decay than smaller volumes, with a measured difference of 0.7°C for 31.2 litres compared with 15.6 litres.

To compare the decrease in temperature of wort with water, we can compare (a) the temperature of the 24.6-litre wort case (R) with the 27.3-litre water case (M), with a difference in measured temperatures of -0.3°C; (b) the temperature of the same 24.6-litre wort case (R) with the 23.4-litre water case (D), with a difference of 1.1°C; (c) the temperature of the 29.1-litre wort case (T) with the 31.2-litre water case (E), with a difference of 0.2°C; and (d) the temperature of the 28.9-litre wort case (U) with the 31.2-litre water case (E), with a difference of 0.8°C.  In short, Condition R has no real difference with the temperature of water, while conditions T and U have a small positive difference that is contrary to the expected small negative difference based on different volumes.  The difference between measured and predicted temperatures for conditions R, T, U, and V are 1.5°C, 0.6°C, 1.3°C, and 0.0°C, respectively.  Overall there does not seem to be a large difference between the temperature decrease of wort and of water, although the model may predict slightly lower temperatures than are observed.

4.3 Incorporating Additional Factors into the Model
Because the factors described above seem to have at least some impact on the rate of temperature decrease, should we be modeling them in the temperature-decrease formula?  The answer to that question depends on our purpose (predicting IBUs) and our tolerance for error.  If we have a scenario with fairly typical home-brewing conditions, we can look at how a temperature difference of 3°C after 15 minutes impacts IBUs predicted with the mIBU method.  A difference of 3°C at 15 minutes is somewhat arbitrary, and is 1.5 times larger than the largest observed difference in these 33 conditions, but might be observed with a combination of factors different from those factors used to develop the formula.  Given a post-boil volume of 19.9 litres (5.25 gallons) in an uncovered kettle with diameter 36.8 cm (14.5 inches), a single addition of 28.35 g (1.0 oz) of 10% AA hops at flameout, and a 15-minute hop stand, the predicted temperature after 15 minutes with the formula developed in this blog post is 85.55°C (186.0°F), and we predict 9.92 IBUs using the mIBU method.  If we change the rate constant from 0.02106 to 0.01614 so that the temperature after 15 minutes is 88.55°C (191.4°F), or 3°C warmer, we then predict 10.87 IBUs, or a difference of 0.95 IBUs. If the temperature decreases by 3°C using a rate constant of 0.02638, we predict 9.06 IBUs, or a difference of -0.86 IBUs.  If, instead of a 15-minute whirlpool, we use the same rate constants with a 45-minute whirlpool, we predict 12.48 IBUs when the temperature is 85.55°C after 15 minutes, 14.31 IBUs when the temperature is 88.55°C after 15 minutes, and 10.97 IBUs when the temperature is 83.55°C after 15 minutes, or IBU differences of 1.83 and -1.51 in a 45-minute whirlpool.

Can we tolerate a difference of about 1 to 2 IBUs if our temperature decay model is off by 3°C after 15 minutes?   The short answer to that question is “yes,” for two reasons.  First, it has been reported that people can’t detect a difference less than 5 IBUs (e.g. J. Palmer, How to Brew, p. 56).  So a prediction error of even 2 IBUs is well below our ability to detect with our taste buds.  Second, there are a wide variety of other factors that make IBU prediction so inexact that getting anywhere close to a measured IBU value is cause for celebration.  For example, things that are not accounted for in the Tinseth or mIBU formulas are: (a) the inherent variability (up to 15 to 20%) in alpha acid levels within a single bale of hops (M. Verzele, and D. De Keukeleire, Chemistry and Analysis of Hop and Beer Bitter Acids, p. 331), (b) the hopping rate, which can have a significant impact on IBUs, (c) wort pH, which can affect IBU losses, (d) age of the beer, (e) the effect of pellets instead of hop cones, and (f) the age and storage conditions of the hops.  Any of these factors alone can yield a difference greater than 2 IBUs, and in combination the net effect is a high degree of uncertainty in predicted IBU values.

In summary, factors such as ambient temperature, kettle size, insulation, kettle material, etc. do have an impact on the rate of temperature decay.  However, for our purposes, it does not seem necessary to extend the formula to specifically account for these factors.

5. Summary and Conclusion
The final formula for predicting wort temperature as a function of time after flameout, for homebrew-scale batch sizes, is

T = 53.7 × exp(-b × t) + 319.55
b = (0.0002925 × effectiveArea / volume) + 0.00538
effectiveArea = (surfaceArea × openingArea)0.5

where T is temperature (in degrees Kelvin), t is time after flameout (in minutes), b is the rate constant that describes how quickly the temperature decays, effectiveArea is the “effective” area through which steam ventilates, surfaceArea is the surface area of wort exposed to air (in square centimeters), openingArea is the area of the opening in the kettle (in square centimeters), and volume is the wort volume (in litres).  The area values can be easily determined from the diameters of the kettle and the kettle opening.

It is not clear how well this formula will scale up to commercial-size batches.  If anyone who has such a system is willing to provide me with the necessary parameter values and temperature measurements, I’ll be happy to evaluate the formulas and adjust as necessary.  To contact me for this or any other reason, send an e-mail to the name associated with this blog (no spaces or other punctuation) at yahοο.

Appendix: Specifics of Each Condition
This section lists some details about each condition in table form.  The volume is either of water or wort; if specific gravity is not specified, water was used.  For partially-covered kettles, I constructed cardboard and aluminum-foil “lids” that had openings of 25%, 50%, or 75% of the area of the open kettle.  The kettle size is noted using approximate capacity, in litres.  Unless otherwise noted, the ambient temperature was approximately 13°C (55°F), and the kettle material was aluminum.

Condition volume (litres)
kettle size (litres)
wort surface area (cm2)
percent of kettle covered other notes
measured temp. at 15 minutes (°C)
predicted temp. at 15 minutes (°C)
A
7.8 18.9 710.33 0% 78.4 79.6
B 15.6 37.9 1083.80 0% 81.8 82.9
C 15.6 18.9 710.33 0% 86.8 86.9
D 23.4 37.9 1083.80 0% 87.6 86.8
E 31.2 37.9 1083.80 0% 88.9 88.9
F 7.8 11.4 457.30 0% stainless steel kettle 84.2 84.7
G 7.8 11.4 500.39 0% 83.2 83.7
H 7.8 37.9 1083.80 0% 73.0 73.3
I 15.6 18.9 710.33 0% ambient temp. 27°C 87.8 86.9
J 15.6 18.9 710.33 0% ambient temp. 33°C 87.8 86.9
K 3.9 37.9 1083.80 0% 61.7 61.0
L 11.7 37.9 1083.80 0% 78.6 79.4
M 27.3 37.9 1083.80 0% 89.0 88.0
N 11.7 18.9 710.33 0% 83.9 84.4
O 11.7 18.9 881.21 0% enamel kettle 80.6 82.0
P 19.5 37.9 1083.80 0% 85.2 85.2
Q 15.6 37.9 1083.80 0% insulated kettle 82.8 82.9
R 24.6 37.9 1083.80 0%  wort (SG=1.052) 88.7 87.2
S 25.4 37.9 1083.80 0%  wort (SG=1.052), kettle removed from heat source 87.8 87.5
T 29.1 37.9 1083.80 0%  wort (SG=1.042), loose cones 89.1 88.5
U 28.9 37.9 1083.80 0%  wort (SG=1.042), pellets 89.7 88.4
V 4.6 18.9 710.33 0% wort (SG=1.065), mIBU Exp.#3 71.6 71.6
W 15.4 18.9 710.33 25% 87.3 88.0
X 15.4 18.9 710.33 50% 88.2 89.3
Y 15.5 18.9 710.33 75% 89.7 91.2
Z 15.4 18.9 710.33 100% 97.2 95.9
AA 23.4 37.9 1083.80 50% 87.8 89.3
AB 23.4 37.9 1083.80 75% 90.9 91.1
AC 31.2 37.9 1083.80 50% 90.8 90.9
AD 31.2 37.9 1083.80 75% 92.4 92.3
AE 31.2 37.9 1083.80 100% 97.8 95.9
AF 7.8 11.4 500.39 100% 94.8 95.9
AG 15.6 37.9 1083.80 100% 97.2 95.9

Table 1. Details about each condition in this blog post.

Advertisements

An On-Line Calculator for the mIBU Technique

1. Overview
In a previous post, I described a method for predicting IBUs, called mIBU, that modifies the Tinseth formula in order to account for utilization from late hopping and whirlpool hops.  After many distractions, I’ve finally implemented this method in an online calculator:

     https://jphosom.github.io/alchemyoverlord/

so you don’t need to program it yourself in order to try it out.  This blog post describes this mIBU calculator in more detail.

2. Information Needed for mIBU
The mIBU method uses the Tinseth formula as a baseline, and modifies it to account for utilization after flameout.  According to the Tinseth formula, the utilization after flameout is zero.  In this modified method, utilization continues after flameout but at a slower rate because of the decrease in wort temperature.  In order to model this post-flameout utilization, we need to know (a) how utilization is affected by temperature, (b) how the wort temperature decreases over time after flameout (before you “force” cooling with an immersion chiller, wort chiller, or ice bath), and (c) how the wort temperature changes during forced cooling.

Sub-Boiling Utilization: A previous blog post looked at sub-boiling utilization and found that Mark Malowicki provides just the information needed for how utilization is affected by temperature.

Wort Temperature Decrease: I’ve collected a fair amount of data on the natural decrease in wort temperature, and found that this decrease can be modeled accurately enough for our purposes using the wort volume, the surface area of wort exposed to air (for how much steam is produced), and the area of the kettle opening (for how quickly the steam can escape).  Other factors, such as ambient temperature or relative humidity, have only a very small impact on predicted IBU values.  Another blog post describes a formula that can be used to predict temperature from the wort volume, wort surface area, and kettle opening area.  The online mIBU calculator has input fields for the kettle diameter and the kettle opening diameter; it uses these to compute the areas and then the function of how temperature decreases over time.  For most homebrewers with an uncovered kettle, the diameter of the kettle is equal to the diameter of the kettle opening.   The decrease over time can be modeled with either a linear function or an exponential decay function.  The linear function is easier to understand, but may not be as accurate as the exponential decay function, especially for small volumes.  If you find that your temperature decrease is not predicted well by the default values in either the linear or exponential decay functions, you can change the function parameters to better model your system.

Forced Cooling: After the natural decrease in temperature of a hop stand or whirlpool, there’s a faster decrease in temperature once you start the forced cooling with an immersion chiller, counterflow chiller, or ice bath.  This function doesn’t need to be as accurate, because in most cases the wort is cooled quickly and during this time the overall contribution to the IBU is small.  I’ve collected a small amount of data on forced cooling, and developed default values based on this smaller dataset.  For the immersion chiller, the exponential decay function has a minimum temperature of 106°F / 41°C.  For the icebath method, the exponential decay function has a minimum temperature of 68°F / 20°C.  The counterflow chiller operates differently, quickly cooling the wort well below isomerization temperatures as it leaves the kettle, and so only the rate at which the wort leaves the kettle needs to be specified.

Determining Your Own Temperature-Decay Parameter Values: If you’d like to determine your own parameter values for modeling the decrease in temperature, I recommend (a) measuring the temperature of wort (or, lacking that, the same volume of water) in your kettle from flameout (time = 0) for 20 minutes (time = 20) at one- or two-minute intervals, and then (b) entering this data into an online curve-fitting calculator to obtain an equation.  I recommend the Colby College Nonlinear Least Squares Curve Fitting page.  If you use this page, just enter the times and temperatures like this:

0 212.1
1 210.9
2 209.2
3 207.9
4 206.0
5 204.4
 ...
18 186.2
19 184.3
20 184.0

with one pair of values per line and spaces in between the values.  Then select either “a exp(-bx) + c” or “ax + b” (down at the bottom of the list) as the function, and click “Fit & Plot”.  It works best if you have initial guesses for the parameters.  If you’re working in Fahrenheit, then good guesses for the exponential function are a=95, b=0.02, c=120, and good guesses for the linear function are a=-1.3, b=212. If you’re working in Celsius, then good guesses for the exponential function are a=50, b=0.02, c=50, and good guesses for the linear function are a=-1, b=100.  The results are somewhat buried in a window of text, for example:

a= 137.8 +- 65.3
b= 0.01173 +- 0.0063
c= 74.6 +- 65

and in this case, you can ignore the values after +-.   The accompanying plot is always interesting, and it should decrease smoothly over time.

3. Default Parameter Values
The online calculator is set up with default values that target a “typical” homebrewer.  If you enter a new value and then want to go back to the default, type d (for “default”) in that field.

The default values for the temperature decay functions are in red, so that it’s clear that they are defaults.  If you specify a value, the value in the field will turn black.  I’ve found that in most cases on a homebrewing scale, these defaults yield reasonable estimates.

4. Bells and Whistles: Partial Boils, Specific Gravity, Constant Hop-Stand Temperature, and Global Scaling
In order to make this calculator as useful as possible to as many brewers as possible, I’ve included a few bells and whistles.

For one, there are input values for (a) the amount of wort and trub left in the kettle after racking and (b) the amount of topoff water added if you’re doing a partial boil.  If you’re doing a full boil (not adding water after the boil), then neither of these fields are necessary.  The IBU value, as a measure of the concentration of bittering substances, depends on volume; if you have two beers, A and B, and B has the same amount of isomerized alpha acids (and other bittering compounds) but double the volume of A, then B will have half of the IBUs of A.  One important question is what volume to use in the IBU calculation: pre-boil (larger volume), post-boil (smaller volume), or something else?  During the boil, the volume will decrease and the concentration will increase.  The IBUs depend on the concentration of bittering compounds at the end of the boil, and so the post-boil volume should be used in IBU calculations.  If you top off this hopped wort with water, the IBUs will decrease as you add more water.

Glenn Tinseth has a “bigness factor” in his equation that modifies the IBU value based on the wort gravity.  He says to “use an average gravity value for the entire boil“.  Rather than ask for an initial and final gravity, this calculator asks you to specify the (post-boil) original gravity and the evaporation rate.  From these two values it computes the average gravity over the entire boil.  If you don’t care that much about such details, you can set the evaporation rate to zero and the calculator will use the original gravity.

There’s a checkbox that allows you to hold a hop stand at a constant temperature.  If this box is not checked (and the text in this field is gray), then the wort cools naturally after flameout during the duration of the whirlpool and/or hop stand.  After the whirlpool/hop stand, the wort is quickly cooled.  If this box is checked (and the text in this field is black), then the wort is quickly cooled to the target temperature using the specified method of forced cooling.  The hop stand is then held at this temperature for the specified hop-stand time.  When this time is up, the wort is again quickly cooled with forced cooling.  This option only works when using an immersion chiller or an icebath for forced cooling, since a counterflow chiller doesn’t cool the entire body of wort simultaneously.

Finally, Prof. Tinseth recommends “fiddling with 4.15 if necessary to match your system“, because IBUs can depend a lot on a brewer’s setup and brewing techniques.  Rather than making this value a variable, I introduce a “global scaling factor” that has the same effect.  The default scaling factor is 1.0, which yields the same results as the standard Tinseth formula or mIBU technique.  If you find that you’re consistently getting more or fewer measured IBUs than predicted, you can adjust this scaling factor.  (I highly recommend getting measurements of the IBUs in your beer; it’s quick, inexpensive, and the only way to really know the IBU value.  There are a number of good laboratories available for testing; I’ve been very happy with Oregon BrewLab.  I send in samples of all of my beers for testing.)

5. Optional Alpha-Acid Solubility Limit
It has been noted that doubling the amount of hops in the boil can yield less than double the IBUs in the finished beer.  With hop-forward beers, I’ve found that the Tinseth formula can greatly overestimate IBU values because it treats each hop addition independently.  At this point, my best (but still incomplete) understanding is that IBUs are not linear with hop concentration because of a limit on the solubility of alpha acids.  I describe this in much greater detail in another blog post.  If you want to try this model of the solubility limit, select “yes” for the field “Apply alpha-acid solubility-limit correction”; otherwise, select “no“.

6. Summary
I hope you find this calculator useful!  If something doesn’t work the way you expect it to, or if you have any questions, feel free to let me know.  If you’re interested in the details of the programming, the source code is available as a link on the github website.

Hopping-Rate Correction Based on Alpha-Acid Solubility

Abstract
It is well known that doubling the amount of hops in the boil can yield less than double the IBUs in the finished beer.  When modeling IBUs, therefore, a hopping-rate correction factor is needed, with utilization decreasing as the concentration of hops increases.  This post describes a model of alpha-acid solubility at boiling, based on the work of Mark Malowicki and experimental data.  This solubility model can be used for hopping-rate correction in IBU prediction.  This model is a refinement of the model described in Four Experiments on Alpha-Acid Utilization and IBUs.  In this revised model, the alpha-acid solubility limit at boiling and typical wort pH is not a fixed value, but increases gradually with initial alpha-acid concentration beginning at 180 ppm, according to the equation (-31800/[AA]0)+356.67.  Any alpha acids that are above this limit are quickly degraded and do not contribute to the isomerized alpha acids in the finished beer.  This model demonstrates a good fit to available IBU data at a variety of hopping rates and boil times.

1. Introduction

1.1 Hopping Rates and Utilization
The relative amount of hops in the wort affects utilization.  As Lewis and Young say, “a high hopping rate reduces extraction efficiency” [Lewis and Young, p. 267].  Daniels phrases this as “simply adding more and more hops does not produce a linear increase in the amount of bitterness produced” [Daniels, p. 85].  Fix also notes that the utilization rate is affected by hop concentration [Fix, p. 47].  Hough et al. say that “hops are utilized more efficiently at low rates” [Hough et al., p. 489].  (Utilization is the ratio of isomerized alpha acids present in the finished beer divided by the total alpha acids added.)

Garetz provides a quantitative model of the relationship between amount of hops and utilization.  He proposes a hopping-rate correction factor (also described by Hall and Daniels) that depends on volume and “desired IBU” to determine the weight of hops needed [Garetz, p. 137; Hall, p. 63; Daniels, p. 86]. If we focus on full boils (instead of boiling a higher-gravity wort and then adding water), we can write the Garetz correction factor as

HF(IBU) = (IBU/260) + 1

where HF is the hop-rate correction factor that depends on the (desired) IBU value, IBU. If the IBU value is to be estimated from the weight of hops, Hall provides a method to compute this correction factor in two steps rather than through the iterative process suggested by Garetz [Hall, p. 63].  I’ve previously found that this correction factor can overestimate predicted IBU values at high hopping rates.

1.2 Hopping Rates, Utilization, and Alpha-Acid Solubility
Previous work has indicated a relationship between the solubility of alpha acids and the reduced utilization found at high hopping rates.  While the alpha acids have a solubility limit between 70 and 90 ppm at room temperature [Malowicki, p. 54; Spetsig, p. 1423] and pH 5.2, Spetsig has estimated the solubility at boiling and pH 5.2 to be about 300 ppm [Spetsig, p. 1423].  (Malowicki notes a solubility of 200 ppm at boiling and pH 5.0 based on Spetsig’s graph [Malowicki, p. 34], but this seems to be a typo, with actual values of 250 ppm at pH 5.0 and 300 ppm at pH 5.2.)  This value of 300 ppm is based on extrapolation from conditions at 77°F (25°C) and 104°F (40°C), and should be considered an approximation [Spetsig, p. 1424].  Maule has noted that “when humulone was used at rates greater than 200 [ppm] the amount appearing as humulone and iso-humulone on break increased at the expense of the amounts remaining in the wort” [Maule, p. 289].  (Humulone is the most prevalent of the alpha acids, and the “chemistry of the other iso-alpha acids is practically identical to that of the isohumulones” [Verzele and De Keukeleire, p. 88], so the terms “humulone” and “iso-humulone” can often be considered generally equivalent to the terms “alpha acid” and “isomerized alpha acid,” respectively (to the chagrin of Verzele and De Keukeleire [p. 89]).)  Maule then notes that what is not actually adsorbed to the break “represents the difference between the amount of resin present and its solubility in wort under the conditions employed”  [Maule, p. 289].  This suggests an alpha-acid solubility limit closer to 200 ppm at boiling.  (The solubility limit of the isomerized alpha acids is much higher, at 900 ppm in wort [Rudin, p. 18], and is not considered further in this post.)  Hough et al. remark that “as may be anticipated from the solubility of humulone, hops are utilized more efficiently at low rates than at high ones.  Indeed, it was concluded that the solubility of humulone was the limiting factor in its utilization” [Hough et al., p. 489].  These statements present a link between alpha-acid solubility and reduced utilization at high hopping rates, with an alpha-acid solubility limit between 200 and 300 ppm.

In a previous blog post, Four Experiments on Alpha-Acid Utilization and IBUs, I suggest a model for hopping-rate correction based on alpha-acid solubility.  In this model, the amount of isomerized alpha acids (IAA) that ends up in the wort is limited by the solubility of alpha acids at boiling, but the bitter substances other than IAA that contribute to measured IBU values (nonIAA) increase linearly with the amount of hops added.  I estimated the alpha-acid solubility limit in boiling wort at 270 ppm, which is in between the estimates from the literature of 200 to 300 ppm.  In this model, the alpha acids only go into solution at concentrations of 270 ppm or less (at boiling and typical wort pH).  Above this limit, the alpha acids are quickly degraded (or permanently removed from solution) and do not yield IAA in the finished beer.  This model yielded a good fit to the available data.  The current blog post describes a revision to this model and more experiments to evaluate this model as a function of boil time.

1.3 Isomerization of Undissolved Alpha Acids
Alpha acids generally isomerize according to first-order reactions when dissolved in boiling wort, as described below [Malowicki, p. 24].  But what happens when the concentration of alpha acids is greater than the alpha-acid solubility limit?  The dissolved alpha acids presumably undergo isomerization in the usual way, but the fate of those that are not (yet) dissolved is unclear.   If the previous assumption that these alpha acids are quickly degraded into some other form is not correct, then the alpha acids do undergo isomerization, presumably still as a first-order reaction.  Heat is the only requirement for the isomerization reaction; in other words, the presence of wort is not required (although it may be a catalyst).  Isomerization can happen not only in the presence of boiling wort or alkaine media [Verzele and De Keukeleire, pp. 102-106], but also by exposure to light (photo-isomerization) [Verzele and De Keukeleire, pp. 106-109], or at high heat with the solid metal salts of humulone [Verzele and De Keukeleire, pp. 109-111].  In thermal isomerization, “humulone resists heating up to 100°C … Above 180°C the thermal transformations and degradations of humulone occur very rapidly” [Verzele and De Keukeleire, p. 109], which implies that the alpha acids might be fairly stable at boiling in the absence of water or oxygen.  On the other hand, “heat may also cause other reactions of the sensitive hop bitter acids and high temperatures must therefore be avoided” in the preparation of hop extracts [Verzele and De Keukeleire, p. 13], indicating that high temperatures might degrade the alpha acids through reactions not involving isomerization.  It’s also known that isomerization can be catalyzed by “calcium or magnesium ions, either in methanol solution or the solid state”  [Hough et al., p. 493; Kappler et al., p. 332].  What are the chemical properties of the resin containing the undissolved alpha acids, and how do these properties affect isomerization?  Does a lack of oxygen severely reduce the rate of isomerization?  (Oxidation is “one of the first things to happen in the complex chemistry of humulone isomerization” [Dierckens and Verzele, p. 454]; a lack of oxygen might therefore slow down the rate of isomerization.)  Does the presence of some catalyst in the resin increase the rate of isomerization?  Do other reactions in the presence of heat cause degradation of the alpha acids?  Because the answers to these questions are not currently clear, we can construct a model of isomerization that encompasses various possibilities and see which settings of the model produce the best fit to the available data.  The resulting model and settings will not have been proven to be correct, but they will be the most likely explanation (in a statistical sense) given the available data.

1.4 A Model of Isomerization for Dissolved Alpha Acids
I’ll briefly introduce a model of alpha-acid isomerization developed by Mark Malowicki, which forms the foundation of the hopping-rate correction model.  This model of isomerization describes a general process for the conversion of alpha acids (AA) into (bitter) isomerized alpha acids (IAA), and the conversion of IAA into “uncharacterized degradation products” that aren’t bitter (including humulinic acid, isobutyraldehyde, and iso-hexenoic acid) [Malowicki, p. 13, pp. 26-27; Hough et al., p. 480].   In this model, the concentration of IAA at time t can be determined from the initial level of alpha acids and two first-order reactions with temperature-dependent rate constants:

[IAA] = [AA]0 (k1(T)/(k2(T)-k1(T))) (ek1(T)t-ek2(T)t)

where [IAA] is the concentration of isomerized alpha acids in the wort at time t and temperature T, in parts per million (ppm), and [AA]0 is the initial concentration of alpha acids in the wort (also in ppm).  (e is the mathematical constant 2.71828…) The variable k1(T) is the rate constant for the conversion of alpha acids into isomerized alpha acids and T is the temperature in degrees Kelvin,

k1(T) = 7.9×1011 e-11858/T

and k2(T) is the rate constant for the conversion of isomerized alpha acids into other products,

k2(T) = 4.1×1012 e-12994/T

At boiling (T=373.15°K), k1(T) is 0.0125 and k2(T) is 0.0031.  Malowicki also provides a different form of the same equation [Malowicki, p. 27], in which the IAA concentration at time t is not computed from the initial level of alpha acids.  Instead, the change in concentration of alpha acids at any time point is computed from the current concentration of alpha acids, and the change in IAA is computed from the current concentrations of alpha acids and IAA:

d([AA])/dt = –k1(T)×[AA]
d([IAA])/dt = k1(T)×[AA] – k2(T)×[IAA]

where d([AA])/dt is the change in alpha-acid concentration as a function of time (e.g. expressed in ppm per minute), and d([IAA])/dt is the change in IAA concentration as a function of time.  If we start at time 0 with an alpha-acid concentration [AA]0 and an IAA concentration of zero, these changes in concentration can be integrated over a range of time values to arrive at a total concentration of AA and IAA at time t.   We can approximate the integration on a computer using a very small time increment, tδ.  While the numerical result is the same in these two forms of equations, one advantage of the second form is that multiple hop additions can be dealt with very easily when applying an alpha-acid solubility limit.

2. Approach
2.1 Developing a Model
The proposed model starts with Malowicki’s formulas for the conversion of dissolved alpha acids.  We can then explain measured values through either (a) parallel formulas for the conversion of undissolved alpha acids into undissolved IAA and the conversion of undissolved into dissolved components, or (b) a solubility limit that increases gradually with initial alpha-acid concentration, with the (continued) assumption that undissolved alpha acids are quickly degraded.

For the conversion of undissolved alpha acids into undissolved IAA, if we have alpha acids above the solubility limit at time t, then at the next time instant (t+tδ) some of the alpha acids in solution will have been converted into IAA.  This lowers the dissolved alpha-acid concentration at t+tδ, allowing some of the alpha acids not yet in solution to dissolve into the wort at this time, potentially bringing the dissolved alpha-acid level back up to the solubility limit (as long as there are still undissolved alpha acids).   This model then has multiple simultaneous processes: the conversion of dissolved alpha acids into (dissolved) IAA, the conversion of undissolved alpha acids into (undissolved) IAA, and the dissolving of the alpha acids and IAA into the wort.  For each of these processes, there is an associated rate constant or two.  The model is complex, but it has the advantages of being able to (a) replicate the more simple model in which alpha acids above a constant solubility limit are quickly degraded and (b) test a wide variety of other plausible conversions.

The solubility data provided by Malowicki at room temperature [Malowicki, p. 53] and estimated in a previous post (Four Experiments on Alpha-Acid Utilization and IBUs) show a gradual rise in solubility as the initial alpha-acid concentration increases above some minimum threshold (see Figure 1).  We can therefore also model the solubility limit as a function of initial alpha-acid concentration, instead of using a constant limit (e.g. 270 ppm at boiling).  In this case, the solubility limit is not reached until some minimum concentration of alpha acids is exceeded, e.g. 200 ppm.   As the initial concentration gets larger, the solubility limit also gets somewhat larger, so that an initial concentration of 800 ppm might have a solubility limit of 300 ppm.  This approach describes the shape of the observed data better than than a hard limit, although I don’t have a good explanation for why the solubility limit would change like this.  Because Malowicki observed a similar shape at room temperature, it is unlikely that this shape is a byproduct of the types of isomerization and dissolution discussed in the previous paragraph.  At any rate, when using this approach we can continue to assume that alpha acids above the solubility limit are quickly degraded, which greatly simplifies the implementation and reduces the number of model parameters.

solExp-Fig1-combined

Figure 1. Estimated solubility of alpha acids at room temperature (from Malowicki, p. 53; image reproduced under the fair use doctrine) and at boiling (from Four Experiments on Alpha Acid Utilization and IBUs).

2.2 Testing the Model
The approach used in this set of experiments was to create four conditions (i.e. four batches of beer) with different hop concentrations, with one condition having an alpha-acid concentration well below the expected solubility limit, [AA]limit.  The wort from each condition was sampled at 10-minute intervals (from 10 to 100 minutes) during the boil, and each sample was fermented into beer.  The resulting plots of IBUs as a function of boil time and hop concentration were then fit to the model of isomerization, with different assumptions for the model parameters.

The values of the model parameters can be estimated by finding those values that minimize the error between the model and measured IBU values.  IBU levels are not the same as IAA levels, but we can use the same general technique as in a previous experiment, and estimate (a) an IAA factor that relates IAA concentrations in the boil to IAA concentrations in finished beer and (b) a nonIAA factor that relates the concentration of hops in the wort to the nonIAA concentrations in the finished beer, where “nonIAA” are those components other than IAA contributing to the measured IBU.  These factors can be estimated using multiple IBU measurements, Malowicki’s equations, and a relationship between IBUs, IAA, and nonIAA that has been formulated by Val Peacock [Peacock, p. 157].  Once these two factors have been estimated, IBU values can be mapped to IAA concentrations (and vice versa), and the IAA concentrations from different boil times and [AA]0 levels can be used with measured IBU values to estimate the model parameters.

3. Experimental Methods and Data
I brewed four batches of beer for this experiment.  The four batches were designed to be identical in all respects, except for the concentration of alpha acids.  (The first two batches were brewed on the same day, and the last two batches were brewed three weeks later.)  The first batch had two hop additions, with 1.15 oz (32.6 g) of hops in 8.45 G (32 liters) added at steep time 0 (100 minutes before flameout) and another 1.15 oz (32.6 g) added at 55 minutes.  For all batches, I took samples of wort at 10-minute intervals during the 100-minute boil, and quickly cooled them in an ice bath.  In order to minimize any effects caused by removing samples of wort, I used as large a batch size as I dared in my 10 G (40 l) kettle.  Targeting a boil gravity of 1.050, I used 8.5 lbs (3.85 kg) of Briess Pilsen DME in 7.867 G (29.78 l) of water, yielding about 8.6 G (32.55 l) of wort with a specific gravity of 1.047.   I added hops (i.e. started the steep time at 0) after the wort had been boiling for 10 minutes, to avoid the foam associated with the start of the hot break.  The wort was boiled for a steep time of 100 minutes with the cover mostly on the kettle, except for taking samples and occasionally stirring the wort.

I used a 1 lb (0.45 kg) bag of Citra hops from YCH Hops for this experiment, with hops from the same bag used in all four batches.  (The hops were vacuum-sealed and stored in a freezer during the three weeks between brewing sessions.) This bag (lot number PR2-AAUCIT5065) was from the most recent harvest and had an alpha-acid rating of 13.3% and beta-acid rating of 3.9%.  Hops from YCH are stored in nitrogen-flushed packaging to minimize oxidation over time.  In a previous experiment using YCH Hops, I confirmed that the alpha-acid rating on my brew day (at about 10 months after harvest) was very similar to the package rating, and I expected the same in this experiment.  Unfortunately, the measured IBU values from the first two batches of this experiment were dramatically lower than I was expecting.  The most plausible explanation for this is that significant oxidation had occurred over the 7 or 8 months from harvest to brewing, greatly reducing the alpha-acid levels (and also increasing the oxidized alpha- and beta-acid levels).  It’s also unfortunate that, because I then needed all of the rest of this bag of hops for the remaining two experiments, I didn’t have enough left over for testing of the Hop Storage Index to confirm this explanation.  Assuming that oxidation was the culprit, my best guesses are that the nitrogen flushing process didn’t work with this bag, the bag didn’t entirely seal, or the bag received a small puncture soon after packaging.  The bag then presumably sat at room temperature and exposed to oxygen for 7 or 8 months.  It’s also possible that the moisture content was, say, 40% instead of the more typical 10%, but the result in the end is about the same.  (Getting the measured IBU values from these experiments and realizing the implication was extremely disheartening, to put it mildly.)

During the boil, I contained the hops in a large nylon coarse-mesh bag in order to not include large hop particles in my samples.  Previous experiments (from Brülosophy: 25 IBUs (bagged) vs. 27 IBUs (loose), and Four Experiments on Alpha-Acid Utilization and IBUs: 36 IBUs (bagged) vs. 37 IBUs (loose) and 34 IBUs (bagged) vs. 34 IBUs (loose)) have not shown a significant impact of a mesh bag on measured IBU values.  In order to maximize contact of the hops with the wort, I added brass weights (a total of 3.2 oz (90.7 g)) to the mesh bag so that the hops would be quickly submerged and hydrated.

Each sample (about 14 oz (0.41 l)) was taken from the boil in an aluminum cup, which was placed in an ice bath and stirred to cool quickly.  Once cooled to 75°F (24°C), the sample was transferred to a sanitized, sealed, and labeled quart (liter) container.  I aerated each sample by vigorous shaking for 60 seconds, then added .01 oz (0.28 g) of Safeale US-05 yeast (age 9 months) to target 750,000 viable cells per ml and degree Plato [Fix and Fix, p. 68].  (The process of taking a sample, cooling it, transferring it to a sanitized container, aerating, and pitching yeast took between 5 and 10 minutes.)  After all samples were taken, the containers were cracked open to vent, and they fermented for a week.  (This is not my normal fermentation process, and it exposed the wort/beer to some risk of contamination.  However, with 20 simultaneous fermentations, I had to make some compromises in my process.)  After one week of fermentation, I sent 4 oz (0.12 l) of each sample to Oregon BrewLab for IBU measurement.  (The remainder that was not sent for analysis tasted fine, so any contamination was minimal.)  The final gravity of all samples was about 1.008 (minimum 1.0075; maximum 1.0085).

Table 1 shows the measured data for each batch, including initial wort volume, weight of hops added, volume and gravity at steep time 0, post-boil gravity (after 100 minutes), and pre- and post-boil pH.  Tables 2 through 5 show the measured data for each sample, including estimated volume, estimated specific gravity, and measured IBUs.  The volume at steep time 0 was estimated from the initial wort volume and the change in specific gravity from the initial wort to a sample taken at steep time 0.  The specific gravity at each sample time was estimated by linear interpolation between the gravity at time 0 and the post-boil gravity.  The volume at each sample time was estimated by interpolation using the time of the sample, volume at time 0, and the ratio of gravity at time 0 to gravity of the sample.  Figure 2 shows the measured IBU values from the four batches at each 10-minute interval.  Figure 2 also shows, for the first batch, the fit of the Tinseth model (blue line) using a scaling factor of 4.15 and the best-fit AA rating of 7.71% (discussed more in Section 5).

In general, from looking at Figure 2, the measured IBU values seem to fit well with the general concept of a first-order conversion from alpha acids to IAA and another first-order conversion from IAA to degradation products.  However, the values at 90 and 100 minutes from the fourth batch (highest concentration of hops) show an unexpected decrease in IBUs.  It’s unclear why IBUs would decrease for this batch at these time points but not the other three batches, and I don’t think that any parameter settings from Malowicki’s model or the proposed model would explain this decrease (except for temperatures well in excess of boiling).  I will assume for now that this decrease was a consequence of both the very long boil times and very high hopping rate.  Because these two data points can not be easily modeled, and because they represent an extreme scenario not likely to be encountered by most brewers, I leave them out of further analysis and modeling.

Batch A Batch B Batch C Batch D
initial wort volume
8.45 G / 31.99 l 8.45 G / 31.99 l 8.57 G / 32.44 l 8.43 G / 31.91 l
weight of hops added
1.15 oz / 32.60 g at start (t = 0); another 1.15 oz / 32.60 g at t=55 2.923 oz / 82.86 g 4.25 oz / 120.49 g 6.25 oz / 177.18 g
initial specific gravity
1.0467 1.0475 1.0465 1.0468
initial pH of wort
5.80 5.78 5.76 5.76
specific gravity at steep time 0
1.0482 1.0490 1.0475 1.0482
wort volume at steep time 0
8.187 G / 30.99 l 8.187 G / 30.99 l 8.390 G / 31.76 l 8.185 G / 30.98 l
post-boil specific gravity 1.0507 1.0519 1.0521 1.0525
post-boil pH
5.55 5.47 5.43 5.42

Table 1. Measured values for all four batches.  Measurements include initial wort volume, weight of hops added (two additions for the first batch), initial specific gravity (before heating the wort), initial pH of wort, specific gravity at steep time 0 (when the hops were added), wort volume at time 0, post-boil specific gravity (after steeping for 100 minutes), and post-boil pH.

time: 10 min
20 min 30 min 40 min 50 min 60 min 70 min 80 min 90 min 100 min
vol.
8.145G
30.83l
8.103G
30.67l
8.062G
30.52l
8.021G
30.36l
7.980G
30.21l
7.940G
30.06l
7.900G
29.90l
7.861G
29.76l
7.822G
29.61l
7.783G
29.46l
SG 1.0485 1.0487 1.0490 1.0492 1.0495 1.0497 1.0499 1.0502 1.0504 1.0507
IBUs 8.0 11.0 14.5 16.5 19.5 22.5 28.0 32.5 33.5 37.0

Table 2. Values for each sample from Batch A.  Volumes are given in gallons (G) and liters (l).  SG is the specific gravity estimated at the time the sample was taken.

time: 10 min
20 min 30 min 40 min 50 min 60 min 70 min 80 min 90 min 103 min
vol.
8.143G
30.82l
8.096G
30.65l
8.048G
30.46l
8.002G
30.29l
7.956G
30.12l
7.910G
29.94l
7.865G
29.77l
7.821G
29.61l
7.777G
29.44l
7.734G
29.28l
SG 1.0493 1.0496 1.0499 1.0502 1.0505 1.0507 1.0510 1.0513 1.0516 1.0519
IBUs 19.5 27.5 32.5 38.0 42.5 48.0 47.5 50.0 54.0 52.5

Table 3. Values for each sample from Batch B.  Volumes are given in gallons (G) and liters (l).  SG is the specific gravity estimated at the time the sample was taken.

time: 10 min
20 min 30 min 40 min 50 min 60 min 70 min 80 min 90 min 100 min
vol.
8.309G
31.45l
8.230G
31.15l
8.153G
30.86l
8.077G
30.57l
8.002G
30.29l
7.929G
30.01l
7.857G
29.74l
7.786G
29.47l
7.717G
29.21l
7.649G
28.95l
SG 1.0480 1.0484 1.0489 1.0493 1.0498 1.0503 1.0507 1.0512 1.0516 1.0521
IBUs 20.5 30.0 39.0 48.5 51.5 59.0 62.0 66.5 69.5 72.5

Table 4. Values for each sample from Batch C.  Volumes are given in gallons (G) and liters (l).  SG is the specific gravity estimated at the time the sample was taken.

time: 10 min
20 min 30 min 40 min 50 min 60 min 70 min 80 min 90 min 100 min
vol.
8.113G
30.71l
8.042G
30.44l
7.972G
30.18l
7.903G
29.92l
7.836G
29.66l
7.769G
29.41l
7.704G
29.16l
7.640G
28.92l
7.577G
28.68l
7.515G
28.45l
SG 1.0486 1.0491 1.0495 1.0499 1.0503 1.0508 1.0512 1.0516 1.0521 1.0525
IBUs 34.0 43.0 53.0 64.0 68.0 75.5 81.0 83.0 79.0 74.0

Table 5. Values for each sample from Batch D.  Volumes are given in gallons (G) and liters (l).  SG is the specific gravity estimated at the time the sample was taken.

solExp-Fig1-measuredIBUs

Figure 2. Measured IBU values from the four batches, and the best estimate from the Tinseth formula for Batch A (light blue line). The first batch had two additions, at 0 and 55 minutes, and no line is plotted between the points where a discontinuity is expected.

4. Isomerization and Solubility Model: Details
The proposed model starts with Malowicki’s equation for the production and degradation of IAA, assuming that all alpha acids dissolve in the boiling wort, described above [Malowicki, p. 25-27]:

[IAA] = [AA]0 (k1(T)/(k2(T)-k1(T))) (ek1(T)t-ek2(T)t)

C-like pseudocode for this equation (including the definitions of k1(T) and k2(T)) is simple enough and looks like the following:

t = 10.0;       // steep time, in minutes.  any value can be used here.
AA0 = 150.0;    // initial concentration of alpha acids, in ppm.
temp = 373.15;  // degrees Kelvin; boiling is assumed.
k1 = 7.9 * pow(10,11) * exp(-11858.0/temp);
k2 = 4.1 * pow(10,12) * exp(-12994.0/temp);
IAA = AA0 * (k1/(k2-k1)) * (exp(-1.0*k1*t) - exp(-1.0*k2*t));

Malowicki also gives a different version of this formula [Malowicki, p. 27] that uses derivatives and integration to arrive at the same result:

d([AA])/dt = –k1(T)×[AA]
d([IAA])/dt = k1(T)×[AA] – k2(T)×[IAA]

In this case, the changes in the values of [AA] and [IAA] at each time instant (starting with time 0, when the hops are added to the wort) can be computed and integrated to arrive at a value of [IAA] for any steep time.  This second version is useful if you don’t want to keep track of multiple values of [AA]0 at different time points, since it relies on only the total concentration of alpha acids and IAA at each time point.  Integration on the computer is approximated by multiplying each instantaneous change in concentration by a small time increment (referred to here as tδ or integrationTime).  The pseudocode for using these two equations to compute IAA concentration looks something like this, using “{” and “}” to specify multiple instructions within a loop:

integrationTime = 0.01;
temp = 373.15; // degrees Kelvin; boiling is assumed.
AA = AA0;
IAA = 0.0;
time = 0.0;
while (time <= totalTime) {
  k1 = 7.9 * pow(10,11) * exp(-11858.0/temp);
  k2 = 4.1 * pow(10,12) * exp(-12994.0/temp);
  dAA = -1.0 * k1 * AA;
  AA = AA + (dAA * integrationTime);
  dIAA = (k1 * AA) - (k2 * IAA);
  IAA = IAA + (dIAA * integrationTime);
  time = time + integrationTime;
}

where temp is the temperature in degrees Kelvin, AA0 is the initial concentration of alpha acids (in ppm), and totalTime is the total time that the hops steep in the boiling wort, in minutes.  In this case, dAA is the change in alpha-acid concentration per minute and dIAA is the change in IAA concentration per minute.  (It’s kind of a fun exercise, if you’re into this kind of thing, to verify that these two pieces of code produce basically the same results.  For a hundred readers who make it this far, I admit that you may not be interested in both forms; I’ve included it for the hundred-and-first reader who wants to implement it for herself.)

This model is sufficient as long as all alpha acids are fully dissolved in the wort.  If the concentration of alpha acids is greater than the solubility limit, [AA]limit, then we have [AA]limit ppm of alpha acids dissolved in the wort and the remainder undissolved.  I built a model involving first-order reactions for the undissolved rate constants, but I will omit those details because, in the end, a simple model with a gradually-increasing solubility limit generalized better to new data than the more complicated model.

For a gradually-increasing solubility limit, the first thing is to specify a minimum limit at concentration [AA]limitMin.  Below this concentration, all of the alpha acids dissolve quickly in the boiling wort.  Above this concentration, the solubility limit increases with concentration according to the formula

[AA]limit = (solubilityChange / [AA]0) + solubilityConst

where solubilityChange is a negative number that expresses the change in solubility with increasing concentration, and solubilityConst is defined so that the solubility limit at [AA]limitMin equals [AA]limitMin:

solubilityConst = ((-1 × solubilityChange) / [AA]limitMin) + [AA]limitMin

This allows us to describe the solubility limit with two parameters: [AA]limitMin and solubilityChange.  For example, if we set the minimum solubility limit to 200 ppm and the change factor solubilityChange to -28000, then solubilityConst is 340 ppm.  If [AA]0 is 400 ppm, then the solubility limit, [AA]limit, is 270 ppm, and the effective [AA]0 is 270 ppm because any alpha acids above this limit are quickly degraded.  If [AA]0 is less than [AA]limitMin, then no adjustment is needed.

The pseudocode for this example becomes something like this:

integrationTime = 0.01;
temp = 373.15; // degrees Kelvin; boiling is assumed.
AA_limitMin = 200.0;
solubilityChange = -28000.0;
AA = AA0;
solubilityConst = ((-1 * solubilityChange) / AA_limitMin) + AA_limitMin;
if (AA > AA_limitMin) {
  AA = (solubilityChange / AA) + solubilityConst;
}
IAA = 0.0;
time = 0.0;
while (time <= totalTime) {
  k1 = 7.9 * pow(10,11) * exp(-11858.0/temp);
  k2 = 4.1 * pow(10,12) * exp(-12994.0/temp);
  dAA = -1.0 * k1 * AA;
  AA = AA + (dAA * integrationTime);
  dIAA = (k1 * AA) - (k2 * IAA);
  IAA = IAA + (dIAA * integrationTime);
  time = time + integrationTime;
}

where the new variable AA_limitMin is the minimum concentration for an alpha-acid solubility limit (in ppm), solubilityChange expresses how quickly this limit rises, and solubilityConst is the maximum solubility limit (in ppm).

5. Parameter Estimation and Results
5.1 Estimating the Alpha-Acid Rating of the Hops
The measured IBU values from this experiment were far too low to be consistent with the alpha-acid (AA) rating of 13.3% on the package of hops.  In order to get a reasonable estimate of the AA rating on brew day, I used the Tinseth formula with the default scaling factor of 4.15 to find the AA rating that provided the best fit to the 10 data points from the first batch (in which the initial concentration of alpha acid should be below the solubility limit).  I’ve previously found that this method can yield reasonable approximations of measured alpha-acid levels, and because I didn’t have enough hops left over from the four experiments to send for testing, this was the only method available to me.  Fitting the Tinseth model to the data yielded an AA rating of 7.71%.  The root-mean-square (RMS) error between the measured IBU values and Tinseth estimates was 1.07 IBUs.  The values from the Tinseth estimate are plotted above in Figure 1.

An AA rating of 7.71% corresponds to a degradation factor of 0.58 from the reported harvest value of 13.3%.  This degradation can be modeled using the Garetz hop-degradation model [Garetz article; Garetz book, pp. 111-114] using an age of 8 months, exposure to oxygen (storage factor 1.0), an average temperature of 73°F (23°C), and a loss factor of 30% for Citra hops.  These parameter values are pretty much in line with the hypothesis that the package was exposed to oxygen and stored at room temperature soon after harvest.

5.2 Estimating the Parameters to Map from IBU to IAA
We need some way to translate between measured IBU values and estimated IAA concentrations.  Peacock [p. 157] provides just such a formulation in a general form:

IBU = 5/7 × (IAAbeer  + nonIAAbeer)

where IBU is the measured IBU value, IAAbeer is the concentration of isomerized alpha acids in the finished beer, and nonIAAbeer is the concentration of other bittering substances that aren’t isomerized alpha acids (also in the finished beer).  We can expand this formulation to (a) replace 5/7 with the more precise ratio 51.2/69.68 [Peacock, p. 161], (b) account for the losses of IAA during the boil, fermentation, and aging with an IAA scaling factor, (c) create a mapping between the concentration of hops in the wort and hop-related nonIAA levels in the finished beer, and (d) account for the contribution of malt polyphenols to the IBU as a factor separate from the hop-related nonIAA, creating nonIAAhops and nonIAAmaltPP, both of which are concentrations in the finished beer.  We want to separate out the malt factor because the malt polyphenol concentration will be independent of the amount of hops added, but we will assume that there is a linear relationship between amount of hops added and hop-related nonIAA.

In particular, we can define IAAboil as the concentration of IAA during the boil and define a scaling factor, scalingIAA, that relates IAAboil to IAAbeer.  We can also define another scaling factor, scalingnonIAAhops, that relates the concentration of hops in the wort (in ppm) to the concentration of hop-related nonIAA in the finished beer.  Both of these factors may vary from batch to batch, depending on the various losses and the concentrations of (oxidized) alpha- and beta-acids in the hops.  However, as long as we focus on batches of beer in which these conditions should be the same, then the scaling factors should also be the same for these batches.  The contribution of malt polyphenols to the IBU can be modeled as

nonIAAmaltPP = ((OG – 1.0) × 1000) × 0.025)

where OG is the original gravity, as described in a previous post.  These adjustments give us the following formulas as a modification to Peacock’s original formula:

IAAbeer = IAAboil × scalingIAA
nonIAAhops = hops × scalingnonIAAhops
IBU = 51.2/69.68 × (IAAbeer + nonIAAhops) + nonIAAmaltPP

where IAAbeer is the concentration of isomerized alpha acids in the finished beer, IAAboil is the concentration of IAA during the boil (e.g. as predicted by the Malowicki formulas), and scalingIAA is the scaling factor that accounts for losses of IAA during the boil, fermentation, and aging.  Also, nonIAAhops is the hop-related contribution to nonIAA in the finished beer, hops is the concentration of hop particles in the wort (in ppm), and scalingnonIAAhops is the scaling factor from concentration of total hop particles to the concentration of hop-related nonIAA in the beer.  The Peacock formula is mostly unchanged, except for the revised ratio, the specification of nonIAAhops that is specific to hops and the addition of nonIAAmaltPP as a separate nonIAA component.

We then have two parameters to estimate in order to map between measured IBU values and modeled IAA levels during the boil: scalingIAA and scalingnonIAAhops. We can estimate scalingnonIAAhops by first taking pairs of samples from Batch A and, knowing the initial alpha-acid concentration and boil time of each sample, compute the ratio of expected IAA values from the two time points using Malowicki’s formula for IAA concentration.  We can then  compute the estimated IAA values using the IBU formula above with the measured IBU values at those time points, the known gravity of the sample, and an assumed value for scalingnonIAAhops.   If the assumed value is correct, then the estimated IAA value of the first sample should be equal to the estimated IAA value of the second sample multiplied by the ratio of IAA values determined from Malowicki’s equation.  (We don’t need scalingIAA because it gets removed when computing the ratio.)  The error is the squared difference between these two estimated IAA values.  The best value of scalingnonIAAhops is the value that minimizes this error over all pairs of samples, taking into account changes in concentration and gravity as the volume of the wort decreases during the boil.  Given an estimated value of scalingnonIAAhops, the value of scalingIAA can be computed for each sample, and those values averaged to give an overall estimate of scalingIAA.

Using this method and the 10 data points from the first batch, scalingIAA was estimated at 0.532 and scalingnonIAAhops was estimated at 0.0043.  (In other words, a little more than half of the IAA was lost to trub and during fermentation and aging.  A little less than half a percent of the weight of the hops ended up contributing to the IBU value as nonIAA components.)  The measured IBU values, modeled IBU values (using the above equation and these two parameter estimates), and differences are listed in Table 6.  The RMS error over the 10 data points was 0.78, slightly better than the estimate from the Tinseth formula.

time: 10 min
20 min 30 min 40 min 50 min 60 min 70 min 80 min 90 min 100 min
meas. IBU
8.0 11.0 14.5 16.5 19.5 22.5 28.0 32.5 33.5 37.0
est. IBU 8.29 11.48 14.23 16.57 18.57 22.22 27.15 31.35 34.91 37.89
diff. 0.29 0.48 -0.27 0.07 -0.93 -0.28 -0.85 -1.15 1.41 0.89

Table 6. Measured IBU values, estimated IBU values using the IBU formula given in this section, and the difference between the two values, all from Batch A.

5.3 Estimating the Model Parameters
Once we’ve gotten this far, the hard part is over.  We have a model for the production of IAA from alpha acids, defined above.  We have a way to convert from IAA values generated by this model to IBU values.  The only thing left is to take a guess at the parameter values of the isomerization model, compute the IAA value using the code with these values, map from IAA to IBU value, and take the difference between estimated and measured IBU values.  We do this many, many times with different guesses for the parameter values and all measured IBU values from Batches 2, 3, and 4 to see which values minimize the root-mean-square error.  In order to base the parameter estimates on a variety of initial alpha-acid concentrations, I also used 10 data points from Four Experiments on Alpha Acid Utilization and IBUs, experiments #3 and #4.

I built models with a variety of configurations.  In one case, the alpha acids above a fixed solubility limit were quickly degraded, and so any alpha acids above this limit contributed nothing to the final IAA or IBU level.  This model estimated [AA]limit at 260 ppm (fortunately very close to the earlier estimate based on less data) with an RMS error of 4.21.  Results from this model are plotted in Figure 3 with a dashed red line.  In another case, the model specified that undissolved alpha acids were stable and did not convert to isomerized alpha acids, as hinted at by Verzele and De Keukeleire.  In this case, there was a solubility limit of 230 ppm and a slow rate of dissolution of the undissolved alpha acids (first-order rate constant 0.0075), with an RMS error of 3.47.  Results from this model are plotted in Figure 3 with a dotted blue line.  (Because both of these models yield the same result on Batch #2, there is no blue line for this batch.)  In a third case, no constraints were put on the five parameters, which yielded an RMS error of 1.74 and estimates that didn’t consistently under- or overestimate values from any batch.  However, using this model with these settings did not produce good results on the other data described in A Summary of Factors Affecting IBUs.  It seems that this was a case of over-fitting a model to the data; as John von Neumann observed, “with four parameters I can fit an elephant, and with five I can make him wiggle his trunk“.  Results from this model are not plotted in Figure 3.

Finally, I built a model in which the solubility limit increases slowly above some minimum threshold, as indicated in Figure 1.  Varying [AA]limitMin and solubilityChange to minimize the error resulted in [AA]limitMin equal to 180 ppm and solubilityChange equal to -31800, with an RMS of 2.15.  Results from this model are plotted in Figure 3 with a solid green line.  This model has a better fit to the data than the “fixed limit” or “stable AA” models, and yields better results on test data (from A Summary of Factors Affecting IBUs) than the five-parameter model.  This “soft” solubility limit function is plotted in Figure 4.

solExp-Fig3-modelIBUs

Figure 3.  Various configurations of the solubility model plotted against measured IBU values.  The measured IBU values for Batch #1 are plotted in gray for reference.  The measured IBU values for Batches #2, #3, and #4 are plotted in black.  The version of the model that has alpha acids very quickly degraded is plotted with a dashed red line.  The version of the model that has stable undissolved alpha acids is plotted with a dotted blue line.  The model that has a gradually-increasing solubility limit is plotted with a solid green line.

solExp-Fig4-AAsolubility

Figure 4. Estimated solubility levels from a previous experiment (blue diamonds) and the current experiment’s Batches #2, #3, and #4 (red diamonds).  The green line shows the “soft” solubility limit estimated from this set of data.

6. Conclusion
This blog post has discussed a general model for the isomerization of alpha acids at concentrations greater than the solubility limit.  The model can be configured to evaluate different hypotheses, e.g. (a) the alpha acids above the solubility limit are quickly degraded, as I assumed in an earlier model, (b) the alpha acids not yet dissolved in wort are fairly stable, implied as a possibility by a statement by Verzele and De Keukeleire [Verzele and De Keukeleire, p. 109], (c) there are no expectations for the conversions of alpha acids and IAA and the dissolving of alpha acids into wort, other than that they are first-order reactions, or (d) the solubility limit is a function of the initial concentration of alpha acids.   The model with a gradually-increasing solubility limit as a function of [AA]0 had the best fit to the entire set of data presented in A Summary of Factors Affecting IBUs.  Because of the methods used, the conclusion is not that this model is correct, but only that it is the most likely explanation given the data.

In this “soft limit” model, the estimated alpha-acid solubility limit starts at about 200 ppm and increases gradually, with a limit of  320 ppm at an [AA]0 of 867 ppm.  The good news is that this model fits well with both (a) the observations of Maule indicating undissolved alpha acids at concentrations as low as 200 ppm [Maule, p. 289] and (b) the solubility limit of 300 ppm at boiling and pH 5.2 determined by Spetsig [Spetsig, p. 1423].  The bad news is that the pH of the wort in these experiments was much higher, at around 5.7, which corresponds to a much higher limit on Spetsig’s graph.  Another experiment that looks at alpha-acid solubility at boiling and a different wort pH value will be needed in order to explore this further, but for now it’s possible that the solubility limit as a function of pH may not be as dramatic as indicated by Spetsig’s graph.

Acknowledgements
I am extremely grateful to (in alphabetical order) Nev Ash at Online Brewing Supplies, Dana Garves at Oregon Brewlab, and Hannah McMullen for their contributions to this post, including: feedback on the writing, help with concepts, measuring IBU values, and/or tracking down related published work.  Any errors are, of course, the sole responsibility of the author.

References

  • R. Daniels, Designing Great Beers: The Ultimate Guide to Brewing Classic Beer Styles.  Brewers Publications, 2000.
  • J. Dierckens and M. Verzele, “Oxidation Products of Humulone and Their Stereo-Isomerism,” in Journal of the Institute of Brewing, vol. 75, pp. 453-456, 1969.
  • G. Fix, Principles of Brewing Science. Brewers Publications, 2nd edition, 1999.
  • G. J. Fix and L. A. Fix, An Analysis of Brewing Techniques. Brewers Publications, 1997.
  • M. Garetz, “Hop Storage: How to Get – and Keep – Your Hops’ Optimum Value” in Brewing Techniques, January/February 1994, hosted on morebeer.com.
  • M. Garetz, Using Hops: The Complete Guide to Hops for the Craft Brewer. HopTech, 1st edition, 1994.
  • M. L. Hall, “What’s Your IBU,” in Zymurgy.  Special Edition, 1997.
  • J. S. Hough, D. E. Briggs, R. Stevens, and T. W. Young, Malting and Brewing Science.  Volume 2: Hopped Wort and Beer.  Springer-Science+Business Media, B. V., 2nd edition, 1982.
  • M. J. Lewis and T. W. Young, Brewing. Springer Science+Business Media, 2nd edition, 2001.
  • M. G. Malowicki, Hop Bitter Acid Isomerization and Degradation Kinetics in a Model Wort-Boiling System, Master of Science thesis (advisor: T. H. Shellhammer), Oregon State University, 2005.
  • D. R. Maule, “The Fate of Humulone During Wort Boiling and Cooling”, in Journal of the Institute of Brewing, vol. 72, pp. 285-290, 1966.
  • V. Peacock, “The International Bitterness Unit, its Creation and What it Measures,” in Hop Flavor and Aroma: Proceedings of the 1st International Brewers Symposium, ed. Thomas H. Shellhammer, Master Brewers Association of the Americas, 2009.
  • A. D. Rudin, “Solubility of Iso-Compounds in Water and Their State in Solution”, in Journal of the Institute of Brewing, vol. 66, pp. 18-22, 1960.
  • L. O. Spetsig, “Electrolytic Constants and Solubilities of Humulinic Acid, Humulone, and Lupulone,” in Acta Chemica Scandinavica, vol. 9, pp. 1421-1424, 1955.
  • M. Verzele and D. De Keukeleir, Chemistry and Analysis of Hop and Beer Bitter Acids, vol. 27, 1st edition, Elsevier,  ISBN 0-444-88165-4, eBook ISBN 9781483290867, 1991.

mIBU Experiments #1 and #3

Abstract
This post summarizes two of the three experiments I conducted in order to evaluate the accuracy of the mIBU approach described earlier, specifically Experiments 1 and 3. (The second experiment is described in a separate post, “An Analysis of Sub-Boiling Hop Utilization“.)  The results from the current two experiments show that when estimating IBUs, it’s important to have good estimates of (a) the alpha-acid rating of the hops, (b) storage conditions of the hops, (c) alpha-acid concentration in the wort, and (d) age of the beer.  If these factors are accounted for, the IBU estimates in these experiments are fairly close to measured IBU values.  When the wort is allowed to cool naturally after flameout for (in this case) 15 minutes, the use of the mIBU approach yields much better estimates for hop additions at flameout and with short boil times.

Introduction
For the first experiment, I brewed four batches of beer with hops added at different times during the boil and with forced cooling at flameout, in order to calibrate my brewing setup and resulting measured IBU values with the Tinseth IBU formula.  For the third experiment, I brewed five batches, each with 15 minutes of post-flameout natural cooling, to compare the measured IBU values with values predicted by the Tinseth formula and the mIBU approach.

In both of these experiments, IBU values were measured by Analysis Laboratory.  Scott Bruslind from Analysis Laboratory was very responsive and encouraging, providing a full set of measurements (including gravity, pH, and attenuation, in addition to IBUs) as well as alpha-acid measurement of hops.

Experiment #1
The first experiment calibrated measured IBUs obtained from my brewing setup with the standard Tinseth IBU formula.  As a result of this experiment, I got some idea of how much variation to expect in IBU measurements, and I found that several factors inadvertently impacted both measured and modeled values.

Experiment #1: Methods
In this experiment, four batches of beer were brewed with forced cooling at flameout.  Each batch was brewed separately: 2.0 lbs (0.91 kg) of Briess Pilsen dry malt extract in 2 G (7.6 liters) of water, with 0.60 oz (17.0 g) of Cascade hop cones (in a loose mesh bag) and a slurry of 0.08 oz (2.3 g) of Safeale US-05 yeast.  The boil time of the wort for all conditions was 60 minutes.  The hops were added at 60 minutes (condition A), 40 minutes (condition B), 20 minutes (condition C), and 10 minutes (condition D) prior to flameout.  All batches had the following targets: pre-boil volume of 2.15 G, pre-boil specific gravity of 1.043, post-boil volume of 1.45 G, and (post-boil) original gravity (OG) of 1.060.  The wort was quickly force-cooled and the hops were removed immediately at flameout.  The wort was left to sit, covered, for several minutes, and then 3½ quarts were decanted into a 1 G (4 liter) container.  After 90 seconds of aeration (a.k.a. vigorous shaking), the yeast was pitched.  Fermentation and conditioning proceeded for 19 days.  The beers were bottled (with 0.46 oz (13 g) of sucrose per condition as priming sugar) and left to bottle condition for an additional 8½ weeks before IBU values were measured.

The Cascade hops, purchased in June, had an alpha-acid (AA) rating on the package of 8.0%.  I had the alpha acids measured close to the time of the experiment by both Analysis Laboratories (AL) and subsequently by KAR Labs (KAR).  The AL alpha-acid rating was 6.25% (with 7.25% beta acids and a Hop Storage Index (HSI) of 0.45), and the KAR rating was 4.11% (with 5.40% beta acids).  An HSI of 0.45 indicates 28% loss or 72% AA remaining, which translates into an AA rating on brew day of 5.76% if the harvest AA rating was 8.0%, or a harvest AA rating of 8.7% if the level was 6.25% at the time of the experiment.  From the AL numbers, the alpha/beta ratio is 0.862 and the from the KAR numbers, the alpha/beta ratio is 0.761, both on the low side for Cascade.  From these various numbers, two things are clear: (1) the actual AA rating at the time of brewing could easily have been anywhere from about 4% to 6.25%, which is a pretty wide variation, and (2) I had inadvertently used hops that had been improperly stored.  Afterwards, I had a nice chat with my LHBS, and they confirmed that while the hops were stored in very good mylar bags, they spent at least part of the year in an air-conditioned room at the back of the store.  I’ve since become much more concerned and proactive about the storage conditions of my hops.  At any rate, Glenn Tinseth recommends, if needed, adjusting the linear scaling factor (4.15) in his equation to fit the current conditions, so we can pick our best guess of the AA rating and adjust the scaling factor to fit the data.  Equivalently, we can pick one scaling factor (e.g. the recommended 4.15) and adjust the AA rating to fit the data.

Experiment #1: Results
Table 1 (below) shows measured and modeled IBU values for each of the conditions in Experiment 1, along with a variety of other measured parameters (e.g. original gravity).  The observed and modeled IBU values are plotted below in Figure 1.

Determining the post-boil volume was a little tricky… if the hops are in the wort they will increase the measured volume by displacement, and if they are removed from the wort they will decrease the volume by soaking up wort.  In the end, I took the ratio of pre-boil gravity points divided by post-boil gravity points, and multiplied that by the initial volume.  The post-boil specific gravity (i.e. the OG) measured by Analysis Laboratory was determined from the original extract reading in degrees Plato.

The average alpha acid concentration of about 185 ppm at the start of the boil for all conditions is just below the lower limit for a linear increase in IBU values with alpha-acid concentration.  Therefore, the Tinseth equation should still yield good results at this concentration.

For IBU values from the Tinseth equation, I used the recommended scaling factor of 4.15 and the average specific gravity of the start and end of the boil, as recommended by Tinseth, and adjusted the AA rating to minimize the error.  This yielded an AA rating of 5.79%, about the middle of the range between 4.00% and 6.25%, and a root-mean-squared (RMS) IBU error of 4.32 IBUs.  How good (or bad) is this error?  It’s hard to say, but it’s within the reported perceptual threshold of 5 IBUs, with one condition having a difference of about 7 IBUs.  The problem in getting a better fit is that the modeled IBU value at 60 minutes is higher than the measured IBU, and the modeled IBU at 10 minutes is lower than measured; a linear scaling factor can’t fix that.  These differences at high and low steeping times may be due to the large amounts of oxidized alpha and beta acids in the poorly-stored hops that I used.

In a separate blog post, I present a more detailed model of IBUs; the values obtained from that model for this experiment are also given in Table 1.  This more detailed model takes into account factors such as original gravity, hopping rate, age and storage conditions of the hops, alpha/beta ratio, age of the beer, and form of the hops.  Using this model, the estimated AA rating at harvest was 8.0% (the same as the value on the package) and the estimated degradation factor was 0.75 (very close to the HSI-based factor of 72%), yielding an AA rating on brew day of 6.0%.  An AA rating of 6.0% is in between the AA rating estimated from the Tinseth equation (5.79%) and the value from AL (6.25%).  The estimated alpha/beta ratio was 0.75, somewhat lower than the value from AL (0.86) but very close to the KAR value (0.761).  The RMS error from this model was 2.31 IBUs (about half the error of the Tinseth model), with a maximum difference of -2.61 IBUs.  According to this model, isomerized alpha acids contributed 65%, 60%, 46%, and 32% to the IBU values of conditions A through D, respectively.  The low percentage for even the 60-minute boil is due to the age, poor storage conditions, and low alpha/beta ratio of the hops.  I used the average boil gravity and average volume over the other four conditions to estimate 13.25 IBUs at a boil time of 0 minutes (0% from isomerized alpha acids); this value is higher than it would typically be, because of the poor storage conditions of the hops.

condition
A
condition
B
condition
C
condition
D
pre-boil SG (from hydrometer)
1.042 1.0425 1.042 1.042
pre-boil volume
2.11 G / 7.99 l 2.13 G / 8.06 l 2.15 G / 8.14 l 2.15 G / 8.14 l
time of hops addition
60 min 40 min 20 min 10 min
post-boil SG (from hydrometer)
1.059 1.058 1.061 1.063
post-boil SG (measured by AL)
1.05986 1.05891 1.06337 1.06417
post-boil volume 1.49 G / 5.64 l 1.54 G / 5.83 l 1.44 G / 5.45 l 1.42 G / 5.38 l
FG (measured by AL)
1.01134 1.00863 1.00928 1.00950
measured IBUs (from AL)
35.7 34.3 27.1 22.0
IBUs from Tinseth
40.0 34.0 24.7 14.9
IBUs from detailed model
38.18 31.69 25.01 20.00

Table 1. Measured and modeled values of the four conditions in the first experiment.  Results provided by Analysis Laboratories are indicated by “AL”.

 

mIBU-exp1

Figure 1. Measured IBU values (red line), IBU values from the Tinseth model (blue line), and IBU values from the detailed model (green line). The model values were fit to the measured values by minimizing the error, which was necessary because the AA rating at brew day was basically unknown.

Experiment #1: Conclusion
A number of issues came up when analyzing the data from this experiment.  The point of this first experiment was, in some sense, to discover such issues and be able to address them in subsequent experiments.   (Regardless of the numerical results, all of these experiments have been a wonderful learning opportunity.)  Here’s a list of bigger issues with the first experiment: (1) I didn’t have a reliable estimate of the AA rating of the hops on brew day, which obviously impacts any modeled IBU value; (2) the hops were improperly stored, which drastically decreased the amount of alpha acids and increased the amount of oxidized alpha and beta acids, impacting the measured IBU values; (3) I used a digital kitchen scale to measure 0.60 oz of hops, which was OK but not ideal… I’ve since upgraded to a more precise jewelry scale; and (4) boiling a small amount of wort for 1 hour yields a large change in specific gravity and an evaporation rate that is very difficult to control, leading to unwanted variability.

Despite these issues, fitting the AA rating to the IBU data yielded a not-terrible fit to the Tinseth model (with an RMS error of 4.32 IBUs).

Experiment #3
The third experiment was similar to the first, except that the wort was left to sit and cool naturally for 15 minutes after flameout.  The purpose of this experiment was to compare measured IBU values with IBU values predicted by the Tinseth formula and the mIBU approach.

Experiment #3: Methods
In this experiment, five batches of beer were brewed with 15 minutes of natural cooling at flameout, and forced cooling when the 15-minute mark was reached. This time, I made one batch of wort and divided it into equal portions for each condition.  In this case, 9.25 lbs (4.20 kg) of Briess Pilsen dry malt extract was added to 7.0 G (26.5 liters) of water to yield 7.75 G (29.34 liters) of wort, with a specific gravity of 1.057.  This wort was boiled for 30 minutes and left to cool with the lid on. The specific gravity of the wort after the 30-minute boil was 1.062, with a volume of about 7 G (26.5 liters).  The wort for each condition was taken from this larger pool of wort, to guarantee the same specific gravity at the start of the boil.  The hops were boiled for 60 minutes (condition A), 30 minutes (condition B), 15 minutes (condition C), 7½ minutes (condition D), and 0 minutes (condition E).

For each condition, 1.3 G (4.92 liters) was heated to boiling.   When the wort reached boiling, 0.80 oz (22.7 g) of Cascade hops were added.  The wort was boiled for the amount of time specified for each condition, and the boil was conducted with the lid on, in order to minimize evaporation losses and keep the boil gravity from increasing too much.  At flameout, the lid was removed (to make it easier to measure the change in temperature over time) and the hops remained in the wort.  At 15 minutes after flameout, the hops were removed and the wort was quickly cooled.  The wort was left to sit, covered, for several minutes, and then 3½ quarts (3.31 liters) were decanted into a 1 G (4 liter) container.  After 90 seconds of aeration (a.k.a. vigorous shaking), a slurry with 1.5 oz (42.5 g) of Safeale US-05 yeast was pitched into each condition.  Fermentation and conditioning proceeded for 21 days.  The beers were bottled (with 0.45 oz (12.75 g) of sucrose per condition as priming sugar) and left to bottle condition for an additional 5 weeks before IBU values were measured.

In order to have better control over the hops in this experiment, I used some of my precious home-grown Cascade.  The AA rating at harvest, measured by KAR Labs, was 6.64% (with a beta acid percentage of 5.38%).  While they were nearly 8 months old at the time of the experiment, I had stored them in vacuum-sealed bags in a freezer at  -6°F (-21°C).  Around the time of the experiment, I sent samples to both KAR Labs and Alpha Analytics.  This time, KAR Labs reported an AA rating of 6.66% and beta acid level of 5.51%; Alpha Analytics reported an AA rating of 7.70% and beta acid level of 6.80%.  The HSI value from Alpha Analytics was 0.22, indicating no significant degradation over the 8 months.  Once again, there was a surprising lack of clarity in the AA rating from the laboratory-measured values… it could be anywhere from 6.6% to 7.7%, or even outside this range.  The alpha/beta ratio was approximately 1.1 to 1.2.  Fortunately, the data from both KAR Labs and Alpha Analytics indicate that the hops were well preserved, so the hop degradation factor should be close to 1.

Experiment #3: Results
Table 2 provides measured and modeled IBU values for each of the conditions in Experiment 3, along with a variety of other measured parameters. The observed and modeled IBU values are plotted below in Figure 2. The post-boil volume and specific gravity were determined using the same methods as in Experiment 1.

I thought that by keeping the lid on the kettle during the boil, there would be almost no evaporation and therefore almost no change in specific gravity between conditions.  Instead, I found a fairly large change in original gravity between the different conditions, probably because I did take off the lid occasionally to stir the wort.  In the future, I’ll have to take this source of variability into account.

In this experiment, the alpha-acid concentration of about 290 ppm was (unfortunately) well above the estimated minimum threshold of 210 ppm.  (The alpha-acid concentration can be computed as AA × W × 1000 / V, where AA is the alpha-acid rating of the hops (on a scale from 0 to 1), W is the weight of the hops (in grams), and V is the volume of the wort (in liters).  Therefore, the Tinseth equation will predict IBU values higher than measured IBU values, unless this concentration is taken into account.

I kept a minute-by-minute record of the decrease in temperature after flameout for each condition.  Since the volume of each condition was similar, the temperature decay was also similar for each condition.  I used a single temperature-decay function, fit to the temperatures from all five conditions, to model post-flameout temperature decay in this experiment:  temp = 0.1065t2 – 5.1294t + 211.682, with temperature temp measured in Fahrenheit and time t measured in minutes.  (While larger volumes seem to fit well with a straight line, these small volumes had a temperature decay that fit much better with a quadratic function.  In the future, I’d probably use an exponential decay function.)

The recommended scaling factor of 4.15 in the Tinseth model did, in fact, yield predicted IBU values that were much higher than measured values.  In the first experiment, it seems that the default value worked well as a compromise between the age of the beer (which, unaccounted for in the Tinseth model, would have yielded larger predicted values than measured values) and the degradation of the hops (which, given the storage conditions and alpha/beta ratio less than 1, would have yielded smaller predicted values than measured values).  In this third experiment, the storage conditions and alpha/beta ratio are probably closer to what Tinseth used when he developed his model, and so the combination of hopping rate and age of the beer yielded predicted values much greater than measured values when using the default scaling factor.  The purpose of this experiment is to compare the Tinseth and mIBU models, and so we can adjust the scaling factor in both models to fit the data, and see which model produces values closer to the measured values given the best scaling factor.  In this case, a scaling factor of 6.15 with the AA rating estimated by the detailed model (6.0%, as described below) provided the best fit of the Tinseth model to the measured IBU values.  With this scaling factor, there is an RMS error of 8.33 IBUs and a maximum difference of 16.1 IBUs (at the 0-minute condition).  (If a different AA rating is used, the same error is obtained with a different scaling factor.)

Another option for fitting the data is to explicitly account for the hopping rate and age of the beer, and use the recommended scaling factor of 4.15 in both the Tinseth and mIBU models.  We can approximate the alpha-acid solubility limit by simply limiting the alpha-acid concentration in the Tinseth equation to 260 ppm.  (Computationally, we can adjust the weight of the hops to an “effective” weight that limits the alpha-acid concentration to no more than 260 ppm at the beginning of the boil.)  We can estimate the impact of age on IBUs using an adjustment factor developed in a separate blog post: 0.33 × e0.076 ageweeks + 0.67, where ageweeks is the age of the beer in weeks.  With these modifications to the Tinseth formula and the recommended scaling factor of 4.15, there is an RMS error of 8.24 IBUs and a maximum difference of 16.1 IBUs (at the 0-minute condition).

For the mIBU model, a scaling factor of 6.60 provides the best fit to the data when not accounting for alpha acid concentration or age of the beer.  In this case, there is an RMS error of 1.92 IBUs, with a maximum difference of 3.41 IBUs (at the 0-minute condition).   When accounting for these two factors and using a scaling factor of 4.15, there is an RMS error of 1.89 IBUs, with a maximum difference of 2.74 IBUs (at the 30-minute condition).

For the more detailed model, the best fit was obtained by adjusting the AA rating, alpha/beta ratio, and decay factor to fit the data.  An AA rating of 6.0% (somewhat lower than the value of 6.64% reported by KAR), an alpha/beta ratio of 1.6 (higher than the value of 1.21 reported by KAR), and a decay factor of 0.94 provided the best fit to the data.  With these values, there is an RMS error of 1.27 IBUs and a maximum difference of 2.32 IBUs (for the 60-minute condition).  According to this model, isomerized alpha acids contributed 75%, 67%, 57%, 46%, and 25% to the IBU values of conditions A through E, respectively. Given the good storage conditions of the hops, the fairly low iso-alpha percentage for even the 60-minute boil is, in this case, due to the alpha-acid concentration above the solubility limit.

condition
A
condition
B
condition
C
condition
D
condition
E
pre-boil SG (from hydrometer)
1.062 1.062 1.062 1.062 1.062
pre-boil volume
1.30 G / 4.92 l 1.30 G / 4.92 l 1.30 G / 4.92 l 1.30 G / 4.92 l 1.30 G / 4.92 l
time of hops additions
60 min 30 min 15 min 7.5 min 0 min
post-boil SG (from hydrometer)
1.075 1.069 1.067 1.069 1.065
post-boil SG (measured by AL)
1.0760 1.0720 1.0685 1.0689 1.0658
post-boil volume 1.075 G / 4.07 l 1.12 G / 4.42 l 1.18 G / 4.47 l 1.17 G / 4.43 l 1.22 / 4.62 l
FG (measured by AL)
1.01190 1.01114 1.01008 1.01016 1.00944
measured IBUs (from AL)
46.4 35.4 26.1 21.2 16.1
IBUs from Tinseth, scale 6.15
49.2 36.6 22.6 13.0 0.0
IBUs from Tinseth, scale 4.15
44.6 35.0 22.8 13.0 0.0
IBUs from mIBU model, scale 6.60
46.8 37.1 26.3 19.3 12.7
IBUs from mIBU model, scale 4.15
45.5 38.1 28.5 20.7 14.2
IBUs from detailed model
48.73 36.37 26.82 20.50 15.05

Table 2. Measured and modeled values of the five conditions in the third experiment.  Results provided by Analysis Laboratories are indicated by “AL”.

mIBU-exp3

Figure 2. Measured IBU values (red line), IBU values from the Tinseth model (blue line), IBU values from the mIBU model (black line), and IBU values from the detailed model (green line). The Tinseth, mIBU, and detailed-model values take into account the initial alpha-acid concentration and the age of the beer.

Experiment #3: Conclusion
Results obtained (a) by adjusting the scaling factor to fit the data, or (b) by using the default scaling factor and incorporating modifications to the Tinseth formula to account for alpha-acid concentration and age of the beer, were similar.  In both cases, the mIBU approach showed an improved estimate, especially at the 0-minute and 7½-minute conditions.  In these two cases, the differences between the two models (14.2 and 7.7 IBUs, respectively) seem to be outside the range of typical random variation, with the mIBU results much closer to measured IBU values.

The detailed model also showed a good fit to the observed data.  I find it interesting that a complicated model with many parameters performed about as well, in this case, as the simpler mIBU model, after accounting for alpha-acid concentration and age of the beer.

Overall Summary
Analysis of the results indicates: (1) In the first experiment, the poor storage conditions of the hops, the low alpha/beta ratio, and the age of the beers probably caused the values predicted by the Tinseth formula (with the recommended scaling factor) to be somewhat different from the measured IBU values, but an inability to get a good value for the alpha-acid rating of the hops on brew day prevents more specific conclusions; (2) Accounting for the hopping rate, storage conditions of the hops, alpha/beta ratio, age of the beer, and other parameters in a much more detailed model of IBUs provided a better fit to the data; (3) In the third experiment, the mIBU method provided good estimates with the recommended scaling factor of 4.15, after taking into account the alpha-acid concentration and age of the beer (and with the use of well-preserved hops); and (4) Results from the third experiment show the expected increase in IBUs caused by post-flameout utilization, and that this increase was modeled well by the mIBU method.

A Summary of Factors Affecting IBUs

This blog post is excessively long.  In order to make it somewhat more manageable, here are links to the various sections:
1. Introduction
2. Definitions of IBUs
xxxxx2.1 IBU Definition from the American Society of Brewing Chemists (ASBC)
xxxxx2.2 IBU Definition from Val Peacock
3. A General Description of Factors Affecting IBUs
xxxxx3.1 Concentration of Isomerized Alpha Acids (IAA) Under Ideal Conditions
xxxxx3.2 Accounting for Post-Boil Utilization
xxxxx3.3 Adjustments to the Concentration of Isomerized Alpha Acids
xxxxx3.4 A Revised IBU Formula for nonIAA Components
xxxxxxxxxx3.4.1 Oxidized Alpha Acids
xxxxxxxxxx3.4.2 Oxidized Beta Acids
xxxxxxxxxx3.4.3 Polyphenols
xxxxxxxxxx3.4.4 Solubility of nonIAA Components
4. Available Data, Parameter Estimation, and Results
xxxxx4.1 Overview
xxxxx4.2 Sources of IBU Data
xxxxxxxxxx4.2.1 Tinseth Utilization
xxxxxxxxxx4.2.2 Peacock Hop-Storage Conditions
xxxxxxxxxx4.2.3 Personal Experiments
xxxxx4.3 Parameter Estimation and Results
5. Discussion of Results
6. Summary
References

1. Introduction
This blog post presents a summary of some of the factors that affect the measurement of International Bitterness Units (IBUs) (or simply “Bitterness Units” (BU) if you’re already international).  In order to provide as cohesive a summary as possible, I provide both qualitative and quantitative descriptions of these factors.  The purpose of the quantitative model is descriptive, not predictive.  In other words, the information here may be helpful in understanding how certain factors affect IBU values, but it may not be sufficient to predict the IBU level of your beer much better than existing predictive formulas (e.g. the Tinseth formula).  With so many interrelated factors and guesses of appropriate values for many factors, there is a very good chance that IBU values predicted from this quantitative description will not be the same as measured IBU values.  If, however, you simply want to get a better understanding of what components contribute to an IBU value, how the storbuage conditions and amount of hops used may impact IBUs, or how late hopping may decrease the relative proportion of isomerized alpha acids, then this might be the blog post for you.

The more I learn about hops, the more complex the topic becomes, with a seemingly never-ending level of detail. If you’re familiar with Alice In Wonderland, then this blog post goes only one level down the IBU rabbit hole, and it looks briefly through a number of open doors at that level without going through them.  In other words, there’s a lot of research, chemistry, opinions, known unknowns, unknown unknowns, and contradictions that I’m not going to touch on.  If you’re not familiar with Alice In Wonderland, then think of this post as an impressionist painting: if you stand back far enough, you should be able to see a complete picture.  If you look too closely and focus too much on the details, however, things that make sense in their relationship to other things may become, when isolated from the larger context, meaningless splotches.

The IBU measurement itself is not always highly regarded.  While it is often reported to be correlated with the bitterness of beer (e.g. [Priest and Stewart, p. 266]), the perception of bitterness is not linear (especially at high bitterness levels [Hieronymus, p. 184]), bitterness may have different qualities not captured by the IBU measurement [Peacock, p. 163], and the correlation between IBU levels and bitterness doesn’t hold up under every circumstance (e.g. with dry-hopping [Maye et al., p. 25]).  On the other hand, it is a universally-known and (sometimes grudgingly) accepted quantitative measurement.  This post doesn’t touch on the pros and cons of the IBU, but, accepting it at face value, tries to break it down into various components and relationships.

This post provides a summary of a large number of sources, including Val Peacock’s article “The International Bitterness Unit, its Creation and What it Measures” in Hop Flavor and Aroma (ed. Shellhammer); Mark G. Malowicki’s Masters thesis, Hop Bitter Acid Isomerization and Degradation Kinetics in a Model Wort-Boiling System; Michael L. Hall’s article “What’s Your IBU” in Zymurgy (1997); Michael J. Lewis and Tom W. Young’s chapter “Hop Chemistry and Wort Boiling” in Brewing; Mark Garetz’ article “Hop Storage: How to Get – and Keep – Your Hops’ Optimum Value” in Brewing Techniques, and his book Using Hops; Stan Hieronymus’ book For the Love of Hops; J. S. Hough et al.’s Malting and Brewing Science (volume 2); and many other theses, print, and internet sources.  If you look at the bibliography, you’ll see many publications produced under the guidance of Thomas Shellhammer.  I’ve tried to cite appropriately, and I’ve put the full bibliography at the bottom of this post.  I’ve omitted a lot of interesting details from these sources, in order to maintain a more focused narrative.

2. Definitions of IBUs
2.1 IBU Definition from the American Society of Brewing Chemists (ASBC)
Because of the complexity of hops and IBUs, it’s probably a good idea to start at a high level of description, which is deceptively simple but not very informative: An IBU is a measurement of the amount of absorption of light at 275 nm (abbreviated as A275nm) in a liquid, multiplied by 50.  The liquid in this case is not just any liquid, but beer that has been combined with twice as much iso-octane (TMP), diluted in octyl alcohol and hydrochloric acid [American Society of Brewing Chemists], and emulsified; i.e. “acidified beer.”  In mathematical form, we can say:

IBU = A275nm(beer) × 50 [1]

where IBU is the resulting IBU value, “beer” indicates the substance being analyzed (after proper acidification), and A275nm(beer) is the amount of light absorbed at 275 nm from a sample of acidified beer [Peacock, p. 158].

This measurement has been found to correlate well with the perception of bitterness in beer.  As Lewis and Young state, “the value for [IBU] is a good representation of the sensory bitterness of beer” [Lewis and Young, p. 266].  Why does this correlation exist?  There are three intertwining factors: (1) the absorption of light at a particular (ultraviolet) frequency (275 nm) through a sample, (2) the concentration of certain substances in this acidified beer that absorb light at this frequency, and (3) the perception of bitterness that is associated with these substances.  This blog post pretty much ignores the first and third factors, assuming that it is predominately those substances that absorb more light at this frequency that have a bitter taste in beer.  What this post focuses on, then, is the second factor: the concentration of substances in acidified beer that absorb light at 275 nm.  In the development of the IBU measurement, there was a deliberate decision to include not only the bitter isomerized alpha acids (abbreviated here as IAA) that are produced during the boiling of hops in wort, but also other “bittering substances” that contribute to the perception of bitterness [Peacock, p. 159], and which happen (by happy circumstance) to absorb light at 275 nm (as isomerized alpha acids do).

The amount of absorption of light at 275 nm by a sample of acidified beer, multiplied by 50 (or, more precisely, 51.2), was found to provide a good approximation to the concentration of isomerized alpha acids in typical beer of the 1960s (when the IBU measurement was developed) [Peacock, p. 161].   So, we can say:

[IAA]beer1960s = A275nm(beer1960s) × 51.2 [2]

where [IAA]beer1960s is the concentration of isomerized alpha acids in the 1960s beer (in mg of isomerized alpha acid per kg of beer, or parts per million (ppm)), and “beer1960s” on the right-hand side of the equation indicates that we’re measuring the absorption of a certain type of beer.  (Note that beer contains a number of types of substances that absorb light at 275 nm; IAA is the usually predominant, but not only, substance [Peacock, p. 159].)  The IBU value can approximately equal the concentration of IAA (i.e. Equations [1] and [2] can be approximately equal), but generally only for hops and boiling times typical of the 1960s, because of the relative concentrations of other bittering substances.

If one has a solution that contains only isomerized alpha acids and no other substances that absorb light at 275 nm, the concentration of IAA can be estimated with the following equation [Peacock, p. 161]:

[IAA]IAAsolution = A275nm(IAAsolution) × 69.68 [3]

where [IAA]IAAsolution is the concentration of isomerized alpha acids in this solution, and “IAAsolution” on the right-hand side of the equation indicates that the solution being analyzed contains only isomerized alpha acids as the relevant (light-absorbing) substance.

Figure 1(a) shows hypothetical (i.e. completely made up) data that represent absorption of light at 275 nm on the horizontal axis and the measured concentration of a substance X on the vertical axis.  (The data are fake, but the figure will hopefully be useful to illustrate some concepts.)  In this case, a line can be fit through the data to predict concentration given absorption: concentration = (69.68 × absorption) + 0.  The offset of this line is 0 (meaning that the predicted value for an absorption of 0 is a concentration of 0), and so we can ignore the offset, characterizing the relationship with a single multiplication factor (69.68).

absorptionVsConcentrationALL

Figure 1. Concentration as a function of light absorption for various circumstances. (a) Concentration of X is approximated by light absorption multiplied by 69.68.  (b) Both X and Y can have their concentration predicted by multiplying absorption by 69.68.  (c) The concentration of substance Z is predicted by light absorption multiplied by 696.8 (10 × X).  We can model the concentration of Z multiplied by a scaling factor (0.10) as a function of absorption, which allows us to treat it like substances X and Y (with a multiplication factor of 69.68).

2.2 IBU Definition from Val Peacock
This background leads us to a second high-level description of IBUs:  An IBU is an estimation of the concentration of isomerized alpha acids in typical 1960s beer, based on the combined concentration of isomerized alpha acids and other bittering substances in beer, multiplied by 5/7 [Peacock, p. 161].  In mathematical notation:

[IAA]beer1960sIBU = 5/7 × ([IAA]beer + [nonIAA]beer) [4]

where [IAA]beer1960s is the concentration of isomerized alpha acids in 1960s beer, [IAA]beer is the concentration of IAA in the beer being analyzed, “nonIAA” are “other bittering substances that aren’t isomerized alpha acids” in beer (which is not the same as “non-isomerized alpha acids,” despite the abbreviation), and [nonIAA]beer is the concentration of these substances in the beer being analyzed.

Why is there the multiplication by 5/7 in Equation [4]?  We can derive it from Equations [2] and [3] if we make three assumptions: (1) For substance X in an appropriate solution, if the absorption of light at 275 nm is zero (A275nm(X) = 0), then the concentration of X is zero ([X] = 0).  (2) There is a linear relationship between the absorption of light at 275 nm and the concentration of relevant bittering substances in beer, at least within the range of interest.  (3) The linear relationship between absorption and concentration is the same for all relevant substances in beer, namely 69.68.  The first two assumptions were made by the 1967 Analysis Committee of the European Brewery Convention that developed the unit that became the IBU [Peacock, p. 160-161], so they seem reasonable.  The third assumption is not necessarily true, but we can modify it for those cases where it isn’t true, so let’s assume it’s true for now.

Let’s start by looking at two beers that have the same amount of absorption of light at 275 nm (i.e. the same level of bitterness): one beer is a (cryogenically preserved) 1960s beer with this bitterness level, and the other beer is something you just brewed:

A275nm(beer1960s) = A275nm(beer) [5]

where beer1960s is our 1960s beer, and beer is the one just brewed.

We can then multiply the numerator and denominator of the left-hand side by 51.2, and multiply the numerator and denominator of the right-hand side by 69.89, and the relationship still holds:

(A275nm(beer1960s) × 51.2) / 51.2 = (A275nm(beer) × 69.68) / 69.68 [6]

The relevant bittering substances in beer are IAA and nonIAA (by definition), so we can replace beer in Equation [6] with (IAA + nonIAA):

(A275nm(beer1960s) × 51.2) / 51.2 = (A275nm(IAA + nonIAA) × 69.68) / 69.68 [7]

From Equation [3], we can multiply absorption of light at 275 nm by 69.68 to predict the concentration of IAA in a solution that contains only IAA as the relevant substance.  From our third assumption, nonIAA substances have the same relationship between absorption and concentration, so we can also multiply the absorption of light at 275 nm by 69.68 to predict the concentration of nonIAA in a solution that contains only nonIAA as the relevant substance.  This is illustrated in Figure 1(b), showing two different substances that have the same mapping between absorption and concentration.  Since the relevant bittering substances in beer are IAA and nonIAA, we can predict the combined concentration of (IAA + nonIAA) from the absorption of light at 275 nm in a solution containing both substances.  (For example, if we have 30 mg of IAA in 1 kg of solution, we have 30 ppm and light absorption of 0.43.  Likewise, if we have 21 mg of IAA and 9 mg of nonIAA in 1 kg of solution, we have a total of 30 mg of (IAA + nonIAA), or 30 ppm.  That 30 ppm will also have a light absorption of 0.43.)  Now we can map from absorption to concentration, using Equation [2] for the left-hand side and the third assumption for the right-hand side:

[IAA]beer1960s / 51.2 = [IAA + nonIAA]beer / 69.68 [8]

We can then bring the 51.2 from the left to the right by multiplying both sides by 51.2, and note that the combined concentration of both IAA and nonIAA in beer ([IAA + nonIAA]beer) is equal to the sum of the concentrations of the individual substances ([IAA]beer + [nonIAA]beer) :

[IAA]beer1960s = (51.2 / 69.68) × ([IAA]beer + [nonIAA]beer) [9]

Next, we can simplify 51.2/69.68 to 5/7, and note that then the right-hand side equals Peacock’s definition of an IBU, and the left-hand side indicates that this is approximately equal to the concentration of IAA in the 1960s beer:

[IAA]beer1960sIBU = 5/7 × ([IAA]beer + [nonIAA]beer) [4] = [10]

Let’s look at a quick example… say we brew a beer with pure isomerized alpha acids, and we end up with [IAA]beer equal to 10 ppm.  In this case, [nonIAA]beer is zero, and the measured IBU value will be 7.  A beer with the same bitterness level brewed in the 1960s would have had, typically, 7 ppm of IAA and (the equivalent of) 3 ppm of nonIAA, with the same net concentration of bittering substances (10 ppm).  As another example, let’s say we brew a beer with poorly-stored hops, and we end up with equal concentrations of IAA and nonIAA, at 10 ppm each.  Now our beer will have an IBU value of 14.  A typical beer with the same bitterness level brewed in the 1960s would have had an IAA level of 14 ppm and a nonIAA level of 6 ppm.

Now let’s revisit the assumption that the concentration of nonIAA substances can be predicted from light absorption with a scaling factor of 69.68.  For the sake of explanation, let’s consider a hypothetical case where nonIAA substances have a scaling factor of 696.8, ten times that of IAA, as illustrated in Figure 1(c).  We can then plot the concentration of nonIAA substances divided by 10 (i.e. [nonIAA]/10) as a function of light absorption (Figure 1(d)), and return to our desired IAA scaling factor of 69.68.  We then just need to note in our equation that we’re no longer modeling the actual concentration of nonIAA, but the scaled concentration [nonIAA]beer × scalenonIAA:

[IAA]beer1960sIBU = 5/7 × ([IAA]beer + ([nonIAA]beer × scalenonIAA)) [11]

where scalenonIAA is the scaling factor needed to convert the absorption-to-concentration relationship of nonIAA (696.8 in our example) to the absorption-to-concentration relationship of IAA (69.68).  In our example, scalenonIAA is 0.10.  In a similar way, we can consider nonIAA as a group of substances, each with its own scaling factor.  If nonIAA consists of three different substances, nonIAA1, nonIAA2, and nonIAA3, we can write the relationship like this:

[IAA]beer1960sIBU = 5/7 × ([IAA]beer + (([nonIAA1]beer × scalenonIAA1) + ([nonIAA2]beer × scalenonIAA2) + ([nonIAA3]beer × scalenonIAA3))) [12]

where scalenonIAA1 is the scaling factor for the first nonIAA substance, scalenonIAA2 is the scaling factor for the second nonIAA substance, and scalenonIAA3 is the scaling factor for the third nonIAA substance.

The IBU value was designed to be approximately equal to the concentration of isomerized alpha acids (in ppm), given the boiling time, alpha acid levels, and storage conditions of 1960s beer and hops [Peacock, p. 161].  At that time, hops seem to have been stored for long periods of time at cellar or room temperature without special packaging [Peacock, p. 160 and 162].  As Peacock explains, for a typical beer made from typical hops with a typical age and duration of hop boiling, the relative concentration of IAA to all bittering substances (IAA + nonIAA) was about 5/7, or about 71%.  In more recent times, it is much more likely that hops are stored at freezing temperatures with less oxygen for less time, which makes the relative concentration of IAA (with a typical 1960s hop boiling time) much higher.  So, an IAA concentration of 14 ppm from a 60-minute boil might yield an IBU value closer to 12.  On the other hand, it is also common now to add a lot more hops much closer to flameout, which increases the relative concentration of nonIAA components in the beer (compared with longer boiling times), as discussed below.

3. A General Description of Factors Affecting IBUs
The preceding descriptions of IBUs actually helped us.  Now we know that there are only three things we need to worry about when modeling IBUs: the concentration of isomerized alpha acids (IAA), the concentrations of other bittering substances (nonIAA), and the scaling factors for the nonIAA substances.  Thanks to Peacock’s formulation, we’ve moved from the absorption of light at 275 nm (which is very difficult for a homebrewer to  predict) to the concentrations of different substances (which we can approximate).  This section looks at these three items in more detail.

Before getting too far into this section, this might be a good place to define some terms related to alpha acids and beta acids.  Alpha acids are part of the soft resins in the hop lupulin gland, and the alpha acids contain humulone, cohumulone, and adhumulone  [Oliver, p. 34].   Older work may refer to all alpha acids as humulones [Oliver, p. 462].  Humulone is the most prevalent of the alpha acids, and the “chemistry of the other iso-alpha acids is practically identical to that of the isohumulones” [Verzele and De Keukeleire, p. 88], so the terms “humulone” and “iso-humulone” can usually be considered generally equivalent to the terms “alpha acid” and “isomerized alpha acid,” respectively (to the chagrin of Verzele and De Keukeleire [p. 89]).)  The oxidized alpha acids contain humulinone as their most important component [Algazzali, p. 13].  The soft resins also contain beta acids, which are also called lupulones [Oliver, p. 462].  The beta acids are composed of colupulone, adlupulone, lupulone, and prelupulone [Oliver, p. 260].  The oxidized beta acids contain mostly hulupones [Algazzali, p. 15].  The oxidized form of colupulone is called cohulupone [Stevens and Wright, p. 496].

3.1 Concentration of Isomerized Alpha Acids (IAA) Under Ideal Conditions
A lot of research has been conducted on modeling isomerized alpha acids.  We can use this work to estimate the IAA concentration that we need to model IBUs.  Mark Malowicki [Malowicki] provides a model for both the conversion of alpha acids into isomerized alpha acids and the subsequent conversion of isomerized alpha acids into other “uncharacterized degradation products”, as functions of time and temperature, under fairly ideal laboratory conditions (with pH 5.2 and an alpha-acid concentration of 80 ppm).  (These degradation products include humulinic acid, isobutyraldehyde, and iso-hexenoic acid [Hough et al., p. 480].)  Malowicki describes the conversion of alpha acids into isomerized alpha acids as a first-order reaction following an Arrhenius equation with a temperature-dependent rate constant k1:

k1(T) = 7.9×1011 e-11858/T [13]

where k1(T) is the rate constant for the conversion of alpha acids into isomerized alpha acids and T is the temperature in degrees Kelvin.  A first-order reaction is of the form [X] = [X]0ekt (where [X] is the concentration of substance X at time t, [X]0 is the initial concentration of X (at time 0), and e is the constant 2.71828…), so we can describe the reduction of alpha acids (due to their conversion into isomerized alpha acids) as:

[AA]wort = [AA]0 ek1(T)t [14]

where [AA]wort is the resulting concentration of alpha acids in the wort at time t (in minutes), [AA]0 is the initial concentration of alpha acids (when the hops are added to the kettle), and k1(T) is the rate constant from Equation [13].  We can assume that the reduction in alpha acids is mirrored by a corresponding increase in isomerized alpha acids (see [Malowicki p. 6]).  Second, Malowicki describes the subsequent conversion of isomerized alpha acids into degradation products, also as a first-order reaction with a temperature-dependent rate constant:

k2(T) = 4.1×1012 e-12994/T [15]

where k2(T) is the rate constant for the conversion of isomerized alpha acids into other products (and T is still in degrees Kelvin).

Both Malowicki [Malowicki, p. 27] and Yarong Huang et al. [Huang 2013] show how to combine these equations into a single model of the cumulative concentration of isomerized alpha acids as a function of time and temperature:

[IAA]wort = [AA]0 (k1(T)/(k2(T)-k1(T))) (ek1(T)t-ek2(T)t) [16]

where [IAA]wort is the concentration of isomerized alpha acids in the wort at time t and temperature T.  We can plot this equation in Figure 2, with time on the horizontal axis, relative concentration of isomerized alpha acids (compared with the initial concentration of alpha acids) on the vertical axis, and a few different steeping temperatures represented with different colors:

isoAlphaAcidConcentraion

Figure 2.  Theoretical relative concentration of isomerized alpha acids in water, as a function of time and temperature.

This plot at 100°C (212°F) looks reassuringly similar to the utilization of alpha acids in the Tinseth equation for predicting IBUs [Tinseth]; the scale is different, and the shape is somewhat different, but the general trend at boiling is similar.

Equation [16] relies on the initial concentration of alpha acids when hops are added to the boil, which we can determine from the volume of wort (in liters), the weight of hops added (in grams), and either (a) the measured percentage of alpha acids at the time of the boil or (b) the measured percentage of alpha acids at the time of harvest and the degradation of alpha acids over time.  These values will give us the concentration of alpha acids in wort (in ppm):

[AA]0 = AA × W × 1000 / V [17]

where AA is the alpha acid rating of our hops, scaled to the range 0 to 1 (i.e. AA is the proportion of the hop (cone, pellet, or extract) that is alpha acids, from 0 to 1; e.g. an alpha acid rating of 7% becomes 0.07), W is the weight of the hops in grams, the factor of 1000 converts from grams to milligrams, and V is the volume of the wort in liters.  These units combine to give us milligrams of alpha acids per kilogram of wort (since 1 liter of water equals 1 kg; we’ll ignore the extra weight of the extract), or approximately parts per million.

Is V the volume at the beginning, middle, or end of the boil?  While [AA]0 indicates the initial level of alpha acids (when hops are added to the boil), we don’t have a factor that adjusts for volume changes between that time and the end of the boil.  If we did have such a factor, it would account for the difference between these two volumes, since the final concentration of isomerized alpha acids is determined by the post-boil volume (before racking losses that reduce the volume but don’t change the concentration).  Instead of having a separate factor and applying it explicitly, we can specify that V is the post-boil volume, and the numbers will come out the same as if we started with some other volume and then accounted for evaporation.  In short: V should be post-boil wort volume (ideally not including the volume of hops).

If we don’t know the alpha acid rating of the hops when we brew our beer, we can use the initial (harvest) estimate with a model of how alpha acids degrade over time, developed by Mark Garetz [Garetz article] to estimate the alpha acid rating for hop cones:

AAAAharvest × AAdecayfactor = AAharvest × 1/ek×TF×SF×D [18]

where AAharvest is the alpha acid rating of the hops after harvest and drying, AAdecayfactor is a multiplication factor for how much the AA level has decayed over time (1.0 for fresh hops), k is a value that depends on the percent of alpha acids lost after 6 months at room temperature (which in turn depends on the variety of hops), TF is the temperature factor that describes how degradation is affected by temperature, SF is the storage factor that describes how degradation is affected by storage conditions, and D is the age of the hops, in days.  The full definition of all terms is provided in Garetz’s article [Garetz article].  For hop pellets, the rate of deterioration is much slower.  Hieronymus says that while whole hops can lose up to 100% of their alpha acids when stored at 68°F (20°C) for one year, pellets lose only 10% to 20% under the same conditions [Hieronymus, p. 230].  If you use pellets that were made immediately after harvest, and they’ve been stored in the refrigerator or freezer, it’s probably safe to assume that losses are somewhere between 5% and negligible, yielding a correction factor between 0.95 and 1.0.  If you don’t know how long the hops in your pellets were in whole-cone form, or what the storage conditions were, predicting the losses becomes quite difficult.

3.2 Accounting for Post-Boil Utilization
It’s clear that at flameout, the wort (unfortunately) does not instantaneously cool to pitching temperature.  According to Equation [16], there can still be measurable isomerization even at 158°F (70°C).  Therefore, as the wort cools after flameout, there can be a significant increase in the concentration of isomerized alpha acids.  I’ve suggested in a previous blog post that we can model this post-flameout increase in IBUs by multiplying the change in IAA concentration at time t by a temperature-dependent factor at t (with a factor of 1.0 for boiling), and then integrating the instantaneous values over time to arrive at a cumulative IAA concentration that reflects post-flameout temperature changes. In the current framework, we have a function (Equation [16]) that is already dependent on temperature, so we can take the derivative with respect to time, compute the instantaneous change in concentration at time t and temperature T, and then integrate over time t to arrive back at total concentration of IAA.  While the temperature is boiling, we will arrive at the same answer as if we didn’t take the derivative and then integrate.  As the kettle cools after flameout, we change the rate constants to reflect the lower rate of isomerization.  This can be implemented in less than 20 lines of programming code, and I’ve since noticed that Malowicki suggests this very approach, saying “for conditions in which the rate constants change with a changing temperature profile, the concentrations of iso-humulones formed during kettle boiling can be calculated using [equations] which define the differential change in alpha-acid, iso-alpha-acid, and degradation product concentrations with respect to time” [Malowicki, p. 27].

We  can take the derivative of Equation [16] in order to compute the change in IAA concentration at time t:

d([IAA]wort)/dt = [AA]0 (k1/(k2k1)) (k2e-k2tk1e-k1t) [19]

where d([IAA]wort)/dt is the rate at which the IAA concentration changes, in ppm per minute.  However, instead of using [AA]0 to compute the change at any time t, we can use equations defined by Malowicki [p. 27] to compute the change in concentration at time t using current concentration levels:

d([AA]wort)/dt = –k1 [AA]wort [20]
d([IAA]wort)/dt = k1 [AA]wortk2 [IAA]wort [21]

By using these equations, we only need to know the total concentration of these substances at the previous time step in order to compute the concentrations at time t.  Only at t=0 do we need to know the initial concentration of alpha acids.  Since we’re integrating the instantaneous values anyway, Malowicki’s formulation of the derivatives ends up being just as easy to program and incredibly more efficient at dealing with multiple hop additions.

A model of how temperature decreases after flameout can be obtained by bringing the desired volume of water to a boil, turning off the heat, measuring the temperature at one-minute intervals, and then fitting a line or polynomial to the data.  I’ve found that the temperature decrease of a 6-gallon (23-liter) volume (no lid on the kettle) can be modeled fairly well with a straight line, at least for the first 20 minutes or so:

TF(tf) = -1.344 tf + 210.64         (for temperature in Fahrenheit) [22a]
TC(tf) = -0.74667 tf + 99.244    (for temperature in Celsius) [22b]
TK(tf) = -0.74667 tf + 372.394  (for temperature in Kelvin) [22c]

where TF is the estimated temperature in Fahrenheit, -1.344 is the rate of change (°F per minute), tf is time after flameout (in minutes), and 210.64 is the approximate temperature at flameout (when tf = 0, in °F). Likewise, TC is the estimated temperature in Celsius, -0.7466 is the range of change (°C per minute), and 99.244 is the approximate temperature at flameout (in °C); TK is temperature in Kelvin modeled with -0.74667 degrees Kelvin per minute and a flameout temperature of 372.394 Kelvin.  (Note that this formula will only yield reasonable results for a typical home-brewing system with a 6-gallon (23-liter) volume and an uncovered kettle, and even these “reasonable” results will be affected by factors such as kettle material and size.  To maximize accuracy, one should measure the temperature decay of their own system and determine a formula based on system-specific data.  Fortunately, the data I’ve collected so far indicates that this function is not significantly dependent, at short time scales, on ambient temperature or relative humidity, so this function only needs to be constructed once per brewing system.)

We can model total concentration of IAA by integrating the change in [IAA] at each instant, where this amount of change is dependent on the steep time and temperature of the wort.  Rather than expressing this as a formula, I think a short amount of pseudo-code will be easier to understand (referred to as Code [1]), even if you’re not a programmer:

integrationTime = 0.001;
AA = AA0;
IAA = 0.0;
time = 0.0;
while (time <= totalTime) {
    if (time <= boilTime) 
        temp = 373.15; 
    else 
        temp = (-0.74667 * (time - boilTime)) + 372.394;
    k1 = 7.9 * pow(10,11) * exp(-11858.0/temp);
    k2 = 4.1 * pow(10,12) * exp(-12994.0/temp);
    dAA = -1.0 * k1 * AA;
    AA = AA + (dAA * integrationTime);
    dIAA = (k1 * AA) - (k2 * IAA);
    IAA = IAA + (dIAA * integrationTime);
    time = time + integrationTime;
}

where the integration time of 0.001 (called integrationTime) is sufficient for accuracy to at least two places past the decimal point.  The variable AA0 is the initial concentration of alpha acids, in ppm (see Equations [17]).  Here, AA is the total concentration of AA, or [AA], after time time (in minutes).  Likewise, IAA is the total concentration of IAA, or [IAA], after time time.  The value of totalTime is the length of the boil in minutes (boilTime) plus any time after the boil when isomerization might be happening (postBoilTime).  A loop is set up to evaluate (and integrate) all time points from 0.0 to totalTime in increments of 0.001 minutes, with time representing the current time instant.  (The ‘{‘ and ‘}’ symbols define the beginning and end of what is evaluated during each time point.)  The temp variable is temperature at the current time, in Kelvin.  The k1 and k2 variables are the rate constants from Equations [13] and [15].  The variable dAA is the derivative of [AA], or change in [AA] per minute, as defined in Equation [20].  Likewise, the variable dIAA is the derivative of [IAA], or change in [IAA] per minute, as defined in Equation [21].  The pow() function raises the first argument to the power of the second argument; the exp() function computes the exponent of its argument.  After finishing the loop, IAA will equal the total concentration of isomerized alpha acids, accounting for both time and (post-flameout) temperature.

3.3 Adjustments to the Concentration of Isomerized Alpha Acids
Now we know how to measure the concentration of IAA in wort during the boil under ideal conditions.  We can use this as the basis for a quantitative model of IBUs.  What we need next is a way to describe the differences between ideal laboratory conditions and (home) brewery conditions.  Many factors affect the rate or amount of conversion from alpha acids to isomerized alpha acids: temperature (e.g. boiling at high altitudes), pH of the wort, form of the hops (e.g. extract, pellet or cones; loose or bagged), and alpha-acid concentration in the wort.  Other factors can be described as losses of IAA that are produced in the boiling wort but never make it into the pint glass: losses due to high wort gravity, other losses during the boil, and losses due to fermentation, filtration, and aging.  We’ll look at each of these briefly in this section.  In general, if we have a loss of x%, the loss factor will be (1 – (x%/100)); for example, a loss of 10% becomes a loss factor of 0.90.  If condition A is x% more efficient than condition B, then the loss factor for condition B is (100/(100+x%)).  For example, if A is 10% more efficient than B, then B has a loss factor of 0.91 compared with A.

Before getting into too much detail, this is a good place to define a high-level term, “utilization.”  Hop utilization, U, is the ratio of the amount of isomerized alpha acids in finished beer, divided by the amount of alpha acids added to the kettle, and then multiplied by 100 to convert to percent [e.g. Lewis and Young, p. 266]:

U = 100 × (isomerized alpha acids in beer) / (alpha acids added to kettle) [23]

It should be noted that utilization refers only to the creation and loss of isomerized alpha acids, not to IBUs.

Isomerization as a Function of Temperature and pH: According to Malowicki’s equations (above), a decrease in temperature (e.g. below 100°C) will decrease utilization.  If you live at a high enough altitude, your wort will boil at less than 100°C, in which case you might want to adjust k2 and k2 in Equations [13] and [15], or include a temperature-dependent rate factor, RFtemp(T).  Post-flameout temperature dependencies are discussed above.  (Lewis and Young, Palmer, Hieronymus, and others note that the intensity of the boil affects utilization [Lewis and Young, p. 266; Palmer p. 55; Hieronymus, p. 188], which is presumably related to wort temperature.)

It is generally accepted that an increased wort pH will increase utilization [e.g. Lewis and Young, p. 266].   This was demonstrated by Kappler (at pH levels of 4.0, 5.0, 6.0, and 8.0) and by Huang (at pH levels of 4.5, 5.2, 5.5, and 6.5), looking at the degradation of isomerized alpha acids added to the boil [Kappler, p. 334; Huang, p. 50].  However, the difference in recovered IAA between pH 5.0 and 6.0 found by Kappler was not very large.  Likewise, Malowicki looked at isomerized alpha acids produced and degraded during boiling at pH values of 4.8, 5.2, 5.6, and 6.0, and found that “the dataset did not show a significant effect of pH on rate of iso-alpha-acids produced” [Malowicki, p. 38].  The typical homebrewer should aim for a mash pH in the ballpark of 5.2 to 5.4 [Palmer and Kaminski, p. 60; Noonan, p 144; Fix, p 49; Troester citing Kunze (2007) and Narziss (2005)], although a pH as high as 5.8 is still acceptable [Troester].  Because pH doesn’t have a large effect in the range of interest (5.2 to 5.8), the model of IBUs that is built in this post does not have a dependency on pH.  Therefore, the rate factor for wort pH, RFpH(pH), is set to be 1 for all values of pH.

Isomerization as a Function of Form of the Hops: It is often said that hop pellets yield higher utilization than hop cones [e.g. Daniels p. 78].  According to Lewis and Young, “the alpha acids dissolve most easily from extracts, less easily from pellets …, and least with whole hops” [Lewis and Young, p. 266].  The higher rate at which alpha acids from pellets dissolve, compared with whole cones, is because “the pelletization process ruptures the lupulin glands and spreads the resins over the hop particles, giving a larger surface area for isomerization” [Hall, p. 58].  Noonan says that “with pelletized hops, ruptured and better-exposed lupulin glands give greater utilization” [Noonan, p. 154].

Hough et al. say that alpha-acid extracts are actually much less efficient than whole or pelletized hops: “In trials using pure humulone, only 50-60% of the resin added was isomerized during [the] 1.5 h boil.  In contrast, 65-75% of the alpha acids present in hops are isomerized in the same period, which supports the view that the isomerization of humulone is catalyzed by the presence of hop cones, break, or even an inert surface such as Celite.” [Hough et al., p. 489, citing Maule, p. 288].   (Note that there is 57% isomerization of alpha-acids extract at 90 minutes according to Equation [16], which is very much in line with the statement by Hough et al.)  Maule says that “the extent of this effect may however be exaggerated by solution of oxidation products of alpha and beta acids from hops, since these would be measured as iso acids” [Maule, p. 288] using the Rigby method [Peacock, p. 158-159].  In other words, whole hops have (for example) beta acids that are oxidized during the boil (as discussed below), and these oxidized beta acids contribute to the measured bitterness and make the utilization seem higher than it actually is.  Verzele and De Keukeleire note that “the alpha acids utilization yield may be comparable for hops and for hop extracts” [Verzele and De Keukeleire, p. 102].  Because Maule provides a good reason for his doubt about the reduced efficiency of extracts, I will assume that alpha-acid extract has the same efficiency as whole hops.  Therefore, the factor for non-extract forms, RFnonExtract, has a value of 1.0, although a value around 1.27 (70%/55%) is also possible.  (Note that the extract referred to here is pure alpha acid; recently-popular CO2 extracts contain beta acids and oils in addition to the alpha acids.)

Expressing pellets as more efficient than whole hops, Noonan provides a pellet correction factor (in table form) that varies from 1.0 to 1.5, based on boil time and gravity [Noonan, p. 215].  Garetz recommends a pellet correction factor of 1.10 for boil times up to 30 minutes, otherwise a correction factor of 1.0 [Garetz book, p. 131, 141].  Hieronymus says that hop pellets are 10% to 15% more efficient than cones [Hieronymus, p. 188].  According to Michael Hall, Mosher specifies a correction factor of 1.33 [Hall, p. 62].  This leaves a wide range of possible correction factors for the use of pellets compared with whole hops (from 1.0 to 1.5), with a median factor of 1.15.  For the model of IBUs being built, I’ll assume a factor of 1.15.

Garetz also says that hops kept in a mesh bag during the boil have lower utilization than loose hops, with a correction factor of 0.91 for loosely-stuffed hops and 0.83 for a full bag [Gartez book, p. 141].  I looked at the effect of a mesh bag vs. loose hops on measured IBUs, and found no significant difference.  Marshall Schott at Brülosophy also looked at bagged vs. loose hops, and found 25 IBUs for the bagged hops and 27 IBUs for the loose hops [Schott].  While this difference is not significant, the ratio of 0.926 (25/27) is close to Garetz’s correction factor of 0.91.  In short, it’s not clear if hop cones in a mesh bag really do have lower utilization.  For the model being developed, I’ll assume that bagged hops have the same utilization as loose hops.

Isomerization as a Function of Alpha-Acid Concentration: Along with the form of the hops, the relative amount of hops (and therefore also the relative amount of alpha acids) in the wort affects utilization.  As Lewis and Young say, “a high hopping rate reduces extraction efficiency” [Lewis and Young, p. 267].  Daniels phrases this as “simply adding more and more hops does not produce a linear increase in the amount of bitterness produced” [Daniels, p. 85].  Fix also notes that the utilization rate is affected by hop concentration [Fix, p. 47].  Hough et al. say that “hops are utilized more efficiently at low rates” [Hough et al., p. 489].  Maule determined that reduced utilization at higher hop rates can only be accounted for by the “difficulty with which [isomerized alpha acid] enter[s] solution when wort [is] boiled with large amounts of [alpha acid]” [Maule, p. 290], and that “only a small portion of the resin present on the hot break … can be claimed to be truly adsorbed” [Maule, p. 289].

Garetz provides a quantitative model of the relationship between amount of hops and utilization.  He proposes a hopping-rate correction factor (also described by Hall and Daniels) that depends on volume and “desired IBU” to determine the weight of hops needed [Garetz book, p. 137; Hall, p. 63; Daniels, p. 86].  I used this equation when I was initially developing this blog post.  However, after some difficulty fitting the IBU model developed in this post to available data, and after further experimentation, I concluded that Garetz’s correction factor underestimates the effect of alpha acid concentration on utilization.

A better fit to the data available to me can be obtained by using a “soft” limit on alpha-acid solubility.  In this model, the solubility limit rises gradually above 180 ppm with increasing [AA]0, according to the equations

solubilityConst = ((-1 × solubilityChange) / [AA]limitMin) + [AA]limitMin [24]
[AA]limit = (solubilityChange / [AA]0) +  solubilityConst [25]

where initial parameter estimates are solubilityChange equals -31800 and [AA]limitMin equals 180.  Any alpha acids above [AA]limit are quickly degraded and don’t contribute to the production of isomerized alpha acids.  This limit fits well with (a) the observations of Maule indicating undissolved alpha acids at concentrations as low as 200 ppm [Maule, p. 289] and (b) a solubility limit of 300 ppm at boiling and pH 5.2 determined by Spetsig [Spetsig, 1955, p. 1423], although the effect of pH on this model needs to be better understood.  Using this approach, utilization increases linearly with alpha-acid concentration until the lowest solubility limit is reached (180 ppm); at higher concentrations, solubility and utilization increase more slowly.  For the model built in this blog post, I fit these two parameters to all available data, using the previously-determined values ([AA]limitMin = 180 ppm and solubilityChange = -31800) as a starting point.

Isomerization as a Function of Kettle Size and/or Geometry: The kettle size and/or kettle geometry may also impact utilization [Daniels, p. 78; Fix, p. 47].  As Hieronymus says, “larger kettles are more efficient, and the difference between a five-gallon homebrew system and even a 10-barrel (310-gallon) commercial brewery is startling” [Hieronymus, p. 188].  There are other claims, however, that recipes should scale linearly with kettle size, indicating no impact on utilization [e.g. Spencer].  If there is an impact, the reason for the change in utilization is not clear to me, especially since Malowicki used only tiny volumes of wort (12 ml) [Malowicki, p. 19] and obtained high utilization rates at boiling (see Figure 2).  The only quantitative description I’ve seen of this impact on utilization is in an article on BeerSmith, which says that “Hop utilization is much higher at craft brewing scales, because large boils simply extract more bitterness. … The Hop Utilization Factor … can easily be 125%, 150% or possibly more for a multi-barrel brewing system” [Smith].  It may be that the observed increase in utilization with kettle size is a reflection of longer times between flameout and cooled wort, which is already accounted for in the current model with post-boil utilization.  In short, kettle size (or wort volume) may (or may not) have an impact on utilization, with a scaling factor ranging from 1.0 (no impact) to 1.5 (large impact).  Because of the difficulty of reconciling Malowicki’s use of tiny volumes and resulting high utilization, I assume that kettle size has no impact on utilization.  Therefore, the rate factor for kettle size, RFsize(V), is assumed to be 1.

Losses Due to Wort Gravity: Utilization decreases with increasing wort gravity, at least at higher gravities [e.g. Lewis and Young, p. 266; Hieronymus, p. 188; Hall, p. 62; Daniels, p. 78; Palmer, p. 55; Malowicki, p. 44; Garetz book, p. 130; Hough et al., p. 489; Kappler, p. 334].  As Lewis and Young state, “iso alpha acids react with proteins of wort whence they are partially removed as trub or hot break” [Lewis and Young, p. 266].  As the gravity increases, the concentration of wort proteins increases, implying a greater loss of isomerized alpha acids with increasing gravity.  Kappler found losses of isomerized alpha acids at higher gravities when adding (already) isomerized alpha acids to the boil [Kappler, p. 335], indicating that higher gravity causes more isomerized alpha acids to bind with trub and settle out of solution (as opposed to slowing the rate of conversion from alpha acids to isomerized alpha acids).  Malowicki did not find a significant change in utilization at specific gravities of 1.000 and 1.040 [Malowicki, p. 39], and Garetz indicates that the lower limit for this effect is a specific gravity of 1.050 [Garetz book, p. 130].  Greg Noonan [Noonan, p. 215] provides a table of utilization as a function of boil time, original gravity, and form of the hops.  (His table simply lists “wort density” and “specific gravity”, but he defines wort density as original gravity [Noonan, p. 204].) The original gravity in his table seems to be an independent scaling factor of the other two parameters, with scaling factors of about 1.0, 0.921, 0.865, 0.842, and 0.774 at averaged gravities of 1.040, 1.058, 1.070, 1.080, and 1.090, respectively.  A line can be fit through these points to determine an original-gravity correction factor as a function of original gravity:

LFOGN(OG) = (-4.944 × OG) + 6.166    if OG > 1.045, else 1.0 [26]

where LFOGN(OG) is Noonan’s gravity loss-correction factor (expressed as an equation instead of the original table form) and OG is the original gravity.  If OG is less than or equal to 1.045, LFOGN(OG) is defined as 1.  Glenn Tinseth models the  gravity correction factor as LFWGT(WG) = 1.65 × 0.000125(WG − 1), with a scaling factor of 1.0 at around a (typical) wort gravity (WG) of 1.055.  (Tinseth uses the term “wort gravity” and suggests using the average of the (initial) boil gravity and original gravity for wort gravity [Tinseth].)  Because Malowicki measured the production of isomerized alpha acids in water (with a specific gravity of 1.0), we want to think of any increase in gravity as a reduction in the production of isomerized alpha acids, when compared with Malowicki’s work.  Since Noonan’s formula describes higher gravity as always yielding less utilization, his original-gravity correction factor is more suitable for our purposes; it also provides a compromise between the correction factors proposed by Tinseth, Rager, and Garetz [Hall, p. 61].

Other Losses During the Boil:  Isomerized alpha acids are lost during the boil in ways that are not dependent on the wort gravity.  Malowicki says that “trub, and specifically the formation of trub, leads to greatly increased losses of bitter acids” [Malowicki, p. 8; emphasis mine].  He cites work by Askew in which the use of pre-formed trub produced losses of only 5% to 9%, but the formation of trub created losses of 35% [Malowicki, p. 7-8].  Malowicki also cites Laufer and Brenner who found a 38% loss of bitter acids to trub and a 35% loss to spent hops.  Spetsig reports that about 25-30% of the bitter substances are found in the spent hops and 25-40% are found in the trub [Spetsig, 1968, p. 346].  Hall cites Hough et al., who cite Maule (1966), saying that “about 7% of the iso-alpha acids are removed with the breaks” [Hall, p. 57; Hough et al., p. 489].  Garetz says that “8-10% of the iso-alpha acids are adsorbed (meaning they cling to the surface of) the hot and cold breaks.  This number appears to be fairly constant, even given wide variations in the amount of break, composition of the wort, and the method and length of cooling” [Garetz book, p. 126].  In short, the estimated loss of isomerized alpha acids during the boil ranges from 7% to 73%, yielding a correction factor from 0.27 to 0.93, which is a bit too large of a range to be of practical value.

Losses During Fermentation: Isomerized alpha acids are also lost during fermentation [e.g. Hieronymus, p. 190]. Lewis and Young say that “during fermentation, iso-alpha-acids associate with the surface of the yeast cells present… Iso-alpha-acids, being surfactants, react with inert surfaces of all sorts and for example separate on gas bubbles to be deposited on the fermenter walls” [Lewis and Young, p. 267].  Hall describes the same process, saying that “during the fermentation process, iso-alpha acids are scrubbed by the rising CO2 and collect in the foam of the kraeusen.  This sticky foam can be blown off, skimmed off or stuck on the sides of the fermenter … Iso-alpha acids also are bound up by the yeast cells and removed when the yeast flocculates out” [Hall, p. 57].  Daniels says that the amount of loss is dependent on the amount of yeast pitched and the “extent of yeast growth during fermentation” [Daniels, p. 78].  Garetz says that there are two factors, “the total growth of the yeast crop and the amount of time the yeast stays in suspension”, and that there is a 5% variation depending on the flocculation characteristics of the yeast [Garetz book, p. 126].  He also says that if the alpha acids are mixed back into the beer at the right time, utilization is increased by 18% [Garetz book, p. 126], implying typical losses of 18%.  Fix (citing Garetz) estimates loss to yeast sediment at 10% to 20% [Fix, p. 49]. Malowicki (citing Laws et al.) reports losses during fermentation from 5% to 17% [Malowicki, p. 8] and also (citing Laufer and Brenner) losses to yeast of 10% [Malowicki, p. 7].  Spetsig reports losses of 10% to 15% [Spetsig, 1968, p.346].  Hieronymus reports losses during fermentation and packaging of 20% [Hieronymus, p. 191].  Tom Nielsen (from Sierra Nevada Brewing Co.) measured the IBUs of wort and finished beer made from 10 types of hops (9 aroma hops and 1 bittering hop) and found a fairly consistent fermentation loss of about 18% (standard deviation approximately 1.6%) [Nielsen, p. 65].  To summarize, there is IAA loss during fermentation ranging from 5% to 20%, yielding a correction factor between 0.80 and 0.95.  A factor of around 0.85 is probably the best compromise between all reported values, and so the model being developed here uses 0.85.  The flocculation factor suggested by Garetz is 0.95 for high-flocculation yeast and 1.05 for low-flocculation yeast [Garetz book, pp. 140-141].

Losses Due to Filtration and Aging:  According to Daniels, “any filtration will remove some bitterness … The addition of clarifying agents such as gelatin or PVPP may have a similar effect.” [Daniels, p. 79].  Garetz says that filtering will reduce utilization by 1.25% to 2.5%, for a filtration loss factor of about 0.98 [Garetz book, p. 141]:

LFfiltering(filtering) = 0.98 for filtered beer or 1.0 for unfiltered beer [27]

where LFfiltering(filtering) is the loss factor due to filtering, if any.

Hall says that “there are oxidation reactions that can reduce the bitterness of beer over extended storage periods” [Hall, p. 58].  According to Kaltner and Mitter, “over a storage time of 12 months, a degradation of bitter substances in various beers in a range of 10% to 15% could be analyzed” [Kaltner and Mitter, p. 37].  According to Peacock, citing results from Forster et al. (2004), beer loses 18% of  isomerized alpha acids and 14% of measured IBUs after 8 months at room temperature [Oliver, pp. 132-133, Peacock p. 164].  I am unaware of an existing model of how IBUs decrease with age for home-brewed beer stored in bottles at room temperature (which may have greater oxidation, less filtering, and other differences with commercially-bottled beer).  I therefore measured the decrease in IBUs for two home-brewed beers after 1, 2, 3, 6, 7, 13, and 52 weeks from the start of fermentation, and fit the measured hop-derived IBU decrease over time with an exponential-decay function.   If we assume that isomerized alpha acids and hop-based non-IAA components are affected by age at the same rate (which may be an incorrect assumption [Peacock, p. 163], but not unreasonable as a first approximation), we can model the loss factor for isomerized alpha acids using the same age formula determined for hop-derived IBUs:

LFage(ageweeks) = 0.35 × e-0.073×ageweeks + 0.65    with maximum ageweeks of 16 [28]

where LFage(ageweeks) is the loss factor due to age of the beer (in weeks).  After about 16 weeks, the losses seem to stabilize, and so even if the age is greater than 16 weeks, a maximum value of 16 is used.

Summary of IAA Adjustments: We can now express the concentration of IAA in the beer as a function of the concentration of IAA in the wort, multiplied by the various isomerization rate adjustment factors and IAA loss factors discussed above:

RFIAA(T, pH, hopsForm, V) = RFtemp(T) × RFpH(pH) × RFform(hopsForm) × RFsize(V) [29]
LFIAA(OG, flocculation, filtering, ageweeks) = LFOGN(OG) × LFboil × LFferment(flocculation) × LFfiltering(filtering) × LFage(ageweeks) [30]
[IAA]beer = [IAA]wort × RFIAA(T, pH, hopsForm, V) × LFIAA(OG, flocculation, filtering, ageweeks) [31]

where RFIAA is the isomerization rate factor adjustment of isomerized alpha acids, LFIAA is the loss factor for isomerized alpha acids, and [IAA]beer is the concentration of isomerized alpha acids in the finished beer.  The rate factor RFIAA is expressed as a combination of other factors, where RFtemp is a rate factor for temperature (with temperature T still in degrees Kelvin), if desired; RFpH is a rate factor for wort pH (currently a constant 1.0); RFform is the rate factor for the form of the hops (where hopsForm is “pellet”, “loose whole cones”, or “bagged whole cones”); and RFsize is the rate factor for kettle size (specified in this case with volume V).  The loss factor LFIAA is expressed as a combination of other factors, where LFOGN is Noonan’s loss factor as a function of original gravity; LFboil is the loss factor during the boil; LFferment is the loss factor due to fermentation (with flocculation being “high”, “medium”, or “low”); LFfiltering is the loss factor due to filtration (with parameter filtering being “unfiltered” or “filtered”); and LFage is the loss factor due to age (which varies with the age of the beer, ageweeks).  The concentration of IAA in the wort, [IAA]wort, can be computed using Code [1] with a limit on the concentration of dissolved alpha acids in the wort.

The only problem remaining for modeling [IAA]beer is that while we have a good idea of some factors (RFtemp, LFOGN) and a rough approximation of others (RFform, LFferment, LFfiltering, and LFage), we have very little basis for determining the remaining factor, LFboil.  But we can come back to that problem later.

3.4 A Revised IBU Formula for nonIAA Components
At this point, we have as complete a description as we’re going to get of the concentration of isomerized alpha acids in beer.  The other factor in the IBU formula (Equation [12]) is the concentration of “other bittering substances,” which we call nonIAA.

Alpha acids (before isomerization) are neither soluble [e.g. Lewis and Young, p. 259] nor bitter [Shellhammer, p. 169], but as they age and become oxidized, the resulting oxidized alpha acids (oAA) are soluble in wort and bitter [Algazzali, pp. 14-15, p. 19, p.45; Maye et al, p. 23; Hough et al., pp. 435-436; Hough et al., p. 439; Lewis and Young, p. 265].  Oxidized alpha and beta acids are also produced during the boil [Parkin, p. 11, Algazzali, p. 17; Dierckens and Verzele, p. 454; Oliver p. 471].  Oxidized beta acids (oBA) are also soluble [Algazzali, p. 16] and may be produced and contribute to bitterness in the same way as oxidized alpha acids [Malowicki, p. 2; Peacock, p. 157; Fix, p. 36; Lewis and Young, p. 265; Hall, p. 55; Lewis and Young p. 265; Oliver, p. 132; Oliver, p. 470; Parker, p. 11; Algazzali, p. 17; Hough et al., p. 489].  The formulation of the Hop Storage Index (HSI) implies that oxidized alpha (and beta) acids have optical density at 275 nm [Algazzali, p. 19].  Finally, polyphenols may be a contributing factor to the nonIAA components [e.g. Krogerus]; as Shellhammer states, “the contribution of polyphenols to beer bitterness can not be overlooked” [Shellhammer, p. 177].

I haven’t been able to find definitive (e.g. more than one source) claims on the bitterness or A275nm properties of other substances that might be considered nonIAA.  That leaves us with oxidized alpha acids, oxidized beta acids, and polyphenols as the only nonIAA components that influence the measurement of IBUs.  We can then re-write Equation [12] to be more specific, replacing the generic nonIAA1, nonIAA2, and nonIAA3 with oxidized alpha acids (oAA), oxidized beta acids (oBA) and polyphenols (PP):

IBU = 5/7 × ([IAA]beer + (([oAA]beer × scaleoAA) + ([oBA]beer × scaleoBA) + ([PP]beer × scalePP))) [32]

where [oAA]beer is the concentration of oxidized alpha acids in the beer (in ppm), scaleoAA is the non-IAA scaling factor specific to oxidized alpha acids,  [oBA]beer is the concentration of oxidized beta acids in the beer (in ppm), scaleoBA is the non-IAA scaling factor specific to oxidized beta acids, [PP]beer is the concentration of polyphenols in the beer (in ppm), and scalePP is the non-IAA scaling factor specific to polyphenols.  (Note that we can compute [IAA]beer using Code [1] and Equations [24], [25], and [31].)

3.4.1 Oxidized Alpha Acids
As hops age, the alpha and beta acids become oxidized.  The “most important group of oxidized alpha acids formed during hop aging is the humulinones” [Algazzali, p. 13].  The rate at which alpha acids oxidize during storage is determined by the form of the hops (e.g. cones or pellets), hop variety, age, temperature, and amount of exposure to oxygen [Garetz article].  Garetz has a model that predicts the amount of alpha acids remaining in hop cones, given these factors [Garetz article].  (As long as they are properly stored, pellets undergo oxidation at a much slower rate [Hieronymus, p. 230], and so Garetz’s model should only be used for whole hop cones.)  A decrease in the amount of alpha acids is mirrored by a corresponding increase in the amount of oxidized alpha acids.  The alpha acids also undergo some amount of oxidation while still on the bine [Hieronymus, p. 233] and further during the warm and highly oxygenated conditions of hop drying [e.g. Hieronymus, p. 126], and so the level of oxidized alpha acids when we get our newly-dried hops soon after harvest can be greater than zero [Maye, p. 23].  Finally, oxidized alpha acids are created during the boil [Algazzali, p. 17; Dierckens and Verzele, p. 454].

We can model the level of oxidized alpha acids (oAA) in the wort as the sum of three contributions: (1) the oAA present in the freshly-dried hops as a result of oxidation on the bine and during drying, (2) the oAA that accumulate as the hops age and deteriorate, and (3) oAA that is produced during the boil:

oAA = oAAfreshoAAstorageoAAboil [33]

where oAA is the level of oxidized alpha acids (as percent of weight of the hops), oAAfresh is the level of oxidized alpha acids in freshly-dried hops, oAAstorage is the level of oxidized alpha acids produced during storage, and oAAboil is the level of oxidized alpha acids produced during the boil; all components are expressed as percent of weight of the hops.

Based on data from Maye et al. [Maye, p. 24], I fit the level of oAA for fresh hops (with a Hop Storage Index (HSI) of 0.25 [Hough et al., p. 434]) to the model of alpha-acid decay proposed by Garetz [Garetz article], and determined that oAAfresh can be modeled reasonably well for the available data with a storage factor of 1 (loose hops), a temperature factor of 1 (20°C or 68°F), and a duration of 0.5 days.  I then fit the data in the Maye paper for higher HSI values to the loss predicted from the Garetz formula multiplied by a scaling factor of 0.022.  (I will go into much more detail on this in a future blog post.)  This leaves oAAboil as the only unknown parameter that must be searched for, expressed as the amount of alpha acids that undergo oxidation relative to the amount of available alpha acids in the boil.  How quickly are oxidized alpha acids produced during the boil?  Dierckens and Verzele say that “humulinone formation on wort boiling can be one of the first things to happen in the complex chemistry of humulone isomerization oxidation” [Dierckens and Verzele, p. 454], so I’ll assume that oAAboil reaches its maximum quickly and does not need to be a function of boil time.  We can then re-write oAA using different functions to replace oAAfresh, oAAstorage, and oAAboil:

oAAagescale = 0.022 [34]
oAA = (1 – 1/ek×1×1×0.5) + (oAAagescale × (1 – AAdecayfactor)) + (AA × oAAboilFactor) [35]

where oAAagescale is the age-related scaling factor for the oxidized alpha acids in stored hops, oAA is the same level of oxidized alpha acids in Equation [33], k is the variety-specific hop decay factor from the Garetz model, AAdecayfactor is the alpha acid decay factor from Equation [18], AA is the level of alpha acids at the start of the boil (Equation [18]), and oAAboilFactor is the relative amount of oAA produced during the boil.  This equation is specific to hop cones; some modification would be required for hop pellets, presumably a larger value of oAAfresh but a value close to zero for oAAstorage.  Since oxidized alpha acids are soluble, all of the oxidized alpha acids in the hop cones and produced during the boil are in the wort shortly after being added to the kettle.

That leaves us with two other oAA factors that we still need to account for: losses and a scaling factor.  I have not yet been able to find any description of the losses of oxidized alpha acids during the boil and fermentation, so this is a completely unknown factor.  It seems reasonable to assume that oxidized alpha acids are lost to trub, yeast, and in other ways, just as isomerized alpha acids are lost in the process of turning wort into beer.  Therefore, because the same types of losses probably occur for oxidized alpha acids as for isomerized alpha acids, we can model the oxidized alpha acid losses as the losses that affect isomerized alpha acids multiplied by some (unknown) scaling factor.  The scaling factor is a high-level correction factor for differences between losses found in isomerized alpha acids and oxidized alpha acids.  In other words,

[oAA]wort = oAA × W × 1000 / V [36]
[oAA]beer = [oAA]wort × LFIAA(OG, flocculation, filtering, ageweeks) × scaleoAAloss [37]

where [oAA]wort is the concentration of oxidized alpha acids in the wort, [oAA]beer is the concentration of oxidized alpha acids in the finished beer, W is (still) the weight of the hops in grams, V is (still) the post-boil volume of the wort in liters, LFIAA is the same IAA loss factor from Equation [30] and scaleoAAloss is the (unknown) loss scaling factor.

We also need a scaling factor in Equation [32] that scales the factor for absorption of light at 275 nm of oxidized alpha acids (unknown) to the factor for absorption of light at 275 nm of isomerized alpha acids (69.68).  Fortunately, Maye et al. provide this data; based on their Figure 7 [Maye, p. 25], the scaling factor is 0.0142/0.0130, or 1.093:

scaleoAA = 1.093 [38]

Despite the large number of parameters for modeling oAA, we end up needing to obtain estimates of only two: oAAboilFactor and scaleoAAloss.

3.4.2 Oxidized Beta Acids
As with alpha acids, the beta acids oxidize as the hops age.  The most bitter and most prevalent components of the oxidized beta acids are called hulupones [Algazzali, p. 15-16].  The oxidized beta acids are thought to contribute more to beer bitterness than the oxidized alpha acids; as Peacock notes, the “nonIAA bitterness is mostly from oxidation products of the alpha and especially the beta acids of the hops formed during hop storage”. [Peacock, p. 157; emphasis mine].  Stevens and Wright say that “It appears that the hulupones commonly contribute little more than 5% of the bittering principles in beer, although they may well furnish larger proportion under special circumstances.” [Stevens and Wright, p. 500].  Presumably, the 5% cited is with the lower hopping rates and long boil times typical of the 1950’s and 1960’s, and special circumstances might include the higher hopping rates and shorter steep times that reduce alpha-acid utilization.

We can model oxidized beta acids in a way similar to oxidized alpha acids: there are oxidized beta acids occurring in fresh hops, created during storage, and produced during the boil [Algazzali, p. 17; Stevens and Wright p. 496; Hough et al., p. 490]:

oBA = oBAfreshoBAstorageoBAboil [39]

where oBA is the level of oxidized beta acids, oBAfresh is the level of oxidized beta acids in freshly-dried hops, oBAstorage is the level of oxidized beta acids produced during storage, and oBAboil is the level of oxidized beta acids produced during the boil; all components are expressed as percent of weight of the hops.

Stevens and Wright say that oxidized beta acids are present at not more than 0.5% of the weight of the cone [Stevens and Wright, p. 500], Spetsig and Steninger note up to 3% [Spetsig and Steninger, p. 413], and Mussche found oxidized beta acids up to 1% of the weight [Mussche, p. 13].  Peacock implies that the beta acids undergo oxidation losses at approximately the same rate as the alpha acids [Peacock, p. 162].  Given the wide range of reported values of (oBAfreshoBAstorage), I’ll assume that oxidized beta acids are produced at the same levels as oxidized alpha acids both in fresh hops and during aging, but that this sum should be in the ballpark of 0.5% to 3% of the weight of the cone.  Oxidized beta acids are produced during the boil; as Spetsig notes, “it must therefore be expected that considerable part of the humulones is oxidized during wort boiling.”  [Spetsig, 1968, p. 350].  Stevens and Wright provide an estimate of the factor for oxidized beta acids produced during the boil, noting that “after heating colupulone with boiling wort for 2 hr., as much as 10% of the beta acid had been converted into cohulupone.” [Stevens and Wright, p. 500]. All of this gives formulas similar to Equations [34] and [35]:

oBAboil = 0.10 [40]
oBA = (1 – 1/ek×1×1×0.5) + (oBAagescale × (1 – AAdecayfactor)) + ((AA / ABratio) × oBAboil) [41]

where oBAboil is the amount of beta acids that undergo oxidation during the boil, namely 10% or 0.10; oBA is the same level of oxidized beta acids in Equation [39], k is the variety-specific hop decay factor from the Garetz model, oBAagescale is the age-related scaling factor, AAdecayfactor is the alpha acid decay factor from Equation [18], AA is the level of alpha acids at the start of the boil (Equation [18]), and ABratio is the ratio of alpha acids to beta acids (see, for example, Tables 2.1 through 2.3 in Principles of Brewing Science [Fix, pp. 60-62]).  This equation is also specific to hop cones; some modification would be required for hop pellets.  As with oxidized alpha acids, since oxidized beta acids are soluble, all of the oxidized beta acids that are present in the hop cones are in the wort shortly after being added to the kettle.

How quickly are the beta acids oxidized during the boil?  While the soluble polyphenols and age-oxidized alpha- and beta acids are presumably dissolved very quickly, the rate of production of oxidized beta acids during the boil might create a time dependency.  Askew notes, however, that “practically complete removal of beta acids occurred at the end of 5 min. at 95°C” [Askew, p. 18].  Precipitation and oxidation are the most ready explanations for what happens to the “removed” beta acids.  Hough et al. indicate that that the oxidized beta acids are fairly stable in the boil [Hough et al., p. 488-489]. Therefore, it seems reasonable to assume that the beta acids are oxidized quickly at the start of the boil, and that there is little or no change in oxidized beta acid levels during the boil.

That (again) leaves us with two other oxidized beta acid factors that we still need to model: losses and a scaling factor.  It seems reasonable to assume that oxidized beta acids are lost to trub, yeast, and in other ways, just as isomerized alpha acids and (presumably) oxidized alpha acids are lost.  With that assumption, we can model the oxidized beta acid losses as the losses that affect isomerized alpha acids multiplied by some (unknown) scaling factor.  In other words,

[oBA]wort = oBA × W × 1000 / V [42]
[oBA]beer = [oBA]wort × LFIAA(OG, flocculation, filtering, age) × scaleoBAloss [43]

where [oBA]wort is the concentration of oxidized beta acids in the wort, [oBA]beer is the concentration of oxidized beta acids in the finished beer, W is (still) the weight of the hops in grams, V is (still) the post-boil volume of the wort in liters, LFIAA is the same IAA loss factor from Equation [30] and scaleoBAloss is the (unknown) loss scaling factor.

We also need a scaling factor in Equation [32] that scales the factor for absorption of light at 275 nm of oxidized beta acids (unknown) to the factor for absorption of light at 275 nm of isomerized alpha acids (69.68).  Lewis and Young state that “during storage of hops alpha acids decline but presumably new bitter compounds are formed, largely from beta acids.  … if the alpha-acid to beta-acid ratio is about unity as is commonly the case, sensory bitterness remains more or less constant with storage.” [Lewis and Young, p. 261].  Since sensory bitterness and IBUs are correlated [Lewis and Young, p. 266], and since oxidized beta acids are believed to be the second-largest contributor to IBUs (after isomerized alpha acids), this statement implies that the oxidized beta acids have a relationship between light absorption and concentration that is similar to that of the isomerized alpha acids (69.68).  So, the scaling factor for oxidized beta acids (scaleoBA) should be approximately 1, with emphasis on the “approximately”.  According to Hough et al., “hulupones exhibit 80-90% of the absorption of the iso-alpha-acids at [275nm in acid solution]” [Hough et al., p. 491].  In order to convert this absorption to be the equivalent for IAA, a scaling factor of about 1/0.85 or 1.176 is implied:

scaleoBA = 1.176 [44]

Due to the large number of assumptions made and estimates obtained from the literature, we only need to obtain an estimate for two oBA parameters: oBAagescale and scaleoBAloss.  We can also constrain (oBAfresh + oBAstorage) to be between 0.005 and 0.03.

3.4.3 Polyphenols
The other nonIAA component we need to consider consists of polyphenols, which are “an extraordinarily diverse group of compounds;” the majority of those in brewing are flavonoids [McLaughlin, p. 1].  Polyphenols can come from both malted barley and hops [Hough et al., p. 471], so we should separate the PP component into PPhops and PPmalt, where PPhops is the amount of polyphenols contributed by the hops and PPmalt is the amount of polyphenols contributed by the malt.

According to Shellhammer, IBUs are in the range of 1 to 3 for unhopped beer [Shellhammer, p. 177].  In one experiment, I brewed three beers with no hops (OG 1.050, 1.070, and 1.090) and sent them out for IBU analysis at 1, 3, and 5 weeks after the start of fermentation.  From these nine values, I constructed a formula for predicting IBUs from malt polyphenols.  Because the measured values didn’t change much over the 4 weeks, this formula is dependent on original gravity but not time.  This formula, ((OG – 1.0) × 1000) × 0.025, predicts 1.25 IBUs from an OG of 1.050 and 2.25 IBUs from an OG of 1.090, which is in line with Shellhammer’s statement.  We can convert this formula from a prediction of IBUs to a prediction of (scaled) malt polyphenol concentrations if we multiply by 7/5:

[PPmalt]beer × scalePPmalt = 7/5 × (((OG – 1.0) × 1000) × 0.025) [45]

where [PPmalt]beer is the concentration of malt polyphenols in the finished beer, scalePPmalt is the scaling factor for light absorption at 275 nm, and OG is the original gravity of the beer.  We don’t need to determine the separate values of [PPmalt]beer and scalePPmalt; knowing their product is sufficient.  We can then update our estimate of IBUs in beer to separate out the contributions from hops and malt polyphenols:

IBU = 5/7 × ([IAA]beer + (([oAA]beer × scaleoAA) + ([oBA]beer × scaleoBA) + ([PPhops]beer × scalePPhops) + ([PPmalt]beer × scalePPmalt))) [46]

Hop polyphenol levels are often reported in the range from 2% to 6% of the weight of the hops [Shellhammer, p. 169; Hough et al., p. 422; Algazzali, p. 5; Verzele and De Keukeleire, p. 9], although McLaughlin reports a higher range, from 4% to 14% [McLaughlin, p. 3].  After having been added to the wort, polyphenols are removed “extensively by precipitation with proteins during wort boiling”; 80% of hop flavanols are removed in the trub when boiling hopped wort [McLaughlin, p. 7].  As Noonan phrases it, “the rolling motion of the boil causes the malt proteins to collide with and adhere to the sticky hop polyphenols” [Noonan, p. 158].  (It may be that the polyphenols are not so much removed as largely insoluble in wort.  The largest polyphenol group in hops (prenylflavonoids) are not soluble in water; all other hop polyphenol components are “soluble in water, preferably in hot water” [Forster, p. 124].  The prenylflavonoids make up about 75% to 85% of all hop polyphenols [Forster, p. 124], so only about 20% of the hop polyphenols are soluble, corresponding to 80% removal.)  Then, polyphenols are removed during fermentation, and “it seems possible that this could occur in much the same way as it does with the iso-alpha-acids” [McLaughlin, p. 7].

From this, we can construct a rough model of the concentration of hop polyphenols in wort and in beer, with an initial level of polyphenols at about 4% of the weight of the hops, a loss factor (or solubility factor) for polyphenols in the wort during the boil (LFPP) estimated at 0.20, and the same loss factors for fermentation and packaging that we have for isomerized alpha acids, LFferment and LFpackage:

[PPhops]wortPPrating × W × 1000 / V [47]
LFPP = 0.20 [48]
[PPhops]beer = [PPhops]wort × LFPP × LFferment(flocculation) × LFpackage(filtering, ageweeks) [49]

where [PPhops]wort is the concentration of hop polyphenols in the wort, PPrating is the percent of the hop weight that consists of polyphenols (similar to the AA rating for alpha acids, on the scale from 0 to 1; a value of 0.04 is a reasonable estimate), LFPP is the loss factor for polyphenols precipitated out of the wort (estimated at 0.20), [PPhops]beer is the concentration of hop polyphenols in the finished beer, and LFferment and LFpackage are the same loss factors for isomerized alpha acids.

Finally, we need a scaling factor to use the concentration of hop polyphenols in Equation [46].  According to Ellen Parkin, “an increase of 100 mg/L of polyphenols was predicted to increase the BU value by 2.2” [Parkin, p. 28], so that 1 ppm of hop polyphenols should increase the IBU by 0.022 (Equation [50]). We can consider Equation [46] in terms of hop polyphenols only, with an IAA component of zero, an oAA component of zero, an oBA component of zero, a non-zero hop polyphenol (PPhops) component, and a PPmalt component of zero (Equation [51]).  Since Equations [50] and [51] both measure IBUs from the contribution of only hop polyphenols, we can determine the value of the scaling factor for hop polyphenols (Equation [52]):

IBU = [PPhops]beer × 0.022 [50]
IBU = 5/7 × (0 + 0 + 0 + ([PPhops]beer × scalePPhops) + 0) [51]
scalePPhops = 7/5 × 0.022 = 0.0308 [52]

here [PPhops]beer is the concentration of hop polyphenols in the finished beer (in ppm) and scalePPhops is the scaling factor for hop polyphenols relative to the scaling factor for IAA.

3.4.4 Solubility of nonIAA Components
The nonIAA components (specifically, oxidized alpha and beta acids, and soluble hop and malt polyphenols) are soluble in water [e.g. Lewis and Young, p. 265; Forster, p. 124].  They do not require isomerization, which (for alpha acid isomerization) takes a significant amount of time.  Therefore, they probably contribute quickly to the measured IBU value.  This is of particular significance for hops that are added late in the boil (or at flameout, or after flameout), since they will have a significant amount of their nonIAA components quickly dissolved and contributing to IBUs, whereas the IAA level will be low due to insufficient time for isomerization.  As a result, the ratio of IAA to all bittering substances can be much lower for hops added close to flameout, even for very fresh hops.  In short, the 1960s finding that the concentration of IAA is 5/7 of the total concentration of all bittering substances reflects not only the age and storage conditions of 1960s hops, but also the typical time(s) at which hops were added to the boil in the 1960s.  Freshly-dried hops added at flameout (with 10 minutes of cooling after flameout) may yield 17 IBUs, but only 45% of that from isomerized alpha acids.

4. Available Data, Parameter Estimation, and Results
4.1 Overview
The quantitative description we now have of IBUs is still incomplete, because we don’t have useful estimates for a number of the factors.  We do, however, have Tinseth’s model for predicting IBUs under normal circumstances [Tinseth], results from a study by Val Peacock that looks at IBUs and IAA concentration as a function of hop storage conditions [Peacock, p. 162], and results from ten experiments where I’ve measured IBUs with varying hop steeping times, amounts, and temperatures.  (I provide links to each of these experiments below.)  We can make assumptions about the conditions of these studies as needed (i.e. boil gravity, post-boil volume, beta acid level, etc.) and use the data and assumptions, along with common techniques for searching a parameter space, to obtain a rough estimate of the unknown parameter values.

4.2 Sources of IBU Data
4.2.1 Tinseth Utilization
The Tinseth model is widely used for predicting IBUs.  Tinseth had “access to some handy tools and knowledgeable friends at the USDA hop labs and the Flavor Perception labs at Oregon State University,” [Tinseth] and he has “had quite a few worts and beers analyzed” [Tinseth].  Therefore, whatever model we develop should come up with estimates close to those predicted by the Tinseth model given similar conditions.  Tinseth provides a detailed description of his model and parameters at realbeer.com.  He based his model on a review of the literature and on data from the pilot brewery at Oregon State University and small breweries; he then verified the model by brewing small batches and testing the results [Hieronymus, p. 185].  In the experiments he conducted in order to validate his model, he used hops from vacuum-sealed oxygen barrier bags stored in a freezer, resulting in very low hop degradation [Tinseth emails].  Also, he took small samples at intervals throughout the boil and immediately cooled them, yielding very little post-boil utilization [Tinseth emails].

4.2.2 Peacock Hop-Storage Conditions
In an article describing IBUs, Peacock provides results of a study that looked at how the storage conditions of hops affected IBU levels [Peacock, p. 162].  He lists four storage conditions (ranging from -20°F (-29°C) to 70°F (21°C)), the relative percent of alpha and beta acids lost (based on the Hop Storage Index), the IAA levels in the finished beer, and the IBUs of the finished beer. He also provides the alpha/beta ratio of the hops used, but not the amount of hops, wort volume, or original gravity.

4.2.3 Personal Experiments
I conducted a series of ten experiments (one in two parts) that look at IBUs as a function of hop steeping time, amount of hops, and wort temperature.  Experiment 1 was a set of “standard” beers with boil times ranging from 10 to 60 minutes and immediate post-flameout cooling, in order to sync up with the Tinseth formula.  Experiments 2a and 2b were a set of beers with hops added only at flameout and held at a constant temperature for 10 or 20 minutes (from 145°F (63°C) to 212°F (100°C)), in order to evaluate the degree of utilization at sub-boiling temperatures.  Experiment 3 was a set of beers with hops added at varying times during the boil (from 0 to 60 min) and a 15-minute post-flameout natural cooling (a.k.a. a hop stand) before forced cooling.  Experiment 4 looked at utilization as a function of kettle material (stainless steel vs. aluminum) and loose vs. bagged hops.  Experiment 5 looked at the decrease in IBUs over time and utilization as a function of the amount of hops, and Experiment 6 varied some factors from Experiment 5 (amount of hops, boil time, and steep temperature) in order to estimate IAA concentrations from IBU values.  Experiments 7 through 10 looked at IBUs as a function of both alpha-acid concentration and boil time.

One of the biggest difficulties in these Experiments 1, 2, and 3 was obtaining accurate alpha-acid levels of the hops at harvest.  As a result of that difficulty, for these three experiments I allowed the IBU model parameter search (Section 4.3) to evaluate ±1 percentage point around the best estimate of alpha-acid levels at harvest.  In most of these personal experiments,  I also provided some flexibility in the alpha-beta ratios (based, when possible, on estimates from analysis of the hops at around the time of brewing) and the value of AAdecayfactor (based on estimates of how well-preserved the hops might be).  Experiments 7 through 10 used hops from the same lot number, and so I constrained the AA rating, alpha-beta ratio, and AAdecayfactor to be the same for all of these four experiments.

4.3 Parameter Estimation and Results
Using 9 IBU values based on Tinseth’s utilization function (from 10 minutes through 90 minutes at 10-minute intervals) (with typical or assumed values for AAharvest, OG, W, and V, and the values of AAdecayfactor and ABratio fit to the data), the 4 IBU values and 4 IAA values from Peacock (assuming values for original gravity and volume, and fitting the boil time, post boil time, and weight of the hops to the data), and 71 measured IBU values from my ten experiments, there are 88 data points with which to estimate the seven unknown parameter values, as well as a number of source-specific parameter values (e.g. weight of the hops in Peacock’s study).  This really isn’t enough data for a reliable estimate of all parameters, but it’s better than nothing.  It helps that these sources of data cover a number of scenarios of interest, including boil time, storage conditions of the hops, concentration of hops used, and hop steeping temperature.

Tables 1 through 11 (below) provide the known values, assumptions, estimated values, and IBU (or IAA) results for each set of data.  In addition, flocculation was set to “normal” and filtering was set to “none”.  All other parameters not being estimated were given the best-guess values noted in the previous sections.  For oxidized alpha and beta acids produced during the boil, I previously found that below-boiling temperatures may produce fewer oxidized alpha and beta acids.  I therefore assumed a linear decrease with temperature, from full oxidized-acid production (scale factor 1.0) at boiling to zero production (scale factor 0.0) at room temperature.  For Tinseth and Peacock, I assumed loose whole hops.  The alpha-acid decay factor in Tables 1 and 2, AAdecayfactor, is the result of the Garetz formula ek×TF×SF×D; I constrained the search range for this factor based on best guesses of the variables k, TF, SF, and D in each condition.

I used an iterative brute-force search over the parameter space to minimize the squared error, starting with the approximate range of each parameter and a coarse search interval.   After each iteration, I used the best estimates of each parameter to specify a smaller range, along with a smaller search interval.  The search process was stopped when best estimates were obtained with a typical search interval of 0.01.  A nested recursion was used to constrain the five unknown model parameters in an iteration to be the same for all data sources, while the unknown parameters from each experiment were searched for individually.  (I will provide java and C-code procedures of the complete IBU model, after I have a chance to publish the remaining experiments and clean up the code.)

The result of this parameter search is not an ideal solution!  We have a very large number of assumptions, a fairly large number of unknown parameters, and a relatively small amount of data.  As a result, the estimates of the parameter values will almost certainly be wrong at some level.  My hope, however, is that a slight overestimate of one factor will be balanced by a small underestimate of another factor, and on average the model will provide a cohesive, general description of the factors that contribute to IBUs.  The model and parameter settings provide a “most likely” set of values given the (limited) data.  Because of the lack of held-out test data, the resulting description of IBUs is descriptive, not predictive.  In other words, I make no guarantee of how well this model will predict your IBU values, even if you know all of the input parameter values (hops weight, volume, alpha acid level at harvest, alpha-beta ratio, storage conditions, steep time, etc.).  This model may, however, help with understanding the various factors and relative contributions of these factors to the IBU measure.

The results parameter search are: LFboil = 0.62, solubilityChange = -36000, [AA]limitMin = 210,  oAAboilFactor = 0.0, scaleoAAloss = 0.07, oBAagescale = .01, and scaleoBAloss = 0.85.  The estimated value of LFboil is fairly close to that of Malowicki’s report that the formation of trub causes losses of 35% (translating to a scaling factor of 0.65) [Malowicki, p. 7-8].  The value of zero for oAAboilFactor suggests that oxidized alpha acids produced during the boil might then become isomerized alpha acids, since alpha-acid oxidation occurs during isomerization [Dierckens and Verzele, p. 454; Askew, p. 10] and is one of the first steps in the isomerization process [Dierckens and Verzele, p. 454].  The small value of scaleoAAloss, compared with the larger value of scaleoBAloss, results in a smaller contribution of oxidized alpha acids compared with oxidized beta acids, which is also in agreement with the literature (e.g. [Peacock, p. 157]).  The value of oBAagescale, when used to compute oBAstorage, yields (oBAfresh + oBAstorage) in the ballpark of 1% for typical values of oBAfresh, which is in line with reported values from 0.5% to 3% [Stevens and Wright, p. 500; Spetsig and Steninger, p. 413; Mussche, p. 13].  All other parameters use values described in the preceding sections.

Tables 1 and 2 provides the known, assumed, and estimated values of parameters that could vary between the sources of data.  Parameters that could vary were constrained to a reasonable search range based on available data. Note that several values in the Tinseth column do not need to be the same as what Tinseth used in his experiments; as long as the same values of these parameters are used in the comparison with the current model, any values can be used.  For the Peacock study, the alpha acid rating at harvest was determined based on the data he published.  I assumed a two-barrel (62 G or 234 liter) volume for Peacock’s experiments; if this assumption is incorrect, then the estimated weight of the hops can be scaled proportionally to give the same results.

Tinseth Peacock Exp. #1 Exp. #2a Exp. #2b Exp. #3
AA at harvest
8.65% (?) 3.9% 8.0% 7.4% 8.4% 6.0%
α/β ratio 1.15 1.35 0.75 1.60 1.60 1.60
AA decay factor
0.95 0.07 to 0.83 0.75 0.90 0.85 0.94
boil time
10 to 90 min 90 min
10 to 60 min 0 min 0 min 0 to 60 min
post-boil time
0 min 60 min 0 min 10 to 20 min 10 min 15 min
post-boil temp.
N/A slow decay N/A 185°F to 212°F 145°F to 212°F fast decay
hops weight
10.0 oz 15.0 oz 0.60 oz 1.60 oz 1.60 oz 0.80 oz
wort volume
62 G (?) 62 G (?) 1.37 to 1.50 G 1.10 to 1.24 G 1.05 to 1.20 G 0.88 to 1.15 G
boil gravity
1.055 (?) 1.035 (?) 1.059 to 1.064 1.064 to 1.066 1.063 to 1.065 1.065 to 1.075

Table 1. Known values, assumed values, and best estimates of parameters that were allowed to vary between the sources of data, for the first six sources of data. If a value has no markings, it is a known value.  If a value has a question mark after it (?), it is an assumed value.  If a value is in bold face and red, it is the best estimate as determined by the parameter search.

Exp. #4 Exp. #5 Exp. #6 Exp. #7 Exp. #8 Exp. #9 Exp. #10
AA at harvest 8.1% 8.1% 8.1% 13.3% 13.3% 13.3% 13.3%
α/β ratio 1.00 1.16 1.16 3.41 3.41 3.41 3.41
AA decay factor 1.00 1.00 0.94 0.54 0.54 0.54 0.54
boil time 20 min 12 min 0 to 26.9 min 0 to 100 min 0 to 103 min 0 to 100 min 0 to 100 min
post-boil time 0 min 0 min 0 to 19 min N/A (0) N/A (0) N/A (0) N/A (0)
post-boil temp. N/A N/A 145°F N/A N/A N/A N/A
hops weight 0.75 oz 0.37 to 2.22 oz 0.37 to 2.22 oz 1.15 oz 2.923 oz 4.25 oz 6.25 oz
wort volume 1.52 to 1.61 G 1.61 to 1.65 G 1.59 to 1.63 G 8.14 to 7.78 G 8.23 to 7.73 G 8.25 to 7.65 G 8.06 to 7.51 G
boil gravity 1.056 to 1.059 1.054 to 1.056 1.055 to 1.056 1.048 to 1.051 1.049 to 1.052 1.048 to 1.052 1.049 to 1.052

Table 2. Known values, assumed values, and best estimates of parameters that were allowed to vary between the sources of data, for the remaining seven sources of data. If a value has no markings, it is a known value.  If a value has a question mark after it (?), it is an assumed value.  If a value is in bold face and red, it is the best estimate as determined by the parameter search.

Tables 3 through 11 show results from the Tinseth, Peacock, and personal experiments.  Table 3 shows the results of IBU estimation based on the Tinseth formula and based on the estimates obtained from the current model:

time 10 min
20 min 30 min 40 min 50 min 60 min 70 min 80 min 90 min
formula 7.53 12.57 15.95 18.22 19.74 20.76 21.44 21.90 22.51
estimate 8.97 12.10 14.75 16.98 18.85 20.40 21.67 22.70 23.52
diff. 1.44 -0.47 -1.21 -1.23 -0.89 -0.36 0.23 0.80 1.31

Table 3. IBU estimates from the Tinseth formula and the current model, as a function of hop steep time, and the difference (error) between the two.

Table 4 shows the IAA and IBU measured values reported by Peacock, and the results of IAA and IBU estimation from the current model:

condition -20°F 25°F 40°F 70°F
measured IAA 19.8 ppm 18.1 ppm 14.4 ppm 2.9 ppm
measured IBU 13.5 12.0 13.5 11.0
estimated IAA 17.12 ppm 15.06 ppm 11.14 ppm 1.44 ppm
estimated IBU 17.26 16.28 14.43 9.85
IAA difference
-2.68 ppm -3.04 ppm -3.26 ppm -1.46 ppm
IBU difference
3.75 4.28 0.93 -1.15

Table 4. IAA and IBU measured values and estimates from the current model, as a function of hop storage conditions.  The difference (error) between measured and estimated values is also shown.

Table 5 shows the measured and estimated IBU values from my experiment #1 (mIBU experiment #1), meant to sync up with the Tinseth formula.  The estimate of the alpha-acid rating at harvest (8.0%) is equal to the value written on the package I bought.  The estimate of the alpha/beta ratio (0.75) is not too far off from an estimate obtained by analysis of the hops’ alpha and beta values (0.862).  The degradation factor of 0.82 is reasonably close to the degradation factor estimated from the Hop Storage Index (0.72).

steep time 10 min
20 min
40 min
60 min
measured IBU
22.0 27.1 34.3 35.7
estimated IBU
20.00 25.01 31.69 38.18
IBU difference
-2.00 -2.09 -2.61 2.48

Table 5. Measured IBU values and estimated IBU values from personal experiment #1, as a function of hop steep time.  The difference (error) is also shown.

Table 6 shows the measured and estimated IBU values from my experiment #2 (mIBU experiment #2), which looked at utilization as a function of steep temperature.  In most cases, the steep time was 10 minutes, but in one case the steep time was 20 minutes.

temp/
time
212°F/
10m
200°F/
10m
190°F/
10m
185°F/
10m
192°F/
20m
212°F/
10m
175°F/
10m
165°F/
10m
155°F/
10m
145°F/
10m
meas. 33.3 28.9 30.8 25.5 35.9 40.6 23.6 24.5 23.1 21.8
est. 37.70 30.95 27.66 25.92 31.99 39.64 26.07 24.24 22.57 21.35
diff. 4.40 2.06 -3.14 0.42 -3.91 -0.95 2.47 -0.26 -0.53 -0.45

Table 6. Measured IBU values and estimated IBU values from personal experiment #2, as a function of hop steeping temperature and time.  The difference (error) is also shown.

Table 7 shows the measured and estimated IBU values from my experiment #3 (mIBU experiment #3) which combined various hop boil times with a 15-minute hop stand.  The wort was allowed to cool naturally during this 15 minutes, after which it was force-cooled.

time 0 min
7.5 min 15 min 30 min 60 min
measured
16.1 21.2 26.1 35.4 46.4
estimated 15.05 21.50 26.82 36.37 48.73
difference -1.05 0.30 0.72 0.97 2.33

Table 7. Measured IBU values and estimated IBU values from personal experiment #3, as a function of hop boil time.  The difference (error) is also shown.

Table 8 shows the measured and estimated IBU values from my experiment #4 (utilization experiment #1), which looked at utilization as a function of kettle material and form of the hops.

kettle material,
hop form
stainless steel,
loose
aluminum,
loose
aluminum,
bagged
measured
34 37 36
estimated
31.54 34.02 33.16
difference
-2.46 -2.98 -2.84

Table 8. Measured IBU values and estimated IBU values from personal experiment #4, as a function of kettle material (stainless steel or aluminum) and hop form (loose cones or bagged cones).

Table 9 shows the measured and estimated IBU values from my experiment #5 (utilization experiment #2), which looked at utilization as a function of weight of the hops.

weight
0.37 oz
0.74 oz
1.11 oz
1.48 oz
1.85 oz
2.22 oz
measured
12.84 23.64 29.91 36.25 43.19 49.20
estimated 13.12 23.90 31.26 37.31 43.60 49.33
difference 0.27 0.26 1.35 1.05 0.41 0.13

Table 9. Measured IBU values and estimated IBU values from personal experiment #5, as a function of hop weight.  The difference (error) is also shown.

Table 10 shows the measured and estimated IBU values from my experiment #6 (utilization experiment #3), which looked at variety of conditions: Condition H had hop weight of 0.37 oz and boil time of 26.9 min; Condition I had hop weight of 1.11 oz and boil time of 26.9 min; Condition J had hop weight of 1.11 oz and boil time of 12 min; Condition K had hop weight of 2.22 oz and boil time of 19.0 min; and Condition L had hop weight of 2.22 oz, with no boiling but a 19-minute hop stand held at 145°F.  Conditions H through K were immediately cooled upon flameout.

Condition
H
I
J
K
L
measured
17 43 31 56 25
estimated 18.83 44.08 30.92 57.28 24.83
difference 1.83 1.08 -0.08 1.28 -0.17

Table 10. Measured IBU values and estimated IBU values from personal experiment #6, as a function of hop boil time.  The difference (error) is also shown.

Table 11 shows the measured and estimated IBU values from my experiments #7 through #10, which looked at IBUs as a function of both boil time and alpha-acid concentration.


Exp. #7
Exp. #8
Exp. #9
Exp. #10
10 min
meas. = 8.0
est. = 7.89
diff. = -0.11
meas. = 19.5
est. = 18.15
diff. = -1.34
meas. = 20.5
est. = 24.45
diff. = 3.95
meas. = 34.0
est. = 32.59
diff. = -1.41
20 min
meas. = 11.0
est. = 10.71
diff. = -0.29
meas. = 27.5
est. = 25.29
diff. = -2.21
meas. = 30.0
est. = 33.91
diff. = 3.91
meas. = 43.0
est. = 43.69
diff. = 0.69
30 min
meas. = 14.5
est. = 13.13
diff. = -1.37
meas. = 32.5
est. = 31.41
diff. = -1.09
meas. = 39.0
est. = 42.07
diff. = 3.07
meas. = 53.0
est. = 53.29
diff. = 0.29
40 min
meas. = 16.5
est. = 15.19
diff. = -1.31
meas. = 38.0
est. = 36.64
diff. = -1.36
meas. = 48.5
est. = 49.09
diff. = 0.59
meas. = 64.0
est. = 61.54
diff. =-2.46
50 min
meas. = 19.5
est. = 16.93
diff. = -2.57
meas. = 42.5
est. = 41.07
diff. = -1.43
meas. = 51.5
est. = 55.09
diff. = 3.59
meas. = 68.0
est. = 68.60
diff. = 0.60
60 min
meas. = 22.5
est. = 23.62
diff. = 1.12
meas. = 48.0
est. = 44.84
diff. = -3.16
meas. = 59.0
est. = 60.19
diff. = 1.19
meas. = 72.5
est. = 74.59
diff. = -0.91
70 min
meas. = 28.0
est. = 27.96
diff. = -0.04
meas. = 47.5
est. = 47.97
diff. = 0.47
meas. = 62.0
est. = 64.52
diff. = 2.52
meas. = 81.0
est. = 79.68
diff. = -1.32
80 min
meas. = 32.5
est. = 31.62
diff. = -0.87
meas. = 50.0
est. = 50.56
diff. = 0.56
meas. = 66.5
est. = 68.14
diff. = 1.64
meas. = 83.0
est. = 83.97
diff. = 0.97
90 min
meas. = 33.5
est. = 34.73
diff. = 1.23
meas. = 54.0
est. = 52.68
diff. = -1.32
meas. = 69.5
est. = 71.17
diff. = 1.67
meas. = 79.0
100 min
(103 for Exp #8)
meas. = 37.0
est. = 37.32
diff. =0.32
meas. = 52.5
est. = 54.75
diff. = 2.25
meas. = 72.5
est. = 73.63
diff. = 1.12
meas. = 74.0

Table 11. Measured IBU values and estimated IBU values from personal experiments #7 through #10, as a function of hop boil time.  The difference (error) is also shown.  The values from Experiment #10 at times 90 and 100 minutes were not included in the model fitting, because the model is not capable of predicting such a decrease in IBUs.  At this point, I conjecture that the decrease in IBUs is due to changing pH at very high alpha-acid concentrations and long boil times.

5. Discussion of Results
The average difference between observed (or Tinseth model) IBU and IAA values and current model estimates is 0.03, with a standard deviation of 1.9 and a maximum difference of 4.4.  The fact that all IBU values from the set of Peacock data are overestimates and all IAA values from the same data are underestimates indicates something still sub-optimal in the model or in the parameter estimation.  From the data I’ve seen, observed IBU values can deviate quite a bit from expected values (for reasons that are still unclear to me), and so the overall results from the model do not seem excessively bad.  With a human detection threshold of 5 IBU [Daniels, p. 76], none of the errors in the model (with a maximum difference of 4.4 IBU) would be detectable by a human palate. While few, if any, of the model parameters have been estimated with great precision, the overall fit suggests that errors in one parameter estimate are, for the most part, balancing out errors in another estimate.

To the extent that parameter estimation has been reasonable, we can use this model to look at how various factors affect IBUs.  If we assume some typical brew parameters (OG 1.055, post-boil volume 5.25 G or 20 liters, a typical AA rating of 8.65%, an alpha/beta ratio of 1.4, exceptionally well-preserved hops with AAdecayfactor of 1.0, post-flameout natural cooling for 10 minutes, and taking IBU measurements one week after the start of fermentation), we can vary the amount and timing of hops additions in the model to look at the impact on IBU and IAA.  For example, 2 oz added at flameout will create 16.8 IBUs with a concentration of 10.1 ppm of IAA (44% of the IBU total), 0.1 ppm of oAA, 8.7 ppm of oBA, 18.9 ppm of hop polyphenols, and 1.9 ppm of malt polyphenols.  The same 2 oz added at 60 minutes will create 54.2 IBUs with a concentration of 61.0 ppm of IAA (83% of the IBU total), and the same 0.1 ppm of oAA, 8.7 ppm of oBA, 18.9 ppm of hop polyphenols, and 1.9 ppm of malt polyphenols.  If we triple the amount of hops, from 2 oz to 6 oz, the IBUs only increase from 54.2 to 95.4 (95.3 ppm of IAA, representing 73% of the total; 0.3 ppm of oAA, 26.0 ppm of oBA, 56.8 ppm of hop polyphenols, and 1.9 ppm of malt polyphenols).  If we add those 6 oz at flameout, we’ll get 35.9 IBUs, with only 14.3 ppm of IAA (29% of the IBU total).  If we have somewhat degraded hops (say, stored at room temperature in airtight packaging for six months) yielding an AAdecayfactor of 0.82, the 2 oz of hops added at 60 minutes will yield 47.2 IBUs, with 50.0 ppm of IAA representing 78% of the IBU total.  Adding these degraded hops at flameout will produce 16.8 IBUs (the same as the fresh hops), but with only 8.7 ppm of IAA representing 38% of the IBU total.  The lack of a strong impact on IBUs when using somewhat degraded hops is in line with reported experience [Peacock, p. 162].

Another interesting thing we can do is estimate the contribution of nonIAA components to the Tinseth formula.  While the Tinseth formula uses only the weight and alpha-acid rating of the hops to compute IBUs [Tinseth], the utilization function was fit to observed data [Pyle], which includes nonIAA components.  We can use the current detailed model to separate out the actual IAA contribution to utilization from the (implicit) nonIAA contribution.  For example, at 10 minutes before flameout, the detailed model predicts 18.1 IBUs in a (post-boil volume) alpha-acid concentration of 198.5 ppm using the Tinseth source of data.  (The Tinseth formula predicts 16.7 IBUs using the same data.)  If the IBU value was equivalent to the concentration of isomerized alpha acids, as assumed by the Tinseth equation, then at the final boil volume there would be utilization of 18.1 ppm / 198.5 ppm = 0.091 (or 9.1% utilization).  The detailed model tells us, however, that at 10 minutes the relative contribution of IAA to the IBU is only 0.48, and that the IAA concentration is 11.7 ppm, for a utilization of 0.059.  The nonIAA components contribute an “IAA equivalent” 12.9 ppm (obtained by the sum of their estimated concentrations multiplied by their scaling factors), for a total of 24.6 ppm of IAA-equivalents in 198.5 ppm of alpha acids, or an IAA-equivalent utilization of 12.4%.  If we multiply 0.124 by 51.2/69.68, we get the 0.091 that we estimated by assuming that IBUs are equivalent to the concentration of IAA.  (As a quick example, 8.80 ppm of oBA multiplied by the scaling factor of 1.176 yields 10.35 ppm of IAA equivalents obtained from oBA; the remaining 2.55 ppm comes from oAA and polyphenols.)  In the Tinseth formula, therefore, at 10 minutes about 4.8% of the 9.1% utilization is coming from nonIAA components. Because the concentration of nonIAA components doesn’t change over time, they contribute utilization of about 5% at any time point.

In general, one can think of the nonIAA components as contributing about 5% of the utilization in the Tinseth formula.  (In other words, if the Tinseth utilization is 0.22 (22%), then 0.05 (5%) can be thought of as coming from nonIAA components, and the remaining 0.17 (17%) from IAA.)  This corresponds very well with the Rager IBU formula [Pyle], which has a non-zero and roughly constant utilization of 5% (0.05) from 0 to 5 minutes, presumably accounting for nonIAA components at short boil times.

6. Summary
This post has described the various factors that contribute to the IBU, and quantified each factor as much as possible. Estimates of parameter values that could not be determined from the literature were obtained by fitting a model to the available data.

Despite the length of this post, many things have been left undiscussed.  The current model is restricted to full boil of the wort (i.e. not performing the boil at higher gravity and then diluting).  The topic of dry hopping and its impact on bitterness is left entirely to Ellen Parkin [Parkin], Maye et al. [Maye], and others.  The model is probably much less effective when it comes to the IBUs of darker beers and stouts, since dark malts may affect bitterness and the IBU value (although I’ve seen surprisingly lower-than-expected IBU values in my stouts).  The perception of bitterness is left out entirely (especially at high IBU values), as is the large topic of different bitterness qualities.  I’ve also put off a number of topics (e.g. rate of alpha-acid oxidation based on Maye et al.’s paper [Maye]) for future blog posts.

What’s the take-away message of this post?  If you’re adding hops late in the boil (or at flameout), you will probably not get a lot of bitterness from alpha acid isomerization.  You can, however, get a significant number of IBUs (and bitterness) from this hop addition, with most of the IBU value coming from nonIAA components.  Likewise, if you’re using a large amount of hops, the IBU value may be smaller than you’re expecting (due to what appears to be the solubility limit of alpha acids in boiling wort), but much of that IBU value may come from nonIAA components.  To the extent that the model development and parameter estimation has been correct, most of the contribution to nonIAA components is from oxidized beta acids produced during the boil (or during post-boil steeping).  Hopefully this post and model will help in understanding the relative contributions of isomerized alpha acids and nonIAA components to the IBU.

References

  • V. A. Algazzali, The Bitterness Intensity of Oxidized Hop Acids: Humulinones and Hulupones, Master of Science thesis (advisor: T. H. Shellhammer), Oregon State University, 2014.
  • American Society of Brewing Chemists (ASBC), ASBC Methods of Analysis, 8th edition, 1992. Transcription by Dan McConnell.
  • H. O. Askew, “Changes in Concentration of α and β Acids and of Iso-Compounds on Heating Extracts of Hops in Aqueous Solutions and Unhopped Wort,” in Journal of the Institute of Brewing, vol. 71, pp. 10-20, 1965.
  • R. Daniels, Designing Great Beers: The Ultimate Guide to Brewing Classic Beer Styles.  Brewers Publications, 2000.
  • J. Dierckens and M. Verzele, “Oxidation Products of Humulone and Their Stereoisomerism,” in Journal of the Institute of Brewing, vol. 75, pp. 453-456, 1969.
  • G. Fix, Principles of Brewing Science. Brewers Publications, 2nd edition, 1999.
  • A. Forster, “Influence of Hop Polyphenols on Beer Flavor,” in Hop Flavor and Aroma: Proceedings of the 1st International Brewers Symposium, ed. Thomas H. Shellhammer, Master Brewers Association of the Americas, 2009.
  • M. Garetz, Using Hops: The Complete Guide to Hops for the Craft Brewer. HopTech, 1st edition, 1994.
  • M. Garetz, “Hop Storage: How to Get – and Keep – Your Hops’ Optimum Value” in Brewing Techniques, January/February 1994, hosted on morebeer.com.
  • M. L. Hall, “What’s Your IBU,” in Zymurgy.  Special Edition, 1997.
  • S. Hieronymus, For the Love of Hops: The Practical Guide to Aroma, Bitterness, and the Culture of Hops.  Brewers Publications, 2012.
  • J. S. Hough, D. E. Briggs, R. Stevens, and T. W. Young, Malting and Brewing Science.  Volume 2: Hopped Wort and Beer.  Springer-Science+Business Media, B. V., 2nd edition, 1982.
  • Y. Huang, J. Tippmann, and T. Becker, “Kinetic Modeling of Hop Acids During Wort Boiling,” in International Journal of Bioscience, Biochemistry, and Bioinformatics, vol. 3, no. 1, January 2013.
  • D. Kaltner and W. Mitter, “Changed in Hop Derived Compounds During Beer Production and Aging,” in Hop Flavor and Aroma: Proceedings of the 1st International Brewers Symposium, ed. Thomas H. Shellhammer, Master Brewers Association of the Americas, 2009.
  • S. Kappler, M. Krahl, C. Geissinger, T. Becker, M. Krottenthaler, “Degradation of Iso-alpha-Acids During Wort Boiling,” in Journal of the Institute of Brewing, vol. 116, no. 4, pp. 332-338, 2010.
  • K. Krogerus, “Hop Science III: Bitterness”, in SureGork Loves Beer.  July 31, 2012.  Accessed most recently on Aug. 16, 2017.  http://beer.suregork.com/?p=2377
  • A. Lewis, “Brewing For Flavor: Hops”, in Brew Your Own (BYO), August 1995.  http://byo.com/malt/item/285-brewing-for-flavor-hops
  • M. J. Lewis and T. W. Young, Brewing. Springer Science+Business Media, 2nd edition, 2001.
  • M. G. Malowicki, Hop Bitter Acid Isomerization and Degradation Kinetics in a Model Wort-Boiling System, Master of Science thesis (advisor: T. H. Shellhammer), Oregon State University, 2005.
  • D. R. Maule, “The Fate of Humulone During Wort Boiling and Cooling”, in Journal of the Institute of Brewing, vol. 72, pp. 285-290, 1966.
  • J. P. Maye, R. Smith, and J. Leker, “Humulinone Formation in Hops and Hop Pellets and Its Implications for Dry Hopped Beers”, in MBAA Technical Quarterly, vol. 51, no. 1, pp. 23-27, 2016.
  • I. R. McLaughlin, Bitterness Modifying Properties of Hop Polyphenols, Master of Science thesis (advisor: T. H. Shellhammer), Oregon State University, 2005.
  • R. Mussche, “Quantitative Determination of Bitter Substances in Hops by Thin Layer Chromatography”, in Journal of the Institute of Brewing, vol. 81, January-February 1975.
  • T. P. Neilsen, “Character-Impact Hop Aroma Compounds in Ale,” in Hop Flavor and Aroma: Proceedings of the 1st International Brewers Symposium, ed. Thomas H. Shellhammer, Master Brewers Association of the Americas, 2009.
  • G. J. Noonan, New Brewing Lager Beer. Brewers Publications, 1996.
  • G. Oliver, The Oxford Companion to Beer, Oxford University Press, 2011.
  • J. J. Palmer, How to Brew: Everything You Need to Know to Brew Beer Right the First Time. 3rd edition, Brewers Publications, 2006.
  • J. Palmer and C. Kaminski, Water: A Comprehensive Guide for Brewers. Brewers Publications, 2013.
  • E. J. Parkin, The Influence of Polyphenols and Humulinones on Bitterness in Dry-Hopped Beer, Master of Science thesis (advisor: T. H. Shellhammer), Oregon State University, 2014.
  • N. Pyle, “Norm Pyle’s Hops FAQ”.  Accessed most recently on Aug. 16, 2017.  http://realbeer.com/hops/FAQ.html
  • V. Peacock, “The International Bitterness Unit, its Creation and What it Measures,” in Hop Flavor and Aroma: Proceedings of the 1st International Brewers Symposium, ed. Thomas H. Shellhammer, Master Brewers Association of the Americas, 2009.
  • F. G. Priest and G. G. Stewart (eds), Handbook of Brewing. 2nd edition, CRC Press Taylor & Francis Group, 2006.
  • M. Schott, “Loose vs. Bagged Kettle Hops | ExBEERiment Results!” at http://brulosophy.com.  Accessed most recently on Aug. 16, 2017.  http://brulosophy.com/2016/03/21/kettle-hops-loose-vs-bagged-exbeeriment-results/
  • T. H. Shellhammer, “Hop Components and Their Impact on the Bitterness Quality of Beer,” in Hop Flavor and Aroma: Proceedings of the 1st International Brewers Symposium, ed. Thomas H. Shellhammer, Master Brewers Association of the Americas, 2009.
  • B. Smith, “Scaling Beer Recipes for Commercial Use with BeerSmith”, in BeerSmith Home Brewing Blog, June 11, 2014.  Accessed most recently on Aug. 16, 2017. http://beersmith.com/blog/2014/06/11/scaling-beer-recipes-for-commercial-use-with-beersmith/
  • J. Spencer, “Small Scale Brewing”, in BYO, Jul/Aug 2007. Accessed most recently on Aug. 16, 2017.  https://byo.com/mead/item/1378-small-scale-brewing
  • L. O. Spetsig, “Electrolytic Constants and Solubilities of Humulinic Acid, Humulone, and Lupulone,” in Acta Chemica Scandinavica, vol. 9, pp. 1421-1424, 1955.
  • L. O. Spetsig, “The Bitter Substances of Spent Hops, Trub, and Yeast Cover: A Chromatographic Study,” in Journal of the Institute of Brewing, vol. 74, pp. 346-351, 1967.
  • L. O. Spetsig and M. Steninger, “Hulupones, A New Group of Hop Bitter Substances”, in Journal of the Institute of Brewing, vol. 66, 1960.
  • R. Stevens and D. Wright, “Evaluation of Hops [Part] X. Hulupones and the Significance of β Acids in Brewing,” in Journal of the Institute of Brewing, vol. 67, 1961.
  • G. Tinseth, “Glenn’s Hop Utilization Numbers”.  Accessed most recently on Aug. 16, 2017.  http://realbeer.com/hops/research.html
  • Tinseth emails: personal e-mail communications with Glenn Tinseth on March 16, 2016 and July 5, 2016.  (Many thanks to Prof. Tinseth for his fast and helpful responses to my out-of-the-blue queries.)
  • K. Troester, “How pH Affects Brewing”, at braukaiser.com.  Accessed most recently on Aug. 16, 2017.  http://braukaiser.com/wiki/index.php?title=How_pH_affects_brewing