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
PoecilusCupreus_Population_Manager Class Referencefinal

#include <PoecilusCupreus_All.h>

Inheritance diagram for PoecilusCupreus_Population_Manager:
Beetle_Population_Manager Population_Manager Population_Manager_Base

Public Member Functions

 PoecilusCupreus_Population_Manager (Landscape *a_l_ptr)
 Constructor. More...
 
 ~PoecilusCupreus_Population_Manager () override=default
 Destructor: the same as in base class. More...
 
void CreateObjects (int ob_type, TAnimal *a_pvo_ptr, void *null, Struct_Beetle *a_data, int a_number) override
 Method to add beetles to the population. More...
 
bool OnFarmEvent (FarmToDo a_event, Beetle_Base *a_caller) override
 Method dealing with the farming mortalities. More...
 
bool OnFarmEventPupae (FarmToDo event, Beetle_Base *a_caller) override
 Method dealing with the farming mortalities this differs for pupae. More...
 
void CalculateDailyEggProduction (double a_temp) override
 Figure out the maximum number of eggs that can be laid today - must be overridden in descendent classes. More...
 
double GetEggFormationProgress (int a_day) const
 Returns the current progress towards egg formation based on a given date to become reproductively active. More...
 
double GetOvipositionPeriodProgress (int a_day) const
 Returns the current progress towards ending the oviposition period based on the first active day. More...
 
double CalcDailyEggFormationProgress (double a_temp)
 Calculates the additional development for egg formation for today. More...
 
void CalcDailyRandomEggFactor (double a_temp)
 Updates DailyRandomEggFactor. Should be called daily
More...
 
void CalcDormancyChance (double a_temp, int a_day)
 Updates probability of enterning dormancy. Should be called daily
More...
 
void CalcDormancyExitChance (double a_temp, int a_day)
 Updates probability of leaving dormancy. Should be called daily
More...
 
bool FertilizerMortality (FarmToDo a_event)
 The method that deals with the fertilizer mortality for the larvae. More...
 
void SetPc_Treatment_Mortalities ()
 Hard-coded for now method to set fertilizer mortality chances. More...
 
double GetDormancyChance () const
 Get the daily chance to enter dormancy. More...
 
double GetDormancyExitChance () const
 Get the daily chance to exit dormancy. More...
 
void DoLast () override
 Adds output adult locations to DoLast. More...
 
- Public Member Functions inherited from Beetle_Population_Manager
 Beetle_Population_Manager (Landscape *a_l_ptr, int a_n)
 Beetle_Population_Manager Constructor. More...
 
 ~Beetle_Population_Manager () override
 Beetle_Population_Manager Destructor. More...
 
void DoFirst () override
 Does day degree development calculations here. More...
 
void DoBefore () override
 Replaces the Step function for the Egg_List. More...
 
unsigned Probe (int a_ListIndex, Probe_Data *a_TheProbe_ptr) override
 Overides the Population_Manager::Probe method. More...
 
int SupplyEggPopSize () const
 Get egg population size. More...
 
int SupplyDailyEggPopSize (const int day) const
 Get the number of eggs created on a given day. More...
 
void SupplyEggLocXY (unsigned day, int j, int &x, int &y) const
 Get the location of an egg from a given day. More...
 
double SupplyDevelConst1 (unsigned a_index) const
 
virtual double SupplyDayDegs (const unsigned a_stage, const int a_day)
 Get the day degress experienced this year for a specific day created and instar/stage. More...
 
unsigned GetPopulationSize (int) override
 Returns the population size of the lifestage type bobType. More...
 
void OpenTheAOROutputProbe (const string &a_AORFilename) override
 Opens the AOR output file. More...
 
void DoBeetleActiveProbe (int a_lifestage)
 Counts all active beetles and saves the results to a file. More...
 
void SetStageProductionRecord (int a_value, int a_stage)
 Sets stage production record attribute. More...
 
int GetStageProductionRecord (int a_stage) const
 Gets the stage production record attribute. More...
 
void AddStageProductionRecord (int a_value, int a_stage)
 Adds to the stage production record attribute. More...
 
- Public Member Functions inherited from Population_Manager
 Population_Manager (Landscape *a_l_ptr, int a_numberLifeStages=12)
 
virtual ~Population_Manager (void)
 
void SetNoProbesAndSpeciesSpecificFunctions (int a_pn) override
 Sets up probe and species specifics. More...
 
unsigned GetLiveArraySize (int a_listindex) override
 Gets the number of 'live' objects for a list index in the TheArray. More...
 
void IncLiveArraySize (int a_listindex)
 Increments the number of 'live' objects for a list index in the TheArray. More...
 
unsigned int FarmAnimalCensus (unsigned int a_farm, unsigned int a_typeofanimal)
 
char * SpeciesSpecificReporting (int a_species, int a_time) override
 
char * ProbeReport (int a_time)
 
char * ProbeReportTimed (int a_time)
 
void ImpactProbeReport (int a_Time)
 
bool BeginningOfMonth ()
 
void LOG (const char *fname)
 
int SupplyStepSize () const
 
void Run (int NoTSteps) override
 
virtual void ImpactedProbe ()
 
virtual TAnimalSupplyAnimalPtr (unsigned int a_index, unsigned int a_animal)
 Returns the pointer indexed by a_index and a_animal. Note NO RANGE CHECK. More...
 
virtual unsigned SupplyListIndexSize ()
 
unsigned SupplyListSize (unsigned listindex) const
 
void PushIndividual (const unsigned a_listindex, TAnimal *a_individual_ptr)
 
const char * SupplyStateNames (int i) const
 
unsigned SupplyStateNamesLength () const
 
virtual void DisplayLocations ()
 
TAnimalFindIndividual (unsigned Type, TAnimal *a_me)
 
virtual TAnimalFindClosest (int x, int y, unsigned Type, TAnimal *a_me)
 
omp_nest_lock_t * GetGuardMapElement (unsigned a_x_index, unsigned a_y_index)
 Return the guard map cell. More...
 
void SetGuardMapElement (unsigned a_x_index, unsigned a_y_index)
 Set the given guard map cell. More...
 
void UnsetGuardMapElement (unsigned a_x_index, unsigned a_y_index)
 Unset the given guard map cell. More...
 
void UpdateGuardMap (int a_x, int a_y, int &a_index_x, int &a_index_y)
 Get the index of the guard map for the given location. More...
 
bool OpenTheRipleysOutputProbe ()
 
bool OpenTheMonthlyRipleysOutputProbe ()
 
bool OpenTheReallyBigProbe ()
 
void CloseTheMonthlyRipleysOutputProbe () const
 
virtual void CloseTheRipleysOutputProbe ()
 
virtual void CloseTheReallyBigOutputProbe ()
 
TTypesOfPopulation GetPopulationType ()
 
int GetSeasonNumber ()
 Get the season number. More...
 
void LamdaDeath (int x, int y)
 
void LamdaBirth (int x, int y)
 
void LamdaBirth (int x, int y, int z)
 
void LamdaClear ()
 
void LamdaDumpOutput ()
 
virtual int SupplyPegPosx (int)
 
virtual int SupplyPegPosy (int)
 
virtual int SupplyCovPosx (int)
 
virtual int SupplyCovPosy (int)
 
virtual bool OpenTheFledgelingProbe ()
 
virtual bool OpenTheBreedingPairsProbe ()
 
virtual bool OpenTheBreedingSuccessProbe ()
 
virtual void BreedingPairsOutput (int)
 
virtual int TheBreedingFemalesProbe (int)
 
virtual int TheFledgelingProbe ()
 
virtual void BreedingSuccessProbeOutput (double, int, int, int, int, int, int, int)
 
virtual int TheBreedingSuccessProbe (int &, int &, int &, int &, int &, int &)
 
virtual void FledgelingProbeOutput (int, int)
 
virtual void TheGeneticProbe (unsigned, int, unsigned &)
 
virtual void GeneticsResultsOutput (FILE *, unsigned)
 
void Debug_Shuffle (unsigned int Type)
 
virtual void RunStepMethods ()
 
- Public Member Functions inherited from Population_Manager_Base
 Population_Manager_Base (Landscape *L)
 The Population_Manager_Base constructor. More...
 
virtual void Catastrophe (int)
 Must be re-implemented in descendent classes. More...
 
int SupplySimW () const
 Returns landscape width in m. More...
 
int SupplySimH () const
 Returns landscape height in m. More...
 
int SupplySimWH () const
 Returns half the landscape width in m. More...
 
int SupplySimHH () const
 Returns half the landscape height in m. More...
 
virtual int ProbeFileInput (char *p_Filename, int p_ProbeNo)
 A stub to build specfic probes and functions. More...
 
int SupplyListNameLength () const
 
const char * SupplyListName (int a_i) const
 Get a list name from the list. More...
 
virtual void SupplyLocXY (unsigned, unsigned, int &, int &)
 A stub for identifying an individual at a location. More...
 
virtual TAnimalFindClosest (int, int, unsigned)
 A stub for identifying an individual at a location. More...
 
std::string SupplySimulationName ()
 
void SetStepCounterInADay (int a_counter)
 Set step counter in a day. More...
 
int GetStepCounterInADay (void)
 Return the sep counter in a day. More...
 
virtual double GetAphidDensity (int, int)
 Return the aphid density, it is only used when aphid simulations are running. More...
 

Static Public Member Functions

static double CalcOvipositionLength (double a_temp)
 Uses day degrees to determine when the oviposition period is over. More...
 

Public Attributes

TTreatmentvsMortalityList m_Pc_Treatment_Mortalities
 The list that summarises farming events that involve fertilizer applications and the mortalities they cause. More...
 
- Public Attributes inherited from Beetle_Population_Manager
long m_EPopSize {0}
 To store the current population size. More...
 
std::unique_ptr< MovementMapm_MoveMap
 Map of suitability for movement. More...
 
std::unique_ptr< std::vector< std::unique_ptr< Beetle_Egg_List > > > m_EList {nullptr}
 Replacement for TheArray[0]. More...
 
- Public Attributes inherited from Population_Manager
bool ProbesSet {}
 
- Public Attributes inherited from Population_Manager_Base
Probe_DataTheProbe [100] = {nullptr}
 Holds a list of pointers to standard output probes. More...
 

Protected Member Functions

void DayDegreeCalculations (int a_dayinyear, bool a_usehourly) override
 Does day degree development calculations here. More...
 
- Protected Member Functions inherited from Beetle_Population_Manager
void Catastrophe () override
 Method to arbitrarily alter populations size. More...
 
void Catastrophe2 ()
 Method to arbitrarily alter populations size restricted spatially. More...
 
void TheRipleysOutputProbe (ofstream *a_prb) override
 Special output functionality. More...
 
void TheReallyBigOutputProbe () override
 Special output functionality. More...
 
void TheAOROutputProbe () override
 Special output functionality. More...
 
bool IsStartHabitat (int a_x, int a_y) const
 Used to specify legal starting habitats for simulation start-up. More...
 
bool IsStartHabitatAux (TTypesOfLandscapeElement tole) const
 Used to specify legal starting habitats for simulation start-up. More...
 
