def main():

    print("Enzymatic rests schedule")

    liquor_to_grist_ratio = 1.5  # qt:lbs
    grain_weight = 8.0  # lbs
    water_volume = grain_weight * liquor_to_grist_ratio  # qt

    print("")
    print("Starting with {} lbs of grain".format(grain_weight))

    target_temp = 110
    initial_temp = 70  # grain temperature without water
    sk_temp = strike_temp(target_temp, initial_temp,
                          liquor_to_grist_ratio=liquor_to_grist_ratio)

    print("")
    print("Bring {} qts of water to {} degF before adding grains".format(
        water_volume, round(sk_temp, 1)))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")

    initial_temp = sk_temp
    target_temp = 140
    infusion_temp = 210

    infusion_volume = mash_infusion(target_temp, initial_temp,
                                    grain_weight, water_volume,
                                    infusion_temp=infusion_temp)

    print("")
    print("Add {} qts of {} degF water".format(round(infusion_volume, 1), infusion_temp))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 40 minutes")

    initial_temp = target_temp
    target_temp = 158
    infusion_temp = 210
    water_volume += infusion_volume

    infusion_volume = mash_infusion(target_temp, initial_temp,
                                    grain_weight, water_volume,
                                    infusion_temp=infusion_temp)

    print("")
    print("Add {} qts of {} degF water".format(round(infusion_volume, 1), infusion_temp))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")
    print("")

    water_volume += infusion_volume
    print("You should now have {} qts of water".format(round(water_volume, 1)))
    print("Now remove the grains and continue with brewing")
def main():

    print("Enzymatic rests schedule")

    liquor_to_grist_ratio = 1.5  # qt:lbs
    grain_weight = 2.25  # lbs
    water_volume = grain_weight * liquor_to_grist_ratio  # qt

    print("")
    print("Starting with {} lbs of grain".format(grain_weight))

    target_temp = 110
    initial_temp = 70  # grain temperature without water
    sk_temp = strike_temp(target_temp,
                          initial_temp,
                          liquor_to_grist_ratio=liquor_to_grist_ratio)

    print("")
    print("Bring {} qts of water to {} degF before adding grains".format(
        water_volume, round(sk_temp, 1)))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")

    # Settled at 112 degF.  My guess is that I didn't stir the
    # water as it was heating and the thermometer read the sk_temp
    # when it was actuall hotter. It's also possible the heat from
    # the mash tun (my pot) transfers in over time.
    initial_temp = 113
    target_temp = 140
    infusion_temp = 205  # boils at 3K ft

    infusion_volume = mash_infusion(
        target_temp,
        initial_temp,
        grain_weight,
        water_volume,
        infusion_temp=infusion_temp,
    )

    print("")
    print("Add {} qts of {} degF water".format(round(infusion_volume, 2),
                                               infusion_temp))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 40 minutes")

    # Settles at 125deg F, which was an issue since I was using 212 instead of
    # 205 for the temp.  I had to add heat slowly to get it fixed to 140.

    initial_temp = target_temp
    target_temp = 158
    infusion_temp = 205  # boils at 3K ft
    # water volume is usually the addition of the infusion volume
    # It recommended 1.3qt, which I rounded up to 5.25 cups
    water_volume += 5.25 / 4.0  # += infusion_volume

    infusion_volume = mash_infusion(
        target_temp,
        initial_temp,
        grain_weight,
        water_volume,
        infusion_temp=infusion_temp,
    )

    print("")
    print("Add {} qts of {} degF water".format(round(infusion_volume, 2),
                                               infusion_temp))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")
    print("")

    water_volume += infusion_volume
    print("You should now have {} qts of water".format(round(water_volume, 2)))
    print("Now remove the grains and continue with brewing")
Example #3
0
 def test_strike_temp(self):
     temp = strike_temp(104.0, 70.0, 1.0 / 1.0)
     self.assertEquals(round(temp, 2), 110.8)
Example #4
0
def main():

    print("Enzymatic rests schedule")

    liquor_to_grist_ratio = 1.5  # qt:lbs
    grain_weight = 8.0  # lbs
    water_volume = grain_weight * liquor_to_grist_ratio  # qt

    print("")
    print("Starting with {} lbs of grain".format(grain_weight))

    target_temp = 110
    initial_temp = 70  # grain temperature without water
    sk_temp = strike_temp(target_temp,
                          initial_temp,
                          liquor_to_grist_ratio=liquor_to_grist_ratio)

    print("")
    print("Bring {} qts of water to {} degF before adding grains".format(
        water_volume, round(sk_temp, 1)))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")

    initial_temp = sk_temp
    target_temp = 140
    infusion_temp = 210

    infusion_volume = mash_infusion(
        target_temp,
        initial_temp,
        grain_weight,
        water_volume,
        infusion_temp=infusion_temp,
    )

    print("")
    print("Add {} qts of {} degF water".format(round(infusion_volume, 1),
                                               infusion_temp))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 40 minutes")

    initial_temp = target_temp
    target_temp = 158
    infusion_temp = 210
    water_volume += infusion_volume

    infusion_volume = mash_infusion(
        target_temp,
        initial_temp,
        grain_weight,
        water_volume,
        infusion_temp=infusion_temp,
    )

    print("")
    print("Add {} qts of {} degF water".format(round(infusion_volume, 1),
                                               infusion_temp))  # noqa
    print("Your temperature should then reach {} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")
    print("")

    water_volume += infusion_volume
    print("You should now have {} qts of water".format(round(water_volume, 1)))
    print("Now remove the grains and continue with brewing")
 def test_strike_temp(self):
     temp = strike_temp(104.0, 70.0, 1.0 / 1.0, )
     self.assertEquals(round(temp, 2), 110.8)
