Nothing
demoniche_dispersal <-
function(seeds_per_population, fraction_LDD, fraction_SDD,
dispersal_probabilities, dist_latlong, neigh_index)
{
seeds_per_population_migrate_LDD <- seeds_per_population * fraction_LDD # how many seeds each patch lost.
seeds_per_population_migrate_SDD <- seeds_per_population * fraction_SDD
# seeds_per_population_stay <- seeds_per_population - seeds_per_population_migrate
seeds_per_population_new_SDD <- seeds_per_population_new_LDD <-rep(0,length(seeds_per_population))
################################################################################
if(fraction_SDD > 0) # Dispersal to contigous cells
################################################################################
{
# Create a subset of only occupied patches.
source_patches <- which(seeds_per_population_migrate_SDD > 0)
for(px_orig in source_patches) # for each origin patch px_orig = 2
{
for(pxdisp_new in 1:length(seeds_per_population_migrate_SDD)) # for each new possible patch pxdisp_new = 2 px_orig = 1
{
# if(px_orig == pxdisp_new) break
# print(paste( px_orig, pxdisp_new))
if(dist_latlong[pxdisp_new, px_orig] == neigh_index[1])
{
seeds_per_population_new_SDD[pxdisp_new] <- # where do they go?
seeds_per_population_new_SDD[pxdisp_new] + (seeds_per_population_migrate_SDD[px_orig] * 0.2) # these are the dispersing seeds # addseeds[pxdisp_new] +
# print(paste("dispersal contingous: px_orig", px_orig, "to pxdisp_new",pxdisp_new, sep = " "))
}
if( length(neigh_index) == 2 ){
if(dist_latlong[pxdisp_new, px_orig] == neigh_index[2])
{
seeds_per_population_new_SDD[pxdisp_new] <-
seeds_per_population_new_SDD[pxdisp_new] + (seeds_per_population_migrate_SDD[px_orig] * 0.05) #addseeds[pxdisp_new] +
# print(paste("dispersal sideways: px_orig", px_orig, "to pxdisp_new", pxdisp_new, sep = " "))
}
}
} # end pxdisp_new
} # end px_orig
# return
# plot( seeds_per_population-ret)
}
################################################################################
################################################################################
if(fraction_LDD > 0) { # If colonization of new patches
# dist_populations <- dist_populations[1:10,1:10]
# the probability that seeds reach the other patch
# add <- (1- colSums(probs)) / (nrow(probs) - 1) # each column has to sum one because no seeds 'die'
# for(ix in 1:ncol(probs)){ probs[ix,] <- probs[ix,] + add }
# seeds_per_population_migrate2 <- seeds_per_population_migrate #[891:900]
# probs[,1]
# dispersal_probabilities2 <- dispersal_probabilities *1000000000000000000000000000
seeds_per_population_new_LDD <-
as.vector(dispersal_probabilities %*% seeds_per_population_migrate_LDD)
# plot(seeds_per_population_migrate3)
################################################################################
} # end if numeric LDD
seeds_stay <-
(seeds_per_population - seeds_per_population_migrate_SDD - seeds_per_population_migrate_LDD)
return(seeds_stay + seeds_per_population_new_SDD + seeds_per_population_new_LDD)
} # end fcn
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.