By John, 28 April, 2025

<p>Here are some metabolic calculators for reptiles, which predict metabolic rates on the basis of body mass at 20&nbsp;<sup>o</sup>C. These are interspecific allometries, and are valid only for standard metabolic rates (the animal is post-absorptive and inactive). Typical metabolic rates may be somewhat higher. Energy equivalents (Watts, Joules) assume an RQ of 0.83. Like all allometrically-based estimates of metabolic rates, the results are approximate, but should be close enough to real values to act as a reality check.</p><p>Flow rate suggestions are for typical flow-through respirometry and are also approximate. The highest usable flow rate is dependent on the quality of the O<sub>2</sub>&nbsp;analyzer being used, which determines the lowest change in O<sub>2</sub>concentration that can be reliably resolved. Examples of "superb" and "good" O<sub>2</sub>&nbsp;analyzers can be found&nbsp;<a href="http://www.sablesys.com/products-prod_fc-2.html">here</a>&nbsp;and&nbsp;<a href="http://www.sablesys.com/products-prod_fc-10.html">here</a>, respectively. In general, a good flow rate to aim for is about 50% of the suggested maximum for the grade of analyzer you are using. The minimum flow rate corresponds to a 1.5% depletion of O<sub>2</sub>&nbsp;in the excurrent air and should be exceeded by at least twofold if at all possible.</p><p>Note that all metabolic calculator JavaScript code on this page is (c) John Lighton 2008. All rights are reserved. You are welcome to link to this page without restrictions, but copying and re-posting of the code is strictly prohibited. Suggestions for additional taxa and citations&nbsp;<a href="http://www.respirometry.org/index.php/contact-us">are welcome</a>.</p><form><h2>Reptilian Metabolic Rates</h2><p>This section covers several common taxa of reptiles at 20 <sup>o</sup>C. All options are only valid for body masses within the likely range of the selected taxon. Please use with care and consult the appropriate citation if you need more details.</p><p>Enter the body mass in grams: <input type="text" name="massg" value="0" size="15" maxlength="15" /></p><p>Choose the taxon:<select name="taxon1"><option>All Lizards</option><option>Varanid Lizards</option><option>Xantusid Lizards</option><option>Lacertid Lizards</option><option>All Snakes</option><option>Boid Snakes</option><option>Colubrid Snakes</option><option>All Turtles</option></select></p><p>Choose the desired SMR units:<select name="units1"><option>ml O2/hr</option><option>ml O2/min</option><option>Liters O2/hr</option><option>Liters O2/min</option><option>Milliwatts</option><option>Watts (J/sec)</option><option>Joules/hour</option><option>Joules/day</option></select></p><p>Give maximum flow rate suggestions for:<select name="frs1"><option>Average O2 Analyzers (0.05% delta O2 OK)</option><option>Good O2 Analyzers (0.02% delta O2 OK)</option><option>Superb O2 Analyzers (0.005% delta O2 OK)</option><option>Poor O2 Analyzers (0.1% delta O2 OK)</option><option>Awful O2 Analyzers (0.25% delta O2 OK)</option><option>Teaching O2 Analyzers (0.5% delta O2 OK)</option></select></p><p>Click this button to calculate the SMR: <input style="background-color: blue; color: white;" onclick="BMRmany(this.form)" onmouseover="this.style.bgColor = 'red';" onmouseout="this.style.bgColor = 'blue';" type="button" name="calc" value="Calculate" /></p><p>Estimated SMR is: <input type="text" name="BMR2" readonly="readonly" size="25" /></p><p>Citation is: <input type="text" name="cite2" readonly="readonly" size="75" /></p><p>Approx. maximum flow rate (ml/min): <input type="text" name="maxfr1" readonly="readonly" size="15" /></p><p>Approx. minimum flow rate (ml/min): <input type="text" name="minfr1" readonly="readonly" size="15" /></p></form>

Javascript
<script type="text/javascript">
function roundNum(num, dec)

{

var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);

return result;

}

function BMRmany(form)

{

var mass = parseFloat(form.massg.value, 10);

var units = form.units1.selectedIndex;

var frs = form.frs1.selectedIndex;

var taxon = form.taxon1.selectedIndex;

var sualniets = 0.11666;

if (mass < 2)

{

alert("That's an unacceptably small reptile.");

return;

}

var a = 0;

var b = 0;

var cite = "Withers PW (1992) Comparative Animal Physiology p 95"

switch (taxon)

{

case 0:

// all lizards

a = 1.5 / 20.3;

b = 0.80;

break;

case 1:

// varanids

a = 1.9 / 20.3;

b = 0.82;

break;

case 2:

// xantusids

a = 2.2 / 20.3;

b = 0.56;

break;

case 3:

// lacertids

a = 2.6 / 20.3;

b = 0.76;

break;

case 4:

// all snakes

a = 2.4 / 20.3;

b = 0.77;

break;

case 5:

// boids

a = 0.8 / 20.3;

b = 0.77;

break;

case 6:

// colubrids

a = 0.8 / 20.3;

b = 0.98;

break;

case 7:

// turtles

a = 1.3 / 20.3;

b = 0.86;

break;

default:

alert("WTF?");

}

var mlh = a * Math.pow(mass, b);

var mlmin = mlh / 60;

var watts = (mlmin * 20.3) / 60;

// assuming RQ ~ 0.83

var dep = 0;

switch (frs)

{

case 0:

dep = 0.0005;

break;

case 1:

dep = 0.0002;

break;

case 2:

dep = 0.00005;

break;

case 3:

dep = 0.001;

break;

case 4:

dep = 0.0025;

break;

case 5:

dep = 0.005;

break;

default:

alert("WTF?");

}

// approx delta O2 OK calculated assuming excurrent flow, dried, CO2 absorbed

// VO2 = FR(dep)/(1-0.2095)

// FR(dep) = VO2(1-0.2095)

// FR = (VO2(1-0.2095))/dep;

var maxfr = mlmin;

maxfr = Math.pow(maxfr, 1);

maxfr = maxfr *(1 - 0.2095);

maxfr = maxfr / dep;

// assume min flow is 1.5% delta O2 OK = 0.015

dep = 0.015;

var minfr = (mlmin*(1 - 0.2095)) / dep;

var x = 0;

switch (units)

{

case 0:

// ml/hour

x = mlh;

break;

case 1:

// ml/min

x = mlmin;

break;

case 2:

// liters/hour

x = mlh / 1000;

break;

case 3:

// liters/min

x = mlmin / 1000;

break;

case 4:

// milliwatts

x = watts * 1000;

break;

case 5:

// watts

x = watts;

break;

case 6:

// J/hr

x = watts * 60;

break;

case 7:

// J/day

x = watts * 60 * 24;

break;

default:

alert("WTF?");

}

x = roundNum(x, 3);

maxfr = roundNum(maxfr, 0);

minfr = roundNum(minfr, 0);

form.BMR2.value = x + " " + form.units1.options[units].text

var units = form.units1.selectedIndex;

form.cite2.value = cite;

form.maxfr1.value = maxfr;

form.minfr1.value = minfr;

}
</script>