virtual void DoExtremeTempActions (double a_airtemp)
 Species specific actions to cope with response to extreme temperature, if needed. More...
 
virtual void DoEggDailyMortalityActions (double a_atemptoday)
 Species specific actions to cope with temperature related egg mortality. More...
 
virtual void DoLarvalDailyMortalityActions (double a_atemptoday)
 Species specific actions to cope with temperature related laval mortality. More...
 
void SetAdultEggLayingThreshold (const double a_value)
 Set the temperature threshold for egg laying. More...
 
void incInField ()
 Increments in field counter. More...
 
void incInCrop ()
 Increments in crop counter. More...
 
void incOffField ()
 Increments off field counter. More...
 
void PestMortLocOutput ()
 Annual pesticide mortality locations output. More...
 
- Protected Member Functions inherited from Population_Manager
virtual bool StepFinished ()
 Methods to run the simulations. More...
 
virtual void DoAfter ()
 
virtual void DoSpecialBetweenLifeStages (int a_life_stage)
 
virtual void SortX (unsigned Type)
 
void SortXIndex (unsigned Type)
 
virtual void SortY (unsigned Type)
 
void SortState (unsigned Type)
 
void SortStateR (unsigned Type)
 
virtual unsigned PartitionLiveDead (unsigned Type)
 
virtual void Shuffle_or_Sort (unsigned Type)
 
virtual void Shuffle (unsigned Type)
 
- Protected Member Functions inherited from Population_Manager_Base
 ~Population_Manager_Base ()=default
 

Static Protected Member Functions

static void SetMeanDistance (double a_temp)
 Determines the base distance moved today. More...
 
- Static Protected Member Functions inherited from Beetle_Population_Manager
static void PestMortLocOutputOpen ()
 Annual pesticide mortality output file open. More...
 
static void PestMortLocOutputError ()
 Pesticide mortality output error handling. More...
 

Protected Attributes

double m_CurrentEggFormationProgress {0.0}
 
double m_DailyEggVariance {0.0}
 Used to store the daily variance in egg production. More...
 
double m_DormancyChance {0.0}
 Used to store the daily chance to enter dormancy. More...
 
double m_DormancyExitChance {0.0}
 Used to store the daily chance to exit dormancy. More...
 
std::array< double, 365 > m_EggFormationProgress {}
 Storage for daily eggformation progress. More...
 
std::array< double, 365 > m_OvipostitionlengthProgress {}
 Storage for daily oviposition period progress. More...
 
double m_Dormancy_threshold {5.0}
 Threshold temeperature. eac h day below that temperature increases hibernation chances. More...
 
double m_Dormancy_multiplier {1.2}
 The multiplier to apply if below the threshold dormancy_threshold. More...
 
double m_Dormancy_exit_threshold {8.0}
 Threshold for dormancy exit temperature. each day above that temperature increases hibernation exit chances. More...
 
double m_Dormancy_exit_multiplier {1.2}
 The multiplier to apply if above the threshold dormancy_exit_threshold. More...
 
double m_PoecilusDailyEggFactorA {0.0}
 Parameter a used to calculate the number of eggs laid per day. More...
 
double m_PoecilusDailyEggFactorB {0.0}
 Parameter b used to calculate the number of eggs laid per day. More...
 
double m_PoecilusDailyEggFactorC {0.0}
 Parameter c used to calculate the number of eggs laid per day. More...
 
double m_PoecilusDailyVarianceEggFactorA {0.0}
 Parameter a used to calculate variance in the number of eggs laid per day. More...
 
double m_PoecilusDailyVarianceEggFactorB {0.0}
 Parameter b used to calculate variance in the number of eggs laid per day. More...
 
double m_PoecilusDailyVarianceEggFactorC {0.0}
 Parameter c used to calculate variance in the number of eggs laid per day. More...
 
int m_PoecilusDormancyStartDateEarly {}
 Earliest day in the year for entering dormancy. More...
 
int m_PoecilusDormancyStartDate {}
 Typical day in the year for entering dormancy. More...
 
int m_PoecilusDormancyExitDateEarly {}
 Earliest day in the year for leaving dormancy. More...
 
int m_PoecilusDormancyExitDate {}
 Latest day in the year for leaving dormancy. More...
 
double m_PoecilusStandardDormancyChance {}
 Base chance per day of entering dormancy. More...
 
double m_PoecilusStandardDormancyExitChance {}
 Base chance per day of leaving dormancy. More...
 
double m_PreOviRate
 Rate of change with temperature for preovipostion development (calculated from other configs) More...
 
- Protected Attributes inherited from Beetle_Population_Manager
double m_MortalityTempStep {5.0}
 Threshold temperatures for mortalities: Step size. More...
 
double m_MortalityTempMin {0.0}
 hreshold temperatures for mortalities: Min More...
 
double m_MortalityTempMax {25.0}
 Threshold temperatures for mortalities: Max. More...
 
int m_TemperatureCategory { 0 }
 Storage for the temperature category today. More...
 
int m_NoTemperatureCategories { 0 }
 Storage for the number of temperature categories used. More...
 
vector< std::array< double, 365 > > m_DayDegs {}
 Storage for daily day degrees for non-adult stages. More...
 
TToleList m_BeetleStartHabitats
 the list of the toles that the beetles are assigned to in the beginning of the simulation More...
 
tBeetleToleTovs m_BeetleToleTovs
 The list of start habitats for the beetle. More...
 
int m_BeetleLarvalStagesNum { 3 }
 
vector< int > m_StageProductionProduction { 0 }
 Testing/Output attribute holding the number of larvae produced today. More...
 
double m_AdultEggLayingThreshold {}
 Temperature threshold for egg laying. More...
 
double m_EggProductionSlope {}
 the slope of the linear function that defines todays egg production More...
 
vector< double > m_DevelConst1 {}
 Day degree threshold constant for eggs to pupae. More...
 
vector< double > m_DevelopmentInflectionPoints {}
 Inflection point in day degree calculations for non-adult stages. More...
 
vector< double > m_AboveInflectionRates {}
 Day degree constant above inflection point for all non-adult stages. More...
 
vector< SimplePositionMapInt * > m_BeetlePositionMaps [bob_foobar] {}
 
int m_InFieldNo {}
 In-field counter. More...
 
int m_InCropNo {}
 In-crop counter. More...
 
int m_OffFieldNo {}
 Off-field counter. More...
 
TTypesOfVegetation m_InCropRef {}
 In crop tole reference. More...
 
- Protected Attributes inherited from Population_Manager
vector< unsigned > m_LiveArraySize
 
int m_NoProbes = 0
 
std::vector< std::vector< omp_nest_lock_t * > > m_MapGuard
 This is used to make sure animals will not behaviour at the same area - multi threads. More...
 
int m_guard_cell_height_num
 
int m_guard_cell_width_num
 
int m_guard_cell_size
 
bool m_is_paralleled
 This is used to indicate whether the species is paralleled. More...
 
const char * StateNames [100] {}
 
int m_StepSize {}
 
vector< vector< forward_list< TAnimal * > * > > TheSubArrays
 Hold all the animal pointers. More...
 
vector< vector< int > > TheSubArraysSizes
 Hold all the animal sizes in each thread. More...
 
vector< int > m_LifeStageOrderVec
 The vector to store the life stage order for looping specie life stages. More...
 
vector< forward_list< TAnimal * >::iterator > TheSubArraysIterators
 the iterator from last time called for SupplyAnimalPtr(), this for fast loop all the animals in the derived class. More...
 
vector< int > TheSubArrayPreviousIndex
 the animal index number from last time called for SupplyAnimalPtr(), this for fast loop all the animals in the derived class. More...
 
vector< int > TheSubArrayThreadIndex
 the thread index number from last time called for SupplyAnimalPtr(), this for fast loop all the animals in the derived class. More...
 
unsigned StateNamesLength
 
FILE * TestFile {}
 
FILE * TestFile2 {}
 
vector< unsigned > BeforeStepActions
 Holds the season list of possible before step actions. More...
 
int m_SeasonNumber
 Holds the season number. Used when running goose and hunter sims. More...
 
TTypesOfPopulation m_population_type {TOP_NoSpecies}
 
ofstream * AOROutputPrb {}
 
ofstream * RipleysOutputPrb {}
 
ofstream * RipleysOutputPrb1 {}
 
ofstream * RipleysOutputPrb2 {}
 
ofstream * RipleysOutputPrb3 {}
 
ofstream * RipleysOutputPrb4 {}
 
ofstream * RipleysOutputPrb5 {}
 
ofstream * RipleysOutputPrb6 {}
 
ofstream * RipleysOutputPrb7 {}
 
ofstream * RipleysOutputPrb8 {}
 
ofstream * RipleysOutputPrb9 {}
 
ofstream * RipleysOutputPrb10 {}
 
ofstream * RipleysOutputPrb11 {}
 
ofstream * RipleysOutputPrb12 {}
 
ofstream * ReallyBigOutputPrb {}
 
AOR_Probem_AOR_Probe {}
 A pointer to the AOR probe. More...
 
long int lamdagrid [2][257][257] {}
 
- Protected Attributes inherited from Population_Manager_Base
int SimH
 stores the simulation height More...
 
int SimW
 stores the simulation width More...
 
int SimHH
 stores the simulation height halved More...
 
int SimWH
 stores the simulation width halved More...
 
string m_SimulationName
 stores the simulation name More...
 
Landscapem_TheLandscape
 holds an internal pointer to the landscape More...
 
int m_ListNameLength {}
 the number of life-stages simulated in the population manager More...
 
const char * m_ListNames [32] {}
 A list of life-stage names. More...
 
std::string m_AORProbeFileName {"AOR_Probe.txt"}
 name of the AOR Probe file More...
 
std::string m_ProbeFileName {"Probe.res"}
 name of the Probe file More...
 
int m_step_counter_in_a_day
 Step counter in a day, this is used for the animals with finer step size other than one day. More...
 

Constructor & Destructor Documentation

◆ PoecilusCupreus_Population_Manager()

PoecilusCupreus_Population_Manager::PoecilusCupreus_Population_Manager ( Landscape a_l_ptr)

Constructor.

