Calculator: Alcohol Content of Sugar Wash w Temp Correction
Posted: Fri Oct 18, 2013 4:11 pm
I have been getting lower alcohol outputs then expected with WPOSW and was wondering if it was because I wasn't temperature adjusting my SG measurements. I know a lot of people over estimate their distillate % because they don't temp correct it(94% at 90F is really 91%). I heavily hacked together a few scripts I found on other sites and wrote a temperature correcting ABW calculator. I don't have a site to post it to so I thought I would would just post the html here. If anyone wants to use it on their site (or the Home Distiller site) feel free. To test it just copy and paste the code into a text file and just open it in a browser.
The long and the short of it is even at 90F the correction is only .004 which isn't nothing but isn't huge, it will throw the ABW off by .5%. I don't run the ferment quite that hot. I pitch at 85F, then let it cool to 82F for 2 days and then lower it to 78F for 2 days and finish at 72F. I control it with an aquarium heater. Going from 85F to 72F is around a .25% change.
DoN
The long and the short of it is even at 90F the correction is only .004 which isn't nothing but isn't huge, it will throw the ABW off by .5%. I don't run the ferment quite that hot. I pitch at 85F, then let it cool to 82F for 2 days and then lower it to 78F for 2 days and finish at 72F. I control it with an aquarium heater. Going from 85F to 72F is around a .25% change.
DoN
Code: Select all
<html>
<head>
<title>Alcohol Content of Sugar Wash with Temp Correction</title>
<!-- modified/written by Distillate of Nerd and posted to the homedistiller.org forum.-->
<!-- as far as I am concerned anyone can reuse, rewrite, repurpose or host without my permission.-->
<!-- This page was hacked together from a unattributed script found here: http://merrycuss.com/calc/sgcorrection.html-->
<!-- If the original author complains please comply with his wishes. No offense was intended by its modification.-->
<script type="text/javascript">
// function for dealing with Celsius
function conversionc() {
//Sets variables; data from form named "abwtempcor"
var sg1=document.abwtempcor.StartSG.value;
var temp1=document.abwtempcor.StartTemp.value;
var sg2=document.abwtempcor.FinalSG.value;
var temp2=document.abwtempcor.FinalTemp.value;
//Convert sg to a floating point number
var sg1=parseFloat(sg1);
var sg2=parseFloat(sg2);
//Convert celsisus values to fahrenheit
var temp1=(9/5)*temp1+32;
var temp2=(9/5)*temp2+32;
//Calculates SG correction for 59F from HBD http://hbd.org/brewery/library/HydromCorr0992.html
var correction1=1.313454-(0.132674*temp1)+(0.002057793*temp1*temp1)-(0.000002627634*temp1*temp1*temp1);
var correction2=1.313454-(0.132674*temp2)+(0.002057793*temp2*temp2)-(0.000002627634*temp2*temp2*temp2);
//Round off correction values and convert to SG scale
var correction1=(Math.round(correction1))/1000;
var correction2=(Math.round(correction2))/1000;
//Adds SG correction to the measured SG
adjustedgravity1=correction1+sg1;
adjustedgravity2=correction2+sg2;
//Round off adjustedgravity
var adjustedgravity1=Math.round(adjustedgravity1 * 1000)/1000;
var adjustedgravity2=Math.round(adjustedgravity2 * 1000)/1000;
//Percent Alcohol Content by Weight
var abw=(adjustedgravity1-adjustedgravity2)*129;
//Round off ABW
var abw=Math.round(abw * 1000)/1000;
//sends the calculations back to a form named "abwtempcor"
document.abwtempcor.resultsStartCor.value=correction1;
document.abwtempcor.resultsStartAG.value=adjustedgravity1;
document.abwtempcor.resultsFinalCor.value=correction2;
document.abwtempcor.resultsFinalAG.value=adjustedgravity2;
document.abwtempcor.abw.value=abw;
document.abwtempcor.scale.value="Caculated in Celsius";
}
//function for dealing with Fahrenheit
function conversionf() {
//Sets variables; data from form named "abwtempcor"
var sg1=document.abwtempcor.StartSG.value;
var temp1=document.abwtempcor.StartTemp.value;
var sg2=document.abwtempcor.FinalSG.value;
var temp2=document.abwtempcor.FinalTemp.value;
//Convert sg to a floating point number
var sg1=parseFloat(sg1);
var sg2=parseFloat(sg2);
//Calculates SG correction for 59F from HBD http://hbd.org/brewery/library/HydromCorr0992.html
var correction1=1.313454-(0.132674*temp1)+(0.002057793*temp1*temp1)-(0.000002627634*temp1*temp1*temp1);
var correction2=1.313454-(0.132674*temp2)+(0.002057793*temp2*temp2)-(0.000002627634*temp2*temp2*temp2);
//Round off correction values and convert to SG scale
var correction1=(Math.round(correction1))/1000;
var correction2=(Math.round(correction2))/1000;
//Adds SG correction to the measured SG
adjustedgravity1=correction1+sg1;
adjustedgravity2=correction2+sg2;
//Round off adjustedgravity
var adjustedgravity1=Math.round(adjustedgravity1 * 1000)/1000;
var adjustedgravity2=Math.round(adjustedgravity2 * 1000)/1000;
//Percent Alcohol Content by Weight
var abw=(adjustedgravity1-adjustedgravity2)*129;
//Round off ABW
var abw=Math.round(abw * 1000)/1000;
//sends the calculations back to a form named "abwtempcor"
document.abwtempcor.resultsStartCor.value=correction1;
document.abwtempcor.resultsStartAG.value=adjustedgravity1;
document.abwtempcor.resultsFinalCor.value=correction2;
document.abwtempcor.resultsFinalAG.value=adjustedgravity2;
document.abwtempcor.abw.value=abw;
document.abwtempcor.scale.value="Caculated in Fahrenheit";
}
</script>
</head>
<body>
<h2>Alcohol Content of Sugar Wash with Temp Correction</h2>
<form name="abwtempcor">
<table Border=1 width=480>
<tr>
<td>
<input type="text" size="5" maxlength="3" value=60 name="StartTemp"> Starting Temp
</td>
<td>
Temperature correction: <input type="text" size="5" id="resultsStartCor" value="0" readonly>
</td>
</tr>
<tr>
<td>
<input type="text" size="5" maxlength="5" value=1.050 name="StartSG"> Measured Starting SG
</td>
<td>
Corrected SG: <input type="text" size="5" id="resultsStartAG" value="1.050" readonly>
</td>
</tr>
<tr>
</tr>
<tr>
<td>
<input type="text" size="5" maxlength="3" value=60 name="FinalTemp"> Final Temp
</td>
<td>
Temperature correction: <input type="text" size="5" id="resultsFinalCor" value="0" readonly>
</td>
</tr>
<tr>
<td>
<input type="text" size="5" maxlength="5" value=1.050 name="FinalSG"> Measured Final SG
</td>
<td>
Corrected SG: <input type="text" size="5" id="resultsFinalAG" value="1.050" readonly>
</td>
</tr>
<tr>
<td>
Percent Alcohol in Wash: <input type="text" size="4" id="abw" value="0" readonly>%
</td>
<td>
<input type="text" size="25" id="scale" value="0" readonly>
</td>
<tr>
</table>
Click to Calculate: <input type="button" value="Fahrenheit" onclick="conversionf()" /> <input type="button" value="Celsius" onclick="conversionc()"
</form>
</body>
</html>