     // formula to calc watts from cycling:
     // P = gmV1(K1 + s) + (K2 x Va^3)
     //  P  = power (watts)
     //   g  = gravity (m /sec^2)
     //   m  = mass of bike and rider (kg)
     //   Vg = groundspeed (m/sec)
     //   K1 = constant: frictional loss of bike parts
     //   s  = slope of terrain (m/m)
     //   K2 = constant: aero drag (kg/m)
     //   Va = airspeed (m/sec)
     // This calculator assumes still air and level terrain
     //
     
     var g  = 9.8;      // gravity (m/sec^2)
     var K1 = .0053    // constant friction loss for bike parts
     var K2 = .185     // constant: aero drag (kg/m)

     var MSecToMiHr = 2.23693639;
     var MiHrToMSec = 1 / MSecToMiHr;
     var KgToPounds = .45359237;
     var PoundsToKg = 1 / KgToPounds;
     var WattsToKCalPerMin = 0.0143403442;
     var WattsToKCalPerHr = 0.86042065;
     var rawWattsToHumanWatts = 100 / 24;
     
     function calcAll (weight,vel) {
       var raw  = calcRawPower(weight,vel); // watts
       var pow  = calcHumanPower(raw);      // watts
       document.getElementById('bike-mpg-pow').innerHTML = raw.toFixed(2) + ' | ' + pow.toFixed(2);
       var cpm  = calcCalsPerMin(pow);   // kcals / min
       var cph  = calcCalsPerHr(pow);    // kcals / min
       var cpmi = calcCalsPerMile(cph, vel); 
       document.getElementById('bike-mpg-cpm').innerHTML = cpm.toFixed(2) + ' | ' + cph.toFixed(1) + ' | ' + cpmi.toFixed(1);
       var mpg = calcMPG(cph,vel);
       document.getElementById('bike-mpg-mpg').innerHTML = parseInt(mpg) + ' MPG';
     }
     function calcRawPower (lbs,mph) {
       // m => mass (kg)
       // v => velocity (m/sec) for both groundspeed and airspeed
       var m = lbs * PoundsToKg;
       var v = mph * MiHrToMSec;
       var pow = ( g * m * v * K1 ) + ( K2 * ( v * v * v ) );
       return pow;
     }
     function calcHumanPower (raw) {
       return raw * rawWattsToHumanWatts;
     }
     // take the results of power required to drive that bike, convert to Calories / min
     function calcCalsPerMin (pow) {
       return pow * WattsToKCalPerMin;
     }
     function calcCalsPerHr (pow) {
       return pow * WattsToKCalPerHr;
     }
     function calcCalsPerMile (kcalhr, dist) {
      return kcalhr / dist;
     }
     function calcMPG (cph,mph) {
       var cpmi = cph / mph;
       var mpg = 31000 / cpmi;
       return mpg;
     }
