Loading [MathJax]/extensions/ams.js
ALMaSS  1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VolePopulationManager.cpp File Reference

VolePopulationManager.cpp This file contains the source for the vole population manager class
More...

#include <cstring>
#include <vector>
#include <iostream>
#include <fstream>
#include "../Landscape/ls.h"
#include "../BatchALMaSS/PopulationManager.h"
#include "../BatchALMaSS/AOR_Probe.h"
#include "../BatchALMaSS/BinaryMapBase.h"
#include "../BatchALMaSS/MovementMap.h"
#include "../Vole/vole_all.h"
#include "../Vole/VolePopulationManager.h"
#include "../Vole/GeneticMaterial.h"
#include "../Vole/Vole_toletoc.h"

Variables

double MutationChance
 
CfgInt cfg_CatastropheEventStartYear
 
CfgInt cfg_PmEventfrequency
 
CfgInt cfg_PmEventsize
 
CfgBool cfg_ReallyBigOutputMonthly_used
 
CfgBool cfg_CfgRipleysOutputUsed
 
CfgBool cfg_ReallyBigOutputUsed
 
CfgFloat cfg_extradispmort
 Input parameter for daily extra mortality chance while dispersing. More...
 
double g_extradispmort
 
double g_DailyMortChance
 
double g_DailyMortChanceMaleTerr
 
double g_NoFemalesMove
 
CfgInt cfg_VoleDDepConst
 
int g_sigAgeDiff
 
int MinReproAgeM
 
int MinReproAgeF
 
CfgInt cfg_MinReproAgeM
 
CfgInt cfg_MinReproAgeF
 
unsigned char g_MaxAllele
 
static CfgInt cfg_vole_reprofinishdate ("VOLE_REPROFINISHDATE", CFG_CUSTOM, 243)
 
static CfgBool cfg_VoleSampleDataUsed ("VOLE_SAMPLE_FILE_USED", CFG_CUSTOM, false)
 
static CfgInt cfg_VoleSampleFileDayOne ("VOLE_SAMPLE_FILE_DAY_ONE", CFG_CUSTOM, 109)
 
static CfgInt cfg_VoleSampleFileDayTwo ("VOLE_SAMPLE_FILE_DAY_TWO", CFG_CUSTOM, 287)
 
static CfgFloat cfg_VoleFemaleMove ("VOLE_FEMALEMOVE", CFG_CUSTOM, 0.0505)
 
static CfgInt cfg_MateRadius ("FEMALE_MATE_RADIUS", CFG_CUSTOM, 250)
 
static CfgFloat cfg_VoleBackgroundMort ("VOLE_BCKMORT", CFG_CUSTOM, 0.0025)
 
static CfgFloat cfg_MoveToLessFavourable ("VOLEMOVETOLESSFAVOURALBLE", CFG_CUSTOM, 0.005)
 
static CfgInt cfg_sigAgeDiff ("VOLE_SIGAGEDIFF", CFG_CUSTOM, 30)
 
static CfgInt cfg_geneticproductfertilityeffect ("VOLE_GENETICPRODUCTFERTILITYEFFECT", CFG_CUSTOM, 50)
 
static CfgFloat cfg_geneticsterilitychance ("VOLE_GENETICSTERILITYCHANCE", CFG_CUSTOM, 0)
 
static CfgFloat cfg_f1sterilitychance ("VOLE_FONESTERILITYCHANCE", CFG_CUSTOM, 0.0)
 
static CfgBool cfg_genetic_output ("VOLE_GENETIC_OUTPUT", CFG_CUSTOM, true)
 
static CfgInt cfg_genetetic_output_sample_size ("VOLE_GENETIC_SAMPLE_SIZE", CFG_CUSTOM, 500)
 
static CfgInt cfg_GeneticsResultOutputFirstYear ("GENETICS_RESULT_OUTPUT_FIRST_YEAR", CFG_CUSTOM, 100000)
 
static CfgInt cfg_GeneticResultOutputSecondYear ("GENETICS_RESULT_OUTPUT_SECOND_YEAR", CFG_CUSTOM, 100000)
 
CfgBool cfg_GeneticsResultOutputUsed ("GENETICS_RESULT_OUTPUT_USED", CFG_CUSTOM, false)
 
static CfgInt cfg_GeneticsResultOutputInterval_1 ("GENETICS_RESULT_OUTPUT_INTERVAL_ONE", CFG_CUSTOM, 100000)
 
