From 6eed986d75f62568779727c8b1c8f61fa736dd11 Mon Sep 17 00:00:00 2001
From: Tucker Gary Siegel <tgsiegel@terpmail.umd.edu>
Date: Mon, 6 Mar 2023 13:52:38 -0500
Subject: [PATCH] fix out of bounds

---
 services/forecast_service.go | 6 +++---
 services/gdd_service.go      | 7 +++++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/services/forecast_service.go b/services/forecast_service.go
index 4564c8f..d35ece2 100644
--- a/services/forecast_service.go
+++ b/services/forecast_service.go
@@ -249,7 +249,6 @@ func forecast(ctx context.Context, gddReq models.GddRequest, plantdate time.Time
 			Bins: bins,
 		}
 	}
-
 	return out
 }
 
@@ -363,7 +362,6 @@ func CalculateStages(ctx context.Context, request models.StageRequest) map[strin
 		Product:      "CORN",
 	}
 	stageMatches := models.BuildStageMatches(request.Mode, request.Value)
-
 	// removing for now
 	// comparisonThread := dispatch.New[map[string]time.Time]()
 	// go comparisonGoRoutine(gddReq, request.PlantDate, stageMatches, request.Comparison, comparisonThread)
@@ -381,7 +379,9 @@ func CalculateStages(ctx context.Context, request models.StageRequest) map[strin
 	// }
 	compResults := comparisonNormals(ctx, gddReq, request.PlantDate, stageMatches)
 	for k, v := range compResults {
-		out[k].ComparisonMean = v
+		if _, exists := out[k]; exists {
+			out[k].ComparisonMean = v
+		}
 	}
 	return out
 
diff --git a/services/gdd_service.go b/services/gdd_service.go
index 2fee075..9be8d3c 100644
--- a/services/gdd_service.go
+++ b/services/gdd_service.go
@@ -30,8 +30,11 @@ func GetGddValues(ctx context.Context, request models.GddRequest) models.GddResp
 
 	// if request.PlantingDate.Year() >= time.Now().Year() {
 	pdInt := request.PlantingDate.YearDay() - 1
-	gdds.MaxTemps = gdds.MaxTemps[pdInt:]
-	gdds.MinTemps = gdds.MinTemps[pdInt:]
+	// fmt.Println(pdInt)
+	if pdInt < len(gdds.MaxTemps) {
+		gdds.MinTemps = gdds.MinTemps[pdInt:]
+		gdds.MaxTemps = gdds.MaxTemps[pdInt:]
+	}
 
 	returnGdds := models.GddResponse{
 		Product:          product.Name,
-- 
GitLab