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
Osmia.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************************************
3 Copyright (c) 2019, Christopher John Topping, Aarhus University
4 All rights reserved.
5 
6 Redistribution and use in source and binary forms, with or without modification, are permitted provided
7 that the following conditions are met:
8 
9 Redistributions of source code must retain the above copyright notice, this list of conditions and the
10 following disclaimer.
11 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
12 the following disclaimer in the documentation and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
15 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
17 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
18 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
19 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
21 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 ********************************************************************************************************
23 */
32 //---------------------------------------------------------------------------
33 #ifndef OsmiaH
34 #define OsmiaH
35 //---------------------------------------------------------------------------
36 //---------------------------------------------------------------------------
37 #include <forward_list>
38 
41 class Osmia_Nest_Manager;
42 class PollenMap_centroidbased;
44 class Osmia_Egg;
45 class Osmia_Female;
46 class struct_Osmia;
47 class Osmia_Base;
48 
49 //------------------------------------------------------------------------------
53 //typedef vector<Osmia*> TListOfOsmia;
54 //---------------------------------------------------------------------------
55 
56 #define __OSMIA_DIST_SIZE 10000
57 
59 static CfgFloat cfg_OsmiaTotalCocoonMassLoss("OSMIATOTALCOCOONMASSLOSS", CFG_CUSTOM, 15.0);
61 static CfgFloat cfg_OsmiaTotalCocoonMassLossRange("OSMIATOTALCOCOONMASSLOSSRANGE", CFG_CUSTOM, 5.0);
62 
67 {
76 };
77 
78 
79 
83 enum class TTypeOfOsmiaParasitoids : unsigned // unsigned is used because this may be used as an index to an array
84 {
89 };
90 
92 {
97 public:
99  int m_mask[20][8][2];
100  int m_step;
101  int m_step2;
102  OsmiaForageMask();
103 };
104 
106 {
111 public:
113  vector<APoint> m_mask;
114  int m_step;
116  OsmiaForageMaskDetailed(int a_step, int a_maxdistance);
117 };
118 
120 {
121 public:
124  vector<double> m_cell_provision;
125 };
126 
128 class Osmia_Nest : public TAnimal
129 {
136 protected:
138  int m_x;
140  int m_y;
144  std::forward_list<TAnimal*>m_cells;
146  omp_nest_lock_t* m_cell_lock;
150  bool m_isOpen;
153 public:
154  Osmia_Nest(int a_x, int a_y, int a_polyref, Osmia_Nest_Manager* a_manager);
155  virtual ~Osmia_Nest(){
156  omp_destroy_nest_lock(m_cell_lock);
157  delete m_cell_lock;
158  }
160  void SetCellLock(void) { omp_set_nest_lock(m_cell_lock); }
162  void ReleaseCellLock(void) { omp_unset_nest_lock(m_cell_lock); }
164  void AddCocoon (TAnimal* a_cocoon) {
165  m_cells.push_front(a_cocoon);
166  }
168  void AddEgg(TAnimal* a_egg) { m_cells.push_front(a_egg); }
169  void ReplaceNestPointer(TAnimal* a_oldpointer, TAnimal* a_newpointer) {
170  std::replace(m_cells.begin(), m_cells.end(), a_oldpointer, a_newpointer); // replaces the old life stage pointer with the new one in-place
171  }
172  void RemoveCell(TAnimal* a_oldpointer);
174  bool Find(TAnimal* a_osmia)
175  {
176  if (std::find(m_cells.begin(), m_cells.end(), a_osmia) != m_cells.end()) return true;
177  else {
178  return false;
179  }
180  }
182  void KillAllSubsequentCells(TAnimal* a_osmia);
184  int GetPolyRef() { return m_PolyRef; }
186  int GetNoNests();
188  int GetNoCells() { return std::distance(std::begin(m_cells), std::end(m_cells)); };
190  bool ZeroCells() {
191  if (std::distance(std::begin(m_cells), std::end(m_cells)) < 1) return false; else return true;
192  }
193  int GetAspectDelay() { return m_aspectdelay; }
195  bool GetIsOpen() { return m_isOpen; }
197  void CloseNest() { m_isOpen = false; }
198  // Debug
200 };
201 
202 class Osmia_Base : public TAnimal
203 {
212 protected:
216  int m_Age;
222  static double m_TempToday;
224  static int m_TempTodayInt;
234  static double m_OsmiaEggDevelTotalDD;
242  static double m_OsmiaPupaDevelTotalDD;
276  static double m_FemaleMaxMass;
278  static double m_FemaleMinMass;
280  static double m_MaleMaxMass;
282  static double m_PollenScoreToMg;
292  static double m_BombylidProbability;
296  static vector<double> m_ParasitoidAttackChance;
314  static double m_CocoonToProvisionMass;
316  static double m_ProvisionToCocoonMass;
326  static double m_OsmiaFemaleBckMort;
340  double m_Mass;
343 
344 public:
346  Osmia_Base(struct_Osmia* data);
348  void ReInit(struct_Osmia* data);
350  virtual ~Osmia_Base();
352  virtual void st_Dying(void);
354  virtual void BeginStep(void) { ; } // NB this is not used in the Osmia_Base code
356  virtual void Step(void) { ; } // NB this is not used in the Osmia_Base code
358  virtual void EndStep(void) { ; } // NB this is not used in the Osmia_Base code
360  int GetAge() { return m_Age; }
362  void SetAge(int a_age) { m_Age = a_age; }
364  double GetMass() { return m_Mass; }
366  void SetMass(double a_mass) { m_Mass = a_mass; }
369  m_ParasitoidStatus = a_status;
370  }
373  Osmia_Nest* GetNest() { return m_OurNest; }
375  static void SetParameterValues();
376  /* Not currently using temperature related mortality
377  void SetNestMortality(double a_MortsByTemp[3][80]) {
378  for (int i = 0; i < 80; i++) {
379  m_DailyDevelopmentMortEggToCocoon[i] = a_MortsByTemp[0][i];
380  m_DailyDevelopmentMortPupa[i] = a_MortsByTemp[1][i];
381  m_DailyDevelopmentMortOverWinter[i] = a_MortsByTemp[2][i];
382  */
383  static void SetTemp(double a_temperature) {
384  m_TempToday = a_temperature;
385  m_TempTodayInt = int(floor(a_temperature + 0.5));
386  }
389  {
391  }
392 };
393 
394 class Osmia_Egg : public Osmia_Base
395 {
396 protected:
398  double m_AgeDegrees = 0.0;
400  bool m_Sex;
405 public:
407  Osmia_Egg(struct_Osmia* data);
409  virtual void ReInit(struct_Osmia* data);
411  virtual ~Osmia_Egg();
413  virtual void Step(void);
415  double GetAgeDegrees() { return m_AgeDegrees; }
417  void SetAgeDegrees(unsigned a_agedegrees) { m_AgeDegrees = a_agedegrees; }
418 protected:
420  virtual TTypeOfOsmiaState st_Develop(void);
422  virtual TTypeOfOsmiaState st_Hatch(void);
424  virtual bool DailyMortality() { if (g_rand_uni_fnc() < m_DailyDevelopmentMortEggs) return true; else return false; }
425 };
426 
427 class Osmia_Larva : public Osmia_Egg
428 {
429 protected:
430 public:
432  Osmia_Larva(struct_Osmia* data);
434  virtual void ReInit(struct_Osmia* data);
435  virtual ~Osmia_Larva();
437  virtual void Step(void);
438 protected:
440  virtual TTypeOfOsmiaState st_Develop(void);
442  virtual TTypeOfOsmiaState st_Prepupate(void);
444  virtual bool DailyMortality() { if (g_rand_uni_fnc() < m_DailyDevelopmentMortLarvae) return true; else return false; }
445 };
446 
448 {
449 public:
453  virtual void ReInit(struct_Osmia* data);
454  virtual ~Osmia_Prepupa();
456  virtual void Step(void);
457 protected:
459  virtual TTypeOfOsmiaState st_Develop(void);
461  virtual TTypeOfOsmiaState st_Pupate(void);
463  virtual bool DailyMortality() { if (g_rand_uni_fnc() < m_DailyDevelopmentMortPrepupae) return true; else return false; }
466 };
467 
468 class Osmia_Pupa : public Osmia_Prepupa
469 {
470 public:
472  Osmia_Pupa(struct_Osmia* data);
474  virtual void ReInit(struct_Osmia* data);
475  virtual ~Osmia_Pupa();
477  virtual void Step(void);
478 protected:
480  virtual TTypeOfOsmiaState st_Develop(void);
482  virtual TTypeOfOsmiaState st_Emerge(void);
484  virtual bool DailyMortality() { if (g_rand_uni_fnc() < m_DailyDevelopmentMortPupae) return true; else return false; }
485 
486 };
487 
489 {
490 protected:
492 
495 public:
499  virtual void ReInit(struct_Osmia* data);
500  virtual ~Osmia_InCocoon();
502  virtual void Step(void);
504  static void SetOverwinteringTempThreshold(double a_temp) { m_OverwinteringTempThreshold = a_temp; }
506  double GetDDPreWinter() { return m_DDPrewinter; }
507 protected:
509  virtual TTypeOfOsmiaState st_Develop(void);
511  virtual TTypeOfOsmiaState st_Emerge(void);
513  bool WinterMortality();
516 };
517 
519 {
520 public:
521 #ifdef __OSMIARECORDFORAGE
522  static double m_foragesum;
523  static int m_foragecount;
524 #endif
525 protected:
526  //Attributes
531  static double m_pollengiveupthreshold;
533  static double m_pollengiveupreturn;
535  //int m_DensityIndex;
569  static int m_ForageSteps;
573  static vector<double> m_FemaleForageEfficiency;
578 #ifdef __OSMIA_PESTICIDE
579 public:
581  static double m_OsmiaPPPEffectProb;
583  static double m_OsmiaPPPThreshold;
584 protected:
586  static double GetPPPThreshold() { return m_OsmiaPPPThreshold; }
588  static double GetPPPEffectProb() { return m_OsmiaPPPEffectProb; }
590  PesticideStore m_my_pest_store_for_laying_eggs;
591 #endif
592 
593 #ifdef __OSMIATESTING
594  OsmiaNestData m_target;
595  OsmiaNestData m_achieved;
596  bool m_firstnestflag;
597 #endif // __OSMIATESTING
598 
599 
600  //Methods
601  virtual void st_Dying(void);
602  //--------------------------------------------------------------------------------------------------------------------------------
604  virtual TTypeOfOsmiaState st_Develop(void);
606  virtual bool FindNestLocation(void);
608  virtual TTypeOfOsmiaState st_Dispersal(void);
610  double Forage(void);
614  int PlanEggsPerNest();
623  m_EggsToLay = int((m_TotalNestsPossible * (0.0371 * m_Mass + 2.8399)) + (g_rand_uni_fnc() * 6) - 3);
624  m_EggsThisNest = PlanEggsPerNest() + 2; // 2 is added because it will be removed at the start of each nest
625  }
627  TTypeOfOsmiaParasitoids CalcParaistised(double a_daysopen);
629  void LayEgg();
630 
631 public:
633  Osmia_Female(struct_Osmia* data);
635  virtual void ReInit(struct_Osmia* data);
637  virtual ~Osmia_Female();
639  virtual void Init(double a_mass);
641  virtual void BeginStep(void);
643  virtual void Step(void);
644  static void SetForageSteps(int a_sz) { m_ForageSteps = a_sz; }
646  static void SetForageMaskDetailed(int a_step, int a_max) {
647  OsmiaForageMaskDetailed fmd(a_step, a_max);
648  m_foragemaskdetailed = fmd;
649  }
651  static void SetPollenGiveUpThreshold(double a_prop) { m_pollengiveupthreshold = a_prop; }
653  static void SetPollenGiveUpReturn(double a_value) { m_pollengiveupreturn = a_value; }
655  static void SetDailyMort(double a_prob) { m_OsmiaFemaleBckMort = a_prob; }
657  static void SetNestFindAttempts(int a_no) { m_OsmiaFindNestAttemptNo = a_no; }
659  static void SetMinEggsPerNest(int a_eggs) { m_OsmiaFemaleMinEggsPerNest = a_eggs; }
661  static void SetMaxEggsPerNest(int a_eggs) { m_OsmiaFemaleMaxEggsPerNest = a_eggs; }
663  static void SetCocoonToProvisionMass(double a_ratio) {
664  m_CocoonToProvisionMass = a_ratio;
668  }
670  static void SetProvisionToCocoonMass(double a_ratio) { m_ProvisionToCocoonMass = a_ratio; }
672  static void SetPollenScoreToMg(double a_ratio) { m_PollenScoreToMg = a_ratio; }
680  static void SetMinimumCellConstructionTime(double a_time) { m_MinimumCellConstructionTime = a_time; }
682  static void SetMaximumCellConstructionTime(double a_time) { m_MaximumCellConstructionTime = a_time; }
684  static void SetTotalNestsPossible(int a_total) { m_TotalNestsPossible = a_total; }
686  static void SetBombylidProbability(double a_prob) { m_BombylidProbability = a_prob; }
688  static void SetParasitismProbToTimeCellOpen(double a_ratio) { m_ParasitismProbToTimeCellOpen = a_ratio; }
690  static void SetUsingMechanisticParasitoids(bool a_flag) { m_UsingMechanisticParasitoids = a_flag; }
691  static void SetParasitoidParameters(vector<double> a_params) { m_ParasitoidAttackChance = a_params; }
695  static void AddForageEfficiency(double a_eff) { m_FemaleForageEfficiency.push_back(a_eff); }
697  void GetPollenInPolygon(double& a_required_amount, double& a_foraged_amount, int a_polygon, int a_loc_x, int a_loc_y);
698  virtual bool OnFarmEvent( FarmToDo event );
699 
700  //code used for pestiside store
701  #ifdef __OSMIA_PESTICIDE_STORE
702  unsigned int m_animal_id;
703  #endif
704 };
705 #endif
Osmia_InCocoon::st_Develop
virtual TTypeOfOsmiaState st_Develop(void)
Behavioural state development.
Definition: Osmia.cpp:711
Osmia_Larva::ReInit
virtual void ReInit(struct_Osmia *data)
Osmia_Larva ReInit for object pool.
Definition: Osmia.cpp:388
toOsmias_NestProvisioning
Definition: Osmia.h:72
TTypeOfOsmiaParasitoids::topara_Bombylid
TAnimal::Supply_m_Location_x
int Supply_m_Location_x() const
Returns the ALMaSS x-coordinate.
Definition: PopulationManager.h:239
Osmia_Nest::SetCellLock
void SetCellLock(void)
Set the cell lock.
Definition: Osmia.h:160
Osmia_Female::m_CellCarryOver
double m_CellCarryOver
Keeps track of any part time cell construction hours.
Definition: Osmia.h:539
cfg_OsmiaSugarPerDay
static CfgFloat cfg_OsmiaSugarPerDay("OSMIA_NECTAR_PER_DAY", CFG_CUSTOM, 20)
The amount of sugar in mg that a female osmia needs per day.
cfg_OsmiaInCocoonOverwinteringTempThreshold
CfgFloat cfg_OsmiaInCocoonOverwinteringTempThreshold("OSMIA_INCOCOONOVERWINTERINGTEMPTHRESHOLD", CFG_CUSTOM, 0.0)
Is the temperature developmental threshold for overwintering development (a temperature below which d...
Osmia_Female::SetTotalNestsPossible
static void SetTotalNestsPossible(int a_total)
Set the maximum number of nests possible for a bee.
Definition: Osmia.h:684
Osmia_Base::m_foragehours
int m_foragehours
A variable to hold the number of available forage hours left in a day.
Definition: Osmia.h:342
TAnimal::m_my_pesticide
PesticideToxicity m_my_pesticide
Definition: PopulationManager.h:379
Osmia_Base::m_OsmiaFemaleLifespan
static int m_OsmiaFemaleLifespan
holds the value for max female lifespan
Definition: Osmia.h:304
PlantProtectionProducts
PlantProtectionProducts
A list ofPPP names for tracking by the Pesticide class.
Definition: LandscapeFarmingEnums.h:1077
cfg_OsmiaFemaleDamageBasedPesticideResponse
CfgBool cfg_OsmiaFemaleDamageBasedPesticideResponse("OSMIA_FEMALE_DAMAGE_BASED_PESTICIDE_RESPONSE", CFG_CUSTOM, false)
The flag to use damage based pesticide response for females.
g_rand_uni_fnc
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
TAnimal::KillThis
virtual void KillThis()
Sets all parameters ready for object destruction.
Definition: PopulationManager.h:263
Osmia_Base::m_DailyDevelopmentMortPrepupae
static double m_DailyDevelopmentMortPrepupae
This holds the daily mortality for pre-pupae.
Definition: Osmia.h:230
Osmia_Base::SetMass
void SetMass(double a_mass)
Sets the bee's mass.
Definition: Osmia.h:366
Calendar::GetYear
int GetYear(void)
Definition: Calendar.h:71
Osmia_Female::PlanEggsPerNest
int PlanEggsPerNest()
Calculates the planned number of eggs for the next nest.
Definition: Osmia.cpp:1623
Osmia_Base::SetParameterValues
static void SetParameterValues()
Used to populate the static members holding mortality and development parameters.
Definition: Osmia.cpp:215
Osmia_InCocoon::GetDDPreWinter
double GetDDPreWinter()
Returns the number of day degrees during prewinter above 15.0 degrees.
Definition: Osmia.h:506
Osmia_Pupa::st_Emerge
virtual TTypeOfOsmiaState st_Emerge(void)
Behavioural state for emerging from the pupa.
Definition: Osmia.cpp:631
Osmia_Base::SetTemp
static void SetTemp(double a_temperature)
Definition: Osmia.h:383
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
TTypeOfOsmiaParasitoids::topara_foobar
insecticide_treat
Definition: Treatment.h:83
Osmia_Population_Manager::GetPrePupalDevelDays
double GetPrePupalDevelDays()
Returns the amount of development a pre-pupal bee will get today based on temperature.
Definition: Osmia_Population_Manager.h:482
Osmia_Base::m_Mass
double m_Mass
Definition: Osmia.h:340
Osmia_Nest::ReplaceNestPointer
void ReplaceNestPointer(TAnimal *a_oldpointer, TAnimal *a_newpointer)
Definition: Osmia.h:169
cfg_OsmiaPupaDailyMORT
static CfgFloat cfg_OsmiaPupaDailyMORT("OSMIA_PUPADAILYMORT", CFG_CUSTOM, 0.003)
Daily unspecified mortality for Osmia pupae.
Osmia_Base::m_MaleMaxTargetProvisionMass
static double m_MaleMaxTargetProvisionMass
The maximum target provisioning for a male cell.
Definition: Osmia.h:270
cfg_OsmiaEggThresholdBasedPesticideResponse
CfgBool cfg_OsmiaEggThresholdBasedPesticideResponse("OSMIA_EGG_THRESHOLD_BASED_PESTICIDE_RESPONSE", CFG_CUSTOM, true)
The flag to use threshold based pesticide response for eggs.
Osmia_Base::m_ParasitoidAttackChance
static vector< double > m_ParasitoidAttackChance
Holds the probability per capita of parasitoid attack for a subpopulation sized cell.
Definition: Osmia.h:296
Osmia_Base::~Osmia_Base
virtual ~Osmia_Base()
Osmia destructor.
Definition: Osmia.cpp:209
cfg_OsmiaEggDevelTotalDD
static CfgFloat cfg_OsmiaEggDevelTotalDD("OSMIA_EGGDEVELDD", CFG_CUSTOM, 86.0)
Is the number of day degrees needed for egg hatch above the developmental threshold for eggs.
Osmia_Nest::m_isOpen
bool m_isOpen
Signals that the nest is closed or open for adding new cells.
Definition: Osmia.h:150
PesticideStore::supplyTotalPesticide
double supplyTotalPesticide(void)
The function to return the total pesticide amount.
Definition: PesticideToxicity.h:54
Osmia_Female::m_PollenCompetitionsReductionScaler
static double m_PollenCompetitionsReductionScaler
An attribute used to scale the available pollen based on assumed competetion from other bee species.
Definition: Osmia.h:571
Population_Manager_Base::GetStepCounterInADay
int GetStepCounterInADay(void)
Return the sep counter in a day.
Definition: PopulationManager.h:605
cfg_OsmiaEmergenceProbType
static CfgStr cfg_OsmiaEmergenceProbType("OSMIA_EMERGENCEPROBTYPE", CFG_CUSTOM, "DISCRETE")
PesticideToxicity::doOverspray
void doOverspray(void)
The function for the animal to be oversprayed when the pesticide application is happening where the a...
Definition: PesticideToxicity.cpp:165
cfg_OsmiaTotalCocoonMassLoss
static CfgFloat cfg_OsmiaTotalCocoonMassLoss("OSMIATOTALCOCOONMASSLOSS", CFG_CUSTOM, 15.0)
The assumed total mass loss first cocoon to last per nest in terms of female cocoon mass.
Osmia_Base::m_OsmiaPrepupalDevelTotalDays10pct
static double m_OsmiaPrepupalDevelTotalDays10pct
10% of the number of days for prepupal development - just for speed
Definition: Osmia.h:248
struct_Osmia::y
int y
y-coord
Definition: Osmia_Population_Manager.h:167
Osmia_Base::m_TotalNestsPossible
static int m_TotalNestsPossible
The maximum number of nests possible for a bee.
Definition: Osmia.h:290
Osmia_Pupa::ReInit
virtual void ReInit(struct_Osmia *data)
Osmia_Pupa ReInit for object pool.
Definition: Osmia.cpp:570
CfgStr::value
char * value() const
Definition: Configurator.h:182
Osmia_Female::m_CellOpenDays
int m_CellOpenDays
records the current density grid index for fast access
Definition: Osmia.h:537
cfg_OsmiaFemalePrenestingDuration
CfgInt cfg_OsmiaFemalePrenestingDuration("OSMIA_PRENESTINGDURATION", CFG_CUSTOM, 2)
duration of prenesting in days
Osmia_Female::CalculateEggLoad
void CalculateEggLoad()
This calculates the number of eggs the female should lay.
Definition: Osmia.h:616
PesticideStore::addPesticide
void addPesticide(double eating_amount, double amount_per_square, double(Landscape::*a_supply_pest_func_pointer)(int, int, PlantProtectionProducts), int loc_x, int loc_y)
The function to add pesticide based on the eating amount and the amount of food per square meter.
Definition: PesticideToxicity.cpp:79
TOP_Osmia
Definition: PopulationManager.h:69
Osmia_Female::Forage
double Forage(void)
The foraging algorithm for Osmia.
Definition: Osmia.cpp:1107
struct_Osmia
Used for creation of a new Osmia object.
Definition: Osmia_Population_Manager.h:161
Osmia_Base::st_Dying
virtual void st_Dying(void)
Behavioural state dying.
Definition: Osmia.cpp:258
Osmia_Base::m_MaleMaxMass
static double m_MaleMaxMass
The minimum Male mass.
Definition: Osmia.h:280
Osmia_Female::m_EggsToLay
int m_EggsToLay
Contains the number of all eggs yet to lay.
Definition: Osmia.h:541
struct_Osmia::pest_mortality
double pest_mortality
The state tof the Osmia, this is used to set a dead egg because of pesticide.
Definition: Osmia_Population_Manager.h:183
Osmia_Base::m_OsmiaFemaleMassFromProvMassSlope
static double m_OsmiaFemaleMassFromProvMassSlope
holds the coefficient value for the female mass calculation from provision mass
Definition: Osmia.h:266
TTypeOfOsmiaParasitoids
TTypeOfOsmiaParasitoids
The types of parasitism possible for Osmia eggs/larvae.
Definition: Osmia.h:83
Osmia_Base::m_OsmiaPrepupalDevelTotalDays
static double m_OsmiaPrepupalDevelTotalDays
Number of days for prepupal development.
Definition: Osmia.h:246
Osmia_Base::m_BombylidProbability
static double m_BombylidProbability
holds the probability of bombylid fly parasitism if open nest parasitoid
Definition: Osmia.h:292
Osmia_Female::m_ForageLocY
int m_ForageLocY
The variable to record the bee's forageing location – y.
Definition: Osmia.h:577
Landscape::CorrectCoords
void CorrectCoords(int &x, int &y)
Function to prevent wrap around errors with co-ordinates using x/y pair.
Definition: Landscape.h:2206
Osmia_Female::SetBombylidProbability
static void SetBombylidProbability(double a_prob)
Sets Bombylid probability.
Definition: Osmia.h:686
TAnimal::m_guard_cell_y
int m_guard_cell_y
The index y to the guard cell.
Definition: PopulationManager.h:374
Osmia_Pupa
Definition: Osmia.h:468
struct_Osmia::L
Landscape * L
Landscape pointer.
Definition: Osmia_Population_Manager.h:173
CfgStr
String configurator entry class.
Definition: Configurator.h:173
g_date
class Calendar * g_date
Definition: Calendar.cpp:37
Osmia_Egg::GetAgeDegrees
double GetAgeDegrees()
A typical interface function - this one returns the agedegrees.
Definition: Osmia.h:415
Osmia_Base::m_dispersalmovementdistances
static probability_distribution m_dispersalmovementdistances
Static instance of the probability_distribution class of distance probablilties for dispersal.
Definition: Osmia.h:308
Osmia_Base::m_FemaleMaxMass
static double m_FemaleMaxMass
The maximum female mass.
Definition: Osmia.h:276
Osmia_Base::m_PollenScoreToMg
static double m_PollenScoreToMg
The conversion rate from pollen availability score to mg pollen provisioned per day.
Definition: Osmia.h:282
OsmiaNestData::m_cell_provision
vector< double > m_cell_provision
Definition: Osmia.h:124
Osmia_Nest::RemoveCell
void RemoveCell(TAnimal *a_oldpointer)
Definition: Osmia.cpp:1651
l_pest_NoPPPs
CfgInt l_pest_NoPPPs
The number of active Plant Protection Products to be tracked - a performance penalty if enabled with ...
Osmia_Nest::GetNoNests
int GetNoNests()
For debug - get the number of nests currently for this polygon.
Definition: Osmia.cpp:1708
Osmia_Base::m_ParasitismProbToTimeCellOpen
static double m_ParasitismProbToTimeCellOpen
holds the ratio of open cell parasitism to time cell is open
Definition: Osmia.h:294
Osmia_Population_Manager
The class to handle all Osmia bee population related matters.
Definition: Osmia_Population_Manager.h:376
Osmia_Female::BeginStep
virtual void BeginStep(void)
Definition: Osmia.cpp:902
Osmia_Base::m_OsmiaFemaleMaxEggsPerNest
static int m_OsmiaFemaleMaxEggsPerNest
Holds the parameter for maximum planned eggs per nest.
Definition: Osmia.h:332
Osmia_Base::m_MaximumCellConstructionTime
static double m_MaximumCellConstructionTime
The longest possible construction time for a cell.
Definition: Osmia.h:288
Osmia_Base::m_OsmiaFemaleR50distance
static double m_OsmiaFemaleR50distance
holds the value for the female typical homing distance
Definition: Osmia.h:298
Osmia_InCocoon
Definition: Osmia.h:488
Osmia_Base::m_OurParasitoidPopulationManager
static OsmiaParasitoid_Population_Manager * m_OurParasitoidPopulationManager
This is a time saving pointer to the parasitoid population manager object.
Definition: Osmia.h:220
Osmia_Egg::m_egg_pest_mortality
double m_egg_pest_mortality
Holds the mortality caused by pesticide.
Definition: Osmia.h:404
struct_Osmia::overwintering_degree_days
double overwintering_degree_days
This is used to set accumulated overwinter degree days when starting the simulation,...
Definition: Osmia_Population_Manager.h:185
cfg_OsmiaFemaleMassFromProvMassSlope
CfgFloat cfg_OsmiaFemaleMassFromProvMassSlope("OSMIA_FEMALEMASSFROMPROVMASSSLOPE", CFG_CUSTOM, 0.25)
Coefficient in osmia female mass from provision mass calculation.
CfgFloat::value
double value() const
Definition: Configurator.h:142
cfg_OsmiaProvMassFromCocoonMass
CfgFloat cfg_OsmiaProvMassFromCocoonMass
The relationhip between cocoon mass and provisioning mass is linear.
toOsmias_Die
Definition: Osmia.h:75
Osmia_Female::SetMinEggsPerNest
static void SetMinEggsPerNest(int a_eggs)
Set the min eggs parameter value.
Definition: Osmia.h:659
Osmia_Nest::Osmia_Nest
Osmia_Nest(int a_x, int a_y, int a_polyref, Osmia_Nest_Manager *a_manager)
Definition: Osmia.cpp:1636
Osmia_Female::m_CurrentProvisioning
double m_CurrentProvisioning
Records the amount of pollen currently provisioned in a cell.
Definition: Osmia.h:555
FarmToDo
FarmToDo
Definition: Treatment.h:31
Osmia_Base::m_CocoonToProvisionMass
static double m_CocoonToProvisionMass
The ratio of cocoon to provision mass.
Definition: Osmia.h:314
Osmia_Female::SetProvisionToCocoonMass
static void SetProvisionToCocoonMass(double a_ratio)
Set the conversion ratio provisioning to cocoon.
Definition: Osmia.h:670
Osmia_Base::m_TempToday
static double m_TempToday
The temperature today. This is static because there is only one temperature today.
Definition: Osmia.h:222
Landscape::SupplyLocMaxPollen
double SupplyLocMaxPollen(int &a_peak_loc_x, int &a_peak_loc_y, int a_min_x, int a_min_y, int a_max_x, int a_max_y, int a_incr=1)
Supply the location with the maximum pollen amount location for the given area.
Definition: Landscape.cpp:3566
Osmia_Female::m_ForageSteps
static int m_ForageSteps
The number of distance steps from nest to max forage range.
Definition: Osmia.h:569
Osmia_Base::m_OsmiaLarvaDevelTotalDD
static double m_OsmiaLarvaDevelTotalDD
Is the number of day degrees needed for larval hatch above the developmental threshold for larvae.
Definition: Osmia.h:238
Osmia_Egg::st_Develop
virtual TTypeOfOsmiaState st_Develop(void)
Behavioural state development.
Definition: Osmia.cpp:330
TAnimal::m_DayInYear
static int m_DayInYear
A holder for the day in year shared with all TAnimal objects.
Definition: PopulationManager.h:358
Osmia_Base::ReInit
void ReInit(struct_Osmia *data)
Osmia reinitialise object methods.
Definition: Osmia.cpp:198
Osmia_Base::m_TotalProvisioningMassLoss
static double m_TotalProvisioningMassLoss
The total provision mass loss expected first cocoon to last.
Definition: Osmia.h:318
Osmia_Pupa::st_Develop
virtual TTypeOfOsmiaState st_Develop(void)
Behavioural state development.
Definition: Osmia.cpp:617
Osmia_Base::m_OsmiaInCocoonOverwinteringTempThreshold
static double m_OsmiaInCocoonOverwinteringTempThreshold
holds the value for the InCocoon overwintering temperature threshold
Definition: Osmia.h:250
probability_distribution
Definition: ALMaSS_Random.h:70
Osmia_Base::m_eggspernestdistribution
static probability_distribution m_eggspernestdistribution
Static instance of the probability_distribution class of distance probablilties for numbers of eggs p...
Definition: Osmia.h:310
OsmiaForageMaskDetailed::m_step
int m_step
Definition: Osmia.h:114
struct_Osmia::sex
bool sex
the sex of the Osmia
Definition: Osmia_Population_Manager.h:171
g_generator
std::mt19937 g_generator
Osmia_Base::m_OsmiaPupaDevelTotalDD
static double m_OsmiaPupaDevelTotalDD
Is the number of day degrees needed for pupal hatch above the developmental threshold for pupae.
Definition: Osmia.h:242
Osmia_Female
Definition: Osmia.h:518
Osmia_Nest::GetPolyRef
int GetPolyRef()
Get the polyref.
Definition: Osmia.h:184
Osmia_Base::m_OsmiaInCocoonEmergCountSlope
static double m_OsmiaInCocoonEmergCountSlope
holds the coefficient value for the InCocoon emergence counter calculation
Definition: Osmia.h:262
Landscape::SupplyARandomLocPollenPoly
APoint SupplyARandomLocPollenPoly(int a_poly_id)
The function to get a random location with pollen available for the given polygon.
Definition: Landscape.h:265
Landscape::SupplyPesticideNectar
double SupplyPesticideNectar(int a_x, int a_y, PlantProtectionProducts a_ppp)
Gets nectar pesticide for a location.
Definition: Landscape.cpp:1474
Osmia_Female::SetParasitoidParameters
static void SetParasitoidParameters(vector< double > a_params)
Definition: Osmia.h:691
Landscape::ReleasePolygonLock
void ReleasePolygonLock(int a_polyref)
Function to release the given polygon locks.
Definition: Landscape.h:603
Landscape::SetPolygonLock
void SetPolygonLock(int a_polyref)
Function to set the given polygon lock.
Definition: Landscape.h:601
OsmiaForageMaskDetailed
Definition: Osmia.h:105
Osmia_Female::SetPollenGiveUpThreshold
static void SetPollenGiveUpThreshold(double a_prop)
Record the give up level for pollen from a forage patch we are foraging from.
Definition: Osmia.h:651
Osmia_InCocoon::m_DDPrewinter
double m_DDPrewinter
Definition: Osmia.h:494
Osmia_Population_Manager::ReleaseOsmiaNest
void ReleaseOsmiaNest(int a_polyindex, Osmia_Nest *a_nest)
Release the given nest in the given polygon.
Definition: Osmia_Population_Manager.h:426
Osmia_Base
Definition: Osmia.h:202
Osmia_InCocoon::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.cpp:682
Osmia_Female::AddForageEfficiency
static void AddForageEfficiency(double a_eff)
Save a forage efficiency value.
Definition: Osmia.h:695
struct_Osmia::age
int age
age
Definition: Osmia_Population_Manager.h:169
probability_distribution::Geti
int Geti() const
Definition: ALMaSS_Random.cpp:335
Osmia_Female::m_ForageLocX
int m_ForageLocX
The variable to record the bee's forageing location – x.
Definition: Osmia.h:575
Osmia_Base::m_OsmiaFemaleR90distance
static double m_OsmiaFemaleR90distance
holds the value for the female max homing distance
Definition: Osmia.h:300
TTypeOfOsmiaParasitoids::topara_Cleptoparasite
Osmia_Base::GetMass
double GetMass()
Returns the bee's mass.
Definition: Osmia.h:364
Osmia_Female::m_EggsThisNest
int m_EggsThisNest
Keeps a track of the planned number of eggs for this nest.
Definition: Osmia.h:543
Osmia_Base::m_OsmiaEggDevelTotalDD
static double m_OsmiaEggDevelTotalDD
Is the number of day degrees needed for egg development to hatch.
Definition: Osmia.h:234
TTypeOfOsmiaState
TTypeOfOsmiaState
The possible behavioural states for Osmia classes.
Definition: Osmia.h:66
Osmia_Nest::m_x
int m_x
x-location
Definition: Osmia.h:138
Osmia_Female::st_ReproductiveBehaviour
virtual TTypeOfOsmiaState st_ReproductiveBehaviour(void)
This checks for the need to do something regarding reproduction and does it if necessary.
Definition: Osmia.cpp:1191
CfgBool::value
bool value() const
Definition: Configurator.h:164
OsmiaNestData
Definition: Osmia.h:119
Osmia_Prepupa::st_Pupate
virtual TTypeOfOsmiaState st_Pupate(void)
Behavioural state for emerging from the pupa.
Definition: Osmia.cpp:541
Osmia_Female::SetUsingMechanisticParasitoids
static void SetUsingMechanisticParasitoids(bool a_flag)
Sets the UsingMechanisticParasitoids flag.
Definition: Osmia.h:690
cfg_OsmiaPupaDevelTotalDD
static CfgFloat cfg_OsmiaPupaDevelTotalDD("OSMIA_PUPADEVELDD", CFG_CUSTOM, 570)
Is the number of day degrees needed for pupal hatch above the developmental threshold for pupae.
Osmia_Female::SetMaleMinTargetProvisionMass
void SetMaleMinTargetProvisionMass(double a_mass)
Set the target mass for male cell provisioning - this is a minimum.
Definition: Osmia.h:674
Osmia_Nest
The Osmia nest is assumed to be a linear element with egg cells added one by one.
Definition: Osmia.h:128
Osmia_Egg::SetAgeDegrees
void SetAgeDegrees(unsigned a_agedegrees)
A typical interface function - this one returns the agedegrees.
Definition: Osmia.h:417
Osmia_Base::m_exp_ZeroToOne
static probability_distribution m_exp_ZeroToOne
Static instance of the probability_distribution class of distance probablilties for approx exponentia...
Definition: Osmia.h:312
cfg_OsmiaInCocoonWinterMortConst
CfgFloat cfg_OsmiaInCocoonWinterMortConst("OSMIA_INCOCOONWINTERMORTCONST", CFG_CUSTOM, -4.63)
Constant term in winter mortality equation for Osmia in cocoon.
Osmia_Nest::m_OurManager
static Osmia_Nest_Manager * m_OurManager
A pointer to the one and only nest population manager.
Definition: Osmia.h:148
cfg_OsmiaPupaDevelThreshold
static CfgFloat cfg_OsmiaPupaDevelThreshold("OSMIA_PUPADEVELTHRESHOLD", CFG_CUSTOM, 1.1)
Is temperature developmental threshold for pupal development.
g_uni_0to15
static std::uniform_int_distribution< int > g_uni_0to15(0, 35)
cfg_OsmiaDispersalMovementProbType
static CfgStr cfg_OsmiaDispersalMovementProbType("OSMIA_DISPMOVPROBTYPE", CFG_CUSTOM, "BETA")
Osmia_Female::m_CurrentNestLoc
APoint m_CurrentNestLoc
The location of the current nest, holds -1 in m_x when no nest.
Definition: Osmia.h:549
Osmia_Female::m_BeeSizeScore2
int m_BeeSizeScore2
Used to put the bees into a smaller size classes than used for m_BeeSizeScore1, size class controlled...
Definition: Osmia.h:559
Osmia_Female::FindNestLocation
virtual bool FindNestLocation(void)
Find a suitable location for a nest.
Definition: Osmia.cpp:1040
June
const int June
Julian start dates of the month of June.
Definition: Landscape.h:48
cfg_OsmiaAdultMassCategoryStep
CfgFloat cfg_OsmiaAdultMassCategoryStep
The size class step for Osmia female mass.
Osmia_Nest::AddCocoon
void AddCocoon(TAnimal *a_cocoon)
Adds a cocoon to the nest, this is only used to initialise the simulation.
Definition: Osmia.h:164
Landscape::SupplyPesticidePlantSurface
double SupplyPesticidePlantSurface(int a_x, int a_y, PlantProtectionProducts a_ppp)
Gets plant surface pesticide for a location.
Definition: Landscape.cpp:1444
Osmia_Egg::m_Sex
bool m_Sex
Holds the sex of the egg. Female = fertilized = true.
Definition: Osmia.h:400
Osmia_Nest::m_PolyRef
int m_PolyRef
polygon reference to where the nest is located
Definition: Osmia.h:142
Landscape::SupplyPollenAtLocInPoly
double SupplyPollenAtLocInPoly(int a_poly_id, APoint a_start_loc, double a_required_amount, vector< APoint > *a_locs, vector< double > *a_pest_vec)
The function to get the given pollen in the give location in the polygon ID, the locations for the re...
Definition: Landscape.h:271
Osmia_Egg::st_Hatch
virtual TTypeOfOsmiaState st_Hatch(void)
Behavioural state hatch.
Definition: Osmia.cpp:359
Osmia_Base::m_OsmiaFemaleMassFromProvMassConst
static double m_OsmiaFemaleMassFromProvMassConst
holds the constant term value for the female mass calculation from provision mass
Definition: Osmia.h:264
Osmia_Population_Manager::GetForageHours
int GetForageHours()
Return the Osmia flying weather hours.
Definition: Osmia_Population_Manager.h:432
Osmia_InCocoon::ReInit
virtual void ReInit(struct_Osmia *data)
Osmia_Adult ReInit for object pool.
Definition: Osmia.cpp:659
Osmia_Base::m_OsmiaInCocoonWinterMortSlope
static double m_OsmiaInCocoonWinterMortSlope
holds the coefficient value for the InCocoon winter mortality calculation
Definition: Osmia.h:258
Osmia_Base::m_CurrentOState
TTypeOfOsmiaState m_CurrentOState
Variable to record current behavioural state.
Definition: Osmia.h:214
TTypeOfOsmiaParasitoids::topara_Unparasitised
Osmia_Prepupa
Definition: Osmia.h:447
TTypeOfOsmiaLifeStages::to_OsmiaPrepupa
Osmia_Female::m_foragemask
static OsmiaForageMask m_foragemask
Definition: Osmia.h:527
cfg_OsmiaMaleMassMin
CfgFloat cfg_OsmiaMaleMassMin("OSMIA_MINMALEMASS", CFG_CUSTOM, 88)
min possible male mass in mg
cfg_OsmiaInCocoonPrewinteringTempThreshold
CfgFloat cfg_OsmiaInCocoonPrewinteringTempThreshold("OSMIA_INCOCOONPREWINTERINGTEMPTHRESHOLD", CFG_CUSTOM, 15.0)
Is the temperature developmental threshold for prewintering development (a temperature below which da...
Osmia_Female::m_foragemaskdetailed
static OsmiaForageMaskDetailed m_foragemaskdetailed
Definition: Osmia.h:528
Osmia_Female::SetForageMaskDetailed
static void SetForageMaskDetailed(int a_step, int a_max)
Initialise the detailed forage mask.
Definition: Osmia.h:646
Osmia_Female::SetForageSteps
static void SetForageSteps(int a_sz)
Definition: Osmia.h:644
OsmiaForageMask
Definition: Osmia.h:91
MapErrorMsg
Definition: MapErrorMsg.h:43
Osmia_Egg::DailyMortality
virtual bool DailyMortality()
Daily mortality test for eggs.
Definition: Osmia.h:424
Osmia_Base::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.h:356
TAnimal::m_Location_y
int m_Location_y
The objects ALMaSS y coordinate.
Definition: PopulationManager.h:366
Osmia_Base::m_OurPopulationManager
Osmia_Population_Manager * m_OurPopulationManager
This is a time saving pointer to the correct population manager object.
Definition: Osmia.h:218
Landscape::CalculateMaskCorners
vector< vector< int > > CalculateMaskCorners(int a_centroid_x, int a_centroid_y, int a_half_width)
The function to calculate the corners of mask(s) for the given centroid and half-width with wrapping ...
Definition: Landscape.cpp:2540
APoint
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:52
OsmiaForageMaskDetailed::m_maxdistance
int m_maxdistance
Definition: Osmia.h:115
Osmia_Pupa::~Osmia_Pupa
virtual ~Osmia_Pupa()
Definition: Osmia.cpp:576
cfg_OsmiaInCocoonEmergCountSlope
CfgFloat cfg_OsmiaInCocoonEmergCountSlope("OSMIA_INCOCOONEMERGENCECOUNTERSLOPE", CFG_CUSTOM, -0.0147)
Coefficient in emergence counter equation for Osmia in cocoon.
Osmia_Nest::AddEgg
void AddEgg(TAnimal *a_egg)
Adds an egg to the nest.
Definition: Osmia.h:168
Osmia_Nest::m_cells
std::forward_list< TAnimal * > m_cells
list of egg objects
Definition: Osmia.h:144
Osmia_Female::SetPollenGiveUpReturn
static void SetPollenGiveUpReturn(double a_value)
Record the give up level for pollen from a forage patch we are foraging from.
Definition: Osmia.h:653
Osmia_Nest::GetIsOpen
bool GetIsOpen()
Tells us whether the nest is finished for additions = false or can be added too = true.
Definition: Osmia.h:195
Osmia_Nest::m_owner
Osmia_Female * m_owner
Definition: Osmia.h:199
TTypeOfOsmiaLifeStages::to_OsmiaFemale
Osmia_Base::m_emergenceday
static probability_distribution m_emergenceday
Static instance of the probability_distribution class of emergence day.
Definition: Osmia.h:334
struct_Osmia::x
int x
x-coord
Definition: Osmia_Population_Manager.h:165
Osmia_Female::Osmia_Female
Osmia_Female(struct_Osmia *data)
Osmia_Female constructor.
Definition: Osmia.cpp:845
TAnimal::m_OurLandscape
static Landscape * m_OurLandscape
A pointer to the landscape object shared with all TAnimal objects.
Definition: PopulationManager.h:342
CfgBool
Bool configurator entry class.
Definition: Configurator.h:155
TAnimal::CheckManagement
void CheckManagement()
Used to start a check for any management related effects at the objects current location.
Definition: PopulationManager.cpp:1591
cfg_OsmiaPrepupaDevelTotalDays
static CfgFloat cfg_OsmiaPrepupaDevelTotalDays("OSMIA_PREPUPADEVELDAYS", CFG_CUSTOM, 45)
This is maximal (reached at optimal temperature) developmental speed (in days) for prepupal stages.
PesticideToxicity::supplyPestMortality
double supplyPestMortality(void)
The function to supply the host's mortality rate caused by pest.
Definition: PesticideToxicity.h:104
Osmia_Base::m_MinimumCellConstructionTime
static double m_MinimumCellConstructionTime
The shortest possible construction time for a cell - normally 1 day.
Definition: Osmia.h:286
toOsmias_ReproductiveBehaviour
Definition: Osmia.h:73
TAnimal::Supply_m_Location_y
int Supply_m_Location_y() const
Returns the ALMaSS y-coordinate.
Definition: PopulationManager.h:243
Osmia_Female::GetPollenInPolygon
void GetPollenInPolygon(double &a_required_amount, double &a_foraged_amount, int a_polygon, int a_loc_x, int a_loc_y)
Gets pollen in a polygon from a starting location.
Definition: Osmia.cpp:1164
Osmia_Female::m_NestProvisioningPlanSex
deque< bool > m_NestProvisioningPlanSex
A list of eggs male/female.
Definition: Osmia.h:563
TAnimal
The base class for all ALMaSS animal classes. Includes all the functionality required to be handled b...
Definition: PopulationManager.h:200
Osmia_Female::~Osmia_Female
virtual ~Osmia_Female()
Osmia_Female destructor.
Definition: Osmia.cpp:854
syninsecticide_treat
Definition: Treatment.h:111
OsmiaNestData::m_no_eggs
int m_no_eggs
Definition: Osmia.h:122
Osmia_Pupa::DailyMortality
virtual bool DailyMortality()
Daily mortality test for pupae.
Definition: Osmia.h:484
Osmia_Base::m_FemaleMinTargetProvisionMass
static double m_FemaleMinTargetProvisionMass
The minimum target provisioning for a female cell.
Definition: Osmia.h:272
Osmia_Base::GetNest
Osmia_Nest * GetNest()
Definition: Osmia.h:373
Osmia_Female::st_Dying
virtual void st_Dying(void)
Behavioural state dying.
Definition: Osmia.cpp:1602
Osmia_InCocoon::WinterMortality
bool WinterMortality()
Definition: Osmia.cpp:818
Osmia_Larva::Osmia_Larva
Osmia_Larva(struct_Osmia *data)
Osmia_Larva constructor.
Definition: Osmia.cpp:400
Osmia_Base::SetParasitised
void SetParasitised(TTypeOfOsmiaParasitoids a_status)
Set the parasitised status.
Definition: Osmia.h:368
OsmiaForageMaskDetailed::m_mask
vector< APoint > m_mask
Holds 20 distances and 8 directions with offsets to x,y.
Definition: Osmia.h:113
Osmia_Female::SetFemaleMinTargetProvisionMass
void SetFemaleMinTargetProvisionMass(double a_mass)
Set the target mass for female cell provisioning - this is a minimum.
Definition: Osmia.h:676
OsmiaForageMask::m_step2
int m_step2
Definition: Osmia.h:101
cfg_OsmiaDispersalMovementProbArgs
static CfgStr cfg_OsmiaDispersalMovementProbArgs("OSMIA_DISPMOVPROBARGS", CFG_CUSTOM, "10 5")
Osmia_Base::m_OsmiaInCocoonWinterMortConst
static double m_OsmiaInCocoonWinterMortConst
holds the constant term value for the InCocoon winter mortality calculation
Definition: Osmia.h:256
cfg_OsmiaForageSteps
CfgInt cfg_OsmiaForageSteps("OSMIA_FORAGESTEPS", CFG_CUSTOM, 20)
Osmia_Base::m_OsmiaInCocoonEmergenceTempThreshold
static double m_OsmiaInCocoonEmergenceTempThreshold
holds the value for the InCocoon emergence temperature threshold
Definition: Osmia.h:252
cfg_OsmiaFemaleMassMin
CfgFloat cfg_OsmiaFemaleMassMin("OSMIA_MINFEMALEMASS", CFG_CUSTOM, 25.0)
min possible female mass in mg
TTypeOfOsmiaLifeStages::to_OsmiaPupa
cfg_OsmiaEggsPerNestProbArgs
static CfgStr cfg_OsmiaEggsPerNestProbArgs("OSMIA_EGGSPERNESTPROBARGS", CFG_CUSTOM, "1.0 4.00")
Arguments for the planned eggs per nest probability distribution.
MapErrorMsg::Warn
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
Osmia_Population_Manager::CreateNest
Osmia_Nest * CreateNest(int a_x, int a_y, int a_polyindex)
Creates an Osmia_Nest in the polygon referenced by the index polyindex.
Definition: Osmia_Population_Manager.h:418
OsmiaParasitoid_Population_Manager
Definition: Osmia_Population_Manager.h:119
Osmia_Pupa::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.cpp:588
cfg_OsmiaEmergenceProbArgs
static CfgStr cfg_OsmiaEmergenceProbArgs("OSMIA_EMERGENCEPROBARGS", CFG_CUSTOM, "8 7 9 24 20 8 6 5 5 4 4")
Osmia_Base::m_UsingMechanisticParasitoids
static bool m_UsingMechanisticParasitoids
Flag for switching between ways of calculating parasitism.
Definition: Osmia.h:324
cfg_OsmiaEggPesticideDeathAmount
CfgFloat cfg_OsmiaEggPesticideDeathAmount("OSMIA_EGG_PESTICIDE_DEATH_AMOUNT", CFG_CUSTOM, 0.03)
The threshold of pesticide amount kills an egg. This is the value of pesticide in the pollen when the...
cfg_biocide_reduction_val
CfgFloat cfg_biocide_reduction_val
Osmia_Female::m_FlyingCounter
int m_FlyingCounter
A counter to keep track of the flying days during nest cell construction.
Definition: Osmia.h:553
Osmia_Base::EndStep
virtual void EndStep(void)
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per t...
Definition: Osmia.h:358
Osmia_InCocoon::Osmia_InCocoon
Osmia_InCocoon(struct_Osmia *data)
Osmia_Adult constructor.
Definition: Osmia.cpp:674
cfg_OsmiaInsecticideApplication
CfgFloat cfg_OsmiaInsecticideApplication("BEETLE_OSMIA_INSECTICIDE_APPLICATION", CFG_CUSTOM, 0.8)
The Osmial simple insecticide mortality parameter.
Osmia_Egg
Definition: Osmia.h:394
TTypeOfOsmiaLifeStages::to_OsmiaEgg
Osmia_Population_Manager::GetFirstCocoonProvisioningMass
double GetFirstCocoonProvisioningMass(int a_age, int a_massclass)
Return the first cocoon mass for a nest give an age and female mass.
Definition: Osmia_Population_Manager.h:439
Osmia_Prepupa::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.cpp:497
Osmia_Female::SetMaxEggsPerNest
static void SetMaxEggsPerNest(int a_eggs)
Set the min eggs parameter value.
Definition: Osmia.h:661
TALMaSSObject::m_StepDone
bool m_StepDone
Indicates whether the iterative step code is done for this timestep.
Definition: PopulationManager.h:133
cfg_OsmiaLarvaDevelTotalDD
static CfgFloat cfg_OsmiaLarvaDevelTotalDD("OSMIA_LARVADEVELDD", CFG_CUSTOM, 422)
Is the number of day degrees needed for larval hatch above the developmental threshold for larvae.
APoint::m_x
int m_x
Definition: ALMaSS_Setup.h:55
cfg_OsmiaCocoonMassFromProvMass
CfgFloat cfg_OsmiaCocoonMassFromProvMass
The relationhip between cocoon massand provisioning mass is linear.
biocide
Definition: Treatment.h:116
Osmia_InCocoon::m_OverwinteringTempThreshold
static double m_OverwinteringTempThreshold
Parameter for overwintering day degrees threshold.
Definition: Osmia.h:515
Osmia_Base::m_DailyDevelopmentMortPupae
static double m_DailyDevelopmentMortPupae
This holds the daily mortality for pupae.
Definition: Osmia.h:232
Osmia_Female::OnFarmEvent
virtual bool OnFarmEvent(FarmToDo event)
Must be reimplemented if used in descendent classes. Sets the action on a management event.
Definition: Osmia.cpp:938
Osmia_Nest_Manager::GetNoNests
int GetNoNests(int a_polyindex)
Definition: Osmia_Population_Manager.h:351
Osmia_Nest::~Osmia_Nest
virtual ~Osmia_Nest()
Definition: Osmia.h:155
CfgInt::value
int value() const
Definition: Configurator.h:116
Osmia_Base::m_OsmiaFemaleBckMort
static double m_OsmiaFemaleBckMort
Holds the parameter for unspecified female daily mortality.
Definition: Osmia.h:326
Osmia_Female::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.cpp:984
Osmia_Base::m_OsmiaLarvaDevelThreshold
static double m_OsmiaLarvaDevelThreshold
Is temperature developmental threshold for larval development.
Definition: Osmia.h:240
Osmia_Larva
Definition: Osmia.h:427
cfg_OsmiaEggsPerNestProbType
static CfgStr cfg_OsmiaEggsPerNestProbType("OSMIA_EGGSPERNESTPROBYPE", CFG_CUSTOM, "BETA")
Distribution type for the planned eggs per nest probability distribution.
Osmia_Female::st_Develop
virtual TTypeOfOsmiaState st_Develop(void)
Behavioural state development.
Definition: Osmia.cpp:1019
OsmiaForageMask::m_mask
int m_mask[20][8][2]
Holds 20 distances and 8 directions with offsets to x,y.
Definition: Osmia.h:99
Osmia_Nest::ZeroCells
bool ZeroCells()
Debug - to check if any nests have zero cells.
Definition: Osmia.h:190
Osmia_Prepupa::Osmia_Prepupa
Osmia_Prepupa(struct_Osmia *data)
Osmia_Prepupa constructor.
Definition: Osmia.cpp:488
trial_toxiccontrol
Definition: Treatment.h:109
Osmia_Base::m_OurNest
Osmia_Nest * m_OurNest
Definition: Osmia.h:338
Osmia_Base::m_generalmovementdistances
static probability_distribution m_generalmovementdistances
Static instance of the probability_distribution class of distance probablilties for nest searching an...
Definition: Osmia.h:306
TTypeOfOsmiaLifeStages::to_OsmiaLarva
Osmia_Nest::GetNoCells
int GetNoCells()
Get the number of cells for this nest.
Definition: Osmia.h:188
Population_Manager::UpdateGuardMap
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.
Definition: PopulationManager.h:768
Osmia_Female::CalcParaistised
TTypeOfOsmiaParasitoids CalcParaistised(double a_daysopen)
Determines the type of parasitoid if any.
Definition: Osmia.cpp:1562
Osmia_Female::m_ProvisioningTime
int m_ProvisioningTime
The number of days needed for 1 cell construction.
Definition: Osmia.h:551
Osmia_Egg::m_AgeDegrees
double m_AgeDegrees
This contains the age in degrees for development.
Definition: Osmia.h:398
PesticideStore
Definition: PesticideToxicity.h:33
cfg_OsmiaGeneralMovementProbType
static CfgStr cfg_OsmiaGeneralMovementProbType("OSMIA_GENMOVPROBTYPE", CFG_CUSTOM, "BETA")
Osmia_Base::m_ProvisionToCocoonMass
static double m_ProvisionToCocoonMass
The ratio of provison to cocoon mass.
Definition: Osmia.h:316
Osmia_Base::m_DensityDependentPollenRemovalConst
static double m_DensityDependentPollenRemovalConst
A parameter to link linear reduction in pollen availability to Osmia numbers per 1km2.
Definition: Osmia.h:284
Osmia_Base::m_OsmiaFemalePrenesting
static int m_OsmiaFemalePrenesting
holds the value for the duration of prenesting
Definition: Osmia.h:302
OsmiaForageMask::OsmiaForageMask
OsmiaForageMask()
Definition: Osmia.cpp:1713
Osmia_Base::m_OsmiaInCocoonPrewinteringTempThreshold
static double m_OsmiaInCocoonPrewinteringTempThreshold
holds the value for the InCocoon prewintering temperature threshold
Definition: Osmia.h:254
Osmia_Larva::~Osmia_Larva
virtual ~Osmia_Larva()
Definition: Osmia.cpp:394
cfg_OsmiaForageMaskStep
CfgInt cfg_OsmiaForageMaskStep("OSMIA_FORAGE_MASK_STEP", CFG_CUSTOM, 50)
The incremental for searching resource mask.
Osmia_Female::ReInit
virtual void ReInit(struct_Osmia *data)
Osmia_Female ReInit for object pool.
Definition: Osmia.cpp:835
Osmia_Female::m_ToDisperse
bool m_ToDisperse
a flag determining if dispersal is necessary
Definition: Osmia.h:545
Osmia_Base::m_OsmiaPupaDevelThreshold
static double m_OsmiaPupaDevelThreshold
Is temperature developmental threshold for pupal development.
Definition: Osmia.h:244
Osmia_Female::m_EmergeAge
int m_EmergeAge
The number of days of post emergence life.
Definition: Osmia.h:547
struct_Osmia::mass
double mass
The mass of the Osmia in mg.
Definition: Osmia_Population_Manager.h:181
Osmia_Population_Manager::IsOsmiaNestPossible
bool IsOsmiaNestPossible(int a_polyindex)
Checks whether a nest is possible here.
Definition: Osmia_Population_Manager.h:414
May
const int May
Julian start dates of the month of May.
Definition: Landscape.h:46
product_treat
Definition: Treatment.h:113
g_msg
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
Osmia_Nest::GetAspectDelay
int GetAspectDelay()
Definition: Osmia.h:193
toOsmias_NextStage
Definition: Osmia.h:70
Osmia_Female::SetDensityDependentPollenRemovalConst
void SetDensityDependentPollenRemovalConst(double a_value)
sets the m_DensityDependentPollenRemovalConst value
Definition: Osmia.h:693
Osmia_Prepupa::m_myOsmiaPrepupaDevelTotalDays
double m_myOsmiaPrepupaDevelTotalDays
Definition: Osmia.h:465
Osmia_Egg::Osmia_Egg
Osmia_Egg(struct_Osmia *data)
Osmia_Egg constructor.
Definition: Osmia.cpp:275
Osmia_Base::m_TotalProvisioningMassLossRange
static double m_TotalProvisioningMassLossRange
The variability around the expected total mass loss.
Definition: Osmia.h:320
Osmia_Base::GetParasitised
TTypeOfOsmiaParasitoids GetParasitised(void)
Set the parasitised status.
Definition: Osmia.h:372
Osmia_Population_Manager::IsEndPreWinter
bool IsEndPreWinter()
Returns flag to denore the end of prewintering, if ended it is set to true.
Definition: Osmia_Population_Manager.h:410
Osmia_Base::m_ParasitoidStatus
TTypeOfOsmiaParasitoids m_ParasitoidStatus
Holds the parasitoid status - only one is allowed.
Definition: Osmia.h:336
TAnimal::ReinitialiseObject
virtual void ReinitialiseObject(int a_x, int a_y, Landscape *a_l_ptr)
Definition: PopulationManager.h:282
Osmia_Female::SetFemaleMaxTargetProvisionMass
void SetFemaleMaxTargetProvisionMass(double a_mass)
Set the max target mass for female cell provisioning.
Definition: Osmia.h:678
Osmia_InCocoon::m_emergencecounter
int m_emergencecounter
Definition: Osmia.h:491
Osmia_Nest_Manager
Definition: Osmia_Population_Manager.h:300
cfg_OsmiaFemaleMassFromProvMassConst
CfgFloat cfg_OsmiaFemaleMassFromProvMassConst("OSMIA_FEMALEMASSFROMPROVMASSCONST", CFG_CUSTOM, 4.00)
Constant term in osmia female mass from provision mass calculation.
Osmia_Larva::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.cpp:406
Osmia_Nest::CloseNest
void CloseNest()
Signals that the nest is closed.
Definition: Osmia.h:197
CfgInt
Integer configurator entry class.
Definition: Configurator.h:102
Osmia_Larva::st_Prepupate
virtual TTypeOfOsmiaState st_Prepupate(void)
Behavioural state pupate.
Definition: Osmia.cpp:447
l_pest_enable_pesticide_engine
CfgBool l_pest_enable_pesticide_engine
Used to turn on or off the PPP functionality of ALMaSS.
Osmia_Female::LayEgg
void LayEgg()
Produces an egg.
Definition: Osmia.cpp:1479
cfg_OsmiaEggDevelThreshold
static CfgFloat cfg_OsmiaEggDevelThreshold("OSMIA_EGGDEVELTHRESHOLD", CFG_CUSTOM, 0.0)
Is temperature developmental threshold for egg development.
struct_Osmia::nest
Osmia_Nest * nest
a pointer to a nest
Definition: Osmia_Population_Manager.h:177
Osmia_Nest_Manager::ReleaseOsmiaNest
void ReleaseOsmiaNest(int a_polyindex, Osmia_Nest *a_nest)
release nest here
Definition: Osmia_Population_Manager.h:342
Osmia_Base::Osmia_Base
Osmia_Base(struct_Osmia *data)
Osmia constructor.
Definition: Osmia.cpp:185
struct_Osmia::parasitised
TTypeOfOsmiaParasitoids parasitised
Are we parasitised.
Definition: Osmia_Population_Manager.h:179
Osmia_Female::m_BeeSizeScore1
int m_BeeSizeScore1
Used to put the bees into a size class - 0,1,2,3 very small, small, medium, big.
Definition: Osmia.h:557
TAnimal::m_guard_cell_x
int m_guard_cell_x
The index x to the guard cell.
Definition: PopulationManager.h:370
cfg_OsmiaPrepupaDailyMORT
static CfgFloat cfg_OsmiaPrepupaDailyMORT("OSMIA_PREPUPADAILYMORT", CFG_CUSTOM, 0.003)
Daily unspecified mortality for Osmia prepupae.
cfg_OsmiaForageMaskStepSZ
static CfgInt cfg_OsmiaForageMaskStepSZ("OSMIA_FORAGEMASKSTEPSZ", CFG_CUSTOM, cfg_OsmiaTypicalHomingDistance.value()/(cfg_OsmiaForageSteps.value() - 1))
Osmia_Female::m_ForageLoc
bool m_ForageLoc
Flag to indicate whether we have a foraging location (=true)
Definition: Osmia.h:565
Osmia_Base::m_Age
int m_Age
A typical member variable - this one is the age in days.
Definition: Osmia.h:216
Osmia_Nest::KillAllSubsequentCells
void KillAllSubsequentCells(TAnimal *a_osmia)
Removes all Osmia from the nest from a target to the end of the tube.
Definition: Osmia.cpp:1686
OsmiaForageMask::m_step
int m_step
Definition: Osmia.h:100
Osmia_Base::m_OsmiaEggDevelThreshold
static double m_OsmiaEggDevelThreshold
Is temperature developmental threshold for egg development.
Definition: Osmia.h:236
CfgFloat
Double configurator entry class.
Definition: Configurator.h:126
Osmia_Population_Manager::GetSexRatioEggsAgeMass
double GetSexRatioEggsAgeMass(int a_massclass, int a_age)
Return the sex ratio for a nest give an age and female mass.
Definition: Osmia_Population_Manager.h:444
cfg_OsmiaInCocoonWinterMortSlope
CfgFloat cfg_OsmiaInCocoonWinterMortSlope("OSMIA_INCOCOONWINTERMORTSLOPE", CFG_CUSTOM, 0.05)
Coefficient in winter mortality equation for Osmia in cocoon.
Osmia_Base::m_TempTodayInt
static int m_TempTodayInt
The temperature today to the nearest degree. This is static because there is only one temperature tod...
Definition: Osmia.h:224
Osmia_Female::m_pollengiveupthreshold
static double m_pollengiveupthreshold
The change in pollen return that triggers a new search.
Definition: Osmia.h:531
Osmia_Nest::Find
bool Find(TAnimal *a_osmia)
Debug function - Is this osmia present?
Definition: Osmia.h:174
Osmia_Egg::m_StageAge
int m_StageAge
Holds the age when the stage was initiated.
Definition: Osmia.h:402
March
const int March
Julian start dates of the month of March.
Definition: Landscape.h:42
Osmia_Female::SetNestFindAttempts
static void SetNestFindAttempts(int a_no)
Record the daily mortality parameter values.
Definition: Osmia.h:657
toOsmias_InitialState
Definition: Osmia.h:68
Osmia_Population_Manager::IsOverWinterEnd
bool IsOverWinterEnd()
Returns flag to denore the end of overwintering, if ended it is set to true.
Definition: Osmia_Population_Manager.h:412
Osmia_Base::m_OsmiaFindNestAttemptNo
static int m_OsmiaFindNestAttemptNo
Holds the parameter for number of find nest tries.
Definition: Osmia.h:330
Osmia_Base::m_FemaleMaxTargetProvisionMass
static double m_FemaleMaxTargetProvisionMass
The maximum target provisioning for a female cell.
Definition: Osmia.h:274
Osmia_Pupa::Osmia_Pupa
Osmia_Pupa(struct_Osmia *data)
Osmia_Pupa constructor.
Definition: Osmia.cpp:582
toOsmias_Develop
Definition: Osmia.h:69
PollenNectarData::m_quality
double m_quality
Definition: PollenNectar.h:168
trial_insecticidetreat
Definition: Treatment.h:108
Osmia_Base::SetAge
void SetAge(int a_age)
A typical interface function - this one returns the age.
Definition: Osmia.h:362
Osmia_Prepupa::~Osmia_Prepupa
virtual ~Osmia_Prepupa()
Definition: Osmia.cpp:482
Osmia_Prepupa::ReInit
virtual void ReInit(struct_Osmia *data)
Osmia_Prepupa ReInit for object pool.
Definition: Osmia.cpp:476
cfg_OsmiaInCocoonEmergenceTempThreshold
CfgFloat cfg_OsmiaInCocoonEmergenceTempThreshold("OSMIA_INCOCOONEMERGENCETEMPTHRESHOLD", CFG_CUSTOM, 5.0)
Is the temperature threshold for calculating days left to emergence (a temperature below which days a...
Osmia_InCocoon::SetOverwinteringTempThreshold
static void SetOverwinteringTempThreshold(double a_temp)
Set method for m_OverwinteringTempThreshold.
Definition: Osmia.h:504
Landscape::SupplyPollenQuantity
double SupplyPollenQuantity(int a_polyref)
Returns the pollen quantity produced by the vegetation using the polygon reference number a_polyref o...
Definition: Landscape.h:657
cfg_OsmiaFemaleMassMax
CfgFloat cfg_OsmiaFemaleMassMax("OSMIA_MAXFEMALEMASS", CFG_CUSTOM, 200.0)
max possible female mass in mg
TTypeOfOsmiaLifeStages::to_OsmiaInCocoon
cfg_OsmiaTypicalHomingDistance
CfgInt cfg_OsmiaTypicalHomingDistance("OSMIA_TYPICALHOMINGDISTANCE", CFG_CUSTOM, 660)
Osmia_Base::SetParasitoidManager
static void SetParasitoidManager(OsmiaParasitoid_Population_Manager *a_popman)
Definition: Osmia.h:388
Osmia_Prepupa::DailyMortality
virtual bool DailyMortality()
Daily mortality test for prepupae.
Definition: Osmia.h:463
cfg_OsmiaTotalCocoonMassLossRange
static CfgFloat cfg_OsmiaTotalCocoonMassLossRange("OSMIATOTALCOCOONMASSLOSSRANGE", CFG_CUSTOM, 5.0)
The range aroudn the assumed total mass loss first cocoon to last per nest in terms of female cocoon ...
CFG_CUSTOM
Definition: Configurator.h:70
g_random_fnc
int g_random_fnc(const int a_range)
Definition: ALMaSS_Random.cpp:74
Osmia_Base::m_DailyDevelopmentMortLarvae
static double m_DailyDevelopmentMortLarvae
This holds the daily mortality for larvae.
Definition: Osmia.h:228
Osmia_Female::m_pollengiveupreturn
static double m_pollengiveupreturn
The minimum pollen return below which a new forage search is triggered.
Definition: Osmia.h:533
toOsmias_Disperse
Definition: Osmia.h:71
Osmia_Egg::Step
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Osmia.cpp:301
Calendar::DayInYear
int DayInYear(void)
Definition: Calendar.h:58
Osmia_Base::GetAge
int GetAge()
A typical interface function - this one returns the age.
Definition: Osmia.h:360
Osmia_Nest::ReleaseCellLock
void ReleaseCellLock(void)
Release the cell lock.
Definition: Osmia.h:162
Osmia_Female::SetPollenScoreToMg
static void SetPollenScoreToMg(double a_ratio)
Set pollen score to provisioned mg value.
Definition: Osmia.h:672
Osmia_Base::m_OsmiaFemaleMinEggsPerNest
static int m_OsmiaFemaleMinEggsPerNest
Holds the parameter for minimum planned eggs per nest.
Definition: Osmia.h:328
Osmia_Female::st_Dispersal
virtual TTypeOfOsmiaState st_Dispersal(void)
This checks for the need to dispese and does it if necessary.
Definition: Osmia.cpp:1089
cfg_OsmiaLarvaDailyMORT
static CfgFloat cfg_OsmiaLarvaDailyMORT("OSMIA_LARVADAILYMORT", CFG_CUSTOM, 0.0014)
Daily unspecified mortality for Osmia larvae.
Osmia_InCocoon::~Osmia_InCocoon
virtual ~Osmia_InCocoon()
Definition: Osmia.cpp:668
TALMaSSObject::m_CurrentStateNo
int m_CurrentStateNo
The basic state number for all objects - '-1' indicates death.
Definition: PopulationManager.h:131
cfg_OsmiaGenerallMovementProbArgs
static CfgStr cfg_OsmiaGenerallMovementProbArgs("OSMIA_GENMOVPROBARGS", CFG_CUSTOM, "10 5")
probability_distribution::Get
double Get() const
Definition: ALMaSS_Random.cpp:283
OsmiaParasitoid_Population_Manager::GetParasitoidNumbers
array< double, static_cast< unsigned >TTypeOfOsmiaParasitoids::topara_foobar)> GetParasitoidNumbers(int a_x, int a_y)
returns an array with the parasitoid numbers in the cell at the location given by a_x,...
Definition: Osmia_Population_Manager.cpp:739
Osmia_Prepupa::st_Develop
virtual TTypeOfOsmiaState st_Develop(void)
Behavioural state development.
Definition: Osmia.cpp:526
Osmia_Female::m_NestProvisioningPlan
deque< double > m_NestProvisioningPlan
A list of female nest targets.
Definition: Osmia.h:561
Osmia_Base::BeginStep
virtual void BeginStep(void)
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per...
Definition: Osmia.h:354
Osmia_Population_Manager::CreateObjects
void CreateObjects(TTypeOfOsmiaLifeStages ob_type, TAnimal *pvo, struct_Osmia *data, int number)
Method for creating a new individual Osmia.
Definition: Osmia_Population_Manager.cpp:492
Osmia_Female::m_FemaleForageEfficiency
static vector< double > m_FemaleForageEfficiency
A vector holding the age related efficiency of Osmia foraging indexed by day (from Seidelmann 2006)
Definition: Osmia.h:573
Osmia_Nest::m_y
int m_y
y-location
Definition: Osmia.h:140
PesticideToxicity::tick
virtual void tick(int a_step_counter_in_a_day, double a_mass=1, double a_para_index=0)
The function to update pesticide contamination every time step.
Definition: PesticideToxicity.cpp:179
Osmia_Nest::m_aspectdelay
int m_aspectdelay
Simulates the natural variation assumed per nest location based on aspect, exposure etc....
Definition: Osmia.h:152
Osmia_Female::Init
virtual void Init(double a_mass)
Osmia_Femae initialisation code for Constructor and ReInit.
Definition: Osmia.cpp:859
Landscape::SupplyPolyRefIndex
int SupplyPolyRefIndex(int a_x, int a_y)
Get the index to the m_elems array for a polygon at location x,y.
Definition: Landscape.h:2172
OsmiaNestData::m_no_females
int m_no_females
Definition: Osmia.h:123
cfg_OsmiaFemaleLifespan
CfgInt cfg_OsmiaFemaleLifespan("OSMIA_LIFESPAN", CFG_CUSTOM, 60)
max lifespan in days
Landscape::SupplyNectar
PollenNectarData SupplyNectar(int a_polyref)
Returns information on the nectar produced by the vegetation using the polygon reference number a_pol...
Definition: Landscape.h:647
cfg_OsmiaMaleMassMax
CfgFloat cfg_OsmiaMaleMassMax("OSMIA_MAXMALEMASS", CFG_CUSTOM, 105.0)
min possible male mass in mg
struct_Osmia::OPM
Osmia_Population_Manager * OPM
Osmia_Population_Manager pointer.
Definition: Osmia_Population_Manager.h:175
Osmia_Nest::m_cell_lock
omp_nest_lock_t * m_cell_lock
The lock to for egg cells operation.
Definition: Osmia.h:146
Landscape::Warn
void Warn(std::string a_msg1, std::string a_msg2)
Wrapper for the g_msg Warn function.
Definition: Landscape.h:2250
cfg_OsmiaMaxHalfWidthForageMask
CfgInt cfg_OsmiaMaxHalfWidthForageMask("OSMIA_MAX_HALF_WIDTH_FORAGE_MASK", CFG_CUSTOM, 600)
Half width of the maximum square that a female can search for pollen.
cfg_OsmiaFemaleThresholdBasedPesticideResponse
CfgBool cfg_OsmiaFemaleThresholdBasedPesticideResponse("OSMIA_FEMALE_THRESHOLD_BASED_PESTICIDE_RESPONSE", CFG_CUSTOM, true)
The flag to use threshold based pesticide response for females.
Osmia_Female::m_currentpollenlevel
double m_currentpollenlevel
Definition: Osmia.h:529
Osmia_Base::m_DailyDevelopmentMortEggs
static double m_DailyDevelopmentMortEggs
This holds the daily mortality for eggs.
Definition: Osmia.h:226
TAnimal::m_Location_x
int m_Location_x
The objects ALMaSS x coordinate.
Definition: PopulationManager.h:362
toOsmias_Emerged
Definition: Osmia.h:74
cfg_OsmiaEggDailyMORT
static CfgFloat cfg_OsmiaEggDailyMORT("OSMIA_EGGDAILYMORT", CFG_CUSTOM, 0.0014)
Daily unspecified mortality for Osmia eggs.
Osmia_Female::SetCocoonToProvisionMass
static void SetCocoonToProvisionMass(double a_ratio)
Set the conversion ratio cocoon to provisioning.
Definition: Osmia.h:663
Landscape::SupplyPolyRef
int SupplyPolyRef(int a_x, int a_y)
Get the in map polygon reference number from the x, y location.
Definition: Landscape.h:2157
Osmia_Female::SetMaximumCellConstructionTime
static void SetMaximumCellConstructionTime(double a_time)
Set maximum cell construction time.
Definition: Osmia.h:682
Osmia_Egg::ReInit
virtual void ReInit(struct_Osmia *data)
Osmia_Egg ReInit for object pool.
Definition: Osmia.cpp:288
Osmia_Larva::DailyMortality
virtual bool DailyMortality()
Daily mortality test for larvae.
Definition: Osmia.h:444
WARN_BUG
Definition: MapErrorMsg.h:34
cfg_OsmiaLarvaDevelThreshold
static CfgFloat cfg_OsmiaLarvaDevelThreshold("OSMIA_LARVADEVELTHRESHOLD", CFG_CUSTOM, 4.5)
Is temperature developmental threshold for larval development.
Osmia_Female::SetMinimumCellConstructionTime
static void SetMinimumCellConstructionTime(double a_time)
Set minimum cell construction time.
Definition: Osmia.h:680
APoint::m_y
int m_y
Definition: ALMaSS_Setup.h:56
Osmia_Base::m_FemaleMinMass
static double m_FemaleMinMass
The minimum female mass.
Definition: Osmia.h:278
Osmia_Female::SetDailyMort
static void SetDailyMort(double a_prob)
Record the daily mortality parameter values.
Definition: Osmia.h:655
Osmia_Base::m_OsmiaInCocoonEmergCountConst
static double m_OsmiaInCocoonEmergCountConst
holds the constant term value for the InCocoon emergence counter calculation
Definition: Osmia.h:260
OsmiaForageMaskDetailed::OsmiaForageMaskDetailed
OsmiaForageMaskDetailed(int a_step, int a_maxdistance)
Definition: Osmia.cpp:1746
Osmia_Base::m_MaleMinTargetProvisionMass
static double m_MaleMinTargetProvisionMass
The minimum target provisioning for a male cell.
Definition: Osmia.h:268
Osmia_Female::m_ForageLocPoly
int m_ForageLocPoly
Index to the resource providing polygon lists in the Osmia_Population_Manager.
Definition: Osmia.h:567
Osmia_Female::SetParasitismProbToTimeCellOpen
static void SetParasitismProbToTimeCellOpen(double a_ratio)
Set the conversion ratio time cell open to open cell parasitism.
Definition: Osmia.h:688
cfg_OsmiaMaxHomingDistance
CfgInt cfg_OsmiaMaxHomingDistance("OSMIA_MAXHOMINGDISTANCE", CFG_CUSTOM, 1430)
Osmia_Larva::st_Develop
virtual TTypeOfOsmiaState st_Develop(void)
Behavioural state development.
Definition: Osmia.cpp:435
Osmia_InCocoon::st_Emerge
virtual TTypeOfOsmiaState st_Emerge(void)
Behavioural state for emerging from the InCocoon.
Definition: Osmia.cpp:757
cfg_OsmiaDetailedMaskStep
CfgInt cfg_OsmiaDetailedMaskStep("OSMIA_DETAILEDMASKSTEP", CFG_CUSTOM, 1, 1, 100)
Step size for the detailed forage mask. Step is each step out from the centre (min 1)
Osmia_Base::m_TotalProvisioningMassLossRangeX2
static double m_TotalProvisioningMassLossRangeX2
Twice the variability around the expected total mass loss.
Definition: Osmia.h:322
Osmia_Egg::~Osmia_Egg
virtual ~Osmia_Egg()
Osmia_Egg destructor.
Definition: Osmia.cpp:269
cfg_OsmiaInCocoonEmergCountConst
CfgFloat cfg_OsmiaInCocoonEmergCountConst("OSMIA_INCOCOONEMERGENCECOUNTERCONST", CFG_CUSTOM, 35.4819)
Constant term in emergence counter equation for Osmia in cocoon.
cfg_OsmiaMaxPollen
static CfgFloat cfg_OsmiaMaxPollen("OSMIA_MAXPOLLEN", CFG_CUSTOM, 2.5)
A cap (mg) on the amount of pollen possible to bring back - this is because pollen densities in the l...