def main():

    print("Enzymatic rests schedule")
    print("")
    print("This is a 20/40/20 min schedule for temps 110/140/158 F respectively")

    altitude = 3623  # ft
    bp = boiling_point(altitude)

    liquor_to_grist_ratio = 1.5  # qt water per lbs grain
    grain_weight = 12.2 + 0.38  # lbs grain
    water_volume = grain_weight * liquor_to_grist_ratio  # qt

    # https://www.brewersfriend.com/2010/06/12/water-volume-management-in-all-grain-brewing/
    # Rule of thumb is 1/2 qt per lbs grain (or as high as 0.8 quarts)
    grain_absorbtion = 0.6 * grain_weight  # Lost to the grain taking on liquid
    dead_space = 1.0  # Lost because inability to remove all liquid
    water_loss = grain_absorbtion + dead_space
    yeast_starter_volume = 2.0  # qts of water in yeast starter

    # Do not exceed this number of qts after water loss
    max_water_volume = 7.0 * 4 + water_loss - yeast_starter_volume

    print("")
    print("Starting with {:0.2f} lbs of grain".format(grain_weight))

    target_temp = 110
    initial_temp = 70  # grain temperature without water
    sk_temp = strike_temp(target_temp, initial_temp,
                          liquor_to_grist_ratio=liquor_to_grist_ratio)

    # Recommended 18.87 qts but I've rounded up to 19.0
    actual_water_volume = 19.0
    water_volume = actual_water_volume

    print("")
    print("Bring {:0.2f} qts of water to {:0.2f} degF before adding grains".format(
        water_volume, round(sk_temp, 1)))  # noqa
    print("Your temperature should then reach {:0.2f} degF".format(target_temp))
    print("Keep your temperature here for 20 minutes")

    initial_temp = 110  # should be previous target_temp, modify from real data
    target_temp = 140
    infusion_temp = bp

    infusion_volume = mash_infusion(target_temp, initial_temp,
                                    grain_weight, water_volume,
                                    infusion_temp=infusion_temp)

    # Recommended 9.86 qts but I've rounded up to 10.0
    actual_infusion_volume = 10.0
    infusion_volume = actual_infusion_volume

    manual_heat = False
    if water_volume + infusion_volume > max_water_volume:
        infusion_volume = max_water_volume - water_volume
        water_volume = max_water_volume
        manual_heat = True
    else:
        water_volume += infusion_volume

    print("")
    print("Add {:0.2f} qts of {:0.2f} degF water".format(round(infusion_volume, 2), infusion_temp))  # noqa
    if manual_heat:
        print("Your temperature will only reach {:0.2f} degF if you add heat manually".format(target_temp))
    else:
        print("Your temperature should then reach {:0.2f} degF".format(target_temp))

    print("Keep your temperature here for 40 minutes")

    initial_temp = 140  # Should be previous target_temp, modify from real data
    target_temp = 158
    infusion_temp = bp

    infusion_volume = mash_infusion(target_temp, initial_temp,
                                    grain_weight, water_volume,
                                    infusion_temp=infusion_temp)

    manual_heat = False
    if water_volume + infusion_volume > max_water_volume:
        infusion_volume = max_water_volume - water_volume
        water_volume = max_water_volume
        manual_heat = True
    else:
        water_volume += infusion_volume

    print("")
    print("Add {:0.2f} qts of {:0.2f} degF water".format(round(infusion_volume, 2), infusion_temp))  # noqa
    if manual_heat:
        print("Your temperature will only reach {:0.2f} degF if you add heat manually".format(target_temp))
    else:
        print("Your temperature should then reach {:0.2f} degF".format(target_temp))

    print("Keep your temperature here for 20 minutes")

    print("")
    print("You should now have {:0.2f} qts of water in the mash".format(round(water_volume, 2)))
    print("Now remove the grains and continue with brewing")

    final_water_volume = water_volume - water_loss
    print("")
    print("Water lost to grain will be approximately {:0.2f} quarts".format(water_loss))
    print("Leaving you {:0.2f} quarts in your brew or {:0.2f} gallons".format(final_water_volume,
                                                                              final_water_volume / 4.0))
    print("Your yeast starter will make up additional volume of {:0.2f} quarts".format(yeast_starter_volume))

    """