beerxml 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>