360  a_l_ptr, bob_foobar) {
361  m_SimulationName = "PoecilusCupreus";
363  m_DayDegs.resize(m_BeetleLarvalStagesNum + 2); // Resets the values to zero (+2 = eggs & pupae)
364 
365  // - - - - - - - - - - Start assignments used for parameter input - - - - - - - - - -
385  //PoecilusCupreus_Adult::setDailyAdultMortalityWithSeason(cfg_PoecilusDailyAdultMortalityWithSeason.value());
399  // - - - - - - - - - - End assignments used for parameter input - - - - - - - - - -
400 #ifdef __BEETLEPESTICIDE1
401  //PestMortLocOutputOpen();
402  m_InFieldNo = 0;
403  m_OffFieldNo = 0;
404  m_InCropNo = 0;
406 #endif
407  // Create cfg_beetlestartnos adults
408  for (int i = 0; i < cfg_Beetlestartnos.value(); i++)
409  {
410  Struct_Beetle aps(-1, -1, m_TheLandscape, this);
411  do
412  {
415  }
416  while (!IsStartHabitat(aps.m_x, aps.m_y));
417  CreateObjects(bob_Adult, nullptr, nullptr, &aps, 1);
418  }
419  // To start all the beetles in the right state we loop through those created and force them to dormancy behaviour
420  int temp_thread_number = omp_get_max_threads();
421  for(int t=0; t<temp_thread_number; t++)
422  {
423  for(auto it = TheSubArrays[bob_Adult][t]->begin(); it != TheSubArrays[bob_Adult][t]->end(); ++it)
424  {
425  if((*it)->GetCurrentStateNo()>=0)
426  {
427  dynamic_cast<PoecilusCupreus_Adult*>(*it)->SetState(tobs_Hibernating);
428  (*it)->SetAge(151); // Make sure starting adults are not seen as young ones
429  }
430  }
431  }
432 }

References bob_Adult, cfg_BeetleInCropRef, cfg_BeetleLarvalStagesNum, cfg_Beetlestartnos, cfg_dormancy_exit_multiplier, cfg_dormancy_exit_threshold, cfg_dormancy_multiplier, cfg_dormancy_threshold, cfg_EggFormationThreshold, cfg_PoecilusADDepMort0, cfg_PoecilusADDepMort1, cfg_PoecilusAdultMovementTempThreshold, cfg_PoecilusCoverThreshold, cfg_PoecilusDailyEggFactorA, cfg_PoecilusDailyEggFactorB, cfg_PoecilusDailyEggFactorC, cfg_PoecilusDailyEggMort, cfg_PoecilusDailyLarvalMort, cfg_PoecilusDailyVarianceEggFactorA, cfg_PoecilusDailyVarianceEggFactorB, cfg_PoecilusDailyVarianceEggFactorC, cfg_PoecilusDDepRange, cfg_PoecilusDevelopmentConstants, cfg_PoecilusDevelopmentThresholds, cfg_PoecilusDormancyExitDate, cfg_PoecilusDormancyExitDateEarly, cfg_PoecilusDormancyStartDate, cfg_PoecilusDormancyStartDateEarly, cfg_PoecilusLarvalDailyTemperatureMort, cfg_PoecilusLarvalMortCategories, cfg_PoecilusLDDepMort0, cfg_PoecilusLDDepMort1, cfg_PoecilusPreOviMax, cfg_PoecilusPreOviMaxTemp, cfg_PoecilusPreOviMin, cfg_PoecilusPreOviMinTemp, cfg_PoecilusStandardDormancyChance, cfg_PoecilusStandardDormancyExitChance, cfg_PoecilusTempShadowThreshold, CreateObjects(), g_random_fnc(), Beetle_Population_Manager::IsStartHabitat(), Beetle_Population_Manager::m_BeetleLarvalStagesNum, Beetle_Population_Manager::m_DayDegs, Beetle_Population_Manager::m_DevelConst1, m_Dormancy_exit_multiplier, m_Dormancy_exit_threshold, m_Dormancy_multiplier, m_Dormancy_threshold, Beetle_Population_Manager::m_InCropNo, Beetle_Population_Manager::m_InCropRef, Beetle_Population_Manager::m_InFieldNo, Beetle_Population_Manager::m_OffFieldNo, m_PoecilusDailyEggFactorA, m_PoecilusDailyEggFactorB, m_PoecilusDailyEggFactorC, m_PoecilusDailyVarianceEggFactorA, m_PoecilusDailyVarianceEggFactorB, m_PoecilusDailyVarianceEggFactorC, m_PoecilusDormancyExitDate, m_PoecilusDormancyExitDateEarly, m_PoecilusDormancyStartDate, m_PoecilusDormancyStartDateEarly, m_PoecilusStandardDormancyChance, m_PoecilusStandardDormancyExitChance, Population_Manager::m_population_type, m_PreOviRate, Population_Manager_Base::m_SimulationName, Population_Manager_Base::m_TheLandscape, Struct_Beetle::m_x, Struct_Beetle::m_y, Beetle_Adult::SetAdultDenDepMort0(), Beetle_Adult::SetAdultDenDepMort1(), Beetle_Adult::SetAdultMovementTempThreshold(), Beetle_Egg_List::SetDailyEggMort(), Beetle_Larvae::SetDailyLarvaMort(), Beetle_Base::SetDDepRange(), Beetle_Base::SetDevelopmentConstants(), PoecilusCupreus_Adult::SetEggFormationThreshold(), Beetle_Larvae::SetLarvalDailyMort(), Beetle_Larvae::SetLDDepMort0(), Beetle_Larvae::SetLDDepMort1(), SetPc_Treatment_Mortalities(), PoecilusCupreus_Adult::SetPoecilusLaiCoverThreshold(), PoecilusCupreus_Adult::SetPoecilusTempShadowThreshold(), Landscape::SupplySimAreaHeight(), Landscape::SupplySimAreaWidth(), Population_Manager::TheSubArrays, tobs_Hibernating, TOP_PoecilusCupreus, Landscape::TranslateVegTypes(), CfgInt::value(), CfgFloat::value(), and CfgArray_Double::value().

◆ ~PoecilusCupreus_Population_Manager()

PoecilusCupreus_Population_Manager::~PoecilusCupreus_Population_Manager ( )
overridedefault

Destructor: the same as in base class.

Member Function Documentation

◆ CalcDailyEggFormationProgress()

double PoecilusCupreus_Population_Manager::CalcDailyEggFormationProgress ( double  a_temp)

Calculates the additional development for egg formation for today.

748  {
749  if (a_temp <= cfg_PoecilusPreOviMinTemp.value()) { return cfg_PoecilusPreOviMin.value(); }
750  if (a_temp > cfg_PoecilusPreOviMaxTemp.value()) { return cfg_PoecilusPreOviMax.value(); }
751  return 1.0 / (cfg_PoecilusPreOviFactorB.value() * a_temp + cfg_PoecilusPreOviFactorA.value() * a_temp * a_temp + cfg_PoecilusPreOviFactorC.value());
752  //return cfg_PoecilusPreOviMin.value() + (a_temp - cfg_PoecilusPreOviMinTemp.value()) * m_PreOviRate;
753 }

References cfg_PoecilusPreOviFactorA, cfg_PoecilusPreOviFactorB, cfg_PoecilusPreOviFactorC, cfg_PoecilusPreOviMax, cfg_PoecilusPreOviMaxTemp, cfg_PoecilusPreOviMin, cfg_PoecilusPreOviMinTemp, and CfgFloat::value().

Referenced by DayDegreeCalculations().

◆ CalcDailyRandomEggFactor()

void PoecilusCupreus_Population_Manager::CalcDailyRandomEggFactor ( double  a_temp)

◆ CalcDormancyChance()

void PoecilusCupreus_Population_Manager::CalcDormancyChance ( double  a_temp,
int  a_day 
)

Updates probability of enterning dormancy. Should be called daily

Updates m_DormancyChance. Should be called daily temp is a MINIMUM temperature

760  {
762  // no hibernation before the first of June
764  else
765  {
766  if (a_day < m_PoecilusDormancyStartDate && m_DormancyChance <= 0)
767  {
768  if (a_temp > m_Dormancy_threshold) { m_DormancyChance = 0; } // Set the initial chance to zero, too warm
770  // Set the initial chance to base chance
771  }
772  else
773  {
774  if (a_day == m_PoecilusDormancyStartDate && m_DormancyChance <= 0)
775  {
777  }
778  else
779  {
780  // each day that has min temperature below 5 deg celsius increases dormancy chances
782  // Increase the base chance by multiplyer for each cold day
783  }
784  }
785  }
786 }

References m_Dormancy_multiplier, m_Dormancy_threshold, m_DormancyChance, m_PoecilusDormancyStartDate, m_PoecilusDormancyStartDateEarly, and m_PoecilusStandardDormancyChance.

Referenced by DayDegreeCalculations().

◆ CalcDormancyExitChance()

void PoecilusCupreus_Population_Manager::CalcDormancyExitChance ( double  a_temp,
int  a_day 
)

Updates probability of leaving dormancy. Should be called daily

Updates m_DormancyExitChance. Should be called daily temp is a MAXIMUM temperature

790  {
793  else
794  {
796  else
797  {
798  if (m_DormancyExitChance <= 0 && a_temp > m_Dormancy_exit_threshold)
799  {
801  }
802  else
803  {
804  if (m_DormancyExitChance > 0)
805  {
807  }
808  else { m_DormancyExitChance = 0; }
809  }
810  }
811  }
812 }

References m_Dormancy_exit_multiplier, m_Dormancy_exit_threshold, m_DormancyExitChance, m_PoecilusDormancyExitDate, m_PoecilusDormancyExitDateEarly, and m_PoecilusStandardDormancyExitChance.

Referenced by DayDegreeCalculations().

◆ CalcOvipositionLength()

double PoecilusCupreus_Population_Manager::CalcOvipositionLength ( double  a_temp)
static

Uses day degrees to determine when the oviposition period is over.

744  {
746 }

References cfg_PoecilusOvipositionLength_A, cfg_PoecilusOvipositionLength_B, cfg_PoecilusOvipositionLength_C, and CfgFloat::value().

Referenced by DayDegreeCalculations().

◆ CalculateDailyEggProduction()

void PoecilusCupreus_Population_Manager::CalculateDailyEggProduction ( double  a_temp)
overridevirtual

Figure out the maximum number of eggs that can be laid today - must be overridden in descendent classes.

Implements Beetle_Population_Manager.

739  {
741  static_cast<int>(m_PoecilusDailyEggFactorB * a_temp + m_PoecilusDailyEggFactorA * a_temp * a_temp + m_PoecilusDailyEggFactorC));
742 }

References m_PoecilusDailyEggFactorA, m_PoecilusDailyEggFactorB, m_PoecilusDailyEggFactorC, and Beetle_Adult::SetTodaysEggProduction().

◆ CreateObjects()

void PoecilusCupreus_Population_Manager::CreateObjects ( int  ob_type,
TAnimal a_pvo_ptr,
void *  null,
Struct_Beetle data,
int  a_number 
)
overridevirtual

Method to add beetles to the population.

All PoecilusCupreus objects that are created must be created using this method. Data on the location and other attributes are passed in data, and the a_number to create in a_number.

Reimplemented from Beetle_Population_Manager.

