Mercurial > repos > greg > insect_phenology_model
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);