static CfgInt cfg_GeneticsResultOutputDay_1 ("GENETICS_RESULT_OUTPUT_DAY_ONE", CFG_CUSTOM, 3)
 
static CfgInt cfg_GeneticsResultOutputDay_2 ("GENETICS_RESULT_OUTPUT_DAY_TWO", CFG_CUSTOM, 6)
 
static CfgBool cfg_VoleUseResistanceOuput ("VOLE_RESISTANCEOUTPUT_ON_OFF", CFG_CUSTOM, false)
 
static CfgInt cfg_VoleResistanceDay ("VOLE_RESISTANCEOUTPUT_DAY", CFG_CUSTOM, 365)
 
static CfgFloat cfg_ResistanceStartFrequency ("VOLE_RESISTANCESTARTFREQ", CFG_CUSTOM, 0.01)
 
static CfgBool cfg_UseVoleTraplines ("VOLE_TRAPLINES_ON_OFF", CFG_CUSTOM, false)
 
static CfgStr cfg_VoleTraplinesfile ("VOLE_TRAPLINESFILE", CFG_CUSTOM, "VoleTraplines.txt")
 
static CfgInt cfg_VoleTrapResolution ("VOLE_TRAPRESOLUTION", CFG_CUSTOM, 2)
 
CfgBool cfg_RecordVoleMort ("VOLE_RECORDMORT_ON", CFG_CUSTOM, false)
 
static CfgStr cfg_VoleRecordMortFile ("VOLE_RECORDMORTFILE", CFG_CUSTOM, "VoleMortalityCauses.txt")
 
CfgBool cfg_SexRatiosOutput_used ("VOLE_SEXRATIOSOUTPUT_USED", CFG_CUSTOM, false)
 
static CfgStr cfg_SexRatiosOutput_filename ("VOLE_SEXRATIOS_FILENAME", CFG_CUSTOM, "VoleSexRatios.txt")
 
static CfgInt cfg_SexRatiosOutput_interval ("VOLE_SEXRATIOSOUTPUT_INTERVAL", CFG_CUSTOM, 1)
 
static CfgInt cfg_SexRatiosOutput_day ("VOLE_SEXRATIOSOUTPUT_DAY", CFG_CUSTOM, -1)
 
static CfgInt cfg_SexRatiosOutputFirstYear ("VOLE_SEXRATIOSOUTPUT_FIRSTYEAR", CFG_CUSTOM, 1)
 
static CfgBool cfg_voleLandscapeGridOutputUsed ("VOLE_LANDSCAPEGRIDOUTPUTUSED", CFG_CUSTOM, true)
 
static CfgInt cfg_voleLandscapeGridOutputDay ("VOLE_LANDSCAPEGRIDOUTPUTDAY", CFG_CUSTOM, 10000)
 
static CfgBool cfg_volestartinoptimalonly ("VOLE_STARTINOPTIMALONLY", CFG_CUSTOM, false)
 
double MoveToLessFavourable
 
static CfgInt cfg_vole_starting_numberM ("VOLE_START_NO_M", CFG_CUSTOM, 5000)
 
static CfgInt cfg_vole_starting_numberF ("VOLE_START_NO_F", CFG_CUSTOM, 5000)
 
static CfgFloat cfg_GrassStartGrowth ("VOLE_GRASSSTARTGROWTH", CFG_CUSTOM, 3.552)
 
static CfgFloat cfg_GrassStartGrowthDay ("VOLE_GRASSSTARTGROWTHDAY", CFG_CUSTOM, 80)
 
static CfgBool cfg_useagesexlocation ("VOLE_USEAGESEXLOCATION", CFG_CUSTOM, false)
 
const float ReproTable_base [2][12]
 
static CfgFloat cfg_MutationChance ("GENETICS_MUTATION_CHANCE", CFG_CUSTOM, 0.001)
 
static CfgInt cfg_MaxAllele ("GENETICS_MAXALLELE", CFG_CUSTOM, 255)
 
int g_MaleReproductFinish
 
CfgInt cfg_MinFemaleTerritorySize
 
CfgInt cfg_MinMaleTerritorySize
 
CfgBool cfg_ResistanceDominant
 

Detailed Description

VolePopulationManager.cpp This file contains the source for the vole population manager class

by Chris J. Topping
Version of 28th Jan 2001

With additions as noted in:
April 2006
November 2007
Doxygen formatted comments in May 2008

Variable Documentation

◆ cfg_CatastropheEventStartYear

CfgInt cfg_CatastropheEventStartYear

The first year for catastrophes

