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_Population_Manager.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************************************
3 Copyright (c) 2017, 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 */
29 #include <forward_list>
30 
31 //---------------------------------------------------------------------------
32 #ifndef Osmia_Population_ManagerH
33 #define Osmia_Population_ManagerH
34 //---------------------------------------------------------------------------
35 
36 //---------------------------------------------------------------------------
37 
38 class Osmia;
40 
41 
45 enum class TTypeOfOsmiaLifeStages : int // int is used because this may be used as an index to an array passed in CreateObjects
46 {
47  to_OsmiaEgg = 0,
53 };
54 
55 typedef vector<double> eggsexratiovsagelogisticcurvedata;
57 //------------------------------------------------------------------------------
60 {
61 public:
62  double m_pollenTqual = 0.0;
63  double m_nectarTqual = 0.0;
64  double m_pollenTquan = 0.0;
65  double m_nectarTquan = 0.0;
66 };
67 //------------------------------------------------------------------------------
68 
70 {
71 protected:
72  // Attributes
82  int m_x;
84  int m_y;
88  static array<double,12> m_MortalityPerMonth;
90  static int m_ThisMonth;
91  // Methods
92 public:
93  OsmiaParasitoidSubPopulation(double a_dispersalfraction, double a_startno, int a_x, int a_y, int a_wide, int a_high, OsmiaParasitoid_Population_Manager* a_popman);
95  void Add(double a_change) { m_NoParasitoids += a_change; }
96  void Remove(double a_change) { m_NoParasitoids -= a_change; }
97  double GetSubPopnSize() { return m_NoParasitoids; }
99  void DailyMortality();
101  void Dispersal();
103  void Reproduce();
104  virtual void DoFirst() {
106  DailyMortality();
108  Dispersal();
110  Reproduce();
111  }
112  void SetThisMonth(int a_month) { m_ThisMonth = a_month; }
113  void SetMortalities(array<double, 12> a_morts) {
114  m_MortalityPerMonth = a_morts;
115  }
116 };
117 //------------------------------------------------------------------------------
118 
120 {
121 protected:
122  // Attributes
124  vector<OsmiaParasitoidSubPopulation*>m_SubPopulations;
128  unsigned m_Wide;
130  unsigned m_High;
132  unsigned m_CellSize;
134  unsigned m_Size;
135  // Methods
136 
137 public:
138  OsmiaParasitoid_Population_Manager(Landscape* a_landscape, int a_cellsize);
140  void AddDispersers(int a_ref, double a_dispersers) {
141  m_SubPopulations[a_ref]->Add(a_dispersers);
142  }
143  void RemoveParasitoids(int a_ref, double a_dispersers) {
144  m_SubPopulations[a_ref]->Remove(a_dispersers);
145  }
146  double GetSize(int a_ref) { return m_SubPopulations[a_ref]->GetSubPopnSize(); }
147  double GetSize(int a_x, int a_y) { return m_SubPopulations[a_x+a_y*m_Wide]->GetSubPopnSize(); }
149  array<double, static_cast<unsigned>(TTypeOfOsmiaParasitoids::topara_foobar)> GetParasitoidNumbers(int a_x, int a_y);
150  void AddParasitoid(TTypeOfOsmiaParasitoids a_type, int a_x, int a_y)
151  {
152  int subpop = ((a_x / m_CellSize) + (a_y / m_CellSize) * m_Wide) + (static_cast<unsigned>(a_type)-1) * m_Size;
153  m_SubPopulations[subpop]->Add(1);
154  }
155 };
156 //------------------------------------------------------------------------------
162 {
163  public:
165  int x;
167  int y;
169  int age;
171  bool sex;
181  double mass;
183  double pest_mortality = 0;
186 };
187 
190 {
191 protected:
192  std::forward_list<Osmia_Nest*> m_NestList;
196  double m_MaxOsmiaNests; // Needs to be double because its used to divide later
200  int m_Area;
203 public:
206  {
208  m_MaxOsmiaNests = 0;
209  m_OsmiaNestProb = 0;
210  m_Polyindex = -1;
211  m_Area = -1;
212  }
213  OsmiaPolygonEntry(int a_index, int a_area)
214  {
216  m_MaxOsmiaNests = 0;
217  m_OsmiaNestProb = 0;
218  m_Polyindex = a_index;
219  m_Area = a_area;
220  }
221 
224  {
225  //for (std::vector<Osmia_Nest*>::iterator it = m_NestList.begin(); it != m_NestList.end(); ++it) {
226  for(auto it : m_NestList){
227  if(it!=NULL)
228  delete it;
229  }
230  m_NestList.clear();
231  }
235  return false;
236  }
238  void ReleaseOsmiaNest(Osmia_Nest* a_nest) {
240  auto prev_point = m_NestList.before_begin();
241  for (auto it = m_NestList.begin(); it!=m_NestList.end(); ++it)
242  {
243  if((*it) == a_nest)
244  {
245  //cout << "Osmia nest released" << endl;
246  m_NestList.erase_after(prev_point);
247  delete a_nest;
248  break;
249  }
250 
251  prev_point=it;
252  }
253  }
256  {
257  if (m_MaxOsmiaNests <= 0) m_OsmiaNestProb = 0.0;
258  else {
260  }
261  }
264  {
265  m_NestList.push_front(a_nest);
267  }
269  void SetMaxOsmiaNests(double a_noNests)
270  {
271  double maxnests = a_noNests * m_Area;
272  if (maxnests> 2147000000 ) maxnests= 2147000000;
273  m_MaxOsmiaNests = int(maxnests);
274  if (m_MaxOsmiaNests < 1) m_MaxOsmiaNests = 0;
275  }
277  void SetAreaAttribute(int a_area) { m_Area = a_area; }
279  void SetIndexAttribute(int a_index) { m_Polyindex = a_index; }
281  int GetNoNests() { return m_CurrentOsmiaNests; }
283  int GetMaxNoNests() { return m_MaxOsmiaNests; }
285  bool SanityCheck() { return m_CurrentOsmiaNests == std::distance(std::begin(m_NestList), std::end(m_NestList)); }
287  bool SanityCheck2() {
288  for (auto it = m_NestList.begin(); it!=m_NestList.end(); ++it)
289  {
290  if((*it)->ZeroCells())
291  {
292  return false;
293  }
294  }
295 
296  return true;
297  }
298 };
299 
301 {
302 public:
305  {
306  ;
307  }
310  {
311  int nopolys = m_PolyList.size();
312  for (int e = 0; e < nopolys; e++) {
313  omp_destroy_nest_lock(m_PolyListLocks[e]);
314  delete m_PolyListLocks[e];
315  }
316  m_PolyList.clear();
317  }
319  void InitOsmiaBeeNesting();
325  for (unsigned int s = 0; s < m_PolyList.size(); s++) {
326  m_PolyList[s].UpdateOsmiaNesting();
327  }
328  }
330  bool IsOsmiaNestPossible(int a_polyindex)
331  {
332  return m_PolyList[a_polyindex].IsOsmiaNestPossible();
333  }
335  Osmia_Nest* CreateNest(int a_x, int a_y, int a_polyindex)
336  {
337  Osmia_Nest* a_nest = new Osmia_Nest(a_x, a_y,a_polyindex, this);
338  m_PolyList[a_polyindex].IncOsmiaNesting(a_nest);
339  return a_nest;
340  }
342  void ReleaseOsmiaNest(int a_polyindex, Osmia_Nest* a_nest)
343  {
344  omp_set_nest_lock(m_PolyListLocks[a_polyindex]);
345  m_PolyList[a_polyindex].ReleaseOsmiaNest(a_nest);
346  omp_unset_nest_lock(m_PolyListLocks[a_polyindex]);
347  }
349  bool GetNestPossible(TTypesOfLandscapeElement index) { return m_PossibleNestType[int(index)]; }
350 
351  int GetNoNests(int a_polyindex) {
352  return m_PolyList[a_polyindex].GetNoNests();
353  }
354 
355  bool SanityCheck(int a_polyindex) {
356  return m_PolyList[a_polyindex].SanityCheck();
357  }
358 
359  bool CheckZeroNests() {
360  for (unsigned int s = 0; s < m_PolyList.size(); s++) {
361  if (!m_PolyList[s].SanityCheck2()) return false;
362  }
363  return true;
364  }
365 protected:
366  vector<OsmiaPolygonEntry> m_PolyList;
367  vector<omp_nest_lock_t*> m_PolyListLocks;
370 };
371 
377 {
378 public:
379  //code used for pestiside store
380  #ifdef __OSMIA_PESTICIDE_STORE
381  unsigned int m_female_count = 0;
382  #endif
383 
384  // Methods
388  void Init();
390  virtual ~Osmia_Population_Manager(void);
392  void TheAOROutputProbe() override;
394  void CreateObjects(TTypeOfOsmiaLifeStages ob_type, TAnimal* pvo, struct_Osmia* data, int number);
395 
396  #ifdef __OSMIATESTING
397 
398  void RecordEggProduction(int a_eggs);
399  void RecordEggLength(int a_length);
400  void RecordLarvalLength(int a_length);
401  void RecordPrePupaLength(int a_length);
402  void RecordPupaLength(int a_length);
403  void RecordInCocoonLength(int a_length);
404  void RecordFemaleWeight(double a_mass) { m_FemaleWeights.push_back(a_mass); };
405  void SetFemaleWeightLock(void) {omp_set_nest_lock(m_female_weight_record_lock);}
406  void ReleaseFemaleWeightLock(void) {omp_unset_nest_lock(m_female_weight_record_lock);}
407  #endif
408 
414  bool IsOsmiaNestPossible(int a_polyindex) { return m_OurOsmiaNestManager.IsOsmiaNestPossible(a_polyindex); }
416  bool SantityCheck(int a_polyindex) { return m_OurOsmiaNestManager.SanityCheck(a_polyindex); }
418  Osmia_Nest* CreateNest(int a_x, int a_y, int a_polyindex) {
419  Osmia_Nest* return_nest_ptr;
420  m_TheLandscape->SetPolygonLock(a_polyindex);
421  return_nest_ptr = m_OurOsmiaNestManager.CreateNest(a_x, a_y, a_polyindex);
422  m_TheLandscape->ReleasePolygonLock(a_polyindex);
423  return return_nest_ptr;
424  }
426  void ReleaseOsmiaNest(int a_polyindex, Osmia_Nest* a_nest) {
427  m_TheLandscape->SetPolygonLock(a_polyindex);
428  m_OurOsmiaNestManager.ReleaseOsmiaNest(a_polyindex, a_nest);
429  m_TheLandscape->ReleasePolygonLock(a_polyindex);
430  }
432  int GetForageHours() { return m_FlyingWeather; }
433 
435  double GetProvisioningParams(int a_age) {
436  return m_NestProvisioningParameters[a_age];
437  }
439  double GetFirstCocoonProvisioningMass(int a_age, int a_massclass)
440  {
441  return m_FemaleCocoonMassEqns[a_massclass][a_age]-(m_exp_ZeroTo1.Get() * m_FemaleCocoonMassEqns[a_massclass][a_age] * 0.6);
442  }
444  double GetSexRatioEggsAgeMass(int a_massclass, int a_age)
445  {
446  return m_EggSexRatioEqns[a_massclass][a_age];
447  }
450  {
451  int index = (a_loc.m_x / 1000) + (a_loc.m_y / 1000) * m_GridExtent;
452  m_FemaleDensityGrid[index]++;
453  return index;
454  }
456  void AddToDensityGrid(int a_index)
457  {
458  m_FemaleDensityGrid[a_index]++;
459  }
461  void RemoveFromDensityGrid(int a_index)
462  {
463  m_FemaleDensityGrid[a_index]--;
464  }
466  int GetDensity(APoint a_loc)
467  {
468  int index = (a_loc.m_x / 1000) + (a_loc.m_y / 1000) * m_GridExtent;
469  return m_FemaleDensityGrid[index];
470  }
472  int GetDensity(int a_index)
473  {
474  return m_FemaleDensityGrid[a_index];
475  }
478  {
479  for (int i=0; i< m_FemaleDensityGrid.size(); i++) m_FemaleDensityGrid[i] = 0;
480  }
484  }
485  /* \brief The function to calculate the available foraging hours per day.*/
486  void CalForageHours(void);
487  //DEBUG//
488 #ifdef __OSMIATESTING
489 public:
490  ofstream m_eggsfirstnest;
491  double m_egghistogram[4][30];
492  void WriteNestTestData(OsmiaNestData a_target, OsmiaNestData a_achieved);
493 #endif // __OSMIATESTING
494 protected:
495  // Attributes
498  #ifdef __OSMIATESTING
499 
500  vector<double> m_FemaleWeights;
501  omp_nest_lock_t *m_female_weight_record_lock;
503  SimpleStatistics m_OsmiaEggProdStats;
505  SimpleStatistics m_EggStageLength;
507  SimpleStatistics m_LarvalStageLength;
509  SimpleStatistics m_PrePupaStageLength;
510  SimpleStatistics m_PupaStageLength;
511  SimpleStatistics m_InCocoonStageLength;
512  #endif
513 
514  PollenMap_centroidbased* m_ThePollenMap;
528  vector<eggsexratiovsagelogisticcurvedata> m_EggSexRatioEqns;
530  vector<femalecocoonmassvsagelogisticcurvedata> m_FemaleCocoonMassEqns;
532  vector<int> m_FemaleDensityGrid;
538  vector<double> m_PrePupalDevelRates;
542  vector< OsmiaPollenNectarThresholds> m_PN_thresholds;
543 
544  // Methods
546  virtual void DoFirst();
548  virtual void DoBefore();
550  virtual void DoAfter() {}
552  virtual void DoLast()
553  {
554  int today = m_TheLandscape->SupplyDayInYear();
555  if (today > September)
556  {
557  int day = g_date->OldDays() + g_date->DayInYear();
558  double t0 = m_TheLandscape->SupplyTempPeriod(day, 1);
563  {
564  double t1 = m_TheLandscape->SupplyTempPeriod(day - 1, 1);
565  double t2 = m_TheLandscape->SupplyTempPeriod(day - 2, 1);
566  double t3 = m_TheLandscape->SupplyTempPeriod(day - 3, 1);
567  double t4 = m_TheLandscape->SupplyTempPeriod(day - 4, 1);
568  double t5 = m_TheLandscape->SupplyTempPeriod(day - 5, 1);
570  if (((t2 < 13.0) && (t1 < 13.0) && (t0 < 13.0)) && (((t5 - t4 > 1.0) && (t4 - t3 > 1.0)) || ((t3 < 13.0) && (t5 - t4 >= 3.0))))
571  {
572  m_PreWinteringEndFlag = true;
573  }
574  }
575  }
576  if (today == March)
577  {
578  m_OverWinterEndFlag = true;
579  }
580  if (today == June)
581  {
582  // No emergence after April so we can safely reset this flag here.
583  m_PreWinteringEndFlag = false;
584  m_OverWinterEndFlag = false;
585  }
586 #ifdef __OSMIARECORDFORAGE
587  double meanforage = 0.0;
588  if (Osmia_Female::m_foragecount > 0) meanforage = Osmia_Female::m_foragesum / Osmia_Female::m_foragecount;
589  cout << meanforage << endl;
590  Osmia_Female::m_foragesum = 0.0;
591  Osmia_Female::m_foragecount = 0.0;
592 #endif
593 
594 #ifdef __OSMIATESTING
595  if (today == 364) {
596  ofstream file1("OsmiaStageLengths.txt", ios::app);
597  file1 << "Year: " << g_date->GetYear() << endl;
598  file1 << "Mean egg stage days is:" << '\t' << m_EggStageLength.get_meanvalue() << endl;
599  file1 << "Mean larval stage days is:" << '\t' << m_LarvalStageLength.get_meanvalue() << endl;
600  file1 << "Mean prepupal stage days is:" << '\t' << m_PrePupaStageLength.get_meanvalue() << endl;
601  file1 << "Mean pupal stage days is:" << '\t' << m_PupaStageLength.get_meanvalue() << endl;
602  file1 << "Mean incocoon stage days is:" << '\t' << m_InCocoonStageLength.get_meanvalue() << endl;
603  m_EggStageLength.ClearData();
604  m_LarvalStageLength.ClearData();
605  m_PrePupaStageLength.ClearData();
606  m_PupaStageLength.ClearData();
607  m_InCocoonStageLength.ClearData();
608  file1.close();
609  }
610 #endif
611  }
612 };
613 
614 #endif
cfg_OsmiaPesticideProbability
static CfgFloat cfg_OsmiaPesticideProbability("OSMIA_PPP_PROB", CFG_CUSTOM, 0.0)
The probability of death per day if the pesticide body burden threshold is exceeded.
cfg_OsmiaParasitismProbToTimeCellOpen
static CfgFloat cfg_OsmiaParasitismProbToTimeCellOpen("OSMIA_PARASITISMPROBTOTIMECELLOPEN", CFG_CUSTOM, 0.0075)
The conversion rate from timethe cell is open to open cell parasitism.
Osmia_Nest::SetCellLock
void SetCellLock(void)
Set the cell lock.
Definition: Osmia.h:160
OsmiaParasitoidSubPopulation::m_x
int m_x
cell_index x
Definition: Osmia_Population_Manager.h:82
Osmia_Population_Manager::m_NestProvisioningParameters
double m_NestProvisioningParameters[365]
A lookup table used to store pre-calculated nest provisioning parameters in advance since they are CP...
Definition: Osmia_Population_Manager.h:526
OsmiaParasitoid_Population_Manager::AddParasitoid
void AddParasitoid(TTypeOfOsmiaParasitoids a_type, int a_x, int a_y)
Definition: Osmia_Population_Manager.h:150
Osmia_Female::SetTotalNestsPossible
static void SetTotalNestsPossible(int a_total)
Set the maximum number of nests possible for a bee.
Definition: Osmia.h:684
Osmia_Nest_Manager::Osmia_Nest_Manager
Osmia_Nest_Manager()
Osmia nest manager constructor.
Definition: Osmia_Population_Manager.h:304
Landscape::SupplyNumberOfPolygons
unsigned int SupplyNumberOfPolygons(void)
Returns the number of polygons in the landscape.
Definition: Landscape.h:2127
cfg_OsmiaInCocoonOverwinteringTempThreshold
CfgFloat cfg_OsmiaInCocoonOverwinteringTempThreshold
Is the temperature developmental threshold for overwintering development (a temperature below which d...
Osmia_Base::m_OsmiaFemaleLifespan
static int m_OsmiaFemaleLifespan
holds the value for max female lifespan
Definition: Osmia.h:304
g_rand_uni_fnc
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
Osmia_Base::m_DailyDevelopmentMortPrepupae
static double m_DailyDevelopmentMortPrepupae
This holds the daily mortality for pre-pupae.
Definition: Osmia.h:230
Calendar::GetYear
int GetYear(void)
Definition: Calendar.h:71
OsmiaParasitoid_Population_Manager::m_Wide
unsigned m_Wide
the number of subpopulation cells wide
Definition: Osmia_Population_Manager.h:128
Osmia_Base::SetParameterValues
static void SetParameterValues()
Used to populate the static members holding mortality and development parameters.
Definition: Osmia.cpp:215
OsmiaPolygonEntry::SanityCheck
bool SanityCheck()
Returns the number of current nests.
Definition: Osmia_Population_Manager.h:285
Osmia_Base::SetTemp
static void SetTemp(double a_temperature)
Definition: Osmia.h:383
Population_Manager::SupplyAnimalPtr
virtual TAnimal * SupplyAnimalPtr(unsigned int a_index, unsigned int a_animal)
Returns the pointer indexed by a_index and a_animal. Note NO RANGE CHECK.
Definition: PopulationManager.h:678
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
OsmiaPolygonEntry::IsOsmiaNestPossible
bool IsOsmiaNestPossible()
Test to see if a nest is found.
Definition: Osmia_Population_Manager.h:233
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_Nest::ReplaceNestPointer
void ReplaceNestPointer(TAnimal *a_oldpointer, TAnimal *a_newpointer)
Definition: Osmia.h:169
cfg_OsmiaFemaleMassMin
CfgFloat cfg_OsmiaFemaleMassMin
min possible female mass in mg
Osmia_Population_Manager::m_FlyingWeather
int m_FlyingWeather
A daily value to indicate the hours the weather is OK for Osmia adult activity.
Definition: Osmia_Population_Manager.h:516
Osmia_Base::m_MaleMaxTargetProvisionMass
static double m_MaleMaxTargetProvisionMass
The maximum target provisioning for a male cell.
Definition: Osmia.h:270
SimpleStatistics
Definition: PopulationManager.h:464
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
OsmiaParasitoidSubPopulation::GetSubPopnSize
double GetSubPopnSize()
Definition: Osmia_Population_Manager.h:97
OsmiaPolygonEntry::SanityCheck2
bool SanityCheck2()
Checks for zero cell nests.
Definition: Osmia_Population_Manager.h:287
Landscape::SupplyARandomLocPoly
APoint SupplyARandomLocPoly(int a_poly_id)
The function to get a random location for the given poly ID.
Definition: Landscape.h:263
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
OsmiaParasitoid_Population_Manager::m_Size
unsigned m_Size
Total cells.
Definition: Osmia_Population_Manager.h:134
OsmiaPolygonEntry::OsmiaPolygonEntry
OsmiaPolygonEntry(int a_index, int a_area)
Definition: Osmia_Population_Manager.h:213
OsmiaPolygonEntry::m_MaxOsmiaNests
double m_MaxOsmiaNests
to record the number of possible osmia nests
Definition: Osmia_Population_Manager.h:196
cfg_OsmiaMinNoEggsInNest
static CfgInt cfg_OsmiaMinNoEggsInNest("OSMIA_MINNOEGGSINNEST", CFG_CUSTOM, 3)
The mimimum number of eggs planned for a nest.
OsmiaParasitoidSubPopulation::DailyMortality
void DailyMortality()
Removes parasitoids killed by daily mortality.
Definition: Osmia_Population_Manager.cpp:811
OsmiaParasitoid_Population_Manager::m_High
unsigned m_High
the number of subpopulation cells high
Definition: Osmia_Population_Manager.h:130
Osmia_Base::m_OsmiaPrepupalDevelTotalDays10pct
static double m_OsmiaPrepupalDevelTotalDays10pct
10% of the number of days for prepupal development - just for speed
Definition: Osmia.h:248
OsmiaPolygonEntry::~OsmiaPolygonEntry
~OsmiaPolygonEntry()
The destructor for OsmiaPolygonEntry.
Definition: Osmia_Population_Manager.h:223
Osmia_Population_Manager::SantityCheck
bool SantityCheck(int a_polyindex)
Checks whether a nest is possible here.
Definition: Osmia_Population_Manager.h:416
struct_Osmia::y
int y
y-coord
Definition: Osmia_Population_Manager.h:167
OsmiaParasitoidSubPopulation::SetMortalities
void SetMortalities(array< double, 12 > a_morts)
Definition: Osmia_Population_Manager.h:113
tole_Foobar
Definition: LandscapeFarmingEnums.h:183
Osmia_Base::m_TotalNestsPossible
static int m_TotalNestsPossible
The maximum number of nests possible for a bee.
Definition: Osmia.h:290
CfgStr::value
char * value() const
Definition: Configurator.h:182
cfg_OsmiaNectarThresholds
static CfgArray_Double cfg_OsmiaNectarThresholds("OSMIA_NECTAR_THRESHOLDS", CFG_CUSTOM, 24, vector< double > { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 })
Monthly nectar thresholds, 12 quantity then 12 quality. Units mj/m2 and mg/l.
cfg_OsmiaMaxPrecipForFlying
static CfgFloat cfg_OsmiaMaxPrecipForFlying("OSMIA_MAX_PRECIP_FOR_FLYING", CFG_CUSTOM, 0.1)
The maximum precipitation for osmia to fly out.
Osmia_Population_Manager::DoLast
virtual void DoLast()
Things to do after the EndStep - here calculations related to summing global day degrees.
Definition: Osmia_Population_Manager.h:552
Osmia_Population_Manager::RemoveFromDensityGrid
void RemoveFromDensityGrid(int a_index)
Adds a bee to the density grid using the grid index value.
Definition: Osmia_Population_Manager.h:461
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_Population_Manager::GetDensity
int GetDensity(APoint a_loc)
Gets the number of bees at a location.
Definition: Osmia_Population_Manager.h:466
Osmia_Population_Manager::m_PN_thresholds
vector< OsmiaPollenNectarThresholds > m_PN_thresholds
Holds a list of pollen and nectar thresholds, one for each month.
Definition: Osmia_Population_Manager.h:542
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
OsmiaPolygonEntry::ReleaseOsmiaNest
void ReleaseOsmiaNest(Osmia_Nest *a_nest)
Test release an Osmia nest that is no longer used.
Definition: Osmia_Population_Manager.h:238
Osmia_Base::m_OsmiaFemaleMassFromProvMassSlope
static double m_OsmiaFemaleMassFromProvMassSlope
holds the coefficient value for the female mass calculation from provision mass
Definition: Osmia.h:266
cfg_TotalNestsPossible
static CfgInt cfg_TotalNestsPossible("OSMIA_TOTALNESTSPOSSIBLE", CFG_CUSTOM, 5)
The maximum number of nests possible for a bee.
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::SetBombylidProbability
static void SetBombylidProbability(double a_prob)
Sets Bombylid probability.
Definition: Osmia.h:686
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
OsmiaParasitoidSubPopulation::m_y
int m_y
cell_index y
Definition: Osmia_Population_Manager.h:84
g_date
class Calendar * g_date
Definition: Calendar.cpp:37
TOP_OsmiaParasitoids
Definition: PopulationManager.h:82
Population_Manager_Base::m_ListNames
const char * m_ListNames[32]
A list of life-stage names.
Definition: PopulationManager.h:628
OsmiaParasitoidSubPopulation::m_DiffusionConstant
double m_DiffusionConstant
The distance related dispersal loss constants.
Definition: Osmia_Population_Manager.h:78
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
cfg_OsmiaMinTempForFlying
static CfgFloat cfg_OsmiaMinTempForFlying("OSMIA_MIN_TEMP_FOR_FLYING", CFG_CUSTOM, 6)
The minimum temperature in degree for osmia to fly out.
Osmia_Population_Manager::ClearDensityGrid
void ClearDensityGrid()
Empties the bee density grid.
Definition: Osmia_Population_Manager.h:477
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_Population_Manager::GetDensity
int GetDensity(int a_index)
Gets the number of bees at a location based on the grid index value.
Definition: Osmia_Population_Manager.h:472
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
TTypeOfOsmiaLifeStages
TTypeOfOsmiaLifeStages
Osmia life stages modelled.
Definition: Osmia_Population_Manager.h:45
cfg_MaximumCellConstructionTime
static CfgInt cfg_MaximumCellConstructionTime("OSMIA_MAXCELLCONSTRUCTTIME", CFG_CUSTOM, 4)
The maximum time allowed to construct a cell in days.
Osmia_Base::m_OsmiaFemaleR50distance
static double m_OsmiaFemaleR50distance
holds the value for the female typical homing distance
Definition: Osmia.h:298
OsmiaPolygonEntry::UpdateOsmiaNesting
void UpdateOsmiaNesting()
Recalculate the nest finding probability.
Definition: Osmia_Population_Manager.h:255
Osmia_InCocoon
Definition: Osmia.h:488
Osmia_Nest_Manager::CreateNest
Osmia_Nest * CreateNest(int a_x, int a_y, int a_polyindex)
Create the osmia nest here
Definition: Osmia_Population_Manager.h:335
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
cfg_OsmiaNestByLE_Datafile
static CfgStr cfg_OsmiaNestByLE_Datafile("OSMIA_NESTBYLEDATAFILE", CFG_CUSTOM, "OsmiaNestsByHabitat.txt")
Input file for Osmia nest density per LE.
Landscape::SupplyThePopManagerList
PopulationManagerList * SupplyThePopManagerList()
Set the pointer to the list of active population managers.
Definition: Landscape.h:313
Osmia_Nest_Manager::UpdateOsmiaNesting
void UpdateOsmiaNesting()
Tell all LE objects to update their osmia nest status.
Definition: Osmia_Population_Manager.h:321
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
CfgFloat::value
double value() const
Definition: Configurator.h:142
OsmiaParasitoidSubPopulation::Dispersal
void Dispersal()
Moves parasitoids that move by dispersal.
Definition: Osmia_Population_Manager.cpp:820
OsmiaParasitoidSubPopulation::m_CellIndexArray
int m_CellIndexArray[8]
The index of the surrounding cells, a speed optimisation.
Definition: Osmia_Population_Manager.h:80
Osmia_Female::SetMinEggsPerNest
static void SetMinEggsPerNest(int a_eggs)
Set the min eggs parameter value.
Definition: Osmia.h:659
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
Osmia_Female::m_ForageSteps
static int m_ForageSteps
The number of distance steps from nest to max forage range.
Definition: Osmia.h:569
OsmiaParasitoidSubPopulation::Reproduce
void Reproduce()
Carries out any reproduction possible.
Definition: Osmia_Population_Manager.cpp:836
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
OsmiaParasitoid_Population_Manager::AddDispersers
void AddDispersers(int a_ref, double a_dispersers)
Definition: Osmia_Population_Manager.h:140
OsmiaParasitoidSubPopulation::OsmiaParasitoidSubPopulation
OsmiaParasitoidSubPopulation(double a_dispersalfraction, double a_startno, int a_x, int a_y, int a_wide, int a_high, OsmiaParasitoid_Population_Manager *a_popman)
Definition: Osmia_Population_Manager.cpp:753
Osmia_Base::m_TotalProvisioningMassLoss
static double m_TotalProvisioningMassLoss
The total provision mass loss expected first cocoon to last.
Definition: Osmia.h:318
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
struct_Osmia::sex
bool sex
the sex of the Osmia
Definition: Osmia_Population_Manager.h:171
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_Population_Manager::m_FemaleCocoonMassEqns
vector< femalecocoonmassvsagelogisticcurvedata > m_FemaleCocoonMassEqns
Holds logistic equation values per age/mass of female for first female cocoon mass.
Definition: Osmia_Population_Manager.h:530
eggsexratiovsagelogisticcurvedata
vector< double > eggsexratiovsagelogisticcurvedata
Definition: Osmia_Population_Manager.h:55
Osmia_Female
Definition: Osmia.h:518
Cfg_OsmiaFemaleCocoonMassVsMotherMassLinear
static CfgArray_Double Cfg_OsmiaFemaleCocoonMassVsMotherMassLinear("OSMIA_FEMALECOCOONMASSVSMOTHERSMASSLINEAR", CFG_CUSTOM, 2, vector< double > { 0.3, 65.1 })
Array of parameters for the Osmia female first cocoon mass vs mothers mass linear equation
Osmia_Base::m_OsmiaInCocoonEmergCountSlope
static double m_OsmiaInCocoonEmergCountSlope
holds the coefficient value for the InCocoon emergence counter calculation
Definition: Osmia.h:262
Population_Manager_Base::m_ListNameLength
int m_ListNameLength
the number of life-stages simulated in the population manager
Definition: PopulationManager.h:626
cfg_UsingMechanisticParasitoids
static CfgBool cfg_UsingMechanisticParasitoids("OSMIA_USEMECHANISTICPARASITOIDS", CFG_CUSTOM, false)
The flag for using mechanistic (true) or statistical (false) parasitoid assumptions.
Landscape::ReleasePolygonLock
void ReleasePolygonLock(int a_polyref)
Function to release the given polygon locks.
Definition: Landscape.h:603
Osmia_Female::SetParasitoidParameters
static void SetParasitoidParameters(vector< double > a_params)
Definition: Osmia.h:691
Landscape::SetPolygonLock
void SetPolygonLock(int a_polyref)
Function to set the given polygon lock.
Definition: Landscape.h:601
OsmiaForageMaskDetailed
Definition: Osmia.h:105
Osmia_Nest_Manager::SanityCheck
bool SanityCheck(int a_polyindex)
Definition: Osmia_Population_Manager.h:355
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_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_Population_Manager::m_PrePupalDevelRates
vector< double > m_PrePupalDevelRates
Holds the prepupal development rates for fast access.
Definition: Osmia_Population_Manager.h:538
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
OsmiaPolygonEntry::GetMaxNoNests
int GetMaxNoNests()
Returns the max number of nests.
Definition: Osmia_Population_Manager.h:283
Osmia_Base::m_OsmiaFemaleR90distance
static double m_OsmiaFemaleR90distance
holds the value for the female max homing distance
Definition: Osmia.h:300
Osmia_Base::m_OsmiaEggDevelTotalDD
static double m_OsmiaEggDevelTotalDD
Is the number of day degrees needed for egg development to hatch.
Definition: Osmia.h:234
CfgBool::value
bool value() const
Definition: Configurator.h:164
OsmiaNestData
Definition: Osmia.h:119
Population_Manager_Base::m_TheLandscape
Landscape * m_TheLandscape
holds an internal pointer to the landscape
Definition: PopulationManager.h:624
Osmia_Female::SetUsingMechanisticParasitoids
static void SetUsingMechanisticParasitoids(bool a_flag)
Sets the UsingMechanisticParasitoids flag.
Definition: Osmia.h:690
Osmia_Population_Manager::m_PollenCompetitionsReductionScaler
double m_PollenCompetitionsReductionScaler
An attribute used to scale the available pollen based on assumed competetion from other bee species.
Definition: Osmia_Population_Manager.h:536
cfg_Osmia_LifetimeCocoonMassLoss
static CfgFloat cfg_Osmia_LifetimeCocoonMassLoss("OSMIA_LIFETIMECOCOONMASSLOSS", CFG_CUSTOM, 30.0)
Assumed (fitted) value for the total difference in cocoon mass from first to last cocoon
cfg_OsmiaFemaleBckMort
static CfgFloat cfg_OsmiaFemaleBckMort("OSMIA_FEMALEBACKMORT", CFG_CUSTOM, 0.02)
The daily background mortality rate for females.
Osmia_Population_Manager::m_PreWinteringEndFlag
bool m_PreWinteringEndFlag
Definition: Osmia_Population_Manager.h:518
Osmia_Nest
The Osmia nest is assumed to be a linear element with egg cells added one by one.
Definition: Osmia.h:128
cfg_OsmiaParasDailyMort
static CfgArray_Double cfg_OsmiaParasDailyMort("OSMIA_PARAS_DAILYMORT", CFG_CUSTOM, 24, vector< double > { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 })
Montly mortalities for TTypeOfOsmiaParasitoids parasitoids. Each set of 12 are the mortalities matchi...
cfg_OsmiaProvMassFromCocoonMass
CfgFloat cfg_OsmiaProvMassFromCocoonMass("OSMIAS_PROVISIONINGTOCOCOON", CFG_CUSTOM, 3.247)
The relationhip between cocoon mass and provisioning mass is linear.
Osmia_Nest::m_OurManager
static Osmia_Nest_Manager * m_OurManager
A pointer to the one and only nest population manager.
Definition: Osmia.h:148
OsmiaPollenNectarThresholds::m_nectarTquan
double m_nectarTquan
Definition: Osmia_Population_Manager.h:65
Weather::GetWindHour
double GetWindHour(int hour)
Definition: Weather.h:469
OsmiaPolygonEntry::IncOsmiaNesting
void IncOsmiaNesting(Osmia_Nest *a_nest)
Add an occupied nest.
Definition: Osmia_Population_Manager.h:263
Population_Manager::m_AOR_Probe
AOR_Probe * m_AOR_Probe
A pointer to the AOR probe.
Definition: PopulationManager.h:875
OsmiaParasitoidSubPopulation::SetThisMonth
void SetThisMonth(int a_month)
Definition: Osmia_Population_Manager.h:112
Osmia_Nest_Manager::GetNestPossible
bool GetNestPossible(TTypesOfLandscapeElement index)
Is a nest possible in this polytype.
Definition: Osmia_Population_Manager.h:349
June
const int June
Julian start dates of the month of June.
Definition: Landscape.h:48
TTypesOfLandscapeElement
TTypesOfLandscapeElement
Values that represent the types of landscape polygon that are represented in ALMaSS.
Definition: LandscapeFarmingEnums.h:57
OsmiaParasitoid_Population_Manager::m_CellSize
unsigned m_CellSize
Width of the cell in m (they are square)
Definition: Osmia_Population_Manager.h:132
Landscape
The landscape class containing all environmental and topographical data.
Definition: Landscape.h:142
Osmia_Population_Manager::m_OverWinterEndFlag
bool m_OverWinterEndFlag
Definition: Osmia_Population_Manager.h:520
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
cfg_OsmiaInCocoonEmergenceTempThreshold
CfgFloat cfg_OsmiaInCocoonEmergenceTempThreshold
Is the temperature threshold for calculating days left to emergence (a temperature below which days a...
cfg_OsmiaMaxNoEggsInNest
static CfgInt cfg_OsmiaMaxNoEggsInNest("OSMIA_MAXNOEGGSINNEST", CFG_CUSTOM, 30)
The maximum number of eggs planned for a nest
Osmia_Population_Manager::m_OurOsmiaNestManager
Osmia_Nest_Manager m_OurOsmiaNestManager
This provides the interface to the Osmia_Nests linked to the polgons.
Definition: Osmia_Population_Manager.h:524
Population_Manager_Base::SimH
int SimH
stores the simulation height
Definition: PopulationManager.h:614
cfg_OsmiaPerCapitaParasationChance
static CfgArray_Double cfg_OsmiaPerCapitaParasationChance("OSMIA_PERCAPITAPARASITATIONCHANCE", CFG_CUSTOM, static_cast< int >(TTypeOfOsmiaParasitoids::topara_foobar) - 1, vector< double > { 0.00001, 0.00002 })
Array of parameters for per capita parasitoid probability for each type of parasitoid in the order ba...
Osmia_Population_Manager::m_ThePollenMap
PollenMap_centroidbased * m_ThePollenMap
A pointer to the pollen map object.
Definition: Osmia_Population_Manager.h:514
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_Base::m_OsmiaInCocoonWinterMortSlope
static double m_OsmiaInCocoonWinterMortSlope
holds the coefficient value for the InCocoon winter mortality calculation
Definition: Osmia.h:258
AOR_Probe::DoProbe
virtual void DoProbe(int a_lifestage)
Definition: AOR_Probe.cpp:104
cfg_OsmiaPollenGiveUpThreshold
static CfgFloat cfg_OsmiaPollenGiveUpThreshold("OSMIA_POLLENGIVEUPTHRESHOLD", CFG_CUSTOM, 0.75, 0, 1.0)
The change in proportion pollen before a new patch is selected.
Osmia_Population_Manager::m_FemaleDensityGrid
vector< int > m_FemaleDensityGrid
holds numbers of females per 1km2
Definition: Osmia_Population_Manager.h:532
TTypeOfOsmiaParasitoids::topara_Unparasitised
TTypeOfOsmiaLifeStages::to_OsmiaPrepupa
Osmia_Prepupa
Definition: Osmia.h:447
Osmia_Female::m_foragemask
static OsmiaForageMask m_foragemask
Definition: Osmia.h:527
Osmia_Female::m_foragemaskdetailed
static OsmiaForageMaskDetailed m_foragemaskdetailed
Definition: Osmia.h:528
cfg_OsmiaStartNo
static CfgInt cfg_OsmiaStartNo("OSMIA_STARTNOS", CFG_CUSTOM, 50000)
The starting number of Osmia InCocoons.
Osmia_Female::SetForageMaskDetailed
static void SetForageMaskDetailed(int a_step, int a_max)
Initialise the detailed forage mask.
Definition: Osmia.h:646
Landscape::SupplySimAreaHeight
int SupplySimAreaHeight(void)
Gets the simulation landscape height.
Definition: Landscape.h:2302
Osmia_Female::SetForageSteps
static void SetForageSteps(int a_sz)
Definition: Osmia.h:644
OsmiaForageMask
Definition: Osmia.h:91
Landscape::SupplySimAreaWidth
int SupplySimAreaWidth(void)
Gets the simulation landscape width.
Definition: Landscape.h:2297
Landscape::TranslateEleTypes
TTypesOfLandscapeElement TranslateEleTypes(int EleReference)
Returns element type translated from the ALMaSS reference number.
Definition: Landscape.h:2313
SimpleStatistics::get_meanvalue
double get_meanvalue() const
Returns the mean.
Definition: PopulationManager.h:500
APoint
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:52
Osmia_Nest::AddEgg
void AddEgg(TAnimal *a_egg)
Adds an egg to the nest.
Definition: Osmia.h:168
cfg_OsmiaCocoonMassFromProvMass
CfgFloat cfg_OsmiaCocoonMassFromProvMass("OSMIAS_COCOONTOPROVISIONING", CFG_CUSTOM, 1.0/3.247)
The relationhip between cocoon massand provisioning mass is linear.
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
cfg_OsmiaDetailedMaskStep
CfgInt cfg_OsmiaDetailedMaskStep
Step size for the detailed forage mask. Step is each step out from the centre (min 1)
TTypeOfOsmiaLifeStages::to_OsmiaFemale
struct_Osmia::x
int x
x-coord
Definition: Osmia_Population_Manager.h:165
CfgBool
Bool configurator entry class.
Definition: Configurator.h:155
Osmia_Population_Manager::GetProvisioningParams
double GetProvisioningParams(int a_age)
Returns the values of provisioning parameters for a adult age.
Definition: Osmia_Population_Manager.h:435
Osmia_Base::m_MinimumCellConstructionTime
static double m_MinimumCellConstructionTime
The shortest possible construction time for a cell - normally 1 day.
Definition: Osmia.h:286
OsmiaParasitoidSubPopulation::~OsmiaParasitoidSubPopulation
~OsmiaParasitoidSubPopulation()
Definition: Osmia_Population_Manager.cpp:846
cfg_OsmiaPesticideThreshold
static CfgFloat cfg_OsmiaPesticideThreshold("OSMIA_PPP_THRESHOLD", CFG_CUSTOM, 10000.0)
The pesticide body burden threshold for ppp effects.
TAnimal
The base class for all ALMaSS animal classes. Includes all the functionality required to be handled b...
Definition: PopulationManager.h:200
OsmiaParasitoidSubPopulation::m_ThisMonth
static int m_ThisMonth
records the month (optimsation)
Definition: Osmia_Population_Manager.h:90
OsmiaNestData::m_no_eggs
int m_no_eggs
Definition: Osmia.h:122
Osmia_Base::m_FemaleMinTargetProvisionMass
static double m_FemaleMinTargetProvisionMass
The minimum target provisioning for a female cell.
Definition: Osmia.h:272
Osmia_Population_Manager::CalForageHours
void CalForageHours(void)
Definition: Osmia_Population_Manager.cpp:613
Osmia_Population_Manager::m_GridExtent
int m_GridExtent
holds numbers of grid cells per row
Definition: Osmia_Population_Manager.h:534
Osmia_Population_Manager::DoAfter
virtual void DoAfter()
Things to do before the EndStep.
Definition: Osmia_Population_Manager.h:550
OsmiaParasitoid_Population_Manager::RemoveParasitoids
void RemoveParasitoids(int a_ref, double a_dispersers)
Definition: Osmia_Population_Manager.h:143
Calendar::OldDays
long OldDays(void)
Definition: Calendar.h:60
Osmia_Base::m_OsmiaInCocoonWinterMortConst
static double m_OsmiaInCocoonWinterMortConst
holds the constant term value for the InCocoon winter mortality calculation
Definition: Osmia.h:256
Osmia_Base::m_OsmiaInCocoonEmergenceTempThreshold
static double m_OsmiaInCocoonEmergenceTempThreshold
holds the value for the InCocoon emergence temperature threshold
Definition: Osmia.h:252
cfg_OsmiaPollenThresholds
static CfgArray_Double cfg_OsmiaPollenThresholds("OSMIA_POLLEN_THRESHOLDS", CFG_CUSTOM, 24, vector< double > { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 })
Monthly pollen thresholds, 12 quantity then 12 quality. Units mg/m2 and unitless.
cfg_OsmiaPrepupalDevelRates
static CfgArray_Double cfg_OsmiaPrepupalDevelRates("OSMIA_PREPUPALDEVELRATES", CFG_CUSTOM, 42, vector< double > { 0.118180491, 0.128062924, 0.139167698, 0.151690375, 0.165863251, 0.181962547, 0.200316654, 0.221315209, 0.245418359, 0.273164807, 0.305175879, 0.342150483, 0.384842052, 0.434002716, 0.490272059, 0.553979475, 0.62482638, 0.701432201, 0.780791977, 0.857828943, 0.925409524, 0.97526899, 1, 0.995492173, 0.96251684, 0.90641791, 0.835121012, 0.756712977, 0.677752358, 0.602659522, 0.53389011, 0.472441557, 0.418380352, 0.371255655, 0.330377543, 0.294984821, 0.264336547, 0.237755941, 0.214646732, 0.194494708, 0.176862031, 0.161378614 })
This array is the daily rate of development of prepupa with temperature rounded to the nearest degree...
TTypeOfOsmiaLifeStages::to_OsmiaPupa
MapErrorMsg::Warn
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
cfg_OsmiaAdultMassCategoryStep
CfgFloat cfg_OsmiaAdultMassCategoryStep("OSMIA_ADULTMASSCLASSSTEP", CFG_CUSTOM, 10.0)
The size class step for Osmia female mass.
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
Population_Manager
Base class for all population managers for agent based models.
Definition: PopulationManager.h:645
CfgArray_Double
Definition: Configurator.h:208
OsmiaParasitoidSubPopulation::Remove
void Remove(double a_change)
Definition: Osmia_Population_Manager.h:96
Osmia_Base::m_UsingMechanisticParasitoids
static bool m_UsingMechanisticParasitoids
Flag for switching between ways of calculating parasitism.
Definition: Osmia.h:324
cfg_OsmiaParasStartHighLow
static CfgArray_Double cfg_OsmiaParasStartHighLow("OSMIA_PARAS_STARTHIGHLOW", CFG_CUSTOM, 2 *(static_cast< unsigned >(TTypeOfOsmiaParasitoids::topara_foobar) - 1), vector< double > { 2.0, 1.0, 2.0, 1.0})
Starting numbers for TTypeOfOsmiaParasitoids parasitoids. Each entry is the max and min starting numb...
cfg_OsmiaBombylidProb
static CfgFloat cfg_OsmiaBombylidProb("OSMIA_BOMBYLIDPROB", CFG_CUSTOM, 0.5)
The probability that a parasitoid is Bombylid - statistical parasitoids only.
OsmiaPolygonEntry::m_CurrentOsmiaNests
int m_CurrentOsmiaNests
to record the number of actual osmia nests (only used for speed - it is the same as the size of the v...
Definition: Osmia_Population_Manager.h:198
Landscape::SupplyDayInYear
int SupplyDayInYear(void)
Passes a request on to the associated Calendar class function, the day in the year.
Definition: Landscape.h:2267
cfg_OsmiaParasDispersal
static CfgArray_Double cfg_OsmiaParasDispersal("OSMIA_PARAS_DISPERSAL", CFG_CUSTOM, static_cast< unsigned >(TTypeOfOsmiaParasitoids::topara_foobar) - 1, vector< double > { 0.001, 0.0001 })
Dispersal rates for TTypeOfOsmiaParasitoids parasitoids. Each entry is the dispersal rate for the par...
cfg_OsmiaPollenGiveUpReturn
static CfgFloat cfg_OsmiaPollenGiveUpReturn("OSMIA_POLLENGIVEUPRETURN", CFG_CUSTOM, 0.75, 0, 50.0)
The change in proportion pollen before a new patch is selected.
Calendar::SunSetTime
int SunSetTime(void)
Definition: Calendar.h:65
Osmia_Egg
Definition: Osmia.h:394
TTypeOfOsmiaLifeStages::to_OsmiaEgg
OsmiaPollenNectarThresholds::m_pollenTqual
double m_pollenTqual
Definition: Osmia_Population_Manager.h:62
cfg_OsmiaForageSteps
CfgInt cfg_OsmiaForageSteps
cfg_OsmiaSexRatioVsMotherMassLinear
static CfgArray_Double cfg_OsmiaSexRatioVsMotherMassLinear("OSMIA_SEXRATIOVSMOTHERSMASSLINEAR", CFG_CUSTOM, 2, vector< double > { 0.0055, -0.1025 })
Array of parameters for the Osmia sex ratio vs mothers mass linear equation
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_Female::SetMaxEggsPerNest
static void SetMaxEggsPerNest(int a_eggs)
Set the min eggs parameter value.
Definition: Osmia.h:661
cfg_OsmiaMaxWindSpeedForFlying
static CfgFloat cfg_OsmiaMaxWindSpeedForFlying("OSMIA_MAX_WIND_SPEED_FOR_FLYING", CFG_CUSTOM, 8)
The maximum wind speed in meter per second for osmia to fly out.
OsmiaPolygonEntry::GetNoNests
int GetNoNests()
Returns the number of current nests.
Definition: Osmia_Population_Manager.h:281
Population_Manager::m_is_paralleled
bool m_is_paralleled
This is used to indicate whether the species is paralleled.
Definition: PopulationManager.h:796
APoint::m_x
int m_x
Definition: ALMaSS_Setup.h:55
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
cfg_PollenScoreToMg
static CfgFloat cfg_PollenScoreToMg("OSMIA_POLLENSCORETOMG", CFG_CUSTOM, 0.8)
The conversion rate from pollen availability score to mg pollen provisioned per day per bee - a fitti...
Osmia_Nest_Manager::GetNoNests
int GetNoNests(int a_polyindex)
Definition: Osmia_Population_Manager.h:351
OsmiaPollenNectarThresholds
A data class to hold each pair of pollen and nectar thresholds.
Definition: Osmia_Population_Manager.h:59
OsmiaPolygonEntry::SetIndexAttribute
void SetIndexAttribute(int a_index)
Sets the area attrribute.
Definition: Osmia_Population_Manager.h:279
Osmia_Population_Manager::TheAOROutputProbe
void TheAOROutputProbe() override
Output method.
Definition: Osmia_Population_Manager.cpp:489
CfgInt::value
int value() const
Definition: Configurator.h:116
g_landscape_ptr
Landscape * g_landscape_ptr
Definition: Landscape.cpp:352
Osmia_Nest_Manager::~Osmia_Nest_Manager
~Osmia_Nest_Manager()
Osmia nest manager denstructor.
Definition: Osmia_Population_Manager.h:309
Osmia_Base::m_OsmiaFemaleBckMort
static double m_OsmiaFemaleBckMort
Holds the parameter for unspecified female daily mortality.
Definition: Osmia.h:326
cfg_OsmiaFemaleMassMax
CfgFloat cfg_OsmiaFemaleMassMax
max possible female mass in mg
Calendar::SunRiseTime
int SunRiseTime(void)
Definition: Calendar.h:64
Osmia_Nest_Manager::CheckZeroNests
bool CheckZeroNests()
Definition: Osmia_Population_Manager.h:359
cfg_OsmiaSexRatioVsMotherAgeLogistic
static CfgArray_Double cfg_OsmiaSexRatioVsMotherAgeLogistic("OSMIA_SEXRATIOVSMOTHERSAGELOGISTIC", CFG_CUSTOM, 4, vector< double > { 14.90257909, 0.09141286, 0.6031729, -0.39213001 })
Array of parameters for the Osmia sex ratio vs mothers age logistic equation
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
OsmiaPolygonEntry::m_OsmiaNestProb
double m_OsmiaNestProb
to record the chance of osmia nesting
Definition: Osmia_Population_Manager.h:194
CfgArray_Double::value
std::vector< double > value() const
Definition: Configurator.h:219
OsmiaParasitoidSubPopulation::m_OurPopulationManager
OsmiaParasitoid_Population_Manager * m_OurPopulationManager
A pointer to the owning population manager.
Definition: Osmia_Population_Manager.h:86
Population_Manager_Base::SimW
int SimW
stores the simulation width
Definition: PopulationManager.h:616
TTypeOfOsmiaLifeStages::to_OsmiaLarva
OsmiaParasitoid_Population_Manager::GetSize
double GetSize(int a_x, int a_y)
Definition: Osmia_Population_Manager.h:147
Landscape::SupplyElementTypeFromVector
TTypesOfLandscapeElement SupplyElementTypeFromVector(unsigned int a_index)
Gets the TTypesOfVegetation type of a polygon using the m_elems.
Definition: Landscape.h:1727
OsmiaPolygonEntry::SetAreaAttribute
void SetAreaAttribute(int a_area)
Sets the area attrribute.
Definition: Osmia_Population_Manager.h:277
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
OsmiaParasitoidSubPopulation::Add
void Add(double a_change)
Definition: Osmia_Population_Manager.h:95
Osmia_Base::m_OsmiaInCocoonPrewinteringTempThreshold
static double m_OsmiaInCocoonPrewinteringTempThreshold
holds the value for the InCocoon prewintering temperature threshold
Definition: Osmia.h:254
Osmia_Base::m_OsmiaPupaDevelThreshold
static double m_OsmiaPupaDevelThreshold
Is temperature developmental threshold for pupal development.
Definition: Osmia.h:244
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
OsmiaParasitoid_Population_Manager::m_SubPopulations
vector< OsmiaParasitoidSubPopulation * > m_SubPopulations
The array storing the sub-populations of parasitoids.
Definition: Osmia_Population_Manager.h:124
femalecocoonmassvsagelogisticcurvedata
vector< double > femalecocoonmassvsagelogisticcurvedata
Definition: Osmia_Population_Manager.h:56
g_weather
class Weather * g_weather
Definition: Weather.cpp:49
Osmia_Nest_Manager::m_PossibleNestType
bool m_PossibleNestType[tole_Foobar]
Holds a set of flags indicating whether an Osmia nest is possible (true) or not (false)
Definition: Osmia_Population_Manager.h:369
OsmiaParasitoidSubPopulation
Definition: Osmia_Population_Manager.h:69
g_msg
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
Osmia_Base::m_TotalProvisioningMassLossRange
static double m_TotalProvisioningMassLossRange
The variability around the expected total mass loss.
Definition: Osmia.h:320
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
Population_Manager::GetLiveArraySize
unsigned GetLiveArraySize(int a_listindex) override
Gets the number of 'live' objects for a list index in the TheArray.
Definition: PopulationManager.h:657
OsmiaPollenNectarThresholds::m_pollenTquan
double m_pollenTquan
Definition: Osmia_Population_Manager.h:64
Osmia_Nest_Manager::m_PolyList
vector< OsmiaPolygonEntry > m_PolyList
Definition: Osmia_Population_Manager.h:366
Osmia_Population_Manager::m_PrePupalDevelDaysToday
double m_PrePupalDevelDaysToday
Holds the prepupal development rates for today for fast access.
Definition: Osmia_Population_Manager.h:540
Weather::GetTempHour
double GetTempHour(int hour)
Get today's weather data at the given hour.
Definition: Weather.h:467
Osmia_Nest_Manager
Definition: Osmia_Population_Manager.h:300
cfg_OsmiaFemaleFindNestAttemptNo
static CfgInt cfg_OsmiaFemaleFindNestAttemptNo("OSMIA_FEMALEFINDNESTATTEMPTNO", CFG_CUSTOM, 20)
Parameter to set the numbe of nest finding attempts.
Osmia_Population_Manager::m_exp_ZeroTo1
static probability_distribution m_exp_ZeroTo1
Static instance of the probability_distribution class of distance probabilities for approx exponentia...
Definition: Osmia_Population_Manager.h:497
CfgInt
Integer configurator entry class.
Definition: Configurator.h:102
cfg_OsmiaDensityDependentPollenRemovalConst
static CfgFloat cfg_OsmiaDensityDependentPollenRemovalConst("OSMIADENSITYDENPENDENTPOLLENREMOVALCONST", CFG_CUSTOM, 0.5)
Parameter to set the proportion of pollen removed by other bees.
Osmia_Population_Manager::AddToDensityGrid
void AddToDensityGrid(int a_index)
Adds a bee to the density grid using the grid index value.
Definition: Osmia_Population_Manager.h:456
struct_Osmia::nest
Osmia_Nest * nest
a pointer to a nest
Definition: Osmia_Population_Manager.h:177
OsmiaPolygonEntry::OsmiaPolygonEntry
OsmiaPolygonEntry()
The constructor for OsmiaPolygonEntry.
Definition: Osmia_Population_Manager.h:205
Osmia_Nest_Manager::ReleaseOsmiaNest
void ReleaseOsmiaNest(int a_polyindex, Osmia_Nest *a_nest)
release nest here
Definition: Osmia_Population_Manager.h:342
struct_Osmia::parasitised
TTypeOfOsmiaParasitoids parasitised
Are we parasitised.
Definition: Osmia_Population_Manager.h:179
Osmia_Population_Manager::m_EggSexRatioEqns
vector< eggsexratiovsagelogisticcurvedata > m_EggSexRatioEqns
Holds logistic equation values per age/mass of female for egg sex ratios.
Definition: Osmia_Population_Manager.h:528
September
const int September
Julian start dates of the month of September.
Definition: Landscape.h:54
Osmia_Population_Manager::~Osmia_Population_Manager
virtual ~Osmia_Population_Manager(void)
Osmia_Population_Manager Destructor.
Definition: Osmia_Population_Manager.cpp:238
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
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
Population_Manager_Base::m_SimulationName
string m_SimulationName
stores the simulation name
Definition: PopulationManager.h:622
Osmia_Female::m_pollengiveupthreshold
static double m_pollengiveupthreshold
The change in pollen return that triggers a new search.
Definition: Osmia.h:531
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
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
OsmiaPolygonEntry
Is the list of nests held by a polygon and associated density controls.
Definition: Osmia_Population_Manager.h:189
Osmia_InCocoon::SetOverwinteringTempThreshold
static void SetOverwinteringTempThreshold(double a_temp)
Set method for m_OverwinteringTempThreshold.
Definition: Osmia.h:504
OsmiaParasitoid_Population_Manager::~OsmiaParasitoid_Population_Manager
~OsmiaParasitoid_Population_Manager()
Definition: Osmia_Population_Manager.cpp:730
Osmia_Nest_Manager::IsOsmiaNestPossible
bool IsOsmiaNestPossible(int a_polyindex)
Find out whether an osmia nest can be made here.
Definition: Osmia_Population_Manager.h:330
OsmiaPolygonEntry::SetMaxOsmiaNests
void SetMaxOsmiaNests(double a_noNests)
Sets the max number of Osmia nests for this LE.
Definition: Osmia_Population_Manager.h:269
TTypeOfOsmiaLifeStages::to_OsmiaInCocoon
OsmiaPolygonEntry::m_Polyindex
int m_Polyindex
The polygon reference used by the Landscape and Osmia_Nest_Manager.
Definition: Osmia_Population_Manager.h:202
Cfg_OsmiaFemaleCocoonMassVsMotherAgeLogistic
static CfgArray_Double Cfg_OsmiaFemaleCocoonMassVsMotherAgeLogistic("OSMIA_FEMALECOCOONMASSVSMOTHERSAGELOGISTIC", CFG_CUSTOM, 4, vector< double > { 18.04087868, 104.19820591, 133.74150303, -0.17686981})
Array of parameters for the Osmia female cocoon mass vs mothers age logistic equation
Osmia_Base::SetParasitoidManager
static void SetParasitoidManager(OsmiaParasitoid_Population_Manager *a_popman)
Definition: Osmia.h:388
Osmia_Nest_Manager::InitOsmiaBeeNesting
void InitOsmiaBeeNesting()
Read in the Osmia nest density files and allocate to each LE object.
Definition: Osmia_Population_Manager.cpp:850
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
Calendar::DayInYear
int DayInYear(void)
Definition: Calendar.h:58
Osmia_Nest::ReleaseCellLock
void ReleaseCellLock(void)
Release the cell lock.
Definition: Osmia.h:162
OsmiaPollenNectarThresholds::m_nectarTqual
double m_nectarTqual
Definition: Osmia_Population_Manager.h:63
cfg_OsmiaTypicalHomingDistance
CfgInt cfg_OsmiaTypicalHomingDistance
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
cfg_pest_product_amounts
CfgArray_Double cfg_pest_product_amounts
Amount of pesticide applied in grams of active substance per hectare for each of the 10 pesticides.
Landscape::SupplyTempPeriod
double SupplyTempPeriod(long a_date, int a_period)
Passes a request on to the associated Weather class function, the total temperature from a_date and a...
Definition: Landscape.h:2054
OsmiaParasitoidSubPopulation::m_DiffusionRate
double m_DiffusionRate
The time-step related total dispersal loss.
Definition: Osmia_Population_Manager.h:76
Population_Manager::PushIndividual
void PushIndividual(const unsigned a_listindex, TAnimal *a_individual_ptr)
Definition: PopulationManager.cpp:1682
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
Population_Manager::SupplyListSize
unsigned SupplyListSize(unsigned listindex) const
Definition: PopulationManager.h:726
Landscape::SupplyPolygonAreaVector
double SupplyPolygonAreaVector(int a_polyref)
Returns the polygon area of a particular polygon using an index to m_elems.
Definition: Landscape.h:1820
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
PopulationManagerList::GetPopulation
Population_Manager_Base * GetPopulation(int a_pt, int a_index=0)
Definition: PopulationManager.h:962
OsmiaNestData::m_no_females
int m_no_females
Definition: Osmia.h:123
Osmia_Population_Manager::DoBefore
virtual void DoBefore()
Things to do before the Step.
Definition: Osmia_Population_Manager.cpp:647
struct_Osmia::OPM
Osmia_Population_Manager * OPM
Osmia_Population_Manager pointer.
Definition: Osmia_Population_Manager.h:175
OsmiaParasitoid_Population_Manager::GetSize
double GetSize(int a_ref)
Definition: Osmia_Population_Manager.h:146
cfg_MinimumCellConstructionTime
static CfgInt cfg_MinimumCellConstructionTime("OSMIA_MINCELLCONSTRUCTTIME", CFG_CUSTOM, 1)
The minimum time to construct a cell in days.
cfg_OsmiaOverwinterDegreeDaysInitialSimu
static CfgFloat cfg_OsmiaOverwinterDegreeDaysInitialSimu("OSMIA_OVERWINTER_DEGREE_DAYS_INITIAL_SIMU", CFG_CUSTOM, 320)
The accumulated overwinter degree days for cocoon when initialising the simulations.
OsmiaParasitoidSubPopulation::m_MortalityPerMonth
static array< double, 12 > m_MortalityPerMonth
Daily mortality rates each month.
Definition: Osmia_Population_Manager.h:88
OsmiaParasitoidSubPopulation::m_NoParasitoids
double m_NoParasitoids
The total number of parasitoids in this population.
Definition: Osmia_Population_Manager.h:74
OsmiaParasitoid_Population_Manager::OsmiaParasitoid_Population_Manager
OsmiaParasitoid_Population_Manager(Landscape *a_landscape, int a_cellsize)
Definition: Osmia_Population_Manager.cpp:699
OsmiaParasitoidSubPopulation::DoFirst
virtual void DoFirst()
Definition: Osmia_Population_Manager.h:104
Osmia_Base::m_DailyDevelopmentMortEggs
static double m_DailyDevelopmentMortEggs
This holds the daily mortality for eggs.
Definition: Osmia.h:226
OsmiaPolygonEntry::m_Area
int m_Area
The polygon area.
Definition: Osmia_Population_Manager.h:200
Osmia_Nest_Manager::m_PolyListLocks
vector< omp_nest_lock_t * > m_PolyListLocks
Definition: Osmia_Population_Manager.h:367
count
Definition: SubPopulation.h:48
Osmia_Female::SetCocoonToProvisionMass
static void SetCocoonToProvisionMass(double a_ratio)
Set the conversion ratio cocoon to provisioning.
Definition: Osmia.h:663
Osmia_Population_Manager::DoFirst
virtual void DoFirst()
Things to do before anything else at the start of a timestep
Definition: Osmia_Population_Manager.cpp:570
Osmia_Female::SetMaximumCellConstructionTime
static void SetMaximumCellConstructionTime(double a_time)
Set maximum cell construction time.
Definition: Osmia.h:682
SimpleStatistics::ClearData
void ClearData()
Clears the data.
Definition: PopulationManager.h:537
OsmiaPolygonEntry::m_NestList
std::forward_list< Osmia_Nest * > m_NestList
Definition: Osmia_Population_Manager.h:192
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_Population_Manager::AddToDensityGrid
int AddToDensityGrid(APoint a_loc)
Adds a bee to the density grid at a location.
Definition: Osmia_Population_Manager.h:449
Osmia_Population_Manager::Init
void Init()
Used to collect data initialisation together.
Definition: Osmia_Population_Manager.cpp:344
cfg_MaleMinTargetProvisionMass
static CfgFloat cfg_MaleMinTargetProvisionMass("OSMIA_MALEMINTARGETPROVISIONMASS", CFG_CUSTOM, 10.0)
The minimum amount of pollen needed to provision a male cell.
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
cfg_OsmiaMaxHomingDistance
CfgInt cfg_OsmiaMaxHomingDistance
Osmia_Base::m_MaleMinTargetProvisionMass
static double m_MaleMinTargetProvisionMass
The minimum target provisioning for a male cell.
Definition: Osmia.h:268
Osmia_Female::SetParasitismProbToTimeCellOpen
static void SetParasitismProbToTimeCellOpen(double a_ratio)
Set the conversion ratio time cell open to open cell parasitism.
Definition: Osmia.h:688
Osmia_Population_Manager::Osmia_Population_Manager
Osmia_Population_Manager(Landscape *L)
Osmia_Population_Manager Constructor.
Definition: Osmia_Population_Manager.cpp:254
Weather::GetRainHour
double GetRainHour(int hour)
Definition: Weather.h:470
Osmia_Base::m_TotalProvisioningMassLossRangeX2
static double m_TotalProvisioningMassLossRangeX2
Twice the variability around the expected total mass loss.
Definition: Osmia.h:322
OsmiaParasitoid_Population_Manager::m_TheLandscape
Landscape * m_TheLandscape
A useful pointer to the lanscape object.
Definition: Osmia_Population_Manager.h:126
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