File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/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_All.h
Go to the documentation of this file.
1 /*
2 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ****
3 Copyright (c) 2023, Christopher John Topping, Aarhus University
4 Developed from a version by Andrey Chuhutin 2022.
5 All rights reserved.
6 
7 Redistribution and use in source and binary forms, with or without modification, are permitted provided
8 that the following conditions are met:
9 
10 Redistributions of source code must retain the above copyright notice, this list of conditions and the
11 following disclaimer.
12 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
13 the following disclaimer in the documentation and/or other materials provided with the distribution.
14 
15 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
16 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
17 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
18 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
19 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 * * * * * * * * * ** * * * * * * * * ** * * * * * * * * ** * * * * * * * * ** * * * * * * * * *****
24 */
25 
26 #ifndef POECILUS_CUPREUS_ALL_H
27 #define POECILUS_CUPREUS_ALL_H
28 
29 #include <unordered_map>
30 
31 extern const char* g_simulationName;
32 
33 #include "Beetle_BaseClasses.h"
34 
35 // Forward Declarations
37 class Landscape;
38 class MovementMap;
39 class SimplePositionMap;
41 
42 using TTreatmentvsMortalityList = std::unordered_map<FarmToDo, double>;
43 
44 // ------------------------------------------------------------------------------------------
45 // Start Beetle_Base Class
46 // ------------------------------------------------------------------------------------------
47 // - - - - - - - - - - Start Static Member Access - - - - - - - - - -
48 // - - - - - - - - - - End Static Member Access - - - - - - - - - -
49 // - - - - - - - - - -Start public functions with forced override - - - - - - - - - -
50 // - - - - - - - - - - End public functions with forced override - - - - - - - - - -
51 // + + + + + + + + + + Start Attributes + + + + + + + + + +
52 // - - - - - - - - - - Static members used for parameter input - - - - - - - - - -
53 // - - - - - - - - - - End Static Members - - - - - - - - - -
54 // + + + + + + + + + + End Attributes + + + + + + + + + +
55 // - - - - - - - - - -Start functions with forced override - - - - - - - - - -
56 // - - - - - - - - - - End functions with forced override - - - - - - - - - -
57 // -------------------- End Beetle_Base class --------------------
58 //---------------
59 
60 // ------------------------------------------------------------------------------------------
61 // Start PoecilusCupreus_Egg_List class
62 // ------------------------------------------------------------------------------------------
74 public:
77 };
78 
79 // -------------------- End PoecilusCupreus_Egg_List class --------------------
80 
81 // ------------------------------------------------------------------------------------------
82 // Start PoecilusCupreus_Larvae1 class
83 // ------------------------------------------------------------------------------------------
86 public:
88  PoecilusCupreus_Larvae1(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
90  virtual void ReInit(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
91 };
92 
93 // -------------------- End PoecilusCupreus_Larvae1 class --------------------
94 
95 // ------------------------------------------------------------------------------------------
96 // Start PoecilusCupreus_Larvae2 class
97 // ------------------------------------------------------------------------------------------
100 public:
102  PoecilusCupreus_Larvae2(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
104  void ReInit(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr) override;
105 };
106 
107 // -------------------- End PoecilusCupreus_Larvae2 class --------------------
108 
109 // ------------------------------------------------------------------------------------------
110 // Start PoecilusCupreus_Larvae3 class
111 // ------------------------------------------------------------------------------------------
114 public:
116  PoecilusCupreus_Larvae3(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
118  void ReInit(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr) override;
119 };
120 
121 // -------------------- End PoecilusCupreus_Larvae3 class --------------------
122 
123 // ------------------------------------------------------------------------------------------
124 // Start PoecilusCupreus_Pupae class
125 // ------------------------------------------------------------------------------------------
126 class PoecilusCupreus_Pupae final : public Beetle_Pupae {
127 public:
129  PoecilusCupreus_Pupae(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
131  void ReInit(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
133  bool CheckManagementBeetle() override {
134  FarmToDo event;
135  int i = 0;
136  while ((event = static_cast<FarmToDo>(m_OurLandscape->SupplyLastTreatment(m_Location_x, m_Location_y, &i))) !=
137  sleep_all_day) { return m_OurPopulation->OnFarmEventPupae(event, this); }
138  return false;
139  }
140 };
141 
142 // -------------------- End PoecilusCupreus_Pupae class --------------------
143 
144 // ------------------------------------------------------------------------------------------
145 // Start PoecilusCupreus_Adult class
146 // ------------------------------------------------------------------------------------------
147 class PoecilusCupreus_Adult final : virtual public Beetle_Adult {
148 protected:
149  // + + + + + + + + + + Start Attributes + + + + + + + + + +
151  PoecilusCupreus_Population_Manager* m_OurPopulation{nullptr}; // NOLINT(clang-diagnostic-shadow-field)
157  bool m_postOvi_bool{ false };
158  // - - - - - - - - - - Static members used for parameter input - - - - - - - - - -
160  static vector<double> m_DailyAdultMortalityWithSeason;
162  static double m_EggFormationThreshold;
169  // - - - - - - - - - - End Static Members - - - - - - - - - --
170  // + + + + + + + + + + End Attributes + + + + + + + + + +
172  TTypesOfBeetleState Ageing() override;
176  bool CheckDormancyExit() override;
178  void CheckReproduction() override;
180  int MoveTo_Quality_Assess() override;
182  void TryToReproduce() override {
183  if (m_postOvi_bool) return;
185  }
186 
187 public:
189  PoecilusCupreus_Adult(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
191  void ReInit(int a_x, int a_y, Landscape* a_l_ptr, PoecilusCupreus_Population_Manager* a_bpm_ptr);
193  bool WinterMort() const override { return false; }
194  // - - - - - - - - - - Start Static Member Set - - - - - - - - - -
196  static void SetEggFormationThreshold(double a_value) { m_EggFormationThreshold = a_value; }
198  static void SetPoecilusTempShadowThreshold(double a_value) { m_PoecilusTempShadowThreshold = a_value; }
200  static void SetPoecilusLaiCoverThreshold(double a_value) { m_PoecilusCoverThreshold = a_value; }
201  // - - - - - - - - - - End Static Member Set - - - - - - - - - -
202 };
203 
204 // -------------------- End PoecilusCupreus_Adult class --------------------
205 
206 // ------------------------------------------------------------------------------------------
207 // Start PoecilusCupreus_Population_Manager class
208 // ------------------------------------------------------------------------------------------
210 protected:
211  // + + + + + + + + + + Start Attributes + + + + + + + + + +
215  double m_DailyEggVariance{0.0};
217  double m_DormancyChance{0.0};
219  double m_DormancyExitChance{0.0};
221  std::array<double, 365> m_EggFormationProgress{};
223  std::array<double, 365> m_OvipostitionlengthProgress{};
224  // - - - - - - - - - - Start attributes used for parameter input - - - - - - - - - -
226  double m_Dormancy_threshold{5.0};
258  double m_PreOviRate;
259  // - - - - - - - - - - End attributes used for parameter input - - - - - - - - - -
260  // + + + + + + + + + + End Attributes + + + + + + + + + +
262  void DayDegreeCalculations(int a_dayinyear, bool a_usehourly) override;
264  static void SetMeanDistance(double a_temp);
265 
266 public:
270  ~PoecilusCupreus_Population_Manager() override = default;
272  void CreateObjects(int ob_type, TAnimal* a_pvo_ptr, void* null, Struct_Beetle* a_data, int a_number) override;
274  bool OnFarmEvent(FarmToDo a_event, Beetle_Base* a_caller) override;
276  bool OnFarmEventPupae(FarmToDo event, Beetle_Base* a_caller) override;
278  void CalculateDailyEggProduction(double a_temp) override;
280  static double CalcOvipositionLength(double a_temp);
282  double GetEggFormationProgress(int a_day) const { return m_EggFormationProgress[a_day]; }
284  double GetOvipositionPeriodProgress(int a_day) const { return m_OvipostitionlengthProgress[a_day]; }
286  double CalcDailyEggFormationProgress(double a_temp);
288  void CalcDailyRandomEggFactor(double a_temp);
290  void CalcDormancyChance(double a_temp, int a_day);
292  void CalcDormancyExitChance(double a_temp, int a_day);
296  bool FertilizerMortality(FarmToDo a_event);
300  double GetDormancyChance() const { return m_DormancyChance; }
302  double GetDormancyExitChance() const { return m_DormancyExitChance; }
303  void DoLast() override {
304 #ifdef CATASTROPHE2
305  Catastrophe2();
306 #else
307  Catastrophe(); // This method must be overidden in descendent classes
308 #endif
310  }
311 };
312 
313 // -------------------- End PoecilusCupreus_Population_Manager class --------------------
314 #endif
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_Population_Manager::DayDegreeCalculations
void DayDegreeCalculations(int a_dayinyear, bool a_usehourly) override
Does day degree development calculations here.
Definition: PoecilusCupreus_All.cpp:491
PoecilusCupreus_Larvae2
Class for beetle larval stage 2, most functionality is in Beetle_Larvae.
Definition: PoecilusCupreus_All.h:99
harvest
Definition: Treatment.h:94
PoecilusCupreus_Population_Manager::GetDormancyChance
double GetDormancyChance() const
Get the daily chance to enter dormancy.
Definition: PoecilusCupreus_All.h:300
fa_nk
Definition: Treatment.h:142
Beetle_Population_Manager::OnFarmEventPupae
virtual bool OnFarmEventPupae(FarmToDo event, Beetle_Base *a_caller)
Used to determine mortality based on an event for any beetle class - not a pure vitual but must be ov...
Definition: Beetle_BaseClasses.h:1038
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
PoecilusCupreus_Adult::m_OurPopulation
PoecilusCupreus_Population_Manager * m_OurPopulation
Pointer to the population manager.
Definition: PoecilusCupreus_All.h:151
insecticide_treat
Definition: Treatment.h:83
straw_chopping
Definition: Treatment.h:99
Beetle_Population_Manager::AddStageProductionRecord
void AddStageProductionRecord(int a_value, int a_stage)
Adds to the stage production record attribute.
Definition: Beetle_BaseClasses.h:1146
PoecilusCupreus_Adult::m_PoecilusCoverThreshold
static double m_PoecilusCoverThreshold
The minimum LAI considered cover.
Definition: PoecilusCupreus_All.h:168
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
Beetle_Adult::m_plPoint
PointDirection m_plPoint
A helper attribute when simulating movement.
Definition: Beetle_BaseClasses.h:911
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
PoecilusCupreus_Population_Manager::GetEggFormationProgress
double GetEggFormationProgress(int a_day) const
Returns the current progress towards egg formation based on a given date to become reproductively act...
Definition: PoecilusCupreus_All.h:282
fp_sk
Definition: Treatment.h:56
pruning
Definition: Treatment.h:125
PoecilusCupreus_Pupae::PoecilusCupreus_Pupae
PoecilusCupreus_Pupae(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
constructor for pupae
Definition: PoecilusCupreus_All.cpp:244
PoecilusCupreus_Adult::WinterMort
bool WinterMort() const override
The method for calculating overwintering mortality.
Definition: PoecilusCupreus_All.h:193
PoecilusCupreus_Population_Manager::CalculateDailyEggProduction
void CalculateDailyEggProduction(double a_temp) override
Figure out the maximum number of eggs that can be laid today - must be overridden in descendent class...
Definition: PoecilusCupreus_All.cpp:739
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
g_simulationName
const char * g_simulationName
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)
SimplePositionMap
Used to map locations of individuals for density estimates - space inefficient but good for testing.
Definition: PositionMap.h:45
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
FarmToDo
FarmToDo
Definition: Treatment.h:31
fp_nk
Definition: Treatment.h:133
PoecilusCupreus_Adult::m_EggFormationProgress
double m_EggFormationProgress
A parameter that holds the value that determines when the first eggs are formed.
Definition: PoecilusCupreus_All.h:153
TAnimal::m_DayInYear
static int m_DayInYear
A holder for the day in year shared with all TAnimal objects.
Definition: PopulationManager.h:358
Beetle_Adult::GetDailyMortalityRate
double GetDailyMortalityRate() const override
the override of the function that returns the background mortality rate
Definition: Beetle_BaseClasses.h:933
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
PoecilusCupreus_Larvae2::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr) override
ReInit for object pool.
Definition: PoecilusCupreus_All.cpp:212
PoecilusCupreus_Adult::m_EggFormationThreshold
static double m_EggFormationThreshold
Definition: PoecilusCupreus_All.h:162
probability_distribution
Definition: ALMaSS_Random.h:70
PoecilusCupreus_Population_Manager::~PoecilusCupreus_Population_Manager
~PoecilusCupreus_Population_Manager() override=default
Destructor: the same as in base class.
fa_cu
Definition: Treatment.h:140
TTypesOfBeetleState
TTypesOfBeetleState
The enumeration lists all beetle behavioural states used by all the beetle species.
Definition: Beetle_BaseClasses.h:58
autumn_roll
Definition: Treatment.h:38
strigling_hill
Definition: Treatment.h:117
Beetle_Base::m_Lifestage
unsigned m_Lifestage
This is a useful parameter holding the beetle type (this includes larval stages)
Definition: Beetle_BaseClasses.h:166
PoecilusCupreus_Adult::TryToReproduce
void TryToReproduce() override
Does reproduction if possible.
Definition: PoecilusCupreus_All.h:182
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
PoecilusCupreus_Egg_List
The class describing the PoecilusCupreus Egg_List objects. In general case this class should have onl...
Definition: PoecilusCupreus_All.h:68
PoecilusCupreus_Adult::CheckDormancy
TTypesOfBeetleState CheckDormancy() override
Determines whether its time to hibernate.
Definition: PoecilusCupreus_All.cpp:307
hay_turning
Definition: Treatment.h:100
PoecilusCupreus_Adult::m_PoecilusTempShadowThreshold
static double m_PoecilusTempShadowThreshold
The Temperature above which Poecilus will prefer open habitats.
Definition: PoecilusCupreus_All.h:164
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.
Beetle_Adult::TurningForced
virtual void TurningForced()
Turning returns a direction to move in next step.
Definition: Beetle_BaseClasses.h:973
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::CalcDailyRandomEggFactor
void CalcDailyRandomEggFactor(double a_temp)
Updates DailyRandomEggFactor. Should be called daily
Definition: PoecilusCupreus_All.cpp:755
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
PoecilusCupreus_Larvae3::PoecilusCupreus_Larvae3
PoecilusCupreus_Larvae3(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
constructor for Larvae3
Definition: PoecilusCupreus_All.cpp:223
fp_calcium
Definition: Treatment.h:65
spring_harrow
Definition: Treatment.h:45
cut_to_silage
Definition: Treatment.h:98
PointDirection::m_x
int m_x
Definition: Beetle_BaseClasses.h:98
cfg_PoecilusDailyEggFactorC
static CfgFloat cfg_PoecilusDailyEggFactorC("POECILUS_DAILY_EGGFACTOR_C", CFG_CUSTOM, -16.70355)
Landscape
The landscape class containing all environmental and topographical data.
Definition: Landscape.h:142
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
Beetle_Larvae::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, Beetle_Population_Manager *a_bpm_ptr) override
ReInit for object pool.
Definition: Beetle_BaseClasses.cpp:655
PoecilusCupreus_Population_Manager::m_PoecilusStandardDormancyExitChance
double m_PoecilusStandardDormancyExitChance
Base chance per day of leaving dormancy.
Definition: PoecilusCupreus_All.h:256
PoecilusCupreus_Population_Manager::DoLast
void DoLast() override
Adds output adult locations to DoLast.
Definition: PoecilusCupreus_All.h:303
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
Beetle_Base::m_OurPopulation
Beetle_Population_Manager * m_OurPopulation
Pointer to the population manager.
Definition: Beetle_BaseClasses.h:160
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
Beetle_Egg_List
The class describing the beetle Egg_List objects.
Definition: Beetle_BaseClasses.h:382
PoecilusCupreus_Population_Manager::m_PoecilusStandardDormancyChance
double m_PoecilusStandardDormancyChance
Base chance per day of entering dormancy.
Definition: PoecilusCupreus_All.h:254
cfg_PoecilusDailyEggMort
static CfgFloat cfg_PoecilusDailyEggMort("POECILUS_DAILYEGGMORT", CFG_CUSTOM, 0.021)
The daily fixed mortality egg probability.
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
Beetle_Larvae::m_LarvalStage
int m_LarvalStage
Current larval growth stage (1-3), used as a small speed hack.
Definition: Beetle_BaseClasses.h:619
PoecilusCupreus_Adult::MoveTo_Quality_Assess
int MoveTo_Quality_Assess() override
Determines whether a move is OK, and the turning rate.
Definition: PoecilusCupreus_All.cpp:336
Landscape::SupplySimAreaWidth
int SupplySimAreaWidth(void)
Gets the simulation landscape width.
Definition: Landscape.h:2297
TAnimal::m_Location_y
int m_Location_y
The objects ALMaSS y coordinate.
Definition: PopulationManager.h:366
PoecilusCupreus_Pupae::CheckManagementBeetle
bool CheckManagementBeetle() override
Definition: PoecilusCupreus_All.h:133
cfg_PmEventfrequency
CfgInt cfg_PmEventfrequency
fa_k
Definition: Treatment.h:70
PoecilusCupreus_Population_Manager::OnFarmEventPupae
bool OnFarmEventPupae(FarmToDo event, Beetle_Base *a_caller) override
Method dealing with the farming mortalities this differs for pupae.
Definition: PoecilusCupreus_All.cpp:734
spring_roll
Definition: Treatment.h:46
Beetle_Population_Manager
The population manager class for beetles.
Definition: Beetle_BaseClasses.h:1006
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.
PoecilusCupreus_Adult::CheckReproduction
void CheckReproduction() override
Starts reproduction when ready.
Definition: PoecilusCupreus_All.cpp:325
TAnimal::m_OurLandscape
static Landscape * m_OurLandscape
A pointer to the landscape object shared with all TAnimal objects.
Definition: PopulationManager.h:342
PoecilusCupreus_Population_Manager::GetOvipositionPeriodProgress
double GetOvipositionPeriodProgress(int a_day) const
Returns the current progress towards ending the oviposition period based on the first active day.
Definition: PoecilusCupreus_All.h:284
CfgBool
Bool configurator entry class.
Definition: Configurator.h:155
Beetle_Population_Manager::Catastrophe2
void Catastrophe2()
Method to arbitrarily alter populations size restricted spatially.
Definition: Beetle_BaseClasses.cpp:2030
PoecilusCupreus_Population_Manager::m_CurrentEggFormationProgress
double m_CurrentEggFormationProgress
Definition: PoecilusCupreus_All.h:213
TAnimal
The base class for all ALMaSS animal classes. Includes all the functionality required to be handled b...
Definition: PopulationManager.h:200
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
MovementMap
Movement maps are used for rapid computing of animal movement. This version uses values of 0-3 only.
Definition: MovementMap.h:88
PoecilusCupreus_Adult::m_postOvi_bool
bool m_postOvi_bool
flag to shut down reproduction
Definition: PoecilusCupreus_All.h:157
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
PoecilusCupreus_Larvae1::ReInit
virtual void ReInit(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
ReInit for object pool.
Definition: PoecilusCupreus_All.cpp:192
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
CfgArray_Double
Definition: Configurator.h:208
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
PoecilusCupreus_Larvae3::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr) override
ReInit for object pool.
Definition: PoecilusCupreus_All.cpp:231
Landscape::SupplyDayInYear
int SupplyDayInYear(void)
Passes a request on to the associated Calendar class function, the day in the year.
Definition: Landscape.h:2267
Beetle_Adult::m_CanReproduce_bool
bool m_CanReproduce_bool
Signal reproductive readiness.
Definition: Beetle_BaseClasses.h:969
g_speedy_Divides
double g_speedy_Divides[2001]
A generally useful array of fast divide calculators by multiplication.
Definition: Landscape.cpp:344
cattle_out
Definition: Treatment.h:95
harvestshoots
Definition: Treatment.h:147
TAnimal::m_AgeDays
int m_AgeDays
To hold the age in days.
Definition: PopulationManager.h:378
cfg_BeetleAdultMovementTempThreshold
CfgFloat cfg_BeetleAdultMovementTempThreshold
The temperature threshold for movement.
stubble_cultivator_heavy
Definition: Treatment.h:36
Beetle_BaseClasses.h
Beetle_Egg_List::SetDailyEggMort
static void SetDailyEggMort(const double a_value)
Set the daily fixed mortality probability.
Definition: Beetle_BaseClasses.h:446
PoecilusCupreus_Adult::m_DailyAdultMortalityWithSeason
static vector< double > m_DailyAdultMortalityWithSeason
Definition: PoecilusCupreus_All.h:160
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
PoecilusCupreus_All.h
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.
Beetle_Adult::TryToReproduce
virtual void TryToReproduce()
Does reproduction if possible.
Definition: Beetle_BaseClasses.cpp:1250
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)
Landscape::SupplyVegCover
double SupplyVegCover(int a_polyref)
Returns the vegetation cover proportion of the vegetation using the polygon reference number a_polyre...
Definition: Landscape.h:1667
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::m_CurrentBState
TTypesOfBeetleState m_CurrentBState
Current behavioural state.
Definition: Beetle_BaseClasses.h:158
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
Beetle_Larvae
The class describing the beetle larvae objects.
Definition: Beetle_BaseClasses.h:535
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
Beetle_Adult
The class describing the adult (female) beetle objects.
Definition: Beetle_BaseClasses.h:793
PoecilusCupreus_Larvae2::PoecilusCupreus_Larvae2
PoecilusCupreus_Larvae2(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
constructor for Larvae2
Definition: PoecilusCupreus_All.cpp:203
TTreatmentvsMortalityList
std::unordered_map< FarmToDo, double > TTreatmentvsMortalityList
Definition: PoecilusCupreus_All.h:42
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
PoecilusCupreus_Adult::CheckDormancyExit
bool CheckDormancyExit() override
Determines whether its time to disperse.
Definition: PoecilusCupreus_All.cpp:316
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_Larvae1::PoecilusCupreus_Larvae1
PoecilusCupreus_Larvae1(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
constructor for Larvae1
Definition: PoecilusCupreus_All.cpp:177
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.
cfg_PmEventsize
CfgInt cfg_PmEventsize
autumn_sow
Definition: Treatment.h:41
Beetle_Population_Manager::m_InCropNo
int m_InCropNo
In-crop counter.
Definition: Beetle_BaseClasses.h:1119
CfgInt
Integer configurator entry class.
Definition: Configurator.h:102
PoecilusCupreus_Population_Manager
Definition: PoecilusCupreus_All.h:209
PoecilusCupreus_Adult::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
ReInit for object pool.
Definition: PoecilusCupreus_All.cpp:270
TAnimal::m_TemperatureToday
static double m_TemperatureToday
A holder for the temperature today shared with all TAnimal objects.
Definition: PopulationManager.h:354
autumn_harrow
Definition: Treatment.h:37
cfg_PoecilusPreOviFactorC
static CfgFloat cfg_PoecilusPreOviFactorC("POECILUS_PREOVI_FACTOR_C", CFG_CUSTOM, 140.28)
PoecilusCupreus_Population_Manager::PoecilusCupreus_Population_Manager
PoecilusCupreus_Population_Manager(Landscape *a_l_ptr)
Constructor.
Definition: PoecilusCupreus_All.cpp:359
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)
Beetle_Pupae
The class describing the beetle pupae objects.
Definition: Beetle_BaseClasses.h:688
PoecilusCupreus_Adult::Ageing
TTypesOfBeetleState Ageing() override
The daily ageing for a beetle.
Definition: PoecilusCupreus_All.cpp:287
fa_ammoniumsulphate
Definition: Treatment.h:74
bob_Larva1
Definition: Beetle_BaseClasses.h:83
CfgFloat
Double configurator entry class.
Definition: Configurator.h:126
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
cfg_PoecilusPostOviMort
static CfgFloat cfg_PoecilusPostOviMort("POECILUS_POSTOVIMORT", CFG_CUSTOM, 0.1)
cfg_CfgRipleysOutputUsed
CfgBool cfg_CfgRipleysOutputUsed
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
PoecilusCupreus_Adult::PoecilusCupreus_Adult
PoecilusCupreus_Adult(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
constructor for PoecilusCupreus adult
Definition: PoecilusCupreus_All.cpp:259
cfg_PoecilusLDDepMort1
static CfgFloat cfg_PoecilusLDDepMort1("POECILUS_LDDEPMORTONE", CFG_CUSTOM, 0.10)
Storage for density-dependent mortality parameter.
fa_rsm
Definition: Treatment.h:78
CFG_CUSTOM
Definition: Configurator.h:70
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)
Beetle_Base
The base class for all beetles.
Definition: Beetle_BaseClasses.h:150
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
PoecilusCupreus_Adult::m_PoecilusTempMoveThreshold
static double m_PoecilusTempMoveThreshold
The minimum temperature for movement.
Definition: PoecilusCupreus_All.h:166
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
tobs_BDying
Definition: Beetle_BaseClasses.h:73
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
Landscape::SupplyLastTreatment
int SupplyLastTreatment(int a_polyref, int *a_index)
Returns the last treatment recorded for the polygon.
Definition: Landscape.h:1941
Beetle_Population_Manager::m_MoveMap
std::unique_ptr< MovementMap > m_MoveMap
Map of suitability for movement.
Definition: Beetle_BaseClasses.h:1107
start
Definition: Treatment.h:32
Beetle_Adult::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, Beetle_Population_Manager *a_bpm_ptr) override
ReInit for object pool.
Definition: Beetle_BaseClasses.cpp:898
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
Beetle_Pupae::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, Beetle_Population_Manager *a_bpm_ptr) override
ReInit for object pool.
Definition: Beetle_BaseClasses.cpp:781
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
PointDirection::m_y
int m_y
Definition: Beetle_BaseClasses.h:99
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
PoecilusCupreus_Adult::m_FirstActiveDay
int m_FirstActiveDay
Remembers the first day of activity for egg formation calculation.
Definition: PoecilusCupreus_All.h:155
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_Egg_List::PoecilusCupreus_Egg_List
PoecilusCupreus_Egg_List(int a_today, PoecilusCupreus_Population_Manager *a_bpm_ptr, Landscape *a_l_ptr)
Egg_List class constructor.
Definition: PoecilusCupreus_All.cpp:162
TAnimal::m_Location_x
int m_Location_x
The objects ALMaSS x coordinate.
Definition: PopulationManager.h:362
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
cfg_ReallyBigOutputUsed
CfgBool cfg_ReallyBigOutputUsed
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
PoecilusCupreus_Population_Manager::GetDormancyExitChance
double GetDormancyExitChance() const
Get the daily chance to exit dormancy.
Definition: PoecilusCupreus_All.h:302
PoecilusCupreus_Pupae::ReInit
void ReInit(int a_x, int a_y, Landscape *a_l_ptr, PoecilusCupreus_Population_Manager *a_bpm_ptr)
ReInit for object pool.
Definition: PoecilusCupreus_All.cpp:249
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