Referenced by Vole_Population_Manager::Catastrophe().

◆ cfg_CfgRipleysOutputUsed

CfgBool cfg_CfgRipleysOutputUsed

◆ cfg_extradispmort

CfgFloat cfg_extradispmort

Input parameter for daily extra mortality chance while dispersing.

Extra mortality for dispersing individuals

Referenced by Vole_Population_Manager::DoFirst(), and Vole_Population_Manager::Init().

◆ cfg_f1sterilitychance

CfgFloat cfg_f1sterilitychance("VOLE_FONESTERILITYCHANCE", CFG_CUSTOM, 0.0)
static

Toxicological variable for specific pesticide effects

Referenced by Vole_Population_Manager::Init().

◆ cfg_genetetic_output_sample_size

CfgInt cfg_genetetic_output_sample_size("VOLE_GENETIC_SAMPLE_SIZE", CFG_CUSTOM, 500)
static

The number of each sex to sample for genetics

Referenced by Vole_Population_Manager::DoFirst().

◆ cfg_genetic_output

CfgBool cfg_genetic_output("VOLE_GENETIC_OUTPUT", CFG_CUSTOM, true)
static

Record genetic data or not

◆ cfg_geneticproductfertilityeffect

CfgInt cfg_geneticproductfertilityeffect("VOLE_GENETICPRODUCTFERTILITYEFFECT", CFG_CUSTOM, 50)
static

Toxicological variable for specific pesticide effects

Referenced by Vole_Population_Manager::Init().

◆ cfg_GeneticResultOutputSecondYear

CfgInt cfg_GeneticResultOutputSecondYear("GENETICS_RESULT_OUTPUT_SECOND_YEAR", CFG_CUSTOM, 100000)
static

◆ cfg_GeneticsResultOutputDay_1

CfgInt cfg_GeneticsResultOutputDay_1("GENETICS_RESULT_OUTPUT_DAY_ONE", CFG_CUSTOM, 3)
static

◆ cfg_GeneticsResultOutputDay_2

CfgInt cfg_GeneticsResultOutputDay_2("GENETICS_RESULT_OUTPUT_DAY_TWO", CFG_CUSTOM, 6)
static

◆ cfg_GeneticsResultOutputFirstYear

CfgInt cfg_GeneticsResultOutputFirstYear("GENETICS_RESULT_OUTPUT_FIRST_YEAR", CFG_CUSTOM, 100000)
static

◆ cfg_GeneticsResultOutputInterval_1

CfgInt cfg_GeneticsResultOutputInterval_1("GENETICS_RESULT_OUTPUT_INTERVAL_ONE", CFG_CUSTOM, 100000)
static

◆ cfg_GeneticsResultOutputUsed

CfgBool cfg_GeneticsResultOutputUsed("GENETICS_RESULT_OUTPUT_USED", CFG_CUSTOM, false)

◆ cfg_geneticsterilitychance

CfgFloat cfg_geneticsterilitychance("VOLE_GENETICSTERILITYCHANCE", CFG_CUSTOM, 0)
static

Toxicological variable for specific pesticide effects

Referenced by Vole_Population_Manager::Init().

◆ cfg_GrassStartGrowth

CfgFloat cfg_GrassStartGrowth("VOLE_GRASSSTARTGROWTH", CFG_CUSTOM, 3.552)
static

The mean temperature over 14 days at which the grass is assummed to start to grow

Referenced by Vole_Population_Manager::DoFirst().

◆ cfg_GrassStartGrowthDay

CfgFloat cfg_GrassStartGrowthDay("VOLE_GRASSSTARTGROWTHDAY", CFG_CUSTOM, 80)
static

The date before which repro is impossible

Referenced by Vole_Population_Manager::DoFirst().

◆ cfg_MateRadius

CfgInt cfg_MateRadius("FEMALE_MATE_RADIUS", CFG_CUSTOM, 250)
static

◆ cfg_MaxAllele

CfgInt cfg_MaxAllele("GENETICS_MAXALLELE", CFG_CUSTOM, 255)
static

The maximum allele value used

Referenced by Vole_Population_Manager::Init().

◆ cfg_MinFemaleTerritorySize

CfgInt cfg_MinFemaleTerritorySize

Minimum territory size for females

Referenced by Vole_Base::Init().

◆ cfg_MinMaleTerritorySize

CfgInt cfg_MinMaleTerritorySize

Minimum territory size for males

Referenced by Vole_Base::Init().

◆ cfg_MinReproAgeF

CfgInt cfg_MinReproAgeF

