comparison insect_phenology_model.R @ 107:2c2903e7ce68 draft

Uploaded
author greg
date Tue, 05 Dec 2017 11:32:33 -0500
parents aa1890120743
children 8871797b1be4
comparison
equal deleted inserted replaced
106:aa1890120743 107:2c2903e7ce68
503 vector.individual[4] <- vector.individual[4] + 1 503 vector.individual[4] <- vector.individual[4] + 1
504 vector.matrix[i,] <- vector.individual 504 vector.matrix[i,] <- vector.individual
505 } 505 }
506 } # Else if it is still alive. 506 } # Else if it is still alive.
507 } # End of the individual bug loop. 507 } # End of the individual bug loop.
508 # Find the number of deaths. 508
509 # Number of deaths.
509 num_insects.death <- length(death.vector) 510 num_insects.death <- length(death.vector)
510 if (num_insects.death > 0) { 511 if (num_insects.death > 0) {
511 # Remove record of dead. 512 # Remove record of dead.
512 vector.matrix <- vector.matrix[-death.vector, ] 513 vector.matrix <- vector.matrix[-death.vector, ]
513 } 514 }
514 # Find the number of births. 515 # Number of births.
515 num_insects.newborn <- length(birth.vector[,1]) 516 num_insects.newborn <- length(birth.vector[,1])
516 vector.matrix <- rbind(vector.matrix, birth.vector) 517 vector.matrix <- rbind(vector.matrix, birth.vector)
517 # Update population size for the next day. 518 # Update population size for the next day.
518 num_insects <- num_insects - num_insects.death + num_insects.newborn 519 num_insects <- num_insects - num_insects.death + num_insects.newborn
519 520
520 # Aggregate results by day. 521 # Aggregate results by day.
521 total.population <- c(total.population, num_insects)
522 # All adults population size.
523 num_insects.adult <- sum(vector.matrix[,2]==3)+sum(vector.matrix[,2]==4)+sum(vector.matrix[,2]==5)
524 # Overwintering adult population size.
525 overwintering_adult.population[row] <- sum(vector.matrix[,1]==0)
526 # First generation population size.
527 first_generation.population[row] <- sum(vector.matrix[,1]==1)
528 # Second generation population size.
529 second_generation.population[row] <- sum(vector.matrix[,1]==2)
530 # Egg population size. 522 # Egg population size.
531 Eggs[row] <- sum(vector.matrix[,2]==0) 523 Eggs[row] <- sum(vector.matrix[,2]==0)
532 # Young nymph population size. 524 # Young nymph population size.
533 YoungNymphs[row] <- sum(vector.matrix[,2]==1) 525 YoungNymphs[row] <- sum(vector.matrix[,2]==1)
534 # Old nymph population size. 526 # Old nymph population size.
537 Previtellogenic[row] <- sum(vector.matrix[,2]==3) 529 Previtellogenic[row] <- sum(vector.matrix[,2]==3)
538 # Vitellogenic population size. 530 # Vitellogenic population size.
539 Vitellogenic[row] <- sum(vector.matrix[,2]==4) 531 Vitellogenic[row] <- sum(vector.matrix[,2]==4)
540 # Diapausing population size. 532 # Diapausing population size.
541 Diapausing[row] <- sum(vector.matrix[,2]==5) 533 Diapausing[row] <- sum(vector.matrix[,2]==5)
534
535 # Newborn population size.
536 N.newborn[row] <- num_insects.newborn
537 # Adult population size.
538 N.adult[row] <- sum(vector.matrix[,2]==3) + sum(vector.matrix[,2]==4) + sum(vector.matrix[,2]==5)
539 # Dead population size.
540 N.death[row] <- num_insects.death
541
542 total.population <- c(total.population, num_insects)
543
544 # Overwintering adult population size.
545 overwintering_adult.population[row] <- sum(vector.matrix[,1]==0)
546 # First generation population size.
547 first_generation.population[row] <- sum(vector.matrix[,1]==1)
548 # Second generation population size.
549 second_generation.population[row] <- sum(vector.matrix[,1]==2)
550
542 # P adult population size. 551 # P adult population size.
543 P.adult[row] <- sum(vector.matrix[,1]==0) 552 P.adult[row] <- sum(vector.matrix[,1]==0)
544 # F1 adult population size. 553 # F1 adult population size.
545 F1.adult[row] <- sum((vector.matrix[,1]==1 & vector.matrix[,2]==3) | (vector.matrix[,1]==1 & vector.matrix[,2]==4) | (vector.matrix[,1]==1 & vector.matrix[,2]==5)) 554 F1.adult[row] <- sum((vector.matrix[,1]==1 & vector.matrix[,2]==3) | (vector.matrix[,1]==1 & vector.matrix[,2]==4) | (vector.matrix[,1]==1 & vector.matrix[,2]==5))
546 # F2 adult population size 555 # F2 adult population size
547 F2.adult[row] <- sum((vector.matrix[,1]==2 & vector.matrix[,2]==3) | (vector.matrix[,1]==2 & vector.matrix[,2]==4) | (vector.matrix[,1]==2 & vector.matrix[,2]==5)) 556 F2.adult[row] <- sum((vector.matrix[,1]==2 & vector.matrix[,2]==3) | (vector.matrix[,1]==2 & vector.matrix[,2]==4) | (vector.matrix[,1]==2 & vector.matrix[,2]==5))
548 # Newborn population size.
549 N.newborn[row] <- num_insects.newborn
550 # Dead population size.
551 N.death[row] <- num_insects.death
552 # Adult population size.
553 N.adult[row] <- num_insects.adult
554 } # End of days specified in the input temperature data. 557 } # End of days specified in the input temperature data.
555 558
556 averages.cum <- cumsum(averages.day) 559 averages.cum <- cumsum(averages.day)
557 560
558 # Define the output values. 561 # Define the output values.
560 YoungNymphs.replications[,N.replications] <- YoungNymphs 563 YoungNymphs.replications[,N.replications] <- YoungNymphs
561 OldNymphs.replications[,N.replications] <- OldNymphs 564 OldNymphs.replications[,N.replications] <- OldNymphs
562 Previtellogenic.replications[,N.replications] <- Previtellogenic 565 Previtellogenic.replications[,N.replications] <- Previtellogenic
563 Vitellogenic.replications[,N.replications] <- Vitellogenic 566 Vitellogenic.replications[,N.replications] <- Vitellogenic
564 Diapausing.replications[,N.replications] <- Diapausing 567 Diapausing.replications[,N.replications] <- Diapausing
568
565 newborn.replications[,N.replications] <- N.newborn 569 newborn.replications[,N.replications] <- N.newborn
570 adult.replications[,N.replications] <- N.adult
566 death.replications[,N.replications] <- N.death 571 death.replications[,N.replications] <- N.death
567 adult.replications[,N.replications] <- N.adult 572
568 population.replications[,N.replications] <- total.population
569 P.replications[,N.replications] <- overwintering_adult.population 573 P.replications[,N.replications] <- overwintering_adult.population
570 F1.replications[,N.replications] <- first_generation.population 574 F1.replications[,N.replications] <- first_generation.population
571 F2.replications[,N.replications] <- second_generation.population 575 F2.replications[,N.replications] <- second_generation.population
572 P_adults.replications[,N.replications] <- P.adult 576 P_adults.replications[,N.replications] <- P.adult
573 F1_adults.replications[,N.replications] <- F1.adult 577 F1_adults.replications[,N.replications] <- F1.adult
574 F2_adults.replications[,N.replications] <- F2.adult 578 F2_adults.replications[,N.replications] <- F2.adult
579
580 population.replications[,N.replications] <- total.population
575 } 581 }
576 582
577 # Mean value for eggs. 583 # Mean value for eggs.
578 eggs <- apply(Eggs.replications, 1, mean) 584 eggs <- apply(Eggs.replications, 1, mean)
579 # Standard error for eggs. 585 # Standard error for eggs.
643 render_chart("pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval, 649 render_chart("pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval,
644 opt$std_error_plot, P, F1, F2, P.std_error, F1.std_error, F2.std_error) 650 opt$std_error_plot, P, F1, F2, P.std_error, F1.std_error, F2.std_error)
645 # Subfigure 3: adult population size by generation 651 # Subfigure 3: adult population size by generation
646 maxval <- max(F2_adults) + 100 652 maxval <- max(F2_adults) + 100
647 render_chart("adult_pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval, 653 render_chart("adult_pop_size_by_generation", opt$insect, opt$location, latitude, start_date, end_date, days, maxval,
648 opt$std_error_plot, P_adults, F1_adults, F2_adults, P_adults.std_error, F1_adults.std_error, F2_adults2.std_error) 654 opt$std_error_plot, P_adults, F1_adults, F2_adults, P_adults.std_error, F1_adults.std_error, F2_adults.std_error)
649 655
650 # Turn off device driver to flush output. 656 # Turn off device driver to flush output.
651 dev.off() 657 dev.off()