439  {
440  for (int i = 0; i < a_number; i++)
441  {
442  if (ob_type == bob_Egg) { (*m_EList)[data->m_l->SupplyDayInYear()]->AddEgg(data->m_x, data->m_y); }
443  if (ob_type == bob_Larva1)
444  {
445  const auto new_Larva(new PoecilusCupreus_Larvae1(data->m_x, data->m_y, data->m_l, this));
446  PushIndividual(ob_type, new_Larva);
447  IncLiveArraySize(ob_type);
448  }
449  if (ob_type == bob_Larva2)
450  {
451  const auto new_Larva(new PoecilusCupreus_Larvae2(data->m_x, data->m_y, data->m_l, this));
452  PushIndividual(ob_type, new_Larva);
453  IncLiveArraySize(ob_type);
454  }
455  if (ob_type == bob_Larva3)
456  {
457  // Will not create a new larva in a square already occupied
458  const auto new_Larva = new PoecilusCupreus_Larvae3(data->m_x, data->m_y, data->m_l, this);
459  PushIndividual(ob_type, new_Larva);
460  IncLiveArraySize(ob_type);
461  }
462  if (ob_type == bob_Pupa)
463  {
464  const auto new_Pupa = new PoecilusCupreus_Pupae(data->m_x, data->m_y, data->m_l, this);
465  //new_Pupa = new PoecilusCupreus_Pupae( data->x, data->y, data->L, this );
466  PushIndividual(ob_type, new_Pupa);
467  IncLiveArraySize(ob_type);
468  }
469  if (ob_type == bob_Adult)
470  {
471  const auto new_Adult = new PoecilusCupreus_Adult(data->m_x, data->m_y, data->m_l, this);
472  PushIndividual(ob_type, new_Adult);
473  IncLiveArraySize(ob_type);
474  }
475  }
476 }

References bob_Adult, bob_Egg, bob_Larva1, bob_Larva2, bob_Larva3, bob_Pupa, Population_Manager::IncLiveArraySize(), Struct_Beetle::m_l, Struct_Beetle::m_x, Struct_Beetle::m_y, Population_Manager::PushIndividual(), and Landscape::SupplyDayInYear().

Referenced by PoecilusCupreus_Population_Manager().

◆ DayDegreeCalculations()

void PoecilusCupreus_Population_Manager::DayDegreeCalculations ( int  a_dayinyear,
bool  a_usehourly 
)
overrideprotectedvirtual

◆ DoLast()

void PoecilusCupreus_Population_Manager::DoLast ( )
inlineoverridevirtual

Adds output adult locations to DoLast.

Reimplemented from Beetle_Population_Manager.

303  {
304 #ifdef CATASTROPHE2
305  Catastrophe2();
306 #else
307  Catastrophe(); // This method must be overidden in descendent classes
308 #endif
310  }

References bob_Adult, Beetle_Population_Manager::Catastrophe(), Beetle_Population_Manager::Catastrophe2(), and Beetle_Population_Manager::DoBeetleActiveProbe().

◆ FertilizerMortality()

bool PoecilusCupreus_Population_Manager::FertilizerMortality ( FarmToDo  a_event)

The method that deals with the fertilizer mortality for the larvae.

816  {
817  const auto res = m_Pc_Treatment_Mortalities.find(a_event);
818  if (res == m_Pc_Treatment_Mortalities.end()) { return false; }
819  if (g_rand_uni_fnc() < res->second) { return true; }
820  return false;
821 }

References g_rand_uni_fnc(), and m_Pc_Treatment_Mortalities.

Referenced by OnFarmEventPupae().

◆ GetDormancyChance()

double PoecilusCupreus_Population_Manager::GetDormancyChance ( ) const
inline

Get the daily chance to enter dormancy.

300 { return m_DormancyChance; }

References m_DormancyChance.

Referenced by PoecilusCupreus_Adult::CheckDormancy().

◆ GetDormancyExitChance()

double PoecilusCupreus_Population_Manager::GetDormancyExitChance ( ) const
inline

Get the daily chance to exit dormancy.

302 { return m_DormancyExitChance; }

References m_DormancyExitChance.

Referenced by PoecilusCupreus_Adult::CheckDormancyExit().

◆ GetEggFormationProgress()

double PoecilusCupreus_Population_Manager::GetEggFormationProgress ( int  a_day) const
inline

Returns the current progress towards egg formation based on a given date to become reproductively active.

282 { return m_EggFormationProgress[a_day]; }

References m_EggFormationProgress.

Referenced by PoecilusCupreus_Adult::CheckReproduction().

◆ GetOvipositionPeriodProgress()

double PoecilusCupreus_Population_Manager::GetOvipositionPeriodProgress ( int  a_day) const
inline

Returns the current progress towards ending the oviposition period based on the first active day.

284 { return m_OvipostitionlengthProgress[a_day]; }

References m_OvipostitionlengthProgress.

Referenced by PoecilusCupreus_Adult::Ageing(), and PoecilusCupreus_Adult::CheckReproduction().

◆ OnFarmEvent()

bool PoecilusCupreus_Population_Manager::OnFarmEvent ( FarmToDo  a_event,
Beetle_Base a_caller 
)
overridevirtual

Method dealing with the farming mortalities.

Checks for any impact(usually mortality) as a result of a farm event.

Parameters
a_eventis the farm event to test mortality against
a_calleris a pointer to the calling beetle object
Returns
true if killed

Implements Beetle_Population_Manager.

514  {
515  switch (a_event)
516  {
517  case sleep_all_day:
518  break;
519  case autumn_plough:
520  case stubble_plough: // assumed to be the same as for autumn plough
521  case stubble_cultivator_heavy: // assumed to be the same as for autumn plough
522  case heavy_cultivator_aggregate: // assumed to be the same as for autumn plough
523  case autumn_harrow:
524  case preseeding_cultivator: // assumed to be the same as for harrow
525  case preseeding_cultivator_sow: // assumed to be the same as for harrow
526  case autumn_roll:
527  case autumn_sow:
528  case winter_plough:
529  case deep_ploughing:
530  case spring_plough:
531  case spring_harrow:
532  case shallow_harrow:
534  case strigling_sow:
535  case bed_forming:
536  case bulb_harvest:
537  if (g_rand_uni_fnc() < a_caller->GetSoilCultivationMortality()) { return true; }
538  break;
539  case harvest:
540  case green_harvest:
541  if (g_rand_uni_fnc() < a_caller->GetHarvestMortality()) { return true; }
542  break;
543  case strigling:
544  case strigling_hill:
545  if (g_rand_uni_fnc() < a_caller->GetStriglingMortality()) { return true; }
546  break;
547  case insecticide_treat:
548  if (g_rand_uni_fnc() < a_caller->GetInsecticideApplication()) { return true; }
549  break;
550  // Below here are all the no mortality operations
551  case start: // NOLINT(bugprone-branch-clone)
552  break;
554  break;
555  case trial_toxiccontrol:
556  break;
558  break;
559  case last_treatment:
560  break;
561  case spring_roll:
562  break;
563  case spring_sow:
564  break;
565  case fp_npks:
566  break;
567  case fp_npk:
568  break;
569  case fp_pk:
570  break;
571  case fp_p:
572  break;
573  case fp_k:
574  break;
575  case fp_sk:
576  break;
577  case fp_liquidNH3:
578  break;
579  case fp_slurry:
580  break;
582  break;
583  case fp_ammoniumsulphate:
584  break;
585  case fp_manure:
586  break;
587  case fp_greenmanure:
588  break;
589  case fp_sludge:
590  break;
591  case fp_rsm:
592  break;
593  case fp_calcium:
594  break;
595  case fa_npks:
596  break;
597  case fa_npk:
598  break;
599  case fa_pk:
600  break;
601  case fa_p:
602  break;
603  case fa_k:
604  break;
605  case fa_sk:
606  break;
607  case fa_slurry:
608  break;
610  break;
611  case fa_ammoniumsulphate:
612  break;
613  case fa_manure:
614  break;
615  case fa_greenmanure:
616  break;
617  case fa_sludge:
618  break;
619  case fa_rsm:
620  break;
621  case fa_calcium:
622  break;
623  case herbicide_treat:
624  break;
625  case growth_regulator:
626  break;
627  case fungicide_treat:
628  break;
629  case org_insecticide:
630  break;
631  case org_herbicide:
632  break;
633  case org_fungicide:
634  break;
635  case molluscicide:
636  break;
637  case row_cultivation:
638  break;
639  case flammebehandling:
640  break;
641  case hilling_up:
642  break;
643  case water:
644  break;
645  case swathing:
646  break;
647  case cattle_out:
648  break;
649  case pigs_out:
650  break;
651  case cut_to_hay:
652  break;
653  case cut_to_silage:
654  break;
655  case straw_chopping:
656  break;
657  case hay_turning:
658  break;
659  case hay_bailing:
660  break;
661  case stubble_harrowing:
662  break;
663  case burn_straw_stubble:
664  break;
665  case mow:
666  break;
667  case cut_weeds:
668  break;
669  case trial_control:
670  break;
671  case cattle_out_low:
672  break;
673  case product_treat:
674  break;
675  case glyphosate:
676  break;
678  break;
679  case flower_cutting:
680  break;
681  case straw_covering:
682  break;
683  case straw_removal:
684  break;
685  case pruning:
686  break;
687  case shredding:
688  break;
689  case fiber_covering:
690  break;
691  case fiber_removal:
692  break;
693  case fp_boron:
694  break;
695  case fp_n:
696  break;
697  case fp_nk:
698  break;
699  case fp_ns:
700  break;
701  case fp_nc:
702  break;
704  break;
705  case harvest_bushfruit:
706  break;
707  case fp_cu:
708  break;
709  case fa_n:
710  break;
711  case fa_cu:
712  break;
713  case fa_boron:
714  break;
715  case fa_nk:
716  break;
717  case burn_top:
718  break;
719  case fa_pks:
720  break;
721  case fp_pks:
722  break;
723  case harvestshoots:
724  break;
725  case manual_weeding:
726  break;
727  case biocide:
728  if (g_rand_uni_fnc() < (a_caller->GetInsecticideApplication()) * (1.0 - cfg_biocide_reduction_val.value())) return true;
729  break;
730  }
731  return false;
732 }

References autumn_harrow, autumn_or_spring_plough, autumn_plough, autumn_roll, autumn_sow, autumn_sow_with_ferti, bed_forming, biocide, bulb_harvest, burn_straw_stubble, burn_top, cattle_out, cattle_out_low, cfg_biocide_reduction_val, cut_to_hay, cut_to_silage, cut_weeds, deep_ploughing, fa_ammoniumsulphate, fa_boron, fa_calcium, fa_cu, fa_greenmanure, fa_k, fa_manganesesulphate, fa_manure, fa_n, fa_nk, fa_npk, fa_npks, fa_p, fa_pk, fa_pks, fa_rsm, fa_sk, fa_sludge, fa_slurry, fiber_covering, fiber_removal, flammebehandling, flower_cutting, fp_ammoniumsulphate, fp_boron, fp_calcium, fp_cu, fp_greenmanure, fp_k, fp_liquidNH3, fp_manganesesulphate, fp_manure, fp_n, fp_nc, fp_nk, fp_npk, fp_npks, fp_ns, fp_p, fp_pk, fp_pks, fp_rsm, fp_sk, fp_sludge, fp_slurry, fungicide_treat, g_rand_uni_fnc(), Beetle_Base::GetHarvestMortality(), Beetle_Base::GetInsecticideApplication(), Beetle_Base::GetSoilCultivationMortality(), Beetle_Base::GetStriglingMortality(), glyphosate, green_harvest, growth_regulator, harvest, harvest_bushfruit, harvestshoots, hay_bailing, hay_turning, heavy_cultivator_aggregate, herbicide_treat, hilling_up, insecticide_treat, last_treatment, manual_weeding, molluscicide, mow, org_fungicide, org_herbicide, org_insecticide, pigs_out, preseeding_cultivator, preseeding_cultivator_sow, product_treat, pruning, row_cultivation, shallow_harrow, shredding, sleep_all_day, spring_harrow, spring_plough, spring_roll, spring_sow, spring_sow_with_ferti, start, straw_chopping, straw_covering, straw_removal, strigling, strigling_hill, strigling_sow, stubble_cultivator_heavy, stubble_harrowing, stubble_plough, swathing, syninsecticide_treat, trial_control, trial_insecticidetreat, trial_toxiccontrol, CfgFloat::value(), water, and winter_plough.