◆ cfg_MinReproAgeM

CfgInt cfg_MinReproAgeM

◆ cfg_MoveToLessFavourable

CfgFloat cfg_MoveToLessFavourable("VOLEMOVETOLESSFAVOURALBLE", CFG_CUSTOM, 0.005)
static

The probability of moving to less favourable habitats when walking

Referenced by Vole_Population_Manager::Init().

◆ cfg_MutationChance

CfgFloat cfg_MutationChance("GENETICS_MUTATION_CHANCE", CFG_CUSTOM, 0.001)
static

Mutation probability

Referenced by Vole_Population_Manager::Init().

◆ cfg_PmEventfrequency

CfgInt cfg_PmEventfrequency

The frequency of catastrophes

Referenced by Vole_Population_Manager::Catastrophe().

◆ cfg_PmEventsize

CfgInt cfg_PmEventsize

The size of catastrophes

Referenced by Vole_Population_Manager::Catastrophe().

◆ cfg_ReallyBigOutputMonthly_used

CfgBool cfg_ReallyBigOutputMonthly_used

Raw data for spatial output for calculating Ripley's spatial statistics

◆ cfg_ReallyBigOutputUsed

CfgBool cfg_ReallyBigOutputUsed

Raw data for spatial output for calculating Ripley's spatial statistics with additional information about habitat and physiology

Referenced by Vole_Population_Manager::Init().

◆ cfg_RecordVoleMort

◆ cfg_ResistanceDominant

CfgBool cfg_ResistanceDominant

◆ cfg_ResistanceStartFrequency

CfgFloat cfg_ResistanceStartFrequency("VOLE_RESISTANCESTARTFREQ", CFG_CUSTOM, 0.01)
static

The starting frequency of '1' in chromosome 0 locus no 3

Referenced by Vole_Population_Manager::Init().

◆ cfg_SexRatiosOutput_day

CfgInt cfg_SexRatiosOutput_day("VOLE_SEXRATIOSOUTPUT_DAY", CFG_CUSTOM, -1)
static

◆ cfg_SexRatiosOutput_filename

CfgStr cfg_SexRatiosOutput_filename("VOLE_SEXRATIOS_FILENAME", CFG_CUSTOM, "VoleSexRatios.txt")
static

◆ cfg_SexRatiosOutput_interval

CfgInt cfg_SexRatiosOutput_interval("VOLE_SEXRATIOSOUTPUT_INTERVAL", CFG_CUSTOM, 1)
static

◆ cfg_SexRatiosOutput_used

CfgBool cfg_SexRatiosOutput_used("VOLE_SEXRATIOSOUTPUT_USED", CFG_CUSTOM, false)

◆ cfg_SexRatiosOutputFirstYear

CfgInt cfg_SexRatiosOutputFirstYear("VOLE_SEXRATIOSOUTPUT_FIRSTYEAR", CFG_CUSTOM, 1)
static

◆ cfg_sigAgeDiff

CfgInt cfg_sigAgeDiff("VOLE_SIGAGEDIFF", CFG_CUSTOM, 30)
static

The age difference before an old male can oust a younger one

Referenced by Vole_Population_Manager::Init().

◆ cfg_useagesexlocation

CfgBool cfg_useagesexlocation("VOLE_USEAGESEXLOCATION", CFG_CUSTOM, false)
static

◆ cfg_UseVoleTraplines

CfgBool cfg_UseVoleTraplines("VOLE_TRAPLINES_ON_OFF", CFG_CUSTOM, false)
static

◆ cfg_vole_reprofinishdate

CfgInt cfg_vole_reprofinishdate("VOLE_REPROFINISHDATE", CFG_CUSTOM, 243)
static

◆ cfg_vole_starting_numberF

CfgInt cfg_vole_starting_numberF("VOLE_START_NO_F", CFG_CUSTOM, 5000)
static

How many female voles to start with

Referenced by Vole_Population_Manager::Init().

◆ cfg_vole_starting_numberM

CfgInt cfg_vole_starting_numberM("VOLE_START_NO_M", CFG_CUSTOM, 5000)
static

How many male voles to start with

Referenced by Vole_Population_Manager::Init().

◆ cfg_VoleBackgroundMort

CfgFloat cfg_VoleBackgroundMort("VOLE_BCKMORT", CFG_CUSTOM, 0.0025)
static

The unspecified background mortality rate

Referenced by Vole_Population_Manager::DoFirst(), and Vole_Population_Manager::Init().

◆ cfg_VoleDDepConst

