[ ] Update carrying capacity function in habitat-class. This will convert habitat suitability to carrying capacity.
[ ] Generate a density dependence function/class which can can directly manipulate habitat (rather than current hack). e.g: turn something like this into a standalone function:
ddfun <- function (pop) { adult_density <- pop; .9 * exp(-adult_density/80)* pop }
[ ] I'm thinking we might need to have two modules classes - one which manipulates the landscape and one that manipulates the population (similar to harvest in RAMAS). Alternatively we could setup module to directly act on one of three core function - demography, habitat or dispersal.
[ ] Give function all internal objects a time stamp.
[ ] Set up event scheduler in experiment.
[ ] Cache the objects which remain constant through our the simulation (raster that are supplied by not manipulated; e.g. if you have fire history for x years).
[ ] need to update fire module to return habitat_suitability that's been altered by fire - rather than the fire spread.
ddfun <- function (pop) { adult_density <- pop; .9 * exp(-adult_density/80)* pop }