beerxml 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ coverage/*
6
+ doc/*
7
+ .yardoc/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in beerxml.gemspec
4
+ gemspec
@@ -0,0 +1,7 @@
1
+ BeerXML.rb
2
+ ==========
3
+
4
+ A ruby library for parsing and generating BeerXML documents (http://www.beerxml.com/). Also contains a lot of useful brewing calculations, conversions, and other tools.
5
+
6
+ Version 0.0.1
7
+ -------------
@@ -0,0 +1,19 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ task :default => 'spec'
5
+
6
+ require 'rspec/core/rake_task'
7
+ RSpec::Core::RakeTask.new(:spec) do |t|
8
+ t.rspec_opts = "-c -f d"
9
+ end
10
+ RSpec::Core::RakeTask.new(:rcov) do |t|
11
+ t.rspec_opts = "-c -f d"
12
+ t.rcov = true
13
+ end
14
+
15
+ require 'yard'
16
+ YARD::Rake::YardocTask.new(:doc) do |t|
17
+ version = Beerxml::VERSION
18
+ t.options = ["--title", "beerxml #{version}"]
19
+ end
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "beerxml/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "beerxml"
7
+ s.version = Beerxml::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Brian Palmer"]
10
+ s.email = ["brian@codekitchen.net"]
11
+ s.homepage = "https://github.com/codekitchen/beerxml"
12
+ s.summary = %{Library for parsing and generating beerxml (http://www.beerxml.com/)}
13
+ s.description = %{Library for parsing and generating beerxml (http://www.beerxml.com/).\nMore than that, this library also contains various methods for doing calculations on beer ingredients and recipes, among other helpers.}
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ s.require_paths = ["lib"]
19
+
20
+ s.add_dependency "nokogiri", "~> 1.4"
21
+ s.add_dependency "dm-core", "~> 1.0"
22
+ s.add_dependency "dm-validations", "~> 1.0"
23
+ s.add_dependency "dm-types", "~> 1.0"
24
+
25
+ s.add_development_dependency "rspec", "~> 2.0"
26
+ s.add_development_dependency "ruby-debug"
27
+ s.add_development_dependency "rcov"
28
+ s.add_development_dependency "yard"
29
+ end
@@ -0,0 +1,4 @@
1
+ Beerxml.com Examples
2
+ ====================
3
+
4
+ These sample XML files were all taken from http://www.beerxml.com/beerxml.htm
@@ -0,0 +1,56 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!-- BeerXML Format - Generated by BeerSmith - see www.beersmith.com -->
3
+ <EQUIPMENTS>
4
+ <EQUIPMENT>
5
+ <NAME>Brew Pot (4 Gallon)</NAME>
6
+ <VERSION>1</VERSION>
7
+ <BOIL_SIZE>12.30612600</BOIL_SIZE>
8
+ <BATCH_SIZE>18.927168</BATCH_SIZE>
9
+ <TUN_VOLUME>15.14173400</TUN_VOLUME>
10
+ <TUN_WEIGHT>1.814368</TUN_WEIGHT>
11
+ <TUN_SPECIFIC_HEAT>0.120</TUN_SPECIFIC_HEAT>
12
+ <TOP_UP_WATER>8.51722600</TOP_UP_WATER>
13
+ <TRUB_CHILLER_LOSS>0.00000000</TRUB_CHILLER_LOSS>
14
+ <EVAP_RATE>9.0</EVAP_RATE>
15
+ <BOIL_TIME>60.0</BOIL_TIME>
16
+ <CALC_BOIL_VOLUME>TRUE</CALC_BOIL_VOLUME>
17
+ <LAUTER_DEADSPACE>0.94635800</LAUTER_DEADSPACE>
18
+ <TOP_UP_KETTLE>0.00000000</TOP_UP_KETTLE>
19
+ <HOP_UTILIZATION>100.0</HOP_UTILIZATION>
20
+ <NOTES>Simple Brew Pot with a 4 Gallon Capacity - leaving a workable boil volume of around 3.25 gal. Used for extract or partial mash brewing.</NOTES>
21
+ <DISPLAY_BOIL_SIZE>3.25 gal</DISPLAY_BOIL_SIZE>
22
+ <DISPLAY_BATCH_SIZE>5.00 gal</DISPLAY_BATCH_SIZE>
23
+ <DISPLAY_TUN_VOLUME>4.00 gal</DISPLAY_TUN_VOLUME>
24
+ <DISPLAY_TUN_WEIGHT>4.00 lb</DISPLAY_TUN_WEIGHT>
25
+ <DISPLAY_TOP_UP_WATER>2.25 gal</DISPLAY_TOP_UP_WATER>
26
+ <DISPLAY_TRUB_CHILLER_LOSS>0.00 gal</DISPLAY_TRUB_CHILLER_LOSS>
27
+ <DISPLAY_LAUTER_DEADSPACE>0.25 gal</DISPLAY_LAUTER_DEADSPACE>
28
+ <DISPLAY_TOP_UP_KETTLE>0.00 gal</DISPLAY_TOP_UP_KETTLE>
29
+ </EQUIPMENT>
30
+ <EQUIPMENT>
31
+ <NAME>Brew Pot (6+gal) and Igloo/Gott Cooler (5 Gal)</NAME>
32
+ <VERSION>1</VERSION>
33
+ <BOIL_SIZE>22.70566900</BOIL_SIZE>
34
+ <BATCH_SIZE>18.927168</BATCH_SIZE>
35
+ <TUN_VOLUME>18.92716800</TUN_VOLUME>
36
+ <TUN_WEIGHT>1.814368</TUN_WEIGHT>
37
+ <TUN_SPECIFIC_HEAT>0.300</TUN_SPECIFIC_HEAT>
38
+ <TOP_UP_WATER>0.00000000</TOP_UP_WATER>
39
+ <TRUB_CHILLER_LOSS>0.94635800</TRUB_CHILLER_LOSS>
40
+ <EVAP_RATE>9.0</EVAP_RATE>
41
+ <BOIL_TIME>60.0</BOIL_TIME>
42
+ <CALC_BOIL_VOLUME>TRUE</CALC_BOIL_VOLUME>
43
+ <LAUTER_DEADSPACE>0.94635800</LAUTER_DEADSPACE>
44
+ <TOP_UP_KETTLE>0.00000000</TOP_UP_KETTLE>
45
+ <HOP_UTILIZATION>100.0</HOP_UTILIZATION>
46
+ <NOTES>Popular all grain setup. 5 Gallon Gott or Igloo cooler as mash tun with false bottom, and 7-9 gallon brewpot capable of boiling at least 6 gallons of wort. Primarily used for single infusion mashes.</NOTES>
47
+ <DISPLAY_BOIL_SIZE>6.00 gal</DISPLAY_BOIL_SIZE>
48
+ <DISPLAY_BATCH_SIZE>5.00 gal</DISPLAY_BATCH_SIZE>
49
+ <DISPLAY_TUN_VOLUME>5.00 gal</DISPLAY_TUN_VOLUME>
50
+ <DISPLAY_TUN_WEIGHT>4.00 lb</DISPLAY_TUN_WEIGHT>
51
+ <DISPLAY_TOP_UP_WATER>0.00 gal</DISPLAY_TOP_UP_WATER>
52
+ <DISPLAY_TRUB_CHILLER_LOSS>0.25 gal</DISPLAY_TRUB_CHILLER_LOSS>
53
+ <DISPLAY_LAUTER_DEADSPACE>0.25 gal</DISPLAY_LAUTER_DEADSPACE>
54
+ <DISPLAY_TOP_UP_KETTLE>0.00 gal</DISPLAY_TOP_UP_KETTLE>
55
+ </EQUIPMENT>
56
+ </EQUIPMENTS>
@@ -0,0 +1,99 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!-- BeerXML Format - Generated by BeerSmith - see www.beersmith.com -->
3
+ <FERMENTABLES>
4
+ <FERMENTABLE>
5
+ <NAME>Acid Malt</NAME>
6
+ <VERSION>1</VERSION>
7
+ <TYPE>Grain</TYPE>
8
+ <AMOUNT>0.000000</AMOUNT>
9
+ <YIELD>58.7</YIELD>
10
+ <COLOR>3.0</COLOR>
11
+ <ADD_AFTER_BOIL>FALSE</ADD_AFTER_BOIL>
12
+ <ORIGIN>Germany</ORIGIN>
13
+ <SUPPLIER></SUPPLIER>
14
+ <NOTES>Acid malt contains acids from natural lactic acids. Used by German brewers to adjust malt PH without chemicals to adhere to German purity laws. Also enhances the head retention. </NOTES>
15
+ <COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
16
+ <MOISTURE>4.0</MOISTURE>
17
+ <DIASTATIC_POWER>0.0</DIASTATIC_POWER>
18
+ <PROTEIN>6.0</PROTEIN>
19
+ <MAX_IN_BATCH>10.0</MAX_IN_BATCH>
20
+ <RECOMMEND_MASH>TRUE</RECOMMEND_MASH>
21
+ <IBU_GAL_PER_LB>0.000</IBU_GAL_PER_LB>
22
+ <DISPLAY_AMOUNT>0.00 lb</DISPLAY_AMOUNT>
23
+ <INVENTORY>0.00 lb</INVENTORY>
24
+ <POTENTIAL >1.027</POTENTIAL>
25
+ <DISPLAY_COLOR>3.0 SRM</DISPLAY_COLOR>
26
+ </FERMENTABLE>
27
+ <FERMENTABLE>
28
+ <NAME>Brown Malt</NAME>
29
+ <VERSION>1</VERSION>
30
+ <TYPE>Grain</TYPE>
31
+ <AMOUNT>0.000000</AMOUNT>
32
+ <YIELD>70.0</YIELD>
33
+ <COLOR>65.0</COLOR>
34
+ <ADD_AFTER_BOIL>FALSE</ADD_AFTER_BOIL>
35
+ <ORIGIN>United Kingdom</ORIGIN>
36
+ <SUPPLIER></SUPPLIER>
37
+ <NOTES>Imparts a dry, biscuit flavor. Used in nut brown ales, porters and some Belgian ales.</NOTES>
38
+ <COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
39
+ <MOISTURE>4.0</MOISTURE>
40
+ <DIASTATIC_POWER>0.0</DIASTATIC_POWER>
41
+ <PROTEIN>0.0</PROTEIN>
42
+ <MAX_IN_BATCH>10.0</MAX_IN_BATCH>
43
+ <RECOMMEND_MASH>TRUE</RECOMMEND_MASH>
44
+ <IBU_GAL_PER_LB>0.000</IBU_GAL_PER_LB>
45
+ <DISPLAY_AMOUNT>0.00 lb</DISPLAY_AMOUNT>
46
+ <INVENTORY>0.00 lb</INVENTORY>
47
+ <POTENTIAL >1.032</POTENTIAL>
48
+ <DISPLAY_COLOR>65.0 SRM</DISPLAY_COLOR>
49
+ </FERMENTABLE>
50
+ <FERMENTABLE>
51
+ <NAME>Munich Malt</NAME>
52
+ <VERSION>1</VERSION>
53
+ <TYPE>Grain</TYPE>
54
+ <AMOUNT>0.000000</AMOUNT>
55
+ <YIELD>80.0</YIELD>
56
+ <COLOR>9.0</COLOR>
57
+ <ADD_AFTER_BOIL>FALSE</ADD_AFTER_BOIL>
58
+ <ORIGIN>Germany</ORIGIN>
59
+ <SUPPLIER></SUPPLIER>
60
+ <NOTES>Malty-sweet flavor characteristic and adds a reddish amber color to the beer.
61
+ Does not contribute signficantly to body or head retention.
62
+ Use for: Bock, Porter, Marzen, Oktoberfest beers</NOTES>
63
+ <COARSE_FINE_DIFF>1.3</COARSE_FINE_DIFF>
64
+ <MOISTURE>5.0</MOISTURE>
65
+ <DIASTATIC_POWER>72.0</DIASTATIC_POWER>
66
+ <PROTEIN>11.5</PROTEIN>
67
+ <MAX_IN_BATCH>80.0</MAX_IN_BATCH>
68
+ <RECOMMEND_MASH>TRUE</RECOMMEND_MASH>
69
+ <IBU_GAL_PER_LB>0.000</IBU_GAL_PER_LB>
70
+ <DISPLAY_AMOUNT>0.00 lb</DISPLAY_AMOUNT>
71
+ <INVENTORY>0.00 lb</INVENTORY>
72
+ <POTENTIAL >1.037</POTENTIAL>
73
+ <DISPLAY_COLOR>9.0 SRM</DISPLAY_COLOR>
74
+ </FERMENTABLE>
75
+ <FERMENTABLE>
76
+ <NAME>Pale Malt (2 Row) UK</NAME>
77
+ <VERSION>1</VERSION>
78
+ <TYPE>Grain</TYPE>
79
+ <AMOUNT>0.000000</AMOUNT>
80
+ <YIELD>78.0</YIELD>
81
+ <COLOR>3.0</COLOR>
82
+ <ADD_AFTER_BOIL>FALSE</ADD_AFTER_BOIL>
83
+ <ORIGIN>United Kingdom</ORIGIN>
84
+ <SUPPLIER></SUPPLIER>
85
+ <NOTES>Base malt for all English beer styles
86
+ Lower diastatic power than American 2 Row Pale Malt</NOTES>
87
+ <COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
88
+ <MOISTURE>4.0</MOISTURE>
89
+ <DIASTATIC_POWER>45.0</DIASTATIC_POWER>
90
+ <PROTEIN>10.1</PROTEIN>
91
+ <MAX_IN_BATCH>100.0</MAX_IN_BATCH>
92
+ <RECOMMEND_MASH>TRUE</RECOMMEND_MASH>
93
+ <IBU_GAL_PER_LB>0.000</IBU_GAL_PER_LB>
94
+ <DISPLAY_AMOUNT>0.00 lb</DISPLAY_AMOUNT>
95
+ <INVENTORY>0.00 lb</INVENTORY>
96
+ <POTENTIAL >1.036</POTENTIAL>
97
+ <DISPLAY_COLOR>3.0 SRM</DISPLAY_COLOR>
98
+ </FERMENTABLE>
99
+ </FERMENTABLES>
@@ -0,0 +1,105 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!-- BeerXML Format - Generated by BeerSmith - see www.beersmith.com -->
3
+ <HOPS>
4
+ <HOP>
5
+ <NAME>Cascade</NAME>
6
+ <VERSION>1</VERSION>
7
+ <ORIGIN>US</ORIGIN>
8
+ <ALPHA>5.50</ALPHA>
9
+ <AMOUNT>0.0000000</AMOUNT>
10
+ <USE>Boil</USE>
11
+ <TIME>0.000</TIME>
12
+ <NOTES>Use For: American ales and lagers
13
+ Aroma: Strong spicy, floral, grapefriut character
14
+ Substitutes: Centennial
15
+ Examples: Sierra Nevade Pale Ale, Anchor Liberty Ale
16
+ A hops with Northern Brewers Heritage</NOTES>
17
+ <TYPE>Both</TYPE>
18
+ <FORM>Pellet</FORM>
19
+ <BETA>6.00</BETA>
20
+ <HSI>50.0</HSI>
21
+ <DISPLAY_AMOUNT>0.00 oz</DISPLAY_AMOUNT>
22
+ <INVENTORY>0.00 oz</INVENTORY>
23
+ <DISPLAY_TIME>-</DISPLAY_TIME>
24
+ </HOP>
25
+ <HOP>
26
+ <NAME>Galena</NAME>
27
+ <VERSION>1</VERSION>
28
+ <ORIGIN>US</ORIGIN>
29
+ <ALPHA>13.00</ALPHA>
30
+ <AMOUNT>0.0000000</AMOUNT>
31
+ <USE>Boil</USE>
32
+ <TIME>0.000</TIME>
33
+ <NOTES>Use for: General bittering hops for all beers
34
+ Aroma: Strong, clean, balanced bittering
35
+ Substitute: Eroica, Northern Brewer, Cluster, Chinook
36
+ Examples: Catamount Porter</NOTES>
37
+ <TYPE>Bittering</TYPE>
38
+ <FORM>Pellet</FORM>
39
+ <BETA>7.50</BETA>
40
+ <HSI>15.0</HSI>
41
+ <DISPLAY_AMOUNT>0.00 oz</DISPLAY_AMOUNT>
42
+ <INVENTORY>0.00 oz</INVENTORY>
43
+ <DISPLAY_TIME>-</DISPLAY_TIME>
44
+ </HOP>
45
+ <HOP>
46
+ <NAME>Goldings, B.C.</NAME>
47
+ <VERSION>1</VERSION>
48
+ <ORIGIN>Canada</ORIGIN>
49
+ <ALPHA>5.00</ALPHA>
50
+ <AMOUNT>0.0000000</AMOUNT>
51
+ <USE>Boil</USE>
52
+ <TIME>0.000</TIME>
53
+ <NOTES>Used for: Bittering and finishing British ales, bitters, porters and stouts.
54
+ Aroma: Spicy, floral, rounded mild aroma.
55
+ Substitutes: East Kent Goldings, Fuggles</NOTES>
56
+ <TYPE>Aroma</TYPE>
57
+ <FORM>Pellet</FORM>
58
+ <BETA>3.20</BETA>
59
+ <HSI>40.0</HSI>
60
+ <DISPLAY_AMOUNT>0.00 oz</DISPLAY_AMOUNT>
61
+ <INVENTORY>0.00 oz</INVENTORY>
62
+ <DISPLAY_TIME>-</DISPLAY_TIME>
63
+ </HOP>
64
+ <HOP>
65
+ <NAME>Northern Brewer</NAME>
66
+ <VERSION>1</VERSION>
67
+ <ORIGIN>Germany</ORIGIN>
68
+ <ALPHA>8.50</ALPHA>
69
+ <AMOUNT>0.0000000</AMOUNT>
70
+ <USE>Boil</USE>
71
+ <TIME>0.000</TIME>
72
+ <NOTES>Also called Hallertauer Northern Brewers
73
+ Use for: Bittering and finishing both ales and lagers of all kinds
74
+ Aroma: Fine, dry, clean bittering hop. Unique flavor.
75
+ Substitute: Hallertauer Mittelfrueh, Hallertauer
76
+ Examples: Anchor Steam, Old Peculiar, </NOTES>
77
+ <TYPE>Both</TYPE>
78
+ <FORM>Pellet</FORM>
79
+ <BETA>4.00</BETA>
80
+ <HSI>35.0</HSI>
81
+ <DISPLAY_AMOUNT>0.00 oz</DISPLAY_AMOUNT>
82
+ <INVENTORY>0.00 oz</INVENTORY>
83
+ <DISPLAY_TIME>-</DISPLAY_TIME>
84
+ </HOP>
85
+ <HOP>
86
+ <NAME>Tettnang</NAME>
87
+ <VERSION>1</VERSION>
88
+ <ORIGIN>Germany</ORIGIN>
89
+ <ALPHA>4.50</ALPHA>
90
+ <AMOUNT>0.0000000</AMOUNT>
91
+ <USE>Boil</USE>
92
+ <TIME>0.000</TIME>
93
+ <NOTES>Use for: German ales, lagers and wheat beer
94
+ Aroma: Noble, mild, fine, slightly spicy
95
+ Substitutes: Saaz, Spalt
96
+ Examples: Sam Adams Octoberfest, Anderson Valley ESB</NOTES>
97
+ <TYPE>Aroma</TYPE>
98
+ <FORM>Pellet</FORM>
99
+ <BETA>3.50</BETA>
100
+ <HSI>40.0</HSI>
101
+ <DISPLAY_AMOUNT>0.00 oz</DISPLAY_AMOUNT>
102
+ <INVENTORY>0.00 oz</INVENTORY>
103
+ <DISPLAY_TIME>-</DISPLAY_TIME>
104
+ </HOP>
105
+ </HOPS>
@@ -0,0 +1,307 @@
1
+ <?xml version="1.0" encoding="ISO-8859-1"?>
2
+ <!-- BeerXML Format - Generated by BeerSmith - see www.beersmith.com -->
3
+ <MASHS>
4
+ <MASH>
5
+ <NAME>Temperature Mash, 1 Step, Light Body</NAME>
6
+ <VERSION>1</VERSION>
7
+ <GRAIN_TEMP>22.22222200</GRAIN_TEMP>
8
+ <TUN_TEMP>22.22222200</TUN_TEMP>
9
+ <SPARGE_TEMP>75.55555600</SPARGE_TEMP>
10
+ <PH>5.4</PH>
11
+ <TUN_WEIGHT>0.00000000</TUN_WEIGHT>
12
+ <TUN_SPECIFIC_HEAT>0.12000000</TUN_SPECIFIC_HEAT>
13
+ <EQUIP_ADJUST>FALSE</EQUIP_ADJUST>
14
+ <NOTES>Temperature mash for use when mashing in a brew pot over a heat source such as the stove. Use heat to maintain desired temperature during the mash.</NOTES>
15
+ <DISPLAY_GRAIN_TEMP>72.0 F</DISPLAY_GRAIN_TEMP>
16
+ <DISPLAY_TUN_TEMP>72.0</DISPLAY_TUN_TEMP>
17
+ <DISPLAY_SPARGE_TEMP>168.0 F</DISPLAY_SPARGE_TEMP>
18
+ <DISPLAY_TUN_WEIGHT>0.00 lb</DISPLAY_TUN_WEIGHT>
19
+ <MASH_STEPS>
20
+ <MASH_STEP>
21
+ <NAME>Saccharification</NAME>
22
+ <VERSION>1</VERSION>
23
+ <TYPE>Infusion</TYPE>
24
+ <INFUSE_AMOUNT>11.829480</INFUSE_AMOUNT>
25
+ <STEP_TIME>75</STEP_TIME>
26
+ <STEP_TEMP>65.55555600</STEP_TEMP>
27
+ <RAMP_TIME>15</RAMP_TIME>
28
+ <END_TEMP>65.55555600</END_TEMP>
29
+ <DESCRIPTION>Add 12.50 qt of water at 161.4 F</DESCRIPTION>
30
+ <WATER_GRAIN_RATIO>1.25</WATER_GRAIN_RATIO>
31
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
32
+ <INFUSE_TEMP>161.4 F</INFUSE_TEMP>
33
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
34
+ <DISPLAY_INFUSE_AMT>12.50 qt</DISPLAY_INFUSE_AMT>
35
+ </MASH_STEP>
36
+ <MASH_STEP>
37
+ <NAME>Mash Out</NAME>
38
+ <VERSION>1</VERSION>
39
+ <TYPE>Temperature</TYPE>
40
+ <INFUSE_AMOUNT>0.000000</INFUSE_AMOUNT>
41
+ <STEP_TIME>10</STEP_TIME>
42
+ <STEP_TEMP>75.55555600</STEP_TEMP>
43
+ <RAMP_TIME>10</RAMP_TIME>
44
+ <END_TEMP>75.55555600</END_TEMP>
45
+ <DESCRIPTION>Heat to 168.0 F over 10 min</DESCRIPTION>
46
+ <WATER_GRAIN_RATIO>1.25</WATER_GRAIN_RATIO>
47
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
48
+ <INFUSE_TEMP>182.0 F</INFUSE_TEMP>
49
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
50
+ <DISPLAY_INFUSE_AMT>0.00 qt</DISPLAY_INFUSE_AMT>
51
+ </MASH_STEP>
52
+ </MASH_STEPS>
53
+
54
+ </MASH>
55
+ <MASH>
56
+ <NAME>Single Infusion, Light Body, No Mash Out</NAME>
57
+ <VERSION>1</VERSION>
58
+ <GRAIN_TEMP>22.22222200</GRAIN_TEMP>
59
+ <TUN_TEMP>22.22222200</TUN_TEMP>
60
+ <SPARGE_TEMP>75.55555600</SPARGE_TEMP>
61
+ <PH>5.4</PH>
62
+ <TUN_WEIGHT>0.00000000</TUN_WEIGHT>
63
+ <TUN_SPECIFIC_HEAT>0.12000000</TUN_SPECIFIC_HEAT>
64
+ <EQUIP_ADJUST>FALSE</EQUIP_ADJUST>
65
+ <NOTES>Simple single infusion mash for use with most modern well modified grains (about 95% of the time).</NOTES>
66
+ <DISPLAY_GRAIN_TEMP>72.0 F</DISPLAY_GRAIN_TEMP>
67
+ <DISPLAY_TUN_TEMP>72.0</DISPLAY_TUN_TEMP>
68
+ <DISPLAY_SPARGE_TEMP>168.0 F</DISPLAY_SPARGE_TEMP>
69
+ <DISPLAY_TUN_WEIGHT>0.00 lb</DISPLAY_TUN_WEIGHT>
70
+ <MASH_STEPS>
71
+ <MASH_STEP>
72
+ <NAME>Mash In</NAME>
73
+ <VERSION>1</VERSION>
74
+ <TYPE>Infusion</TYPE>
75
+ <INFUSE_AMOUNT>11.829480</INFUSE_AMOUNT>
76
+ <STEP_TIME>75</STEP_TIME>
77
+ <STEP_TEMP>65.55555600</STEP_TEMP>
78
+ <RAMP_TIME>2</RAMP_TIME>
79
+ <END_TEMP>65.55555600</END_TEMP>
80
+ <DESCRIPTION>Add 12.50 qt of water at 161.4 F</DESCRIPTION>
81
+ <WATER_GRAIN_RATIO>1.25</WATER_GRAIN_RATIO>
82
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
83
+ <INFUSE_TEMP>161.4 F</INFUSE_TEMP>
84
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
85
+ <DISPLAY_INFUSE_AMT>12.50 qt</DISPLAY_INFUSE_AMT>
86
+ </MASH_STEP>
87
+ </MASH_STEPS>
88
+
89
+ </MASH>
90
+ <MASH>
91
+ <NAME>Single Infusion, Full Body</NAME>
92
+ <VERSION>1</VERSION>
93
+ <GRAIN_TEMP>22.22222200</GRAIN_TEMP>
94
+ <TUN_TEMP>22.22222200</TUN_TEMP>
95
+ <SPARGE_TEMP>75.55555600</SPARGE_TEMP>
96
+ <PH>5.4</PH>
97
+ <TUN_WEIGHT>0.00000000</TUN_WEIGHT>
98
+ <TUN_SPECIFIC_HEAT>0.12000000</TUN_SPECIFIC_HEAT>
99
+ <EQUIP_ADJUST>FALSE</EQUIP_ADJUST>
100
+ <NOTES>Simple single infusion mash for use with most modern well modified grains (about 95% of the time).</NOTES>
101
+ <DISPLAY_GRAIN_TEMP>72.0 F</DISPLAY_GRAIN_TEMP>
102
+ <DISPLAY_TUN_TEMP>72.0</DISPLAY_TUN_TEMP>
103
+ <DISPLAY_SPARGE_TEMP>168.0 F</DISPLAY_SPARGE_TEMP>
104
+ <DISPLAY_TUN_WEIGHT>0.00 lb</DISPLAY_TUN_WEIGHT>
105
+ <MASH_STEPS>
106
+ <MASH_STEP>
107
+ <NAME>Mash In</NAME>
108
+ <VERSION>1</VERSION>
109
+ <TYPE>Infusion</TYPE>
110
+ <INFUSE_AMOUNT>11.829480</INFUSE_AMOUNT>
111
+ <STEP_TIME>45</STEP_TIME>
112
+ <STEP_TEMP>70.00000000</STEP_TEMP>
113
+ <RAMP_TIME>2</RAMP_TIME>
114
+ <END_TEMP>70.00000000</END_TEMP>
115
+ <DESCRIPTION>Add 12.50 qt of water at 170.5 F</DESCRIPTION>
116
+ <WATER_GRAIN_RATIO>1.25</WATER_GRAIN_RATIO>
117
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
118
+ <INFUSE_TEMP>170.5 F</INFUSE_TEMP>
119
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
120
+ <DISPLAY_INFUSE_AMT>12.50 qt</DISPLAY_INFUSE_AMT>
121
+ </MASH_STEP>
122
+ <MASH_STEP>
123
+ <NAME>Mash Out</NAME>
124
+ <VERSION>1</VERSION>
125
+ <TYPE>Infusion</TYPE>
126
+ <INFUSE_AMOUNT>4.731792</INFUSE_AMOUNT>
127
+ <STEP_TIME>10</STEP_TIME>
128
+ <STEP_TEMP>75.55555600</STEP_TEMP>
129
+ <RAMP_TIME>2</RAMP_TIME>
130
+ <END_TEMP>75.55555600</END_TEMP>
131
+ <DESCRIPTION>Add 5.00 qt of water at 196.6 F</DESCRIPTION>
132
+ <WATER_GRAIN_RATIO>1.75</WATER_GRAIN_RATIO>
133
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
134
+ <INFUSE_TEMP>196.6 F</INFUSE_TEMP>
135
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
136
+ <DISPLAY_INFUSE_AMT>5.00 qt</DISPLAY_INFUSE_AMT>
137
+ </MASH_STEP>
138
+ </MASH_STEPS>
139
+
140
+ </MASH>
141
+ <MASH>
142
+ <NAME>Double Infusion, Medium Body</NAME>
143
+ <VERSION>1</VERSION>
144
+ <GRAIN_TEMP>22.22222200</GRAIN_TEMP>
145
+ <TUN_TEMP>22.22222200</TUN_TEMP>
146
+ <SPARGE_TEMP>75.55555600</SPARGE_TEMP>
147
+ <PH>5.4</PH>
148
+ <TUN_WEIGHT>0.00000000</TUN_WEIGHT>
149
+ <TUN_SPECIFIC_HEAT>0.12000000</TUN_SPECIFIC_HEAT>
150
+ <EQUIP_ADJUST>FALSE</EQUIP_ADJUST>
151
+ <NOTES>Double step infusion - for medium body beers requiring a protein rest. Used primarily in beers high in unmodified grains or adjuncts.</NOTES>
152
+ <DISPLAY_GRAIN_TEMP>72.0 F</DISPLAY_GRAIN_TEMP>
153
+ <DISPLAY_TUN_TEMP>72.0</DISPLAY_TUN_TEMP>
154
+ <DISPLAY_SPARGE_TEMP>168.0 F</DISPLAY_SPARGE_TEMP>
155
+ <DISPLAY_TUN_WEIGHT>0.00 lb</DISPLAY_TUN_WEIGHT>
156
+ <MASH_STEPS>
157
+ <MASH_STEP>
158
+ <NAME>Protein Rest</NAME>
159
+ <VERSION>1</VERSION>
160
+ <TYPE>Infusion</TYPE>
161
+ <INFUSE_AMOUNT>6.624509</INFUSE_AMOUNT>
162
+ <STEP_TIME>30</STEP_TIME>
163
+ <STEP_TEMP>50.00000000</STEP_TEMP>
164
+ <RAMP_TIME>2</RAMP_TIME>
165
+ <END_TEMP>50.00000000</END_TEMP>
166
+ <DESCRIPTION>Add 7.00 qt of water at 135.0 F</DESCRIPTION>
167
+ <WATER_GRAIN_RATIO>0.70</WATER_GRAIN_RATIO>
168
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
169
+ <INFUSE_TEMP>135.0 F</INFUSE_TEMP>
170
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
171
+ <DISPLAY_INFUSE_AMT>7.00 qt</DISPLAY_INFUSE_AMT>
172
+ </MASH_STEP>
173
+ <MASH_STEP>
174
+ <NAME>Saccrification</NAME>
175
+ <VERSION>1</VERSION>
176
+ <TYPE>Infusion</TYPE>
177
+ <INFUSE_AMOUNT>6.624509</INFUSE_AMOUNT>
178
+ <STEP_TIME>30</STEP_TIME>
179
+ <STEP_TEMP>67.77777800</STEP_TEMP>
180
+ <RAMP_TIME>2</RAMP_TIME>
181
+ <END_TEMP>67.77777800</END_TEMP>
182
+ <DESCRIPTION>Add 7.00 qt of water at 194.3 F</DESCRIPTION>
183
+ <WATER_GRAIN_RATIO>1.40</WATER_GRAIN_RATIO>
184
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
185
+ <INFUSE_TEMP>194.3 F</INFUSE_TEMP>
186
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
187
+ <DISPLAY_INFUSE_AMT>7.00 qt</DISPLAY_INFUSE_AMT>
188
+ </MASH_STEP>
189
+ <MASH_STEP>
190
+ <NAME>Mash Out</NAME>
191
+ <VERSION>1</VERSION>
192
+ <TYPE>Infusion</TYPE>
193
+ <INFUSE_AMOUNT>6.624509</INFUSE_AMOUNT>
194
+ <STEP_TIME>10</STEP_TIME>
195
+ <STEP_TEMP>75.55555600</STEP_TEMP>
196
+ <RAMP_TIME>2</RAMP_TIME>
197
+ <END_TEMP>75.55555600</END_TEMP>
198
+ <DESCRIPTION>Add 7.00 qt of water at 199.6 F</DESCRIPTION>
199
+ <WATER_GRAIN_RATIO>2.10</WATER_GRAIN_RATIO>
200
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
201
+ <INFUSE_TEMP>199.6 F</INFUSE_TEMP>
202
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
203
+ <DISPLAY_INFUSE_AMT>7.00 qt</DISPLAY_INFUSE_AMT>
204
+ </MASH_STEP>
205
+ </MASH_STEPS>
206
+
207
+ </MASH>
208
+ <MASH>
209
+ <NAME>Decoction Mash, Triple</NAME>
210
+ <VERSION>1</VERSION>
211
+ <GRAIN_TEMP>22.22222200</GRAIN_TEMP>
212
+ <TUN_TEMP>22.22222200</TUN_TEMP>
213
+ <SPARGE_TEMP>75.55555600</SPARGE_TEMP>
214
+ <PH>5.4</PH>
215
+ <TUN_WEIGHT>0.00000000</TUN_WEIGHT>
216
+ <TUN_SPECIFIC_HEAT>0.12000000</TUN_SPECIFIC_HEAT>
217
+ <EQUIP_ADJUST>FALSE</EQUIP_ADJUST>
218
+ <NOTES>Authentic Germany mash schedule. Attempt to draw decoction from the thickest portion of the mash. Some sources recommend that each decoction amount be given a 15 minute saccharification rest at 158 F (70 C) before boiling it.</NOTES>
219
+ <DISPLAY_GRAIN_TEMP>72.0 F</DISPLAY_GRAIN_TEMP>
220
+ <DISPLAY_TUN_TEMP>72.0</DISPLAY_TUN_TEMP>
221
+ <DISPLAY_SPARGE_TEMP>168.0 F</DISPLAY_SPARGE_TEMP>
222
+ <DISPLAY_TUN_WEIGHT>0.00 lb</DISPLAY_TUN_WEIGHT>
223
+ <MASH_STEPS>
224
+ <MASH_STEP>
225
+ <NAME>Acid Rest</NAME>
226
+ <VERSION>1</VERSION>
227
+ <TYPE>Infusion</TYPE>
228
+ <INFUSE_AMOUNT>18.927168</INFUSE_AMOUNT>
229
+ <STEP_TIME>45</STEP_TIME>
230
+ <STEP_TEMP>35.00000000</STEP_TEMP>
231
+ <RAMP_TIME>2</RAMP_TIME>
232
+ <END_TEMP>35.00000000</END_TEMP>
233
+ <DESCRIPTION>Add 20.00 qt of water at 97.1 F</DESCRIPTION>
234
+ <WATER_GRAIN_RATIO>2.00</WATER_GRAIN_RATIO>
235
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
236
+ <INFUSE_TEMP>97.1 F</INFUSE_TEMP>
237
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
238
+ <DISPLAY_INFUSE_AMT>20.00 qt</DISPLAY_INFUSE_AMT>
239
+ </MASH_STEP>
240
+ <MASH_STEP>
241
+ <NAME>Protein Rest</NAME>
242
+ <VERSION>1</VERSION>
243
+ <TYPE>Decoction</TYPE>
244
+ <INFUSE_AMOUNT>0.000000</INFUSE_AMOUNT>
245
+ <STEP_TIME>60</STEP_TIME>
246
+ <STEP_TEMP>50.00000000</STEP_TEMP>
247
+ <RAMP_TIME>2</RAMP_TIME>
248
+ <END_TEMP>50.00000000</END_TEMP>
249
+ <DESCRIPTION>Decoct 5.34 qt of mash and boil it</DESCRIPTION>
250
+ <WATER_GRAIN_RATIO>2.00</WATER_GRAIN_RATIO>
251
+ <DECOCTION_AMT>5.34 qt</DECOCTION_AMT>
252
+ <INFUSE_TEMP>0.0 F</INFUSE_TEMP>
253
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
254
+ <DISPLAY_INFUSE_AMT>0.00 qt</DISPLAY_INFUSE_AMT>
255
+ </MASH_STEP>
256
+ <MASH_STEP>
257
+ <NAME>Saccharification</NAME>
258
+ <VERSION>1</VERSION>
259
+ <TYPE>Decoction</TYPE>
260
+ <INFUSE_AMOUNT>0.000000</INFUSE_AMOUNT>
261
+ <STEP_TIME>15</STEP_TIME>
262
+ <STEP_TEMP>64.44444400</STEP_TEMP>
263
+ <RAMP_TIME>2</RAMP_TIME>
264
+ <END_TEMP>64.44444400</END_TEMP>
265
+ <DESCRIPTION>Decoct 6.68 qt of mash and boil it</DESCRIPTION>
266
+ <WATER_GRAIN_RATIO>2.00</WATER_GRAIN_RATIO>
267
+ <DECOCTION_AMT>6.68 qt</DECOCTION_AMT>
268
+ <INFUSE_TEMP>0.0 F</INFUSE_TEMP>
269
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
270
+ <DISPLAY_INFUSE_AMT>0.00 qt</DISPLAY_INFUSE_AMT>
271
+ </MASH_STEP>
272
+ <MASH_STEP>
273
+ <NAME>Saccharification</NAME>
274
+ <VERSION>1</VERSION>
275
+ <TYPE>Decoction</TYPE>
276
+ <INFUSE_AMOUNT>0.000000</INFUSE_AMOUNT>
277
+ <STEP_TIME>15</STEP_TIME>
278
+ <STEP_TEMP>70.00000000</STEP_TEMP>
279
+ <RAMP_TIME>2</RAMP_TIME>
280
+ <END_TEMP>70.00000000</END_TEMP>
281
+ <DESCRIPTION>Decoct 3.61 qt of mash and boil it</DESCRIPTION>
282
+ <WATER_GRAIN_RATIO>2.00</WATER_GRAIN_RATIO>
283
+ <DECOCTION_AMT>3.61 qt</DECOCTION_AMT>
284
+ <INFUSE_TEMP>0.0 F</INFUSE_TEMP>
285
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
286
+ <DISPLAY_INFUSE_AMT>0.00 qt</DISPLAY_INFUSE_AMT>
287
+ </MASH_STEP>
288
+ <MASH_STEP>
289
+ <NAME>Mash Out</NAME>
290
+ <VERSION>1</VERSION>
291
+ <TYPE>Temperature</TYPE>
292
+ <INFUSE_AMOUNT>0.000000</INFUSE_AMOUNT>
293
+ <STEP_TIME>10</STEP_TIME>
294
+ <STEP_TEMP>75.55555600</STEP_TEMP>
295
+ <RAMP_TIME>10</RAMP_TIME>
296
+ <END_TEMP>75.55555600</END_TEMP>
297
+ <DESCRIPTION>Heat to 168.0 F over 10 min</DESCRIPTION>
298
+ <WATER_GRAIN_RATIO>2.00</WATER_GRAIN_RATIO>
299
+ <DECOCTION_AMT>0.00 qt</DECOCTION_AMT>
300
+ <INFUSE_TEMP>170.0 F</INFUSE_TEMP>
301
+ <DISPLAY_STEP_TEMP>DISPLAY_STEP_TEMP</DISPLAY_STEP_TEMP>
302
+ <DISPLAY_INFUSE_AMT>0.00 qt</DISPLAY_INFUSE_AMT>
303
+ </MASH_STEP>
304
+ </MASH_STEPS>
305
+
306
+ </MASH>
307
+ </MASHS>