From 5a71213c80304e48810ed499d1346f7fa8e525ab Mon Sep 17 00:00:00 2001 From: Peter Basham Date: Fri, 11 Mar 2016 17:57:49 +0000 Subject: [PATCH] Added ability to set reference weather conditions (Temp, Rain, Humidty) to the Zimmerman adjustment method --- routes/weather.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) mode change 100644 => 100755 routes/weather.js diff --git a/routes/weather.js b/routes/weather.js old mode 100644 new mode 100755 index 2280fa5..2f4dfdb --- a/routes/weather.js +++ b/routes/weather.js @@ -311,10 +311,17 @@ function calculateWeatherScale( adjustmentMethod, adjustmentOptions, weather ) { return 100; } + // Get baseline conditions for 100% water level, if provided + if ( adjustmentOptions ) { + humidityBase = adjustmentOptions.hasOwnProperty( "bh" ) ? adjustmentOptions.bh : 30; + tempBase = adjustmentOptions.hasOwnProperty( "bt" ) ? adjustmentOptions.bt : 70; + precipBase = adjustmentOptions.hasOwnProperty( "br" ) ? adjustmentOptions.br : 0; + } + var temp = ( ( weather.maxTemp + weather.minTemp ) / 2 ) || weather.temp, - humidityFactor = ( 30 - weather.humidity ), - tempFactor = ( ( temp - 70 ) * 4 ), - precipFactor = ( weather.precip * -200 ); + humidityFactor = ( humidityBase - weather.humidity ), + tempFactor = ( ( temp - tempBase ) * 4 ), + precipFactor = ( (precipBase - weather.precip ) * 200 ); // Apply adjustment options, if provided, by multiplying the percentage against the factor if ( adjustmentOptions ) {