◆ cfg_VoleFemaleMove

CfgFloat cfg_VoleFemaleMove("VOLE_FEMALEMOVE", CFG_CUSTOM, 0.0505)
static

◆ cfg_voleLandscapeGridOutputDay

CfgInt cfg_voleLandscapeGridOutputDay("VOLE_LANDSCAPEGRIDOUTPUTDAY", CFG_CUSTOM, 10000)
static

◆ cfg_voleLandscapeGridOutputUsed

CfgBool cfg_voleLandscapeGridOutputUsed("VOLE_LANDSCAPEGRIDOUTPUTUSED", CFG_CUSTOM, true)
static

◆ cfg_VoleRecordMortFile

CfgStr cfg_VoleRecordMortFile("VOLE_RECORDMORTFILE", CFG_CUSTOM, "VoleMortalityCauses.txt")
static

◆ cfg_VoleResistanceDay

CfgInt cfg_VoleResistanceDay("VOLE_RESISTANCEOUTPUT_DAY", CFG_CUSTOM, 365)
static

The day in the year to output the resitance gene frequency

Referenced by Vole_Population_Manager::DoFirst().

◆ cfg_VoleSampleDataUsed

CfgBool cfg_VoleSampleDataUsed("VOLE_SAMPLE_FILE_USED", CFG_CUSTOM, false)
static

◆ cfg_VoleSampleFileDayOne

CfgInt cfg_VoleSampleFileDayOne("VOLE_SAMPLE_FILE_DAY_ONE", CFG_CUSTOM, 109)
static

◆ cfg_VoleSampleFileDayTwo

CfgInt cfg_VoleSampleFileDayTwo("VOLE_SAMPLE_FILE_DAY_TWO", CFG_CUSTOM, 287)
static

◆ cfg_volestartinoptimalonly

CfgBool cfg_volestartinoptimalonly("VOLE_STARTINOPTIMALONLY", CFG_CUSTOM, false)
static

◆ cfg_VoleTraplinesfile

CfgStr cfg_VoleTraplinesfile("VOLE_TRAPLINESFILE", CFG_CUSTOM, "VoleTraplines.txt")
static

◆ cfg_VoleTrapResolution

CfgInt cfg_VoleTrapResolution("VOLE_TRAPRESOLUTION", CFG_CUSTOM, 2)
static

◆ cfg_VoleUseResistanceOuput

CfgBool cfg_VoleUseResistanceOuput("VOLE_RESISTANCEOUTPUT_ON_OFF", CFG_CUSTOM, false)
static

◆ g_DailyMortChance

double g_DailyMortChance

risk of daily mortality

Mortality per day as a background mortality encompassing all things not directly modelled. This may include specialist predators if they are not simulated - if they are then reduce this value

Referenced by Vole_Population_Manager::DoFirst(), Vole_Population_Manager::Init(), Vole_Base::MortalityTest(), and Vole_Male::MortalityTest().

◆ g_DailyMortChanceMaleTerr

double g_DailyMortChanceMaleTerr

◆ g_extradispmort

◆ g_MaleReproductFinish

int g_MaleReproductFinish

1/10 deduced from Erlinge et al, 1983

Referenced by Vole_Population_Manager::DoFirst(), and Vole_Population_Manager::Init().

◆ g_MaxAllele

unsigned char g_MaxAllele

◆ g_NoFemalesMove

◆ g_sigAgeDiff

int g_sigAgeDiff

Age difference required before eviction by older male

Referenced by Vole_Population_Manager::Init(), and Vole_Population_Manager::SupplyInOlderTerr().

◆ MinReproAgeF

◆ MinReproAgeM

int MinReproAgeM

The youngest a male can be reproductive at.

Referenced by Vole_JuvenileMale::EndStep(), and Vole_Population_Manager::Init().

◆ MoveToLessFavourable

double MoveToLessFavourable

This is specified as a global because it avoids costing time on look-ups.
This is needed because of the extreme CPU intensive movement functions

Referenced by Vole_Base::DoWalking(), Vole_Base::DoWalkingCorrect(), and Vole_Population_Manager::Init().

◆ MutationChance

◆ ReproTable_base

const float ReproTable_base[2][12]
Initial value:
= {
{0, 0, 0, 0, 4, 4, 4, 4, 3, 2, 3, 0},
{0, 0, 4, 4, 5, 5, 5, 5, 4, 4, 0, 0}
}

Litter sizes dependent upon month and year

Referenced by Vole_Population_Manager::Init().