Referenced by OnFarmEventPupae().

◆ OnFarmEventPupae()

bool PoecilusCupreus_Population_Manager::OnFarmEventPupae ( FarmToDo  event,
Beetle_Base a_caller 
)
overridevirtual

Method dealing with the farming mortalities this differs for pupae.

Reimplemented from Beetle_Population_Manager.

734  {
735  if (FertilizerMortality(a_event)) { return true; }
736  return OnFarmEvent(a_event, a_caller);
737 }

References FertilizerMortality(), and OnFarmEvent().

◆ SetMeanDistance()

void PoecilusCupreus_Population_Manager::SetMeanDistance ( double  a_temp)
staticprotected

Determines the base distance moved today.

478  {
479  double daily_mean_distance;
481  {
482  daily_mean_distance = cfg_PoecilusMoveDistanceParamA.value() * a_temp - cfg_PoecilusMoveDistanceParamB.value();
483  // 1.81 * a_temp -12 = 3m at minimum temp
484  if (daily_mean_distance < 0) daily_mean_distance = 0;
485  }
486  else { daily_mean_distance = 0; }
488  "NORMAL", std::to_string(daily_mean_distance) + " " + std::to_string(daily_mean_distance / 3.0));
489 }

References cfg_PoecilusAdultMovementTempThreshold, cfg_PoecilusMoveDistanceParamA, cfg_PoecilusMoveDistanceParamB, Beetle_Base::SetMoveDistribution(), and CfgFloat::value().

Referenced by DayDegreeCalculations().

◆ SetPc_Treatment_Mortalities()

void PoecilusCupreus_Population_Manager::SetPc_Treatment_Mortalities ( )

Hard-coded for now method to set fertilizer mortality chances.

825  {
827  {fp_npks, 0.12}, {fp_npk, 0.12}, {fp_p, 0.12}, {fp_k, 0.12}, {fp_liquidNH3, 0.12}, {fp_manganesesulphate, 0.12},
828  {fp_ammoniumsulphate, 0.12}, {fp_rsm, 0.12}, {fp_calcium, 0.8}, {fa_npks, 0.12}, {fa_npk, 0.12}, {fa_pk, 0.12},
829  {fa_p, 0.12}, {fa_k, 0.12}, {fa_sk, 0.12}, {fa_manganesesulphate, 0.12}, {fa_ammoniumsulphate, 0.12},
830  {fa_rsm, 0.12}, {fa_calcium, 0.8}, {herbicide_treat, 0.09},
831  // 0.9 mortality and a low chance of using copper (10%)
832  {fungicide_treat, 0.09}, // 0.9 mortality and a low chance of using copper (10%)
833  {fa_cu, 0.9}, {fp_cu, 0.9}, {fa_boron, 0.12}, {fp_boron, 0.12}
834  };
835 }

References fa_ammoniumsulphate, fa_boron, fa_calcium, fa_cu, fa_k, fa_manganesesulphate, fa_npk, fa_npks, fa_p, fa_pk, fa_rsm, fa_sk, fp_ammoniumsulphate, fp_boron, fp_calcium, fp_cu, fp_k, fp_liquidNH3, fp_manganesesulphate, fp_npk, fp_npks, fp_p, fp_rsm, fungicide_treat, herbicide_treat, and m_Pc_Treatment_Mortalities.

Referenced by PoecilusCupreus_Population_Manager().

Member Data Documentation

◆ m_CurrentEggFormationProgress

double PoecilusCupreus_Population_Manager::m_CurrentEggFormationProgress {0.0}
protected

/brief The current sum for completion of egg formation

◆ m_DailyEggVariance

double PoecilusCupreus_Population_Manager::m_DailyEggVariance {0.0}
protected

Used to store the daily variance in egg production.

Referenced by CalcDailyRandomEggFactor().

◆ m_Dormancy_exit_multiplier

double PoecilusCupreus_Population_Manager::m_Dormancy_exit_multiplier {1.2}
protected

The multiplier to apply if above the threshold dormancy_exit_threshold.

Referenced by CalcDormancyExitChance(), and PoecilusCupreus_Population_Manager().

◆ m_Dormancy_exit_threshold

double PoecilusCupreus_Population_Manager::m_Dormancy_exit_threshold {8.0}
protected

Threshold for dormancy exit temperature. each day above that temperature increases hibernation exit chances.

Referenced by CalcDormancyExitChance(), and PoecilusCupreus_Population_Manager().

◆ m_Dormancy_multiplier

double PoecilusCupreus_Population_Manager::m_Dormancy_multiplier {1.2}
protected

The multiplier to apply if below the threshold dormancy_threshold.

Referenced by CalcDormancyChance(), and PoecilusCupreus_Population_Manager().

◆ m_Dormancy_threshold

double PoecilusCupreus_Population_Manager::m_Dormancy_threshold {5.0}
protected

Threshold temeperature. eac h day below that temperature increases hibernation chances.

Referenced by CalcDormancyChance(), and PoecilusCupreus_Population_Manager().

◆ m_DormancyChance

double PoecilusCupreus_Population_Manager::m_DormancyChance {0.0}
protected

Used to store the daily chance to enter dormancy.

Referenced by CalcDormancyChance(), and GetDormancyChance().

◆ m_DormancyExitChance

double PoecilusCupreus_Population_Manager::m_DormancyExitChance {0.0}
protected

Used to store the daily chance to exit dormancy.

Referenced by CalcDormancyExitChance(), and GetDormancyExitChance().

◆ m_EggFormationProgress

std::array<double, 365> PoecilusCupreus_Population_Manager::m_EggFormationProgress {}
protected

Storage for daily eggformation progress.

Referenced by DayDegreeCalculations(), and GetEggFormationProgress().

◆ m_OvipostitionlengthProgress

std::array<double, 365> PoecilusCupreus_Population_Manager::m_OvipostitionlengthProgress {}
protected

Storage for daily oviposition period progress.

Referenced by DayDegreeCalculations(), and GetOvipositionPeriodProgress().

◆ m_Pc_Treatment_Mortalities

TTreatmentvsMortalityList PoecilusCupreus_Population_Manager::m_Pc_Treatment_Mortalities

The list that summarises farming events that involve fertilizer applications and the mortalities they cause.

Referenced by FertilizerMortality(), and SetPc_Treatment_Mortalities().

◆ m_PoecilusDailyEggFactorA

double PoecilusCupreus_Population_Manager::m_PoecilusDailyEggFactorA {0.0}
protected

Parameter a used to calculate the number of eggs laid per day.

