Skip to content
Snippets Groups Projects
Commit 2d5603a2 authored by tuckersiegel's avatar tuckersiegel
Browse files

gdd equation change

parent d0ed63ad
No related branches found
No related tags found
No related merge requests found
...@@ -13,7 +13,7 @@ function send_response(message, gdds, data, res) { ...@@ -13,7 +13,7 @@ function send_response(message, gdds, data, res) {
}) })
} }
function find(collection, query, projection, temps, res) { function find(collection, query, projection, temps, res, product) {
collection.findOne(query, projection).then(function(data) { collection.findOne(query, projection).then(function(data) {
var min_temps = data["min_temps"] var min_temps = data["min_temps"]
var max_temps = data["max_temps"] var max_temps = data["max_temps"]
...@@ -27,7 +27,7 @@ function find(collection, query, projection, temps, res) { ...@@ -27,7 +27,7 @@ function find(collection, query, projection, temps, res) {
var gdd_sum = 0; var gdd_sum = 0;
for (var i = 0; i < min_temps.length; i++) { for (var i = 0; i < min_temps.length; i++) {
gdd_value = utils.calculate_gdd(min_temps[i], t_min, max_temps[i], t_max, t_base); gdd_value = utils.calculate_gdd(min_temps[i], t_min, max_temps[i], t_max, t_base, product);
gdd_sum += gdd_value gdd_sum += gdd_value
gdds.push(gdd_sum) gdds.push(gdd_sum)
} }
...@@ -117,9 +117,9 @@ exports.accumulated_gdd = function (req, res) { ...@@ -117,9 +117,9 @@ exports.accumulated_gdd = function (req, res) {
} }
if (year != new Date().getFullYear()) { if (year != new Date().getFullYear()) {
find(gdd_collection, query, projection, temps, res); find(gdd_collection, query, projection, temps, res, product);
} else { } else {
find(gdd_current_collection, query, projection, temps, res); find(gdd_current_collection, query, projection, temps, res, product);
} }
}; };
...@@ -194,5 +194,5 @@ exports.accumulated_normal_gdd = function (req, res) { ...@@ -194,5 +194,5 @@ exports.accumulated_normal_gdd = function (req, res) {
t_min: t_min, t_min: t_min,
} }
find(gdd_normal_collection, query, projection, temps, res); find(gdd_normal_collection, query, projection, temps, res, product);
}; };
\ No newline at end of file
...@@ -14,7 +14,7 @@ function send_response(message, gdds, data, res) { ...@@ -14,7 +14,7 @@ function send_response(message, gdds, data, res) {
}) })
} }
function find(collection, query, projection, temps, res) { function find(collection, query, projection, temps, res, product) {
collection.findOne(query, projection).then(function(data) { collection.findOne(query, projection).then(function(data) {
var min_temps = data["min_temps"] var min_temps = data["min_temps"]
var max_temps = data["max_temps"] var max_temps = data["max_temps"]
...@@ -26,7 +26,7 @@ function find(collection, query, projection, temps, res) { ...@@ -26,7 +26,7 @@ function find(collection, query, projection, temps, res) {
var max_temp = 0 var max_temp = 0
for (var i = 0; i < min_temps.length; i++) { for (var i = 0; i < min_temps.length; i++) {
gdd_value = utils.calculate_gdd(min_temps[i], t_min, max_temps[i], t_max, t_base); gdd_value = utils.calculate_gdd(min_temps[i], t_min, max_temps[i], t_max, t_base, product);
gdds.push(gdd_value) gdds.push(gdd_value)
} }
send_response("GDDs", gdds, data, res); send_response("GDDs", gdds, data, res);
...@@ -114,9 +114,9 @@ exports.year_gdd = function (req, res) { ...@@ -114,9 +114,9 @@ exports.year_gdd = function (req, res) {
} }
if (year != new Date().getFullYear()) { if (year != new Date().getFullYear()) {
find(gdd_collection, query, projection, temps, res); find(gdd_collection, query, projection, temps, res, product);
} else { } else {
find(gdd_current_collection, query, projection, temps, res); find(gdd_current_collection, query, projection, temps, res, product);
} }
}; };
\ No newline at end of file
normals_collection = require('../models/normals.js'); normals_collection = require('../models/normals.js');
utils = require('../lib/utils'); utils = require('../lib/utils');
function find(collection, query, projection, temps, res) { function find(collection, query, projection, temps, res, product) {
collection.findOne(query, projection).then(function(data) { collection.findOne(query, projection).then(function(data) {
var min_temps = data["min_temps"] var min_temps = data["min_temps"]
var max_temps = data["max_temps"] var max_temps = data["max_temps"]
...@@ -13,7 +13,7 @@ function find(collection, query, projection, temps, res) { ...@@ -13,7 +13,7 @@ function find(collection, query, projection, temps, res) {
var max_temp = 0 var max_temp = 0
for (var i = 0; i < min_temps.length; i++) { for (var i = 0; i < min_temps.length; i++) {
gdd_value = utils.calculate_gdd(min_temps[i], t_min, max_temps[i], t_max, t_base); gdd_value = utils.calculate_gdd(min_temps[i], t_min, max_temps[i], t_max, t_base, product);
gdds.push(gdd_value) gdds.push(gdd_value)
} }
...@@ -98,5 +98,5 @@ exports.normal = function (req, res) { ...@@ -98,5 +98,5 @@ exports.normal = function (req, res) {
t_min: t_min, t_min: t_min,
} }
find(normals_collection, query, projection, temps, res); find(normals_collection, query, projection, temps, res, product);
}; };
\ No newline at end of file
const gdd = require("../models/gdd");
function product_base_switch(product, errors, t_base, t_min) { function product_base_switch(product, errors, t_base, t_min) {
switch (product) { switch (product) {
...@@ -54,11 +55,17 @@ function product_base_switch(product, errors, t_base, t_min) { ...@@ -54,11 +55,17 @@ function product_base_switch(product, errors, t_base, t_min) {
} }
function calculate_gdd(min_temp, t_min, max_temp, t_max, t_base) { function calculate_gdd(min_temp, t_min, max_temp, t_max, t_base, product) {
min_temp = min_temp >= t_min ? min_temp : t_min; var gdd = 0;
max_temp = max_temp >= t_min ? max_temp : t_min; if (product == "corn") {
max_temp = max_temp <= t_max ? max_temp : t_max; min_temp = min_temp >= t_min ? min_temp : t_min;
gdd = ((max_temp + min_temp) / 2) - t_base; max_temp = max_temp >= t_min ? max_temp : t_min;
max_temp = max_temp <= t_max ? max_temp : t_max;
gdd = ((max_temp + min_temp) / 2) - t_base;
} else {
gdd = ((max_temp + min_temp) / 2) - t_base;
gdd = gdd < 0 ? 0 : gdd;
}
return gdd return gdd
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment