changeset 124:534658644efe draft

Uploaded
author greg
date Fri, 01 Jun 2018 08:00:53 -0400
parents e69e30d853fb
children 24f389a2dd93
files insect_phenology_model.R
diffstat 1 files changed, 20 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/insect_phenology_model.R	Thu May 31 14:08:46 2018 -0400
+++ b/insect_phenology_model.R	Fri Jun 01 08:00:53 2018 -0400
@@ -79,7 +79,7 @@
     j = 0;
     for (i in first_norm_row:last_norm_row) {
         j = j + 1;
-        temperature_data_frame[j,] = get_next_normals_row(norm_data_frame, year, is_leap_year, i);
+        temperature_data_frame[j,] = get_next_normals_row(norm_data_frame, year, i);
     }
     return (temperature_data_frame);
 }
@@ -144,7 +144,7 @@
     return(list(p_m, p_se, f1_m, f1_se, f2_m, f2_se))
 }
 
-get_next_normals_row = function(norm_data_frame, year, is_leap_year, index) {
+get_next_normals_row = function(norm_data_frame, year, index) {
     # Return the next 30 year normals row formatted
     # appropriately for the year-to-date data.
     latitude = norm_data_frame[index,"LATITUDE"][1];
@@ -153,12 +153,6 @@
     mmdd = norm_data_frame[index,"MMDD"][1];
     date_str = paste(year, mmdd, sep="-");
     doy = norm_data_frame[index,"DOY"][1];
-    if (!is_leap_year) {
-        # Since all normals data includes Feb 29, we have to
-        # subtract 1 from DOY if we're not in a leap year since
-        # we removed the Feb 29 row from the data frame above.
-        doy = as.integer(doy) - 1;
-    }
     tmin = norm_data_frame[index,"TMIN"][1];
     tmax = norm_data_frame[index,"TMAX"][1];
     return(list(latitude, longitude, date_str, doy, tmin, tmax));
@@ -547,7 +541,7 @@
                 for (i in first_norm_row:last_norm_row) {
                     # Populate the temp_data_frame row with
                     # values from norm_data_frame.
-                    tmp_norm_data_frame[i,] = get_next_normals_row(norm_data_frame, year, is_leap_year, i);
+                    tmp_norm_data_frame[i,] = get_next_normals_row(norm_data_frame, year, i);
                 }
                 # Create a second temporary data frame containing the
                 # appropriate rows from temperature_data_frame.
@@ -582,7 +576,7 @@
                 tmp_data_frame[temperature_data_frame_rows,] = temperature_data_frame[start_date_ytd_row:temperature_data_frame_rows,];
                 # Apppend the appropriate rows from norm_data_frame to tmp_data_frame.
                 for (i in first_norm_row:last_norm_row) {
-                    tmp_data_frame[i,] = get_next_normals_row(norm_data_frame, year, is_leap_year, i);
+                    tmp_data_frame[i,] = get_next_normals_row(norm_data_frame, year, i);
                 }
                 temperature_data_frame = tmp_data_frame[,];
             } else if (start_date_ytd_row == 0 & end_date_ytd_row == 0) {
@@ -595,14 +589,13 @@
                 # The input_ytd data starts after Jan 1, so prepend
                 # appropriate rows from input_norm to temperature_data_frame.
                 prepend_end_doy_norm = start_doy_ytd - 1;
-                first_norm_row = 1;
                 last_norm_row = which(norm_data_frame$DOY == prepend_end_doy_norm);
                 # Create a temporary data frame to contain the input_norm data
                 # from Jan 1 to the date immediately prior to start_date.
                 tmp_data_frame = temperature_data_frame[FALSE,];
                 # Populate tmp_data_frame with appropriate rows from norm_data_frame.
-                for (i in first_norm_row:last_norm_row) {
-                    tmp_data_frame[i,] = get_next_normals_row(norm_data_frame, year, is_leap_year, i);
+                for (i in 1:last_norm_row) {
+                    tmp_data_frame[i,] = get_next_normals_row(norm_data_frame, year, i);
                 }
                 # Merge the temporary data frame with temperature_data_frame.
                 temperature_data_frame = rbind(tmp_data_frame, temperature_data_frame);
@@ -615,7 +608,7 @@
                 first_norm_row = which(norm_data_frame$DOY == append_start_doy_norm);
                 # Append the 30 year normals data to the year-to-date data.
                 for (i in first_norm_row:total_days) {
-                    temperature_data_frame[i,] = get_next_normals_row(norm_data_frame, year, is_leap_year, i);
+                    temperature_data_frame[i,] = get_next_normals_row(norm_data_frame, year, i);
                 }
             }
         }
@@ -627,7 +620,7 @@
         } else {
             total_days = get_total_days(is_leap_year);
             for (i in 1:total_days) {
-                temperature_data_frame[i,] = get_next_normals_row(norm_data_frame, year, is_leap_year, i);
+                temperature_data_frame[i,] = get_next_normals_row(norm_data_frame, year, i);
             }
         }
     }
@@ -745,6 +738,18 @@
 } else {
     plot_generations_separately = FALSE;
 }
+# Parse the inputs.
+data_list = parse_input_data(opt$input_ytd, opt$input_norm, opt$location, opt$start_date, opt$end_date);
+temperature_data_frame = data_list[[1]];
+# Information needed for plots, some of these values are
+# being reset here since in some case they were set above.
+start_date = data_list[[2]];
+end_date = data_list[[3]];
+prepend_end_doy_norm = data_list[[4]];
+append_start_doy_norm = data_list[[5]];
+is_leap_year = data_list[[6]];
+location = data_list[[7]];
+
 if (is.null(opt$start_date) && is.null(opt$end_date)) {
     # We're plotting an entire year.
     date_interval = FALSE;
@@ -783,18 +788,6 @@
     # Display the total number of days in the Galaxy history item blurb.
     cat("Number of days in date interval: ", num_days, "\n");
 }
-# Parse the inputs.
-data_list = parse_input_data(opt$input_ytd, opt$input_norm, opt$location, opt$start_date, opt$end_date);
-temperature_data_frame = data_list[[1]];
-# Information needed for plots, some of these values are
-# being reset here since in some case they were set above.
-start_date = data_list[[2]];
-end_date = data_list[[3]];
-prepend_end_doy_norm = data_list[[4]];
-append_start_doy_norm = data_list[[5]];
-is_leap_year = data_list[[6]];
-location = data_list[[7]];
-
 # Create copies of the temperature data for generations P, F1 and F2 if we're plotting generations separately.
 if (plot_generations_separately) {
     temperature_data_frame_P = data.frame(temperature_data_frame);