Referenced by CalculateDailyEggProduction(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDailyEggFactorB

double PoecilusCupreus_Population_Manager::m_PoecilusDailyEggFactorB {0.0}
protected

Parameter b used to calculate the number of eggs laid per day.

Referenced by CalculateDailyEggProduction(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDailyEggFactorC

double PoecilusCupreus_Population_Manager::m_PoecilusDailyEggFactorC {0.0}
protected

Parameter c used to calculate the number of eggs laid per day.

Referenced by CalculateDailyEggProduction(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDailyVarianceEggFactorA

double PoecilusCupreus_Population_Manager::m_PoecilusDailyVarianceEggFactorA {0.0}
protected

Parameter a used to calculate variance in the number of eggs laid per day.

Referenced by CalcDailyRandomEggFactor(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDailyVarianceEggFactorB

double PoecilusCupreus_Population_Manager::m_PoecilusDailyVarianceEggFactorB {0.0}
protected

Parameter b used to calculate variance in the number of eggs laid per day.

Referenced by CalcDailyRandomEggFactor(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDailyVarianceEggFactorC

double PoecilusCupreus_Population_Manager::m_PoecilusDailyVarianceEggFactorC {0.0}
protected

Parameter c used to calculate variance in the number of eggs laid per day.

Referenced by CalcDailyRandomEggFactor(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDormancyExitDate

int PoecilusCupreus_Population_Manager::m_PoecilusDormancyExitDate {}
protected

Latest day in the year for leaving dormancy.

Referenced by CalcDormancyExitChance(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDormancyExitDateEarly

int PoecilusCupreus_Population_Manager::m_PoecilusDormancyExitDateEarly {}
protected

Earliest day in the year for leaving dormancy.

Referenced by CalcDormancyExitChance(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDormancyStartDate

int PoecilusCupreus_Population_Manager::m_PoecilusDormancyStartDate {}
protected

Typical day in the year for entering dormancy.

Referenced by CalcDormancyChance(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusDormancyStartDateEarly

int PoecilusCupreus_Population_Manager::m_PoecilusDormancyStartDateEarly {}
protected

Earliest day in the year for entering dormancy.

Referenced by CalcDormancyChance(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusStandardDormancyChance

double PoecilusCupreus_Population_Manager::m_PoecilusStandardDormancyChance {}
protected

Base chance per day of entering dormancy.

Referenced by CalcDormancyChance(), and PoecilusCupreus_Population_Manager().

◆ m_PoecilusStandardDormancyExitChance

double PoecilusCupreus_Population_Manager::m_PoecilusStandardDormancyExitChance {}
protected

Base chance per day of leaving dormancy.

Referenced by CalcDormancyExitChance(), and PoecilusCupreus_Population_Manager().

◆ m_PreOviRate

double PoecilusCupreus_Population_Manager::m_PreOviRate
protected

Rate of change with temperature for preovipostion development (calculated from other configs)

Referenced by PoecilusCupreus_Population_Manager().


The documentation for this class was generated from the following files:
Beetle_Population_Manager::Beetle_Population_Manager
Beetle_Population_Manager(Landscape *a_l_ptr, int a_n)
Beetle_Population_Manager Constructor.
Definition: Beetle_BaseClasses.cpp:1400
cfg_PoecilusPreOviMinTemp
static CfgFloat cfg_PoecilusPreOviMinTemp("POECILUS_PREOVIMINTEMP", CFG_CUSTOM, 12.0)
cfg_PoecilusOvipositionLength_B
static CfgFloat cfg_PoecilusOvipositionLength_B("POECILUS_OVIPOSITIONLENGTH_B", CFG_CUSTOM, -9.7004)
Beetle_Population_Manager::DoBeetleActiveProbe
void DoBeetleActiveProbe(int a_lifestage)
Counts all active beetles and saves the results to a file.
Definition: Beetle_BaseClasses.cpp:1918
fiber_removal
Definition: Treatment.h:129
fp_rsm
Definition: Treatment.h:64
org_insecticide
Definition: Treatment.h:84
Beetle_Population_Manager::IsStartHabitat
bool IsStartHabitat(int a_x, int a_y) const
Used to specify legal starting habitats for simulation start-up.
Definition: Beetle_BaseClasses.cpp:1557
fa_sk
Definition: Treatment.h:71
row_cultivation
Definition: Treatment.h:88
PoecilusCupreus_Population_Manager::SetMeanDistance
static void SetMeanDistance(double a_temp)
Determines the base distance moved today.
Definition: PoecilusCupreus_All.cpp:478
fa_pk
Definition: Treatment.h:68
PoecilusCupreus_Population_Manager::m_Dormancy_exit_multiplier
double m_Dormancy_exit_multiplier
The multiplier to apply if above the threshold dormancy_exit_threshold.
Definition: PoecilusCupreus_All.h:232
cfg_PoecilusPreOviMaxTemp
static CfgFloat cfg_PoecilusPreOviMaxTemp("POECILUS_PREOVIMAXTEMP", CFG_CUSTOM, 27.0)
fp_npk
Definition: Treatment.h:52
cfg_PoecilusADDepMort0
static CfgInt cfg_PoecilusADDepMort0("POECILUS_ADDEPMORTZERO", CFG_CUSTOM, 2)
Storage for density-dependent mortality parameter.
strigling
Definition: Treatment.h:89
g_rand_uni_fnc
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
PoecilusCupreus_Larvae2
Class for beetle larval stage 2, most functionality is in Beetle_Larvae.
Definition: PoecilusCupreus_All.h:99
harvest
Definition: Treatment.h:94
fa_nk
Definition: Treatment.h:142
Beetle_Population_Manager::m_InFieldNo
int m_InFieldNo
In-field counter.
Definition: Beetle_BaseClasses.h:1117
cfg_PoecilusDailyVarianceEggFactorA
static CfgFloat cfg_PoecilusDailyVarianceEggFactorA("POECILUS_DAILY_EGGFACTORVARIANCE_A", CFG_CUSTOM, -0.006)
Landscape::TranslateVegTypes
TTypesOfVegetation TranslateVegTypes(int VegReference)
Returns vegetation type translated from the ALMaSS reference number.
Definition: Landscape.h:2326
Landscape::SupplyTemp
double SupplyTemp(void)
Passes a request on to the associated Weather class function, the temperature for the current day.
Definition: Landscape.h:1993
insecticide_treat
Definition: Treatment.h:83
straw_chopping
Definition: Treatment.h:99
fa_greenmanure
Definition: Treatment.h:76
cfg_PoecilusTempShadowThreshold
static CfgFloat cfg_PoecilusTempShadowThreshold("POECILUS_TEMP_SHADOW_THRESHOLD", CFG_CUSTOM, 0.0)
The Temperature above which Poecilus will prefer open habitats.
bob_Pupa
Definition: Beetle_BaseClasses.h:86
stubble_plough
Definition: Treatment.h:35
growth_regulator
Definition: Treatment.h:81
cfg_PoecilusCoverThreshold
static CfgFloat cfg_PoecilusCoverThreshold("POECILUS_COVER_THRESHOLD", CFG_CUSTOM, 0.3)
The minimum LAI for cover.
PoecilusCupreus_Pupae
Definition: PoecilusCupreus_All.h:126
Beetle_Population_Manager::m_DevelConst1
vector< double > m_DevelConst1
Day degree threshold constant for eggs to pupae.
Definition: Beetle_BaseClasses.h:1068
deep_ploughing
Definition: Treatment.h:43
hilling_up
Definition: Treatment.h:91
PoecilusCupreus_Population_Manager::m_Dormancy_multiplier
double m_Dormancy_multiplier
The multiplier to apply if below the threshold dormancy_threshold.
Definition: PoecilusCupreus_All.h:228
cfg_dormancy_threshold
static CfgFloat cfg_dormancy_threshold("POECILUS_DORMANCY_THRESHOLD", CFG_CUSTOM, 5.0)
Threshold temeperature. eac h day below that temperature increases hibernation chances.
green_harvest
Definition: Treatment.h:127
autumn_or_spring_plough
Definition: Treatment.h:103
Population_Manager::m_population_type
TTypesOfPopulation m_population_type
Definition: PopulationManager.h:858
flower_cutting
Definition: Treatment.h:121
cfg_PoecilusDormancyStartDateEarly
static CfgInt cfg_PoecilusDormancyStartDateEarly("POECILUS_DORMANCY_STARTEARLY_DAY", CFG_CUSTOM, 153)
The Earliest date dormancy can occur.
cfg_PoecilusMoveDistanceParamB
static CfgFloat cfg_PoecilusMoveDistanceParamB("POECILUS_MOVE_DIST_PARAM_B", CFG_CUSTOM, 12.0)
Parameter B for caluculation mean daily movement distance.
PoecilusCupreus_Population_Manager::m_PoecilusDormancyStartDateEarly
int m_PoecilusDormancyStartDateEarly
Earliest day in the year for entering dormancy.
Definition: PoecilusCupreus_All.h:246
spring_plough
Definition: Treatment.h:44
fp_sk
Definition: Treatment.h:56
pruning
Definition: Treatment.h:125
cfg_PoecilusADDepMort1
static CfgFloat cfg_PoecilusADDepMort1("POECILUS_ADDEPMORTONE", CFG_CUSTOM, 0.10)
Storage for density-dependent mortality parameter.
Beetle_Adult::SetAdultDenDepMort0
static void SetAdultDenDepMort0(const int a_value)
Storage for density-dependent mortality parameter.
Definition: Beetle_BaseClasses.h:842
Beetle_Population_Manager::DayDegreeCalculations
virtual void DayDegreeCalculations(int a_dayinyear, bool a_usehourly)
Does the day degree calculations needed for the species here.
Definition: Beetle_BaseClasses.cpp:1601
fp_manure
Definition: Treatment.h:61
herbicide_treat
Definition: Treatment.h:80
fp_ammoniumsulphate
Definition: Treatment.h:60
flammebehandling
Definition: Treatment.h:90
Landscape::SupplyMaxTemp
double SupplyMaxTemp(void)
Passes a request on to the associated Weather class function, the maximum temperature for the current...
Definition: Landscape.h:2003
straw_covering
Definition: Treatment.h:123
fp_boron
Definition: Treatment.h:131
Beetle_Base::GetInsecticideApplication
virtual double GetInsecticideApplication() const
the method overrides the method that returns the mortality due to insecticide application
Definition: Beetle_BaseClasses.h:367
cfg_PoecilusPreOviFactorA
static CfgFloat cfg_PoecilusPreOviFactorA("POECILUS_PREOVI_FACTOR_A", CFG_CUSTOM, 0.229)
TOP_PoecilusCupreus
Definition: PopulationManager.h:78
PoecilusCupreus_Population_Manager::m_OvipostitionlengthProgress
std::array< double, 365 > m_OvipostitionlengthProgress
Storage for daily oviposition period progress.
Definition: PoecilusCupreus_All.h:223
cfg_PoecilusDormancyStartDate
static CfgInt cfg_PoecilusDormancyStartDate("POECILUS_DORMANCY_START_DAY", CFG_CUSTOM, 244)
The typical date dormancy can occur.
fp_cu
Definition: Treatment.h:138
PoecilusCupreus_Population_Manager::m_PreOviRate
double m_PreOviRate
Rate of change with temperature for preovipostion development (calculated from other configs)
Definition: PoecilusCupreus_All.h:258
bulb_harvest
Definition: Treatment.h:122
preseeding_cultivator
Definition: Treatment.h:39
Struct_Beetle::m_l
Landscape * m_l
Definition: Beetle_BaseClasses.h:129
PoecilusCupreus_Adult::SetEggFormationThreshold
static void SetEggFormationThreshold(double a_value)
Definition: PoecilusCupreus_All.h:196
trial_control
Definition: Treatment.h:110
fp_npks
Definition: Treatment.h:51
CfgFloat::value
double value() const
Definition: Configurator.h:142
PoecilusCupreus_Population_Manager::m_PoecilusDailyEggFactorB
double m_PoecilusDailyEggFactorB
Parameter b used to calculate the number of eggs laid per day.
Definition: PoecilusCupreus_All.h:236
burn_top
Definition: Treatment.h:143
fp_nk
Definition: Treatment.h:133
burn_straw_stubble
Definition: Treatment.h:104
PoecilusCupreus_Larvae1
Class for beetle larval stage 1, most functionality is in Beetle_Larvae.
Definition: PoecilusCupreus_All.h:85
org_herbicide
Definition: Treatment.h:85
PoecilusCupreus_Population_Manager::CreateObjects
void CreateObjects(int ob_type, TAnimal *a_pvo_ptr, void *null, Struct_Beetle *a_data, int a_number) override
Method to add beetles to the population.
Definition: PoecilusCupreus_All.cpp:438
fa_cu
Definition: Treatment.h:140
autumn_roll
Definition: Treatment.h:38
strigling_hill
Definition: Treatment.h:117
heavy_cultivator_aggregate
Definition: Treatment.h:120
Struct_Beetle::m_y
int m_y
Definition: Beetle_BaseClasses.h:128
cfg_dormancy_exit_threshold
static CfgFloat cfg_dormancy_exit_threshold("POECILUS_DORMANCY_EXIT_THRESHOLD", CFG_CUSTOM, 8.0)
Threshold for dormancy exit temperature. each day above that temperature increases hibernation exit c...
fp_manganesesulphate
Definition: Treatment.h:59
hay_turning
Definition: Treatment.h:100
last_treatment
Definition: Treatment.h:150
straw_removal
Definition: Treatment.h:124
PoecilusCupreus_Population_Manager::m_PoecilusDormancyExitDate
int m_PoecilusDormancyExitDate
Latest day in the year for leaving dormancy.
Definition: PoecilusCupreus_All.h:252
fa_n
Definition: Treatment.h:139
shredding
Definition: Treatment.h:126
Beetle_Adult::SetTodaysEggProduction
static void SetTodaysEggProduction(const int a_value)
Daily temperature determined egg production.
Definition: Beetle_BaseClasses.h:848
cfg_dormancy_multiplier
static CfgFloat cfg_dormancy_multiplier("POECILUS_DORMANCY_MULTIPLIER", CFG_CUSTOM, 1.2)
The multiplier to apply if below the threshold dormancy_threshold.
fp_n
Definition: Treatment.h:132
Beetle_Base::SetDevelopmentConstants
static void SetDevelopmentConstants(const std::vector< double > &a_value)
Set the day degree constant.
Definition: Beetle_BaseClasses.h:310
manual_weeding
Definition: Treatment.h:148
Beetle_Larvae::SetLDDepMort1
static void SetLDDepMort1(const double a_value)
Storage for density-dependent mortality parameter.
Definition: Beetle_BaseClasses.h:578
fa_npk
Definition: Treatment.h:67
PoecilusCupreus_Population_Manager::m_DormancyExitChance
double m_DormancyExitChance
Used to store the daily chance to exit dormancy.
Definition: PoecilusCupreus_All.h:219
cfg_PoecilusDailyEggFactorA
static CfgFloat cfg_PoecilusDailyEggFactorA("POECILUS_DAILY_EGGFACTOR_A", CFG_CUSTOM, -0.02753)
Population_Manager_Base::m_TheLandscape
Landscape * m_TheLandscape
holds an internal pointer to the landscape
Definition: PopulationManager.h:624
PoecilusCupreus_Population_Manager::m_DormancyChance
double m_DormancyChance
Used to store the daily chance to enter dormancy.
Definition: PoecilusCupreus_All.h:217
cfg_PoecilusStandardDormancyExitChance
static CfgFloat cfg_PoecilusStandardDormancyExitChance("POECILUS_STANDARD_DORMANCY_EXITCHANCE", CFG_CUSTOM, 0.03)
base probability to exit dormancy
winter_plough
Definition: Treatment.h:42
PoecilusCupreus_Population_Manager::m_Dormancy_threshold
double m_Dormancy_threshold
Threshold temeperature. eac h day below that temperature increases hibernation chances.
Definition: PoecilusCupreus_All.h:226
fp_calcium
Definition: Treatment.h:65
spring_harrow
Definition: Treatment.h:45
cut_to_silage
Definition: Treatment.h:98
cfg_PoecilusDailyEggFactorC
static CfgFloat cfg_PoecilusDailyEggFactorC("POECILUS_DAILY_EGGFACTOR_C", CFG_CUSTOM, -16.70355)
fa_sludge
Definition: Treatment.h:77
PoecilusCupreus_Population_Manager::m_PoecilusDailyEggFactorA
double m_PoecilusDailyEggFactorA
Parameter a used to calculate the number of eggs laid per day.
Definition: PoecilusCupreus_All.h:234
pigs_out
Definition: Treatment.h:96
PoecilusCupreus_Population_Manager::m_PoecilusStandardDormancyExitChance
double m_PoecilusStandardDormancyExitChance
Base chance per day of leaving dormancy.
Definition: PoecilusCupreus_All.h:256
fp_p
Definition: Treatment.h:54
PoecilusCupreus_Population_Manager::CalcOvipositionLength
static double CalcOvipositionLength(double a_temp)
Uses day degrees to determine when the oviposition period is over.
Definition: PoecilusCupreus_All.cpp:744
PoecilusCupreus_Population_Manager::m_PoecilusDailyVarianceEggFactorB
double m_PoecilusDailyVarianceEggFactorB
Parameter b used to calculate variance in the number of eggs laid per day.
Definition: PoecilusCupreus_All.h:242
cut_to_hay
Definition: Treatment.h:97
fa_boron
Definition: Treatment.h:141
Beetle_Larvae::SetLarvalDailyMort
static void SetLarvalDailyMort(const vector< double > &a_value, const int a_numLarvalStages, const int a_catagories)
Set the daily fixed mortality probability based on the larval stages and temperature.
Definition: Beetle_BaseClasses.h:582
cfg_PoecilusDailyEggMort
static CfgFloat cfg_PoecilusDailyEggMort("POECILUS_DAILYEGGMORT", CFG_CUSTOM, 0.021)
The daily fixed mortality egg probability.
PoecilusCupreus_Population_Manager::m_PoecilusStandardDormancyChance
double m_PoecilusStandardDormancyChance
Base chance per day of entering dormancy.
Definition: PoecilusCupreus_All.h:254
cfg_EggFormationThreshold
static CfgFloat cfg_EggFormationThreshold("POECILUS_EGGFORMATIONTHRESHOLD", CFG_CUSTOM, 1.0)
Landscape::SupplySimAreaHeight
int SupplySimAreaHeight(void)
Gets the simulation landscape height.
Definition: Landscape.h:2302
Landscape::SupplySimAreaWidth
int SupplySimAreaWidth(void)
Gets the simulation landscape width.
Definition: Landscape.h:2297
fa_k
Definition: Treatment.h:70
spring_roll
Definition: Treatment.h:46
cfg_PoecilusDevelopmentThresholds
static CfgArray_Double cfg_PoecilusDevelopmentThresholds("POECILUS_DEVELOPMENTTHRESHOLDS", CFG_CUSTOM, 10, vector< double >{8.0, 7.0, 7.0, 7.0, 12.5, 99999, 99999, 99999, 99999, 99999})
Standard deviation of the mean daily movement distance.
Beetle_Population_Manager::Catastrophe2
void Catastrophe2()
Method to arbitrarily alter populations size restricted spatially.
Definition: Beetle_BaseClasses.cpp:2030
syninsecticide_treat
Definition: Treatment.h:111
PoecilusCupreus_Population_Manager::m_Pc_Treatment_Mortalities
TTreatmentvsMortalityList m_Pc_Treatment_Mortalities
The list that summarises farming events that involve fertilizer applications and the mortalities they...
Definition: PoecilusCupreus_All.h:294
PoecilusCupreus_Population_Manager::m_DailyEggVariance
double m_DailyEggVariance
Used to store the daily variance in egg production.
Definition: PoecilusCupreus_All.h:215
PoecilusCupreus_Population_Manager::CalcDailyEggFormationProgress
double CalcDailyEggFormationProgress(double a_temp)
Calculates the additional development for egg formation for today.
Definition: PoecilusCupreus_All.cpp:748
cfg_PoecilusPreOviMin
static CfgFloat cfg_PoecilusPreOviMin("POECILUS_PREOVIMIN", CFG_CUSTOM, 1.0/41.2)
fp_nc
Definition: Treatment.h:135
fungicide_treat
Definition: Treatment.h:82
cfg_Beetlestartnos
CfgInt cfg_Beetlestartnos
The number of beetles to start in the simulation.
cfg_PoecilusAdultMovementTempThreshold
CfgFloat cfg_PoecilusAdultMovementTempThreshold("POECILUS_ADULTMOVEMENTTEMPTHRESHOLD", CFG_CUSTOM, 6.9)
The temperature threshold for movement.
fp_sludge
Definition: Treatment.h:63
cfg_PoecilusLarvalMortCategories
static CfgInt cfg_PoecilusLarvalMortCategories("BEMBIDION_LARVALMORTCATEGORIES", CFG_CUSTOM, 6)
fp_greenmanure
Definition: Treatment.h:62
shallow_harrow
Definition: Treatment.h:119
PoecilusCupreus_Population_Manager::FertilizerMortality
bool FertilizerMortality(FarmToDo a_event)
The method that deals with the fertilizer mortality for the larvae.
Definition: PoecilusCupreus_All.cpp:816
fa_slurry
Definition: Treatment.h:72
Beetle_Adult::SetAdultDenDepMort1
static void SetAdultDenDepMort1(const double a_value)
Set density-dependent mortality parameter.
Definition: Beetle_BaseClasses.h:844
cattle_out_low
Definition: Treatment.h:112
harvest_bushfruit
Definition: Treatment.h:137
preseeding_cultivator_sow
Definition: Treatment.h:40
fp_pk
Definition: Treatment.h:53
cfg_PoecilusOvipositionLength_C
static CfgFloat cfg_PoecilusOvipositionLength_C("POECILUS_OVIPOSITIONLENGTH_C", CFG_CUSTOM, 0.2377)
Beetle_Base::GetHarvestMortality
virtual double GetHarvestMortality() const
the method overrides the method that returns the mortality due to harvest
Definition: Beetle_BaseClasses.h:369
cfg_PoecilusPreOviMax
static CfgFloat cfg_PoecilusPreOviMax("POECILUS_PREOVIMAX", CFG_CUSTOM, 1.0/5.0)
Beetle_Larvae::SetDailyLarvaMort
static void SetDailyLarvaMort(const double a_value)
Set the daily fixed mortality probability.
Definition: Beetle_BaseClasses.h:580
cfg_PoecilusDailyVarianceEggFactorB
static CfgFloat cfg_PoecilusDailyVarianceEggFactorB("POECILUS_DAILY_EGGFACTORVARIANCE_B", CFG_CUSTOM, 0.27)
fa_pks
Definition: Treatment.h:145
cfg_PoecilusDailyLarvalMort
static CfgFloat cfg_PoecilusDailyLarvalMort("POECILUS_DAILYLARVALMORT", CFG_CUSTOM, 0.005)
The daily fixed mortality larval probability.
Beetle_Population_Manager::m_InCropRef
TTypesOfVegetation m_InCropRef
In crop tole reference.
Definition: Beetle_BaseClasses.h:1123
org_fungicide
Definition: Treatment.h:86
Beetle_Population_Manager::m_BeetleLarvalStagesNum
int m_BeetleLarvalStagesNum
Definition: Beetle_BaseClasses.h:1058
Landscape::SupplyDayInYear
int SupplyDayInYear(void)
Passes a request on to the associated Calendar class function, the day in the year.
Definition: Landscape.h:2267
cattle_out
Definition: Treatment.h:95
harvestshoots
Definition: Treatment.h:147
stubble_cultivator_heavy
Definition: Treatment.h:36
Beetle_Egg_List::SetDailyEggMort
static void SetDailyEggMort(const double a_value)
Set the daily fixed mortality probability.
Definition: Beetle_BaseClasses.h:446
PoecilusCupreus_Population_Manager::CalcDormancyExitChance
void CalcDormancyExitChance(double a_temp, int a_day)
Updates probability of leaving dormancy. Should be called daily
Definition: PoecilusCupreus_All.cpp:790
cfg_BeetleInCropRef
CfgInt cfg_BeetleInCropRef
A reference to a crop type if we are looking for mortality locations within a special crop.
biocide
Definition: Treatment.h:116
cfg_BeetleLarvalStagesNum
CfgInt cfg_BeetleLarvalStagesNum
The number of larval stages for this species.
swathing
Definition: Treatment.h:93
cfg_PoecilusLDDepMort0
static CfgInt cfg_PoecilusLDDepMort0("POECILUS_LDDEPMORTZERO", CFG_CUSTOM, 3)
Storage for density-dependent mortality parameter.
glyphosate
Definition: Treatment.h:114
PoecilusCupreus_Population_Manager::m_EggFormationProgress
std::array< double, 365 > m_EggFormationProgress
Storage for daily eggformation progress.
Definition: PoecilusCupreus_All.h:221
cfg_PoecilusLarvalDailyTemperatureMort
static CfgArray_Double cfg_PoecilusLarvalDailyTemperatureMort("POECILUS_LARVALDAILYTEMPERATUREMORT", CFG_CUSTOM, 3 *6, vector< double >{ 0.0855, 0.0855, 0.1036, 0.0563, 0.0515, 0.0657, 0.0626, 0.0626, 0.0940, 0.0529, 0.0492, 0.0633, 0.0631, 0.0631, 0.0545, 0.0268, 0.0236, 0.0295 })
The daily fixed temperature related mmortality larval probability.
cfg_PoecilusOvipositionLength_A
static CfgFloat cfg_PoecilusOvipositionLength_A("POECILUS_OVIPOSITIONLENGTH_A", CFG_CUSTOM, 129.9)
CfgInt::value
int value() const
Definition: Configurator.h:116
cfg_PoecilusDailyEggFactorB
static CfgFloat cfg_PoecilusDailyEggFactorB("POECILUS_DAILY_EGGFACTOR_B", CFG_CUSTOM, 1.72330)
fa_manure
Definition: Treatment.h:75
CfgArray_Double::value
std::vector< double > value() const
Definition: Configurator.h:219
bob_Larva3
Definition: Beetle_BaseClasses.h:85
spring_sow
Definition: Treatment.h:47
Beetle_Population_Manager::Catastrophe
void Catastrophe() override
Method to arbitrarily alter populations size.
Definition: Beetle_BaseClasses.cpp:1967
cut_weeds
Definition: Treatment.h:106
trial_toxiccontrol
Definition: Treatment.h:109
Beetle_Adult::SetAdultMovementTempThreshold
static void SetAdultMovementTempThreshold(const double a_value)
Set the temperature threshold for movement.
Definition: Beetle_BaseClasses.h:830
Beetle_Base::SetMoveDistribution
static void SetMoveDistribution(const string &a_type_str, const string &a_args_str)
Set the movement distribution.
Definition: Beetle_BaseClasses.cpp:320
PoecilusCupreus_Population_Manager::OnFarmEvent
bool OnFarmEvent(FarmToDo a_event, Beetle_Base *a_caller) override
Method dealing with the farming mortalities.
Definition: PoecilusCupreus_All.cpp:514
Struct_Beetle
A data class for Beetle data.
Definition: Beetle_BaseClasses.h:125
PoecilusCupreus_Population_Manager::m_PoecilusDailyVarianceEggFactorA
double m_PoecilusDailyVarianceEggFactorA
Parameter a used to calculate variance in the number of eggs laid per day.
Definition: PoecilusCupreus_All.h:240
fp_pks
Definition: Treatment.h:146
cfg_PoecilusStandardDormancyChance
static CfgFloat cfg_PoecilusStandardDormancyChance("POECILUS_STANDARD_DORMANCY_CHANCE", CFG_CUSTOM, 0.03)
base probability of dormancy
fp_ns
Definition: Treatment.h:134
cfg_PoecilusMoveDistanceParamA
static CfgFloat cfg_PoecilusMoveDistanceParamA("POECILUS_MOVE_DIST_PARAM_A", CFG_CUSTOM, 1.81)
Parameter A for caluculation mean daily movement distance.
cfg_PoecilusDormancyExitDateEarly
static CfgInt cfg_PoecilusDormancyExitDateEarly("POECILUS_DORMANCY_EXITEARLY_DAY", CFG_CUSTOM, 60)
The Earliest date dormancy exit can occur.
PoecilusCupreus_Larvae3
Class for beetle larval stage 3, most functionality is in Beetle_Larvae.
Definition: PoecilusCupreus_All.h:113
bed_forming
Definition: Treatment.h:118
bob_foobar
Definition: Beetle_BaseClasses.h:88
product_treat
Definition: Treatment.h:113
PoecilusCupreus_Adult::SetPoecilusLaiCoverThreshold
static void SetPoecilusLaiCoverThreshold(double a_value)
Set the minimum LAI considered cover.
Definition: PoecilusCupreus_All.h:200
cfg_dormancy_exit_multiplier
static CfgFloat cfg_dormancy_exit_multiplier("POECILUS_DORMANCY_EXIT_MULTIPLIER", CFG_CUSTOM, 1.2)
The multiplier to apply if above the threshold dormancy_exit_threshold.
autumn_sow
Definition: Treatment.h:41
Beetle_Population_Manager::m_InCropNo
int m_InCropNo
In-crop counter.
Definition: Beetle_BaseClasses.h:1119
autumn_harrow
Definition: Treatment.h:37
cfg_PoecilusPreOviFactorC
static CfgFloat cfg_PoecilusPreOviFactorC("POECILUS_PREOVI_FACTOR_C", CFG_CUSTOM, 140.28)
fa_calcium
Definition: Treatment.h:79
Landscape::SupplyMinTemp
double SupplyMinTemp(void)
Passes a request on to the associated Weather class function, the minimum temperature for the current...
Definition: Landscape.h:1998
cfg_PoecilusPreOviFactorB
static CfgFloat cfg_PoecilusPreOviFactorB("POECILUS_PREOVI_FACTOR_B", CFG_CUSTOM, -11.14)
fa_ammoniumsulphate
Definition: Treatment.h:74
bob_Larva1
Definition: Beetle_BaseClasses.h:83
cfg_biocide_reduction_val
CfgFloat cfg_biocide_reduction_val
PoecilusCupreus_Adult
Definition: PoecilusCupreus_All.h:147
Population_Manager_Base::m_SimulationName
string m_SimulationName
stores the simulation name
Definition: PopulationManager.h:622
autumn_sow_with_ferti
Definition: Treatment.h:136
trial_insecticidetreat
Definition: Treatment.h:108
fa_p
Definition: Treatment.h:69
mow
Definition: Treatment.h:105
cfg_PoecilusLDDepMort1
static CfgFloat cfg_PoecilusLDDepMort1("POECILUS_LDDEPMORTONE", CFG_CUSTOM, 0.10)
Storage for density-dependent mortality parameter.
fa_rsm
Definition: Treatment.h:78
g_random_fnc
int g_random_fnc(const int a_range)
Definition: ALMaSS_Random.cpp:74
fa_npks
Definition: Treatment.h:66
water
Definition: Treatment.h:92
stubble_harrowing
Definition: Treatment.h:102
cfg_PoecilusDormancyExitDate
static CfgInt cfg_PoecilusDormancyExitDate("POECILUS_DORMANCY_EXIT_DAY", CFG_CUSTOM, 152)
The typical date dormancy exit is finished.
cfg_PoecilusDevelopmentConstants
static CfgArray_Double cfg_PoecilusDevelopmentConstants("POECILUS_DEVELOPMENTCONSTANTS", CFG_CUSTOM, 10, vector< double >{88.7, 85.0, 85.0, 90.0, 110.0, 0, 0, 0, 0, 0})
The egg, larval and pupal development target in day degrees above a threshold (10 possible stages)
PoecilusCupreus_Population_Manager::CalcDormancyChance
void CalcDormancyChance(double a_temp, int a_day)
Updates probability of enterning dormancy. Should be called daily
Definition: PoecilusCupreus_All.cpp:760
Beetle_Population_Manager::m_OffFieldNo
int m_OffFieldNo
Off-field counter.
Definition: Beetle_BaseClasses.h:1121
fp_liquidNH3
Definition: Treatment.h:57
molluscicide
Definition: Treatment.h:87
Beetle_Base::SetDDepRange
static void SetDDepRange(const int a_value)
Set density-dependent range parameter.
Definition: Beetle_BaseClasses.h:328
Population_Manager::PushIndividual
void PushIndividual(const unsigned a_listindex, TAnimal *a_individual_ptr)
Definition: PopulationManager.cpp:1682
hay_bailing
Definition: Treatment.h:101
Beetle_Larvae::SetLDDepMort0
static void SetLDDepMort0(const int a_value)
Storage for density-dependent mortality parameter.
Definition: Beetle_BaseClasses.h:576
Struct_Beetle::m_x
int m_x
Definition: Beetle_BaseClasses.h:127
fa_manganesesulphate
Definition: Treatment.h:73
start
Definition: Treatment.h:32
Population_Manager::TheSubArrays
vector< vector< forward_list< TAnimal * > * > > TheSubArrays
Hold all the animal pointers.
Definition: PopulationManager.h:804
fp_k
Definition: Treatment.h:55
PoecilusCupreus_Population_Manager::m_PoecilusDormancyExitDateEarly
int m_PoecilusDormancyExitDateEarly
Earliest day in the year for leaving dormancy.
Definition: PoecilusCupreus_All.h:250
PoecilusCupreus_Adult::SetPoecilusTempShadowThreshold
static void SetPoecilusTempShadowThreshold(double a_value)
Set the Temperature above which Poecilus will prefer open habitats.
Definition: PoecilusCupreus_All.h:198
bob_Egg
Definition: Beetle_BaseClasses.h:82
PoecilusCupreus_Population_Manager::SetPc_Treatment_Mortalities
void SetPc_Treatment_Mortalities()
Hard-coded for now method to set fertilizer mortality chances.
Definition: PoecilusCupreus_All.cpp:825
Beetle_Base::GetStriglingMortality
virtual double GetStriglingMortality() const
Mortality by Strigling: similar for all forms– should use base class method.
Definition: Beetle_BaseClasses.h:363
autumn_plough
Definition: Treatment.h:34
PoecilusCupreus_Population_Manager::m_PoecilusDormancyStartDate
int m_PoecilusDormancyStartDate
Typical day in the year for entering dormancy.
Definition: PoecilusCupreus_All.h:248
bob_Adult
Definition: Beetle_BaseClasses.h:87
Beetle_Base::GetSoilCultivationMortality
virtual double GetSoilCultivationMortality() const
the method overrides the method that returns the mortality due to soil cultivation
Definition: Beetle_BaseClasses.h:365
fp_slurry
Definition: Treatment.h:58
PoecilusCupreus_Population_Manager::m_Dormancy_exit_threshold
double m_Dormancy_exit_threshold
Threshold for dormancy exit temperature. each day above that temperature increases hibernation exit c...
Definition: PoecilusCupreus_All.h:230
fiber_covering
Definition: Treatment.h:128
cfg_PoecilusDailyVarianceEggFactorC
static CfgFloat cfg_PoecilusDailyVarianceEggFactorC("POECILUS_DAILY_EGGFACTORVARIANCE_C", CFG_CUSTOM, -2.32)
bob_Larva2
Definition: Beetle_BaseClasses.h:84
PoecilusCupreus_Population_Manager::m_PoecilusDailyEggFactorC
double m_PoecilusDailyEggFactorC
Parameter c used to calculate the number of eggs laid per day.
Definition: PoecilusCupreus_All.h:238
tobs_Hibernating
Definition: Beetle_BaseClasses.h:70
PoecilusCupreus_Population_Manager::m_PoecilusDailyVarianceEggFactorC
double m_PoecilusDailyVarianceEggFactorC
Parameter c used to calculate variance in the number of eggs laid per day.
Definition: PoecilusCupreus_All.h:244
spring_sow_with_ferti
Definition: Treatment.h:115
sleep_all_day
Definition: Treatment.h:33
cfg_PoecilusDDepRange
static CfgInt cfg_PoecilusDDepRange("POECILUS_DDEPRANGE", CFG_CUSTOM, 3)
The density-dependent range parameter.
strigling_sow
Definition: Treatment.h:107
Beetle_Population_Manager::m_DayDegs
vector< std::array< double, 365 > > m_DayDegs
Storage for daily day degrees for non-adult stages.
Definition: Beetle_BaseClasses.h:1052
Population_Manager::IncLiveArraySize
void IncLiveArraySize(int a_listindex)
Increments the number of 'live' objects for a list index in the TheArray.
Definition: PopulationManager.h:665