From 1f1260918b723f8e22a33ba738329ad551f70945 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Fri, 13 Dec 2024 08:36:10 +0100 Subject: [PATCH 1/7] Fix duplicate detection on import from BeerXML etc --- CHANGES.markdown | 2 +- .../DefaultContent001-OriginalDefaultData.xml | 1689 ++++++++--------- meson.build | 1 - schemas/beerxml/v1/BeerXml.xsd | 261 ++- src/CMakeLists.txt | 1 - src/Logging.h | 16 + src/MainWindow.cpp | 8 +- src/MashDesigner.cpp | 4 +- src/MashWizard.cpp | 2 +- src/database/ObjectStore.cpp | 29 +- src/database/ObjectStoreTyped.h | 3 + src/editors/NamedMashEditor.cpp | 4 +- src/model/Boil.cpp | 19 +- src/model/BoilStep.cpp | 3 +- src/model/BoilStep.h | 13 +- src/model/EnumeratedBase.h | 38 +- src/model/Fermentable.cpp | 64 +- src/model/FermentationStep.cpp | 5 +- src/model/FermentationStep.h | 12 + src/model/Hop.cpp | 50 +- src/model/Instruction.h | 14 + src/model/Mash.cpp | 13 +- src/model/MashStep.cpp | 10 +- src/model/MashStep.h | 18 + src/model/Misc.cpp | 10 +- src/model/NamedEntity.cpp | 72 +- src/model/NamedEntity.h | 19 +- src/model/OwnedByRecipe.cpp | 9 +- src/model/OwnedSet.h | 40 +- src/model/Recipe.cpp | 37 +- src/model/Recipe.h | 48 +- src/model/RecipeAddition.cpp | 40 +- src/model/RecipeAddition.h | 4 +- src/model/RecipeAdditionBase.h | 38 +- src/model/RecipeAdditionFermentable.cpp | 3 + src/model/Salt.cpp | 3 +- src/model/Step.cpp | 8 +- src/model/StepBase.h | 24 +- src/model/StepExtended.cpp | 4 +- src/model/StepOwnerBase.h | 6 +- src/model/Style.cpp | 10 +- src/model/Water.cpp | 28 +- src/model/Yeast.cpp | 40 +- src/serialization/NamedEntityRecordBase.h | 284 +++ src/serialization/SerializationRecord.cpp | 254 ++- src/serialization/SerializationRecord.h | 415 +++- .../json/JsonNamedEntityRecord.h | 160 +- src/serialization/json/JsonRecord.cpp | 495 ++--- src/serialization/json/JsonRecord.h | 97 +- .../json/JsonRecordDefinition.cpp | 11 + src/serialization/json/JsonRecordDefinition.h | 6 + src/serialization/xml/BeerXml.cpp | 11 +- src/serialization/xml/XmlCoding.h | 2 - src/serialization/xml/XmlMashRecord.cpp | 14 +- src/serialization/xml/XmlMashRecord.h | 25 +- src/serialization/xml/XmlMashStepRecord.cpp | 86 - src/serialization/xml/XmlMashStepRecord.h | 52 - src/serialization/xml/XmlNamedEntityRecord.h | 162 +- src/serialization/xml/XmlRecipeRecord.cpp | 111 +- src/serialization/xml/XmlRecipeRecord.h | 14 +- src/serialization/xml/XmlRecord.cpp | 522 ++--- src/serialization/xml/XmlRecord.h | 111 +- src/unitTests/Testing.cpp | 11 +- src/utils/AutoCompare.h | 148 +- src/utils/OptionalHelpers.h | 9 + src/utils/TypeTraits.h | 16 + translations/bt_ca.ts | 8 +- translations/bt_cs.ts | 8 +- translations/bt_da.ts | 6 +- translations/bt_de.ts | 8 +- translations/bt_el.ts | 8 +- translations/bt_en.ts | 8 +- translations/bt_es.ts | 8 +- translations/bt_et.ts | 8 +- translations/bt_eu.ts | 8 +- translations/bt_fr.ts | 8 +- translations/bt_gl.ts | 8 +- translations/bt_hu.ts | 8 +- translations/bt_it.ts | 8 +- translations/bt_lv.ts | 8 +- translations/bt_nb.ts | 8 +- translations/bt_nl.ts | 8 +- translations/bt_pl.ts | 8 +- translations/bt_pt.ts | 8 +- translations/bt_ru.ts | 8 +- translations/bt_sr.ts | 8 +- translations/bt_sv.ts | 8 +- translations/bt_tr.ts | 6 +- translations/bt_zh.ts | 8 +- 89 files changed, 3366 insertions(+), 2552 deletions(-) create mode 100644 src/serialization/NamedEntityRecordBase.h delete mode 100755 src/serialization/xml/XmlMashStepRecord.cpp delete mode 100755 src/serialization/xml/XmlMashStepRecord.h diff --git a/CHANGES.markdown b/CHANGES.markdown index b2029eeec..5a3b483b4 100644 --- a/CHANGES.markdown +++ b/CHANGES.markdown @@ -21,7 +21,7 @@ Bug fixes and minor enhancements. ### Bug Fixes * Combo boxes not displaying properly on Windows [894](https://github.com/Brewtarget/brewtarget/issues/894) -* Icons Misisng [895](https://github.com/Brewtarget/brewtarget/issues/895) +* Icons Missing [895](https://github.com/Brewtarget/brewtarget/issues/895) * Brewtarget 4.0.7 Qt6 issue on Ubuntu (libQt6Multimedia.so.6 missing) [861](https://github.com/Brewtarget/brewtarget/issues/861) * Opening user recipe causes crash [897](https://github.com/Brewtarget/brewtarget/issues/897) * Copy recipe crash [899](https://github.com/Brewtarget/brewtarget/issues/899) diff --git a/data/DefaultContent001-OriginalDefaultData.xml b/data/DefaultContent001-OriginalDefaultData.xml index 5c0d61146..3b1f0c03c 100644 --- a/data/DefaultContent001-OriginalDefaultData.xml +++ b/data/DefaultContent001-OriginalDefaultData.xml @@ -93,230 +93,217 @@ Acid Malt 1 Grain - 0 58.7 3 - FALSE Germany 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Amber Malt 1 Grain - 0 75 22 - FALSE United Kingdom 0 0 - 0 0 20 TRUE 0 - TRUE + + + 0.123 Aromatic Malt 1 Grain - 0 78 26 - FALSE Belgium Used at rates of up to 10%, Aromatic malt will lend a distinct, almost exaggerated malt aroma and flavor to the finished Ales and Lagers. Aromatic malt also has a rich color and is high in diastatic power for aid in starch conversion. D/C Aromatic malt. As the name suggests, adds aromatics to a beer. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Barley Hulls 1 Adjunct - 0 0 0 - FALSE US 0 0 - 0 0 5 FALSE 0 - FALSE + + + 0.123 Barley, Flaked 1 Grain - 0 70 2 - FALSE US Adds proteins to promote hean retention and mouth feel. Commonly used Dry Stouts. 0 0 - 0 0 20 TRUE 0 - TRUE + + + 0.123 Barley, Raw 1 Grain - 0 60.9 2 - FALSE US 0 0 - 0 0 15 TRUE 0 - TRUE + + + 0.123 Barley, Torrefied 1 Grain - 0 79 2 - FALSE US 0 0 - 0 0 40 TRUE 0 - TRUE + + + 0.123 Biscuit Malt 1 Grain - 0 79 23 - FALSE Belgium Biscuit is a unique malt thats lightly roasted, lending the subtle properties of black and chocolate malts. Used at the rate of 3 to 15 %, it is designed to improve the bread and biscuits, or toasted flavor and aroma characteristics to Lagers and Ales. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Black (Patent) Malt 1 Grain - 0 55 500 - FALSE US The darkest of all malts, use sparingly to add deep color and roast-charcoal flavor. Use no more than 1 to 3%. Best used in trace amounts only, for color. Almost any contribution that Black Patent gives to beer can be obtained from using another malt with less harsh flavor impacts. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Black Barley (Roast Barley) 1 Grain - 0 55 500 - FALSE US Use 10 to 12% to impart a distinct, roasted flavor to Stouts. Other dark beers also benefit from smaller quantities (2 - 6%). 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Black Malt 1 Grain - 0 55 500 - FALSE US Briess 2-Row. Color adjustment for all beer styles. Use with other roasted malts for mild flavored dark beers. Has little impact on foam color. 1 6 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Brewers Malt 1 Grain - 0 80.5 1.8 - FALSE US Briess DP 140. Base malt for all beer styles. @@ -331,176 +318,168 @@ Malted in small batches, making it an excellent fit for small batch craft brewin 100 TRUE 0 - TRUE + + + 0.123 Briess - 2 Row Caramel Malt 10L 1 Grain - 0 77 10 - FALSE US Briess Candylike sweetness, mild caramel. 1 7 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Caramel Malt 120L 1 Grain - 0 75 120 - FALSE US Briess Pronounced caramel, slight burnt sugar, raisiny, prunes. 1 3 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Caramel Malt 30L 1 Grain - 0 77 30 - FALSE US Briess Sweet, caramel, toffee. 1 5.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Caramel Malt 40L 1 Grain - 0 77 40 - FALSE US Briess 1 5.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Caramel Malt 60L 1 Grain - 0 77 60 - FALSE US Briess Sweet, pronounced caramel. 1 5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Caramel Malt 80L 1 Grain - 0 76 80 - FALSE US Briess Pronounced caramel, slight burnt sugar, raisiny. 1 4.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Carapils Malt 1 Grain - 0 75 1.5 - FALSE US Briess Use up to 5% for increased foam, improved head retention and enhanced mouthfeel in any beer style. 1 6.5 - 0 0 5 FALSE 0 - FALSE + + + 0.123 Briess - 2 Row Chocolate Malt 1 Grain - 0 60 350 - FALSE US Briess 2-Row. Use in all beer styles for color adjustment. Use 1-10% for desired color in Porter and Stout. The rich roasted coffee, cocoa flavor is very complementary when used in higher percentages in Porters, Stouts, Brown Ales, and other dark beers. 1 5.5 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - 6 Row Brewers Malt 1 Grain - 0 78 1.8 - FALSE US Briess DP 180. Base malt for all beer styles. Contributes light straw color. More husk than 2-Row Malt. Higher enzymes than 2-Row malt. Well suited for high adjunct brewing. @@ -511,16 +490,16 @@ Malted in small batches, making it an excellent fit for small batch craft brewin 100 TRUE 0 - TRUE + + + 0.123 Briess - Aromatic Malt 1 Grain - 0 77 20 - FALSE US Briess DP 20. Deep golden with orange hues. @@ -531,16 +510,16 @@ Malted in small batches, making it an excellent fit for small batch craft brewin 50 TRUE 0 - TRUE + + + 0.123 Briess - Ashburne Mild Malt 1 Grain - 0 79 5.3 - FALSE US Briess DP 65. 2-Row specialty base malt. @@ -555,116 +534,111 @@ Will lend a higher residual maltiness/ mouthfeel. 50 TRUE 0 - TRUE + + + 0.123 Briess - Barley Flakes 1 Adjunct - 0 70 1.4 - FALSE US Briess Pregelatinized. Use Barley Flakes as an adjunct in all-grain brews to produce a lighter colored finished beer without lowering the original gravity. Use in place of corn as an adjunct to eliminate corn flavor in the finished beer. Use at 10-25% of total grist to produce a light colored, mild flavored, dry beer. 0 9 - 0 12.5 100 TRUE 0 - TRUE + + + 0.123 Briess - Black Barley 1 Grain - 0 55 500 - FALSE US Briess Contributes color and rich, sharp flavor characteristic of Stouts and some Porters. Impacts foam color. 1 6 - 0 0 7 FALSE 0 - FALSE + + + 0.123 Briess - Black Malt 1 Grain - 0 55 500 - FALSE US Briess Color adjustment for all beer styles. Use with other roasted malts for mild flavored dark beers. Has little impact on foam color. 1 6 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Black Malted Barley Flour 1 Grain - 0 55 500 - FALSE US Briess Color adjustment for all beer styles. 1 6 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Blackprinz Malt 1 Grain - 0 78 500 - FALSE US Briess Bitterless black malt that can be used in any recipe calling for debittered black malt. Blackprinz� Malt delivers colors plus more roasted flavor than Midnight Wheat Malt. 1 6 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Bonlander Munich Malt 1 Grain - 0 78 10 - FALSE US Briess DP 40. Golden leaning toward orange hues. @@ -675,36 +649,35 @@ Will lend a higher residual maltiness/ mouthfeel. 50 TRUE 0 - TRUE + + + 0.123 Briess - Brown Rice Flakes 1 Adjunct - 0 60 1 - FALSE US Briess Pregelatinized. Briess Rice Flakes produce a light, clean and crisp characteristic to the finished beer. Use up to 40% as a ceral adjunct in the total grist. 0 7 - 0 10 40 TRUE 0 - TRUE + + + 0.123 Briess - Carabrown Malt 1 Grain - 0 79 55 - FALSE US Briess Begins slightly sweet. @@ -713,21 +686,20 @@ Smooth and clean with a slightly dry finish. Light brown/orange color contributions. 1 2.2 - 0 0 25 FALSE 0 - FALSE + + + 0.123 Briess - Caracrystal Wheat Malt 1 Grain - 0 78 55 - FALSE US Briess Sweet, smooth, malty, bready, subtle caramel, dark toast. @@ -735,281 +707,267 @@ Exceptionally clean finish. Orange to mahogany color. 1 4 - 0 0 25 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 10L 1 Grain - 0 76 10 - FALSE US Briess Candylike sweetness, mild caramel. 1 7 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 120L 1 Grain - 0 74 120 - FALSE US Briess Pronounced caramel, slight burnt sugar, raisiny, prunes. 0 3 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 20L 1 Grain - 0 76 20 - FALSE US Briess 0 6 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 40L 1 Grain - 0 75 40 - FALSE US Briess Sweet, caramel, toffee. 0 5.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 60L 1 Grain - 0 76 60 - FALSE US Sweet, pronounced caramel. 0 5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 80L 1 Grain - 0 75 80 - FALSE US Briess Pronounced caramel, slight burnt sugar, raisiny. 0 4.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Malt 90L 1 Grain - 0 75 90 - FALSE US Briess Pronounced caramel, slight burnt sugar, raisiny, prunes. 0 4 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Munich Malt 60L 1 Grain - 0 77 60 - FALSE US Briess This darker colored, more intensely flavored 2-Row caramel munich malt is excellent in IPAs, Pale ales, Oktoberfests and Porters. Imparts amber to red hues. 1 3.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Caramel Vienne Malt 20L 1 Grain - 0 78 20 - FALSE US Briess This 2-Row caramel malt adds flavors unique to Vienna-style lagers and Belgian-style Abbey Ales. Imparts golden hues. 1 4.5 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Carapils Malt 1 Grain - 0 74 1.3 - FALSE US Briess Use up to 5% for increased foam, improved head retention and enhanced mouthfeel in any beer style. 1 6.5 - 0 0 5 FALSE 0 - FALSE + + + 0.123 Briess - Chocolate Malt 1 Grain - 0 60 350 - FALSE US Briess Use in all beer styles for color adjustment. Use 1-10% for desired color in Porter and Stout. The rich roasted coffee, cocoa flavor is very complementary when used in higher percentages in Porters, Stouts, Brown Ales, and other dark beers. 1 6 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Dark Chocolate Malt 1 Grain - 0 60 420 - FALSE US Briess 2-Row. The chocolate flavor is very complementary when used in higher percentages in Porter, Stout, Brown Ale, Dunkels and other dark beers. Use in all styles for color. Contributes brown hues. 1 5.5 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Extra Special Malt 1 Grain - 0 73 130 - FALSE US Briess Complex flavored 2-Row Biscuit-style Malt. This hybrid drum roasted malt has an array of both caramel and dry roasted flavors. Use to develop flavors associated with darker, high gravity beers like Doppelbock. Equally well suited for mid to dark Belgian style ales. Adds complexity to Abbey styles and darker styles like dry Irish Stouts and Porters. Contributes dark reed to deep copper colors. At higher usage it contributes lighter brown hues. 1 2.5 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Briess - Goldpils Vienna Malt 1 Grain - 0 80 3.5 - FALSE US Briess DP 80. Use as a base malt or high percentage specialty malt. @@ -1023,36 +981,35 @@ Use in any beer for rich malty flavor. 100 TRUE 0 - TRUE + + + 0.123 Briess - Midnight Wheat Malt 1 Grain - 0 55 550 - FALSE US Briess Bitterless black malt that can be used in any recipe calling for debittered black malt. Midnight Wheat Malt is the smoothest source of black color of any malt available. 1 6.5 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Munich Malt 10L 1 Grain - 0 77 10 - FALSE US Briess DP 40. Golden leaning toward orange hues. @@ -1063,16 +1020,16 @@ Use in any beer for rich malty flavor. 50 TRUE 0 - TRUE + + + 0.123 Briess - Munich Malt 20L 1 Grain - 0 74 20 - FALSE US Briess DP 20. Deep golden with orange hues. @@ -1083,36 +1040,35 @@ Use in any beer for rich malty flavor. 50 TRUE 0 - TRUE + + + 0.123 Briess - Oat Flakes 1 Adjunct - 0 80 2.5 - FALSE US Briess Pregelatinized. Use 5-25% of the total grist for an Oatmeal Stout. Use a small percentage in Belgian Wit Beers. 0 7.5 - 0 14 25 TRUE 0 - TRUE + + + 0.123 Briess - Pale Ale Malt 1 Grain - 0 80 3.5 - FALSE US Briess DP 85. Use as a rich malty 2-Row base malt. Contributes golden color. A fully modified, high extract, low protein malt. @@ -1124,16 +1080,16 @@ Not just a darker 2-Row Base Malt. Its very unique recipe results in the develop 100 TRUE 0 - TRUE + + + 0.123 Briess - Pilsen Malt 1 Grain - 0 80.5 1.2 - FALSE US Briess DP 140. Lightest colored base malt available. Produces very light colored, clean, crisp wort. @@ -1146,76 +1102,73 @@ Use as 2-Row base malt for all beer styles. Excellent choice for lagers. Allows 100 TRUE 0 - TRUE + + + 0.123 Briess - Red Wheat Flakes 1 Adjunct - 0 70 2 - FALSE US Briess Pregelatinized. Red Wheat Flakes can be used in place of Wheat Malt to make Wheat Beer. Flakes will yield a different flavor profile than Wheat Malt. Use in theproduction of Belgian Wit Beers. Use up to 40% as a cereal adjunct in the total grist. Use 0.5-1.0% to a standard brew to increase foam stability. 0 7 - 0 13.5 40 TRUE 0 - TRUE + + + 0.123 Briess - Roasted Barley 1 Grain - 0 55 300 - FALSE US Briess Contributes color and rich, sharp flavor characteristic of Stouts and some Porters. Impacts foam color. 1 5 - 0 0 7 FALSE 0 - FALSE + + + 0.123 Briess - Rye Flakes 1 Adjunct - 0 71 3 - FALSE US Briess Pregelatinized. Rye Flakes contribute a very clean, distinctive rye flavor. Use to to 40% as a cereal adjunct in the total grist to create rye Beer. Start at 5-10% and increase in increments of 5% because of the concentrated flavor of Rye Flakes. 0 7 - 0 13 40 TRUE 0 - TRUE + + + 0.123 Briess - Rye Malt 1 Grain - 0 80 3.7 - FALSE US Briess DP 105. Rye Malt isn't just for rye beer styles. Although brewing a traditional rye beer is exceptionally rewarding, try adding Rye Malt to light- and medium-colored and flavored beers for complexity. Or fire up your new distillery and use it to make a single malt whiskey. @@ -1226,16 +1179,16 @@ Use as 2-Row base malt for all beer styles. Excellent choice for lagers. Allows 35 TRUE 0 - TRUE + + + 0.123 Briess - Smoked Malt 1 Grain - 0 80.5 5 - FALSE US Briess DP 140. Briess Smoked Malt is produced using cherry wood. The result is a very smooth, smoky flavored, enzyme-active kilned malt. @@ -1246,77 +1199,74 @@ Use as 2-Row base malt for all beer styles. Excellent choice for lagers. Allows 60 TRUE 0 - TRUE + + + 0.123 Briess - Special Roast Malt 1 Grain - 0 72 40 - FALSE US Briess Complex flavored Biscuit-style Malt. With its characteristic and bold sourdough flavor, it will contribute an exciting layer of flavor to Nut Brown Ales, Porters and other dark beer styles. 1 2.5 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Briess - Torrified Red Wheat 1 Grain - 0 76 1.5 - FALSE US Briess Torrified Wheat is short for Insta Grains� Soft Red Wheat Whole Kernel. Heat treated to break the cellular structure, allowing more rapid hydration and malt enzymes to more completely attack the starches and protein. Use up to 40% of the total grist bill. 0 8.5 - 0 11 40 TRUE 0 - TRUE + + + 0.123 Briess - Victory Malt 1 Grain - 0 75 28 - FALSE US Briess Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. 1 2.5 - 0 0 25 FALSE 0 - FALSE + + + 0.123 Briess - Vienna Malt 1 Grain - 0 77.5 3.5 - FALSE US Briess DP 130. Use as a base malt or high percentage specialty malt. @@ -1329,16 +1279,16 @@ Typically used in Vienna, Oktoberfest, Marzen, Alt and all dark lagers. 90 TRUE 0 - TRUE + + + 0.123 Briess - Wheat Malt, Red 1 Grain - 0 81 2.3 - FALSE US Briess DP 180. @@ -1353,16 +1303,16 @@ Improves head and foam retention in any beer style. 40 TRUE 0 - TRUE + + + 0.123 Briess - Wheat Malt, White 1 Grain - 0 85 2.5 - FALSE US Briess DP 160. Use as part or all of base malt in wheat beers. Improves head and foam retention in any beer style. @@ -1373,1136 +1323,1080 @@ Improves head and foam retention in any beer style. 100 TRUE 0 - TRUE + + + 0.123 Briess - Yellow Corn Flakes 1 Adjunct - 0 75 0.8 - FALSE US Briess Pregelatinized. Using Yellow Corn Flakes as an adjunct produces a lower color in the finished beer without lowering the original gravity.Yellow Corn Flakes produce a beer with a mild, less malty flavor. Yellow Corn Flakes produce a drier, more crisp beer. 0 8 - 0 10 40 TRUE 0 - TRUE + + + 0.123 Briess DME - Bavarian Wheat 1 Dry Extract - 0 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess DME - Golden Light 1 Dry Extract - 0 95 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess DME - Maltoferm A-6001 (Black Malt Extract) 1 Dry Extract - 0 95 500 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess DME - Pilsen Light 1 Dry Extract - 0 95 2 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess DME - Sparkling Amber 1 Dry Extract - 0 95 10 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess DME - Traditional Dark 1 Dry Extract - 0 95 30 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Golden Light 1 Extract - 0 78 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Maltoferm A-6000 (Black Malt Extract) 1 Extract - 0 78 500 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Munich 1 Extract - 0 78 8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Pilsen Light 1 Extract - 0 78 2 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Sparkling Amber 1 Extract - 0 78 10 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Sweet Brown Rice Syrup 1 Extract - 0 75 2 - FALSE US Gluten free 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - Traditional Dark 1 Extract - 0 78 30 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Briess LME - White Sorghum Syrup 1 Extract - 0 75 3 - FALSE US Gluten free 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Brown Malt (British Chocolate) 1 Grain - 0 70 65 - FALSE United Kingdom Ideal for British Porters and Brown or Mild Ales and even Stouts. It's a little darker than domestic Chocolate malt yet it has a slightly smoother character in the roast flavor and aroma profiles. 0 0 - 0 0 10 TRUE 0 - FALSE + + + 0.123 Brown Sugar, Dark 1 Sugar - 0 100 50 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Brown Sugar, Light 1 Sugar - 0 100 8 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Brumalt 1 Grain - 0 71.7 23 - FALSE Germany Dark German malt developed to add malt flavor of Alt, Marzen and Oktoberfest beers. Helps create authentic maltiness without having to do a decoction mash. Rarely available for homebrewers. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Candi Sugar, Amber 1 Sugar - 0 78.3 75 - FALSE Belgium 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Candi Sugar, Clear 1 Sugar - 0 78.3 1 - FALSE Belgium 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Candi Sugar, Dark 1 Sugar - 0 78.3 275 - FALSE Belgium 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Cane (Beet) Sugar 1 Sugar - 0 100 0 - FALSE US 0 0 - 0 0 7 FALSE 0 - FALSE + + + 0.123 Cara-Pils/Dextrine 1 Grain - 0 72 2 - FALSE US Dextrins lend body, mouth feel and palate fullness to beers, as well as foam stability. Carapils must be mashed with pale malt, due to its lack of enzymes. Use 5 to 20% for these properties without adding color. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caraamber 1 Grain - 0 75 30 - FALSE US 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Carafa 1 Grain - 0 70 337 - FALSE Germany 1.5 4 - 0 11.7 5 FALSE 0 - FALSE + + + 0.123 Carafa II 1 Grain - 0 70 412 - FALSE Germany 1.5 4 - 0 11.7 5 FALSE 0 - FALSE + + + 0.123 Carafa III 1 Grain - 0 70 525 - FALSE Germany 1.5 4 - 0 11.7 5 FALSE 0 - FALSE + + + 0.123 Carafoam 1 Grain - 0 72 2 - FALSE US 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 10L 1 Grain - 0 75 10 - FALSE US This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 120L 1 Grain - 0 72 120 - FALSE US Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 20L 1 Grain - 0 75 20 - FALSE US This Crystal malt will provide a golden color and a sweet, mild caramel flavor. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 30L 1 Grain - 0 75 30 - FALSE US 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 40L 1 Grain - 0 74 40 - FALSE US This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 60L 1 Grain - 0 74 60 - FALSE US This Medium Crystal malt will lend a well rounded caramel flavor, color and sweetness. This Crystal malt is a good choice if you're not sure which variety to use. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramel/Crystal Malt - 80L 1 Grain - 0 74 80 - FALSE US This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caramunich Malt 1 Grain - 0 71.7 56 - FALSE Belgium Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Carared 1 Grain - 0 75 20 - FALSE US 0 0 - 0 0 20 FALSE 0 - FALSE + + + 0.123 Caravienne Malt 1 Grain - 0 73.9 22 - FALSE Belgium Impart a rich, caramel-sweet aroma and promotes a fuller flavor. Excellent all purpose caramel malt that can be used in high percentages (up to 15%) without leaving the beer too caramel/sweet. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Carawheat (GR) 1 Grain - 0 68 40 - FALSE 0 6.5 - 0 0 0 FALSE 0 - FALSE + + + 0.123 Chocolate Malt (UK) 1 Grain - 0 73 450 - FALSE United Kingdom Ideal for British Porters and Brown or Mild Ales and even Stouts. It's a little darker than US Chocolate malt yet it has a slightly smoother character in the roast flavor and aroma profiles. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Chocolate Malt (US) 1 Grain - 0 60 350 - FALSE US Being the least roasted of the black malts, Chocolate malt will add a dark color and pleasant roast flavor. Small quantities lend a nutty flavor and deep, ruby red color while higher amounts lend a black color and smooth, roasted flavor. Use 3 to 12%. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Coopers LME - Amber 1 Extract - 0 78 16.4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Coopers LME - Dark 1 Extract - 0 78 65.9 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Coopers LME - Light 1 Extract - 0 78 3.4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Coopers LME - Wheat 1 Extract - 0 78 4.5 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Corn Sugar (Dextrose) 1 Sugar - 0 100 0 - FALSE US 0 0 - 0 0 5 FALSE 0 - FALSE + + + 0.123 Corn Syrup 1 Sugar - 0 78.3 1 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Corn, Flaked 1 Grain - 0 80 1 - FALSE US The most common adjunct in American Lagers and Cream ales. Lightens both color and body. 0 0 - 0 0 40 TRUE 0 - TRUE + + + 0.123 Dark Liquid Extract 1 Extract - 0 78 18 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Dememera Sugar 1 Sugar - 0 100 2 - FALSE United Kingdom 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Dry Extract (DME) - Amber 1 Dry Extract - 0 95 13 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Dry Extract (DME) - Dark 1 Dry Extract - 0 95 18 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Dry Extract (DME) - Extra Light 1 Dry Extract - 0 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Dry Extract (DME) - Light 1 Dry Extract - 0 95 8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Dry Extract (DME) - Wheat 1 Dry Extract - 0 95 8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Gladfield - Ale Malt 1 Grain - 0 81.4 3.0456853 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Ale malt has very similar attributes to the Pilsner malt but only winter grown English bread 2 row varieties are used. The malt is fully modified through a traditional long cool germination. @@ -2517,16 +2411,16 @@ A single step mash of between 66 and 68C is sufficient to avoid any lautering pr 100 TRUE 0 - TRUE + + + 0.123 Gladfield - American Ale Malt 1 Grain - 0 81 2.5380711 - FALSE New Zealand, Canterbury Gladfield Malt Gladfields American Ale malt is our answer for brewers who have found that our regular Ale malt will add too much of a malty and toasted flavour profile to certain beer styles. This malt starts as all our other base malts do with our traditional long cool germination period. What separates it from our standard Ale malt is a newly developed a kilning recipe that favours colour formation typical to an Ale malt but with a clean malt profile and without the extra toasted flavours. This malt has been a favourite for producing popular hop-forward American style beers for which it was named. @@ -2537,16 +2431,16 @@ A single step mash of between 66 and 68C is sufficient to avoid any lautering pr 100 TRUE 0 - TRUE + + + 0.123 Gladfield - Aurora Malt 1 Grain - 0 80.97 29.4416244 - FALSE New Zealand, Canterbury Gladfield Malt Aurora has been developed to produce rich bready, fruit cake aroma and deep red colour. It has a long traditional germination process to create complex sugars and amino acids which react during a careful kilning regime. The resulting Maillard reaction is responsible for the deep red colour. It is ideal for Dark Ales, Belgium style and high alcohol beers for balance and beer stability. If you want to make that big malty, rich beer then this is a great malt to use along with our Crystals and Red Back. @@ -2557,97 +2451,93 @@ A single step mash of between 66 and 68C is sufficient to avoid any lautering pr 30 TRUE 0 - TRUE + + + 0.123 Gladfield - Biscuit Malt 1 Grain - 0 76 30.4568528 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Biscuit malt is made by gently roasting kilned dried ale malt. The resulting malt is ideal in small amounts for Light/Mild Ales and Bitters to give a dry finish to the beer with out too much colour. 0 2.2 - 0 10 20 TRUE 0 - TRUE + + + 0.123 Gladfield - Brown Malt 1 Grain - 0 74 90.3553299 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Brown malt is a stronger version of the biscuit malt but made from green chitted malt. This allows good colour build up with out the astringency from husk damage. This malt will impart a dry biscuity flavour to the beer along with nice amber colour. Ideal in Porters, Stouts, Dark Ales or Dunkels in carful amounts. 0 3.2 - 0 11.7 10 TRUE 0 - TRUE + + + 0.123 Gladfield - Dark Chocolate Malt 1 Grain - 0 71 659.8984772 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Chocolate malt is dark in colour and light on astringency due to a unique roasting technique. It has lovely coffee/chocolate aromas and is a big hit with Porter and Stout drinkers! This malt must be used fresh! 0 3.5 - 0 10 10 TRUE 0 - TRUE + + + 0.123 Gladfield - Dark Crystal Malt 1 Grain - 0 77 96.4467005 - FALSE New Zealand, Canterbury Gladfield Malt All Crystal malts are made in a specialised roasting drum. The green malt used is made from the fattest low nitrogen 2 row barley available. The emphases are on sweetness and evenness of crystallisation. This is achieved by using only the best barley and batch malting small amounts of green malt at a time to feed the roaster. The evenness of colour is achieved by using the latest technology in malt roasting and heat recirculation to avoid scorching. Crystal malts can be used in varying amounts and intensities to an array of beer styles to add colour, flavour, aroma and stability to the beer. It is important to use crystal malts fresh to get the best results. 0 3.2 - 0 10 20 TRUE 0 - TRUE + + + 0.123 Gladfield - Gladiator Malt 1 Grain - 0 81 5.0761421 - FALSE New Zealand, Canterbury Gladfield Malt Gladiator Malt is a malt specially developed to provide extra foaming stability, mouth feel and body to the beer with out adding too much colour. Like crystal malts Gladiator has a high amount of unfermentable sugars. These unfermentable sugars will help increase the final gravity and improve beer stability. The final processing of the malt has been done in such a way to reduce colour build up. Because of this Gladiator has proved very popular for use in a wide range of beer styles. @@ -2658,16 +2548,16 @@ The evenness of colour is achieved by using the latest technology in malt roasti 100 FALSE 0 - FALSE + + + 0.123 Gladfield - Lager Light 1 Grain - 0 80.5 1.4263959 - FALSE New Zealand, Canterbury Gladfield Malt Lager light is made especially for brewing an all malt lager where a light colour is desirable. It can also be used alongside Gladfield wheat malt when brewing delicate bright clean wheat beers where low colour formation is important and a clean malt profile required. @@ -2678,57 +2568,55 @@ The evenness of colour is achieved by using the latest technology in malt roasti 100 TRUE 0 - TRUE + + + 0.123 Gladfield - Light Chocolate Malt 1 Grain - 0 71 456.8527919 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Light Chocolate Malt is a lighter version of our chocolate malt. Produced in the same way and roasted to a lower temperature and lighter colour. This malt has fantastic roasted and espresso coffee like flavours. A great addition to stouts and porters. 0 3.5 - 0 10 10 TRUE 0 - TRUE + + + 0.123 Gladfield - Light Crystal Malt 1 Grain - 0 77 31.9796954 - FALSE New Zealand, Canterbury Gladfield Malt All Crystal malts are made in a specialised roasting drum. The green malt used is made from the fattest low nitrogen 2 row barley available. The emphases are on sweetness and evenness of crystallisation. This is achieved by using only the best barley and batch malting small amounts of green malt at a time to feed the roaster. The evenness of colour is achieved by using the latest technology in malt roasting and heat recirculation to avoid scorching. Crystal malts can be used in varying amounts and intensities to an array of beer styles to add colour, flavour, aroma and stability to the beer. It is important to use crystal malts fresh to get the best results. 0 3.8 - 0 10 20 TRUE 0 - TRUE + + + 0.123 Gladfield - Malted Rye 1 Grain - 0 87.49 3 - FALSE New Zealand, Canterbury Gladfield Malt @@ -2739,16 +2627,16 @@ The evenness of colour is achieved by using the latest technology in malt roasti 100 FALSE 0 - FALSE + + + 0.123 Gladfield - Manuka Smoked Malt 1 Grain - 0 80 2.0304569 - FALSE New Zealand, Canterbury Gladfield Malt We take our top quality New Zealand malt and smoke it over 100% Manuka wood from the West Coast. This malt has a smooth smoke character that is both floral and sweet. Perfect for a Kiwi twist to a Rauchbier or to add something unique to almost any beer style. Use this malt anywhere between 1 and 100% depending on the required smoke level. @@ -2759,37 +2647,36 @@ The evenness of colour is achieved by using the latest technology in malt roasti 100 FALSE 0 - FALSE + + + 0.123 Gladfield - Medium Crystal Malt 1 Grain - 0 77 56.3451777 - FALSE New Zealand, Canterbury Gladfield Malt All Crystal malts are made in a specialised roasting drum. The green malt used is made from the fattest low nitrogen 2 row barley available. The emphases are on sweetness and evenness of crystallisation. This is achieved by using only the best barley and batch malting small amounts of green malt at a time to feed the roaster. The evenness of colour is achieved by using the latest technology in malt roasting and heat recirculation to avoid scorching. Crystal malts can be used in varying amounts and intensities to an array of beer styles to add colour, flavour, aroma and stability to the beer. It is important to use crystal malts fresh to get the best results. 0 3.4 - 0 10 20 TRUE 0 - TRUE + + + 0.123 Gladfield - Munich Malt 1 Grain - 0 79.93 7.8680203 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Munich malt is germinated similar to the Vienna malt using slightly higher nitrogen barley to create more intense colour through greater maillard reactions. This is achieved with a kilning regime that includes higher levels of moist air recirculation during the early and intermediate stages of the kilning cycle followed by high final curing temperatures. The resulting malt is rich, sweat, toasty and biscuity with a touch of breadiness. @@ -2801,16 +2688,16 @@ This malt is ideal for darker style Lagers or Ales and high alcohol beers.100 TRUE 0 - TRUE + + + 0.123 Gladfield - Organic Pilsner 1 Grain - 0 82.49 1.5862944 - FALSE New Zealand, Canterbury Gladfield Malt @@ -2821,16 +2708,16 @@ This malt is ideal for darker style Lagers or Ales and high alcohol beers.100 FALSE 0 - FALSE + + + 0.123 Gladfield - Pilsner Malt 1 Grain - 0 81.1 1.928934 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Pilsener malt is made from 2 row English and European bred barley varieties. Only plump low protein barley is used which allows for higher extract potential and helps eliminate potential protein haze issues in the beer. @@ -2845,56 +2732,54 @@ Carefully controlled kilning gives a nice malty character with out too much colo 100 TRUE 0 - TRUE + + + 0.123 Gladfield - Red Back Malt 1 Grain - 0 77 32.9949239 - FALSE New Zealand, Canterbury Gladfield Malt The Red Back Malt is also a unique malt made by Gladfield. It is prepared by a special process before going into the roaster. It is then roasted in a particular way to create certain Maillard reactions which causes the malt to produce a lovely red hue in the resulting beer without the opalescence that can occur with other similar malts. In other words the wort colour is bright with good clarity but most of all a lovely red colour. It goes well with our Pale Ale and Aurora malt which is a melanoidin malt. 0 4.7 - 0 10 20 TRUE 0 - TRUE + + + 0.123 Gladfield - Roast Barley 1 Grain - 0 71 736.0406091 - FALSE New Zealand, Canterbury Gladfield Malt 0 3.5 - 0 10 10 TRUE 0 - TRUE + + + 0.123 Gladfield - Roasted Wheat 1 Grain - 0 73 279.1878173 - FALSE New Zealand, Canterbury Gladfield Malt Our Roasted Wheat is produced by roasting unmalted wheat. It is a great way to get those roasted coffee and chocolate flavours without the extra bitterness that comes from roasted barley or chocolate malt. The wheat malt, lacking its outer husk, is less susceptible to burning at the higher roasting temperatures which prevents bitter and astringent flavors. This malt is a great addition to any darker beer style. @@ -2905,36 +2790,35 @@ Carefully controlled kilning gives a nice malty character with out too much colo 10 FALSE 0 - FALSE + + + 0.123 Gladfield - Shepherds Delight Malt 1 Grain - 0 77 152.284264 - FALSE New Zealand, Canterbury Gladfield Malt Shepherds Delight is what we would consider a stepped up version of our Aurora malt. It has intense bready, toasted and kola flavour with a lingering fruity sweetness. This malt should be used sparingly to supercharge the maltiness of a beer and will give flavours similar to a decoction mash. Used at too high a concentration could lead to bitterness in the final beer we recommend combining Shepherds Delight with our Vienna malt to give a balancing sweetness. This malt will also give some red highlights to the beers colour. Recommended usage level of 8% Maximum. 1.5 3.5 - 0 10.5 15 TRUE 0 - TRUE + + + 0.123 Gladfield - Sour Grapes Malt 1 Grain - 0 27 2.0304569 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Sour Grapes malt is designed for pH adjustment in the brew house mash. Sour Grapes is produced through a combination of lactic growth during germination from naturally present bacteria on the grain and a lactic bath prior to kilning grown from the same lactobacillus strains. Recommended usage of between 1% and 5% to achieve target mash pH. @@ -2945,16 +2829,16 @@ Carefully controlled kilning gives a nice malty character with out too much colo 100 FALSE 0 - FALSE + + + 0.123 Gladfield - Supernova Malt 1 Grain - 0 79.3478261 58.3756345 - FALSE New Zealand, Canterbury Gladfield Malt Supernova malt is a new roasted malt from Gladfield that adds nutty, toasted caramel flavours to a beer. It can be used as a replacement for traditional crystal malts to change the flavour characteristics and reduce the beers residual sweetness. We start this malt with Canterbury winter barley and take it through our germination process before it is roasted to develop flavour and colour. @@ -2967,36 +2851,35 @@ This is a great malt to be used in any beer style. We have already seen it used 100 TRUE 0 - TRUE + + + 0.123 Gladfield - Toffee Malt 1 Grain - 0 74 5.3299492 - FALSE New Zealand, Canterbury Gladfield Malt The Toffee Malt is a unique malt produced by Gladfield. It is basically a fully caramalised malt that has been roasted at very low temperature. This special roasting cycle produces a very light colour and the resulting malt is toffee like to chew instead of the crystalised popcorn affect of using higher temperatures. The resulting malt is very popular for adding a malty toffee flavour to lighter colured beers and also adds good beer stability, body and mouth feel. 0 7.2 - 0 10.3 20 TRUE 0 - TRUE + + + 0.123 Gladfield - Vienna Malt 1 Grain - 0 81.2 3.4517766 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield Vienna has a kiwi twist but still has the normal characteristics of typical Vienna malt. The germination and kilning allows a sweeter maltier character with out over doing it. It is ideal for darker lagers or Marzen style beers. The Gladfield Vienna goes well with Gladiator and Toffee giving a big white head and lovely golden redy lager for that drinkable session beer. @@ -3007,16 +2890,16 @@ This is a great malt to be used in any beer style. We have already seen it used 100 TRUE 0 - TRUE + + + 0.123 Gladfield - Wheat Malt 1 Grain - 0 84.29 2.1319797 - FALSE New Zealand, Canterbury Gladfield Malt Gladfield wheat malt like all other Gladfield malts is 100% natural there are no chemicals added to the steep water to accelerate germination or bleach the grain for visual appearances of the malt. Gladfield wheat malt is produced from an old English wheat variety that modifies very well. The resulting malt gives clean light coloured wort. @@ -3027,797 +2910,758 @@ This is a great malt to be used in any beer style. We have already seen it used 100 FALSE 0 - FALSE + + + 0.123 Grits 1 Adjunct - 0 80 1 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Harraway's Rolled Oats 1 Grain - 0 85 1.4 - FALSE New Zealand Harraways / Gladfield 0 7.5 - 0 9 0 TRUE 0 - TRUE + + + 0.123 Harraways Rolled Barley 1 Grain - 0 77 1.7 - FALSE New Zealand Harraways / Gladfield 0 9 - 0 13.5 0 TRUE 0 - TRUE + + + 0.123 Honey 1 Extract - 0 75 1 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Honey Malt 1 Grain - 0 80 25 - FALSE Canada This Canadian malt imparts a honey-like flavor. It also also sometimes called Brumalt. Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 2 3.8 - 0 10.5 10 TRUE 0 - FALSE + + + 0.123 Invert Sugar 1 Sugar - 0 100 0 - FALSE United Kingdom Sucrose (table sugar) that has been inverted with heat and acid to form a mixture of fructose and glucose. 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Liquid Extract (LME) - Amber 1 Extract - 0 78 13 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Liquid Extract (LME) - Pale 1 Extract - 0 78 8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Liquid Extract (LME) - Pilsner 1 Extract - 0 78 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Liquid Extract (LME) - Wheat 1 Extract - 0 78 8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Maple Syrup 1 Sugar - 0 65.2 35 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Melanoiden Malt 1 Grain - 0 80 20 - FALSE Germany 0 0 - 0 0 15 TRUE 0 - TRUE + + + 0.123 Mild Malt 1 Grain - 0 80 4 - FALSE United Kingdom 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Milk Sugar (Lactose) 1 Sugar - 0 76.1 0 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Molasses 1 Sugar - 0 78.3 80 - FALSE US 0 0 - 0 0 5 FALSE 0 - FALSE + + + 0.123 Munich Malt 1 Grain - 0 80 9 - FALSE Germany Although kilned, Munich still retains sufficient enzymes for 100% of the grain bill, or it can be used at a percentage of the total malt content for its full, malty flavor and aroma. 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Munich Malt - 10L 1 Grain - 0 77 10 - FALSE US Although kilned, Munich still retains sufficient enzymes for 100% of the grain bill, or it can be used at a percentage of the total malt content for its full, malty flavor and aroma. 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Munich Malt - 20L 1 Grain - 0 75 20 - FALSE US A little darker than German Munich malt and adds a deeper color and fuller malt profile. Great for Dark and amber lagers, blend Munich with German Pils or Domestic 2 Row at the rate of 10 to 60% of the total grain bill. 0 0 - 0 0 80 TRUE 0 - TRUE + + + 0.123 Muntons DME - Amber 1 Dry Extract - 0 95 13 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons DME - Dark 1 Dry Extract - 0 95 22 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons DME - Extra Dark 1 Dry Extract - 0 95 38 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons DME - Extra Light 1 Dry Extract - 0 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons DME - Light 1 Dry Extract - 0 95 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons DME - Wheat 1 Dry Extract - 0 95 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons LME - Amber 1 Extract - 0 78 7 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons LME - Dark 1 Extract - 0 78 2.1 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons LME - Extra Light 1 Extract - 0 78 2.8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons LME - Light 1 Extract - 0 78 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Muntons LME - Wheat 1 Extract - 0 78 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + 0.123 Oats, Flaked 1 Grain - 0 80 1 - FALSE US Oats will improve mouth feel and add a creamy head. Commonly used in Oatmeal Stout. 0 0 - 0 0 30 TRUE 0 - TRUE + + + 0.123 Oats, Malted 1 Grain - 0 80 1 - FALSE US Use to make wheat and weizen beers at 40-60% for wheat and 35-65% for Bavarian weizens. Small amounts at about 3-6 % aid in head retention to any beer without altering final flavor. Use with a highly modified malt to insure diastatic enzymes. Protein rest highly recommended due to very high protein content. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Pale Malt (2 Row) Bel 1 Grain - 0 80 3 - FALSE Belgium 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Pale Malt (2 Row) UK 1 Grain - 0 78 3 - FALSE United Kingdom Fully modified British malt, easily converted by a single temperature mash. Preferred by many brewers for authentic English ales. This malt has undergone higher kilning than Domestic 2 Row and is lower in diastatic power so keep adjuncts at a lower percentage. 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Pale Malt (2 Row) US 1 Grain - 0 79 2 - FALSE US A variety of malt that forms two seed rows along the stem on the grain head. Well modified with a high diastatic power allows mashing with up to 35% grain adjuncts. Because it is fairly neutral 2-Row makes an excellent base malt and is known as the "workhorse" of many recipes. Greater starch per weight ratio than 6-Row. Protein rest recommended to avoid chill-haze. Also know as Klages. 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Pale Malt (6 Row) US 1 Grain - 0 76 2 - FALSE US This malt variety forms six distinct seed rows on the grain head. Very high diastatic power allows mashing with up to 60% grain adjuncts, great if added diastatic strength is needed in a recipe. 6-Row also has greater husks per weight ratio than 2-Row. Protein rest recommended to avoid chill-haze. 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Peat Smoked Malt 1 Grain - 0 74 3 - FALSE United Kingdom Smoked over peat moss for a soft sweet, earty smoked character. Imparts a soft peaty smoke flavor for strong Scottish ales. 0 0 - 0 0 20 TRUE 0 - TRUE + + + 0.123 Pilsner (2 Row) Bel 1 Grain - 0 79 2 - FALSE Belgium This is an excellent base malt for many styles, including full flavored Lagers, Belgian Ales and Belgian Wheat beers. 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Pilsner (2 Row) Ger 1 Grain - 0 81 2 - FALSE Germany 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Pilsner (2 Row) UK 1 Grain - 0 78 1 - FALSE United Kingdom 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Rahr - 2 Row Malt 1 Grain - 0 80 2 - FALSE US @@ -3828,16 +3672,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Rahr - 6 Row Malt 1 Grain - 0 79 25 - FALSE US @@ -3848,16 +3692,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Rahr - Pale Ale Malt 1 Grain - 0 79 40 - FALSE US @@ -3868,16 +3712,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Rahr - Premium Pilsner Malt 1 Grain - 0 80 2 - FALSE US @@ -3888,416 +3732,396 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Rahr - Red Wheat Malt 1 Grain - 0 85 45 - FALSE US 1 4.5 - 0 12 50 TRUE 0 - TRUE + + + 0.123 Rahr - White Wheat Malt 1 Grain - 0 85 45 - FALSE US 1 4.5 - 0 12 50 TRUE 0 - TRUE + + + 0.123 Rauch Malt (Germany) 1 Grain - 0 81 2 - FALSE Germany German malt is smoked over a beechwood fire for a drier, sharper, obvious more wood-smoked flavor. Imparts a distinct smoked character for German Rauch beers. 0 0 - 0 10 100 FALSE 0 - FALSE + + + 0.123 Rice Extract Syrup 1 Extract - 0 69.6 7 - FALSE US 0 0 - 0 0 15 FALSE 0 - FALSE + + + 0.123 Rice Hulls 1 Adjunct - 0 0 0 - FALSE US 0 0 - 0 0 5 FALSE 0 - FALSE + + + 0.123 Rice, Flaked 1 Grain - 0 70 1 - FALSE US Another popular adjunct in American Lagers. Lightens both color and body. 0 0 - 0 0 25 TRUE 0 - TRUE + + + 0.123 Roasted Barley 1 Grain - 0 55 300 - FALSE US Use 10 to 12% to impart a distinct, roasted flavor to Stouts. Other dark beers also benefit from smaller quantities (2 - 6%). 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Rye Malt 1 Grain - 0 63 5 - FALSE US Imparts a distinct sharp flavor. 0 0 - 0 0 15 TRUE 0 - TRUE + + + 0.123 Rye, Flaked 1 Grain - 0 78.3 2 - FALSE US Imparts a distinct sharp flavor. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Simpsons - Aromatic Malt 1 Grain - 0 82.5 25 - FALSE UK 1 5 - 0 12 5 TRUE 0 - TRUE + + + 0.123 Simpsons - Black Malt 1 Grain - 0 70 550 - FALSE UK 1 3 - 0 12 10 TRUE 0 - FALSE + + + 0.123 Simpsons - Caramalt 1 Grain - 0 76 35 - FALSE UK 1 5 - 0 12 20 TRUE 0 - FALSE + + + 0.123 Simpsons - Caramalt Light 1 Grain - 0 76 13 - FALSE UK 1 6.9 - 0 12 30 TRUE 0 - FALSE + + + 0.123 Simpsons - Chocolate Malt 1 Grain - 0 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - FALSE + + + 0.123 Simpsons - Coffee Malt 1 Grain - 0 74 150 - FALSE UK 1 3.5 - 0 12 20 TRUE 0 - FALSE + + + 0.123 Simpsons - Crystal Dark 1 Grain - 0 74 80 - FALSE UK 1 5.3 - 0 12 10 TRUE 0 - FALSE + + + 0.123 Simpsons - Crystal Extra Dark 1 Grain - 0 74 160 - FALSE UK 1 5 - 0 12 10 TRUE 0 - FALSE + + + 0.123 Simpsons - Crystal Medium 1 Grain - 0 74 55 - FALSE UK 1 4.7 - 0 12 20 TRUE 0 - FALSE + + + 0.123 Simpsons - Crystal Rye 1 Grain - 0 73 90 - FALSE UK 1 3.1 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Simpsons - Golden Naked Oats 1 Grain - 0 73 10 - FALSE UK 1 4.5 - 0 12 15 TRUE 0 - TRUE + + + 0.123 Simpsons - Golden Promise 1 Grain - 0 81 2 - FALSE UK @@ -4308,16 +4132,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Simpsons - Maris Otter 1 Grain - 0 81 3 - FALSE UK @@ -4328,16 +4152,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Simpsons - Peated Malt 1 Grain - 0 81 2.5 - FALSE UK Phenol level 12-24 @@ -4348,196 +4172,187 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 10 TRUE 0 - TRUE + + + 0.123 Simpsons - Roasted Barley 1 Grain - 0 70 550 - FALSE UK 1 1.9 - 0 12 10 TRUE 0 - FALSE + + + 0.123 Smoked Malt 1 Grain - 0 80 9 - FALSE Germany 0 0 - 0 0 100 TRUE 0 - TRUE + + + 0.123 Special B Malt 1 Grain - 0 65.2 160 - FALSE Belgium Special B refers to a type of dark, flavorful crystal malt traditionally malted in Belgium. In small amounts, it gives a unique flavor to the finished beer that is often compared to raisins or dried fruit. This malt is always dark, but the color and flavor vary more than most other malt styles; most of the commonly available varieties are in the 110-160 L range, but it may be even darker. Don't depend on this software to calculate the color of your beer correctly, since it may be expecting a much darker malt than you are actually using; some older sources assume Special B will be over 200 or even up to 300 L. While some sources still claim that Special B must be mashed, it is a crystal malt and can be steeped with an extract batch without adding significant protein to the beer. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Special Roast 1 Grain - 0 72 50 - FALSE US Briess Special Roast Malt is a specially processed malt from the American maltster, Briess. It is kilned using 6 row barley and it appears to be Victory Malt turned up a notch. Flavor: Toasty, Strong Biscuit, Sour Dough, Tangy. Any non-straw colored beer where roasty, toasty flavors are acceptable is a good candidate for this malt. Porters and Nut Brown Ales could take a good helping of this malt, and smaller amounts (less than 8 ounces) would work in Viennas, M�rzens, and Alt beers. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Sugar, Table (Sucrose) 1 Sugar - 0 100 1 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Toasted Malt 1 Grain - 0 71.7 27 - FALSE United Kingdom Adds reddish hue without sweetness associated with caramelized malts. 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Turbinado 1 Sugar - 0 95.7 10 - FALSE United Kingdom 0 0 - 0 0 10 FALSE 0 - FALSE + + + 0.123 Victory Malt 1 Grain - 0 73 25 - FALSE US Imparts a toasty/nutty/biscuit/bread flavor, and adds head retention. Use in nut browns and other darker beers. 0 0 - 0 0 15 TRUE 0 - TRUE + + + 0.123 Vienna Malt 1 Grain - 0 78 4 - FALSE Germany Vienna Malt is a kiln-dried barley malt darker than pale ale malt, but not as dark as Munich Malt. It imparts a golden to orange color and a distinctive toast or biscuit malt aroma to the beer. Vienna malt traditionally makes up up to 100% of the grist of Vienna Lager and the bulk of the related M�rzen style. Other beer styles sometimes use Vienna malt to add malty complexity and light toasty notes to lighter base malts, or to lighten the grist of a beer brewed with mostly Munich malt. Examples include Baltic Porter, Dunkelweizen, and most styles of Bock. 0 0 - 0 0 90 TRUE 0 - TRUE + + + 0.123 Weyermann - Acidulated Malt 1 Grain - 0 80 3.2 - FALSE Germany @@ -4548,16 +4363,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 10 TRUE 0 - TRUE + + + 0.123 Weyermann - Bohemian Pilsner Malt 1 Grain - 0 81 2.1 - FALSE Germany @@ -4568,156 +4383,149 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Weyermann - Carafa I 1 Grain - 0 70 350 - FALSE Germany 1 3.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Carafa II 1 Grain - 0 70 425 - FALSE Germany 1 3.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Carafa III 1 Grain - 0 70 520 - FALSE Germany 1 3.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Carafoam 1 Grain - 0 81 2.4 - FALSE Germany 1 6.5 - 0 12 40 TRUE 0 - FALSE + + + 0.123 Weyermann - Carawheat 1 Grain - 0 77 49 - FALSE Germany 1 4 - 0 12 15 TRUE 0 - FALSE + + + 0.123 Weyermann - Chocolate Rye 1 Grain - 0 20 250 - FALSE Germany 1 4 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Chocolate Wheat 1 Grain - 0 74 400 - FALSE Germany 1 4.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Dark Wheat Malt 1 Grain - 0 85 7.3 - FALSE Germany @@ -4728,76 +4536,73 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 50 TRUE 0 - TRUE + + + 0.123 Weyermann - Dehusked Carafa I 1 Grain - 0 70 350 - FALSE Germany 1 3.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Dehusked Carafa II 1 Grain - 0 70 425 - FALSE Germany 1 3.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Dehusked Carafa III 1 Grain - 0 70 520 - FALSE Germany 1 3.5 - 0 12 5 TRUE 0 - FALSE + + + 0.123 Weyermann - Light Munich Malt 1 Grain - 0 82 6.9 - FALSE Germany @@ -4808,36 +4613,35 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Weyermann - Melanoiden Malt 1 Grain - 0 81 27 - FALSE Germany 1 4.5 - 0 12 20 TRUE 0 - TRUE + + + 0.123 Weyermann - Pale Ale Malt 1 Grain - 0 85 3.4 - FALSE Germany @@ -4848,16 +4652,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Weyermann - Pale Wheat Malt 1 Grain - 0 85 2.4 - FALSE Germany @@ -4868,16 +4672,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 80 TRUE 0 - TRUE + + + 0.123 Weyermann - Pilsner Malt 1 Grain - 0 81 2.4 - FALSE Germany @@ -4888,16 +4692,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Weyermann - Rye Malt 1 Grain - 0 85 3.6 - FALSE Germany @@ -4908,16 +4712,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 50 TRUE 0 - TRUE + + + 0.123 Weyermann - Smoked Malt 1 Grain - 0 81 2.8 - FALSE Germany @@ -4928,16 +4732,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Weyermann - Vienna Malt 1 Grain - 0 81 3.9 - FALSE Germany @@ -4948,147 +4752,142 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + 0.123 Wheat Malt, Bel 1 Grain - 0 81 2 - FALSE Belgium Use in wheat beers. 0 0 - 0 0 60 TRUE 0 - TRUE + + + 0.123 Wheat Malt, Dark 1 Grain - 0 84 9 - FALSE Germany Use in wheat beers. 0 0 - 0 0 20 TRUE 0 - TRUE + + + 0.123 Wheat Malt, Ger 1 Grain - 0 84 2 - FALSE Germany Use in wheat beers. 0 0 - 0 0 60 TRUE 0 - TRUE + + + 0.123 Wheat, Flaked 1 Grain - 0 77 2 - FALSE US Flaked wheat is not malted, therefore requires extra effort to extract it's potential sugar content, which will be lower than malted wheat. Flaked wheat is traditional in Belgian witbier and lambics, it contains more starch and higher levels of protein than malted wheat. It adds more mouthfeel than malted wheat and has a different taste, which is noticeable when used in larger quantities. If the grain bill consists of more than 25% flaked wheat you should consider a cereal mash, or precooking the wheat in order to gelatinize it so you can extract more sugars out of it. The addion of 6-row can aid conversion since the barley contains a higher percentage of enzymes than 2-row. 0 0 - 0 0 40 TRUE 0 - TRUE + + + 0.123 Wheat, Roasted 1 Grain - 0 54.3 425 - FALSE Germany 0 0 - 0 0 10 TRUE 0 - TRUE + + + 0.123 Wheat, Torrified 1 Grain - 0 79 2 - FALSE US Torrified wheat is unmalted wheat that has been heated very quickly to get the kernel to puff up, kind of like popcorn. Torrified wheat adds a different flavor to the beer and the grain is gelatinized so you don't have to cook it. 0 0 - 0 0 40 TRUE 0 - TRUE + + + 0.123 White Wheat Malt 1 Grain - 0 86 2 - FALSE US 0 0 - 0 0 60 TRUE 0 - TRUE + + + 0.123 diff --git a/meson.build b/meson.build index 37d5ccb10..cf571f39c 100644 --- a/meson.build +++ b/meson.build @@ -763,7 +763,6 @@ commonSourceFiles = files([ 'src/serialization/xml/XercesHelpers.cpp', 'src/serialization/xml/XmlCoding.cpp', 'src/serialization/xml/XmlMashRecord.cpp', - 'src/serialization/xml/XmlMashStepRecord.cpp', 'src/serialization/xml/XmlRecipeRecord.cpp', 'src/serialization/xml/XmlRecord.cpp', 'src/serialization/xml/XmlRecordDefinition.cpp', diff --git a/schemas/beerxml/v1/BeerXml.xsd b/schemas/beerxml/v1/BeerXml.xsd index ff520baec..6456e09bb 100644 --- a/schemas/beerxml/v1/BeerXml.xsd +++ b/schemas/beerxml/v1/BeerXml.xsd @@ -1,22 +1,20 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -363,6 +432,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -430,6 +532,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -448,26 +573,16 @@ - - - - - - - - - - - - - - - - + + + + + + - - - + + + @@ -487,10 +602,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -546,6 +691,18 @@ + + + + + + + + + + + + @@ -616,6 +773,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -648,6 +827,14 @@ + + + + + + + + @@ -698,8 +885,14 @@ + + + + + + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 79fc0e23e..acf21d914 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -194,7 +194,6 @@ set(filesToCompile_cpp ${repoDir}/src/serialization/xml/XercesHelpers.cpp ${repoDir}/src/serialization/xml/XmlCoding.cpp ${repoDir}/src/serialization/xml/XmlMashRecord.cpp - ${repoDir}/src/serialization/xml/XmlMashStepRecord.cpp ${repoDir}/src/serialization/xml/XmlRecipeRecord.cpp ${repoDir}/src/serialization/xml/XmlRecord.cpp ${repoDir}/src/serialization/xml/XmlRecordDefinition.cpp diff --git a/src/Logging.h b/src/Logging.h index 2c62036fd..2f92ddea0 100644 --- a/src/Logging.h +++ b/src/Logging.h @@ -168,4 +168,20 @@ namespace Logging { extern QString getStackTrace(); } +/** + * \brief Convenience function for logging pointers (because usually we want to log whatever the pointer is pointing to, + * rather than the numerical value of the pointer). + * + * But NB for void * we really do want to log the address! + */ +//template +//S & operator<<(S & stream, T const * thingToLog) requires (!std::same_as) { +// if (thingToLog) { +// stream << *thingToLog; +// } else { +// stream << "Null"; +// } +// return stream; +//} + #endif diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 70c32eb8f..b3d16b197 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -653,9 +653,9 @@ class MainWindow::impl { auto step = stepTableModel.getRow(row); this->m_self.doOrRedoUpdate( newUndoableAddOrRemove(*stepOwner, - &StepClass::StepOwnerClass::removeStep, + &StepClass::StepOwnerClass::remove, step, - &StepClass::StepOwnerClass::addStep, + &StepClass::StepOwnerClass::add, &MainWindow::remove, static_cast)>(nullptr), tr("Remove %1").arg(StepClass::localisedName())) @@ -2387,9 +2387,9 @@ void MainWindow::addStepToStepOwner(StepOwnerClass & stepOwner, std::shared_ptr< } this->doOrRedoUpdate( newUndoableAddOrRemove(stepOwner, - &StepOwnerClass::addStep, + &StepOwnerClass::add, step, - &StepOwnerClass::removeStep, + &StepOwnerClass::remove, tr("Add %1 step to recipe").arg(StepOwnerClass::localisedName())) ); // We don't need to call this->pimpl->m_mashStepTableModel->addMashStep(mashStep) etc here because the change to diff --git a/src/MashDesigner.cpp b/src/MashDesigner.cpp index 0ab0e4355..91d192d75 100644 --- a/src/MashDesigner.cpp +++ b/src/MashDesigner.cpp @@ -173,8 +173,8 @@ void MashDesigner::saveStep() { this->m_mashStep->setInfuseTemp_c(this->selectedTemp_c()); } - // Mash::addStep() will ensure the m_mash step is stored in the DB and has the correct m_mash ID etc - this->m_mash->addStep(this->m_mashStep); + // This call will ensure the m_mash step is stored in the DB and has the correct m_mash ID etc + this->m_mash->add(this->m_mashStep); return; } diff --git a/src/MashWizard.cpp b/src/MashWizard.cpp index e403124d3..61458fd4a 100644 --- a/src/MashWizard.cpp +++ b/src/MashWizard.cpp @@ -193,7 +193,7 @@ void MashWizard::wizardry() { // Find any batch sparges and remove them for (auto step : steps) { if (step->isSparge()) { - mash->removeStep(step); + mash->remove(step); } else { tmp.append(step); } diff --git a/src/database/ObjectStore.cpp b/src/database/ObjectStore.cpp index 0d18eda7b..fb184d72a 100644 --- a/src/database/ObjectStore.cpp +++ b/src/database/ObjectStore.cpp @@ -203,6 +203,16 @@ namespace { return true; } + /** + * \brief Converts a QVariant to a QString, but with a special value for a null QVariant + */ + QString VariantToString(QVariant const & val) { + if (val.isNull()) { + return "[NULL]"; + } + return val.toString(); + } + /** * \brief Return a string containing all the bound values on a query. This is quite a useful thing to have logged * when you get an error! @@ -216,17 +226,18 @@ namespace { // // In Qt5, QSqlQuery::boundValues() returned a QMap giving you the bound value names and - // values. In Qt6, QSqlQuery::boundValues() returns QVariantList of just the values. We have to wait until all - // our platforms support Qt 6.6, when QSqlQuery::boundValueNames() and QSqlQuery::boundValueName() are introduced, - // before we can write, say: - // for (auto const & bvn : sqlQuery.boundValueNames()) { - // resultAsStream << bvn << ": " << sqlQuery.boundValue(bvn).toString() << "\n"; - // } + // values. In Qt6, QSqlQuery::boundValues() returns QVariantList of just the values. It is not until Qt 6.6 that + // QSqlQuery::boundValueNames() and QSqlQuery::boundValueName() are introduced. // +#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0) + for (auto const & bvn : sqlQuery.boundValueNames()) { + resultAsStream << bvn << ": " << VariantToString(sqlQuery.boundValue(bvn)) << "\n"; + } +#else for (auto const & bv : sqlQuery.boundValues()) { - resultAsStream << bv.toString() << "\n"; + resultAsStream << VariantToString(bv) << "\n"; } - +#endif return result; } @@ -1280,6 +1291,7 @@ class ObjectStore::impl { qCritical() << Q_FUNC_INFO << "Wrote new" << object.metaObject()->className() << " to database (with primary key " << primaryKeyInDb << ") but it already had primary key" << currentPrimaryKey; + qCritical().noquote() << Q_FUNC_INFO << Logging::getStackTrace(); Q_ASSERT(false); // Stop here on debug build } } @@ -2005,6 +2017,7 @@ std::shared_ptr ObjectStore::defaultHardDelete(int id) { if (!sqlQuery.exec()) { qCritical() << Q_FUNC_INFO << "Error executing database query " << queryString << ": " << sqlQuery.lastError().text(); + qCritical().noquote() << Q_FUNC_INFO << Logging::getStackTrace(); return object; } diff --git a/src/database/ObjectStoreTyped.h b/src/database/ObjectStoreTyped.h index 62c2d4081..3377ca945 100644 --- a/src/database/ObjectStoreTyped.h +++ b/src/database/ObjectStoreTyped.h @@ -144,6 +144,9 @@ class ObjectStoreTyped : public ObjectStore { std::shared_ptr getById(int id) const { if (!this->contains(id)) { qDebug() << Q_FUNC_INFO << "ID" << id << "not found amongst" << this->size() << "objects"; + // Uncomment the following to track down errors where we're looking for an object that is not in the DB. + // (Often this is because we are searching for an object before it has been stored in the DB.) +// qDebug().noquote() << Q_FUNC_INFO << Logging::getStackTrace(); return nullptr; } return std::static_pointer_cast(this->ObjectStore::getById(id)); diff --git a/src/editors/NamedMashEditor.cpp b/src/editors/NamedMashEditor.cpp index c5da45428..9fd9eea0d 100755 --- a/src/editors/NamedMashEditor.cpp +++ b/src/editors/NamedMashEditor.cpp @@ -185,7 +185,7 @@ void NamedMashEditor::addMashStep() { // The call to Mash::addMashStep() will also store the MashStep in the ObjectStore / DB auto step = std::make_shared(); - this->m_mashObs->addStep(step); + this->m_mashObs->add(step); m_mashStepEditor->setEditItem(step); m_mashStepEditor->setVisible(true); return; @@ -217,7 +217,7 @@ void NamedMashEditor::removeMashStep() { } auto step = m_mashStepTableModel->getRow(selected[0].row()); - this->m_mashObs->removeStep(step); + this->m_mashObs->remove(step); return; } diff --git a/src/model/Boil.cpp b/src/model/Boil.cpp index 77849dcee..616a9aa1d 100755 --- a/src/model/Boil.cpp +++ b/src/model/Boil.cpp @@ -172,12 +172,13 @@ void Boil::ensureStandardProfile() { // more than one Recipe. // auto recipe = ObjectStoreWrapper::findFirstMatching([this](Recipe * rec) {return rec->uses(*this);}); + QString const recipeStrippedName = recipe->strippedName(); auto boilSteps = this->steps(); if (boilSteps.size() == 0 || boilSteps.at(0)->startTemp_c().value_or(100.0) > Boil::minimumBoilTemperature_c) { // We need to add a ramp-up (aka pre-boil) step - auto preBoil = std::make_shared(tr("Pre-boil for %1").arg(recipe->name())); - preBoil->setDescription(tr("Automatically-generated pre-boil step for %1").arg(recipe->name())); + auto preBoil = std::make_shared(tr("Pre-boil for %1").arg(recipeStrippedName)); + preBoil->setDescription(tr("Automatically-generated pre-boil step for %1").arg(recipeStrippedName)); // Get the starting temperature for the ramp-up from the end temperature of the mash double startingTemp = Boil::minimumBoilTemperature_c - 1.0; if (recipe->mash()) { @@ -190,22 +191,22 @@ void Boil::ensureStandardProfile() { } preBoil->setStartTemp_c(startingTemp); preBoil->setEndTemp_c(100.0); - this->insertStep(preBoil, 1); + this->insert(preBoil, 1); } if (boilSteps.size() < 2 || boilSteps.at(1)->startTemp_c().value_or(0.0) < Boil::minimumBoilTemperature_c) { // We need to add a main (aka boil proper) step - auto mainBoil = std::make_shared(tr("Main boil for %1").arg(recipe->name())); - mainBoil->setDescription(tr("Automatically-generated boil proper step for %1").arg(recipe->name())); + auto mainBoil = std::make_shared(tr("Main boil for %1").arg(recipeStrippedName)); + mainBoil->setDescription(tr("Automatically-generated boil proper step for %1").arg(recipeStrippedName)); mainBoil->setStartTemp_c(100.0); mainBoil->setEndTemp_c(100.0); - this->insertStep(mainBoil, 2); + this->insert(mainBoil, 2); } if (boilSteps.size() < 3 || boilSteps.at(2)->endTemp_c().value_or(100.0) > Boil::minimumBoilTemperature_c) { // We need to add a post-boil step - auto postBoil = std::make_shared(tr("Post-boil for %1").arg(recipe->name())); - postBoil->setDescription(tr("Automatically-generated post-boil step for %1").arg(recipe->name())); + auto postBoil = std::make_shared(tr("Post-boil for %1").arg(recipeStrippedName)); + postBoil->setDescription(tr("Automatically-generated post-boil step for %1").arg(recipeStrippedName)); double endingTemp = 30.0; if (recipe->fermentation()) { auto fs = recipe->fermentation()->fermentationSteps(); @@ -216,7 +217,7 @@ void Boil::ensureStandardProfile() { } postBoil->setStartTemp_c(100.0); postBoil->setEndTemp_c(endingTemp); - this->insertStep(postBoil, 3); + this->insert(postBoil, 3); } return; diff --git a/src/model/BoilStep.cpp b/src/model/BoilStep.cpp index edf1cd9d1..0c2883fb4 100755 --- a/src/model/BoilStep.cpp +++ b/src/model/BoilStep.cpp @@ -18,6 +18,7 @@ #include "database/ObjectStoreWrapper.h" #include "model/NamedParameterBundle.h" #include "utils/OptionalHelpers.h" +#include "utils/AutoCompare.h" QString BoilStep::localisedName() { return tr("Boil Step"); } @@ -36,7 +37,7 @@ bool BoilStep::isEqualTo(NamedEntity const & other) const { BoilStep const & rhs = static_cast(other); // Base class will already have ensured names are equal return ( - this->m_chillingType == rhs.m_chillingType && + AUTO_LOG_COMPARE(this, rhs, m_chillingType) && // Parent classes have to be equal too this->StepExtended::isEqualTo(other) ); diff --git a/src/model/BoilStep.h b/src/model/BoilStep.h index 8709c1659..80d0b669b 100755 --- a/src/model/BoilStep.h +++ b/src/model/BoilStep.h @@ -126,9 +126,20 @@ class BoilStep : public StepExtended, public StepBase m_chillingType; - }; +/** + * \brief Because \c BoilStep inherits from multiple bases, more than one of which has a match for \c operator<<, we + * need to provide an overload of \c operator<< that combines the output of those for all the base classes. + */ +template +S & operator<<(S & stream, BoilStep const & boilStep) { + stream << + static_cast(boilStep) << " " << + static_cast const &>(boilStep); + return stream; +} + BT_DECLARE_METATYPES(BoilStep) #endif diff --git a/src/model/EnumeratedBase.h b/src/model/EnumeratedBase.h index 83460a5c7..7263ceb39 100644 --- a/src/model/EnumeratedBase.h +++ b/src/model/EnumeratedBase.h @@ -45,8 +45,8 @@ AddPropertyName(stepNumber) * corresponding \c Instruction objects). * - The \c Instruction objects belonging to a given \c Recipe have an ordering * - * So we pull out these more fundamental properties into \c EnumeratedBase, as the following \b partial inheritance - * diagram shows: + * So we pull out these more fundamental properties into \c EnumeratedBase, as the following \b partial + * inheritance diagram shows: * * EnumeratedBase * / \ @@ -59,8 +59,8 @@ AddPropertyName(stepNumber) * This gives enough of what we need, for now. We would need to rethink a bit if we had one type of object * owning more than one type of "steps". * - * Directly derived classes need to include ENUMERATED_COMMON_DECL and ENUMERATED_COMMON_CODE in the obvious places - * (either their own macros for \c StepBase or in the header and implementation file respectively for + * Directly derived classes need to include ENUMERATED_COMMON_DECL and ENUMERATED_COMMON_CODE in the obvious + * places (either their own macros for \c StepBase or in the header and implementation file respectively for * \c Instruction). */ template class EnumeratedPhantom; @@ -73,11 +73,21 @@ class EnumeratedBase : public CuriouslyRecurringTemplateBasem_ownerId , other.m_ownerId ) && - Utils::AutoCompare(this->m_stepNumber, other.m_stepNumber) + // + // Note that we do _not_ compare m_ownerId. We need to be able to compare classes with different owners. Eg, + // to know whether two different Mash objects are equal, we need, amongst other things, to check whether their + // owned MashStep objects are equal. + // + AUTO_LOG_COMPARE(this, other, m_stepNumber) ); } + bool doIsLessThan(EnumeratedBase const & other) const { + // It is a coding error if we are trying to order items that don't have the same owner + Q_ASSERT(this->m_ownerId == other.m_ownerId); + return this->m_stepNumber < other.m_stepNumber; + } + // Normally we'd make the constructors private and allow access to Derived as a friend. However, we want StepBase // to inherit from EnumeratedBase, so we need the former's constructor to be able to call the latter's. EnumeratedBase() { @@ -90,7 +100,7 @@ class EnumeratedBase : public CuriouslyRecurringTemplateBase::getInstance(); } - + //! \brief Convenience function for logging + virtual QString toString() const { + return QString{"EnumeratedBase (m_ownerId: %1; m_stepNumber: %2)"}.arg(this->m_ownerId).arg(this->m_stepNumber); + } protected: //================================================ MEMBER VARIABLES ================================================= @@ -163,6 +176,13 @@ class EnumeratedBase : public CuriouslyRecurringTemplateBase +S & operator<<(S & stream, EnumeratedBase const & enumeratedBase) { + stream << enumeratedBase.toString(); + return stream; +} + template TypeLookup const EnumeratedBase::typeLookup { "EnumeratedBase", @@ -217,6 +237,7 @@ TypeLookup const EnumeratedBase::typeLookup { /* This alias makes it easier to template a number of functions */ \ /* that are essentially the same for all "stepped" classes. */ \ using StepOwnerClass = Owner; \ + bool operator<(Derived const & other) const; \ \ protected: \ /** Override NamedEntity::getObjectStoreTypedInstance */ \ @@ -227,6 +248,7 @@ TypeLookup const EnumeratedBase::typeLookup { * this in their implementation file. */ #define ENUMERATED_COMMON_CODE(Derived) \ + bool Derived::operator<(Derived const & other) const { return this->doIsLessThan(other); } \ ObjectStore & Derived::getObjectStoreTypedInstance() const { return this->doGetObjectStoreTypedInstance(); } \ diff --git a/src/model/Fermentable.cpp b/src/model/Fermentable.cpp index bf75ea566..efbf7bfb2 100644 --- a/src/model/Fermentable.cpp +++ b/src/model/Fermentable.cpp @@ -90,20 +90,20 @@ bool Fermentable::isEqualTo(NamedEntity const & other) const { bool const outlinesAreEqual{ // "Outline" fields: In BeerJSON, all these fields are in the FermentableBase type - Utils::AutoCompare(this->m_type , rhs.m_type ) && - Utils::AutoCompare(this->m_origin , rhs.m_origin ) && - Utils::AutoCompare(this->m_color_srm , rhs.m_color_srm ) && - Utils::AutoCompare(this->m_producer , rhs.m_producer ) && - Utils::AutoCompare(this->m_productId , rhs.m_productId ) && - Utils::AutoCompare(this->m_grainGroup, rhs.m_grainGroup) && + AUTO_LOG_COMPARE(this, rhs, m_type ) && + AUTO_LOG_COMPARE(this, rhs, m_origin ) && + AUTO_LOG_COMPARE(this, rhs, m_color_srm ) && + AUTO_LOG_COMPARE(this, rhs, m_producer ) && + AUTO_LOG_COMPARE(this, rhs, m_productId ) && + AUTO_LOG_COMPARE(this, rhs, m_grainGroup) && // Yield - Utils::AutoCompare(this->m_fineGrindYield_pct , rhs.m_fineGrindYield_pct ) && - Utils::AutoCompare(this->m_coarseGrindYield_pct, rhs.m_coarseGrindYield_pct) && - Utils::AutoCompare(this->m_coarseFineDiff_pct , rhs.m_coarseFineDiff_pct ) && - Utils::AutoCompare(this->m_potentialYield_sg , rhs.m_potentialYield_sg ) && + AUTO_LOG_COMPARE(this, rhs, m_fineGrindYield_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_coarseGrindYield_pct) && + AUTO_LOG_COMPARE(this, rhs, m_coarseFineDiff_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_potentialYield_sg ) && - Utils::AutoCompare(this->m_color_srm , rhs.m_color_srm) + AUTO_LOG_COMPARE(this, rhs, m_color_srm) }; // If either object is an outline (see comment in model/OutlineableNamedEntity.h) then there is no point comparing @@ -116,29 +116,29 @@ bool Fermentable::isEqualTo(NamedEntity const & other) const { outlinesAreEqual && // Remaining BeerJSON fields -- excluding inventories - Utils::AutoCompare(this->m_notes , rhs.m_notes ) && - Utils::AutoCompare(this->m_moisture_pct , rhs.m_moisture_pct ) && - Utils::AutoCompare(this->m_alphaAmylase_dextUnits, rhs.m_alphaAmylase_dextUnits) && - Utils::AutoCompare(this->m_diastaticPower_lintner, rhs.m_diastaticPower_lintner) && - Utils::AutoCompare(this->m_protein_pct , rhs.m_protein_pct ) && - Utils::AutoCompare(this->m_kolbachIndex_pct , rhs.m_kolbachIndex_pct ) && - Utils::AutoCompare(this->m_maxInBatch_pct , rhs.m_maxInBatch_pct ) && - Utils::AutoCompare(this->m_recommendMash , rhs.m_recommendMash ) && - Utils::AutoCompare(this->m_hardnessPrpGlassy_pct , rhs.m_hardnessPrpGlassy_pct ) && - Utils::AutoCompare(this->m_kernelSizePrpPlump_pct, rhs.m_kernelSizePrpPlump_pct) && - Utils::AutoCompare(this->m_hardnessPrpHalf_pct , rhs.m_hardnessPrpHalf_pct ) && - Utils::AutoCompare(this->m_hardnessPrpMealy_pct , rhs.m_hardnessPrpMealy_pct ) && - Utils::AutoCompare(this->m_kernelSizePrpThin_pct , rhs.m_kernelSizePrpThin_pct ) && - Utils::AutoCompare(this->m_friability_pct , rhs.m_friability_pct ) && - Utils::AutoCompare(this->m_di_ph , rhs.m_di_ph ) && - Utils::AutoCompare(this->m_viscosity_cP , rhs.m_viscosity_cP ) && - Utils::AutoCompare(this->m_dmsP_ppm , rhs.m_dmsP_ppm ) && - Utils::AutoCompare(this->m_fan_ppm , rhs.m_fan_ppm ) && - Utils::AutoCompare(this->m_fermentability_pct , rhs.m_fermentability_pct ) && - Utils::AutoCompare(this->m_betaGlucan_ppm , rhs.m_betaGlucan_ppm ) && + AUTO_LOG_COMPARE(this, rhs, m_notes ) && + AUTO_LOG_COMPARE(this, rhs, m_moisture_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_alphaAmylase_dextUnits) && + AUTO_LOG_COMPARE(this, rhs, m_diastaticPower_lintner) && + AUTO_LOG_COMPARE(this, rhs, m_protein_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_kolbachIndex_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_maxInBatch_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_recommendMash ) && + AUTO_LOG_COMPARE(this, rhs, m_hardnessPrpGlassy_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_kernelSizePrpPlump_pct) && + AUTO_LOG_COMPARE(this, rhs, m_hardnessPrpHalf_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_hardnessPrpMealy_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_kernelSizePrpThin_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_friability_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_di_ph ) && + AUTO_LOG_COMPARE(this, rhs, m_viscosity_cP ) && + AUTO_LOG_COMPARE(this, rhs, m_dmsP_ppm ) && + AUTO_LOG_COMPARE(this, rhs, m_fan_ppm ) && + AUTO_LOG_COMPARE(this, rhs, m_fermentability_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_betaGlucan_ppm ) && // Non-BeerJSON fields - Utils::AutoCompare(this->m_supplier , rhs.m_supplier) + AUTO_LOG_COMPARE(this, rhs, m_supplier) ); } diff --git a/src/model/FermentationStep.cpp b/src/model/FermentationStep.cpp index 8f8b156c7..595cd5d48 100755 --- a/src/model/FermentationStep.cpp +++ b/src/model/FermentationStep.cpp @@ -17,6 +17,7 @@ #include "database/ObjectStoreWrapper.h" #include "model/NamedParameterBundle.h" +#include "utils/AutoCompare.h" QString FermentationStep::localisedName() { return tr("Fermentation Step"); } @@ -25,8 +26,8 @@ bool FermentationStep::isEqualTo(NamedEntity const & other) const { FermentationStep const & rhs = static_cast(other); // Base class will already have ensured names are equal return ( - this->m_freeRise == rhs.m_freeRise && - this->m_vessel == rhs.m_vessel && + AUTO_LOG_COMPARE(this, rhs, m_freeRise) && + AUTO_LOG_COMPARE(this, rhs, m_vessel ) && // Parent classes have to be equal too this->StepExtended::isEqualTo(other) ); diff --git a/src/model/FermentationStep.h b/src/model/FermentationStep.h index e66a25fd5..eb53a63d6 100755 --- a/src/model/FermentationStep.h +++ b/src/model/FermentationStep.h @@ -108,6 +108,18 @@ class FermentationStep : public StepExtended, public StepBase +S & operator<<(S & stream, FermentationStep const & fermentationStep) { + stream << + static_cast(fermentationStep) << " " << + static_cast const &>(fermentationStep); + return stream; +} + BT_DECLARE_METATYPES(FermentationStep) #endif diff --git a/src/model/Hop.cpp b/src/model/Hop.cpp index df4bce8ef..91169a9f2 100644 --- a/src/model/Hop.cpp +++ b/src/model/Hop.cpp @@ -78,13 +78,13 @@ bool Hop::isEqualTo(NamedEntity const & other) const { // Base class will already have ensured names are equal bool const outlinesAreEqual{ // "Outline" fields: In BeerJSON, all these fields are in the FermentableBase type - Utils::AutoCompare(this->m_producer , rhs.m_producer ) && - Utils::AutoCompare(this->m_productId, rhs.m_productId) && - Utils::AutoCompare(this->m_origin , rhs.m_origin ) && - Utils::AutoCompare(this->m_year , rhs.m_year ) && - Utils::AutoCompare(this->m_form , rhs.m_form ) && - Utils::AutoCompare(this->m_alpha_pct, rhs.m_alpha_pct) && - Utils::AutoCompare(this->m_beta_pct , rhs.m_beta_pct ) + AUTO_LOG_COMPARE(this, rhs, m_producer ) && + AUTO_LOG_COMPARE(this, rhs, m_productId) && + AUTO_LOG_COMPARE(this, rhs, m_origin ) && + AUTO_LOG_COMPARE(this, rhs, m_year ) && + AUTO_LOG_COMPARE(this, rhs, m_form ) && + AUTO_LOG_COMPARE(this, rhs, m_alpha_pct) && + AUTO_LOG_COMPARE(this, rhs, m_beta_pct ) }; // If either object is an outline (see comment in model/OutlineableNamedEntity.h) then there is no point comparing @@ -98,26 +98,26 @@ bool Hop::isEqualTo(NamedEntity const & other) const { // Remaining BeerJSON fields -- excluding inventories - Utils::AutoCompare(this->m_type , rhs.m_type ) && - Utils::AutoCompare(this->m_notes , rhs.m_notes ) && - Utils::AutoCompare(this->m_hsi_pct , rhs.m_hsi_pct ) && - Utils::AutoCompare(this->m_substitutes , rhs.m_substitutes ) && + AUTO_LOG_COMPARE(this, rhs, m_type ) && + AUTO_LOG_COMPARE(this, rhs, m_notes ) && + AUTO_LOG_COMPARE(this, rhs, m_hsi_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_substitutes ) && // Oil content - Utils::AutoCompare(this->m_totalOil_mlPer100g, rhs.m_totalOil_mlPer100g) && - Utils::AutoCompare(this->m_humulene_pct , rhs.m_humulene_pct ) && - Utils::AutoCompare(this->m_caryophyllene_pct , rhs.m_caryophyllene_pct ) && - Utils::AutoCompare(this->m_cohumulone_pct , rhs.m_cohumulone_pct ) && - Utils::AutoCompare(this->m_myrcene_pct , rhs.m_myrcene_pct ) && - Utils::AutoCompare(this->m_farnesene_pct , rhs.m_farnesene_pct ) && - Utils::AutoCompare(this->m_geraniol_pct , rhs.m_geraniol_pct ) && - Utils::AutoCompare(this->m_bPinene_pct , rhs.m_bPinene_pct ) && - Utils::AutoCompare(this->m_linalool_pct , rhs.m_linalool_pct ) && - Utils::AutoCompare(this->m_limonene_pct , rhs.m_limonene_pct ) && - Utils::AutoCompare(this->m_nerol_pct , rhs.m_nerol_pct ) && - Utils::AutoCompare(this->m_pinene_pct , rhs.m_pinene_pct ) && - Utils::AutoCompare(this->m_polyphenols_pct , rhs.m_polyphenols_pct ) && - Utils::AutoCompare(this->m_xanthohumol_pct , rhs.m_xanthohumol_pct ) + AUTO_LOG_COMPARE(this, rhs, m_totalOil_mlPer100g) && + AUTO_LOG_COMPARE(this, rhs, m_humulene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_caryophyllene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_cohumulone_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_myrcene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_farnesene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_geraniol_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_bPinene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_linalool_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_limonene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_nerol_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_pinene_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_polyphenols_pct ) && + AUTO_LOG_COMPARE(this, rhs, m_xanthohumol_pct ) ); } diff --git a/src/model/Instruction.h b/src/model/Instruction.h index 4279cf683..9ab8cbf6e 100644 --- a/src/model/Instruction.h +++ b/src/model/Instruction.h @@ -70,6 +70,8 @@ class Instruction : public NamedEntity, */ static QString localisedName(); + using OwnerClass = Recipe; + /** * \brief Mapping of names to types for the Qt properties of this class. See \c NamedEntity::typeLookup for more * info. @@ -125,6 +127,18 @@ class Instruction : public NamedEntity, QList m_reagents; }; +/** + * \brief Because \c Instruction inherits from multiple bases, more than one of which has a match for \c operator<<, we + * need to provide an overload of \c operator<< that combines the output of those for all the base classes. + */ +template +S & operator<<(S & stream, Instruction const & instruction) { + stream << + static_cast(instruction) << " " << + static_cast const &>(instruction); + return stream; +} + BT_DECLARE_METATYPES(Instruction) //! \brief Compares Instruction pointers by Instruction::instructionNumber(). diff --git a/src/model/Mash.cpp b/src/model/Mash.cpp index 2e6cea414..85751fd4d 100644 --- a/src/model/Mash.cpp +++ b/src/model/Mash.cpp @@ -37,12 +37,12 @@ bool Mash::isEqualTo(NamedEntity const & other) const { Mash const & rhs = static_cast(other); // Base class will already have ensured names are equal return ( - Utils::AutoCompare(this->m_grainTemp_c , rhs.m_grainTemp_c ) && - Utils::AutoCompare(this->m_tunTemp_c , rhs.m_tunTemp_c ) && - Utils::AutoCompare(this->m_spargeTemp_c , rhs.m_spargeTemp_c ) && - Utils::AutoCompare(this->m_ph , rhs.m_ph ) && - Utils::AutoCompare(this->m_mashTunWeight_kg , rhs.m_mashTunWeight_kg ) && - Utils::AutoCompare(this->m_mashTunSpecificHeat_calGC, rhs.m_mashTunSpecificHeat_calGC) && + AUTO_LOG_COMPARE(this, rhs, m_grainTemp_c ) && + AUTO_LOG_COMPARE(this, rhs, m_tunTemp_c ) && + AUTO_LOG_COMPARE(this, rhs, m_spargeTemp_c ) && + AUTO_LOG_COMPARE(this, rhs, m_ph ) && + AUTO_LOG_COMPARE(this, rhs, m_mashTunWeight_kg ) && + AUTO_LOG_COMPARE(this, rhs, m_mashTunSpecificHeat_calGC) && // Parent classes have to be equal too this->FolderBase::doIsEqualTo(rhs) && this->StepOwnerBase::doIsEqualTo(rhs) @@ -218,6 +218,7 @@ bool Mash::hasSparge() const { } void Mash::acceptStepChange(QMetaProperty prop, QVariant val) { + // TBD I don't think anything listens for changes to totalMashWater_l or totalTime this->doAcceptStepChange(this->sender(), prop, val, {&PropertyNames::Mash::totalMashWater_l, &PropertyNames::Mash::totalTime }); return; diff --git a/src/model/MashStep.cpp b/src/model/MashStep.cpp index 461470d46..32861337d 100644 --- a/src/model/MashStep.cpp +++ b/src/model/MashStep.cpp @@ -25,6 +25,7 @@ #include "database/ObjectStoreWrapper.h" #include "model/NamedParameterBundle.h" #include "PhysicalConstants.h" +#include "utils/AutoCompare.h" QString MashStep::localisedName() { return tr("Mash Step"); } @@ -54,9 +55,9 @@ bool MashStep::isEqualTo(NamedEntity const & other) const { MashStep const & rhs = static_cast(other); // Base class will already have ensured names are equal return ( - this->m_type == rhs.m_type && - this->m_amount_l == rhs.m_amount_l && - this->m_infuseTemp_c == rhs.m_infuseTemp_c && + AUTO_LOG_COMPARE(this, rhs, m_type ) && + AUTO_LOG_COMPARE(this, rhs, m_amount_l ) && + AUTO_LOG_COMPARE(this, rhs, m_infuseTemp_c) && // Parent classes have to be equal too this->Step::isEqualTo(rhs) && this->StepBase); + // Insert boiler-plate wrapper functions that call down to StepBase STEP_COMMON_CODE(Mash) diff --git a/src/model/MashStep.h b/src/model/MashStep.h index 86c3ec085..4df2f6d38 100644 --- a/src/model/MashStep.h +++ b/src/model/MashStep.h @@ -29,6 +29,7 @@ #include "model/Step.h" #include "model/StepBase.h" #include "utils/EnumStringMapping.h" +#include "utils/OptionalHelpers.h" //====================================================================================================================== //========================================== Start of property name constants ========================================== @@ -195,6 +196,22 @@ class MashStep : public Step, public StepBase { protected: virtual bool isEqualTo(NamedEntity const & other) const override; + /** + * \brief Because \c MashStep inherits from multiple bases, more than one of which has a match for \c operator<<, we + * need to provide an overload of \c operator<< that combines the output of those for all the base classes. + */ + template + friend S & operator<<(S & stream, MashStep const & mashStep) { + stream << + static_cast(mashStep) << + ", type: " << MashStep::typeStringMapping[mashStep.m_type] << + ", m_amount_l " << mashStep.m_amount_l << + ", m_infuseTemp_c " << Optional::toString(mashStep.m_infuseTemp_c) << + ", m_liquorToGristRatio_lKg " << Optional::toString(mashStep.m_liquorToGristRatio_lKg) << " " << + static_cast const &>(mashStep); + return stream; + } + private: Type m_type ; double m_amount_l ; @@ -203,6 +220,7 @@ class MashStep : public Step, public StepBase { std::optional m_liquorToGristRatio_lKg; }; + BT_DECLARE_METATYPES(MashStep) static_assert(!HasFolder); diff --git a/src/model/Misc.cpp b/src/model/Misc.cpp index 8b78a4982..d99e9bf1e 100644 --- a/src/model/Misc.cpp +++ b/src/model/Misc.cpp @@ -61,9 +61,9 @@ bool Misc::isEqualTo(NamedEntity const & other) const { // Base class will already have ensured names are equal bool const outlinesAreEqual{ // "Outline" fields: In BeerJSON, all these fields are in the FermentableBase type - Utils::AutoCompare(this->m_producer , rhs.m_producer ) && - Utils::AutoCompare(this->m_productId, rhs.m_productId) && - Utils::AutoCompare(this->m_type , rhs.m_type ) + AUTO_LOG_COMPARE(this, rhs, m_producer ) && + AUTO_LOG_COMPARE(this, rhs, m_productId) && + AUTO_LOG_COMPARE(this, rhs, m_type ) }; // If either object is an outline (see comment in model/OutlineableNamedEntity.h) then there is no point comparing @@ -76,8 +76,8 @@ bool Misc::isEqualTo(NamedEntity const & other) const { outlinesAreEqual && // Remaining BeerJSON fields -- excluding inventories - Utils::AutoCompare(this->m_useFor, rhs.m_useFor) && - Utils::AutoCompare(this->m_notes , rhs.m_notes ) + AUTO_LOG_COMPARE(this, rhs, m_useFor) && + AUTO_LOG_COMPARE(this, rhs, m_notes ) ); } diff --git a/src/model/NamedEntity.cpp b/src/model/NamedEntity.cpp index 719b4c7c9..1aa66b05c 100644 --- a/src/model/NamedEntity.cpp +++ b/src/model/NamedEntity.cpp @@ -57,10 +57,26 @@ #include "model/Water.h" #include "model/Yeast.h" +namespace { + /** + * \brief This is a regexp that will match the " (n)" (for n some positive integer) added on the end of a name to + * prevent name clashes. It will also "capture" n to allow you to extract it. + * + * Note that, in the regexp, to match a bracket, we need to escape it, thus "\(" instead of "(". However, we + * must also escape the backslash so that the C++ compiler doesn't think we want a special character (such as + * '\n') and barf a "unknown escape sequence" warning at us. So "\\(" is needed in the string literal here to + * pass "\(" to the regexp to match literal "(" (and similarly for close bracket). + * + * The inner brackets for the capturing group do not require any escaping. + * + * A bug in some versions of the code meant that "Foobar ( (1)" was used instead of "Foobar (1)", so we allow + * for the erroneous extra bracket etc here so that we may at least partially correct things. + */ + QRegularExpression const duplicateNameNumberMatcher{" *\\([( ]*([0-9]+)\\)$"}; +} QString NamedEntity::localisedName() { return tr("Named Entity"); } - NamedEntity::NamedEntity(QString t_name, bool t_display) : QObject {nullptr }, m_key {-1 }, @@ -186,18 +202,6 @@ void NamedEntity::makeChild(NamedEntity const & copiedFrom) { return; } -QRegularExpression const & NamedEntity::getDuplicateNameNumberMatcher() { - // - // Note that, in the regexp, to match a bracket, we need to escape it, thus "\(" instead of "(". However, we - // must also escape the backslash so that the C++ compiler doesn't think we want a special character (such as - // '\n') and barf a "unknown escape sequence" warning at us. So "\\(" is needed in the string literal here to - // pass "\(" to the regexp to match literal "(" (and similarly for close bracket). - // - static QRegularExpression const duplicateNameNumberMatcher{" *\\(([0-9]+)\\)$"}; - return duplicateNameNumberMatcher; -} - - // See https://zpz.github.io/blog/overloading-equality-operator-in-cpp-class-hierarchy/ (and cross-references to // http://www.gotw.ca/publications/mill18.htm) for good discussion on implementation of operator== in a class // hierarchy. Our implementation differs slightly for a couple of reasons: @@ -220,21 +224,27 @@ bool NamedEntity::operator==(NamedEntity const & other) const { // m_deleted as they are more related to the UI than whether, in essence, two objects are the same. // if (this->m_name != other.m_name) { + // Normally leave the next line commented out as it generates a lot of logging // qDebug() << Q_FUNC_INFO << "No name match (" << this->m_name << "/" << other.m_name << ")"; // // If the names don't match, let's check it's not for a trivial reason. Eg, if you have one Hop called // "Tettnang" and another called "Tettnang (1)" we wouldn't say they are different just because of the names. // So we want to strip off any number in brackets at the ends of the names and then compare again. // - QRegularExpression const & duplicateNameNumberMatcher = NamedEntity::getDuplicateNameNumberMatcher(); QString names[2] {this->m_name, other.m_name}; for (auto ii = 0; ii < 2; ++ii) { QRegularExpressionMatch match = duplicateNameNumberMatcher.match(names[ii]); if (match.hasMatch()) { + // Regular expression capturing groups are traditionally numbered from 1, with number 0 being reserved for + // "the implicit capturing group ... capturing the substring matched by the entire pattern". + auto const positionOfMatch = match.capturedStart(0); + // Normally leave the next line commented out as it generates a lot of logging +// qDebug() << Q_FUNC_INFO << names[ii] << "has match" << match << "at" << positionOfMatch; // There's some integer in brackets at the end of the name. Chop it off. - names[ii].truncate(match.capturedStart(1)); + names[ii].truncate(positionOfMatch); } } + // Normally leave the next line commented out as it generates a lot of logging // qDebug() << Q_FUNC_INFO << "Adjusted names to " << names[0] << " & " << names[1]; if (names[0] != names[1]) { return false; @@ -293,6 +303,19 @@ QString NamedEntity::name() const { return this->m_name; } +QString NamedEntity::strippedName() const { + QString name {this->m_name}; + QRegularExpressionMatch const match = duplicateNameNumberMatcher.match(name); + QString matchedValue = match.captured(1); + if (matchedValue.size() > 0) { + // There's some integer in brackets at the end of the name, so we chop it off. Comments in modifyClashingName + // apply here too. + name.truncate(match.capturedStart(0)); + } + + return name; +} + void NamedEntity::setName(QString const & var) { SET_AND_NOTIFY(PropertyNames::NamedEntity::name, this->m_name, var); return; @@ -539,6 +562,25 @@ NamedEntity * NamedEntity::ensureExists(BtStringConst const & property) { return nullptr; } +void NamedEntity::modifyClashingName(QString & candidateName) { + // + // First, see whether there's already a (n) (ie "(1)", "(2)" etc) at the end of the name (with or without + // space(s) preceding the left bracket. If so, we want to replace this with " (n+1)". If not, we try " (1)". + // + int duplicateNumber = 1; + QRegularExpressionMatch const match = duplicateNameNumberMatcher.match(candidateName); + QString matchedValue = match.captured(1); + if (matchedValue.size() > 0) { + // There's already some integer in brackets at the end of the name, extract it, add one, and truncate the name + // NB: Regular expression capturing groups are traditionally numbered from 1, with number 0 being reserved for + // "the implicit capturing group ... capturing the substring matched by the entire pattern". + duplicateNumber = matchedValue.toInt() + 1; + candidateName.truncate(match.capturedStart(0)); + } + candidateName += QString(" (%1)").arg(duplicateNumber); + return; +} + //====================================================================================================================== // NamedEntityModifyingMarker //====================================================================================================================== diff --git a/src/model/NamedEntity.h b/src/model/NamedEntity.h index 07816e3da..80aca6ba2 100644 --- a/src/model/NamedEntity.h +++ b/src/model/NamedEntity.h @@ -165,7 +165,7 @@ class NamedEntity : public QObject { inline virtual TypeLookup const & getTypeLookup() const { return typeLookup; } NamedEntity(QString t_name, bool t_display = false); - NamedEntity(NamedEntity const & other); + explicit NamedEntity(NamedEntity const & other); /** * \brief Note that, if you want a \b child of a \c NamedEntity (to add to a \c Recipe), you should call @@ -248,6 +248,8 @@ class NamedEntity : public QObject { Q_PROPERTY(int parentKey READ getParentKey WRITE setParentKey) QString name() const; + //! \brief Returns name with any bracketed number stripped from the end (eg "Foobar" for "Foobar (2)") + QString strippedName() const; bool deleted() const; bool display() const; int key() const; @@ -405,6 +407,19 @@ class NamedEntity : public QObject { */ virtual NamedEntity * ensureExists(BtStringConst const & property); + /** + * \brief Given a name that is a duplicate of an existing one, modify it to a potential alternative. + * Callers should call this function as many times as necessary to find a non-clashing name. + * + * Eg if the supplied clashing name is "Oatmeal Stout", we'll try adding a "duplicate number" in brackets to + * the end of the name, ie amending it to "Oatmeal Stout (1)". If the caller determines that that clashes too + * then the next call (supplying "Oatmeal Stout (1)") will make us modify the name to "Oatmeal Stout (2)" (and + * NOT "Oatmeal Stout (1) (1)"!). + * + * \param candidateName The name that we should attempt to modify. (Modification is done in place.) + */ + static void modifyClashingName(QString & candidateName); + signals: /*! * \brief Passes the meta property that has changed about this object. @@ -681,7 +696,7 @@ class NamedEntityModifyingMarker { */ template S & operator<<(S & stream, NamedEntity const & namedEntity) { - stream << namedEntity.metaObject()->className() << " #" << namedEntity.key() << "(" << namedEntity.name() << ")"; + stream << namedEntity.metaObject()->className() << " #" << namedEntity.key() << " (" << namedEntity.name() << ")"; return stream; } diff --git a/src/model/OwnedByRecipe.cpp b/src/model/OwnedByRecipe.cpp index a5a742e67..dd5576dfd 100755 --- a/src/model/OwnedByRecipe.cpp +++ b/src/model/OwnedByRecipe.cpp @@ -21,10 +21,15 @@ QString OwnedByRecipe::localisedName() { return tr("Owned By Recipe"); } bool OwnedByRecipe::isEqualTo(NamedEntity const & other) const { // Base class (NamedEntity) will have ensured this cast is valid - OwnedByRecipe const & rhs = static_cast(other); +// OwnedByRecipe const & rhs = static_cast(other); // Base class will already have ensured names are equal return ( - this->m_recipeId == rhs.m_recipeId + // + // Note that we do _not_ compare m_recipeId. We need to be able to compare classes with different owners. Eg, + // as part of comparing whether two Recipe objects objects are equal, we need, amongst other things, to check + // whether their owned objects are equal. + // + true ); } diff --git a/src/model/OwnedSet.h b/src/model/OwnedSet.h index c8957e52f..5ada89fae 100644 --- a/src/model/OwnedSet.h +++ b/src/model/OwnedSet.h @@ -23,6 +23,7 @@ #include #include +#include "utils/AutoCompare.h" #include "utils/BtStringConst.h" #include "utils/TypeTraits.h" @@ -112,12 +113,13 @@ class OwnedSet { // // Check each object has the same number of items and they're all the same // - auto const myItems = this->items(); - auto const otherItems = other.items(); - return std::equal( myItems.begin(), myItems.end(), - otherItems.begin(), otherItems.end(), - [](std::shared_ptr const & lhs, - std::shared_ptr const & rhs) {return *lhs == *rhs;}); +/// QList> const myItems = this->items(); +/// QList> const otherItems = other.items(); +/// return std::equal( myItems.begin(), myItems.end(), +/// otherItems.begin(), otherItems.end(), +/// [](std::shared_ptr const & lhs, +/// std::shared_ptr const & rhs) {return *lhs == *rhs;}); + return AUTO_LOG_COMPARE_FN(this, other, items); } /** @@ -683,6 +685,31 @@ class OwnedSet { return; } + //! \brief Convenience function for logging + template + friend S & operator<<(S & stream, OwnedSet const & ownedSet) { + QString output{}; + QTextStream outputAsStream{&output}; + auto const items = ownedSet.items(); + outputAsStream << "OwnedSet of " << ownedSet.m_owner << " with " << items.size() << " members: "; + for (auto const & item : items) { + outputAsStream << "|| " << *item << " || "; + } + stream << output; + return stream; + } + + //! \brief Convenience function for logging + template + friend S & operator<<(S & stream, OwnedSet const * ownedSet) { + if (ownedSet) { + stream << *ownedSet; + } else { + stream << "Null"; + } + return stream; + } + private: //================================================ MEMBER VARIABLES ================================================= Owner & m_owner; @@ -690,4 +717,5 @@ class OwnedSet { QVector m_itemIds = {}; }; + #endif diff --git a/src/model/Recipe.cpp b/src/model/Recipe.cpp index 0dd1d0219..b14f33b66 100644 --- a/src/model/Recipe.cpp +++ b/src/model/Recipe.cpp @@ -1455,18 +1455,19 @@ bool Recipe::isEqualTo(NamedEntity const & other) const { // Base class will already have ensured names are equal return ( - Utils::AutoCompare(this->m_type , rhs.m_type ) && - Utils::AutoCompare(this->m_batchSize_l , rhs.m_batchSize_l ) && - Utils::AutoCompare(this->m_efficiency_pct, rhs.m_efficiency_pct) && - Utils::AutoCompare(this->m_age_days , rhs.m_age_days ) && - Utils::AutoCompare(this->m_ageTemp_c , rhs.m_ageTemp_c ) && - Utils::AutoCompare(this->m_og , rhs.m_og ) && - Utils::AutoCompare(this->m_fg , rhs.m_fg ) && - ObjectStoreWrapper::compareById 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -9931,6 +9935,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -9940,31 +9966,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Amarillo - 1 - 9.5 0.04252428465 - Boil - A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. - Both -
Pellet
- 6.5 - 0 - US - Cascade, Centennial - 10 - 3 - 22.5 - 69 -
- + Boil Centennial 1 10.5 - 0.04252428465 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -9976,14 +9983,45 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
- Chinook + 0.04252428465 + + Boil + Amarillo 1 - 13 + 9.5 + A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. + Both +
Pellet
+ 6.5 + 0 + US + Cascade, Centennial + 10 + 3 + 22.5 + 69 + + + + kilograms + add_to_boil + 2 +
+ 0.0283495231 - Boil + Boil + Chinook + 1 + 13 Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. Both
Pellet
@@ -9995,14 +10033,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 10 32 37.5 + + + + kilograms + add_to_boil + 2
+ 0.1133980924 + + Boil Nugget 1 13 - 0.1133980924 - Boil - Mild aroma, low cohumulone for smooth bitterness. Both
Pellet
@@ -10014,128 +10058,151 @@ Toler�ncia ao etanol: Alta (12% ABV) 8 24 51.5 + + + + kilograms + add_to_boil + 2
- Corn Sugar (Dextrose) - 1 - Sugar - 0.45359237 - 100 - 0 - FALSE - US - - - 0 - 0 - 0 - 0 - 5 - FALSE - 0 - FALSE - - + 9.97903214 + Briess - 2 Row Brewers Malt 1 Grain - 9.97903214 80.5 - 2 - FALSE + 1.8 US - - + Briess + DP 140. Base malt for all beer styles. +Contributes light straw color. +Slightly higher yield than 6-Row Malt. +Slightly lower protein than 6-Row Malt. +Malted in small batches, making it an excellent fit for small batch craft brewing. 1 - 4 + 4.2 140 - 12 + 11.5 100 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.1133980924 + Special B Malt 1 Grain - 0.1133980924 65.2 160 - FALSE Belgium Special B refers to a type of dark, flavorful crystal malt traditionally malted in Belgium. In small amounts, it gives a unique flavor to the finished beer that is often compared to raisins or dried fruit. This malt is always dark, but the color and flavor vary more than most other malt styles; most of the commonly available varieties are in the 110-160 L range, but it may be even darker. Don't depend on this software to calculate the color of your beer correctly, since it may be expecting a much darker malt than you are actually using; some older sources assume Special B will be over 200 or even up to 300 L. While some sources still claim that Special B must be mashed, it is a crystal malt and can be steeped with an extract batch without adding significant protein to the beer. 0 0 - 0 0 10 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.45359237 + Caramel/Crystal Malt - 80L 1 Grain - 0.45359237 74 80 - FALSE US This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 10L + 0.0566990462 + + Briess - Chocolate Malt 1 Grain + 60 + 350 + US + Briess + Use in all beer styles for color adjustment. Use 1-10% for desired color in Porter and Stout. The rich roasted coffee, cocoa flavor is very complementary when used in higher percentages in Porters, Stouts, Brown Ales, and other dark beers. + 1 + 6 + 0 + 10 + FALSE + 0 + + + kilograms + add_to_mash + + 0.45359237 - 75 - 10 - FALSE + + Corn Sugar (Dextrose) + 1 + Sugar + 100 + 0 US - This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. + 0 0 - 0 0 - 20 + 5 FALSE 0 - TRUE + + + kilograms + add_to_mash - Briess - Chocolate Malt + 0.45359237 + + Caramel/Crystal Malt - 10L 1 Grain - 0.0566990462 - 73 - 350 - FALSE + 75 + 10 US - - 1 - 6 - 0 - 13 - 10 - TRUE + This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. + 0 + 0 + 0 + 20 + FALSE 0 - TRUE + + + kilograms + add_to_mash @@ -10143,12 +10210,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -10157,9 +10224,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -10178,9 +10252,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 65 90 0 - 0 - 71.9020022134532 - 0 + + 71.9020022134532 + 28.8341913230463 Final Batch Sparge @@ -10191,8 +10265,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 106.032891992966 - 100 - 0 + + 100 + 8.42632662228 @@ -10212,15 +10287,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.10749646183739 - 1.02687411545935 + 1.1072264879312268 + 1.0268066219828067 1 30 20 - 0 - 20 - 0 - 20 0 20 2012-12-24 @@ -10230,6 +10301,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 98.46848112315666
Bt: American Barleywine - Extract @@ -10259,6 +10331,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Very rich and intense maltiness. Hop character moderate to assertive and often showcases citrusy or resiny American varieties (although other varieties, such as floral, earthy or spicy English varieties or a blend of varieties, may be used). Low to moderately strong fruity esters and alcohol aromatics. Malt character may be sweet, caramelly, bready, or fairly neutral. However, the intensity of aromatics often subsides with age. No diacetyl.Color may range from light amber to medium copper; may rarely be as dark as light brown. Often has ruby highlights. Moderately-low to large off-white to light tan head; may have low head retention. May be cloudy with chill haze at cooler temperatures, but generally clears to good to brilliant clarity as it warms. The color may appear to have great depth, as if viewed through a thick glass lens. High alcohol and viscosity may be visible in "legs" when beer is swirled in a glass.Strong, intense malt flavor with noticeable bitterness. Moderately low to moderately high malty sweetness on the palate, although the finish may be somewhat sweet to quite dry (depending on aging). Hop bitterness may range from moderately strong to aggressive. While strongly malty, the balance should always seem bitter. Moderate to high hop flavor (any variety). Low to moderate fruity esters. Noticeable alcohol presence, but sharp or solventy alcohol flavors are undesirable. Flavors will smooth out and decline over time, but any oxidized character should be muted (and generally be masked by the hop character). May have some bready or caramelly malt flavors, but these should not be high. Roasted or burnt malt flavors are inappropriate. No diacetyl.Full-bodied and chewy, with a velvety, luscious texture (although the body may decline with long conditioning). Alcohol warmth should be present, but not be excessively hot. Should not be syrupy and under-attenuated. Carbonation may be low to moderate, depending on age and conditioning.A well-hopped American interpretation of the richest and strongest of the English ales. The hop character should be evident throughout, but does not have to be unbalanced. The alcohol strength and hop bitterness often combine to leave a very long finish. Usually the strongest ale offered by a brewery, and in recent years many commercial examples are now vintage-dated. Normally aged significantly prior to release. Often associated with the winter or holiday season. Well-modified pale malt should form the backbone of the grist. Some specialty or character malts may be used. Dark malts should be used with great restraint, if at all, as most of the color arises from a lengthy boil. Citrusy American hops are common, although any varieties can be used in quantity. Generally uses an attenuative American yeast. Sierra Nevada Bigfoot, Great Divide Old Ruffian, Victory Old Horizontal, Rogue Old Crustacean, Avery Hog Heaven Barleywine, Bell's Third Coast Old Ale, Anchor Old Foghorn, Three Floyds Behemoth, Stone Old Guardian, Bridgeport Old Knucklehead, Hair of the Dog Doggie Claws, Lagunitas Olde GnarleyWine, Smuttynose Barleywine, Flying Dog Horn Dog + + + + 5.5 gal - Extract - Ideal @@ -10280,6 +10356,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -10289,31 +10387,37 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Amarillo - 1 - 9.5 - 0.04252428465 - Boil + 0.0283495231 - A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. + Aroma + Chinook + 1 + 13 + Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. Both
Pellet
- 6.5 - 0 + 3.5 + 68 US - Cascade, Centennial - 10 - 3 - 22.5 - 69 + Columbus, Nugget + 20.5 + 10 + 32 + 37.5 + + + + kilograms + add_to_boil + 2
+ 0.04252428465 + + Aroma Centennial 1 10.5 - 0.04252428465 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -10325,33 +10429,45 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
- Chinook - 1 - 13 - 0.0283495231 - Boil + 0.04252428465 - Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. + Aroma + Amarillo + 1 + 9.5 + A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. Both
Pellet
- 3.5 - 68 + 6.5 + 0 US - Columbus, Nugget - 20.5 - 10 - 32 - 37.5 + Cascade, Centennial + 10 + 3 + 22.5 + 69 + + + + kilograms + add_to_boil + 2
+ 0.1133980924 + + Aroma Nugget 1 13 - 0.1133980924 - Boil - Mild aroma, low cohumulone for smooth bitterness. Both
Pellet
@@ -10363,128 +10479,146 @@ Toler�ncia ao etanol: Alta (12% ABV) 8 24 51.5 + + + + kilograms + add_to_boil + 2
+ 6.80388555 + Briess LME - Golden Light 1 Extract - 6.80388555 78 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Special B Malt + 0.45359237 + + Caramel/Crystal Malt - 10L 1 Grain - 0.1133980925 - 65.2 - 160 - FALSE - Belgium + 75 + 10 + US - Special B refers to a type of dark, flavorful crystal malt traditionally malted in Belgium. In small amounts, it gives a unique flavor to the finished beer that is often compared to raisins or dried fruit. This malt is always dark, but the color and flavor vary more than most other malt styles; most of the commonly available varieties are in the 110-160 L range, but it may be even darker. Don't depend on this software to calculate the color of your beer correctly, since it may be expecting a much darker malt than you are actually using; some older sources assume Special B will be over 200 or even up to 300 L. While some sources still claim that Special B must be mashed, it is a crystal malt and can be steeped with an extract batch without adding significant protein to the beer. + This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 - 10 - TRUE - 0 - TRUE - - - Briess - Chocolate Malt - 1 - Grain - 0.1133980925 - 73 - 350 - FALSE - US - - - 1 - 6 - 0 - 13 - 10 - TRUE + 20 + FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.45359237 + Caramel/Crystal Malt - 80L 1 Grain - 0.45359237 74 80 - FALSE US This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. 0 0 - 0 0 20 FALSE 0 - FALSE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 10L + 0.1133980925 + + Special B Malt 1 Grain - 0.45359237 - 75 - 10 - FALSE - US + 65.2 + 160 + Belgium - This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. + Special B refers to a type of dark, flavorful crystal malt traditionally malted in Belgium. In small amounts, it gives a unique flavor to the finished beer that is often compared to raisins or dried fruit. This malt is always dark, but the color and flavor vary more than most other malt styles; most of the commonly available varieties are in the 110-160 L range, but it may be even darker. Don't depend on this software to calculate the color of your beer correctly, since it may be expecting a much darker malt than you are actually using; some older sources assume Special B will be over 200 or even up to 300 L. While some sources still claim that Special B must be mashed, it is a crystal malt and can be steeped with an extract batch without adding significant protein to the beer. 0 0 - 0 0 - 20 + 10 + TRUE + 0 + + + kilograms + add_to_mash + + + 0.1133980925 + + Briess - Chocolate Malt + 1 + Grain + 60 + 350 + US + Briess + Use in all beer styles for color adjustment. Use 1-10% for desired color in Porter and Stout. The rich roasted coffee, cocoa flavor is very complementary when used in higher percentages in Porters, Stouts, Brown Ales, and other dark beers. + 1 + 6 + 0 + 10 FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.45359237 + Corn Sugar (Dextrose) 1 Sugar - 0.45359237 100 0 - FALSE US 0 0 - 0 0 5 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -10492,12 +10626,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -10506,9 +10640,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -10538,15 +10679,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.11286940551138 - 1.02821735137784 + 1.1165503112911457 + 1.0291375778227865 1 30 20 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -10556,6 +10693,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 98.78569924508507
Bt: American IPA @@ -10585,6 +10723,10 @@ Toler�ncia ao etanol: Alta (12% ABV) A prominent to intense hop aroma with a citrusy, floral, perfume-like, resinous, piney, and/or fruity character derived from American hops. Many versions are dry hopped and can have an additional grassy aroma, although this is not required. Some clean malty sweetness may be found in the background, but should be at a lower level than in English examples. Fruitiness, either from esters or hops, may also be detected in some versions, although a neutral fermentation character is also acceptable. Some alcohol may be noted.Color ranges from medium gold to medium reddish copper; some versions can have an orange-ish tint. Should be clear, although unfiltered dry-hopped versions may be a bit hazy. Good head stand with white to off-white color should persist.Hop flavor is medium to high, and should reflect an American hop character with citrusy, floral, resinous, piney or fruity aspects. Medium-high to very high hop bitterness, although the malt backbone will support the strong hop character and provide the best balance. Malt flavor should be low to medium, and is generally clean and malty sweet although some caramel or toasty flavors are acceptable at low levels. No diacetyl. Low fruitiness is acceptable but not required. The bitterness may linger into the aftertaste but should not be harsh. Medium-dry to dry finish. Some clean alcohol flavor can be noted in stronger versions. Oak is inappropriate in this style. May be slightly sulfury, but most examples do not exhibit this character.Smooth, medium-light to medium-bodied mouthfeel without hop-derived astringency, although moderate to medium-high carbonation can combine to render an overall dry sensation in the presence of malt sweetness. Some smooth alcohol warming can and should be sensed in stronger (but not all) versions. Body is generally less than in English counterparts.A decidedly hoppy and bitter, moderately strong American pale ale. An American version of the historical English style, brewed using American ingredients and attitude. Pale ale malt (well-modified and suitable for single-temperature infusion mashing,'); American hops; American yeast that can give a clean or slightly fruity profile. Generally all-malt, but mashed at lower temperatures for high attenuation. Water character varies from soft to moderately sulfate. Versions with a noticeable Rye character ("RyePA") should be entered in the Specialty category. Bell's Two-Hearted Ale, AleSmith IPA, Russian River Blind Pig IPA, Stone IPA, Three Floyds Alpha King, Great Divide Titan IPA, Bear Republic Racer 5 IPA, Victory Hop Devil, Sierra Nevada Celebration Ale, Anderson Valley Hop Ottin', Dogfish Head 60 Minute IPA, Founder's Centennial IPA, Anchor Liberty Ale, Harpoon IPA, Avery IPA + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -10606,6 +10748,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -10615,31 +10779,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Amarillo - 1 - 9.5 0.0283495231 + Boil - - A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. - Both -
Pellet
- 6.5 - 0 - US - Cascade, Centennial - 10 - 3 - 22.5 - 69 -
- Simcoe 1 13 - 0.0283495231 - Boil - Dual-purpose hop. Has a piney aroma suited to American ales. Both
Pellet
@@ -10651,14 +10796,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 6.5 17.5 62.5 + + + + kilograms + add_to_boil + 2
+ 0.0283495231 + + Boil Centennial 1 10.5 - 0.0283495231 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -10670,14 +10821,45 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
- Nugget + 0.0283495231 + + Boil + Amarillo 1 - 13 + 9.5 + A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. + Both +
Pellet
+ 6.5 + 0 + US + Cascade, Centennial + 10 + 3 + 22.5 + 69 + + + + kilograms + add_to_boil + 2 +
+ 0.03401942772 - Boil + Boil + Nugget + 1 + 13 Mild aroma, low cohumulone for smooth bitterness. Both
Pellet
@@ -10689,88 +10871,108 @@ Toler�ncia ao etanol: Alta (12% ABV) 8 24 51.5 + + + + kilograms + add_to_boil + 2
+ 0.1133980925 + Caramel/Crystal Malt - 40L 1 Grain - 0.1133980925 74 40 - FALSE US This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash + 0.45359237 + Caramel/Crystal Malt - 10L 1 Grain - 0.45359237 75 10 - FALSE US This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash + 0.3401942772 + Briess - Munich Malt 10L 1 Grain - 0.3401942772 - 76 + 77 10 - FALSE US - - + Briess + DP 40. Golden leaning toward orange hues. 1 3.3 - 30 - 13 + 40 + 12 50 TRUE 0 - TRUE + + + kilograms + add_to_mash + 5.44310844 + Briess - 2 Row Brewers Malt 1 Grain - 5.44310844 80.5 - 2 - FALSE + 1.8 US - - + Briess + DP 140. Base malt for all beer styles. +Contributes light straw color. +Slightly higher yield than 6-Row Malt. +Slightly lower protein than 6-Row Malt. +Malted in small batches, making it an excellent fit for small batch craft brewing. 1 - 4 + 4.2 140 - 12 + 11.5 100 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -10778,12 +10980,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -10792,9 +10994,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -10813,9 +11022,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 65 90 0 - 0 - 71.9020022134532 - 0 + + 71.9020022134532 + 16.5611765542176 Final Batch Sparge @@ -10826,8 +11035,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 84.0950189329181 - 84.0950189329181 - 0 + + 84.0950189329181 + 15.8804210657569 @@ -10847,15 +11057,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.05789457317083 - 1.01447364329271 + 1.057829937641935 + 1.0144574844104837 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2012-12-24 @@ -10865,6 +11071,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 64.93641144131968
Bt: American IPA - Extract @@ -10894,6 +11101,10 @@ Toler�ncia ao etanol: Alta (12% ABV) A prominent to intense hop aroma with a citrusy, floral, perfume-like, resinous, piney, and/or fruity character derived from American hops. Many versions are dry hopped and can have an additional grassy aroma, although this is not required. Some clean malty sweetness may be found in the background, but should be at a lower level than in English examples. Fruitiness, either from esters or hops, may also be detected in some versions, although a neutral fermentation character is also acceptable. Some alcohol may be noted.Color ranges from medium gold to medium reddish copper; some versions can have an orange-ish tint. Should be clear, although unfiltered dry-hopped versions may be a bit hazy. Good head stand with white to off-white color should persist.Hop flavor is medium to high, and should reflect an American hop character with citrusy, floral, resinous, piney or fruity aspects. Medium-high to very high hop bitterness, although the malt backbone will support the strong hop character and provide the best balance. Malt flavor should be low to medium, and is generally clean and malty sweet although some caramel or toasty flavors are acceptable at low levels. No diacetyl. Low fruitiness is acceptable but not required. The bitterness may linger into the aftertaste but should not be harsh. Medium-dry to dry finish. Some clean alcohol flavor can be noted in stronger versions. Oak is inappropriate in this style. May be slightly sulfury, but most examples do not exhibit this character.Smooth, medium-light to medium-bodied mouthfeel without hop-derived astringency, although moderate to medium-high carbonation can combine to render an overall dry sensation in the presence of malt sweetness. Some smooth alcohol warming can and should be sensed in stronger (but not all) versions. Body is generally less than in English counterparts.A decidedly hoppy and bitter, moderately strong American pale ale. An American version of the historical English style, brewed using American ingredients and attitude. Pale ale malt (well-modified and suitable for single-temperature infusion mashing,'); American hops; American yeast that can give a clean or slightly fruity profile. Generally all-malt, but mashed at lower temperatures for high attenuation. Water character varies from soft to moderately sulfate. Versions with a noticeable Rye character ("RyePA") should be entered in the Specialty category. Bell's Two-Hearted Ale, AleSmith IPA, Russian River Blind Pig IPA, Stone IPA, Three Floyds Alpha King, Great Divide Titan IPA, Bear Republic Racer 5 IPA, Victory Hop Devil, Sierra Nevada Celebration Ale, Anderson Valley Hop Ottin', Dogfish Head 60 Minute IPA, Founder's Centennial IPA, Anchor Liberty Ale, Harpoon IPA, Avery IPA + + + + 5.5 gal - Extract - Ideal @@ -10915,6 +11126,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -10924,50 +11157,37 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Amarillo - 1 - 9.5 - 0.0283495231 - Boil - - A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. - Both -
Pellet
- 6.5 - 0 - US - Cascade, Centennial - 10 - 3 - 22.5 - 69 -
- - Simcoe + 0.03401942772 + + Aroma + Nugget 1 13 - 0.0283495231 - Boil - - Dual-purpose hop. Has a piney aroma suited to American ales. + Mild aroma, low cohumulone for smooth bitterness. Both
Pellet
- 4.5 - 0 + 5 + 76 US - Summit, Magnum - 12.5 - 6.5 - 17.5 - 62.5 + Chinook, Galena, Cluster, Magnum + 17.5 + 8 + 24 + 51.5 + + + + kilograms + add_to_boil + 2
+ 0.0283495231 + + Aroma Centennial 1 10.5 - 0.0283495231 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -10979,107 +11199,152 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
- Nugget + 0.0283495231 + + Aroma + Simcoe 1 13 - 0.03401942772 - Boil - - Mild aroma, low cohumulone for smooth bitterness. + Dual-purpose hop. Has a piney aroma suited to American ales. Both
Pellet
- 5 - 76 + 4.5 + 0 US - Chinook, Galena, Cluster, Magnum - 17.5 - 8 - 24 - 51.5 + Summit, Magnum + 12.5 + 6.5 + 17.5 + 62.5 + + + + kilograms + add_to_boil + 2 +
+ + 0.0283495231 + + Aroma + Amarillo + 1 + 9.5 + A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. + Both +
Pellet
+ 6.5 + 0 + US + Cascade, Centennial + 10 + 3 + 22.5 + 69 + + + + kilograms + add_to_boil + 2
- Briess LME - Munich + 0.1133980925 + + Caramel/Crystal Malt - 40L 1 - Extract - 0.226796185 - 78 - 8 - FALSE + Grain + 74 + 40 US - + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 - 100 + 20 FALSE 0 - FALSE + + + kilograms + add_to_mash + 3.2885446825 + Briess DME - Golden Light 1 Dry Extract - 3.2885446825 95 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 40L + 0.226796185 + + Briess LME - Munich 1 - Grain - 0.1133980925 - 74 - 40 - FALSE + Extract + 78 + 8 US - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.45359237 + Caramel/Crystal Malt - 10L 1 Grain - 0.45359237 75 10 - FALSE US This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 20 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -11087,12 +11352,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -11101,9 +11366,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -11133,15 +11405,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.0642858922234 - 1.01607147305585 + 1.0664690794907365 + 1.016617269872684 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -11151,6 +11419,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 65.54770606905863
Bt: American Pale Ale @@ -11180,6 +11449,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Usually moderate to strong hop aroma from dry hopping or late kettle additions of American hop varieties. A citrusy hop character is very common, but not required. Low to moderate maltiness supports the hop presentation, and may optionally show small amounts of specialty malt character (bready, toasty, biscuity). Fruity esters vary from moderate to none. No diacetyl. Dry hopping (if used) may add grassy notes, although this character should not be excessive.Pale golden to deep amber. Moderately large white to off-white head with good retention. Generally quite clear, although dry-hopped versions may be slightly hazy.Usually a moderate to high hop flavor, often showing a citrusy American hop character (although other hop varieties may be used). Low to moderately high clean malt character supports the hop presentation, and may optionally show small amounts of specialty malt character (bready, toasty, biscuity). The balance is typically towards the late hops and bitterness, but the malt presence can be substantial. Caramel flavors are usually restrained or absent. Fruity esters can be moderate to none. Moderate to high hop bitterness with a medium to dry finish. Hop flavor and bitterness often lingers into the finish. No diacetyl. Dry hopping (if used) may add grassy notes, although this character should not be excessive.Medium-light to medium body. Carbonation moderate to high. Overall smooth finish without astringency often associated with high hopping rates.Refreshing and hoppy, yet with sufficient supporting malt. An American adaptation of English pale ale, reflecting indigenous ingredients (hops, malt, yeast, and water). Often lighter in color, cleaner in fermentation by-products, and having less caramel flavors than English counterparts. Pale ale malt, typically American two-row. American hops, often but not always ones with a citrusy character. American ale yeast. Water can vary in sulfate content, but carbonate content should be relatively low. Specialty grains may add character and complexity, but generally make up a relatively small portion of the grist. Grains that add malt flavor and richness, light sweetness, and toasty or bready notes are often used (along with late hops) to differentiate brands. Sierra Nevada Pale Ale, Stone Pale Ale, Great Lakes Burning River Pale Ale, Bear Republic XP Pale Ale, Anderson Valley Poleeko Gold Pale Ale, Deschutes Mirror Pond, Full Sail Pale Ale, Three Floyds X-Tra Pale Ale, Firestone Pale Ale, Left Hand Brewing Jackman's Pale Ale + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -11201,6 +11474,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -11210,12 +11505,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.021262142325 + + Boil Chinook 1 13 - 0.021262142325 - Boil - Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. Both
Pellet
@@ -11227,33 +11522,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 10 32 37.5 + + + + kilograms + add_to_boil + 2
- Centennial - 1 - 10.5 0.01417476155 - Boil - Medium with floral and citrus tones. - Bittering -
Pellet
- 4 - 0 - US - Cascade - 11 - 5 - 29 - 58 -
- + Boil Centennial 1 10.5 - 0.01417476155 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -11265,14 +11547,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
+ 0.01417476155 + + Boil Cascade 1 6 - 0.01417476155 - Boil - Pleasant, floral, spicy, and citrus-like. Both
Pellet
@@ -11284,14 +11572,45 @@ Toler�ncia ao etanol: Alta (12% ABV) 4.5 36.5 47.5 + + + + kilograms + add_to_boil + 2
- Cascade - 1 - 6 0.01417476155 + Boil + Centennial + 1 + 10.5 + Medium with floral and citrus tones. + Bittering +
Pellet
+ 4 + 0 + US + Cascade + 11 + 5 + 29 + 58 + + + + kilograms + add_to_boil + 2 +
+ + 0.01417476155 + Boil + Cascade + 1 + 6 Pleasant, floral, spicy, and citrus-like. Both
Pellet
@@ -11303,68 +11622,86 @@ Toler�ncia ao etanol: Alta (12% ABV) 4.5 36.5 47.5 + + + + kilograms + add_to_boil + 2
- Briess - Munich Malt 10L - 1 - Grain 0.3401942772 - 76 - 10 - FALSE - US - - - 1 - 3.3 - 30 - 13 - 50 - TRUE - 0 - TRUE - - + Caramel/Crystal Malt - 40L 1 Grain - 0.3401942772 74 40 - FALSE US This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash + 4.5359237 + Briess - 2 Row Brewers Malt 1 Grain - 4.5359237 80.5 - 2 - FALSE + 1.8 US - - + Briess + DP 140. Base malt for all beer styles. +Contributes light straw color. +Slightly higher yield than 6-Row Malt. +Slightly lower protein than 6-Row Malt. +Malted in small batches, making it an excellent fit for small batch craft brewing. 1 - 4 + 4.2 140 - 12 + 11.5 100 TRUE 0 - TRUE + + + kilograms + add_to_mash + + + 0.3401942772 + + Briess - Munich Malt 10L + 1 + Grain + 77 + 10 + US + Briess + DP 40. Golden leaning toward orange hues. + 1 + 3.3 + 40 + 12 + 50 + TRUE + 0 + + + kilograms + add_to_mash @@ -11372,12 +11709,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -11386,9 +11723,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -11407,9 +11751,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 67.7777777777778 60 0 - 0 - 75.10582951058 - 0 + + 75.10582951058 + 13.6038235971852 Final Batch Sparge @@ -11420,8 +11764,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 81.4790013045723 - 81.4790013045723 - 0 + + 81.4790013045723 + 17.6074047188388 @@ -11441,15 +11786,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.047573567394 - 1.0118933918485 + 1.0475261116752141 + 1.0118815279188036 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -11459,6 +11800,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 41.259193778777785
Bt: American Pale Ale - Extract @@ -11488,6 +11830,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Usually moderate to strong hop aroma from dry hopping or late kettle additions of American hop varieties. A citrusy hop character is very common, but not required. Low to moderate maltiness supports the hop presentation, and may optionally show small amounts of specialty malt character (bready, toasty, biscuity). Fruity esters vary from moderate to none. No diacetyl. Dry hopping (if used) may add grassy notes, although this character should not be excessive.Pale golden to deep amber. Moderately large white to off-white head with good retention. Generally quite clear, although dry-hopped versions may be slightly hazy.Usually a moderate to high hop flavor, often showing a citrusy American hop character (although other hop varieties may be used). Low to moderately high clean malt character supports the hop presentation, and may optionally show small amounts of specialty malt character (bready, toasty, biscuity). The balance is typically towards the late hops and bitterness, but the malt presence can be substantial. Caramel flavors are usually restrained or absent. Fruity esters can be moderate to none. Moderate to high hop bitterness with a medium to dry finish. Hop flavor and bitterness often lingers into the finish. No diacetyl. Dry hopping (if used) may add grassy notes, although this character should not be excessive.Medium-light to medium body. Carbonation moderate to high. Overall smooth finish without astringency often associated with high hopping rates.Refreshing and hoppy, yet with sufficient supporting malt. An American adaptation of English pale ale, reflecting indigenous ingredients (hops, malt, yeast, and water). Often lighter in color, cleaner in fermentation by-products, and having less caramel flavors than English counterparts. Pale ale malt, typically American two-row. American hops, often but not always ones with a citrusy character. American ale yeast. Water can vary in sulfate content, but carbonate content should be relatively low. Specialty grains may add character and complexity, but generally make up a relatively small portion of the grist. Grains that add malt flavor and richness, light sweetness, and toasty or bready notes are often used (along with late hops) to differentiate brands. Sierra Nevada Pale Ale, Stone Pale Ale, Great Lakes Burning River Pale Ale, Bear Republic XP Pale Ale, Anderson Valley Poleeko Gold Pale Ale, Deschutes Mirror Pond, Full Sail Pale Ale, Three Floyds X-Tra Pale Ale, Firestone Pale Ale, Left Hand Brewing Jackman's Pale Ale + + + + 5.5 gal - Extract - Ideal @@ -11509,6 +11855,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -11518,12 +11886,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.01417476155 + + Aroma Centennial 1 10.5 - 0.01417476155 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -11535,14 +11903,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
+ 0.01417476155 + + Aroma Cascade 1 6 - 0.01417476155 - Boil - Pleasant, floral, spicy, and citrus-like. Both
Pellet
@@ -11554,14 +11928,45 @@ Toler�ncia ao etanol: Alta (12% ABV) 4.5 36.5 47.5 + + + + kilograms + add_to_boil + 2 +
+ + 0.01700971386 + + Aroma + Chinook + 1 + 13 + Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. + Both +
Pellet
+ 3.5 + 68 + US + Columbus, Nugget + 20.5 + 10 + 32 + 37.5 + + + + kilograms + add_to_boil + 2
+ 0.01417476155 + + Aroma Centennial 1 10.5 - 0.01417476155 - Boil - Medium with floral and citrus tones. Bittering
Pellet
@@ -11573,14 +11978,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 5 29 58 + + + + kilograms + add_to_boil + 2
+ 0.01417476155 + + Aroma Cascade 1 6 - 0.01417476155 - Boil - Pleasant, floral, spicy, and citrus-like. Both
Pellet
@@ -11592,107 +12003,102 @@ Toler�ncia ao etanol: Alta (12% ABV) 4.5 36.5 47.5 -
- - Chinook - 1 - 13 - 0.01700971386 - Boil - - Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. - Both -
Pellet
- 3.5 - 68 - US - Columbus, Nugget - 20.5 - 10 - 32 - 37.5 + + + + kilograms + add_to_boil + 2
- Briess - Victory Malt - 1 - Grain - 0.3401942775 - 73 - 10 - FALSE - US - - - 1 - 2.5 - 0 - 13 - 25 - TRUE - 0 - FALSE - - + 0.1700971386 + Briess DME - Bavarian Wheat 1 Dry Extract - 0.1700971386 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess LME - Munich + 2.26796185 + + Briess DME - Golden Light 1 - Extract - 0.1700971386 - 78 - 8 - FALSE + Dry Extract + 95 + 4 US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess DME - Golden Light + 0.1700971386 + + Briess LME - Munich 1 - Dry Extract - 2.26796185 - 95 - 4 - FALSE + Extract + 78 + 8 US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash + + + 0.3401942775 + + Briess - Victory Malt + 1 + Grain + 75 + 28 + US + Briess + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. + 1 + 2.5 + 0 + 25 + FALSE + 0 + + + kilograms + add_to_mash @@ -11700,12 +12106,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -11714,9 +12120,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -11746,15 +12159,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.04719193290123 - 1.01179798322531 + 1.0485268614514816 + 1.0121317153628704 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -11764,6 +12173,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 37.780073053825966
Bt: Belgian Blonde Ale @@ -11793,6 +12203,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Light earthy or spicy hop nose, along with a lightly sweet Pils malt character. Shows a subtle yeast character that may include spicy phenolics, perfumy or honey-like alcohol, or yeasty, fruity esters (commonly orange-like or lemony). Light sweetness that may have a slightly sugar-like character. Subtle yet complex.Light to deep gold color. Generally very clear. Large, dense, and creamy white to off-white head. Good head retention with Belgian lace.Smooth, light to moderate Pils malt sweetness initially, but finishes medium-dry to dry with some smooth alcohol becoming evident in the aftertaste. Medium hop and alcohol bitterness to balance. Light hop flavor, can be spicy or earthy. Very soft yeast character (esters and alcohols, which are sometimes perfumy or orange/lemon-like). Light spicy phenolics optional. Some lightly caramelized sugar or honey-like sweetness on palate.Medium-high to high carbonation, can give mouth-filling bubbly sensation. Medium body. Light to moderate alcohol warmth, but smooth. Can be somewhat creamy. Belgian Pils malt, aromatic malts, sugar, Belgian yeast strains that produce complex alcohol, phenolics and perfumy esters, noble, Styrian Goldings or East Kent Goldings hops. No spices are traditionally used, although the ingredients and fermentation by-products may give an impression of spicing (often reminiscent of oranges or lemons). Leffe Blond, Affligem Blond, La Trappe (Koningshoeven) Blond, Grimbergen Blond, Val-Dieu Blond, Straffe Hendrik Blonde, Brugse Zot, Pater Lieven Blond Abbey Ale, Troubadour Blond Ale + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -11814,6 +12228,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -11823,12 +12259,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.0566990462 + + Boil Hallertau 1 4.5 - 0.0566990462 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -11840,57 +12276,90 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
+ 0.226796185 + Simpsons - Aromatic Malt 1 Grain - 0.226796185 82.5 25 - FALSE UK 1 5 - 0 12 5 TRUE 0 - TRUE + + + kilograms + add_to_mash + + + 4.98951607 + + Weyermann - Pilsner Malt + 1 + Grain + 81 + 2.4 + Germany + + + 1 + 5 + 120 + 11 + 100 + TRUE + 0 + + + kilograms + add_to_mash + 0.680388555 + Sugar, Table (Sucrose) 1 Sugar - 0.680388555 100 1 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.226796185 + Weyermann - Pale Wheat Malt 1 Grain - 0.226796185 85 2.4 - FALSE Germany @@ -11901,27 +12370,10 @@ Toler�ncia ao etanol: Alta (12% ABV) 80 TRUE 0 - TRUE - - - Weyermann - Pilsner Malt - 1 - Grain - 4.98951607 - 81 - 2.4 - FALSE - Germany - - - 1 - 5 - 120 - 11 - 100 - TRUE - 0 - TRUE + + + kilograms + add_to_mash @@ -11929,12 +12381,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP500 - Trappist Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 500 18 @@ -11943,9 +12395,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 77 From one of the few remaining Trappist breweries remaining in the world, this yeast produces the distinctive fruitiness and plum characteristics. Excellent yeast for high gravity beers, Belgian ales, dubbels and trippels. - 0 10 + 77 + 77 + 77 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -11964,9 +12423,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 65.5555555555556 60 0 - 0 - 72.5427676728786 - 0 + + 72.5427676728786 + 14.19529419 Final Batch Sparge @@ -11977,8 +12436,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 81.9603295669948 - 81.9603295669948 - 0 + + 81.9603295669948 + 17.2620079874 @@ -12000,13 +12460,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 1.06038273941177 1.01388803006471 - 1 + 2 21 18.8888888888889 30 10 - 0 - 20 0 20 2012-12-24 @@ -12016,6 +12474,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 25.964010170591376
Bt: Belgian Blonde Ale - Extract @@ -12045,6 +12504,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Light earthy or spicy hop nose, along with a lightly sweet Pils malt character. Shows a subtle yeast character that may include spicy phenolics, perfumy or honey-like alcohol, or yeasty, fruity esters (commonly orange-like or lemony). Light sweetness that may have a slightly sugar-like character. Subtle yet complex.Light to deep gold color. Generally very clear. Large, dense, and creamy white to off-white head. Good head retention with Belgian lace.Smooth, light to moderate Pils malt sweetness initially, but finishes medium-dry to dry with some smooth alcohol becoming evident in the aftertaste. Medium hop and alcohol bitterness to balance. Light hop flavor, can be spicy or earthy. Very soft yeast character (esters and alcohols, which are sometimes perfumy or orange/lemon-like). Light spicy phenolics optional. Some lightly caramelized sugar or honey-like sweetness on palate.Medium-high to high carbonation, can give mouth-filling bubbly sensation. Medium body. Light to moderate alcohol warmth, but smooth. Can be somewhat creamy. Belgian Pils malt, aromatic malts, sugar, Belgian yeast strains that produce complex alcohol, phenolics and perfumy esters, noble, Styrian Goldings or East Kent Goldings hops. No spices are traditionally used, although the ingredients and fermentation by-products may give an impression of spicing (often reminiscent of oranges or lemons). Leffe Blond, Affligem Blond, La Trappe (Koningshoeven) Blond, Grimbergen Blond, Val-Dieu Blond, Straffe Hendrik Blonde, Brugse Zot, Pater Lieven Blond Abbey Ale, Troubadour Blond Ale + + + + 5.5 gal - Extract - Ideal @@ -12066,6 +12529,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -12075,12 +12560,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.0566990462 + + Aroma Hallertau 1 4.5 - 0.0566990462 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -12092,88 +12577,102 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Briess DME - Pilsen Light - 1 - Dry Extract - 2.72155422 - 95 - 2 - FALSE - US - - - 0 - 0 - 0 - 0 - 100 - FALSE - 0 - FALSE - - + 0.226796185 + Simpsons - Aromatic Malt 1 Grain - 0.226796185 82.5 25 - FALSE UK 1 5 - 0 12 5 TRUE 0 - FALSE + + + kilograms + add_to_mash + 0.3401942775 + Briess DME - Bavarian Wheat 1 Dry Extract - 0.3401942775 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash + + + 2.72155422 + + Briess DME - Pilsen Light + 1 + Dry Extract + 95 + 2 + US + + + 0 + 0 + 0 + 100 + FALSE + 0 + + + kilograms + add_to_mash + 0.680388555 + Sugar, Table (Sucrose) 1 Sugar - 0.680388555 100 1 - FALSE US 0 0 - 0 0 10 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -12181,12 +12680,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP500 - Trappist Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 500 18 @@ -12195,9 +12694,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 77 From one of the few remaining Trappist breweries remaining in the world, this yeast produces the distinctive fruitiness and plum characteristics. Excellent yeast for high gravity beers, Belgian ales, dubbels and trippels. - 0 10 + 77 + 77 + 77 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -12227,15 +12733,13 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.0676787257557 - 1.01556610692381 - 1 + 1.068593420682847 + 1.015776486757055 + 2 21 18.8888888888889 30 10 - 0 - 20 0 20 2013-01-02 @@ -12245,6 +12749,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 26.309542954561547
Bt: Berliner Weisse @@ -12274,6 +12779,10 @@ Toler�ncia ao etanol: Alta (12% ABV) A sharply sour, somewhat acidic character is dominant. Can have up to a moderately fruity character. The fruitiness may increase with age and a flowery character may develop. A mild Brettanomyces aroma may be present. No hop aroma, diacetyl, or DMS.Very pale straw in color. Clarity ranges from clear to somewhat hazy. Large, dense, white head with poor retention due to high acidity and low protein and hop content. Always effervescent.Clean lactic sourness dominates and can be quite strong, although not so acidic as a lambic. Some complementary bready or grainy wheat flavor is generally noticeable. Hop bitterness is very low. A mild Brettanomyces character may be detected, as may a restrained fruitiness (both are optional). No hop flavor. No diacetyl or DMS.Light body. Very dry finish. Very high carbonation. No sensation of alcohol.A very pale, sour, refreshing, low-alcohol wheat ale. A regional specialty of Berlin; referred to by Napoleon's troops in 1809 as "the Champagne of the North" due to its lively and elegant character. Only two traditional breweries still produce the product. Wheat malt content is typically 50% of the grist (as with all German wheat beers) with the remainder being Pilsner malt. A symbiotic fermentation with top-fermenting yeast and Lactobacillus delbruckii provides the sharp sourness, which may be enhanced by blending of beers of different ages during fermentation and by extended cool aging. Hop bitterness is extremely low. A single decoction mash with mash hopping is traditional. Schultheiss Berliner Weisse, Berliner Kindl Weisse, Nodding Head Berliner Weisse, Weihenstephan 1809 (unusual in its 5% ABV), Bahnhof Berliner Style Weisse, Southampton Berliner Weisse, Bethlehem Berliner Weisse, Three Floyds Deesko + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -12295,6 +12804,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -12304,12 +12835,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.01417476155 + + Boil Hallertau 1 4.5 - 0.01417476155 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -12321,48 +12852,60 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Weyermann - Pale Wheat Malt + 1.81436948 + + Weyermann - Pilsner Malt 1 Grain - 1.36077711 - 85 + 81 2.4 - FALSE Germany 1 5 - 60 - 12 - 80 + 120 + 11 + 100 TRUE 0 - TRUE + + + kilograms + add_to_mash - Weyermann - Pilsner Malt + 1.36077711 + + Weyermann - Pale Wheat Malt 1 Grain - 1.81436948 - 81 + 85 2.4 - FALSE Germany 1 5 - 120 - 11 - 100 + 60 + 12 + 80 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -12370,12 +12913,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.0350002722816 + FALSE WLP630 - Berliner Weisse Blend 1 Ale
Liquid
- 0.0350002722816 - FALSE White Labs 630 20 @@ -12384,9 +12927,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 A blend of traditional German Weizen yeast and Lactobacillus to create a subtle, tart, drinkable beer. Can take several months to develop tart character. Perfect for traditional Berliner Weisse. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -12405,9 +12955,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 65 60 0 - 0 - 71.9020022134532 - 0 + + 71.9020022134532 + 8.2805882775 Final Batch Sparge @@ -12418,8 +12968,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 77.869312186957 - 77.869312186957 - 0 + + 77.869312186957 + 20.71597529265 @@ -12444,10 +12995,6 @@ Toler�ncia ao etanol: Alta (12% ABV) 1 60 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2012-12-24 @@ -12457,6 +13004,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 4.244725547617216
Bt: Berliner Weisse - Extract @@ -12486,6 +13034,10 @@ Toler�ncia ao etanol: Alta (12% ABV) A sharply sour, somewhat acidic character is dominant. Can have up to a moderately fruity character. The fruitiness may increase with age and a flowery character may develop. A mild Brettanomyces aroma may be present. No hop aroma, diacetyl, or DMS.Very pale straw in color. Clarity ranges from clear to somewhat hazy. Large, dense, white head with poor retention due to high acidity and low protein and hop content. Always effervescent.Clean lactic sourness dominates and can be quite strong, although not so acidic as a lambic. Some complementary bready or grainy wheat flavor is generally noticeable. Hop bitterness is very low. A mild Brettanomyces character may be detected, as may a restrained fruitiness (both are optional). No hop flavor. No diacetyl or DMS.Light body. Very dry finish. Very high carbonation. No sensation of alcohol.A very pale, sour, refreshing, low-alcohol wheat ale. A regional specialty of Berlin; referred to by Napoleon's troops in 1809 as "the Champagne of the North" due to its lively and elegant character. Only two traditional breweries still produce the product. Wheat malt content is typically 50% of the grist (as with all German wheat beers) with the remainder being Pilsner malt. A symbiotic fermentation with top-fermenting yeast and Lactobacillus delbruckii provides the sharp sourness, which may be enhanced by blending of beers of different ages during fermentation and by extended cool aging. Hop bitterness is extremely low. A single decoction mash with mash hopping is traditional. Schultheiss Berliner Weisse, Berliner Kindl Weisse, Nodding Head Berliner Weisse, Weihenstephan 1809 (unusual in its 5% ABV), Bahnhof Berliner Style Weisse, Southampton Berliner Weisse, Bethlehem Berliner Weisse, Three Floyds Deesko + + + + 5.5 gal - Extract - Ideal @@ -12507,6 +13059,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -12516,12 +13090,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.021262142325 + + Aroma Hallertau 1 4.5 - 0.021262142325 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -12533,48 +13107,58 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Briess DME - Bavarian Wheat + 0.90718474 + + Briess DME - Pilsen Light 1 Dry Extract - 0.90718474 95 - 3 - FALSE + 2 US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess DME - Pilsen Light + 0.90718474 + + Briess DME - Bavarian Wheat 1 Dry Extract - 0.90718474 95 - 2 - FALSE + 3 US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -12582,12 +13166,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.0350002722816 + FALSE WLP630 - Berliner Weisse Blend 1 Ale
Liquid
- 0.0350002722816 - FALSE White Labs 630 20 @@ -12596,9 +13180,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 A blend of traditional German Weizen yeast and Lactobacillus to create a subtle, tart, drinkable beer. Can take several months to develop tart character. Perfect for traditional Berliner Weisse. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -12633,10 +13224,6 @@ Toler�ncia ao etanol: Alta (12% ABV) 1 60 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -12646,6 +13233,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 6.805835924459865
Bt: Blonde Ale @@ -12671,10 +13259,14 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 3.8 5.5 - In addition to the more common American Blonde Ale, this category can also include modern English Summer Ales, American K�lsch-style beers, and less assertive American and English pale ales. + In addition to the more common American Blonde Ale, this category can also include modern English Summer Ales, American Kölsch-style beers, and less assertive American and English pale ales. Light to moderate sweet malty aroma. Low to moderate fruitiness is optional, but acceptable. May have a low to medium hop aroma, and can reflect almost any hop variety. No diacetyl.Light yellow to deep gold in color. Clear to brilliant. Low to medium white head with fair to good retention.Initial soft malty sweetness, but optionally some light character malt flavor (e.g., bread, toast, biscuit, wheat) can also be present. Caramel flavors typically absent. Low to medium esters optional, but are commonly found in many examples. Light to moderate hop flavor (any variety), but shouldn't be overly aggressive. Low to medium bitterness, but the balance is normally towards the malt. Finishes medium-dry to somewhat sweet. No diacetyl.Medium-light to medium body. Medium to high carbonation. Smooth without harsh bitterness or astringency.Easy-drinking, approachable, malt-oriented American craft beer. Currently produced by many (American) microbreweries and brewpubs. Regional variations exist (many West Coast brewpub examples are more assertive, like pale ales) but in most areas this beer is designed as the entry-level craft beer. - Generally all malt, but can include up to 25% wheat malt and some sugar adjuncts. Any hop variety can be used. Clean American, lightly fruity English, or K�lsch yeast. May also be made with lager yeast, or cold-conditioned. Some versions may have honey, spices and/or fruit added, although if any of these ingredients are stronger than a background flavor they should be entered in specialty, spiced or fruit beer categories instead. Extract versions should only use the lightest malt extracts and avoid kettle caramelization. + Generally all malt, but can include up to 25% wheat malt and some sugar adjuncts. Any hop variety can be used. Clean American, lightly fruity English, or Kölsch yeast. May also be made with lager yeast, or cold-conditioned. Some versions may have honey, spices and/or fruit added, although if any of these ingredients are stronger than a background flavor they should be entered in specialty, spiced or fruit beer categories instead. Extract versions should only use the lightest malt extracts and avoid kettle caramelization. Pelican Kiwanda Cream Ale, Russian River Aud Blonde, Rogue Oregon Golden Ale, Widmer Blonde Ale, Fuller's Summer Ale, Hollywood Blonde, Redhook Blonde + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -12696,6 +13288,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -12705,12 +13319,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.03401942772 + + Boil Willamette 1 5 - 0.03401942772 - Boil - Mild and pleasant, slightly spicy, aromatic. Aroma
Pellet
@@ -12722,48 +13336,63 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.35 32.5 35 + + + + kilograms + add_to_boil + 2
+ 0.226796185 + Caramel/Crystal Malt - 10L 1 Grain - 0.226796185 75 10 - FALSE US This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash + 4.762719885 + Briess - 2 Row Brewers Malt 1 Grain - 4.762719885 80.5 - 2 - FALSE + 1.8 US - - + Briess + DP 140. Base malt for all beer styles. +Contributes light straw color. +Slightly higher yield than 6-Row Malt. +Slightly lower protein than 6-Row Malt. +Malted in small batches, making it an excellent fit for small batch craft brewing. 1 - 4 + 4.2 140 - 12 + 11.5 100 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -12771,12 +13400,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -12785,9 +13414,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -12806,21 +13442,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 66.6666666666667 60 0 - 0 - 78.2164818184723 - 0 - - - Final Batch Sparge - 1 - Infusion - 18.298198178975 - 74 - 15 - 0 - 81.7086690121162 - 81.7086690121162 - 0 + + 78.2164818184723 + 13.0123530075 Final Batch Sparge @@ -12831,8 +13455,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 82.1758951878133 - 82.1758951878133 - 0 + + 82.1758951878133 + 17.95280144845 @@ -12852,15 +13477,11 @@ Toler�ncia ao etanol: Alta (12% ABV) Refreshing and easy-drinking beer, this blonde is mildly hopped and approachable. 0 - 1.04572396536776 - 1.01143099134194 + 1.0456332671045505 + 1.0114083167761376 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -12870,6 +13491,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 19.76282519208827
Bt: Blonde Ale - Extract @@ -12895,10 +13517,14 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 3.8 5.5 - In addition to the more common American Blonde Ale, this category can also include modern English Summer Ales, American K�lsch-style beers, and less assertive American and English pale ales. + In addition to the more common American Blonde Ale, this category can also include modern English Summer Ales, American Kölsch-style beers, and less assertive American and English pale ales. Light to moderate sweet malty aroma. Low to moderate fruitiness is optional, but acceptable. May have a low to medium hop aroma, and can reflect almost any hop variety. No diacetyl.Light yellow to deep gold in color. Clear to brilliant. Low to medium white head with fair to good retention.Initial soft malty sweetness, but optionally some light character malt flavor (e.g., bread, toast, biscuit, wheat) can also be present. Caramel flavors typically absent. Low to medium esters optional, but are commonly found in many examples. Light to moderate hop flavor (any variety), but shouldn't be overly aggressive. Low to medium bitterness, but the balance is normally towards the malt. Finishes medium-dry to somewhat sweet. No diacetyl.Medium-light to medium body. Medium to high carbonation. Smooth without harsh bitterness or astringency.Easy-drinking, approachable, malt-oriented American craft beer. Currently produced by many (American) microbreweries and brewpubs. Regional variations exist (many West Coast brewpub examples are more assertive, like pale ales) but in most areas this beer is designed as the entry-level craft beer. - Generally all malt, but can include up to 25% wheat malt and some sugar adjuncts. Any hop variety can be used. Clean American, lightly fruity English, or K�lsch yeast. May also be made with lager yeast, or cold-conditioned. Some versions may have honey, spices and/or fruit added, although if any of these ingredients are stronger than a background flavor they should be entered in specialty, spiced or fruit beer categories instead. Extract versions should only use the lightest malt extracts and avoid kettle caramelization. + Generally all malt, but can include up to 25% wheat malt and some sugar adjuncts. Any hop variety can be used. Clean American, lightly fruity English, or Kölsch yeast. May also be made with lager yeast, or cold-conditioned. Some versions may have honey, spices and/or fruit added, although if any of these ingredients are stronger than a background flavor they should be entered in specialty, spiced or fruit beer categories instead. Extract versions should only use the lightest malt extracts and avoid kettle caramelization. Pelican Kiwanda Cream Ale, Russian River Aud Blonde, Rogue Oregon Golden Ale, Widmer Blonde Ale, Fuller's Summer Ale, Hollywood Blonde, Redhook Blonde + + + + 5.5 gal - Extract - Ideal @@ -12920,6 +13546,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -12929,12 +13577,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Willamette - 1 - 5 0.03401942772 - Boil + Aroma + Willamette + 1 + 5 Mild and pleasant, slightly spicy, aromatic. Aroma
Pellet
@@ -12946,48 +13594,58 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.35 32.5 35 + + + + kilograms + add_to_boil + 2
- Caramel/Crystal Malt - 10L + 2.540117272 + + Briess DME - Golden Light 1 - Grain - 0.2267961848 - 75 - 10 - FALSE + Dry Extract + 95 + 4 US - This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. + 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess DME - Golden Light + 0.2267961848 + + Caramel/Crystal Malt - 10L 1 - Dry Extract - 2.540117272 - 95 - 4 - FALSE + Grain + 75 + 10 US - + This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 - 100 + 20 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -12995,12 +13653,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -13009,9 +13667,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -13041,15 +13706,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.04597592725664 - 1.01149398181416 + 1.0468537723653466 + 1.0117134430913366 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -13059,6 +13720,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 21.324254066857048
Bt: California Common @@ -13088,6 +13750,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Typically showcases the signature Northern Brewer hops (with woody, rustic or minty qualities) in moderate to high strength. Light fruitiness acceptable. Low to moderate caramel and/or toasty malt aromatics support the hops. No diacetyl.Medium amber to light copper color. Generally clear. Moderate off-white head with good retention.Moderately malty with a pronounced hop bitterness. The malt character is usually toasty (not roasted) and caramelly. Low to moderately high hop flavor, usually showing Northern Brewer qualities (woody, rustic, minty). Finish fairly dry and crisp, with a lingering hop bitterness and a firm, grainy malt flavor. Light fruity esters are acceptable, but otherwise clean. No diacetyl.Medium-bodied. Medium to medium-high carbonation.A lightly fruity beer with firm, grainy maltiness, interesting toasty and caramel flavors, and showcasing the signature Northern Brewer varietal hop character. American West Coast original. Large shallow open fermenters (coolships) were traditionally used to compensate for the absence of refrigeration and to take advantage of the cool ambient temperatures in the San Francisco Bay area. Fermented with a lager yeast, but one that was selected to thrive at the cool end of normal ale fermentation temperatures. Pale ale malt, American hops (usually Northern Brewer, rather than citrusy varieties), small amounts of toasted malt and/or crystal malts. Lager yeast, however some strains (often with the mention of "California" in the name) work better than others at the warmer fermentation temperatures (55 to 60F) used. Note that some German yeast strains produce inappropriate sulfury character. Water should have relatively low sulfate and low to moderate carbonate levels. Anchor Steam, Southampton Steem Beer, Flying Dog Old Scratch Amber Lager + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -13109,6 +13775,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -13118,12 +13806,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.04252428465 + + Boil Northern Brewer 1 9 - 0.04252428465 - Boil - Medium-strong, woody with evergreen and mint overtones. Both
Pellet
@@ -13135,14 +13823,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.5 27.5 55 + + + + kilograms + add_to_boil + 2
+ 0.04252428465 + + Boil Northern Brewer 1 9 - 0.04252428465 - Boil - Medium-strong, woody with evergreen and mint overtones. Both
Pellet
@@ -13154,14 +13848,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.5 27.5 55 + + + + kilograms + add_to_boil + 2
+ 0.01700971386 + + Boil Northern Brewer 1 9 - 0.01700971386 - Boil - Medium-strong, woody with evergreen and mint overtones. Both
Pellet
@@ -13173,108 +13873,130 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.5 27.5 55 + + + + kilograms + add_to_boil + 2
- Briess - Chocolate Malt + 0.226796185 + + Briess - Victory Malt 1 Grain - 0.0566990462 - 73 - 350 - FALSE + 75 + 28 US - - + Briess + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. 1 - 6 - 0 - 13 - 10 - TRUE + 2.5 + 0 + 25 + FALSE 0 - TRUE + + + kilograms + add_to_mash - Briess - Victory Malt + 0.5669904625 + + Weyermann - Light Munich Malt 1 Grain - 0.226796185 - 73 - 10 - FALSE - US + 82 + 6.9 + Germany 1 - 2.5 - 0 - 13 - 25 + 4.5 + 60 + 12 + 100 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.45359237 + Caramel/Crystal Malt - 40L 1 Grain - 0.45359237 74 40 - FALSE US This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash - Weyermann - Light Munich Malt + 4.08233133 + + Briess - 2 Row Brewers Malt 1 Grain - 0.5669904625 - 82 - 6.9 - FALSE - Germany - - + 80.5 + 1.8 + US + Briess + DP 140. Base malt for all beer styles. +Contributes light straw color. +Slightly higher yield than 6-Row Malt. +Slightly lower protein than 6-Row Malt. +Malted in small batches, making it an excellent fit for small batch craft brewing. 1 - 4.5 - 60 - 12 + 4.2 + 140 + 11.5 100 TRUE 0 - TRUE + + + kilograms + add_to_mash - Briess - 2 Row Brewers Malt + 0.0566990462 + + Briess - Chocolate Malt 1 Grain - 4.08233133 - 80.5 - 2 - FALSE + 60 + 350 US - - + Briess + Use in all beer styles for color adjustment. Use 1-10% for desired color in Porter and Stout. The rich roasted coffee, cocoa flavor is very complementary when used in higher percentages in Porters, Stouts, Brown Ales, and other dark beers. 1 - 4 - 140 - 12 - 100 - TRUE + 6 + 0 + 10 + FALSE 0 - TRUE + + + kilograms + add_to_mash @@ -13282,12 +14004,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP810 - San Francisco Lager Yeast 1 Lager
Liquid
- 0.035 - FALSE White Labs 810 14 @@ -13296,9 +14018,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 67 This yeast is used to produce the "California Common" style beer. A unique lager strain which has the ability to ferment up to 65 degrees while retaining lager characteristics. Can also be fermented down to 50 degrees for production of marzens, pilsners and other style lagers. - 0 10 + 67 + 67 + 67 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -13317,9 +14046,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 65.5555555555556 60 0 - 0 - 76.5144461396043 - 0 + + 76.5144461396043 + 14.0474265420571 Final Batch Sparge @@ -13330,8 +14059,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 83.0383079728803 - 83.0383079728803 - 0 + + 83.0383079728803 + 17.3483571701074 @@ -13351,15 +14081,11 @@ Toler�ncia ao etanol: Alta (12% ABV) This California Common is hopped to be bitter, but not overwhelmingly so. The malt tastes and smells of toast, grain, and caramel, and finishes dry. 0 - 1.04908348285303 - 1.0161975493415 + 1.0489761499269525 + 1.0161621294758942 1 21 16.6666666666667 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -13369,6 +14095,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 40.532188314169204
Bt: California Common - Extract @@ -13398,6 +14125,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Typically showcases the signature Northern Brewer hops (with woody, rustic or minty qualities) in moderate to high strength. Light fruitiness acceptable. Low to moderate caramel and/or toasty malt aromatics support the hops. No diacetyl.Medium amber to light copper color. Generally clear. Moderate off-white head with good retention.Moderately malty with a pronounced hop bitterness. The malt character is usually toasty (not roasted) and caramelly. Low to moderately high hop flavor, usually showing Northern Brewer qualities (woody, rustic, minty). Finish fairly dry and crisp, with a lingering hop bitterness and a firm, grainy malt flavor. Light fruity esters are acceptable, but otherwise clean. No diacetyl.Medium-bodied. Medium to medium-high carbonation.A lightly fruity beer with firm, grainy maltiness, interesting toasty and caramel flavors, and showcasing the signature Northern Brewer varietal hop character. American West Coast original. Large shallow open fermenters (coolships) were traditionally used to compensate for the absence of refrigeration and to take advantage of the cool ambient temperatures in the San Francisco Bay area. Fermented with a lager yeast, but one that was selected to thrive at the cool end of normal ale fermentation temperatures. Pale ale malt, American hops (usually Northern Brewer, rather than citrusy varieties), small amounts of toasted malt and/or crystal malts. Lager yeast, however some strains (often with the mention of "California" in the name) work better than others at the warmer fermentation temperatures (55 to 60F) used. Note that some German yeast strains produce inappropriate sulfury character. Water should have relatively low sulfate and low to moderate carbonate levels. Anchor Steam, Southampton Steem Beer, Flying Dog Old Scratch Amber Lager + + + + 5.5 gal - Extract - Ideal @@ -13419,6 +14150,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -13428,12 +14181,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.04252428465 + + Aroma Northern Brewer 1 9 - 0.04252428465 - Boil - Medium-strong, woody with evergreen and mint overtones. Both
Pellet
@@ -13445,14 +14198,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.5 27.5 55 + + + + kilograms + add_to_boil + 2
+ 0.01700971386 + + Aroma Northern Brewer 1 9 - 0.04252428465 - Boil - Medium-strong, woody with evergreen and mint overtones. Both
Pellet
@@ -13464,14 +14223,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.5 27.5 55 + + + + kilograms + add_to_boil + 2
+ 0.04252428465 + + Aroma Northern Brewer 1 9 - 0.01700971386 - Boil - Medium-strong, woody with evergreen and mint overtones. Both
Pellet
@@ -13483,108 +14248,124 @@ Toler�ncia ao etanol: Alta (12% ABV) 7.5 27.5 55 + + + + kilograms + add_to_boil + 2
- Briess - Chocolate Malt + 0.45359237 + + Caramel/Crystal Malt - 40L 1 Grain - 0.0566990462 - 73 - 350 - FALSE + 74 + 40 US - - 1 - 6 - 0 - 13 - 10 - TRUE + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 + 0 + 0 + 20 + FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess - Victory Malt + 2.1545637575 + + Briess DME - Golden Light 1 - Grain - 0.2267961848 - 73 - 10 - FALSE + Dry Extract + 95 + 4 US - 1 - 2.5 - 0 - 13 - 25 - TRUE - 0 - FALSE - - - Caramel/Crystal Malt - 40L - 1 - Grain - 0.45359237 - 74 - 40 - FALSE - US - - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.45359237 + Briess LME - Munich 1 Extract - 0.45359237 78 8 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess DME - Golden Light + 0.2267961848 + + Briess - Victory Malt 1 - Dry Extract - 2.1545637575 - 95 - 4 - FALSE + Grain + 75 + 28 US - - - 0 - 0 - 0 + Briess + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. + 1 + 2.5 0 - 100 + 25 + FALSE + 0 + + + kilograms + add_to_mash + + + 0.0566990462 + + Briess - Chocolate Malt + 1 + Grain + 60 + 350 + US + Briess + Use in all beer styles for color adjustment. Use 1-10% for desired color in Porter and Stout. The rich roasted coffee, cocoa flavor is very complementary when used in higher percentages in Porters, Stouts, Brown Ales, and other dark beers. + 1 + 6 + 0 + 10 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -13592,12 +14373,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP810 - San Francisco Lager Yeast 1 Lager
Liquid
- 0.035 - FALSE White Labs 810 14 @@ -13606,9 +14387,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 67 This yeast is used to produce the "California Common" style beer. A unique lager strain which has the ability to ferment up to 65 degrees while retaining lager characteristics. Can also be fermented down to 50 degrees for production of marzens, pilsners and other style lagers. - 0 10 + 67 + 67 + 67 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -13638,15 +14426,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.04857815178364 - 1.0160307900886 + 1.0513106059822712 + 1.0169324999741496 1 21 16.6666666666667 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -13656,6 +14440,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 43.29891568059261
Bt: Extra Special Bitter @@ -13685,6 +14470,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Hop aroma moderately-high to moderately-low, and can use any variety of hops although UK hops are most traditional. Medium to medium-high malt aroma, often with a low to moderately strong caramel component (although this character will be more subtle in paler versions). Medium-low to medium-high fruity esters. Generally no diacetyl, although very low levels are allowed. May have light, secondary notes of sulfur and/or alcohol in some examples (optional).Golden to deep copper. Good to brilliant clarity. Low to moderate white to off-white head. A low head is acceptable when carbonation is also low.Medium-high to medium bitterness with supporting malt flavors evident. Normally has a moderately low to somewhat strong caramelly malt sweetness. Hop flavor moderate to moderately high (any variety, although earthy, resiny, and/or floral UK hops are most traditional). Hop bitterness and flavor should be noticeable, but should not totally dominate malt flavors. May have low levels of secondary malt flavors (e.g., nutty, biscuity) adding complexity. Moderately-low to high fruity esters. Optionally may have low amounts of alcohol, and up to a moderate minerally/sulfury flavor. Medium-dry to dry finish (particularly if sulfate water is used). Generally no diacetyl, although very low levels are allowed.Medium-light to medium-full body. Low to moderate carbonation, although bottled commercial versions will be higher. Stronger versions may have a slight alcohol warmth but this character should not be too high.An average-strength to moderately-strong English ale. The balance may be fairly even between malt and hops to somewhat bitter. Drinkability is a critical component of the style; emphasis is still on the bittering hop addition as opposed to the aggressive middle and late hopping seen in American ales. A rather broad style that allows for considerable interpretation by the brewer. Strong bitters can be seen as a higher-gravity version of best bitters (although not necessarily "more premium" since best bitters are traditionally the brewer's finest product). Since beer is sold by strength in the UK, these beers often have some alcohol flavor (perhaps to let the consumer know they are getting their due). In England today, "ESB" is a brand unique to Fullers; in America, the name has been co-opted to describe a malty, bitter, reddish, standard-strength (for the US) English-type ale. Hopping can be English or a combination of English and American. Pale ale, amber, and/or crystal malts, may use a touch of black malt for color adjustment. May use sugar adjuncts, corn or wheat. English hops most typical, although American and European varieties are becoming more common (particularly in the paler examples). Characterful English yeast. "Burton" versions use medium to high sulfate water. Examples: Fullers ESB, Adnams Broadside, Shepherd Neame Bishop's Finger, Young's Ram Rod, Samuel Smith's Old Brewery Pale Ale, Bass Ale, Whitbread Pale Ale, Shepherd Neame Spitfire, Marston's Pedigree, Black Sheep Ale, Vintage Henley, Mordue Workie Ticket, Morland Old Speckled Hen, Greene King Abbot Ale, Bateman's XXXB, Gale's Hordean Special Bitter (HSB), Ushers 1824 Particular Ale, Hopback Summer Lightning, Great Lakes Moondog Ale, Shipyard Old Thumper, Alaskan ESB, Geary's Pale Ale, Cooperstown Old Slugger, Anderson Valley Boont ESB, Avery 14'er ESB, Redhook ESB + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -13706,6 +14495,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -13715,12 +14526,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.0283495231 + + Boil Kent Goldings 1 5.5 - 0.0283495231 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -13732,14 +14543,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.06803885544 + + Boil Kent Goldings 1 5.5 - 0.06803885544 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -13751,57 +14568,67 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
- Caramel/Crystal Malt - 120L + 0.2267961848 + + Caramel/Crystal Malt - 10L 1 Grain - 0.1133980925 - 72 - 120 - FALSE + 75 + 10 US - Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. + This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 10L + 0.1133980925 + + Caramel/Crystal Malt - 120L 1 Grain - 0.2267961848 - 75 - 10 - FALSE + 72 + 120 US - This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. + Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash + 5.216312255 + Simpsons - Maris Otter 1 Grain - 5.216312255 81 3 - FALSE UK @@ -13812,7 +14639,10 @@ Toler�ncia ao etanol: Alta (12% ABV) 100 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -13820,12 +14650,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP002 - English Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 002 18 @@ -13834,9 +14664,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 66 A classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. - 0 10 + 66 + 66 + 66 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -13855,9 +14692,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 66.1111111111111 60 0 - 0 - 77.0805820012648 - 0 + + 77.0805820012648 + 14.4910294851034 Final Batch Sparge @@ -13868,8 +14705,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 83.4265889465401 - 83.4265889465401 - 0 + + 83.4265889465401 + 17.0893096224421 @@ -13889,15 +14727,11 @@ Toler�ncia ao etanol: Alta (12% ABV) This beer has pronounced caramelly sweetness, contrasted against significant hop bitterness as well as complex toasted aromas. 0 - 1.05162931962748 - 1.01755396867334 + 1.0516293196332784 + 1.0175539686753146 1 21 20 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -13907,6 +14741,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 41.19728324596573
Bt: Extra Special Bitter - Extract @@ -13936,6 +14771,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Hop aroma moderately-high to moderately-low, and can use any variety of hops although UK hops are most traditional. Medium to medium-high malt aroma, often with a low to moderately strong caramel component (although this character will be more subtle in paler versions). Medium-low to medium-high fruity esters. Generally no diacetyl, although very low levels are allowed. May have light, secondary notes of sulfur and/or alcohol in some examples (optional).Golden to deep copper. Good to brilliant clarity. Low to moderate white to off-white head. A low head is acceptable when carbonation is also low.Medium-high to medium bitterness with supporting malt flavors evident. Normally has a moderately low to somewhat strong caramelly malt sweetness. Hop flavor moderate to moderately high (any variety, although earthy, resiny, and/or floral UK hops are most traditional). Hop bitterness and flavor should be noticeable, but should not totally dominate malt flavors. May have low levels of secondary malt flavors (e.g., nutty, biscuity) adding complexity. Moderately-low to high fruity esters. Optionally may have low amounts of alcohol, and up to a moderate minerally/sulfury flavor. Medium-dry to dry finish (particularly if sulfate water is used). Generally no diacetyl, although very low levels are allowed.Medium-light to medium-full body. Low to moderate carbonation, although bottled commercial versions will be higher. Stronger versions may have a slight alcohol warmth but this character should not be too high.An average-strength to moderately-strong English ale. The balance may be fairly even between malt and hops to somewhat bitter. Drinkability is a critical component of the style; emphasis is still on the bittering hop addition as opposed to the aggressive middle and late hopping seen in American ales. A rather broad style that allows for considerable interpretation by the brewer. Strong bitters can be seen as a higher-gravity version of best bitters (although not necessarily "more premium" since best bitters are traditionally the brewer's finest product). Since beer is sold by strength in the UK, these beers often have some alcohol flavor (perhaps to let the consumer know they are getting their due). In England today, "ESB" is a brand unique to Fullers; in America, the name has been co-opted to describe a malty, bitter, reddish, standard-strength (for the US) English-type ale. Hopping can be English or a combination of English and American. Pale ale, amber, and/or crystal malts, may use a touch of black malt for color adjustment. May use sugar adjuncts, corn or wheat. English hops most typical, although American and European varieties are becoming more common (particularly in the paler examples). Characterful English yeast. "Burton" versions use medium to high sulfate water. Examples: Fullers ESB, Adnams Broadside, Shepherd Neame Bishop's Finger, Young's Ram Rod, Samuel Smith's Old Brewery Pale Ale, Bass Ale, Whitbread Pale Ale, Shepherd Neame Spitfire, Marston's Pedigree, Black Sheep Ale, Vintage Henley, Mordue Workie Ticket, Morland Old Speckled Hen, Greene King Abbot Ale, Bateman's XXXB, Gale's Hordean Special Bitter (HSB), Ushers 1824 Particular Ale, Hopback Summer Lightning, Great Lakes Moondog Ale, Shipyard Old Thumper, Alaskan ESB, Geary's Pale Ale, Cooperstown Old Slugger, Anderson Valley Boont ESB, Avery 14'er ESB, Redhook ESB + + + + 5.5 gal - Extract - Ideal @@ -13957,6 +14796,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -13966,12 +14827,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.0283495231 + + Aroma Kent Goldings 1 5.5 - 0.0283495231 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -13983,14 +14844,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.06803885544 + + Aroma Kent Goldings 1 5.5 - 0.06803885544 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -14002,68 +14869,80 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
- Caramel/Crystal Malt - 120L + 2.8349523125 + + Muntons DME - Light 1 - Grain - 0.1133980924 - 72 - 120 - FALSE + Dry Extract + 95 + 4 US - Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. + 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 10L + 0.1133980924 + + Caramel/Crystal Malt - 120L 1 Grain - 0.2267961848 - 75 - 10 - FALSE + 72 + 120 US - This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. + Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. 0 0 - 0 0 20 FALSE 0 - FALSE + + + kilograms + add_to_mash - Muntons DME - Light + 0.2267961848 + + Caramel/Crystal Malt - 10L 1 - Dry Extract - 2.8349523125 - 95 - 4 - FALSE + Grain + 75 + 10 US - + This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0 0 - 0 0 - 100 + 20 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -14071,12 +14950,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP002 - English Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 002 18 @@ -14085,9 +14964,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 66 A classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. - 0 10 + 66 + 66 + 66 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -14117,15 +15003,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.0517685325035 - 1.01760130105119 + 1.0530666521376437 + 1.0180426617267988 1 21 20 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -14135,6 +15017,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 44.36567569413624
Bt: Nut Brown @@ -14163,7 +15046,11 @@ Toler�ncia ao etanol: Alta (12% ABV) English brown ales are generally split into sub-styles along geographic lines. Light, sweet malt aroma with toffee, nutty and/or caramel notes. A light but appealing fresh hop aroma (UK varieties) may also be noticed. A light fruity ester aroma may be evident in these beers, but should not dominate. Very low to no diacetyl.Dark amber to reddish-brown color. Clear. Low to moderate off-white to light tan head.Gentle to moderate malt sweetness, with a nutty, lightly caramelly character and a medium-dry to dry finish. Malt may also have a toasted, biscuity, or toffee-like character. Medium to medium-low bitterness. Malt-hop balance is nearly even, with hop flavor low to none (UK varieties). Some fruity esters can be present; low diacetyl (especially butterscotch) is optional but acceptable.Medium-light to medium body. Medium to medium-high carbonation.Drier and more hop-oriented that southern English brown ale, with a nutty character rather than caramel. English mild ale or pale ale malt base with caramel malts. May also have small amounts darker malts (e.g., chocolate) to provide color and the nutty character. English hop varieties are most authentic. Moderate carbonate water. - Newcastle Brown Ale, Samuel Smith?s Nut Brown Ale, Riggwelter Yorkshire Ale, Wychwood Hobgoblin, Tr�egs Rugged Trail Ale, Alesmith Nautical Nut Brown Ale, Avery Ellie?s Brown Ale, Goose Island Nut Brown Ale, Samuel Adams Brown Ale + Newcastle Brown Ale, Samuel Smith?s Nut Brown Ale, Riggwelter Yorkshire Ale, Wychwood Hobgoblin, Tröegs Rugged Trail Ale, Alesmith Nautical Nut Brown Ale, Avery Ellie?s Brown Ale, Goose Island Nut Brown Ale, Samuel Adams Brown Ale + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -14185,6 +15072,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -14194,12 +15103,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.035436903875 + + Boil Kent Goldings 1 5.5 - 0.01417476155 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -14211,14 +15120,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.01417476155 + + Boil Kent Goldings 1 5.5 - 0.035436903875 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -14230,97 +15145,67 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.3401942772 + Briess - Special Roast Malt 1 Grain - 0.3401942772 72 - 50 - FALSE - US - - - 1 - 2.5 - 0 - 13 - 50 - TRUE - 0 - TRUE - - - Briess - Victory Malt - 1 - Grain - 0.2267961848 - 73 - 10 - FALSE + 40 US - - + Briess + Complex flavored Biscuit-style Malt. With its characteristic and bold sourdough flavor, it will contribute an exciting layer of flavor to Nut Brown Ales, Porters and other dark beer styles. 1 2.5 - 0 - 13 - 25 - TRUE - 0 - TRUE - - - Caramel/Crystal Malt - 40L - 1 - Grain - 0.2267961848 - 74 - 40 - FALSE - US - - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. - 0 - 0 - 0 0 - 20 + 10 FALSE 0 - TRUE + + + kilograms + add_to_mash + 0.1133980924 + Simpsons - Chocolate Malt 1 Grain - 0.1133980924 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - TRUE + + + kilograms + add_to_mash + 4.08233133 + Simpsons - Maris Otter 1 Grain - 4.08233133 81 3 - FALSE UK @@ -14331,7 +15216,54 @@ Toler�ncia ao etanol: Alta (12% ABV) 100 TRUE 0 - TRUE + + + kilograms + add_to_mash + + + 0.2267961848 + + Briess - Victory Malt + 1 + Grain + 75 + 28 + US + Briess + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. + 1 + 2.5 + 0 + 25 + FALSE + 0 + + + kilograms + add_to_mash + + + 0.2267961848 + + Caramel/Crystal Malt - 40L + 1 + Grain + 74 + 40 + US + + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 + 0 + 0 + 20 + FALSE + 0 + + + kilograms + add_to_mash @@ -14339,12 +15271,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP013 - London Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 013 19 @@ -14353,9 +15285,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 71 Dry, malty ale yeast. Provides a complex, oakey ester character to your beer. Hop bitterness comes through well. This yeast is well suited for classic British pale ales, bitters, and stouts. Does not flocculate as much as WLP002 and WLP005. - 0 10 + 71 + 71 + 71 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -14374,21 +15313,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 66.6666666666667 60 0 - 0 - 73.8242985917293 - 0 - - - Final Batch Sparge - 1 - Infusion - 18.9889916403296 - 74 - 15 - 0 - 79.7287888778721 - 79.7287888778721 - 0 + + 73.8242985917293 + 13.0123530054137 Final Batch Sparge @@ -14399,8 +15326,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 81.0161937411323 - 81.0161937411323 - 0 + + 81.0161937411323 + 17.9528014496684 @@ -14420,15 +15348,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.04579536158191 - 1.01328065485875 + 1.0458476709550388 + 1.0132958245769612 1 21 20 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -14438,6 +15362,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 24.403578725595715
Bt: Nut Brown - Extract @@ -14466,7 +15391,11 @@ Toler�ncia ao etanol: Alta (12% ABV) English brown ales are generally split into sub-styles along geographic lines. Light, sweet malt aroma with toffee, nutty and/or caramel notes. A light but appealing fresh hop aroma (UK varieties) may also be noticed. A light fruity ester aroma may be evident in these beers, but should not dominate. Very low to no diacetyl.Dark amber to reddish-brown color. Clear. Low to moderate off-white to light tan head.Gentle to moderate malt sweetness, with a nutty, lightly caramelly character and a medium-dry to dry finish. Malt may also have a toasted, biscuity, or toffee-like character. Medium to medium-low bitterness. Malt-hop balance is nearly even, with hop flavor low to none (UK varieties). Some fruity esters can be present; low diacetyl (especially butterscotch) is optional but acceptable.Medium-light to medium body. Medium to medium-high carbonation.Drier and more hop-oriented that southern English brown ale, with a nutty character rather than caramel. English mild ale or pale ale malt base with caramel malts. May also have small amounts darker malts (e.g., chocolate) to provide color and the nutty character. English hop varieties are most authentic. Moderate carbonate water. - Newcastle Brown Ale, Samuel Smith?s Nut Brown Ale, Riggwelter Yorkshire Ale, Wychwood Hobgoblin, Tr�egs Rugged Trail Ale, Alesmith Nautical Nut Brown Ale, Avery Ellie?s Brown Ale, Goose Island Nut Brown Ale, Samuel Adams Brown Ale + Newcastle Brown Ale, Samuel Smith?s Nut Brown Ale, Riggwelter Yorkshire Ale, Wychwood Hobgoblin, Tröegs Rugged Trail Ale, Alesmith Nautical Nut Brown Ale, Avery Ellie?s Brown Ale, Goose Island Nut Brown Ale, Samuel Adams Brown Ale + + + + 5.5 gal - Extract - Ideal @@ -14488,6 +15417,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -14497,12 +15448,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.03401942772 + + Aroma Kent Goldings 1 5.5 - 0.01417476155 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -14514,14 +15465,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.01417476155 + + Aroma Kent Goldings 1 5.5 - 0.03401942772 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -14533,108 +15490,124 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 2.26796185 + Muntons DME - Light 1 Dry Extract - 2.26796185 95 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Special Roast + 0.226796185 + + Briess - Victory Malt 1 Grain - 0.3401942775 - 72 - 50 - FALSE + 75 + 28 US Briess - Special Roast Malt is a specially processed malt from the American maltster, Briess. It is kilned using 6 row barley and it appears to be Victory Malt turned up a notch. Flavor: Toasty, Strong Biscuit, Sour Dough, Tangy. Any non-straw colored beer where roasty, toasty flavors are acceptable is a good candidate for this malt. Porters and Nut Brown Ales could take a good helping of this malt, and smaller amounts (less than 8 ounces) would work in Viennas, M�rzens, and Alt beers. - 0 - 0 - 0 + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. + 1 + 2.5 0 - 10 - TRUE + 25 + FALSE 0 - FALSE + + + kilograms + add_to_mash - Simpsons - Chocolate Malt + 0.3401942775 + + Special Roast 1 Grain - 0.1133980925 - 73 - 400 - FALSE - UK - - - 1 - 1.9 - 0 - 12 - 20 + 72 + 50 + US + Briess + Special Roast Malt is a specially processed malt from the American maltster, Briess. It is kilned using 6 row barley and it appears to be Victory Malt turned up a notch. Flavor: Toasty, Strong Biscuit, Sour Dough, Tangy. Any non-straw colored beer where roasty, toasty flavors are acceptable is a good candidate for this malt. Porters and Nut Brown Ales could take a good helping of this malt, and smaller amounts (less than 8 ounces) would work in Viennas, Märzens, and Alt beers. + 0 + 0 + 0 + 10 TRUE 0 - FALSE + + + kilograms + add_to_mash + 0.226796185 + Caramel/Crystal Malt - 40L 1 Grain - 0.226796185 74 40 - FALSE US This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0 0 - 0 0 20 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess - Victory Malt + 0.1133980925 + + Simpsons - Chocolate Malt 1 Grain - 0.226796185 73 - 10 - FALSE - US + 400 + UK 1 - 2.5 - 0 - 13 - 25 + 1.9 + 12 + 20 TRUE 0 - FALSE + + + kilograms + add_to_mash @@ -14642,12 +15615,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP013 - London Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 013 19 @@ -14656,9 +15629,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 71 Dry, malty ale yeast. Provides a complex, oakey ester character to your beer. Hop bitterness comes through well. This yeast is well suited for classic British pale ales, bitters, and stouts. Does not flocculate as much as WLP002 and WLP005. - 0 10 + 71 + 71 + 71 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -14688,15 +15668,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.04496719845348 - 1.01304048755151 + 1.0484065397158733 + 1.0140378965176033 1 21 20 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -14706,6 +15682,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 25.053025073814364
Bt: Oatmeal Stout @@ -14734,7 +15711,11 @@ Toler�ncia ao etanol: Alta (12% ABV) Generally between sweet and dry stouts in sweetness. Variations exist, from fairly sweet to quite dry. The level of bitterness also varies, as does the oatmeal impression. Light use of oatmeal may give a certain silkiness of body and richness of flavor, while heavy use of oatmeal can be fairly intense in flavor with an almost oily mouthfeel. When judging, allow for differences in interpretation. Mild roasted grain aromas, often with a coffee-like character. A light sweetness can imply a coffee-and-cream impression. Fruitiness should be low to medium. Diacetyl medium-low to none. Hop aroma low to none (UK varieties most common). A light oatmeal aroma is optional.Medium brown to black in color. Thick, creamy, persistent tan- to brown-colored head. Can be opaque (if not, it should be clear).Medium sweet to medium dry palate, with the complexity of oats and dark roasted grains present. Oats can add a nutty, grainy or earthy flavor. Dark grains can combine with malt sweetness to give the impression of milk chocolate or coffee with cream. Medium hop bitterness with the balance toward malt. Diacetyl medium-low to none. Hop flavor medium-low to none.Medium-full to full body, smooth, silky, sometimes an almost oily slickness from the oatmeal. Creamy. Medium to medium-high carbonation.A very dark, full-bodied, roasty, malty ale with a complementary oatmeal flavor. An English seasonal variant of sweet stout that is usually less sweet than the original, and relies on oatmeal for body and complexity rather than lactose for body and sweetness. Pale, caramel and dark roasted malts and grains. - Samuel Smith Oatmeal Stout, Young's Oatmeal Stout, McAuslan Oatmeal Stout, Maclay?s Oat Malt Stout, Broughton Kinmount Willie Oatmeal Stout, Anderson Valley Barney Flats Oatmeal Stout, Tr�egs Oatmeal Stout, New Holland The Poet, Goose Island Oatmeal Stout, Wolaver?s Oatmeal Stout + Samuel Smith Oatmeal Stout, Young's Oatmeal Stout, McAuslan Oatmeal Stout, Maclay?s Oat Malt Stout, Broughton Kinmount Willie Oatmeal Stout, Anderson Valley Barney Flats Oatmeal Stout, Tröegs Oatmeal Stout, New Holland The Poet, Goose Island Oatmeal Stout, Wolaver?s Oatmeal Stout + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -14756,6 +15737,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -14765,12 +15768,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.0566990462 + + Boil Kent Goldings 1 5.5 - 0.0566990462 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -14782,128 +15785,147 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.3401942772 + Briess - Victory Malt 1 Grain - 0.3401942772 - 73 - 10 - FALSE + 75 + 28 US - - + Briess + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. 1 2.5 - 0 - 13 + 0 25 - TRUE + FALSE 0 - TRUE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 80L + 3.855535145 + + Simpsons - Maris Otter 1 Grain - 0.2267961848 - 74 - 80 - FALSE - US + 81 + 3 + UK - This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. - 0 - 0 - 0 - 0 - 20 - FALSE + + 1 + 3 + 120 + 10 + 100 + TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.45359237 + Oats, Flaked 1 Grain - 0.45359237 80 1 - FALSE US Oats will improve mouth feel and add a creamy head. Commonly used in Oatmeal Stout. 0 0 - 0 0 30 TRUE 0 - TRUE + + + kilograms + add_to_mash - Simpsons - Black Malt + 0.2267961848 + + Caramel/Crystal Malt - 80L 1 Grain + 74 + 80 + US + + This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. + 0 + 0 + 0 + 20 + FALSE + 0 + + + kilograms + add_to_mash + + 0.2267961848 + + Simpsons - Black Malt + 1 + Grain 70 550 - FALSE UK 1 3 - 0 12 10 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.3401942772 + Simpsons - Chocolate Malt 1 Grain - 0.3401942772 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - TRUE - - - Simpsons - Maris Otter - 1 - Grain - 3.855535145 - 81 - 3 - FALSE - UK - - - 1 - 3 - 120 - 10 - 100 - TRUE - 0 - TRUE + + + kilograms + add_to_mash @@ -14911,12 +15933,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP002 - English Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 002 18 @@ -14925,9 +15947,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 66 A classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. - 0 10 + 66 + 66 + 66 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -14946,21 +15975,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 67.7777777777778 60 0 - 0 - 75.10582951058 - 0 - - - Final Batch Sparge - 1 - Infusion - 18.1254998141694 - 74 - 15 - 0 - 80.7914043527883 - 80.7914043527883 - 0 + + 75.10582951058 + 14.1952941873921 Final Batch Sparge @@ -14971,8 +15988,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 81.96032956483 - 81.96032956483 - 0 + + 81.96032956483 + 17.2620079889229 @@ -14992,15 +16010,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.04985101504465 - 1.01694934511518 + 1.0499294339832619 + 1.016976007554309 1 21 20 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -15010,6 +16024,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 34.859579018292926
Bt: Oatmeal Stout - Extract @@ -15038,7 +16053,11 @@ Toler�ncia ao etanol: Alta (12% ABV) Generally between sweet and dry stouts in sweetness. Variations exist, from fairly sweet to quite dry. The level of bitterness also varies, as does the oatmeal impression. Light use of oatmeal may give a certain silkiness of body and richness of flavor, while heavy use of oatmeal can be fairly intense in flavor with an almost oily mouthfeel. When judging, allow for differences in interpretation. Mild roasted grain aromas, often with a coffee-like character. A light sweetness can imply a coffee-and-cream impression. Fruitiness should be low to medium. Diacetyl medium-low to none. Hop aroma low to none (UK varieties most common). A light oatmeal aroma is optional.Medium brown to black in color. Thick, creamy, persistent tan- to brown-colored head. Can be opaque (if not, it should be clear).Medium sweet to medium dry palate, with the complexity of oats and dark roasted grains present. Oats can add a nutty, grainy or earthy flavor. Dark grains can combine with malt sweetness to give the impression of milk chocolate or coffee with cream. Medium hop bitterness with the balance toward malt. Diacetyl medium-low to none. Hop flavor medium-low to none.Medium-full to full body, smooth, silky, sometimes an almost oily slickness from the oatmeal. Creamy. Medium to medium-high carbonation.A very dark, full-bodied, roasty, malty ale with a complementary oatmeal flavor. An English seasonal variant of sweet stout that is usually less sweet than the original, and relies on oatmeal for body and complexity rather than lactose for body and sweetness. Pale, caramel and dark roasted malts and grains. - Samuel Smith Oatmeal Stout, Young's Oatmeal Stout, McAuslan Oatmeal Stout, Maclay?s Oat Malt Stout, Broughton Kinmount Willie Oatmeal Stout, Anderson Valley Barney Flats Oatmeal Stout, Tr�egs Oatmeal Stout, New Holland The Poet, Goose Island Oatmeal Stout, Wolaver?s Oatmeal Stout + Samuel Smith Oatmeal Stout, Young's Oatmeal Stout, McAuslan Oatmeal Stout, Maclay?s Oat Malt Stout, Broughton Kinmount Willie Oatmeal Stout, Anderson Valley Barney Flats Oatmeal Stout, Tröegs Oatmeal Stout, New Holland The Poet, Goose Island Oatmeal Stout, Wolaver?s Oatmeal Stout + + + + 5.5 gal - Extract - Ideal @@ -15060,6 +16079,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -15069,12 +16110,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.0566990462 + + Aroma Kent Goldings 1 5.5 - 0.0566990462 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -15086,128 +16127,146 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
- Muntons DME - Light + 0.226796185 + + Caramel/Crystal Malt - 80L 1 - Dry Extract - 2.6081561275 - 95 - 4 - FALSE + Grain + 74 + 80 US - + This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. 0 0 - 0 0 - 100 + 20 FALSE 0 - FALSE + + + kilograms + add_to_mash - Simpsons - Black Malt + 0.3401942775 + + Briess - Victory Malt 1 Grain + 75 + 28 + US + Briess + Biscuit Malt. Well suited for Nut Brown Ales & other dark beers. Its clean flavor makes it equally well suited for ales and lagers alike. Use in small amounts to add complexity to lighter colored ales and lagers. + 1 + 2.5 + 0 + 25 + FALSE + 0 + + + kilograms + add_to_mash + + + 0.45359237 + + Oats, Flaked + 1 + Grain + 80 + 1 + US + + Oats will improve mouth feel and add a creamy head. Commonly used in Oatmeal Stout. + 0 + 0 + 0 + 30 + TRUE + 0 + + + kilograms + add_to_mash + + 0.226796185 + + Simpsons - Black Malt + 1 + Grain 70 550 - FALSE UK 1 3 - 0 12 10 TRUE 0 - FALSE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 80L + 2.6081561275 + + Muntons DME - Light 1 - Grain - 0.226796185 - 74 - 80 - FALSE + Dry Extract + 95 + 4 US - This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. + 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess - Victory Malt - 1 - Grain 0.3401942775 - 73 - 10 - FALSE - US - - - 1 - 2.5 - 0 - 13 - 25 - TRUE - 0 - FALSE - - + Simpsons - Chocolate Malt 1 Grain - 0.3401942775 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - FALSE - - - Oats, Flaked - 1 - Grain - 0.45359237 - 80 - 1 - FALSE - US - - Oats will improve mouth feel and add a creamy head. Commonly used in Oatmeal Stout. - 0 - 0 - 0 - 0 - 30 - TRUE - 0 - FALSE + + + kilograms + add_to_mash @@ -15215,12 +16274,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP002 - English Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 002 18 @@ -15229,9 +16288,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 66 A classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. - 0 10 + 66 + 66 + 66 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -15261,15 +16327,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.05490628149025 - 1.01866813570669 + 1.0610226883413478 + 1.0207477140360584 1 21 20 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -15279,6 +16341,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 34.42014765045773
Bt: Rauchbier @@ -15305,9 +16368,13 @@ Toler�ncia ao etanol: Alta (12% ABV) 4.8 6 The intensity of smoke character can vary widely; not all examples are highly smoked. Allow for variation in the style when judging. Other examples of smoked beers are available in Germany, such as the Bocks, Hefe-Weizen, Dunkel, Schwarz, and Helles-like beers, including examples such as Spezial Lager. Brewers entering these styles should use Other Smoked Beer (22B) as the entry category. - Blend of smoke and malt, with a varying balance and intensity. The beechwood smoke character can range from subtle to fairly strong, and can seem smoky, bacon-like, woody, or rarely almost greasy. The malt character can be low to moderate, and be somewhat sweet, toasty, or malty. The malt and smoke components are often inversely proportional (i.e., when smoke increases, malt decreases, and vice versa). Hop aroma may be very low to none. Clean, lager character with no fruity esters, diacetyl or DMS.This should be a very clear beer, with a large, creamy, rich, tan- to cream-colored head. Medium amber/light copper to dark brown color.Generally follows the aroma profile, with a blend of smoke and malt in varying balance and intensity, yet always complementary. M�rzen-like qualities should be noticeable, particularly a malty, toasty richness, but the beechwood smoke flavor can be low to high. The palate can be somewhat malty and sweet, yet the finish can reflect both malt and smoke. Moderate, balanced, hop bitterness, with a medium-dry to dry finish (the smoke character enhances the dryness of the finish). Noble hop flavor moderate to none. Clean lager character with no fruity esters, diacetyl or DMS. Harsh, bitter, burnt, charred, rubbery, sulfury or phenolic smoky characteristics are inappropriate.Medium body. Medium to medium-high carbonation. Smooth lager character. Significant astringent, phenolic harshness is inappropriate.M�rzen/Oktoberfest-style (see 3B) beer with a sweet, smoky aroma and flavor and a somewhat darker color. A historical specialty of the city of Bamberg, in the Franconian region of Bavaria in Germany. Beechwood-smoked malt is used to make a M�rzen-style amber lager. The smoke character of the malt varies by maltster; some breweries produce their own smoked malt (rauchmalz). - German Rauchmalz (beechwood-smoked Vienna-type malt) typically makes up 20-100% of the grain bill, with the remainder being German malts typically used in a M�rzen. Some breweries adjust the color slightly with a bit of roasted malt. German lager yeast. German or Czech hops. - Schlenkerla Rauchbier M�rzen, Kaiserdom Rauchbier, Eisenbahn Rauchbier, Victory Scarlet Fire Rauchbier, Spezial Rauchbier M�rzen, Saranac Rauchbier + Blend of smoke and malt, with a varying balance and intensity. The beechwood smoke character can range from subtle to fairly strong, and can seem smoky, bacon-like, woody, or rarely almost greasy. The malt character can be low to moderate, and be somewhat sweet, toasty, or malty. The malt and smoke components are often inversely proportional (i.e., when smoke increases, malt decreases, and vice versa). Hop aroma may be very low to none. Clean, lager character with no fruity esters, diacetyl or DMS.This should be a very clear beer, with a large, creamy, rich, tan- to cream-colored head. Medium amber/light copper to dark brown color.Generally follows the aroma profile, with a blend of smoke and malt in varying balance and intensity, yet always complementary. Märzen-like qualities should be noticeable, particularly a malty, toasty richness, but the beechwood smoke flavor can be low to high. The palate can be somewhat malty and sweet, yet the finish can reflect both malt and smoke. Moderate, balanced, hop bitterness, with a medium-dry to dry finish (the smoke character enhances the dryness of the finish). Noble hop flavor moderate to none. Clean lager character with no fruity esters, diacetyl or DMS. Harsh, bitter, burnt, charred, rubbery, sulfury or phenolic smoky characteristics are inappropriate.Medium body. Medium to medium-high carbonation. Smooth lager character. Significant astringent, phenolic harshness is inappropriate.Märzen/Oktoberfest-style (see 3B) beer with a sweet, smoky aroma and flavor and a somewhat darker color. A historical specialty of the city of Bamberg, in the Franconian region of Bavaria in Germany. Beechwood-smoked malt is used to make a Märzen-style amber lager. The smoke character of the malt varies by maltster; some breweries produce their own smoked malt (rauchmalz). + German Rauchmalz (beechwood-smoked Vienna-type malt) typically makes up 20-100% of the grain bill, with the remainder being German malts typically used in a Märzen. Some breweries adjust the color slightly with a bit of roasted malt. German lager yeast. German or Czech hops. + Schlenkerla Rauchbier Märzen, Kaiserdom Rauchbier, Eisenbahn Rauchbier, Victory Scarlet Fire Rauchbier, Spezial Rauchbier Märzen, Saranac Rauchbier + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -15329,6 +16396,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -15338,12 +16427,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Hallertau - 1 - 4.5 0.01417476155 - Boil + Boil + Hallertau + 1 + 4.5 Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -15355,14 +16444,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
+ 0.049611665425 + + Boil Hallertau 1 4.5 - 0.049611665425 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -15374,117 +16469,135 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Weyermann - Smoked Malt - 1 - Grain - 2.26796185 - 81 - 2.8 - FALSE - Germany - - - 1 - 5 - 120 - 11.5 - 100 - TRUE - 0 - TRUE - - + 0.1133980924 + Weyermann - Melanoiden Malt 1 Grain - 0.1133980924 81 27 - FALSE Germany 1 4.5 - 0 12 20 TRUE 0 - TRUE + + + kilograms + add_to_mash - Simpsons - Black Malt + 0.3401942772 + + Briess - Munich Malt 10L 1 Grain - 0.0566990462 - 70 - 550 - FALSE - UK - - + 77 + 10 + US + Briess + DP 40. Golden leaning toward orange hues. 1 - 3 - 0 + 3.3 + 40 12 - 10 + 50 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.3401942772 + Caramunich Malt 1 Grain - 0.3401942772 71.7 56 - FALSE Belgium Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. 0 0 - 0 0 10 FALSE 0 - TRUE + + + kilograms + add_to_mash - Briess - Munich Malt 10L + 0.0566990462 + + Simpsons - Black Malt 1 Grain - 0.3401942772 - 76 - 10 - FALSE - US + 70 + 550 + UK 1 - 3.3 - 30 - 13 - 50 + 3 + 12 + 10 TRUE 0 - TRUE + + + kilograms + add_to_mash - Weyermann - Pilsner Malt + 2.26796185 + + Weyermann - Smoked Malt 1 Grain + 81 + 2.8 + Germany + + + 1 + 5 + 120 + 11.5 + 100 + TRUE + 0 + + + kilograms + add_to_mash + + 2.494758035 + + Weyermann - Pilsner Malt + 1 + Grain 81 2.4 - FALSE Germany @@ -15495,7 +16608,10 @@ Toler�ncia ao etanol: Alta (12% ABV) 100 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -15503,12 +16619,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP830 - German Lager Yeast 1 Lager
Liquid
- 0.035 - FALSE White Labs 830 10 @@ -15517,9 +16633,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 76 This yeast is one of the most widely used lager yeasts in the world. Very malty and clean, great for all German lagers, Pilsner, Oktoberfest, and Marzen. - 0 10 + 76 + 76 + 76 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -15538,9 +16661,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 67.7777777777778 60 0 - 0 - 75.10582951058 - 0 + + 75.10582951058 + 14.6388971314815 Final Batch Sparge @@ -15551,8 +16674,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 82.3341589431591 - 82.3341589431591 - 0 + + 82.3341589431591 + 17.0029604406485 @@ -15572,15 +16696,13 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.0508594977213723 - 1.0122062794531295 - 1 + 1.0508983801250444 + 1.0122156112300107 + 2 30 10 30 4.44444444444444 - 0 - 20 0 20 2012-12-24 @@ -15590,6 +16712,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 27.302765768389307
Bt: Robust Porter @@ -15619,6 +16742,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Roasty aroma (often with a lightly burnt, black malt character) should be noticeable and may be moderately strong. Optionally may also show some additional malt character in support (grainy, bready, toffee-like, caramelly, chocolate, coffee, rich, and/or sweet). Hop aroma low to high (US or UK varieties). Some American versions may be dry-hopped. Fruity esters are moderate to none. Diacetyl low to none.Medium brown to very dark brown, often with ruby- or garnet-like highlights. Can approach black in color. Clarity may be difficult to discern in such a dark beer, but when not opaque will be clear (particularly when held up to the light). Full, tan-colored head with moderately good head retention.Moderately strong malt flavor usually features a lightly burnt, black malt character (and sometimes chocolate and/or coffee flavors) with a bit of roasty dryness in the finish. Overall flavor may finish from dry to medium-sweet, depending on grist composition, hop bittering level, and attenuation. May have a sharp character from dark roasted grains, although should not be overly acrid, burnt or harsh. Medium to high bitterness, which can be accentuated by the roasted malt. Hop flavor can vary from low to moderately high (US or UK varieties, typically), and balances the roasted malt flavors. Diacetyl low to none. Fruity esters moderate to none.Medium to medium-full body. Moderately low to moderately high carbonation. Stronger versions may have a slight alcohol warmth. May have a slight astringency from roasted grains, although this character should not be strong.A substantial, malty dark ale with a complex and flavorful roasty character. Stronger, hoppier and/or roastier version of porter designed as either a historical throwback or an American interpretation of the style. Traditional versions will have a more subtle hop character (often English), while modern versions may be considerably more aggressive. Both types are equally valid. May contain several malts, prominently dark roasted malts and grains, which often include black patent malt (chocolate malt and/or roasted barley may also be used in some versions). Hops are used for bittering, flavor and/or aroma, and are frequently UK or US varieties. Water with moderate to high carbonate hardness is typical. Ale yeast can either be clean US versions or characterful English varieties. Great Lakes Edmund Fitzgerald Porter, Meantime London Porter, Anchor Porter, Smuttynose Robust Porter, Sierra Nevada Porter, Deschutes Black Butte Porter, Boulevard Bully! Porter, Rogue Mocha Porter, Avery New World Porter, Bell's Porter, Great Divide Saint Bridget's Porter + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -15640,6 +16767,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -15649,12 +16798,37 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Kent Goldings + 0.021262142325 + + Boil + Fuggles 1 - 5.5 + 4.5 + Mild and pleasant, spicy, soft, woody. + Both +
Pellet
+ 2.5 + 70 + England + Willamette, East Kent Goldings, Styrian Goldings, Tettnang + 34.5 + 11.5 + 27.5 + 26 + + + + kilograms + add_to_boil + 2 +
+ 0.0566990462 - Boil + Boil + Kent Goldings + 1 + 5.5 Gentle, fragrant and slightly spicy. Both
Pellet
@@ -15666,14 +16840,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.021262142325 + + Boil Kent Goldings 1 5.5 - 0.021262142325 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -15685,127 +16865,130 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 -
- - Fuggles - 1 - 4.5 - 0.021262142325 - Boil - - Mild and pleasant, spicy, soft, woody. - Both -
Pellet
- 2.5 - 70 - England - Willamette, East Kent Goldings, Styrian Goldings, Tettnang - 34.5 - 11.5 - 27.5 - 26 + + + + kilograms + add_to_boil + 2
+ 0.3401942772 + Simpsons - Chocolate Malt 1 Grain - 0.3401942772 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.226796185 + Simpsons - Black Malt 1 Grain - 0.226796185 70 550 - FALSE UK 1 3 - 0 12 10 TRUE 0 - TRUE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 40L + 4.762719885 + + Briess - 2 Row Brewers Malt 1 Grain - 0.45359237 - 74 - 40 - FALSE + 80.5 + 1.8 US - - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. - 0 - 0 - 0 - 0 - 20 - FALSE + Briess + DP 140. Base malt for all beer styles. +Contributes light straw color. +Slightly higher yield than 6-Row Malt. +Slightly lower protein than 6-Row Malt. +Malted in small batches, making it an excellent fit for small batch craft brewing. + 1 + 4.2 + 140 + 11.5 + 100 + TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.680388555 + Briess - Munich Malt 10L 1 Grain - 0.680388555 - 76 + 77 10 - FALSE US - - + Briess + DP 40. Golden leaning toward orange hues. 1 3.3 - 30 - 13 + 40 + 12 50 TRUE 0 - TRUE + + + kilograms + add_to_mash - Briess - 2 Row Brewers Malt + 0.45359237 + + Caramel/Crystal Malt - 40L 1 Grain - 4.762719885 - 80.5 - 2 - FALSE + 74 + 40 US - - 1 - 4 - 140 - 12 - 100 - TRUE + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 + 0 + 0 + 20 + FALSE 0 - TRUE + + + kilograms + add_to_mash @@ -15813,12 +16996,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -15827,9 +17010,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -15848,9 +17038,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 67.2222222222222 60 0 - 0 - 74.4650640511547 - 0 + + 74.4650640511547 + 16.8569118498426 Final Batch Sparge @@ -15861,8 +17051,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 84.3882586469109 - 84.3882586469109 - 0 + + 84.3882586469109 + 15.7077227004944 @@ -15882,15 +17073,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.05828870802377 - 1.01457217700594 + 1.0582758539416621 + 1.0145689634854156 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -15900,6 +17087,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 37.26402727506294
Bt: Robust Porter - Extract @@ -15929,6 +17117,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Roasty aroma (often with a lightly burnt, black malt character) should be noticeable and may be moderately strong. Optionally may also show some additional malt character in support (grainy, bready, toffee-like, caramelly, chocolate, coffee, rich, and/or sweet). Hop aroma low to high (US or UK varieties). Some American versions may be dry-hopped. Fruity esters are moderate to none. Diacetyl low to none.Medium brown to very dark brown, often with ruby- or garnet-like highlights. Can approach black in color. Clarity may be difficult to discern in such a dark beer, but when not opaque will be clear (particularly when held up to the light). Full, tan-colored head with moderately good head retention.Moderately strong malt flavor usually features a lightly burnt, black malt character (and sometimes chocolate and/or coffee flavors) with a bit of roasty dryness in the finish. Overall flavor may finish from dry to medium-sweet, depending on grist composition, hop bittering level, and attenuation. May have a sharp character from dark roasted grains, although should not be overly acrid, burnt or harsh. Medium to high bitterness, which can be accentuated by the roasted malt. Hop flavor can vary from low to moderately high (US or UK varieties, typically), and balances the roasted malt flavors. Diacetyl low to none. Fruity esters moderate to none.Medium to medium-full body. Moderately low to moderately high carbonation. Stronger versions may have a slight alcohol warmth. May have a slight astringency from roasted grains, although this character should not be strong.A substantial, malty dark ale with a complex and flavorful roasty character. Stronger, hoppier and/or roastier version of porter designed as either a historical throwback or an American interpretation of the style. Traditional versions will have a more subtle hop character (often English), while modern versions may be considerably more aggressive. Both types are equally valid. May contain several malts, prominently dark roasted malts and grains, which often include black patent malt (chocolate malt and/or roasted barley may also be used in some versions). Hops are used for bittering, flavor and/or aroma, and are frequently UK or US varieties. Water with moderate to high carbonate hardness is typical. Ale yeast can either be clean US versions or characterful English varieties. Great Lakes Edmund Fitzgerald Porter, Meantime London Porter, Anchor Porter, Smuttynose Robust Porter, Sierra Nevada Porter, Deschutes Black Butte Porter, Boulevard Bully! Porter, Rogue Mocha Porter, Avery New World Porter, Bell's Porter, Great Divide Saint Bridget's Porter + + + + 5.5 gal - Extract - Ideal @@ -15950,6 +17142,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -15959,31 +17173,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 - Fuggles - 1 - 4.5 - 0.021262142325 - Boil - - Mild and pleasant, spicy, soft, woody. - Both -
Pellet
- 2.5 - 70 - England - Willamette, East Kent Goldings, Styrian Goldings, Tettnang - 34.5 - 11.5 - 27.5 - 26 -
- + 0.0566990462 + + Aroma Kent Goldings 1 5.5 - 0.021262142325 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -15995,14 +17190,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
+ 0.021262142325 + + Aroma Kent Goldings 1 5.5 - 0.0566990462 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -16014,108 +17215,149 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2 +
+ + 0.021262142325 + + Aroma + Fuggles + 1 + 4.5 + Mild and pleasant, spicy, soft, woody. + Both +
Pellet
+ 2.5 + 70 + England + Willamette, East Kent Goldings, Styrian Goldings, Tettnang + 34.5 + 11.5 + 27.5 + 26 + + + + kilograms + add_to_boil + 2
- Briess DME - Golden Light - 1 - Dry Extract - 2.6081561275 - 95 - 4 - FALSE - US - - - 0 - 0 - 0 - 0 - 100 - FALSE - 0 - FALSE - - - Briess LME - Munich - 1 - Extract - 0.45359237 - 78 - 8 - FALSE - US - - - 0 - 0 - 0 - 0 - 100 - FALSE - 0 - FALSE - - + 0.226796185 + Simpsons - Black Malt 1 Grain - 0.226796185 70 550 - FALSE UK 1 3 - 0 12 10 TRUE 0 - FALSE + + + kilograms + add_to_mash - Simpsons - Chocolate Malt + 0.45359237 + + Caramel/Crystal Malt - 40L 1 Grain + 74 + 40 + US + + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 + 0 + 0 + 20 + FALSE + 0 + + + kilograms + add_to_mash + + 0.3401942775 + + Simpsons - Chocolate Malt + 1 + Grain 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - FALSE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 40L + 2.6081561275 + + Briess DME - Golden Light 1 - Grain + Dry Extract + 95 + 4 + US + + + 0 + 0 + 0 + 100 + FALSE + 0 + + + kilograms + add_to_mash + + 0.45359237 - 74 - 40 - FALSE + + Briess LME - Munich + 1 + Extract + 78 + 8 US - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -16123,12 +17365,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP001 - California Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 001 20 @@ -16137,9 +17379,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 75 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. - 0 10 + 75 + 75 + 75 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -16169,15 +17418,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.05803874830936 - 1.01450968707734 + 1.0618160911922818 + 1.0154540227980704 1 21 19.4444444444444 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -16187,6 +17432,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 39.37861936087622
Bt: Saison @@ -16215,7 +17461,11 @@ Toler�ncia ao etanol: Alta (12% ABV) Varying strength examples exist (table beers of about 5% strength, typical export beers of about 6.5%, and stronger versions of 8%+). Strong versions (6.5%-9.5%) and darker versions (copper to dark brown/black) should be entered as Belgian Specialty Ales (16E). Sweetness decreases and spice, hop and sour character increases with strength. Herb and spice additions often reflect the indigenous varieties available at the brewery. High carbonation and extreme attenuation (85-95%) helps bring out the many flavors and to increase the perception of a dry finish. All of these beers share somewhat higher levels of acidity than other Belgian styles while the optional sour flavor is often a variable house character of a particular brewery. High fruitiness with low to moderate hop aroma and moderate to no herb, spice and alcohol aroma. Fruity esters dominate the aroma and are often reminiscent of citrus fruits such as oranges or lemons. A low to medium-high spicy or floral hop aroma is usually present. A moderate spice aroma (from actual spice additions and/or yeast-derived phenols) complements the other aromatics. When phenolics are present they tend to be peppery rather than clove-like. A low to moderate sourness or acidity may be present, but should not overwhelm other characteristics. Spice, hop and sour aromatics typically increase with the strength of the beer. Alcohols are soft, spicy and low in intensity, and should not be hot or solventy. The malt character is light. No diacetyl.Often a distinctive pale orange but may be golden or amber in color. There is no correlation between strength and color. Long-lasting, dense, rocky white to ivory head resulting in characteristic "Belgian lace" on the glass as it fades. Clarity is poor to good though haze is not unexpected in this type of unfiltered farmhouse beer. Effervescent.Combination of fruity and spicy flavors supported by a soft malt character, a low to moderate alcohol presence and tart sourness. Extremely high attenuation gives a characteristic dry finish. The fruitiness is frequently citrusy (orange- or lemon-like). The addition of one of more spices serve to add complexity, but shouldn't dominate in the balance. Low peppery yeast-derived phenols may be present instead of or in addition to spice additions; phenols tend to be lower than in many other Belgian beers, and complement the bitterness. Hop flavor is low to moderate, and is generally spicy or earthy in character. Hop bitterness may be moderate to high, but should not overwhelm fruity esters, spices, and malt. Malt character is light but provides a sufficient background for the other flavors. A low to moderate tart sourness may be present, but should not overwhelm other flavors. Spices, hop bitterness and flavor, and sourness commonly increase with the strength of the beer while sweetness decreases. No hot alcohol or solventy character. High carbonation, moderately sulfate water, and high attenuation give a very dry finish with a long, bitter, sometimes spicy aftertaste. The perceived bitterness is often higher than the IBU level would suggest. No diacetyl.Light to medium body. Alcohol level can be medium to medium-high, though the warming character is low to medium. No hot alcohol or solventy character. Very high carbonation with an effervescent quality. There is enough prickly acidity on the tongue to balance the very dry finish. A low to moderate tart character may be present but should be refreshing and not to the point of puckering.A refreshing, medium to strong fruity/spicy ale with a distinctive yellow-orange color, highly carbonated, well hopped, and dry with a quenching acidity. A seasonal summer style produced in Wallonia, the French-speaking part of Belgium. Originally brewed at the end of the cool season to last through the warmer months before refrigeration was common. It had to be sturdy enough to last for months but not too strong to be quenching and refreshing in the summer. It is now brewed year-round in tiny, artisanal breweries whose buildings reflect their origins as farmhouses. Pilsner malt dominates the grist though a portion of Vienna and/or Munich malt contributes color and complexity. Sometimes contains other grains such as wheat and spelt. Adjuncts such as sugar and honey can also serve to add complexity and thin the body. Hop bitterness and flavor may be more noticeable than in many other Belgian styles. A saison is sometimes dry-hopped. Noble hops, Styrian or East Kent Goldings are commonly used. A wide variety of herbs and spices are often used to add complexity and uniqueness in the stronger versions, but should always meld well with the yeast and hop character. Varying degrees of acidity and/or sourness can be created by the use of gypsum, acidulated malt, a sour mash or Lactobacillus. Hard water, common to most of Wallonia, can accentuate the bitterness and dry finish. - Saison Dupont Vieille Provision; Fant�me Saison D?Erez�e - Printemps; Saison de Pipaix; Saison Regal; Saison Voisin; Lefebvre Saison 1900; Ellezelloise Saison 2000; Saison Silly; Southampton Saison; New Belgium Saison; Pizza Port SPF 45; Lost Abbey Red Barn Ale; Ommegang Hennepin + Saison Dupont Vieille Provision; Fantôme Saison D?Erezée - Printemps; Saison de Pipaix; Saison Regal; Saison Voisin; Lefebvre Saison 1900; Ellezelloise Saison 2000; Saison Silly; Southampton Saison; New Belgium Saison; Pizza Port SPF 45; Lost Abbey Red Barn Ale; Ommegang Hennepin + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -16237,6 +17487,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -16246,12 +17518,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.021262142325 + + Boil Hallertau 1 4.5 - 0.021262142325 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -16263,14 +17535,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
+ 0.0566990462 + + Boil Hallertau 1 4.5 - 0.0566990462 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -16282,57 +17560,46 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Caramunich Malt - 1 - Grain - 0.0566990462 - 71.7 - 56 - FALSE - Belgium - - Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. - 0 - 0 - 0 - 0 - 10 - FALSE - 0 - TRUE - - - Briess - Munich Malt 10L + 5.216312255 + + Weyermann - Pilsner Malt 1 Grain - 0.3401942772 - 76 - 10 - FALSE - US + 81 + 2.4 + Germany 1 - 3.3 - 30 - 13 - 50 + 5 + 120 + 11 + 100 TRUE 0 - TRUE + + + kilograms + add_to_mash + 0.3401942772 + Weyermann - Pale Wheat Malt 1 Grain - 0.3401942772 85 2.4 - FALSE Germany @@ -16343,27 +17610,55 @@ Toler�ncia ao etanol: Alta (12% ABV) 80 TRUE 0 - TRUE + + + kilograms + add_to_mash - Weyermann - Pilsner Malt + 0.0566990462 + + Caramunich Malt 1 Grain - 5.216312255 - 81 - 2.4 - FALSE - Germany + 71.7 + 56 + Belgium - + Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. + 0 + 0 + 0 + 10 + FALSE + 0 + + + kilograms + add_to_mash + + + 0.3401942772 + + Briess - Munich Malt 10L + 1 + Grain + 77 + 10 + US + Briess + DP 40. Golden leaning toward orange hues. 1 - 5 - 120 - 11 - 100 + 3.3 + 40 + 12 + 50 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -16371,12 +17666,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP565 - Belgian Saison I Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 565 20 @@ -16385,9 +17680,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 Classic Saison yeast from Wallonia. It produces earthy, peppery, and spicy notes. Slightly sweet. With high gravity Saisons, brewers may wish to dry the beer with an alternate yeast added after 75% fermentation. - 0 10 + 70 + 70 + 70 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -16406,9 +17708,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 63.8888888888889 60 0 - 0 - 70.6204712946025 - 0 + + 70.6204712946025 + 15.5261030186173 Final Batch Sparge @@ -16419,8 +17721,9 @@ Toler�ncia ao etanol: Alta (12% ABV) 15 0 83.1170644231476 - 83.1170644231476 - 0 + + 83.1170644231476 + 16.4848653447087 @@ -16440,15 +17743,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.054336713079 - 1.0163010139237 + 1.0543755769452876 + 1.0163126730835863 1 14 26.6666666666667 - 0 - 20 - 0 - 20 0 20 2012-12-24 @@ -16458,6 +17757,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 27.404271798863057
Bt: Saison - Extract @@ -16486,7 +17786,11 @@ Toler�ncia ao etanol: Alta (12% ABV) Varying strength examples exist (table beers of about 5% strength, typical export beers of about 6.5%, and stronger versions of 8%+). Strong versions (6.5%-9.5%) and darker versions (copper to dark brown/black) should be entered as Belgian Specialty Ales (16E). Sweetness decreases and spice, hop and sour character increases with strength. Herb and spice additions often reflect the indigenous varieties available at the brewery. High carbonation and extreme attenuation (85-95%) helps bring out the many flavors and to increase the perception of a dry finish. All of these beers share somewhat higher levels of acidity than other Belgian styles while the optional sour flavor is often a variable house character of a particular brewery. High fruitiness with low to moderate hop aroma and moderate to no herb, spice and alcohol aroma. Fruity esters dominate the aroma and are often reminiscent of citrus fruits such as oranges or lemons. A low to medium-high spicy or floral hop aroma is usually present. A moderate spice aroma (from actual spice additions and/or yeast-derived phenols) complements the other aromatics. When phenolics are present they tend to be peppery rather than clove-like. A low to moderate sourness or acidity may be present, but should not overwhelm other characteristics. Spice, hop and sour aromatics typically increase with the strength of the beer. Alcohols are soft, spicy and low in intensity, and should not be hot or solventy. The malt character is light. No diacetyl.Often a distinctive pale orange but may be golden or amber in color. There is no correlation between strength and color. Long-lasting, dense, rocky white to ivory head resulting in characteristic "Belgian lace" on the glass as it fades. Clarity is poor to good though haze is not unexpected in this type of unfiltered farmhouse beer. Effervescent.Combination of fruity and spicy flavors supported by a soft malt character, a low to moderate alcohol presence and tart sourness. Extremely high attenuation gives a characteristic dry finish. The fruitiness is frequently citrusy (orange- or lemon-like). The addition of one of more spices serve to add complexity, but shouldn't dominate in the balance. Low peppery yeast-derived phenols may be present instead of or in addition to spice additions; phenols tend to be lower than in many other Belgian beers, and complement the bitterness. Hop flavor is low to moderate, and is generally spicy or earthy in character. Hop bitterness may be moderate to high, but should not overwhelm fruity esters, spices, and malt. Malt character is light but provides a sufficient background for the other flavors. A low to moderate tart sourness may be present, but should not overwhelm other flavors. Spices, hop bitterness and flavor, and sourness commonly increase with the strength of the beer while sweetness decreases. No hot alcohol or solventy character. High carbonation, moderately sulfate water, and high attenuation give a very dry finish with a long, bitter, sometimes spicy aftertaste. The perceived bitterness is often higher than the IBU level would suggest. No diacetyl.Light to medium body. Alcohol level can be medium to medium-high, though the warming character is low to medium. No hot alcohol or solventy character. Very high carbonation with an effervescent quality. There is enough prickly acidity on the tongue to balance the very dry finish. A low to moderate tart character may be present but should be refreshing and not to the point of puckering.A refreshing, medium to strong fruity/spicy ale with a distinctive yellow-orange color, highly carbonated, well hopped, and dry with a quenching acidity. A seasonal summer style produced in Wallonia, the French-speaking part of Belgium. Originally brewed at the end of the cool season to last through the warmer months before refrigeration was common. It had to be sturdy enough to last for months but not too strong to be quenching and refreshing in the summer. It is now brewed year-round in tiny, artisanal breweries whose buildings reflect their origins as farmhouses. Pilsner malt dominates the grist though a portion of Vienna and/or Munich malt contributes color and complexity. Sometimes contains other grains such as wheat and spelt. Adjuncts such as sugar and honey can also serve to add complexity and thin the body. Hop bitterness and flavor may be more noticeable than in many other Belgian styles. A saison is sometimes dry-hopped. Noble hops, Styrian or East Kent Goldings are commonly used. A wide variety of herbs and spices are often used to add complexity and uniqueness in the stronger versions, but should always meld well with the yeast and hop character. Varying degrees of acidity and/or sourness can be created by the use of gypsum, acidulated malt, a sour mash or Lactobacillus. Hard water, common to most of Wallonia, can accentuate the bitterness and dry finish. - Saison Dupont Vieille Provision; Fant�me Saison D?Erez�e - Printemps; Saison de Pipaix; Saison Regal; Saison Voisin; Lefebvre Saison 1900; Ellezelloise Saison 2000; Saison Silly; Southampton Saison; New Belgium Saison; Pizza Port SPF 45; Lost Abbey Red Barn Ale; Ommegang Hennepin + Saison Dupont Vieille Provision; Fantôme Saison D?Erezée - Printemps; Saison de Pipaix; Saison Regal; Saison Voisin; Lefebvre Saison 1900; Ellezelloise Saison 2000; Saison Silly; Southampton Saison; New Belgium Saison; Pizza Port SPF 45; Lost Abbey Red Barn Ale; Ommegang Hennepin + + + + 5.5 gal - Extract - Ideal @@ -16508,6 +17812,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -16517,12 +17843,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.021262142325 + + Aroma Hallertau 1 4.5 - 0.021262142325 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -16534,14 +17860,20 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
+ 0.0566990462 + + Aroma Hallertau 1 4.5 - 0.0566990462 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -16553,108 +17885,124 @@ Toler�ncia ao etanol: Alta (12% ABV) 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Briess DME - Pilsen Light + 0.226796185 + + Briess LME - Munich 1 - Dry Extract - 2.494758035 - 95 - 2 - FALSE + Extract + 78 + 8 US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Caramunich Malt + 0.45359237 + + Sugar, Table (Sucrose) 1 - Grain - 0.0566990462 - 71.7 - 56 - FALSE - Belgium + Sugar + 100 + 1 + US - Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. + 0 0 - 0 0 10 FALSE 0 - FALSE + + + kilograms + add_to_mash - Briess LME - Munich + 2.494758035 + + Briess DME - Pilsen Light 1 - Extract - 0.226796185 - 78 - 8 - FALSE + Dry Extract + 95 + 2 US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.226796185 + Briess DME - Bavarian Wheat 1 Dry Extract - 0.226796185 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash - Sugar, Table (Sucrose) + 0.0566990462 + + Caramunich Malt 1 - Sugar - 0.45359237 - 100 - 1 - FALSE - US + Grain + 71.7 + 56 + Belgium - + Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. 0 0 - 0 0 10 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -16662,12 +18010,12 @@ Toler�ncia ao etanol: Alta (12% ABV) + 0.035 + FALSE WLP565 - Belgian Saison I Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 565 20 @@ -16676,9 +18024,16 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 Classic Saison yeast from Wallonia. It produces earthy, peppery, and spicy notes. Slightly sweet. With high gravity Saisons, brewers may wish to dry the beer with an alternate yeast added after 75% fermentation. - 0 10 + 70 + 70 + 70 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -16708,15 +18063,11 @@ Toler�ncia ao etanol: Alta (12% ABV) 0 - 1.05975948231099 - 1.0179278446933 + 1.0599689017874119 + 1.0179906705362236 1 14 26.6666666666667 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -16726,6 +18077,7 @@ Toler�ncia ao etanol: Alta (12% ABV) 20 1 1 + 28.42991603174364
Bt: Scottish 70 Shilling @@ -16755,6 +18107,10 @@ Toler�ncia ao etanol: Alta (12% ABV) Low to medium malty sweetness, sometimes accentuated by low to moderate kettle caramelization. Some examples have a low hop aroma, light fruitiness, low diacetyl, and/or a low to moderate peaty aroma (all are optional). The peaty aroma is sometimes perceived as earthy, smoky or very lightly roasted.Deep amber to dark copper. Usually very clear due to long, cool fermentations. Low to moderate, creamy off-white to light tan-colored head.Malt is the primary flavor, but isn't overly strong. The initial malty sweetness is usually accentuated by a low to moderate kettle caramelization, and is sometimes accompanied by a low diacetyl component. Fruity esters may be moderate to none. Hop bitterness is low to moderate, but the balance will always be towards the malt (although not always by much). Hop flavor is low to none. A low to moderate peaty character is optional, and may be perceived as earthy or smoky. Generally has a grainy, dry finish due to small amounts of unmalted roasted barley.Medium-low to medium body. Low to moderate carbonation. Sometimes a bit creamy, but often quite dry due to use of roasted barley.Cleanly malty with a drying finish, perhaps a few esters, and on occasion a faint bit of peaty earthiness (smoke). Most beers finish fairly dry considering their relatively sweet palate, and as such have a different balance than strong Scotch ales. Traditional Scottish session beers reflecting the indigenous ingredients (water, malt), with less hops than their English counterparts (due to the need to import them). Long, cool fermentations are traditionally used in Scottish brewing. Scottish or English pale base malt. Small amounts of roasted barley add color and flavor, and lend a dry, slightly roasty finish. English hops. Clean, relatively un-attenuative ale yeast. Some commercial brewers add small amounts of crystal, amber, or wheat malts, and adjuncts such as sugar. The optional peaty, earthy and/or smoky character comes from the traditional yeast and from the local malt and water rather than using smoked malts. Caledonian 70/- (Caledonian Amber Ale in the US), Belhaven 70/-, Orkney Raven Ale, Maclay 70/-, Tennents Special, Broughton Greenmantle Ale + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -16776,6 +18132,28 @@ Toler�ncia ao etanol: Alta (12% ABV) 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -16785,12 +18163,12 @@ Toler�ncia ao etanol: Alta (12% ABV) 70 + 0.021262142325 + + Boil Kent Goldings 1 5.5 - 0.021262142325 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -16802,118 +18180,112 @@ Toler�ncia ao etanol: Alta (12% ABV) 14 30 25 + + + + kilograms + add_to_boil + 2
- Simpsons - Chocolate Malt + 0.45359237 + + Caramel/Crystal Malt - 40L 1 Grain - 0.0566990462 - 73 - 400 - FALSE - UK + 74 + 40 + US - - 1 - 1.9 - 0 - 12 + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 + 0 + 0 20 - TRUE - 0 - TRUE - - - Honey Malt - 1 - Grain - 0.226796185 - 80 - 25 - FALSE - Canada - - This Canadian malt imparts a honey-like flavor. It also also sometimes called Brumalt. -Intensely sweet - adds a sweet malty flavor sometimes associated with honey. - 2 - 3.8 - 0 - 10.5 - 10 - TRUE + FALSE 0 - TRUE + + + kilograms + add_to_mash + 0.1133980925 + Caramel/Crystal Malt - 120L 1 Grain - 0.1133980925 72 120 - FALSE US Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. 0 0 - 0 0 20 FALSE 0 - TRUE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 40L + 0.0566990462 + + Simpsons - Chocolate Malt 1 Grain - 0.45359237 - 74 - 40 - FALSE - US + 73 + 400 + UK - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. - 0 - 0 - 0 - 0 + + 1 + 1.9 + 12 20 - FALSE + TRUE 0 - TRUE + + + kilograms + add_to_mash - Briess - Munich Malt 10L + 0.226796185 + + Honey Malt 1 Grain - 0.226796185 - 76 - 10 - FALSE - US + 80 + 25 + Canada - - 1 - 3.3 - 30 - 13 - 50 + This Canadian malt imparts a honey-like flavor. It also also sometimes called Brumalt. +Intensely sweet - adds a sweet malty flavor sometimes associated with honey. + 2 + 3.8 + 10.5 + 10 TRUE 0 - TRUE + + + kilograms + add_to_mash + 2.72155422 + Simpsons - Maris Otter 1 Grain - 2.72155422 81 3 - FALSE UK @@ -16924,7 +18296,33 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 100 TRUE 0 - TRUE + + + kilograms + add_to_mash + + + 0.226796185 + + Briess - Munich Malt 10L + 1 + Grain + 77 + 10 + US + Briess + DP 40. Golden leaning toward orange hues. + 1 + 3.3 + 40 + 12 + 50 + TRUE + 0 + + + kilograms + add_to_mash @@ -16932,12 +18330,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. + 0.035 + FALSE WLP028 - Edinburgh Scottish Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 028 18 @@ -16946,9 +18344,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 72 Scotland is famous for its malty, strong ales. This yeast can reproduce complex, flavorful Scottish style ales. This yeast can be an everyday strain, similar to WLP001. Hop character is not muted with this strain, as it is with WLP002. - 0 10 + 72 + 72 + 72 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -16967,9 +18372,9 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 70 60 0 - 0 - 83.8497888529477 - 0 + + 83.8497888529477 + 9.9071324033071 Final Batch Sparge @@ -16980,8 +18385,9 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 15 0 79.9051256770247 - 79.9051256770247 - 0 + + 79.9051256770247 + 19.7661342837824 @@ -17001,15 +18407,11 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 0 - 1.03491309571406 - 1.00977566679994 + 1.0349390777896916 + 1.0097829417811137 1 21 18.3333333333333 - 0 - 20 - 0 - 20 0 20 2012-12-23 @@ -17019,6 +18421,7 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 20 1 1 + 14.957606885097885
Bt: Scottish 70 Shilling - Extract @@ -17048,6 +18451,10 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. Low to medium malty sweetness, sometimes accentuated by low to moderate kettle caramelization. Some examples have a low hop aroma, light fruitiness, low diacetyl, and/or a low to moderate peaty aroma (all are optional). The peaty aroma is sometimes perceived as earthy, smoky or very lightly roasted.Deep amber to dark copper. Usually very clear due to long, cool fermentations. Low to moderate, creamy off-white to light tan-colored head.Malt is the primary flavor, but isn't overly strong. The initial malty sweetness is usually accentuated by a low to moderate kettle caramelization, and is sometimes accompanied by a low diacetyl component. Fruity esters may be moderate to none. Hop bitterness is low to moderate, but the balance will always be towards the malt (although not always by much). Hop flavor is low to none. A low to moderate peaty character is optional, and may be perceived as earthy or smoky. Generally has a grainy, dry finish due to small amounts of unmalted roasted barley.Medium-low to medium body. Low to moderate carbonation. Sometimes a bit creamy, but often quite dry due to use of roasted barley.Cleanly malty with a drying finish, perhaps a few esters, and on occasion a faint bit of peaty earthiness (smoke). Most beers finish fairly dry considering their relatively sweet palate, and as such have a different balance than strong Scotch ales. Traditional Scottish session beers reflecting the indigenous ingredients (water, malt), with less hops than their English counterparts (due to the need to import them). Long, cool fermentations are traditionally used in Scottish brewing. Scottish or English pale base malt. Small amounts of roasted barley add color and flavor, and lend a dry, slightly roasty finish. English hops. Clean, relatively un-attenuative ale yeast. Some commercial brewers add small amounts of crystal, amber, or wheat malts, and adjuncts such as sugar. The optional peaty, earthy and/or smoky character comes from the traditional yeast and from the local malt and water rather than using smoked malts. Caledonian 70/- (Caledonian Amber Ale in the US), Belhaven 70/-, Orkney Raven Ale, Maclay 70/-, Tennents Special, Broughton Greenmantle Ale + + + + 5.5 gal - Extract - Ideal @@ -17069,6 +18476,28 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -17078,12 +18507,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 70 + 0.021262142325 + + Aroma Kent Goldings 1 5.5 - 0.021262142325 - Boil - Gentle, fragrant and slightly spicy. Both
Pellet
@@ -17095,129 +18524,147 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 14 30 25 + + + + kilograms + add_to_boil + 2
- Honey Malt + 0.45359237 + + Caramel/Crystal Malt - 40L 1 Grain + 74 + 40 + US + + This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 + 0 + 0 + 20 + FALSE + 0 + + + kilograms + add_to_mash + + 0.226796185 + + Honey Malt + 1 + Grain 80 25 - FALSE Canada This Canadian malt imparts a honey-like flavor. It also also sometimes called Brumalt. Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 2 3.8 - 0 10.5 10 TRUE 0 - FALSE + + + kilograms + add_to_mash + 0.0850485693 + Simpsons - Chocolate Malt 1 Grain - 0.0850485693 73 400 - FALSE UK 1 1.9 - 0 12 20 TRUE 0 - FALSE + + + kilograms + add_to_mash + 0.1133980924 + Caramel/Crystal Malt - 120L 1 Grain - 0.1133980924 72 120 - FALSE US Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. 0 0 - 0 0 20 FALSE 0 - FALSE + + + kilograms + add_to_mash - Caramel/Crystal Malt - 40L + 1.81436948 + + Muntons DME - Light 1 - Grain - 0.45359237 - 74 - 40 - FALSE + Dry Extract + 95 + 4 US - This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. + 0 0 - 0 0 - 20 + 100 FALSE 0 - FALSE + + + kilograms + add_to_mash + 0.0850485693 + Briess LME - Munich 1 Extract - 0.0850485693 78 8 - FALSE - US - - - 0 - 0 - 0 - 0 - 100 - FALSE - 0 - FALSE - - - Muntons DME - Light - 1 - Dry Extract - 1.81436948 - 95 - 4 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -17225,12 +18672,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. + 0.035 + FALSE WLP028 - Edinburgh Scottish Ale Yeast 1 Ale
Liquid
- 0.035 - FALSE White Labs 028 18 @@ -17239,9 +18686,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 72 Scotland is famous for its malty, strong ales. This yeast can reproduce complex, flavorful Scottish style ales. This yeast can be an everyday strain, similar to WLP001. Hop character is not muted with this strain, as it is with WLP002. - 0 10 + 72 + 72 + 72 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -17271,15 +18725,11 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 0 - 1.03822229824513 - 1.01070224350864 + 1.041594254336755 + 1.0116463912142915 1 21 18.3333333333333 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -17289,6 +18739,7 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 20 1 1 + 15.370037352203324
Bt: Weizen @@ -17317,7 +18768,11 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. These are refreshing, fast-maturing beers that are lightly hopped and show a unique banana-and-clove yeast character. These beers often don't age well and are best enjoyed while young and fresh. The version "mit hefe" is served with yeast sediment stirred in; the krystal version is filtered for excellent clarity. Bottles with yeast are traditionally swirled or gently rolled prior to serving. The character of a krystal weizen is generally fruitier and less phenolic than that of the hefe-weizen. Moderate to strong phenols (usually clove) and fruity esters (usually banana). The balance and intensity of the phenol and ester components can vary but the best examples are reasonably balanced and fairly prominent. Noble hop character ranges from low to none. A light to moderate wheat aroma (which might be perceived as bready or grainy) may be present but other malt characteristics should not. No diacetyl or DMS. Optional, but acceptable, aromatics can include a light, citrusy tartness, a light to moderate vanilla character, and/or a low bubblegum aroma. None of these optional characteristics should be high or dominant, but often can add to the complexity and balance.Pale straw to very dark gold in color. A very thick, moussy, long-lasting white head is characteristic. The high protein content of wheat impairs clarity in an unfiltered beer, although the level of haze is somewhat variable. A beer "mit hefe" is also cloudy from suspended yeast sediment (which should be roused before drinking). The filtered Krystal version has no yeast and is brilliantly clear.Low to moderately strong banana and clove flavor. The balance and intensity of the phenol and ester components can vary but the best examples are reasonably balanced and fairly prominent. Optionally, a very light to moderate vanilla character and/or low bubblegum notes can accentuate the banana flavor, sweetness and roundness; neither should be dominant if present. The soft, somewhat bready or grainy flavor of wheat is complementary, as is a slightly sweet Pils malt character. Hop flavor is very low to none, and hop bitterness is very low to moderately low. A tart, citrusy character from yeast and high carbonation is often present. Well rounded, flavorful palate with a relatively dry finish. No diacetyl or DMS.Medium-light to medium body; never heavy. Suspended yeast may increase the perception of body. The texture of wheat imparts the sensation of a fluffy, creamy fullness that may progress to a light, spritzy finish aided by high carbonation. Always effervescent.A pale, spicy, fruity, refreshing wheat-based ale. A traditional wheat-based ale originating in Southern Germany that is a specialty for summer consumption, but generally produced year-round. By German law, at least 50% of the grist must be malted wheat, although some versions use up to 70%; the remainder is Pilsner malt. A traditional decoction mash gives the appropriate body without cloying sweetness. Weizen ale yeasts produce the typical spicy and fruity character, although extreme fermentation temperatures can affect the balance and produce off-flavors. A small amount of noble hops are used only for bitterness. - Weihenstephaner Hefeweissbier, Schneider Weisse Weizenhell, Paulaner Hefe-Weizen, Hacker-Pschorr Weisse, Plank Bavarian Hefeweizen, Ayinger Br�u Weisse, Ettaler Weissbier Hell, Franziskaner Hefe-Weisse, Andechser Weissbier Hefetr�b, Kapuziner Weissbier, Erdinger Weissbier, Penn Weizen, Barrelhouse Hocking Hills HefeWeizen, Eisenbahn Weizenbier + Weihenstephaner Hefeweissbier, Schneider Weisse Weizenhell, Paulaner Hefe-Weizen, Hacker-Pschorr Weisse, Plank Bavarian Hefeweizen, Ayinger Bräu Weisse, Ettaler Weissbier Hell, Franziskaner Hefe-Weisse, Andechser Weissbier Hefetrüb, Kapuziner Weissbier, Erdinger Weissbier, Penn Weizen, Barrelhouse Hocking Hills HefeWeizen, Eisenbahn Weizenbier + + + + 5.5 gal - All Grain - 10 gal Igloo Cooler @@ -17339,6 +18794,28 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -17348,12 +18825,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 70 + 0.0283495231 + + Boil Hallertau 1 4.5 - 0.0283495231 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -17365,48 +18842,60 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
- Weyermann - Pale Wheat Malt + 2.3813599425 + + Weyermann - Pilsner Malt 1 Grain - 2.3813599425 - 85 + 81 2.4 - FALSE Germany 1 5 - 60 - 12 - 80 + 120 + 11 + 100 TRUE 0 - TRUE + + + kilograms + add_to_mash - Weyermann - Pilsner Malt + 2.3813599425 + + Weyermann - Pale Wheat Malt 1 Grain - 2.3813599425 - 81 + 85 2.4 - FALSE Germany 1 5 - 120 - 11 - 100 + 60 + 12 + 80 TRUE 0 - TRUE + + + kilograms + add_to_mash @@ -17414,12 +18903,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. + 0.035 + FALSE WLP300 - Hefeweizen Ale Yeast 1 Wheat
Liquid
- 0.035 - FALSE White Labs 300 20 @@ -17428,9 +18917,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 74 This famous German yeast is a strain used in the production of traditional, authentic wheat beers. It produces the banana and clove nose traditionally associated with German wheat beers and leaves the desired cloudy look of traditional German wheat beers. - 0 10 + 74 + 74 + 74 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -17449,9 +18945,9 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 66.6666666666667 0 0 - 0 - 73.8242985917293 - 0 + + 73.8242985917293 + 12.42088241625 Final Batch Sparge @@ -17462,8 +18958,9 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 15 0 80.5708580878186 - 80.5708580878186 - 0 + + 80.5708580878186 + 18.298198178975 @@ -17488,10 +18985,6 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 1 21 16.6666666666667 - 0 - 20 - 0 - 20 0 20 2012-12-24 @@ -17501,6 +18994,7 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 20 1 1 + 14.960886110474645
Bt: Weizen - Extract @@ -17529,7 +19023,11 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. These are refreshing, fast-maturing beers that are lightly hopped and show a unique banana-and-clove yeast character. These beers often don't age well and are best enjoyed while young and fresh. The version "mit hefe" is served with yeast sediment stirred in; the krystal version is filtered for excellent clarity. Bottles with yeast are traditionally swirled or gently rolled prior to serving. The character of a krystal weizen is generally fruitier and less phenolic than that of the hefe-weizen. Moderate to strong phenols (usually clove) and fruity esters (usually banana). The balance and intensity of the phenol and ester components can vary but the best examples are reasonably balanced and fairly prominent. Noble hop character ranges from low to none. A light to moderate wheat aroma (which might be perceived as bready or grainy) may be present but other malt characteristics should not. No diacetyl or DMS. Optional, but acceptable, aromatics can include a light, citrusy tartness, a light to moderate vanilla character, and/or a low bubblegum aroma. None of these optional characteristics should be high or dominant, but often can add to the complexity and balance.Pale straw to very dark gold in color. A very thick, moussy, long-lasting white head is characteristic. The high protein content of wheat impairs clarity in an unfiltered beer, although the level of haze is somewhat variable. A beer "mit hefe" is also cloudy from suspended yeast sediment (which should be roused before drinking). The filtered Krystal version has no yeast and is brilliantly clear.Low to moderately strong banana and clove flavor. The balance and intensity of the phenol and ester components can vary but the best examples are reasonably balanced and fairly prominent. Optionally, a very light to moderate vanilla character and/or low bubblegum notes can accentuate the banana flavor, sweetness and roundness; neither should be dominant if present. The soft, somewhat bready or grainy flavor of wheat is complementary, as is a slightly sweet Pils malt character. Hop flavor is very low to none, and hop bitterness is very low to moderately low. A tart, citrusy character from yeast and high carbonation is often present. Well rounded, flavorful palate with a relatively dry finish. No diacetyl or DMS.Medium-light to medium body; never heavy. Suspended yeast may increase the perception of body. The texture of wheat imparts the sensation of a fluffy, creamy fullness that may progress to a light, spritzy finish aided by high carbonation. Always effervescent.A pale, spicy, fruity, refreshing wheat-based ale. A traditional wheat-based ale originating in Southern Germany that is a specialty for summer consumption, but generally produced year-round. By German law, at least 50% of the grist must be malted wheat, although some versions use up to 70%; the remainder is Pilsner malt. A traditional decoction mash gives the appropriate body without cloying sweetness. Weizen ale yeasts produce the typical spicy and fruity character, although extreme fermentation temperatures can affect the balance and produce off-flavors. A small amount of noble hops are used only for bitterness. - Weihenstephaner Hefeweissbier, Schneider Weisse Weizenhell, Paulaner Hefe-Weizen, Hacker-Pschorr Weisse, Plank Bavarian Hefeweizen, Ayinger Br�u Weisse, Ettaler Weissbier Hell, Franziskaner Hefe-Weisse, Andechser Weissbier Hefetr�b, Kapuziner Weissbier, Erdinger Weissbier, Penn Weizen, Barrelhouse Hocking Hills HefeWeizen, Eisenbahn Weizenbier + Weihenstephaner Hefeweissbier, Schneider Weisse Weizenhell, Paulaner Hefe-Weizen, Hacker-Pschorr Weisse, Plank Bavarian Hefeweizen, Ayinger Bräu Weisse, Ettaler Weissbier Hell, Franziskaner Hefe-Weisse, Andechser Weissbier Hefetrüb, Kapuziner Weissbier, Erdinger Weissbier, Penn Weizen, Barrelhouse Hocking Hills HefeWeizen, Eisenbahn Weizenbier + + + + 5.5 gal - Extract - Ideal @@ -17551,6 +19049,28 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 2.839058838 1.085 100 + + + + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + Brewtarget: free beer software @@ -17560,12 +19080,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 70 + 0.0283495231 + + Aroma Hallertau 1 4.5 - 0.0283495231 - Boil - Mild, pleasant and slightly flowery. Aroma
Pellet
@@ -17577,28 +19097,36 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 14.5 24.5 16.5 + + + + kilograms + add_to_boil + 2
+ 2.72155422 + Briess DME - Bavarian Wheat 1 Dry Extract - 2.72155422 95 3 - FALSE US 0 0 - 0 0 100 FALSE 0 - FALSE + + + kilograms + add_to_mash @@ -17606,12 +19134,12 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. + 0.035 + FALSE WLP300 - Hefeweizen Ale Yeast 1 Wheat
Liquid
- 0.035 - FALSE White Labs 300 20 @@ -17620,9 +19148,16 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 74 This famous German yeast is a strain used in the production of traditional, authentic wheat beers. It produces the banana and clove nose traditionally associated with German wheat beers and leaves the desired cloudy look of traditional German wheat beers. - 0 10 + 74 + 74 + 74 + 0 FALSE + + liters + add_to_fermentation + 1
@@ -17657,10 +19192,6 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 1 21 16.6666666666667 - 0 - 20 - 0 - 20 0 20 2013-01-02 @@ -17670,5 +19201,6 @@ Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 20 1 1 + 15.852633403894725
diff --git a/src/utils/AutoCompare.h b/src/utils/AutoCompare.h index 9e55e6487..affb3819e 100644 --- a/src/utils/AutoCompare.h +++ b/src/utils/AutoCompare.h @@ -47,7 +47,7 @@ namespace Utils { inline bool AutoCompare(bool const lhs, bool const rhs) { return lhs == rhs; } // Amount already implements operator== using fuzzy comparison inline bool AutoCompare(Measurement::Amount const & lhs, Measurement::Amount const & rhs) { return lhs == rhs; } - template + template inline bool AutoCompare(Measurement::ConstrainedAmount const & lhs, Measurement::ConstrainedAmount const & rhs) { return lhs == rhs; } // QStrings should ignore trailling spaces etc when comparing From 8b068f1b15d28bf58a234514d4d8662248513fde Mon Sep 17 00:00:00 2001 From: Matt Young Date: Mon, 16 Dec 2024 08:55:10 +0100 Subject: [PATCH 4/7] Stop using default_db.sqlite --- src/database/Database.cpp | 51 ++++----- src/database/DatabaseSchemaHelper.cpp | 2 +- src/database/DbTransaction.cpp | 3 + src/database/ObjectStore.cpp | 4 + src/database/ObjectStore.h | 9 ++ src/database/ObjectStoreTyped.cpp | 143 ++++++++++++++------------ src/database/ObjectStoreTyped.h | 5 +- src/editors/NamedMashEditor.cpp | 5 +- src/utils/AutoCompare.h | 4 +- 9 files changed, 133 insertions(+), 93 deletions(-) diff --git a/src/database/Database.cpp b/src/database/Database.cpp index 35448ad95..a3749762e 100644 --- a/src/database/Database.cpp +++ b/src/database/Database.cpp @@ -250,12 +250,13 @@ class Database::impl { // Set file names. this->dbFileName = PersistentSettings::getUserDataDir().filePath("database.sqlite"); - this->dataDbFileName = Application::getResourceDir().filePath("default_db.sqlite"); - qInfo().noquote() << - Q_FUNC_INFO << "dbFileName = \"" << this->dbFileName << "\"\ndataDbFileName=\"" << this->dataDbFileName << "\""; +/// this->dataDbFileName = Application::getResourceDir().filePath("default_db.sqlite"); +/// qInfo().noquote() << +/// Q_FUNC_INFO << "dbFileName = \"" << this->dbFileName << "\"\ndataDbFileName=\"" << this->dataDbFileName << "\""; + qInfo().noquote() << Q_FUNC_INFO << "dbFileName =" << this->dbFileName; // Set the files. this->dbFile.setFileName(this->dbFileName); - this->dataDbFile.setFileName(this->dataDbFileName); +/// this->dataDbFile.setFileName(this->dataDbFileName); // If user restored the database from a backup, make the backup into the primary. { @@ -268,16 +269,16 @@ class Database::impl { } } - // If there's no dbFile, try to copy from dataDbFile. - if (!this->dbFile.exists()) { - userDatabaseDidNotExist = true; - - // Have to wait until db is open before creating from scratch. - if (this->dataDbFile.exists()) { - this->dataDbFile.copy(this->dbFileName); - QFile::setPermissions(this->dbFileName, QFile::ReadOwner | QFile::WriteOwner | QFile::ReadGroup); - } - } +/// // If there's no dbFile, try to copy from dataDbFile. +/// if (!this->dbFile.exists()) { +/// userDatabaseDidNotExist = true; +/// +/// // Have to wait until db is open before creating from scratch. +/// if (this->dataDbFile.exists()) { +/// this->dataDbFile.copy(this->dbFileName); +/// QFile::setPermissions(this->dbFileName, QFile::ReadOwner | QFile::WriteOwner | QFile::ReadGroup); +/// } +/// } // Open SQLite DB // It's a coding error if we didn't already establish that SQLite is the type of DB we're talking to, so assert @@ -595,8 +596,8 @@ class Database::impl { // These are for SQLite databases QFile dbFile; QString dbFileName; - QFile dataDbFile; - QString dataDbFileName; +/// QFile dataDbFile; +/// QString dataDbFileName; // And these are for Postgres databases QString dbHostname; @@ -760,14 +761,18 @@ bool Database::load() { void Database::checkForNewDefaultData() { // See if there are new ingredients that we need to merge from the data-space db. - // Don't do this if we JUST copied the default database. +/// // Don't do this if we JUST copied the default database. +/// qDebug() << +/// Q_FUNC_INFO << "dataDbFile:" << this->pimpl->dataDbFile.fileName() << ", dbFile:" << +/// this->pimpl->dbFile.fileName() << ", userDatabaseDidNotExist: " << +/// (this->pimpl->userDatabaseDidNotExist ? "True" : "False") << ", dataDbFile.lastModified:" << +/// QFileInfo(this->pimpl->dataDbFile).lastModified(); qDebug() << - Q_FUNC_INFO << "dataDbFile:" << this->pimpl->dataDbFile.fileName() << ", dbFile:" << - this->pimpl->dbFile.fileName() << ", userDatabaseDidNotExist: " << - (this->pimpl->userDatabaseDidNotExist ? "True" : "False") << ", dataDbFile.lastModified:" << - QFileInfo(this->pimpl->dataDbFile).lastModified(); - if (this->pimpl->dataDbFile.fileName() != this->pimpl->dbFile.fileName() && - !this->pimpl->userDatabaseDidNotExist) { + Q_FUNC_INFO << "dbFile:" << this->pimpl->dbFile.fileName() << ", userDatabaseDidNotExist: " << + (this->pimpl->userDatabaseDidNotExist ? "True" : "False"); +/// if (this->pimpl->dataDbFile.fileName() != this->pimpl->dbFile.fileName() && +/// !this->pimpl->userDatabaseDidNotExist) { + if (!this->pimpl->userDatabaseDidNotExist) { auto connection = this->sqlDatabase(); QString userMessage; QTextStream userMessageAsStream{&userMessage}; diff --git a/src/database/DatabaseSchemaHelper.cpp b/src/database/DatabaseSchemaHelper.cpp index afb58c01b..49f6ca390 100644 --- a/src/database/DatabaseSchemaHelper.cpp +++ b/src/database/DatabaseSchemaHelper.cpp @@ -2422,7 +2422,7 @@ bool DatabaseSchemaHelper::create(Database & database, QSqlDatabase connection) // Start transaction // By the magic of RAII, this will abort if we exit this function (including by throwing an exception) without // having called dbTransaction.commit(). - DbTransaction dbTransaction{database, connection}; + DbTransaction dbTransaction{database, connection, "DatabaseSchemaHelper::create"}; qDebug() << Q_FUNC_INFO; if (!CreateAllDatabaseTables(database, connection)) { diff --git a/src/database/DbTransaction.cpp b/src/database/DbTransaction.cpp index 1597ca37b..abb9f9749 100644 --- a/src/database/DbTransaction.cpp +++ b/src/database/DbTransaction.cpp @@ -36,6 +36,9 @@ DbTransaction::DbTransaction(Database & database, this->database.setForeignKeysEnabled(false, connection); } + // Normally leave the next line commented out +// qDebug().noquote() << Q_FUNC_INFO << Logging::getStackTrace(); + bool succeeded = this->connection.transaction(); qDebug() << Q_FUNC_INFO << "Database transaction" << this->nameForLogging << "begin: " << (succeeded ? "succeeded" : "failed"); diff --git a/src/database/ObjectStore.cpp b/src/database/ObjectStore.cpp index fb184d72a..baa14e71f 100644 --- a/src/database/ObjectStore.cpp +++ b/src/database/ObjectStore.cpp @@ -1367,6 +1367,10 @@ ObjectStore::~ObjectStore() { return; } +QString ObjectStore::name() const { + return this->pimpl->m_className; +} + ObjectStore::State ObjectStore::state() const { return this->pimpl->m_state; } diff --git a/src/database/ObjectStore.h b/src/database/ObjectStore.h index 037ff6198..bfdbebcb2 100644 --- a/src/database/ObjectStore.h +++ b/src/database/ObjectStore.h @@ -214,6 +214,8 @@ class ObjectStore : public QObject { ~ObjectStore(); + QString name() const; + /** * \brief Gets the state of the ObjectStore. If it's \c ErrorInitialising, we probably need to terminate the * program. (This is because, if we were unable to read some or all data from the database during startup, @@ -537,4 +539,11 @@ S & operator<<(S & stream, ObjectStore::FieldType const fieldType) { return stream; } +template +S & operator<<(S & stream, ObjectStore const & objectStore) { + stream << QString{"Object Store for %1"}.arg(objectStore.name()); + return stream; +} + + #endif diff --git a/src/database/ObjectStoreTyped.cpp b/src/database/ObjectStoreTyped.cpp index 548b7d615..caa2ce950 100644 --- a/src/database/ObjectStoreTyped.cpp +++ b/src/database/ObjectStoreTyped.cpp @@ -862,19 +862,23 @@ namespace { template -ObjectStoreTyped & ObjectStoreTyped::getInstance() { +ObjectStoreTyped & ObjectStoreTyped::getInstance(Database * database) { // // As of C++11, simple "Meyers singleton" is now thread-safe -- see // https://www.modernescpp.com/index.php/thread-safe-initialization-of-a-singleton#h3-guarantees-of-the-c-runtime // static ObjectStoreTyped ostSingleton{NE::typeLookup, PRIMARY_TABLE, JUNCTION_TABLES}; + // // C++11 provides a thread-safe way to ensure singleton.loadAll() is called exactly once // - // NB: It's easier to just pass in nullptr to ObjectStoreTyped::loadAll than to do all the magic casting to - // allow std::call_once to invoke it with the default parameter (which is nullptr). + // Note that, if caller has passed us a pointer to a Database object, it's because we have a new empty database and + // are about to construct tables -- ie it's too soon to try to load data. + // static std::once_flag initFlag; - std::call_once(initFlag, &ObjectStoreTyped::loadAll, &ostSingleton, nullptr); + if (!database) { + std::call_once(initFlag, &ObjectStoreTyped::loadAll, &ostSingleton, nullptr); + } return ostSingleton; } @@ -886,34 +890,34 @@ ObjectStoreTyped & ObjectStoreTyped::getInstance() { // You might think the use in InitialiseAllObjectStores below is sufficient for this, but the GCC linker says // otherwise. // -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped & ObjectStoreTyped::getInstance(); -template ObjectStoreTyped