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
Farm.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************************************
3 Copyright (c) 2011, 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 //
30 // Farm.h
31 //
32 /*
33 
34 Copyright (c) 2003, National Environmental Research Institute, Denmark (NERI)
35 
36 All rights reserved.
37 
38 
39 Redistribution and use in source and binary forms, with or without
40 modification, are permitted provided that the following conditions are met:
41 
42 *) Redistributions of source code must retain the above copyright notice, this
43 list of conditions and the following disclaimer.
44 *) Redistributions in binary form must reproduce the above copyright notice,
45 this list of conditions and the following disclaimer in the documentation
46 and/or other materials provided with the distribution.
47 *) Neither the name of the NERI nor the names of its contributors
48 may be used to endorse or promote products derived from this software without
49 specific prior written permission.
50 
51 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
52 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
53 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
54 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
55 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
56 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
57 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
58 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
59 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
60 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
61 POSSIBILITY OF SUCH DAMAGE.
62 
63 */
64 
65 #ifndef FARM_H
66 #define FARM_H
67 
68 // This really needs to be a #define.
69 #define PROG_START 1
70 
72 
73 
74 class Population_Manager;
75 class FarmManager;
76 class Farmer;
77 class BroadBeans;
78 class Carrots;
79 class CloverGrassGrazed1;
80 class CloverGrassGrazed2;
81 class FieldPeas;
82 class FieldPeasSilage;
83 class FodderBeet;
84 class FodderGrass;
85 class Maize;
86 class MaizeSilage;
87 class OMaizeSilage;
89 class OCarrots;
93 class OFieldPeas;
94 class OFieldPeasSilage;
95 class OFirstYearDanger;
96 class OGrazingPigs;
97 class OOats;
98 class Oats;
99 class OrchardCrop;
100 class OFodderBeet;
102 class OPotatoes;
103 class OSBarleySilage;
104 class OSeedGrass1;
105 class OSeedGrass2;
106 class OSpringBarley;
107 class OSpringBarleyExt;
108 class OSpringBarleyPigs;
109 class OWinterBarley;
110 class OWinterBarleyExt;
111 class OWinterRape;
112 class OWinterRye;
118 class PermanentSetAside;
119 class Potatoes;
120 class PotatoesIndustry;
121 class SeedGrass1;
122 class SeedGrass2;
123 class SetAside;
124 class SpringBarley;
125 class SpringBarleySpr;
129 class SpringBarleySeed;
130 class SpringBarleySilage;
131 class SpringRape;
132 class SugarBeet;
133 class Triticale;
134 class OTriticale;
135 class WinterBarley;
136 class WinterRape;
137 class WinterRye;
138 class WinterWheat;
139 class WWheatPControl;
140 class WWheatPTreatment;
141 class WWheatPToxicControl;
142 class AgroChemIndustryCereal;
150 class MaizeStrigling;
151 class WinterRapeStrigling;
152 class WinterRyeStrigling;
154 class FieldPeasStrigling;
156 class YoungForestCrop;
157 class Hunter;
158 class OWinterWheat;
159 class NorwegianPotatoes;
160 class NorwegianOats;
162 
163 class PLWinterWheat;
164 class PLWinterRape;
165 class PLWinterBarley;
166 class PLWinterTriticale;
167 class PLWinterRye;
168 class PLSpringWheat;
169 class PLSpringBarley;
170 class PLMaize;
171 class PLMaizeSilage;
172 class PLPotatoes;
173 class PLBeet;
174 class PLFodderLucerne1;
175 class PLFodderLucerne2;
176 class PLCarrots;
177 class PLSpringBarleySpr;
178 class PLWinterWheatLate;
179 class PLBeetSpr;
180 class PLBeans;
181 
186 
187 class NLBeet;
188 class NLCarrots;
189 class NLMaize;
190 class NLPotatoes;
191 class NLSpringBarley;
192 class NLWinterWheat;
193 class NLCabbage;
194 class NLTulips;
195 class NLGrassGrazed1;
197 class NLGrassGrazed2;
198 class NLGrassGrazedLast;
200 class NLBeetSpring;
201 class NLCarrotsSpring;
202 class NLMaizeSpring;
203 class NLPotatoesSpring;
205 class NLCabbageSpring;
206 class NLCatchCropPea;
207 class NLOrchardCrop;
213 class GenericCatchCrop;
214 
215 class UKBeans;
216 class UKBeet;
217 class UKMaize;
218 class UKPermanentGrass;
219 class UKPotatoes;
220 class UKSpringBarley;
221 class UKTempGrass;
222 class UKWinterBarley;
223 class UKWinterRape;
224 class UKWinterWheat;
225 
227 class PTWinterWheat;
228 class PTGrassGrazed;
229 class PTSorghum;
230 class PTFodderMix;
231 class PTTurnipGrazed;
234 class PTTriticale;
235 class PTOtherDryBeans;
236 class PTShrubPastures;
237 class PTCorkOak;
238 class PTVineyards;
239 class PTWinterBarley;
240 class PTBeans;
241 class PTWinterRye;
242 
243 class DEOats;
244 class DESpringRye;
245 class DEWinterWheat;
246 class DEMazieSilage;
247 class DEPotatoes;
248 class DEMaize;
249 class DEWinterRye;
250 class DEWinterBarley;
251 class DEBeet;
252 class DEWinterRape;
253 class DETriticale;
254 class DECabbage;
255 class DECarrots;
256 class DEGrasslandSilageAnnual;
257 class DEGreenFallow_1year;
258 class DELegumes;
259 class DEOCabbages;
260 class DEOCarrots;
261 class DEOGrasslandSilageAnnual;
262 class DEOGreeFallow_1year;
263 class DEOLegumes;
264 class DEOMaize;
265 class DEOMaizeSilage;
266 class DEOOats;
267 class DEOPotatoes;
268 class DEOSpringRye;
269 class DEOTriticale;
270 class DEOWinterRye;
271 class DEOWinterRape;
272 class DEOWinterBarley;
273 class DEOWinterWheat;
274 class DEOSugarBeet;
275 class DEPermanentGrassGrazed;
276 class DEOPermanentGrassGrazed;
277 class DEPermanentGrassLowYield;
278 class DEWinterWheatlate;
279 class DEAsparagusEstablishedPlantation;
280 class DEHerbsPerennial_1year;
281 class DEHerbsPerennial_after1year;
282 class DESpringBarley;
283 class DEOrchard;
284 class DEPeas;
285 class DEOPeas;
286 class DEPotatoesIndustry;
287 class DEBushFruitPerm;
288 class DEOBushFruitPerm;
289 class DEOOrchard;
290 class DEOPermanentGrassLowYield;
291 class DEOAsparagusEstablishedPlantation;
292 class DEOHerbsPerennial_1year;
293 class DEOHerbsPerennial_after1year;
294 
295 class DK_Cabbages;
296 class DK_Carrots;
297 class DK_Legume;
298 class DK_Legume_Whole;
299 class DK_OCabbages;
300 class DK_OCarrots;
301 class DK_OLegume;
302 class DK_OLegume_Whole;
303 class DK_OLegume_Whole;
304 class DK_OSugarBeets;
305 class DK_SugarBeets;
306 class DK_WinterWheat;
307 class DK_OWinterWheat;
308 class DK_CatchCrop;
309 class DK_SpringBarley;
310 class DK_OCatchCrop;
311 class DK_OSpringBarley;
312 class DK_OLegume_Beans;
313 class DK_OLegume_Peas;
314 class DK_OSpringOats;
315 class DK_OWinterWheat;
316 class DK_OWinterRye;
317 class DK_Legume_Beans;
318 class DK_Legume_Peas;
319 class DK_Legume_Whole;
320 class DK_SpringOats;
321 class DK_WinterWheat;
322 class DK_WinterRye;
324 
326 
327 enum class CatchCropTypes : unsigned
328 {
330 };
331 
332 typedef vector<unsigned >polylist;
333 typedef vector < Hunter* > HunterList;
334 
336  double envA;
337  double riskA;
339  int Age;
340  double riskSpan;
341 };
342 
344  double LabourCost;
345  double EconomicCost;
347  double EnvImpact;
349 };
350 
353  bool m_present;
354 };
355 
357 struct PermCropData {
359  int Pct;
360 };
361 
363 struct tpct {
364  int index;
365  int pct;
366 };
367 
372 struct FarmEvent
373 {
384  bool m_lock;
387  long m_run;
388  int m_todo;
394 
395  FarmEvent(TTypesOfVegetation a_event, LE* a_field, int a_todo, long a_run, bool a_lock, int a_start, bool a_first_year, TTypesOfVegetation a_nextcrop, bool a_forcespring, bool a_forcespringOK)
396  {
397  m_event = a_event;
398  m_field = a_field;
399  m_todo = a_todo;
400  m_run = a_run;
401  m_lock = a_lock;
402  m_startday = a_start;
403  m_first_year = a_first_year;
404  m_next_tov = a_nextcrop;
405  m_forcespring = a_forcespring;
406  m_forcespringOK = a_forcespringOK;
407  }
408 };
409 
414 struct farminfo {
425 };
426 
428 {
430  int m_stDay;
431 };
436 {
437 public:
439  int refID;
441  int homeX;
443  int homeY;
445  vector<int> FarmHuntRef;
447  vector<int> CheckedFarms;
448 
450  FarmHuntRef.resize( 0 );
451  CheckedFarms.resize( 0 );
452  }
453 };
454 
460 {
461 protected:
463  vector<Farmer*> m_TheFarmers;
464 public:
467  {
471  m_TheFarmers.resize(0);
472  }
474  void AddFarmer(Farmer* a_farmer) { m_TheFarmers.push_back(a_farmer); }
476  Farmer* GetFarmer(int i) { return m_TheFarmers[i]; }
478  void ReplaceFarmer(int i, Farmer* a_farmer) { m_TheFarmers[i] = a_farmer; }
480  int GetSize() { return int(m_TheFarmers.size()); }
482  APoint GetLocation(int i);
484  void UpdateSocialNetworks(bool a_geographic, bool a_associative, bool a_virtual);
486  void ResetAllDone();
487  // /** \brief Prints the social attributes of all farmers to a file */
488 
489 };
490 
495 class Crop
496 {
497 protected:
502  int m_count;
508  bool m_forcespringpossible = false;
514  static int m_date_modifier;
519  void SimpleEvent(long a_date, int a_todo, bool a_lock);
520 
525  void SimpleEvent_(long a_date, int a_todo, bool a_lock, Farm* a_farm, LE* a_field);
530  vector<FarmManagementCategory> m_ManagementCategories;
534  bool StartUpCrop(int a_spring, std::vector<std::vector<int>> a_flexdates, int a_todo);
535 
536  bool AphidDamage(LE* a_field);
537 
538 public:
540  virtual ~Crop() {}
541  Crop(TTypesOfVegetation a_tov, TTypesOfCrops a_toc, Landscape* a_L);
542  int GetFirstDate( void ) { return m_first_date; }
543  virtual bool Do( Farm *a_farm, LE *a_field, FarmEvent *a_ev );
545  void ChooseNextCrop (int a_no_dates);
546  //* \brief Get method for m_CropClassification */
548  //* \brief Get method for m_CropClassification */
549  void SetCropClassification(int a_classification) { m_CropClassification = a_classification; }
550  //* \brief Sets the crop type */
551  void GetCropType(TTypesOfCrops a_toc) { m_toc = a_toc; }
552  //* \brief Gets the crop type */
554  //* \brief Get the translation between farm operation and management category */
556  return m_ManagementCategories[a_todo];
557  }
559 };
560 
561 
564 // v. similar to PermCropData, but has double instead of int.
565 //Used originally for saving Bedriftsmodel (original farm optimization model) type crops in almass type. Also used to store data on biomass_factors
566 //so changed the name of the member - from Pct to Number
567 
568  struct AlmassCrop {
569  double Number;
571  };
572 
578 
579 public:
581 
582  //Data at a general level
583  void Set_livestockTypes(TTypesOfFarmAnimals livestock_type){m_livestockTypes.push_back(livestock_type);};
584  void Set_cropTypes(TTypesOfCrops crop_type){m_cropTypes.push_back(crop_type);};
585  void Set_cropTypes_str (string crop_type){m_str_cropTypes.push_back(crop_type);};
587  string Get_cropTypes_str (int i) {return m_str_cropTypes[i];};
589 
590  //Individual data for farms (vector size is no_farms x given_Foobar)
591  void Set_livestockNumber(int a_number){m_livestockNumbers.push_back(a_number);};
592  void Set_cropArea(double a_area){m_cropAreas.push_back(a_area);};
593  int Get_livestockNumber(int index){return m_livestockNumbers[index];};
594  int Get_livestockNumbersSize(){return (int)m_livestockNumbers.size();};
595  double Get_cropArea(int index){return m_cropAreas[index];};
596  int Get_cropAreasSize(){return (int)m_cropAreas.size();};
597 
598  //Data for farms
600  TTypesOfOptFarms Get_farmType (int a_almass_no);
601  void Set_winterMax (int a_value, int i){m_winterMax[i]=a_value;};
602  int Get_winterMax (int i) {return m_winterMax[i];};
603 
604  //Data for livestock
605  void Set_livestockParameter(double a_value, int i){m_livestockParameters[i]=a_value;};
607 
608  //Data for crops
609  void Set_cropParameter (double a_value, int i){m_cropParameters[i]=a_value;};
610  double Get_cropParameter (int i) {return m_cropParameters[i];};
611 
612  void Set_alfa (double a_value, int i){m_alfa[i]=a_value;};
613  double Get_alfa (int i) {return m_alfa[i];};
614  void Set_beta1 (double a_value, int i){m_beta1[i]=a_value;};
615  double Get_beta1 (int i) {return m_beta1[i];};
616  void Set_beta2 (double a_value, int i){m_beta2[i]=a_value;};
617  double Get_beta2 (int i) {return m_beta2[i];};
618  void Set_Nnorm (double a_value, int i){m_Nnorm[i]=a_value;};
619  double Get_Nnorm (int i) {return m_Nnorm[i];};
620 
621 
622  void Set_fixed (string a_value, int i){
623  if(a_value=="yes" || a_value=="YES" || a_value=="Yes" || a_value=="1"){m_fixed[i]=true;}
624  else {m_fixed[i]=false;}
625  };
626  bool Get_fixed (int i) {return m_fixed[i];};
627  void Set_fodder (string a_value, int i){
628  if(a_value=="yes" || a_value=="YES" || a_value=="Yes" || a_value=="1"){m_fodder[i]=true;}
629  else {m_fodder[i]=false;}
630  };
631  bool Get_fodder (int i) {return m_fodder[i];};
632  void Set_FUKey (double a_value, int i){m_FUKey[i]=a_value;};
633  double Get_FUKey (int i) {return m_FUKey[i];};
634 
635  void Set_sellingPrice (double a_value, int i){m_sellingPrice[i]=a_value;};
636  double Get_sellingPrice (int i) {return m_sellingPrice[i];};
637  void Set_sellingPrice_lastyr (double a_value, int i){m_sellingPrice_lastyr[i]=a_value;};
638  double Get_sellingPrice_lastyr (int i) {return m_sellingPrice_lastyr[i];};
639 
640  void Set_rotationMax (double a_value, int i){m_rotationMax[i]=a_value;};
641  double Get_rotationMax (int i) {return m_rotationMax[i];};
642  void Set_rotationMin (double a_value, int i){m_rotationMin[i]=a_value;};
643  double Get_rotationMin (int i) {return m_rotationMin[i];};
644 
645 
646  //versions for almass crops
647  void Set_biomass_factor (double a_value, int i){m_biomass_factors[i] = a_value;};
648  double Get_biomass_factor (int i) { return m_biomass_factors[i];}
649 
650  void Set_cropTypes_almass(TTypesOfVegetation crop_type){m_cropTypes_almass.push_back(crop_type);};
652  int Get_cropTypes_almass_size (){return (int)m_cropTypes_almass.size();};
653  void Set_cropTypes_almass_str (string crop_type){m_str_cropTypes_almass.push_back(crop_type);};
655 
656  void Set_noCrops (int no) {m_noCrops = no;};
657  int Get_noCrops (){return m_noCrops;};
658 
659  void Set_emaize_price (double a_value){m_energy_maize_price.push_back(a_value);};
660  double Get_emaize_price (int i){return m_energy_maize_price[i];};
661 
663  class FarmData{
664  public:
671  };
672 
673  vector<FarmData*>m_farm_data;
674 
675 
676 protected:
677  //called in the constructor
679  void InitializeVector(vector<double>&vector);
681  int m_noCrops; //how many crops will be optimised - the number is taken from one of the input files; it has to be the same in all input files with crop data!
682 
683 //I. Data at a general level - changed to config variables
684 
685 //II. Data for farms
686 
688  vector<string>m_str_cropTypes; //used in output function
690  vector<TTypesOfCrops>m_cropTypes;
691  //for almass crop types
693  vector<string>m_str_cropTypes_almass;
695  vector<TTypesOfVegetation>m_cropTypes_almass;
697  vector<TTypesOfFarmAnimals>m_livestockTypes;
699  vector<double>m_cropAreas;
701  vector<int>m_livestockNumbers;
702 
704  vector<int>m_winterMax;
705 
706 //III. Data for livestock
708  vector<double>m_livestockParameters; //full list of the parameters - enum declaration (TTypesOfLivestockParameters)
709 
710 //IV. Data for crops
711  //1. parameters that do not vary with farm type, soil type etc. (number of parameters = top_Foobar !)
713  vector<double>m_cropParameters; //full list of the parameters - enum declaration (enum TTypesOfParameters)
714  //2. parameters that vary with a soil type
716  vector<double>m_alfa;
718  vector<double>m_beta1;
720  vector<double>m_beta2;
722  vector<double>m_Nnorm;
725  vector<double>m_biomass_factors;
726 
727  //3. parameters that vary with a farm type
729  vector<bool>m_fixed;
731  vector<bool>m_fodder;
733  vector<double>m_FUKey;
734  //4. parameters that vary with a farm and soil type
736  vector<double>m_sellingPrice;
738  vector<double>m_sellingPrice_lastyr;
739  //5. parameters that vary with a farm type, farm size and a soil type
741  vector<double>m_rotationMax;
743  vector<double>m_rotationMin;
744 
745  //6. Energy maize runs
747  vector<double>m_energy_maize_price;
748 
749 };
750 
755 class Farm
756 {
757 public:
758 
760 
762  virtual void FarmActions(void);
764  bool FarmerActions(void);
765 
766  // InitiateManagement() must be called after all the fields have
767  // been added to the farm.
768  virtual void InitiateManagement(void);
769 
770  void AddField(LE* a_newfield);
771  void RemoveField(LE* a_field);
772  Farm(FarmManager* a_manager);
773  virtual ~Farm(void);
774  void SetFarmNumber(int a_farm_num) { m_farm_num = a_farm_num; }
775  int GetFarmNumber(void) { return m_farm_num; }
776  virtual bool Spraying_herbicides(TTypesOfVegetation) { return true; };
777  virtual bool Spraying_fungins(TTypesOfVegetation) { return true; };
778  virtual double Prob_multiplier() { return 1; };
779  void Assign_rotation(vector<TTypesOfVegetation>a_new_rotation);
781 
782  /************************* Economics **********************************/
784  virtual void Harvested(TTypesOfCrops a_toc, double a_yield);
786  virtual void Insecticide(int a_area);
788  virtual void Herbicide(int a_area);
789  /*********************** End Economics ********************************/
793  polylist* ListOpenFields(int a_openness); //14.01.13
795  void Centroids();
797  int GetNoFields() { return (int)m_fields.size(); }
799  int GetNoOpenFields(int a_openness);
801  int GetAreaOpenFields(int a_openness);
803  APoint GetValidCoords() { APoint pt; pt.m_x = m_fields[0]->GetValidX(); pt.m_y = m_fields[0]->GetValidY(); return pt; }
806  {
807  int op = 0;
808  for (int i = 0; i < m_fields.size(); i++)
809  {
810  int openness = m_fields[i]->GetOpenness();
811  if (openness > op) op = openness;
812  }
813  return op;
814  }
815 
817  Farmer* GetFarmer() { return m_OurFarmer; }
818 
819  // And (*sigh*) the crop treatment functions... :-)
821  LE* SetFunctionData(LE*, double, double, int, FarmToDo);
823  void SetFunctionDataNoUM(LE*, double, double, int, FarmToDo);
824  virtual bool SleepAllDay(LE* a_field, double a_user, int a_days);
825  virtual bool AutumnPlough(LE* a_field, double a_user, int a_days);
826  void CalculateTreatmentCosts(FarmToDo a_treatment, LE* a_field);
827  virtual bool StubblePlough(LE* a_field, double a_user, int a_days);
828  virtual bool StubbleCultivatorHeavy(LE* a_field, double a_user, int a_days);
829  virtual bool AutumnHarrow(LE* a_field, double a_user, int a_days);
830  virtual bool AutumnRoll(LE* a_field, double a_user, int a_days);
831  virtual bool PreseedingCultivator(LE* a_field, double a_user, int a_days);
832  virtual bool PreseedingCultivatorSow(LE* a_field, double a_user, int a_days, double a_seed_coating_amount = -1, PlantProtectionProducts a_ppp = ppp_foobar);
833  virtual bool AutumnSow(LE* a_field, double a_user, int a_days, double a_seed_coating_amount = -1, PlantProtectionProducts a_ppp = ppp_foobar);
834  virtual bool WinterPlough(LE* a_field, double a_user, int a_days);
835  virtual bool WinterHarrow(LE* a_field, double a_user, int a_days);
836  virtual bool DeepPlough(LE* a_field, double a_user, int a_days);
837  virtual bool SpringPlough(LE* a_field, double a_user, int a_days);
838  virtual bool SpringHarrow(LE* a_field, double a_user, int a_days);
839  virtual bool SpringRoll(LE* a_field, double a_user, int a_days);
840  virtual bool SpringSow(LE* a_field, double a_user, int a_days, double a_seed_coating_amount = -1, PlantProtectionProducts a_ppp = ppp_foobar);
841  virtual bool SpringSowWithFerti(LE* a_field, double a_user, int a_days, double a_seed_coating_amount = -1, PlantProtectionProducts a_ppp = ppp_foobar);
842  virtual bool AutumnSowWithFerti(LE* a_field, double a_user, int a_days, double a_seed_coating_amount = -1, PlantProtectionProducts a_ppp = ppp_foobar);
843  virtual bool HerbicideTreat(LE* a_field, double a_user, int a_days);
844  virtual bool GrowthRegulator(LE* a_field, double a_user, int a_days);
845  virtual bool FungicideTreat(LE* a_field, double a_user, int a_days);
846  virtual bool InsecticideTreat(LE* a_field, double a_user, int a_days);
847  virtual bool BiocideTreat(LE* a_field, double a_user, int a_days);
848  virtual bool OrganicInsecticide(LE* a_field, double a_user, int a_days);
849  virtual bool OrganicHerbicide(LE* a_field, double a_user, int a_days);
850  virtual bool OrganicFungicide(LE* a_field, double a_user, int a_days);
851  virtual bool Pheromone(LE* a_field, double a_user, int a_days);
852  virtual bool ProductApplication(LE* a_field, double a_user, int a_days, double a_applicationrate, PlantProtectionProducts a_ppp, bool a_isgranularpesticide = false, int a_orcharddrifttype = 0);
853  virtual bool ProductApplication_DateLimited(LE* a_field, double, int, double a_applicationrate, PlantProtectionProducts a_ppp, bool a_isgranularpesticide = false);
854  virtual bool Molluscicide(LE* a_field, double a_user, int a_days);
855  virtual bool RowCultivation(LE* a_field, double a_user, int a_days);
856  virtual bool Strigling(LE* a_field, double a_user, int a_days);
857  virtual bool StriglingSow(LE* a_field, double a_user, int a_days, double a_seed_coating_amount = -1, PlantProtectionProducts a_ppp = ppp_foobar);
858  virtual bool StriglingHill(LE* a_field, double a_user, int a_days);
859  virtual bool HillingUp(LE* a_field, double a_user, int a_days);
860  virtual bool Water(LE* a_field, double a_user, int a_days);
861  virtual bool Swathing(LE* a_field, double a_user, int a_days);
862  virtual bool Harvest(LE* a_field, double a_user, int a_days);
863  virtual bool HarvestLong(LE* a_field, double a_user, int a_days);
864  virtual bool HarvestBushFruit(LE* a_field, double a_user, int a_days);
865  virtual bool HarvestBF_Machine(LE* a_field, double a_user, int a_days);
866  virtual bool CattleOut(LE* a_field, double a_user, int a_days);
867  virtual bool CattleOut(LE* a_field, double a_user, int a_days, bool a_should_eat);
868  virtual bool CattleOutLowGrazing(LE* a_field, double a_user, int a_days);
869  virtual bool CattleIsOut(LE* a_field, double a_user, int a_days, int a_max);
870  virtual bool CattleIsOut(LE* a_field, double a_user, int a_days, int a_max, bool a_should_eat);
871  virtual bool CattleIsOutLow(LE* a_field, double a_user, int a_days, int a_max);
872  virtual bool CattleIsOutLow2(LE* a_field, double a_user, int a_days, int a_max, int a_max_days);
873  virtual bool PigsOut(LE* a_field, double a_user, int a_days);
874  virtual bool PigsAreOut(LE* a_field, double a_user, int a_days);
875  virtual bool PigsAreOutForced(LE* a_field, double a_user, int a_days);
876  virtual bool CutToHay(LE* a_field, double a_user, int a_days);
877  virtual bool CutWeeds(LE* a_field, double a_user, int a_days);
878  virtual bool CutToSilage(LE* a_field, double a_user, int a_days);
879  virtual bool CutOrch(LE* a_field, double a_user, int a_days); //added 27.08.12
880  virtual bool StrawChopping(LE* a_field, double a_user, int a_days);
881  virtual bool HayTurning(LE* a_field, double a_user, int a_days);
882  virtual bool HayBailing(LE* a_field, double a_user, int a_days);
883  virtual bool BurnStrawStubble(LE* a_field, double a_user, int a_days);
884  virtual bool BurnTop(LE* a_field, double a_user, int a_days);
885  virtual bool StubbleHarrowing(LE* a_field, double a_user, int a_days);
886  virtual bool FP_NPKS(LE* a_field, double a_user, int a_days);
887  virtual bool FP_NPK(LE* a_field, double a_user, int a_days);
888  virtual bool FP_NC(LE* a_field, double a_user, int a_days);
889  virtual bool FP_NK(LE* a_field, double a_user, int a_days);
890  virtual bool FP_NS(LE* a_field, double a_user, int a_days);
891  virtual bool FP_N(LE* a_field, double a_user, int a_days);
892  virtual bool FP_PK(LE* a_field, double a_user, int a_days);
893  virtual bool FP_P(LE* a_field, double a_user, int a_days);
894  virtual bool FP_K(LE* a_field, double a_user, int a_days);
895  virtual bool FP_SK(LE* a_field, double a_user, int a_days);
896  virtual bool FP_LiquidNH3(LE* a_field, double a_user, int a_days);
897  virtual bool FP_Slurry(LE* a_field, double a_user, int a_days);
898  virtual bool FP_ManganeseSulphate(LE* a_field, double a_user, int a_days);
899  virtual bool FP_Boron(LE* a_field, double a_user, int a_days);
900  virtual bool FP_AmmoniumSulphate(LE* a_field, double a_user, int a_days);
901  virtual bool FP_Manure(LE* a_field, double a_user, int a_days);
902  virtual bool FP_GreenManure(LE* a_field, double a_user, int a_days);
903  virtual bool FP_Sludge(LE* a_field, double a_user, int a_days);
904  virtual bool FP_RSM(LE* a_field, double a_user, int a_days);
905  virtual bool FP_Calcium(LE* a_field, double a_user, int a_days);
906  virtual bool FA_NK(LE* a_field, double a_user, int a_days);
907  virtual bool FA_NPKS(LE* a_field, double a_user, int a_days);
908  virtual bool FA_NPK(LE* a_field, double a_user, int a_days);
909  virtual bool FA_PK(LE* a_field, double a_user, int a_days);
910  virtual bool FA_P(LE* a_field, double a_user, int a_days);
911  virtual bool FA_K(LE* a_field, double a_user, int a_days);
912  virtual bool FA_SK(LE* a_field, double a_user, int a_days);
913  virtual bool FA_Slurry(LE* a_field, double a_user, int a_days);
914  virtual bool FA_ManganeseSulphate(LE* a_field, double a_user, int a_days);
915  virtual bool FA_AmmoniumSulphate(LE* a_field, double a_user, int a_days);
916  virtual bool FA_Manure(LE* a_field, double a_user, int a_days);
917  virtual bool FA_GreenManure(LE* a_field, double a_user, int a_days);
918  virtual bool FA_Sludge(LE* a_field, double a_user, int a_days);
919  virtual bool FA_RSM(LE* a_field, double a_user, int a_days);
920  virtual bool FA_Calcium(LE* a_field, double a_user, int a_days);
921  virtual bool BedForming(LE* a_field, double a_user, int a_days);
922  virtual bool ShallowHarrow(LE* a_field, double a_user, int a_days);
923  virtual bool HeavyCultivatorAggregate(LE* a_field, double a_user, int a_days);
924  virtual bool FlowerCutting(LE* a_field, double a_user, int a_days);
925  virtual bool BulbHarvest(LE* a_field, double a_user, int a_days);
926  virtual bool StrawCovering(LE* a_field, double a_user, int a_days);
927  virtual bool StrawRemoval(LE* a_field, double a_user, int a_days);
928  virtual bool IrrigationStart(LE* a_field, double a_user, int a_days);
929  virtual bool Irrigation(LE* a_field, double a_user, int a_days, int a_max);
930  virtual bool Pruning(LE* a_field, double a_user, int a_days);
931  virtual bool Shredding(LE* a_field, double a_user, int a_days);
932  virtual bool LeafThinning(LE* a_field, double a_user, int a_days);
933  virtual bool GreenHarvest(LE* a_field, double a_user, int a_days);
934  virtual bool FruitHarvest(LE* a_field, double a_user, int a_days);
935  virtual bool Suckering(LE* a_field, double a_user, int a_days);
936  virtual bool Mowing(LE* a_field, double a_user, int a_days);
937  virtual bool FiberCovering(LE* a_field, double a_user, int a_days);
938  virtual bool FiberRemoval(LE* a_field, double a_user, int a_days);
939  virtual bool FP_Cu(LE* a_field, double a_user, int a_days);
940  virtual bool FA_N(LE* a_field, double a_user, int a_days);
941  virtual bool FA_Cu(LE* a_field, double a_user, int a_days);
942  virtual bool FA_Boron(LE* a_field, double a_user, int a_days);
943  virtual bool FA_PKS(LE* a_field, double a_user, int a_days);
944  virtual bool FP_PKS(LE* a_field, double a_user, int a_days);
945  virtual bool HarvestShoots(LE* a_field, double a_user, int a_days);
946  virtual bool ManualWeeding(LE* a_field, double a_user, int a_days);
947 
948  // User functions for the treatment steps:
949  void AddNewEvent(TTypesOfVegetation a_event, long a_date,
950  LE* a_field, int a_todo, long a_num,
951  bool a_lock, int a_start,
952  bool a_first_year, TTypesOfVegetation a_crop, FarmManagementCategory a_fmc,
953  bool a_forcespring, bool a_forcespringOK);
954  bool DoIt(double a_probability);
955  bool DoIt_prob(double a_probability);
956  TTypesOfFarm GetType(void) { return m_farmtype; }
957  string GetRotFilename(void) { return m_rotfilename; }
958  int GetArea(void);
959  int GetTotalArea(void);
960  double GetAreaDouble(void);
961  bool IsStockFarmer(void) { return m_stockfarmer; }
962  virtual void MakeStockFarmer(void) { m_stockfarmer = true; }
963  double GetIntensity(void) { return m_intensity; }
964  void SetIntensity(double a_intensity) { m_intensity = a_intensity; }
967  int ind = a_index - 1;
968  if (ind < 0) ind = (int)m_rotation.size() - 1;
969  return m_rotation[ind];
970  }
972  return m_rotation[a_index];
973  }
975  int ind = a_index + 1;
976  if (ind >= (int)m_rotation.size()) ind = ind - (int)m_rotation.size();
977  return m_rotation[ind];
978  }
979  int GetNoCrops() {
980  return (int)m_rotation.size();
981  }
982  void AddHunter(Hunter* a_hunter) {
983  m_HuntersList.push_back(a_hunter);
984  }
985  void RemoveHunter(Hunter* a_hunter) {
986  for (int h = 0; h < m_HuntersList.size(); h++) {
987  if (m_HuntersList[h] == a_hunter) {
988  m_HuntersList.erase(m_HuntersList.begin() + h);
989  }
990  }
991  }
992 
993  int GetNextCropStartDate(LE* a_field, TTypesOfVegetation& a_curr_veg);
994 
995 protected:
998  Farmer* m_OurFarmer;
1000  vector< LE* > m_fields;
1001  vector<TTypesOfVegetation> m_rotation;
1002  vector<PermCropData> m_PermCrops;
1010  double m_intensity;
1011  int GetFirstDate(TTypesOfVegetation a_tov);
1013  virtual int GetFirstCropIndex(TTypesOfLandscapeElement a_type);
1014  virtual int GetNextCropIndex(int a_rot_index);
1015  virtual void HandleEvents(void);
1016  bool LeSwitch(FarmEvent* ev);
1018  void ReadRotation(std::string fname);
1019 
1020  void AssignPermanentCrop(TTypesOfVegetation tov, int pct); //MOVED FROM THE USER DEFINED FARM
1021  int InvIntPartition(vector<tpct>* items, int target);
1027  TTypesOfFarm m_FarmType; // default is tof_foobar
1028 
1029 };
1030 
1031 
1035 class ConventionalCattle : public Farm
1036 {
1037 public:
1038  ConventionalCattle( FarmManager* a_manager );
1039 //protected:
1040 // virtual TTypesOfVegetation GetFirstCrop( void );
1041 // virtual TTypesOfVegetation GetNextCrop( TTypesOfVegetation a_veg );
1042 };
1043 
1047 class ConventionalPig : public Farm
1048 {
1049 public:
1050  ConventionalPig(FarmManager* a_manager);
1051 //protected:
1052 // virtual TTypesOfVegetation GetFirstCrop( void );
1053 // virtual TTypesOfVegetation GetNextCrop( TTypesOfVegetation a_veg );
1054 };
1055 
1059 class ConventionalPlant : public Farm
1060 {
1061 public:
1062  ConventionalPlant(FarmManager* a_manager);
1063  virtual void MakeStockFarmer( void ) { m_stockfarmer = false; }
1064 //protected:
1065 // virtual TTypesOfVegetation GetFirstCrop( void );
1066 // virtual TTypesOfVegetation GetNextCrop( TTypesOfVegetation a_veg );
1067 };
1068 
1072 class OrganicPlant : public Farm
1073 {
1074 public:
1075  OrganicPlant(FarmManager* a_manager);
1076  virtual void MakeStockFarmer( void ) { m_stockfarmer = false; }
1077 //protected:
1078 // virtual TTypesOfVegetation GetFirstCrop( void );
1079 // virtual TTypesOfVegetation GetNextCrop( TTypesOfVegetation a_veg );
1080 };
1081 
1085 class OrganicPig : public Farm
1086 {
1087 public:
1088  OrganicPig(FarmManager* a_manager);
1089 //protected:
1090 // virtual TTypesOfVegetation GetFirstCrop( void );
1091 // virtual TTypesOfVegetation GetNextCrop( TTypesOfVegetation a_veg );
1092 };
1093 
1097 class OrganicCattle : public Farm
1098 {
1099 public:
1100  OrganicCattle(FarmManager* a_manager);
1101 //protected:
1102 // virtual TTypesOfVegetation GetFirstCrop( void );
1103 // virtual TTypesOfVegetation GetNextCrop( TTypesOfVegetation a_veg );
1104 };
1105 
1110 {
1111 public:
1112  PesticideTrialControl(FarmManager* a_manager);
1113  virtual void MakeStockFarmer( void ) { m_stockfarmer = false; }
1114 };
1115 
1120 {
1121 public:
1123  virtual void MakeStockFarmer( void ) { m_stockfarmer = false; }
1124 };
1125 
1130 {
1131 public:
1133  virtual void MakeStockFarmer( void ) { m_stockfarmer = false; }
1134 };
1135 
1136 
1137 
1141 class ConvMarginalJord : public Farm
1142 {
1143 public:
1144  ConvMarginalJord(FarmManager* a_manager);
1145 };
1146 
1147 
1152 {
1153 public:
1155 };
1156 
1161 {
1162 public:
1164 };
1165 
1170 {
1171 public:
1173 };
1174 
1179 {
1180 public:
1181  NoPesticideBaseFarm(FarmManager* a_manager);
1182 };
1183 
1187 class NoPesticideNoPFarm : public Farm
1188 {
1189 public:
1190  NoPesticideNoPFarm(FarmManager* a_manager);
1191 };
1192 
1204 class UserDefinedFarm : public Farm
1205 {
1206 public:
1207  UserDefinedFarm(TTypesOfFarm farm_type, const char* fname, FarmManager* a_manager);
1208 protected:
1209  virtual void InitiateManagement( void );
1210  //void AssignPermanentCrop(TTypesOfVegetation tov, int pct); //MOVED TO THE FARM CLASS
1211  //int InvIntPartition(vector<tpct>* items, int target);
1212  //void TranslateBitsToFields(int bits, vector<LE*> &f_cpy, TTypesOfVegetation tov);
1213 };
1214 
1215 class UserDefinedFarm1 : public Farm
1216 {
1217 public:
1218  UserDefinedFarm1(FarmManager* a_manager);
1219 };
1220 
1224 class UserDefinedFarm2 : public Farm
1225 {
1226 public:
1227  UserDefinedFarm2(FarmManager* a_manager);
1228 };
1229 
1233 class UserDefinedFarm3 : public Farm
1234 {
1235 public:
1236  UserDefinedFarm3(FarmManager* a_manager);
1237 };
1238 
1242 class UserDefinedFarm4 : public Farm
1243 {
1244 public:
1245  UserDefinedFarm4(FarmManager* a_manager);
1246 };
1247 
1251 class UserDefinedFarm5 : public Farm
1252 {
1253 public:
1254  UserDefinedFarm5(FarmManager* a_manager);
1255 };
1256 
1260 class UserDefinedFarm6 : public Farm
1261 {
1262 public:
1263  UserDefinedFarm6(FarmManager* a_manager);
1264 };
1265 
1269 class UserDefinedFarm7 : public Farm
1270 {
1271 public:
1272  UserDefinedFarm7(FarmManager* a_manager);
1273 };
1274 
1278 class UserDefinedFarm8 : public Farm
1279 {
1280 public:
1281  UserDefinedFarm8(FarmManager* a_manager);
1282 };
1283 
1287 class UserDefinedFarm9 : public Farm
1288 {
1289 public:
1290  UserDefinedFarm9(FarmManager* a_manager);
1291 };
1292 
1296 class UserDefinedFarm10 : public Farm
1297 {
1298 public:
1299  UserDefinedFarm10(FarmManager* a_manager);
1300 };
1301 
1305 class UserDefinedFarm11 : public Farm
1306 {
1307 public:
1308  UserDefinedFarm11(FarmManager* a_manager);
1309 };
1310 
1314 class UserDefinedFarm12 : public Farm
1315 {
1316 public:
1317  UserDefinedFarm12(FarmManager* a_manager);
1318 };
1319 
1323 class UserDefinedFarm13 : public Farm
1324 {
1325 public:
1326  UserDefinedFarm13(FarmManager* a_manager);
1327 };
1328 
1332 class UserDefinedFarm14 : public Farm
1333 {
1334 public:
1335  UserDefinedFarm14(FarmManager* a_manager);
1336 };
1337 
1341 class UserDefinedFarm15 : public Farm
1342 {
1343 public:
1344  UserDefinedFarm15(FarmManager* a_manager);
1345 };
1346 
1350 class UserDefinedFarm16 : public Farm
1351 {
1352 public:
1353  UserDefinedFarm16(FarmManager* a_manager);
1354 };
1355 
1359 class UserDefinedFarm17 : public Farm
1360 {
1361 public:
1362  UserDefinedFarm17(FarmManager* a_manager);
1363 };
1364 
1365 //--------------------------------------------------------------------------------------------
1366 //--------------------------OptimisingFarm----------------------------------------------------
1367 //--------------------------------------------------------------------------------------------
1368 
1372 class Livestock {
1373  public:
1375  Livestock(TTypesOfFarmAnimals a_animalType, int a_number);
1383  double m_FUdemand;
1384  };
1385 
1390  public:
1392  CropOptimised(TTypesOfCrops a_cropType, double a_initialArea);
1393  CropOptimised(TTypesOfVegetation a_cropType, double a_initialArea);
1394  CropOptimised(); //another constructor - for the fake crop
1395 
1402 
1403  //parameters: here saved - to make it easier to read them (they are needed very often)
1408 
1409  //optimised variables
1411  double m_n;
1413  double m_nt;
1415  double m_optimalN;
1416 
1418  double m_benefit;
1420  double m_resp;
1422  double m_BIHerb;
1424  double m_BIFi;
1426  double m_BI;
1428  double m_grooming;
1430  double m_hoeing;
1432  double m_weeding;
1434  double m_lossHerb;
1436  double m_lossFi;
1438  double m_totalLoss;
1440  double m_costs_ha;
1442  double m_income_ha;
1444  double m_GM;
1446  double m_savings;
1454  double m_area_ha;
1455 };
1456 
1462 {
1463 public:
1465  FarmManager(Landscape * landscape);
1467  ~FarmManager();
1469  void FarmManagement();
1470  void InitiateManagement(void);
1472  void UpdateSocialNetworks(bool a_geographic, bool a_associative, bool a_virtual);
1474  void AddField(int a_OwnerIndex, LE* a_newland, int a_Owner);
1475  void RemoveField(int a_OwnerIndex, LE* a_field);
1476  int ConnectFarm(int a_owner);
1477 
1479  TTypesOfVegetation TranslateVegCodes(std::string& str); //moved from farm
1481  TTypesOfCrops TranslateCropCodes(string& str);
1483  std::string BackTranslateCropCodes(TTypesOfCrops a_crop);
1485  void ReadCropYieldReturns();
1487  void ReadCropManagementNorms();
1489  void ReadFarmerAttributes();
1491  void ReadFarmFunctionsCB();
1493  void PrintLocationAndArea();
1494  void DumpFarmAreas();
1496  void DumpFarmrefs(const char* a_filename);
1498  int GetFarmTotalSize(int a_farmref)
1499  {
1500  return (GetFarmPtr(a_farmref)->GetTotalArea());
1501  }
1503  int GetFarmArableSize(int a_farmref)
1504  {
1505  return (GetFarmPtr(a_farmref)->GetArea());
1506  }
1508  TTypesOfFarm GetFarmType(int a_farmref)
1509  {
1510  return (GetFarmPtr(a_farmref)->GetType());
1511  }
1513  int GetFarmNoFields(int a_farmref)
1514  {
1515  return (GetFarmPtr(a_farmref)->GetNoFields());
1516  }
1519  {
1520  return (GetFarmPtr(a_farmref)->GetValidCoords());
1521  }
1522 
1524  int GetFarmNoOpenFields(int a_farmref, int a_openness)
1525  {
1526  return (GetFarmPtr(a_farmref)->GetNoOpenFields(a_openness));
1527  }
1528 
1530  int GetFarmAreaOpenFields(int a_farmref, int a_openness)
1531  {
1532  return (GetFarmPtr(a_farmref)->GetAreaOpenFields(a_openness));
1533  }
1534 
1536  Farm* GetFarmPtr( int a_owner ) {
1537  for (unsigned int i = 0; i < m_farms.size( ); i++) {
1538  if (a_owner == m_farms[ i ]->GetFarmNumber( )) {
1539  return m_farms[ i ];
1540  }
1541  }
1542  g_msg->Warn( "FarmManager::GetFarmPtr - missing farm ref", a_owner );
1543  exit( 92 );
1544  }
1545 
1547  double GetManagementNorm(int a_crop, int a_managementtype) { return m_MangagementNorms[a_crop][a_managementtype]; }
1548 
1550  Farm* GetFarmPtrIndex( int a_index) {
1551  return m_farms[ a_index ];
1552  }
1554  int GetRandomFarmRefnum() { return m_farms[g_random_fnc((int)m_farms.size())]->GetFarmNumber(); }
1556  void CalcCentroids() { for (unsigned int i = 0; i < m_farms.size(); i++) m_farms[i]->Centroids(); }
1558  bool InIllegalList( int a_farm_ref, vector<int> * a_farmlist );
1560  void AddToIllegalList( int a_farm_ref, vector<int> * a_farmlist );
1562  int FindClosestFarm(HunterInfo a_hinfo, vector<int> *a_farmlist);
1564  //int FindClosestFarmProb(HunterInfo a_hinfo, vector<int> *a_farmlist);
1566  int FindClosestFarmOpenness( HunterInfo a_hinfo, vector<int> * a_farmlist, int a_openness );
1568  int FindClosestFarmOpennessProb( HunterInfo a_hinfo, vector<int> * a_farmlist, int a_openness );
1570  int FindClosestFarmOpennessProbSmallIsBest( HunterInfo a_hinfo, vector<int> * a_farmlist, int a_openness, vector<int> * a_farmsizelist );
1572  int FindClosestFarmOpennessProbNearRoostIsBest( HunterInfo a_hinfo, vector<int> * a_farmlist, int a_openness, vector<APoint> * a_farmsizelist );
1574  int FindFarmWithRandom(vector<int> * a_farmlist);
1576  int FindFarmWithOpenness(vector<int> * a_farmlist, int a_openness);
1578  int FindOpennessFarm(int a_openness);
1580  bool CheckOpenness( int a_openness, int a_ref );
1582  APoint GetFarmCentroid(int a_farmref)
1583  {
1584  for (unsigned int i = 0; i < m_farms.size(); i++)
1585  {
1586  if (a_farmref == m_farms[i]->GetFarmNumber())
1587  {
1588  return m_farms[i]->GetCentroids();
1589  }
1590  }
1591  g_msg->Warn("FarmManager::GetFarmCentroid - missing farm ref", a_farmref);
1592  exit(92);
1593  }
1595  bool IsDuplicateRef(int a_ref, HunterInfo* a_hinfo);
1597  double GetSpilledGrain();
1599  double GetSpilledMaize();
1601  void SetSpilledGrain( bool a_spilledgrain ) {
1602  m_SpilledGrain = a_spilledgrain;
1603  }
1605  double GetDD (void){return daydegrees;};
1606  void SetDD (double a_dd){daydegrees = a_dd;};
1607 
1609  int GetFarmNoLookupIndex(int a_ref) {
1610  for (int i = 0; i < (int)m_farms.size(); i++)
1611  {
1612  if (GetFarmNoLookup(i) == a_ref) return i;
1613  }
1614  g_msg->Warn("FarmManager::GetFarmNoLookupIndex: Farm ref not found", a_ref);
1615  exit(142);
1616  }
1618  int GetFarmNoLookup(int a_ref) { return m_farmmapping_lookup[a_ref * 2]; }
1620  int GetFarmTypeLookup(int a_ref) { return m_farmmapping_lookup[a_ref * 2 + 1]; }
1622  bool GetIsRenumbered() { return m_renumbered; }
1624  int GetRenumberedFarmRef(int a_farmref)
1625  {
1626  for (int i = 0; i < (int)m_farms.size(); i++)
1627  {
1628  if (m_farmmapping_lookup[i * 2] == a_farmref)
1629  {
1630  return i;
1631  }
1632  }
1633  g_msg->Warn( "FarmManager::GetRenumberedFarmRef(int a_farmref) Farm reference number not found in m_farmmapping_lookup ", a_farmref );
1634  exit( 9 );
1635  }
1636  int GetNoFarms( ) {
1637  return (int)m_farms.size();
1638  }
1639 
1640  vector<Crop*>* GetCropMgtPlans(void) { return &m_cropprogs; }
1642  for (unsigned int i = 0; i < m_cropprogs.size(); i++)
1643  {
1644  if (a_tov == m_cropprogs[i]->m_tov) return i;
1645  }
1646  g_msg->Warn(WARN_MSG, "Mismatch in rotation file looking for tov ", a_tov);
1647  exit(1);
1648  }
1650  return m_cropprogs[GetCropMgtPlansIndex(a_tov)]->GetCropType();
1651  }
1652  // Farmer management functions below here
1656  Farmer* GetFarmer(int i) { return m_farmers->GetFarmer(i); }
1658  void SetFarmer(int i, Farmer* a_farmer) { ; }
1660  Farm* GetFarm(int i) { return m_farms[i]; }
1664  void Print_FarmerAttributes();
1666  void AddToManagementStats(FarmEvent* a_ev);
1667 #ifdef __CALCULATE_MANAGEMENT_NORMS
1668  void OutputManagementNormStats();
1669 #endif
1670 
1672 
1673 
1674 protected:
1675  vector<Crop*> m_cropprogs;
1676  vector<Farm*> m_farms;
1677 
1680 
1682  vector<double> m_YieldReturns;
1688  vector<double> m_CropYieldProfit;
1692  void CreateFarms( const char *a_farmfile );
1694  double daydegrees;
1696  bool m_SpilledGrain{false};
1701 #ifdef __CALCULATE_MANAGEMENT_NORMS
1702  int m_managementnormstats[toc_Foobar][fmc_Foobar+1];
1703 #endif
1704 
1705  vector<FarmFuncsCostBenefits> m_FarmFuncsCB;
1709  static void SetUseSocioEconomics(bool a_flag) { m_UseSocioEconomicFarmers = a_flag; }
1710 
1711 
1712  /************************* Economics **********************************/
1713 protected:
1715  void ReadYieldProfitData(string a_filename);
1716 public:
1718  double GetIncome(TTypesOfCrops a_toc);
1719 };
1720 
1721 
1722 #endif // FARM_H
FI_OPotato_North
Definition: FI_OPotato_North.h:55
FI_SpringBarley_Malt
FI_SpringBarley_Malt class .
Definition: FI_SpringBarley_Malt.h:97
cfg_Neighbor_dist
CfgFloat cfg_Neighbor_dist("NEIGHBOR_DIST", CFG_CUSTOM, 1.5)
A parameter setting the maximum distance from a farm to another farm that can be considred a neighbou...
DE_Peas
DE_Peas class .
Definition: DE_Peas.h:97
WinterWheatStrigling
Definition: WinterWheatStrigling.h:85
tole_SolarPanel
Definition: LandscapeFarmingEnums.h:151
Farm::FP_Sludge
virtual bool FP_Sludge(LE *a_field, double a_user, int a_days)
Spread sewege on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:926
Farm::PigsAreOut
virtual bool PigsAreOut(LE *a_field, double a_user, int a_days)
Start a pig grazing event on a_field today or soon.
Definition: FarmFuncs.cpp:2703
g_farm_fixed_rotation_enable
CfgBool g_farm_fixed_rotation_enable("FARM_FIXED_ROTATION_ENABLE", CFG_CUSTOM, false)
UserDefinedFarm
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1204
tov_DKOLegume_Beans
Definition: LandscapeFarmingEnums.h:345
DK_PotatoSeed
Definition: DK_PotatoSeed.h:88
tov_SpringBarleySeed
Definition: LandscapeFarmingEnums.h:214
HorticultureCrop
Definition: Horticulture.h:51
DK_OMaize
Definition: DK_OMaize.h:69
NLGrassGrazedExtensive2
NLGrassGrazedExtensive2 class .
Definition: NLGrassGrazedExtensive2.h:70
UserDefinedFarm4::UserDefinedFarm4
UserDefinedFarm4(FarmManager *a_manager)
Definition: Farm.cpp:3547
DK_Maize
Definition: DK_Maize.h:60
toc_Potatoes
Definition: LandscapeFarmingEnums.h:891
UserDefinedFarm3::UserDefinedFarm3
UserDefinedFarm3(FarmManager *a_manager)
Definition: Farm.cpp:3538
Crop::m_tov
TTypesOfVegetation m_tov
Definition: Farm.h:539
toc_OFodderGrass
Definition: LandscapeFarmingEnums.h:835
Farm::SetFunctionDataNoUM
void SetFunctionDataNoUM(LE *, double, double, int, FarmToDo)
carries out standard setting of data when UMs should be ignored
Definition: FarmFuncs.cpp:186
FarmManager::InIllegalList
bool InIllegalList(int a_farm_ref, vector< int > *a_farmlist)
Checks a list to see if a farm matches the illegal list of references.
Definition: Farm.cpp:5689
FI_SugarBeet
Definition: FI_StarchPotato.h:58
DK_OLegume_Beans
Definition: DK_OLegume_Beans.h:56
FarmerAttributes::riskA
double riskA
Definition: Farm.h:337
toc_Oats
Definition: LandscapeFarmingEnums.h:819
NoPesticideBaseFarm::NoPesticideBaseFarm
NoPesticideBaseFarm(FarmManager *a_manager)
Definition: Farm.cpp:3446
tov_FIWinterWheat
Definition: LandscapeFarmingEnums.h:524
tov_DEOGrasslandSilageAnnual
Definition: LandscapeFarmingEnums.h:482
toc_Cabbage
Definition: LandscapeFarmingEnums.h:787
tov_DKOChristmasTrees_Perm
Definition: LandscapeFarmingEnums.h:447
FarmEvent::m_forcespring
bool m_forcespring
Definition: Farm.h:392
tof_UserDefinedFarm3
Definition: LandscapeFarmingEnums.h:662
tov_FIBufferZone
Definition: LandscapeFarmingEnums.h:563
toc_OSetAside
Definition: LandscapeFarmingEnums.h:863
AgroChemIndustryCerealFarm3::AgroChemIndustryCerealFarm3
AgroChemIndustryCerealFarm3(FarmManager *a_manager)
Definition: Farm.cpp:3427
Farm::SpringRoll
virtual bool SpringRoll(LE *a_field, double a_user, int a_days)
Carry out a roll event in the spring on a_field.
Definition: FarmFuncs.cpp:487
BEGrassGrazed1
BEGrassGrazed1 class .
Definition: BEGrassGrazed1.h:78
DK_OSetAside_PerennialFlower
DK_OSetAside_PerennialFlower class .
Definition: DK_OSetAside_PerennialFlower.h:88
HunterList
vector< Hunter * > HunterList
Definition: Farm.h:333
farminfo::m_farmref
int m_farmref
Definition: Farm.h:415
polylist
vector< unsigned > polylist
Definition: Farm.h:332
FarmManager::GetRenumberedFarmRef
int GetRenumberedFarmRef(int a_farmref)
Returns the farm ref index for a farmref.
Definition: Farm.h:1624
Farm::AssignPermanentCrop
void AssignPermanentCrop(TTypesOfVegetation tov, int pct)
Used to assign a permanent crop to an otherwise rotational field polygon.
Definition: Farm.cpp:3734
Landscape::SupplyLEPointer
LE * SupplyLEPointer(int a_polyref)
Returns a pointer to the object referred to by the polygon number.
Definition: Landscape.h:1722
DE_OPotatoes
Definition: DE_OPotatoes.h:69
DataForOptimisation::Set_cropArea
void Set_cropArea(double a_area)
Definition: Farm.h:592
toc_OWinterBarleyExtensive
Definition: LandscapeFarmingEnums.h:879
tov_DEOWinterWheat
Definition: LandscapeFarmingEnums.h:497
Farm::FA_Slurry
virtual bool FA_Slurry(LE *a_field, double a_user, int a_days)
Spready slurry on a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1067
FI_WinterRye
FI_WinterRye class .
Definition: FI_WinterRye.h:108
DK_SetAside
DK_SetAside class .
Definition: DK_SetAside.h:87
tof_UserDefinedFarm19
Definition: LandscapeFarmingEnums.h:678
tov_WinterWheatStrigling
Definition: LandscapeFarmingEnums.h:221
PTHorticulture
PTHorticulture class .
Definition: PTHorticulture.h:80
tov_DKGrazingPigs_Perm
Definition: LandscapeFarmingEnums.h:452
fmc_Insecticide
Definition: LandscapeFarmingEnums.h:1005
OrchardCrop
Definition: OrchardCrop.h:46
farminfo::m_farmarable
int m_farmarable
Definition: Farm.h:418
DK_OWinterRye
Definition: DK_OWinterRye.h:58
toc_OPotatoesIndustry
Definition: LandscapeFarmingEnums.h:852
OrganicPig
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1085
tov_DKOSetAside_AnnualFlower
Definition: LandscapeFarmingEnums.h:394
tov_NorwegianOats
Definition: LandscapeFarmingEnums.h:230
PLFodderLucerne2
PLFodderLucerne2 class .
Definition: PLFodderLucerne2.h:66
LE::SetOwner
void SetOwner(Farm *a_owner, int a_owner_num, int a_owner_index)
Definition: Elements.h:282
WARN_FILE
Definition: MapErrorMsg.h:37
Farm::OrganicInsecticide
virtual bool OrganicInsecticide(LE *a_field, double a_user, int a_days)
Biocide applied on a_field.
Definition: FarmFuncs.cpp:2195
tov_DKOCerealLegume
Definition: LandscapeFarmingEnums.h:366
FodderGrass
Definition: FodderGrass.h:55
Farm::SetFarmNumber
void SetFarmNumber(int a_farm_num)
Definition: Farm.h:774
tov_DEOSpringRye
Definition: LandscapeFarmingEnums.h:491
tole_OtherPermCrop
Definition: LandscapeFarmingEnums.h:177
DataForOptimisation::Set_noCrops
void Set_noCrops(int no)
Definition: Farm.h:656
DK_SpringBarley
Definition: DK_SpringBarley.h:69
DE_PermanentGrassGrazed
Definition: DE_PermanentGrassGrazed.h:79
tov_DKOLegume_Peas
Definition: LandscapeFarmingEnums.h:344
tov_SpringBarleySKManagement
Definition: LandscapeFarmingEnums.h:227
DE_GrasslandSilageAnnual
DE_GrasslandSilageAnnual class .
Definition: DE_GrasslandSilageAnnual.h:106
Farm::Centroids
void Centroids()
Finds farm's centroids - x and y.
Definition: Farm.cpp:6012
OSpringBarleyExt
Definition: OSpringBarleyExt.h:60
toc_OrchardCrop
Definition: LandscapeFarmingEnums.h:855
Livestock::m_number
int m_number
Number of animals of a given type at a farm.
Definition: Farm.h:1379
tov_DKWinterRape
Definition: LandscapeFarmingEnums.h:418
PlantProtectionProducts
PlantProtectionProducts
A list ofPPP names for tracking by the Pesticide class.
Definition: LandscapeFarmingEnums.h:1077
tov_OCloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:205
Farm::PreseedingCultivator
virtual bool PreseedingCultivator(LE *a_field, double a_user, int a_days)
Carry out preseeding cultivation on a_field (tilling set including cultivator and string roller to co...
Definition: FarmFuncs.cpp:312
tov_DKOptimalFlowerMix3
Definition: LandscapeFarmingEnums.h:438
g_farm_fixed_rotation_farmtype
CfgInt g_farm_fixed_rotation_farmtype("FARM_FIXED_ROTATION_FARMTYPE", CFG_CUSTOM, 0)
FarmManager::GetLandscape
Landscape * GetLandscape(void)
Definition: Farm.h:1473
OFieldPeas
Definition: OFieldPeas.h:52
tof_UserDefinedFarm13
Definition: LandscapeFarmingEnums.h:672
DK_OPotatoIndustry
Definition: DK_OPotatoIndustry.h:79
DE_Triticale
DE_Triticale class .
Definition: DE_Triticale.h:108
l_emaize_price_file
static CfgStr l_emaize_price_file("EMAIZE_PRICE_FILE", CFG_CUSTOM, "EM_price.txt")
UserDefinedFarm11
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1305
g_rand_uni_fnc
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
DataForOptimisation::FarmData::md_farmSize
TTypesOfFarmSize md_farmSize
Definition: Farm.h:668
Farm::SpringPlough
virtual bool SpringPlough(LE *a_field, double a_user, int a_days)
Carry out a ploughing event in the spring on a_field.
Definition: FarmFuncs.cpp:421
DK_OGrazingPigs
Definition: DK_OGrazingPigs.h:45
tov_BEBeetSpring
Definition: LandscapeFarmingEnums.h:290
PTRyegrass
PTRyegrass class .
Definition: PTRyegrass.h:91
tov_FRSorghum
Definition: LandscapeFarmingEnums.h:594
DK_OCloverGrassGrazed1
DK_OCloverGrassGrazed1 class .
Definition: DK_OCloverGrassGrazed1.h:95
Farm::GetRotFilename
string GetRotFilename(void)
Definition: Farm.h:957
tov_PLSpringWheat
Definition: LandscapeFarmingEnums.h:237
PesticideTrialControl::PesticideTrialControl
PesticideTrialControl(FarmManager *a_manager)
Definition: Farm.cpp:3350
WARN_MSG
Definition: MapErrorMsg.h:38
Farm::OrganicHerbicide
virtual bool OrganicHerbicide(LE *a_field, double a_user, int a_days)
Biocide applied on a_field.
Definition: FarmFuncs.cpp:2213
FR_Grassland_Perm
FR_Grassland_Perm class .
Definition: FR_Grassland_Perm.h:81
toc_FodderGrass
Definition: LandscapeFarmingEnums.h:803
IRSpringWheat
IRSpringWheat class .
Definition: IRSpringWheat.h:108
Farm::HerbicideTreat
virtual bool HerbicideTreat(LE *a_field, double a_user, int a_days)
Apply herbicide to a_field.
Definition: FarmFuncs.cpp:2025
toc_OCloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:826
tov_PTCabbage_Hort
Definition: LandscapeFarmingEnums.h:331
tov_NLPermanentGrassGrazedExtensive
Definition: LandscapeFarmingEnums.h:272
tov_DEOSugarBeet
Definition: LandscapeFarmingEnums.h:492
Farm::IsStockFarmer
bool IsStockFarmer(void)
Definition: Farm.h:961
PTWinterRye
PTWinterRye class .
Definition: PTWinterRye.h:86
Farm::m_HuntersList
HunterList m_HuntersList
A list of hunters allocated to this farm.
Definition: Farm.h:1005
PTBeans
PTBeans class .
Definition: PTBeans.h:78
tov_IRWinterBarley
Definition: LandscapeFarmingEnums.h:601
DK_GrazingPigs
Definition: DK_GrazingPigs.h:45
UKPotatoes
UKPotatoes class .
Definition: UKPotatoes.h:81
Farm::GetNoOpenFields
int GetNoOpenFields(int a_openness)
Returns the number of the fields above an openness of a_openness.
Definition: Farm.cpp:1110
g_farm_enable_crop_rotation
CfgBool g_farm_enable_crop_rotation("FARM_ENABLE_CROP_ROTATION", CFG_CUSTOM, true)
Farm::Strigling
virtual bool Strigling(LE *a_field, double a_user, int a_days)
Carry out a mechanical weeding on a_field.
Definition: FarmFuncs.cpp:1206
PTPotatoes
PTPotatoes class .
Definition: PTPotatoes.h:82
toc_WinterTriticale
Definition: LandscapeFarmingEnums.h:921
CropOptimised::m_BI
double m_BI
Summary value of BI for herbicides and fung- and insecticides [BI/ha].
Definition: Farm.h:1426
DK_OSetAside_SummerMow
DK_OSetAside_SummerMow class .
Definition: DK_OSetAside_SummerMow.h:88
DK_OEnergyCrop_Perm
DK_OEnergyCrop_Perm class .
Definition: DK_OEnergyCrop_Perm.h:71
cfg_OptimiseBedriftsmodelCrops
CfgBool cfg_OptimiseBedriftsmodelCrops("OPTIMISE_BEDRIFTSMODEL_CROPS", CFG_CUSTOM, false)
If set to true, the original farm optimisation model's crop set is used in the farmer decision making...
DK_CerealLegume
Definition: DK_CerealLegume.h:54
DE_OOats
Definition: DE_OOats.h:58
toc_OOrchPear
Definition: LandscapeFarmingEnums.h:848
UserDefinedFarm13
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1323
toc_SpringBarleySeed
Definition: LandscapeFarmingEnums.h:904
WinterBarley
Definition: WinterBarley.h:91
FarmManager::GetFarmNoOpenFields
int GetFarmNoOpenFields(int a_farmref, int a_openness)
Returns the number of fields with openness more than a_openness.
Definition: Farm.h:1524
ConvMarginalJord::ConvMarginalJord
ConvMarginalJord(FarmManager *a_manager)
Definition: Farm.cpp:3377
ITGrassland
ITGrassland class .
Definition: ITGrassland.h:87
Farm::Suckering
virtual bool Suckering(LE *a_field, double a_user, int a_days)
Definition: FarmFuncs.cpp:570
tov_DKOCabbages
Definition: LandscapeFarmingEnums.h:352
tov_PTCloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:314
BEPotatoes
BEPotatoes class .
Definition: BEPotatoes.h:93
BEGrassGrazedLast
BEGrassGrazedLast class .
Definition: BEGrassGrazedLast.h:78
toc_OMaizeSilage
Definition: LandscapeFarmingEnums.h:841
tov_DEOMaizeSilage
Definition: LandscapeFarmingEnums.h:486
pesticiderecord
Definition: Farm.h:351
FarmManager::CheckOpenness
bool CheckOpenness(int a_openness, int a_ref)
Check if a farm has at least one field with openness above a_openness.
Definition: Farm.cpp:6000
OrganicPlant::OrganicPlant
OrganicPlant(FarmManager *a_manager)
Definition: Farm.cpp:3342
toc_OPotatoes
Definition: LandscapeFarmingEnums.h:851
DataForOptimisation::m_Nnorm
vector< double > m_Nnorm
Maximum amount of fertilizer (N) that can be applied for a given crop [kg N/ha]. Soil specific.
Definition: Farm.h:722
toc_OSeedGrass2
Definition: LandscapeFarmingEnums.h:862
LE::GetArea
double GetArea(void)
Definition: Elements.h:257
toc_CarrotsSpring
Definition: LandscapeFarmingEnums.h:790
toc_PermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:887
NLCatchCropPea
NLCatchCropPea class .
Definition: NLCatchCropPea.h:52
OSpringBarleyPigs
Definition: OSpringBarleyPigs.h:55
DK_FarmForest_Perm
Definition: DK_FarmForest_Perm.h:50
tov_DKOSugarBeets
Definition: LandscapeFarmingEnums.h:350
OFodderBeet
Definition: OFodderBeet.h:65
DK_OrchApple
DK_OrchApple class .
Definition: DK_OrchApple.h:128
tov_DEOats
Definition: LandscapeFarmingEnums.h:479
CompPcts
bool CompPcts(tpct i, tpct j)
Used for sorting a farmers field size vector.
Definition: Farm.cpp:649
DataForOptimisation
Class for storing data for optimisation.
Definition: Farm.h:577
NLGrassGrazed1Spring
NLGrassGrazed1Spring class .
Definition: NLGrassGrazed1Spring.h:85
tov_DKSpringOats_CC
Definition: LandscapeFarmingEnums.h:429
Farm::Harvest
virtual bool Harvest(LE *a_field, double a_user, int a_days)
Carry out a harvest on a_field.
Definition: FarmFuncs.cpp:1364
toc_OrchOther
Definition: LandscapeFarmingEnums.h:857
Farm::LeSwitch
bool LeSwitch(FarmEvent *ev)
Call do function for any crop with an outstanding event. Signal if the crop has terminated.
Definition: Farm.cpp:810
DK_OSpringBarleyCloverGrass
Definition: DK_OSpringBarleyCloverGrass.h:57
tov_DKSpringOats
Definition: LandscapeFarmingEnums.h:413
Farm::GetFirstCropIndex
virtual int GetFirstCropIndex(TTypesOfLandscapeElement a_type)
Gets the first crop for the farm.
Definition: Farm.cpp:1136
ConventionalPig::ConventionalPig
ConventionalPig(FarmManager *a_manager)
Definition: Farm.cpp:3286
FarmEvent::m_lock
bool m_lock
Definition: Farm.h:384
toc_OWinterWheatUndersownExtensive
Definition: LandscapeFarmingEnums.h:884
DK_CloverGrassGrazed3
DK_CloverGrassGrazed3 class .
Definition: DK_CloverGrassGrazed3.h:99
toc_OFirstYearDanger
Definition: LandscapeFarmingEnums.h:833
DK_OSetAside_AnnualFlower
DK_OSetAside_AnnualFlower class .
Definition: DK_OSetAside_AnnualFlower.h:88
tov_WWheatPToxicControl
Definition: LandscapeFarmingEnums.h:217
tov_PTCloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:315
tov_IRWinterOats
Definition: LandscapeFarmingEnums.h:603
DataForOptimisation::Get_sellingPrice_lastyr
double Get_sellingPrice_lastyr(int i)
Definition: Farm.h:638
tov_SetAside
Definition: LandscapeFarmingEnums.h:212
Farm::FP_ManganeseSulphate
virtual bool FP_ManganeseSulphate(LE *a_field, double a_user, int a_days)
Apply Manganse Sulphate to a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:840
tov_DKOWinterRye_CC
Definition: LandscapeFarmingEnums.h:425
toc_OYoungForestCrop
Definition: LandscapeFarmingEnums.h:885
tov_PLBeet
Definition: LandscapeFarmingEnums.h:242
FarmManager::GetFarmValidCoords
APoint GetFarmValidCoords(int a_farmref)
Returns the number of fields owned by a from the farm ref num.
Definition: Farm.h:1518
Farm::m_FarmType
TTypesOfFarm m_FarmType
The farms farm type - see TTypesOfFarm enum for types - note the use of UserDefined farms.
Definition: Farm.h:1027
tof_UserDefinedFarm2
Definition: LandscapeFarmingEnums.h:661
toc_SpringRape
Definition: LandscapeFarmingEnums.h:906
tof_UserDefinedFarm21
Definition: LandscapeFarmingEnums.h:680
Farm::m_intensity
double m_intensity
indicates the farm intensity - 1 = normal, otherwise linear scale
Definition: Farm.h:1010
tov_DKOWinterFodderGrass
Definition: LandscapeFarmingEnums.h:379
Farm::ProductApplication
virtual bool ProductApplication(LE *a_field, double a_user, int a_days, double a_applicationrate, PlantProtectionProducts a_ppp, bool a_isgranularpesticide=false, int a_orcharddrifttype=0)
Apply test pesticide to a_field.
Definition: FarmFuncs.cpp:2267
toc_WinterRye
Definition: LandscapeFarmingEnums.h:920
Farm::StubbleCultivatorHeavy
virtual bool StubbleCultivatorHeavy(LE *a_field, double a_user, int a_days)
Carry out a stubble cultivation event on a_field. This is non-inversion type of cultivation which can...
Definition: FarmFuncs.cpp:245
CropOptimised::m_weeding
double m_weeding
Value of mechanical weed control for a crop - manual weeding [DKK/ha].
Definition: Farm.h:1432
Farm::PigsAreOutForced
virtual bool PigsAreOutForced(LE *a_field, double a_user, int a_days)
Start a pig grazing event on a_field today - no exceptions.
Definition: FarmFuncs.cpp:2679
Crop::m_ddegstoharvest
int m_ddegstoharvest
Definition: Farm.h:504
SpringBarleySilage
Definition: SpringBarleySilage.h:76
FarmManager::GetCropTypeFromPlan
TTypesOfCrops GetCropTypeFromPlan(TTypesOfVegetation a_tov)
Definition: Farm.h:1649
DataForOptimisation::m_sellingPrice
vector< double > m_sellingPrice
Selling price of a crop [DKK/hkg]. Farm type specific and soil type specific.
Definition: Farm.h:736
FI_OPotatoIndustry_South
Definition: FI_OPotatoIndustry_South.h:55
FarmManager::ReadFarmFunctionsCB
void ReadFarmFunctionsCB()
Reads in and creates the data associated with costs and benefits of farm functions.
Definition: Farm.cpp:6297
tov_DEOCarrots
Definition: LandscapeFarmingEnums.h:481
tov_FIOPotatoIndustry_South
Definition: LandscapeFarmingEnums.h:546
tov_DKMixedVeg
Definition: LandscapeFarmingEnums.h:384
FI_OSpringWheat
FI_OSpringWheat class .
Definition: FI_OSpringWheat.h:90
DE_OWinterRye
DE_OWinterRye class .
Definition: DE_OWinterRye.h:98
tov_DKSpringBarley_CC
Definition: LandscapeFarmingEnums.h:431
tov_SpringBarleyStriglingCulm
Definition: LandscapeFarmingEnums.h:224
Landscape::VegtypeToString
std::string VegtypeToString(TTypesOfVegetation a_veg)
Returns the text representation of a TTypesOfVegetation type.
Definition: Landscape.cpp:6518
PTTurnipGrazed
PTTurnipGrazed class .
Definition: PTTurnipGrazed.h:78
tov_OWinterWheatUndersownExt
Definition: LandscapeFarmingEnums.h:225
tov_OCloverGrassSilage1
Definition: LandscapeFarmingEnums.h:205
FarmEvent
A struct to hold the information required to trigger a farm event.
Definition: Farm.h:372
Farm::Irrigation
virtual bool Irrigation(LE *a_field, double a_user, int a_days, int a_max)
Generate an 'irrigation' event with a frequency defined by a_freq in the irrigation period on a_field...
Definition: FarmFuncs.cpp:1856
tov_DKOOrchApple
Definition: LandscapeFarmingEnums.h:466
DK_WinterRape
Definition: DK_WinterRape.h:87
DE_OCabbages
DE_OCabbages class .
Definition: DE_OCabbages.h:67
PesticideTrialControl::MakeStockFarmer
virtual void MakeStockFarmer(void)
Definition: Farm.h:1113
DK_WinterBarley
Definition: DK_WinterBarley.h:72
FI_OFabaBean
FI_OFabaBean class .
Definition: FI_OFabaBean.h:89
tov_DEWinterWheatLate
Definition: LandscapeFarmingEnums.h:510
FarmManager::GetCropMgtPlansIndex
int GetCropMgtPlansIndex(TTypesOfVegetation a_tov)
Definition: Farm.h:1641
tov_FIPotato_North
Definition: LandscapeFarmingEnums.h:539
DataForOptimisation::Set_fixed
void Set_fixed(string a_value, int i)
Definition: Farm.h:622
SetAside
Rotational set-aside management class .
Definition: SetAside.h:70
DataForOptimisation::Set_cropTypes_almass_str
void Set_cropTypes_almass_str(string crop_type)
Definition: Farm.h:653
Farm::CattleIsOut
virtual bool CattleIsOut(LE *a_field, double a_user, int a_days, int a_max)
Generate a 'cattle_out' event for every day the cattle are on a_field.
Definition: FarmFuncs.cpp:2470
UserDefinedFarm3
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1233
Farm::SetIntensity
void SetIntensity(double a_intensity)
Definition: Farm.h:964
toc_OSpringBarleySilage
Definition: LandscapeFarmingEnums.h:870
Farm::FP_NPK
virtual bool FP_NPK(LE *a_field, double a_user, int a_days)
Apply NPK fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:645
FI_FeedingGround
FI_FeedingGround class .
Definition: FI_FeedingGround.h:92
Farm::CutToSilage
virtual bool CutToSilage(LE *a_field, double a_user, int a_days)
Cut vegetation for silage on a_field.
Definition: FarmFuncs.cpp:1644
DK_EnergyCrop_Perm
DK_EnergyCrop_Perm class .
Definition: DK_EnergyCrop_Perm.h:75
tov_FITurnipRape
Definition: LandscapeFarmingEnums.h:533
DK_SpringOats
Definition: DK_SpringOats.h:58
DE_OWinterBarley
DE_OWinterBarley class .
Definition: DE_OWinterBarley.h:99
tov_BEOrchardCrop
Definition: LandscapeFarmingEnums.h:298
toc_OSetAside_Flower
Definition: LandscapeFarmingEnums.h:864
tov_IRSpringOats
Definition: LandscapeFarmingEnums.h:598
Farm::DoIt
bool DoIt(double a_probability)
Return chance out of 0 to 100.
Definition: Farm.cpp:856
toc_OOrchOther
Definition: LandscapeFarmingEnums.h:847
DataForOptimisation::Get_sellingPrice
double Get_sellingPrice(int i)
Definition: Farm.h:636
DK_Legume_Beans
Definition: DK_Legume_Beans.h:58
FI_OTurnipRape
FI_OTurnipRape class .
Definition: FI_OTurnipRape.h:90
DK_OWinterRape
Definition: DK_OWinterRape.h:69
toc_OAsparagusEstablishedPlantation
Definition: LandscapeFarmingEnums.h:818
toc_OCloverGrassSilage1
Definition: LandscapeFarmingEnums.h:829
tov_DKOWinterBarley
Definition: LandscapeFarmingEnums.h:401
IRGrassland_no_reseed
IRGrassland_no_reseed class .
Definition: IRGrassland_no_reseed.h:124
tov_PLWinterRape
Definition: LandscapeFarmingEnums.h:233
cfg_UseOnlySpatialNetwork
CfgBool cfg_UseOnlySpatialNetwork("USE_ONLY_SPATIAL_NETWORKS", CFG_CUSTOM, true)
Used to enable/disable others networks than spatial network.
CfgStr::value
char * value() const
Definition: Configurator.h:182
DE_OMaizeSilage
Definition: DE_OMaizeSilage.h:58
LE::ResetDigestibility
virtual void ResetDigestibility()
sets growth record to zero in descendent classes
Definition: Elements.h:454
toc_GrassGrazed1
Definition: LandscapeFarmingEnums.h:807
tole_FarmBufferZone
Definition: LandscapeFarmingEnums.h:170
OSeedGrass1
Definition: OSeedGrass1.h:48
toc_YellowLupin
Definition: LandscapeFarmingEnums.h:923
FarmManager::CreateFarms
void CreateFarms(const char *a_farmfile)
Creates ther farms at simulation start.
Definition: Farm.cpp:4009
tov_NLSpringBarley
Definition: LandscapeFarmingEnums.h:255
cfg_Price_Nt
CfgFloat cfg_Price_Nt("PRICE_NT", CFG_CUSTOM, 1.93)
Price of fertilizer. [DKK/kg].
cfg_Min_fodder_prod_cattle
CfgFloat cfg_Min_fodder_prod_cattle("MIN_FODDER_PROD_CATTLE", CFG_CUSTOM, 35)
A parameter setting the minimum proportion of fodder demand that has to be supplied from own fodder p...
DataForOptimisation::m_sellingPrice_lastyr
vector< double > m_sellingPrice_lastyr
Selling price of a crop in a previous year [DKK/hkg]. Farm type specific and soil type specific.
Definition: Farm.h:738
TTypesOfFarm
TTypesOfFarm
Definition: LandscapeFarmingEnums.h:644
cfg_Profit_max_proportion
CfgFloat cfg_Profit_max_proportion("PROFIT_MAX_PROPORTION", CFG_CUSTOM, 100)
A parameter setting the proportion of farmers of a type profit maximiser.
YoungForestCrop
Definition: YoungForest.h:51
DK_GrassLowYield_Perm
Definition: DK_GrassLowYield_Perm.h:53
Farm::GetFirstDate
int GetFirstDate(TTypesOfVegetation a_tov)
Gets the start date for a crop type.
Definition: Farm.cpp:2152
toc_OFarmForest
Definition: LandscapeFarmingEnums.h:830
OCarrots
Definition: OCarrots.h:53
tov_PTBeans
Definition: LandscapeFarmingEnums.h:322
DataForOptimisation::m_livestockTypes
vector< TTypesOfFarmAnimals > m_livestockTypes
Livestock types saved as enumarator types.
Definition: Farm.h:697
toc_VegSeeds
Definition: LandscapeFarmingEnums.h:917
tov_OMaizeSilage
Definition: LandscapeFarmingEnums.h:227
DK_OrchPear
DK_OrchPear class .
Definition: DK_OrchPear.h:127
tov_PTMaize
Definition: LandscapeFarmingEnums.h:326
DataForOptimisation::m_alfa
vector< double > m_alfa
Crop parameter for response (growth) function (resp = alfa + beta1*N + beta2*N^2; defines relationshi...
Definition: Farm.h:716
tov_DKOCloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:374
DK_OSpringFodderGrass
DK_OSpringFodderGrass class .
Definition: DK_OSpringFodderGrass.h:93
FI_OPotato_South
Definition: FI_OPotato_South.h:55
DE_Legumes
DE_Legumes class .
Definition: DE_Legumes.h:97
FarmEvent::m_first_year
bool m_first_year
Definition: Farm.h:386
Farm::Molluscicide
virtual bool Molluscicide(LE *a_field, double a_user, int a_days)
Apply molluscicide to a_field.
Definition: FarmFuncs.cpp:2310
Farm::GetCrop
TTypesOfVegetation GetCrop(int a_index)
Definition: Farm.h:971
Farm::m_fields
vector< LE * > m_fields
Definition: Farm.h:1000
NLGrassGrazed1
NLGrassGrazed1 class .
Definition: NLGrassGrazed1.h:89
Farm::FP_Cu
virtual bool FP_Cu(LE *a_field, double a_user, int a_days)
Apply Cu fertilizer, on a_field owned by plant farmer (orchard)
Definition: FarmFuncs.cpp:1974
FarmManager::SetFarmer
void SetFarmer(int i, Farmer *a_farmer)
Sets the farmer associated with the farm with the index number i.
Definition: Farm.h:1658
LE::AddManagementActionDone
void AddManagementActionDone(FarmManagementCategory a_action)
Record management action throught a crop management action.
Definition: Elements.h:252
tov_DEOTriticale
Definition: LandscapeFarmingEnums.h:493
DE_WinterRape
DE_WinterRape class .
Definition: DE_WinterRape.h:111
MapErrorMsg::WarnAddInfo
void WarnAddInfo(MapErrorState a_level, std::string a_add1, std::string a_add2)
Definition: MapErrorMsg.cpp:160
UserDefinedFarm5::UserDefinedFarm5
UserDefinedFarm5(FarmManager *a_manager)
Definition: Farm.cpp:3556
toc_OWinterWheat
Definition: LandscapeFarmingEnums.h:882
DK_CloverGrassGrazed2
DK_CloverGrassGrazed2 class .
Definition: DK_CloverGrassGrazed2.h:100
tov_FIOWinterWheat
Definition: LandscapeFarmingEnums.h:525
tov_PTTriticale
Definition: LandscapeFarmingEnums.h:316
FarmManager::GetFarmTotalSize
int GetFarmTotalSize(int a_farmref)
Returns the total farm area from the farm ref num.
Definition: Farm.h:1498
SpringBarleyStriglingSingle
Definition: SpringBarleyStriglingSingle.h:77
tov_PLSpringBarleySpr
Definition: LandscapeFarmingEnums.h:246
DataForOptimisation::Get_livestockParameter
double Get_livestockParameter(int i)
Definition: Farm.h:606
Farm::GetNextCropIndex
virtual int GetNextCropIndex(int a_rot_index)
Returns the next crop in the rotation.
Definition: Farm.cpp:1178
DataForOptimisation::Get_fodder
bool Get_fodder(int i)
Definition: Farm.h:631
Farm::StrawRemoval
virtual bool StrawRemoval(LE *a_field, double a_user, int a_days)
Straw covering applied on a_field.
Definition: FarmFuncs.cpp:1752
Farm::StubblePlough
virtual bool StubblePlough(LE *a_field, double a_user, int a_days)
Carry out a stubble ploughing event on a_field. This is similar to normal plough but shallow (normall...
Definition: FarmFuncs.cpp:232
tov_WinterWheatStriglingCulm
Definition: LandscapeFarmingEnums.h:224
FarmManager::m_MangagementNorms
double m_MangagementNorms[toc_Foobar][fmc_Foobar]
Holds the values for crop management uses norms - uses TTypesOfCrops and FarmManagementCategory as ar...
Definition: Farm.h:1690
NLMaizeSpring
NLMaizeSpring class .
Definition: NLMaizeSpring.h:60
PLSpringBarleySpr
PLSpringBarleySpr class .
Definition: PLSpringBarleySpr.h:78
tov_DKOSetAside
Definition: LandscapeFarmingEnums.h:393
DataForOptimisation::Set_cropTypes_str
void Set_cropTypes_str(string crop_type)
Definition: Farm.h:585
tov_DEOHerbsPerennial_after1year
Definition: LandscapeFarmingEnums.h:516
Farm::FA_GreenManure
virtual bool FA_GreenManure(LE *a_field, double a_user, int a_days)
Spread green manure on a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1125
DataForOptimisation::Get_noCrops
int Get_noCrops()
Definition: Farm.h:657
tof_UserDefinedFarm20
Definition: LandscapeFarmingEnums.h:679
toc_ORyegrass
Definition: LandscapeFarmingEnums.h:896
tov_DKOEnergyCrop_Perm
Definition: LandscapeFarmingEnums.h:449
toc_OOrchApple
Definition: LandscapeFarmingEnums.h:844
DataForOptimisation::FarmData::md_almass_no
int md_almass_no
Definition: Farm.h:665
FarmManager::Print_FarmerAttributes
void Print_FarmerAttributes()
Create an output where Farmer's attribute are shown.
Definition: Farm.cpp:6239
OBarleyPeaCloverGrass
Definition: OBarleyPeaCloverGrass.h:54
tov_FIGrasslandPasturePerennial2
Definition: LandscapeFarmingEnums.h:557
FR_Sorghum
FR_Sorghum class .
Definition: FR_Sorghum.h:93
OOats
Definition: OOats.h:58
tov_IRSpringWheat
Definition: LandscapeFarmingEnums.h:596
FarmFuncsCostBenefits::RiskAvoidance
double RiskAvoidance
Definition: Farm.h:346
toc_OOrchCherry
Definition: LandscapeFarmingEnums.h:846
WinterWheat
WinterWheat class .
Definition: WinterWheat.h:117
tov_BECatchPeaCrop
Definition: LandscapeFarmingEnums.h:291
tov_DKOWinterRape
Definition: LandscapeFarmingEnums.h:402
DK_SugarBeet
Definition: DK_SugarBeet.h:58
FarmManager::GetFarmNoLookup
int GetFarmNoLookup(int a_ref)
Get a farm reference from the lookup table.
Definition: Farm.h:1618
NLTulips
NLTulips class .
Definition: NLTulips.h:96
FR_SpringWheat
FR_SpringWheat class .
Definition: FR_SpringWheat.h:102
g_farmmanager
FarmManager * g_farmmanager
Definition: Farm.cpp:638
tof_UserDefinedFarm29
Definition: LandscapeFarmingEnums.h:688
tof_UserDefinedFarm36
Definition: LandscapeFarmingEnums.h:695
CfgStr
String configurator entry class.
Definition: Configurator.h:173
tov_NLCabbageSpring
Definition: LandscapeFarmingEnums.h:267
toc_SpringWheat
Definition: LandscapeFarmingEnums.h:908
Farm::DoIt_prob
bool DoIt_prob(double a_probability)
Return chance out of 0 to 1.
Definition: Farm.cpp:864
DK_OptimalFlowerMix2
Definition: DK_OptimalFlowerMix2.h:48
DataForOptimisation::m_cropTypes
vector< TTypesOfCrops > m_cropTypes
Crop types saved as enumarator types (Bedriftsmodel i.e. original crop optimization model crop mode).
Definition: Farm.h:690
tocc_Winter
Definition: LandscapeFarmingEnums.h:625
UKTempGrass
UKTempGrass class .
Definition: UKTempGrass.h:82
tpct
Used for storing farmers field size vectors.
Definition: Farm.h:363
SE_WinterWheat
SE_WinterWheat class .
Definition: SE_WinterWheat.h:102
cfg_AnimalsThreshold
CfgFloat cfg_AnimalsThreshold("ANIMALS_THRESHOLD", CFG_CUSTOM, 0)
This parameter specifies the proportion of average number of animals on a farm for previous 3 years,...
g_date
class Calendar * g_date
Definition: Calendar.cpp:37
UserDefinedFarm6::UserDefinedFarm6
UserDefinedFarm6(FarmManager *a_manager)
Definition: Farm.cpp:3565
toc_Maize
Definition: LandscapeFarmingEnums.h:813
PLPotatoes
PLPotatoes class .
Definition: PLPotatoes.h:101
FarmManager::FindClosestFarmOpennessProbSmallIsBest
int FindClosestFarmOpennessProbSmallIsBest(HunterInfo a_hinfo, vector< int > *a_farmlist, int a_openness, vector< int > *a_farmsizelist)
Finds the closest farm to this co-ordinate with openness more than a value but uses a probability dis...
Definition: Farm.cpp:5834
tov_DKSpringBarley_Green
Definition: LandscapeFarmingEnums.h:411
FarmManager::GetSpilledMaize
double GetSpilledMaize()
Returns the average amount of spilled maize in KJ/m2 this year.
Definition: Farm.cpp:5662
FarmManager::RemoveField
void RemoveField(int a_OwnerIndex, LE *a_field)
Definition: Farm.cpp:3984
DK_GrazingPigs_Perm
Definition: DK_GrazingPigs_Perm.h:45
PLWinterRape
PLWinterRape class .
Definition: PLWinterRape.h:104
CropOptimised::m_cropType_almass
TTypesOfVegetation m_cropType_almass
Type/name of a crop (ALMaSS crops).
Definition: Farm.h:1401
PTYellowLupin
PTYellowLupin class .
Definition: PTYellowLupin.h:88
FarmManager::m_farmers
FarmerList * m_farmers
Holds a handy list of the farmers.
Definition: Farm.h:1684
Farm::FA_P
virtual bool FA_P(LE *a_field, double a_user, int a_days)
Apply P fertilizer, on a_field owned by stock farmer.
Definition: FarmFuncs.cpp:1024
tov_PLCarrots
Definition: LandscapeFarmingEnums.h:245
DataForOptimisation::Get_cropTypes
TTypesOfCrops Get_cropTypes(int i)
Definition: Farm.h:588
Farm::GetFarmer
Farmer * GetFarmer()
Returns the pointer to this farm's farmer.
Definition: Farm.h:817
Farm::BedForming
virtual bool BedForming(LE *a_field, double a_user, int a_days)
Do bed forming up on a_field, probably of carrots.
Definition: FarmFuncs.cpp:1316
fmc_Herbicide
Definition: LandscapeFarmingEnums.h:1006
FI_GrasslandPasturePerennial2
FI_GrasslandPasturePerennial2 class .
Definition: FI_GrasslandPasturePerennial2.h:90
cfg_AphidDamageThreshold
CfgInt cfg_AphidDamageThreshold("COMMONAPHIDDAMAGETHRESHOLD", CFG_CUSTOM, 1000)
tov_Carrots
Definition: LandscapeFarmingEnums.h:203
tov_PTOliveGroveTradOrganic
Definition: LandscapeFarmingEnums.h:334
OTriticale
Definition: OTriticale.h:59
FI_GreenFallow_1year
FI_GreenFallow_1year class .
Definition: FI_GreenFallow_1year.h:82
DK_SpringBarley_Green
Definition: DK_SpringBarley_Green.h:55
DK_WinterWheat
Definition: DK_WinterWheat.h:79
DK_Legume_Whole
Definition: DK_Legume_Whole.h:61
toc_CorkOak
Definition: LandscapeFarmingEnums.h:795
PermanentGrassLowYield
Definition: PermanentGrassLowYield.h:51
tov_BEWinterWheat
Definition: LandscapeFarmingEnums.h:302
tov_WinterRape
Definition: LandscapeFarmingEnums.h:215
cfg_Min_need_satisfaction1
CfgFloat cfg_Min_need_satisfaction1("MIN_NEED_SATISFACTION_ONE", CFG_CUSTOM, 100)
A parameter setting the minimum satisfaction level for profit.
toc_CabbageSpring
Definition: LandscapeFarmingEnums.h:788
toc_SpringBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:903
NLGrassGrazedExtensiveLast
NLGrassGrazedExtensiveLast class .
Definition: NLGrassGrazedExtensiveLast.h:71
PTOliveGroveIntensive
Definition: PTOliveGroveIntensive.h:73
CropOptimised::m_costs_ha
double m_costs_ha
Costs of growing 1 ha of a crop. Include costs of labour and machine (constant), pesticides (herbicid...
Definition: Farm.h:1440
Farm::GetPreviousTov
TTypesOfVegetation GetPreviousTov(int a_index)
Definition: Farm.h:966
DE_OBushFruitPerm
DE_OBushFruitPerm class .
Definition: DE_OBushFruitPerm.h:69
UserDefinedFarm17
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1359
toc_Beans
Definition: LandscapeFarmingEnums.h:783
AgroChemIndustryCerealFarm1::AgroChemIndustryCerealFarm1
AgroChemIndustryCerealFarm1(FarmManager *a_manager)
Definition: Farm.cpp:3392
tov_OSpringBarleyClover
Definition: LandscapeFarmingEnums.h:208
toc_OCarrots
Definition: LandscapeFarmingEnums.h:825
NLSpringBarley
NLSpringBarley class .
Definition: NLSpringBarley.h:77
Farm::FA_Manure
virtual bool FA_Manure(LE *a_field, double a_user, int a_days)
Spread manure on a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1110
tov_DEWinterBarley
Definition: LandscapeFarmingEnums.h:507
DK_OGrassGrazed_Perm
DK_OGrassGrazed_Perm class .
Definition: DK_OGrassGrazed_Perm.h:77
tole_PermPastureTussockyWet
Definition: LandscapeFarmingEnums.h:122
FarmManager::FindClosestFarmOpenness
int FindClosestFarmOpenness(HunterInfo a_hinfo, vector< int > *a_farmlist, int a_openness)
Finds the closest farm to this co-ordinate but uses a probability distribtution for acceptance.
Definition: Farm.cpp:5756
FarmManager::AddToIllegalList
void AddToIllegalList(int a_farm_ref, vector< int > *a_farmlist)
Add to a list if a farm is not already among the illegal list of references.
Definition: Farm.cpp:5700
FI_Potato_North
Definition: FI_Potato_North.h:62
PTPermanentGrassGrazed
PTPermanentGrassGrazed class .
Definition: PTPermanentGrassGrazed.h:101
tov_FIOSpringBarley_Fodder
Definition: LandscapeFarmingEnums.h:555
DataForOptimisation::Set_cropParameter
void Set_cropParameter(double a_value, int i)
Definition: Farm.h:609
tov_DKOMaizeSilage
Definition: LandscapeFarmingEnums.h:387
PTMaize_Hort
PTMaize_hort class .
Definition: PTMaize_Hort.h:86
DataForOptimisation::Get_farmType
TTypesOfOptFarms Get_farmType(int a_almass_no)
Used by FarmManager::CreateFarms. Finds a matching almass number and returns farm's type.
FR_Potatoes
FR_Potatoes class .
Definition: FR_Potatoes.h:109
FI_TurnipRape
FI_TurnipRape class .
Definition: FI_TurnipRape.h:93
PLBeetSpr
PLBeetSpr class .
Definition: PLBeetSpr.h:84
DataForOptimisation::Get_winterMax
int Get_winterMax(int i)
Definition: Farm.h:602
DK_OBushFruit_Perm1
DK_OBushFruit_Perm1 class .
Definition: DK_OBushFruit_Perm1.h:94
UserDefinedFarm12::UserDefinedFarm12
UserDefinedFarm12(FarmManager *a_manager)
Definition: Farm.cpp:3618
FI_GrasslandSilageAnnual
FI_GrasslandSilageAnnual class .
Definition: FI_GrasslandSilageAnnual.h:93
toc_Turnip
Definition: LandscapeFarmingEnums.h:914
FarmManager::GetFarmer
Farmer * GetFarmer(int i)
Gets the farmer associated with the farm with the index number i.
Definition: Farm.h:1656
WinterRapeStrigling
Definition: WinterRapeStrigling.h:48
tov_DKOSetAside_PerennialFlower
Definition: LandscapeFarmingEnums.h:395
tov_DKOGrassLowYield_Perm
Definition: LandscapeFarmingEnums.h:455
FarmManager::TranslateCropCodes
TTypesOfCrops TranslateCropCodes(string &str)
Converts strings to toc_.
Definition: Farm.cpp:2953
Farm::FA_Sludge
virtual bool FA_Sludge(LE *a_field, double a_user, int a_days)
Spread sewege sludge on a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1140
NLGrassGrazedExtensive1
NLGrassGrazedExtensive1 class .
Definition: NLGrassGrazedExtensive1.h:75
DE_AsparagusEstablishedPlantation
Definition: DE_AsparagusEstablishedPlantation.h:94
Farm::GetNextCropStartDate
int GetNextCropStartDate(LE *a_field, TTypesOfVegetation &a_curr_veg)
Returns the start date of the next crop in the rotation.
Definition: Farm.cpp:920
DK_OWinterBarley
Definition: DK_OWinterBarley.h:60
cfg_Price_Triticale
CfgFloat cfg_Price_Triticale("PRICE_TRITICALE", CFG_CUSTOM, 80)
TTypesOfSoils
TTypesOfSoils
Values that represent types of soils in ALMaSS.
Definition: LandscapeFarmingEnums.h:717
tov_DKSpringFodderGrass
Definition: LandscapeFarmingEnums.h:377
UKWinterBarley
UKWinterBarley class .
Definition: UKWinterBarley.h:68
Farm::AddNewEvent
void AddNewEvent(TTypesOfVegetation a_event, long a_date, LE *a_field, int a_todo, long a_num, bool a_lock, int a_start, bool a_first_year, TTypesOfVegetation a_crop, FarmManagementCategory a_fmc, bool a_forcespring, bool a_forcespringOK)
Adds an event to the event queue for a farm.
Definition: Farm.cpp:845
cfg_OliveGroveTradPct
CfgFloat cfg_OliveGroveTradPct("OLIVEGROVETRADPCT", CFG_CUSTOM, 0)
Farm::GetNextCrop
TTypesOfVegetation GetNextCrop(int a_index)
Definition: Farm.h:974
cfg_RoostDistProbParam1
CfgFloat cfg_RoostDistProbParam1("ROOSTDISTPROBPARAMONE", CFG_CUSTOM, 1.5)
A fitting parameter for the probability of hunter acceptance of a farm with distance from roost.
tof_ConventionalPig
Definition: LandscapeFarmingEnums.h:646
tov_ITGrassland
Definition: LandscapeFarmingEnums.h:606
FarmFuncsCostBenefits::ManagementCategory
FarmManagementCategory ManagementCategory
Definition: Farm.h:348
Farm::SpringSow
virtual bool SpringSow(LE *a_field, double a_user, int a_days, double a_seed_coating_amount=-1, PlantProtectionProducts a_ppp=ppp_foobar)
Carry out a sowing event in the spring on a_field.
Definition: FarmFuncs.cpp:501
tof_UserDefinedFarm35
Definition: LandscapeFarmingEnums.h:694
Farm::GetNoCrops
int GetNoCrops()
Definition: Farm.h:979
tole_OOrchard
Definition: LandscapeFarmingEnums.h:153
Farm::FA_NPKS
virtual bool FA_NPKS(LE *a_field, double a_user, int a_days)
Apply NPKS fertilizer, on a_field owned by a stock farmer.
Definition: FarmFuncs.cpp:968
tov_DKOSpringOats
Definition: LandscapeFarmingEnums.h:398
DK_OCatchCrop
Definition: DK_OCatchCrop.h:54
tov_FISpringBarley_Fodder
Definition: LandscapeFarmingEnums.h:553
CfgFloat::value
double value() const
Definition: Configurator.h:142
tole_WalnutPlantation
Definition: LandscapeFarmingEnums.h:169
BEGrassGrazed2
BEGrassGrazed2 class .
Definition: BEGrassGrazed2.h:78
FarmManager::BackTranslateCropCodes
std::string BackTranslateCropCodes(TTypesOfCrops a_crop)
Converts toc_ to string.
Definition: Farm.cpp:3102
DK_PlantNursery_Perm
Definition: DK_PlantNursery_Perm.h:50
DK_OrchOther
DK_OrchOther class .
Definition: DK_OrchOther.h:128
DK_WinterWheat_CC
Definition: DK_WinterWheat_CC.h:79
tov_DKOLegume_Beans_CC
Definition: LandscapeFarmingEnums.h:426
Farm::GetType
TTypesOfFarm GetType(void)
Definition: Farm.h:956
PTCorkOak
PTCorkOak class .
Definition: PTCorkOak.h:74
Farm::GetFarmManager
FarmManager * GetFarmManager()
Definition: Farm.h:780
cfg_CropPesticideDateModifier
static CfgInt cfg_CropPesticideDateModifier("CROPPESTICIDEDATEMODIFER", CFG_CUSTOM, 0, -10, 10)
Used to modify spraying dates of some test pesticides in selected crops - look for use of m_date_modi...
Crop::GetCropType
TTypesOfCrops GetCropType()
Definition: Farm.h:553
DE_OWinterWheat
Definition: DE_OWinterWheat.h:59
tov_DEOAsparagusEstablishedPlantation
Definition: LandscapeFarmingEnums.h:512
Farm::CalculateTreatmentCosts
void CalculateTreatmentCosts(FarmToDo a_treatment, LE *a_field)
Definition: Farm.cpp:6352
toc_SeedGrass2
Definition: LandscapeFarmingEnums.h:898
FarmToDo
FarmToDo
Definition: Treatment.h:31
FarmManager::TranslateVegCodes
TTypesOfVegetation TranslateVegCodes(std::string &str)
Converts strings to tov_
Definition: Farm.cpp:2180
tov_NLWinterWheat
Definition: LandscapeFarmingEnums.h:256
tole_OChristmasTrees
Definition: LandscapeFarmingEnums.h:157
ConventionalPlant
Inbuilt farm type.
Definition: Farm.h:1059
DataForOptimisation::Get_FUKey
double Get_FUKey(int i)
Definition: Farm.h:633
Crop::m_base_elements_no
int m_base_elements_no
Definition: Farm.h:505
FieldPeas
Definition: FieldPeas.h:62
Potatoes
Definition: Potatoes.h:73
toc_ORyeGrass
Definition: LandscapeFarmingEnums.h:859
cfg_LifeStage
CfgInt cfg_LifeStage("LIFE_STAGE", CFG_CUSTOM, 0)
This parameter specifies the life stage of a species whose numbers farmers use during their decision ...
tov_DKOrchPear
Definition: LandscapeFarmingEnums.h:463
Triticale
Definition: Triticale.h:66
cfg_Min_need_satisfaction2
CfgFloat cfg_Min_need_satisfaction2("MIN_NEED_SATISFACTION_TWO", CFG_CUSTOM, 100)
A parameter setting the minimum satisfaction level for yield.
CropOptimised::m_BIHerb
double m_BIHerb
Value of BI for herbicides [BI/ha].
Definition: Farm.h:1422
CatchCropTypes::cctGenericCatchCrop
UserDefinedFarm7
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1269
Farm::FP_SK
virtual bool FP_SK(LE *a_field, double a_user, int a_days)
Apply SK fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:794
DK_Carrots
Definition: DK_Carrots.h:76
tov_OWinterWheatUndersown
Definition: LandscapeFarmingEnums.h:211
tov_OPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:206
farminfo::m_farmsize
int m_farmsize
Definition: Farm.h:417
DataForOptimisation::Set_sellingPrice
void Set_sellingPrice(double a_value, int i)
Definition: Farm.h:635
PLMaize
PLMaize class .
Definition: PLMaize.h:95
tov_UKWinterRape
Definition: LandscapeFarmingEnums.h:286
cfg_NLCatchCropPct
CfgFloat cfg_NLCatchCropPct("NLCATCHCROPPCT", CFG_CUSTOM, 1.00)
UserDefinedFarm10
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1296
tof_UserDefinedFarm6
Definition: LandscapeFarmingEnums.h:665
DE_Orchard
DE_Orchard class .
Definition: DE_Orchard.h:113
tov_DEGrasslandSilageAnnual
Definition: LandscapeFarmingEnums.h:474
toc_YoungForestCrop
Definition: LandscapeFarmingEnums.h:924
tov_PTWinterBarley
Definition: LandscapeFarmingEnums.h:321
FI_SpringRape
FI_SpringRape class .
Definition: FI_SpringRape.h:96
tov_NLGrassGrazed1Spring
Definition: LandscapeFarmingEnums.h:269
DK_OOrchardCrop_Perm
DK_OOrchardCrop_Perm class .
Definition: DK_OOrchardCrop_Perm.h:100
toc_CloverGrassGrazed3
Definition: LandscapeFarmingEnums.h:794
toc_PermanentGrassTussocky
Definition: LandscapeFarmingEnums.h:888
fmc_Foobar
Definition: LandscapeFarmingEnums.h:1013
tov_ITOOrchard
Definition: LandscapeFarmingEnums.h:608
SpringBarleySpr
Definition: SpringBarleySpr.h:76
FarmManager::DumpFarmrefs
void DumpFarmrefs(const char *a_filename)
dumps the farmrefs file to a standard named file
Definition: Farm.cpp:5614
FarmManager::GetFarmAreaOpenFields
int GetFarmAreaOpenFields(int a_farmref, int a_openness)
Returns the area of fields with openness more than a_openness.
Definition: Farm.h:1530
CropStartStruct::m_stDay
int m_stDay
Definition: Farm.h:430
PTGrassGrazed
PTGrassGrazed class .
Definition: PTGrassGrazed.h:88
NLCarrotsSpring
NLCarrotsSpring class .
Definition: NLCarrotsSpring.h:69
Farm::CutToHay
virtual bool CutToHay(LE *a_field, double a_user, int a_days)
Carry out hay cutting on a_field.
Definition: FarmFuncs.cpp:1607
toc_OWinterRye
Definition: LandscapeFarmingEnums.h:881
PermanentGrassTussocky
Definition: PermanentGrassTussocky.h:46
tov_DKOPotatoIndustry
Definition: LandscapeFarmingEnums.h:390
Farm::m_farmtype
TTypesOfFarm m_farmtype
Definition: Farm.h:1003
toc_OLentils
Definition: LandscapeFarmingEnums.h:838
tov_DKFarmYoungForest_Perm
Definition: LandscapeFarmingEnums.h:456
tov_DKCloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:371
Crop::m_first_date
int m_first_date
Definition: Farm.h:501
FI_GrasslandSilagePerennial2
FI_GrasslandSilagePerennial2 class .
Definition: FI_GrasslandSilagePerennial2.h:92
FarmEvent::m_startday
int m_startday
Definition: Farm.h:385
Maize
Definition: Maize.h:59
WinterWheatStriglingSingle
Definition: WinterWheatStriglingSingle.h:85
tof_UserDefinedFarm7
Definition: LandscapeFarmingEnums.h:666
DE_Potatoes
DE_Potatoes class .
Definition: DE_Potatoes.h:125
tole_OEnergyCrop
Definition: LandscapeFarmingEnums.h:159
Livestock
A class for storing livestock parameters and variables for optimising farms.
Definition: Farm.h:1372
PTVineyards
PTVineyards class .
Definition: PTVineyards.h:105
AgroChemIndustryCerealFarm2::AgroChemIndustryCerealFarm2
AgroChemIndustryCerealFarm2(FarmManager *a_manager)
Definition: Farm.cpp:3410
Farm::FA_NPK
virtual bool FA_NPK(LE *a_field, double a_user, int a_days)
Apply NPK fertilizer to a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:982
DE_SpringRye
DE_SpringRye class .
Definition: DE_SpringRye.h:103
tov_DKOptimalFlowerMix2
Definition: LandscapeFarmingEnums.h:437
l_map_read_farmfile
static CfgBool l_map_read_farmfile("MAP_READ_FARMFILE", CFG_PRIVATE, true)
Crop::m_toc
TTypesOfCrops m_toc
The Crop type in terms of the TTypesOfCrops list (smaller list than tov, no country designation)
Definition: Farm.h:510
DK_OCerealLegume
Definition: DK_OCerealLegume.h:61
tov_WinterWheatShort
Definition: LandscapeFarmingEnums.h:218
Farm::FungicideTreat
virtual bool FungicideTreat(LE *a_field, double a_user, int a_days)
Apply fungicide to a_field.
Definition: FarmFuncs.cpp:2101
DE_PermanentGrassLowYield
Definition: DE_PermanentGrassLowYield.h:77
FR_SpringBarley
FR_SpringBarley class .
Definition: FR_SpringBarley.h:90
FI_BufferZone
FI_BufferZone class .
Definition: FI_BufferZone.h:86
tov_DKFarmForest_Perm
Definition: LandscapeFarmingEnums.h:450
tov_DKMaize
Definition: LandscapeFarmingEnums.h:382
DK_OFarmYoungForest_Perm
Definition: DK_OFarmYoungForest_Perm.h:50
DK_OLegumeCloverGrass_Whole
Definition: DK_OLegumeCloverGrass_Whole.h:59
tov_PTMaize_Hort
Definition: LandscapeFarmingEnums.h:332
toc_Beet
Definition: LandscapeFarmingEnums.h:785
tov_DKOGrassGrazed_Perm
Definition: LandscapeFarmingEnums.h:454
FR_WinterTriticale
FR_WinterTriticale class .
Definition: FR_WinterTriticale.h:96
Farm::HillingUp
virtual bool HillingUp(LE *a_field, double a_user, int a_days)
Do hilling up on a_field, probably of potatoes.
Definition: FarmFuncs.cpp:1302
WinterRape
Definition: WinterRape.h:83
tov_DKWinterRye
Definition: LandscapeFarmingEnums.h:419
tov_WinterBarleyStrigling
Definition: LandscapeFarmingEnums.h:221
CropOptimised::m_n
double m_n
Total amount of fertilizer applied per ha of a crop [kg N/ha].
Definition: Farm.h:1411
Farm::m_OurFarmer
Farmer * m_OurFarmer
Definition: Farm.h:998
Farm::GetForceSpringOK
int GetForceSpringOK(TTypesOfVegetation a_tov)
Gets the start date for a crop type.
Definition: Farm.cpp:2168
tov_FIGreenFallow_Perm
Definition: LandscapeFarmingEnums.h:572
AlmassCrop::Tov
TTypesOfVegetation Tov
Definition: Farm.h:570
FI_OSpringBarley_Malt
FI_OSpringBarley_Malt class .
Definition: FI_OSpringBarley_Malt.h:87
tov_PotatoesIndustry
Definition: LandscapeFarmingEnums.h:212
pesticiderecord::m_amounts
double m_amounts[ppp_foobar]
Definition: Farm.h:352
tov_DECabbage
Definition: LandscapeFarmingEnums.h:472
tov_DKPlantNursery_Perm
Definition: LandscapeFarmingEnums.h:458
tov_DKOOrchCherry
Definition: LandscapeFarmingEnums.h:468
janfirst
Definition: Plants.h:52
tov_UKWinterWheat
Definition: LandscapeFarmingEnums.h:287
DK_OFarmForest_Perm
Definition: DK_OFarmForest_Perm.h:50
tov_FRGrassland_Perm
Definition: LandscapeFarmingEnums.h:589
DataForOptimisation::Get_alfa
double Get_alfa(int i)
Definition: Farm.h:613
Farm::AutumnSowWithFerti
virtual bool AutumnSowWithFerti(LE *a_field, double a_user, int a_days, double a_seed_coating_amount=-1, PlantProtectionProducts a_ppp=ppp_foobar)
Carry out a sowing event with start fertilizer in the autumn on a_field.
Definition: FarmFuncs.cpp:592
Farm::ReadRotation
void ReadRotation(std::string fname)
Reads a rotation file into the rotation.
Definition: Farm.cpp:872
tov_DEWinterRye
Definition: LandscapeFarmingEnums.h:506
toc_GrazingPigs
Definition: LandscapeFarmingEnums.h:811
Crop::~Crop
virtual ~Crop()
Definition: Farm.h:540
tov_BEWinterBarley
Definition: LandscapeFarmingEnums.h:301
Livestock::Livestock
Livestock(TTypesOfFarmAnimals a_animalType, int a_number)
Constructor.
cfg_UseSocioEconomicFarm
CfgBool cfg_UseSocioEconomicFarm("USE_SOCIO_ECONOMIC_FARMS", CFG_CUSTOM, false)
Used to socio-economic calculations for farms.
tov_DKGrassTussocky_Perm
Definition: LandscapeFarmingEnums.h:435
tov_DETriticale
Definition: LandscapeFarmingEnums.h:505
FarmManager::ReadCropYieldReturns
void ReadCropYieldReturns()
Reads in and creates the yield return data for economics.
Definition: Farm.cpp:6125
FarmManager::ReadYieldProfitData
void ReadYieldProfitData(string a_filename)
Reads in base data for biomass related profit on harvest for each crop.
last_treatment
Definition: Treatment.h:150
LE::SetVegHeight
virtual void SetVegHeight(double)
Definition: Elements.h:177
DataForOptimisation::Get_Nnorm
double Get_Nnorm(int i)
Definition: Farm.h:619
FarmManager::FindFarmWithRandom
int FindFarmWithRandom(vector< int > *a_farmlist)
Finds a farm openness more than a value not on the list.
Definition: Farm.cpp:5954
DK_OWinterWheat
DK_OWinterWheat class .
Definition: DK_OWinterWheat.h:95
tov_DKOSpringBarley
Definition: LandscapeFarmingEnums.h:363
DE_OPeas
Definition: DE_OPeas.h:53
tole_ChristmasTrees
Definition: LandscapeFarmingEnums.h:156
OWinterWheat
Definition: OWinterWheat.h:64
DataForOptimisation::m_cropAreas
vector< double > m_cropAreas
Vector containing values of initial (i.e. in year the data is taken for) crop areas at farms included...
Definition: Farm.h:699
toc_OCloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:827
Crop
The base class for all crops.
Definition: Farm.h:495
tov_PermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:225
DataForOptimisation::m_energy_maize_price
vector< double > m_energy_maize_price
Vector with energy maize prices for each year of simulation.
Definition: Farm.h:747
toc_PotatoesSeed
Definition: LandscapeFarmingEnums.h:893
CropOptimised::m_GM
double m_GM
Value of gross margin for a crop (m_income_ha - m_costs_ha) [DKK/ha].
Definition: Farm.h:1444
tov_FIOStarchPotato_North
Definition: LandscapeFarmingEnums.h:529
Farm::CattleIsOutLow2
virtual bool CattleIsOutLow2(LE *a_field, double a_user, int a_days, int a_max, int a_max_days)
Generate a 'cattle_out_low2' event for every day the cattle are on a_field, cattle is low grazing and...
Definition: FarmFuncs.cpp:2607
DE_OTriticale
DE_OTriticale class .
Definition: DE_OTriticale.h:98
Farm::FP_PK
virtual bool FP_PK(LE *a_field, double a_user, int a_days)
Apply PK fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:673
NLSpringBarleySpring
NLSpringBarleySpring class .
Definition: NLSpringBarleySpring.h:72
tov_PLFodderLucerne1
Definition: LandscapeFarmingEnums.h:243
tov_DKWinterFodderGrass
Definition: LandscapeFarmingEnums.h:378
DataForOptimisation::Get_rotationMax
double Get_rotationMax(int i)
Definition: Farm.h:641
UserDefinedFarm4
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1242
Farm::CattleIsOutLow
virtual bool CattleIsOutLow(LE *a_field, double a_user, int a_days, int a_max)
Generate a 'cattle_out_low' event for every day the cattle are on a_field.
Definition: FarmFuncs.cpp:2561
UserDefinedFarm17::UserDefinedFarm17
UserDefinedFarm17(FarmManager *a_manager)
Definition: Farm.cpp:3660
FarmManager::GetFarmPtr
Farm * GetFarmPtr(int a_owner)
Returns the pointer to a farm with a specific number.
Definition: Farm.h:1536
DK_OLegume_Peas_CC
Definition: DK_OLegume_Peas_CC.h:55
Farm::GetTotalArea
int GetTotalArea(void)
Returns the area of all fields owned by that farm.
Definition: Farm.cpp:1091
Farm::StriglingHill
virtual bool StriglingHill(LE *a_field, double a_user, int a_days)
Carry out a mechanical weeding on a_field followed by hilling up (probably on potatoes)
Definition: FarmFuncs.cpp:1287
Crop::SimpleEvent
void SimpleEvent(long a_date, int a_todo, bool a_lock)
Adds an event to this crop management.
Definition: Farm.cpp:747
toc_OTriticale
Definition: LandscapeFarmingEnums.h:876
tov_FieldPeasStrigling
Definition: LandscapeFarmingEnums.h:218
BEBeetSpring
BEBeetSpring class .
Definition: BEBeetSpring.h:66
tov_FIOCaraway2
Definition: LandscapeFarmingEnums.h:568
FodderBeet
Definition: FodderBeet.h:73
DK_CerealLegume_Whole
Definition: DK_CerealLegume_Whole.h:54
toc_Horticulture
Definition: LandscapeFarmingEnums.h:812
DK_OOrchApple
DK_OOrchApple class .
Definition: DK_OOrchApple.h:100
tole_PermanentSetaside
Definition: LandscapeFarmingEnums.h:68
PTMaize
PTMaize class .
Definition: PTMaize.h:86
FarmManager::m_farms
vector< Farm * > m_farms
Definition: Farm.h:1676
LowPriPair
Used in event handling.
Definition: Lowqueue.h:83
PTCabbage
PTCabbage class .
Definition: PTCabbage.h:79
CloverGrassGrazed1
Definition: CloverGrassGrazed1.h:56
tov_FISprSpringBarley_Fodder
Definition: LandscapeFarmingEnums.h:554
tov_DELegumes
Definition: LandscapeFarmingEnums.h:476
CropOptimised::m_totalLoss
double m_totalLoss
Summary value of the yield loss due to the limited use of herbicides and fung- and insecticides [%].
Definition: Farm.h:1438
DataForOptimisation::Get_cropTypes_almass_str
string Get_cropTypes_almass_str(int i)
Definition: Farm.h:654
Farm::CattleOutLowGrazing
virtual bool CattleOutLowGrazing(LE *a_field, double a_user, int a_days)
Start a extensive grazing event on a_field today.
Definition: FarmFuncs.cpp:2439
Farm::FarmActions
virtual void FarmActions(void)
FarmActions() will use the global date to manage all queued field events.
Definition: Farm.cpp:768
FarmManager::GetCropMgtPlans
vector< Crop * > * GetCropMgtPlans(void)
Definition: Farm.h:1640
tov_DEWinterRape
Definition: LandscapeFarmingEnums.h:508
toc_FodderLucerne1
Definition: LandscapeFarmingEnums.h:804
toc_WinterRape
Definition: LandscapeFarmingEnums.h:919
NLPotatoesSpring
NLPotatoesSpring class .
Definition: NLPotatoesSpring.h:91
tov_PLMaizeSilage
Definition: LandscapeFarmingEnums.h:240
DataForOptimisation::Set_FUKey
void Set_FUKey(double a_value, int i)
Definition: Farm.h:632
NLMaize
NLMaize class .
Definition: NLMaize.h:67
LE::SetVegGrowthScalerRand
virtual void SetVegGrowthScalerRand()
Definition: Elements.h:156
DE_OHerbsPerennial_after1year
Definition: DE_OHerbsPerennial_after1year.h:84
tov_OrchardCrop
Definition: LandscapeFarmingEnums.h:227
tov_UKPermanentGrass
Definition: LandscapeFarmingEnums.h:281
ConventionalCattle
Inbuilt farm type.
Definition: Farm.h:1035
tov_PTShrubPastures
Definition: LandscapeFarmingEnums.h:318
tof_UserDefinedFarm8
Definition: LandscapeFarmingEnums.h:667
PTFodderMix
PTFodderMix class .
Definition: PTFodderMix.h:87
FarmManager::FindFarmWithOpenness
int FindFarmWithOpenness(vector< int > *a_farmlist, int a_openness)
Finds a farm openness more than a value not on the list.
Definition: Farm.cpp:5971
tov_PLWinterTriticale
Definition: LandscapeFarmingEnums.h:235
CfgBool::value
bool value() const
Definition: Configurator.h:164
tov_DKPotato
Definition: LandscapeFarmingEnums.h:404
DK_OSetAside
DK_OSetAside class .
Definition: DK_OSetAside.h:88
DE_OMaize
Definition: DE_OMaize.h:59
tov_DKSetAside_SummerMow
Definition: LandscapeFarmingEnums.h:410
Farm::InvIntPartition
int InvIntPartition(vector< tpct > *items, int target)
Finds all possible sums of the integers in the items array.
Definition: Farm.cpp:3826
UKPermanentGrass
UKPermanentGrass class .
Definition: UKPermanentGrass.h:81
tof_UserDefinedFarm12
Definition: LandscapeFarmingEnums.h:671
toc_OFieldPeasSilage
Definition: LandscapeFarmingEnums.h:832
toc_OSBarleySilage
Definition: LandscapeFarmingEnums.h:860
DK_Cabbages
DK_Cabbages class .
Definition: DK_Cabbages.h:78
FarmManager::GetSpilledGrain
double GetSpilledGrain()
Returns the average amount of spilled grain in KJ/m2 this year.
Definition: Farm.cpp:5631
tov_DEHerbsPerennial_after1year
Definition: LandscapeFarmingEnums.h:514
DataForOptimisation::Set_rotationMin
void Set_rotationMin(double a_value, int i)
Definition: Farm.h:642
PLBeans
PLBeans class .
Definition: PLBeans.h:85
tov_DEOBushFruitPerm
Definition: LandscapeFarmingEnums.h:521
NLGrassGrazed2
NLGrassGrazed2 class .
Definition: NLGrassGrazed2.h:84
toc_OSpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:866
ConventionalPlant::MakeStockFarmer
virtual void MakeStockFarmer(void)
Definition: Farm.h:1063
toc_Triticale
Definition: LandscapeFarmingEnums.h:912
FI_OStarchPotato_South
Definition: FI_OStarchPotato_South.h:55
FI_PotatoIndustry_North
Definition: FI_PotatoIndustry_North.h:65
tov_PLSpringBarley
Definition: LandscapeFarmingEnums.h:238
tole_OAsparagusPerm
Definition: LandscapeFarmingEnums.h:178
tov_BEPotatoes
Definition: LandscapeFarmingEnums.h:299
tov_FIFabaBean
Definition: LandscapeFarmingEnums.h:551
Farm::FP_Manure
virtual bool FP_Manure(LE *a_field, double a_user, int a_days)
Spread manure on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:896
g_Species
TTypesOfPopulation g_Species
Definition: PopulationManager.cpp:101
tof_UserDefinedFarm16
Definition: LandscapeFarmingEnums.h:675
OWinterWheatUndersownExt
Definition: OWinterWheatUndersownExt.h:64
tov_DKOSpringBarley_CC
Definition: LandscapeFarmingEnums.h:432
PLWinterBarley
PLWinterBarley class .
Definition: PLWinterBarley.h:99
tov_DKOCloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:375
toc_PlantNursery
Definition: LandscapeFarmingEnums.h:890
tov_DKOLentils
Definition: LandscapeFarmingEnums.h:434
DK_OrchCherry
DK_OrchCherry class .
Definition: DK_OrchCherry.h:122
tov_FIOTurnipRape
Definition: LandscapeFarmingEnums.h:534
tov_BroadBeans
Definition: LandscapeFarmingEnums.h:228
tov_DKCloverGrassGrazed3
Definition: LandscapeFarmingEnums.h:372
tov_FRWinterBarley
Definition: LandscapeFarmingEnums.h:582
cfg_DKCatchCropLegumePct
CfgFloat cfg_DKCatchCropLegumePct("DKCATCHCROPLEGUMEPCT", CFG_CUSTOM, 1.00)
DK_WinterRye_CC
Definition: DK_WinterRye_CC.h:75
fmc_Cutting
Definition: LandscapeFarmingEnums.h:1009
tov_PTCabbage
Definition: LandscapeFarmingEnums.h:330
cfg_DKCatchCropPct
CfgFloat cfg_DKCatchCropPct("DKCATCHCROPPCT", CFG_CUSTOM, 1.00)
tov_DKOSpringFodderGrass
Definition: LandscapeFarmingEnums.h:380
DataForOptimisation::Get_cropArea
double Get_cropArea(int index)
Definition: Farm.h:595
Farm::m_stockfarmer
bool m_stockfarmer
Definition: Farm.h:1006
PTShrubPastures
PTShrubPastures class .
Definition: PTShrubPastures.h:83
tov_FIPotatoIndustry_South
Definition: LandscapeFarmingEnums.h:544
tov_DKSetAside
Definition: LandscapeFarmingEnums.h:409
DataForOptimisation::m_winterMax
vector< int > m_winterMax
Maximal area taken by winter crops at a farm. [%].
Definition: Farm.h:704
PTOtherDryBeans
PTOtherDryBeans class .
Definition: PTOtherDryBeans.h:79
toc_GenericCatchCrop
Definition: LandscapeFarmingEnums.h:806
toc_SpringBarley
Definition: LandscapeFarmingEnums.h:901
tov_UKTempGrass
Definition: LandscapeFarmingEnums.h:284
tov_PTVineyards
Definition: LandscapeFarmingEnums.h:320
g_generator
std::mt19937 g_generator
DataForOptimisation::Set_winterMax
void Set_winterMax(int a_value, int i)
Definition: Farm.h:601
tole_AlmondPlantation
Definition: LandscapeFarmingEnums.h:168
DK_OCabbages
DK_OCabbages class .
Definition: DK_OCabbages.h:70
tov_DKPotatoSeed
Definition: LandscapeFarmingEnums.h:406
FarmerAttributes::riskSpan
double riskSpan
Definition: Farm.h:340
tov_DKWinterCloverGrassGrazedSown
Definition: LandscapeFarmingEnums.h:369
toc_OWinterWheatUndersown
Definition: LandscapeFarmingEnums.h:883
tof_UserDefinedFarm10
Definition: LandscapeFarmingEnums.h:669
NLWinterWheat
NLWinterWheat class .
Definition: NLWinterWheat.h:78
tov_NLPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:261
toc_MaizeSpring
Definition: LandscapeFarmingEnums.h:815
tov_PLWinterRye
Definition: LandscapeFarmingEnums.h:236
tov_DKSpringBarley
Definition: LandscapeFarmingEnums.h:361
Farm::IrrigationStart
virtual bool IrrigationStart(LE *a_field, double a_user, int a_days)
Start a irrigation event on a_field today.
Definition: FarmFuncs.cpp:1834
OWinterBarleyExt
Definition: OWinterBarleyExt.h:55
DK_OptimalFlowerMix1
DK_OptimalFlowerMix1 class .
Definition: DK_OptimalFlowerMix1.h:59
tov_OSBarleySilage
Definition: LandscapeFarmingEnums.h:218
FarmManager::GetManagementNorm
double GetManagementNorm(int a_crop, int a_managementtype)
Get the norm for managment numbers for a crop and management cominbation.
Definition: Farm.h:1547
FI_OCaraway1
FI_OCaraway1 class .
Definition: FI_OCaraway1.h:89
tov_FieldPeas
Definition: LandscapeFarmingEnums.h:203
FarmManager::GetFarmPtrIndex
Farm * GetFarmPtrIndex(int a_index)
Returns the pointer to a farm with a specific index.
Definition: Farm.h:1550
DK_WinterFodderGrass
Definition: DK_WinterFodderGrass.h:68
TTypesOfLandscapeElement
TTypesOfLandscapeElement
Values that represent the types of landscape polygon that are represented in ALMaSS.
Definition: LandscapeFarmingEnums.h:57
cfg_UseConsumat
CfgBool cfg_UseConsumat("USE_CONSUMAT_APPROACH", CFG_CUSTOM, false)
Farm::Prob_multiplier
virtual double Prob_multiplier()
Definition: Farm.h:778
PermCropData
Used for storing permanent crop data for the farm rotation.
Definition: Farm.h:357
DK_OVegSeeds
Definition: DK_OVegSeeds.h:67
tov_DKOCatchCrop
Definition: LandscapeFarmingEnums.h:421
TOP_Aphid
Definition: PopulationManager.h:75
Farm::GreenHarvest
virtual bool GreenHarvest(LE *a_field, double a_user, int a_days)
GreenHarvest (remove of excess production that may affect the desired quality of the fruits,...
Definition: FarmFuncs.cpp:1942
cfg_Price_WBarley
CfgFloat cfg_Price_WBarley("PRICE_WBARLEY", CFG_CUSTOM, 93)
g_farm_fixed_crop_enable
CfgBool g_farm_fixed_crop_enable("FARM_FIXED_CROP_ENABLE", CFG_CUSTOM, false)
Landscape
The landscape class containing all environmental and topographical data.
Definition: Landscape.h:142
farminfo
Used during saving farm/hunter information.
Definition: Farm.h:414
tov_PTPotatoes
Definition: LandscapeFarmingEnums.h:328
DE_GreenFallow_1year
DE_GreenFallow_1years class .
Definition: DE_GreenFallow_1year.h:82
SpringBarleySeed
Definition: SpringBarleySeed.h:61
tov_FIGrasslandSilagePerennial2
Definition: LandscapeFarmingEnums.h:559
ConventionalPlant::ConventionalPlant
ConventionalPlant(FarmManager *a_manager)
Definition: Farm.cpp:3306
Farm::FA_RSM
virtual bool FA_RSM(LE *a_field, double a_user, int a_days)
RSM (ammonium nitrate solution) applied on a_field owned by a stock farmer.
Definition: FarmFuncs.cpp:1154
tov_DKLegume_Beans
Definition: LandscapeFarmingEnums.h:358
fmc_Fertilizer
Definition: LandscapeFarmingEnums.h:1004
CropOptimised::m_lossFi
double m_lossFi
Value of the yield loss due to the limited use of fung- and insecticides [%].
Definition: Farm.h:1436
CropOptimised
A class for storing all parameters and results of crop optimisation.
Definition: Farm.h:1389
BEMaizeSpring
BEMaizeSpring class .
Definition: BEMaizeSpring.h:60
FarmManager::SetUseSocioEconomics
static void SetUseSocioEconomics(bool a_flag)
Sets the socio-economic use flag.
Definition: Farm.h:1709
tof_UserDefinedFarm18
Definition: LandscapeFarmingEnums.h:677
FI_GrasslandPasturePerennial1
FI_GrasslandPasturePerennial1 class .
Definition: FI_GrasslandPasturePerennial1.h:90
toc_OMixedVeg
Definition: LandscapeFarmingEnums.h:842
DK_SpringWheat
Definition: DK_SpringWheat.h:60
DataForOptimisation::m_beta2
vector< double > m_beta2
Crop parameter for response (growth) function (resp = alfa + beta1*N + beta2*N^2; defines relationshi...
Definition: Farm.h:720
cfg_UseBedriftsmodelFarmAreas
CfgBool cfg_UseBedriftsmodelFarmAreas("USE_BEDRIFTSMODEL_FARM_AREAS", CFG_CUSTOM, false)
If set to true, the farm areas from the original farm optimisation model are used in the optimisation...
SpringBarleyPTreatment
Definition: SpringBarleyPTreatment.h:77
DataForOptimisation::Get_cropAreasSize
int Get_cropAreasSize()
Definition: Farm.h:596
UserDefinedFarm1
Definition: Farm.h:1215
DK_OptimalFlowerMix3
Definition: DK_OptimalFlowerMix3.h:58
toc_SetAside
Definition: LandscapeFarmingEnums.h:899
tov_DKWinterRye_CC
Definition: LandscapeFarmingEnums.h:424
IRSpringOats
IRSpringOats class .
Definition: IRSpringOats.h:107
AlmassCrop
Struct for storing ALMaSS crop type (TTypesOfVegetation) with a corresponding value (mainly crop area...
Definition: Farm.h:568
DE_PotatoesIndustry
DE_PotatoesIndustry class .
Definition: DE_PotatoesIndustry.h:132
FI_OSpringBarley_Fodder
FI_OSpringBarley_Fodder class .
Definition: FI_OSpringBarley_Fodder.h:91
tov_FIOFabaBean
Definition: LandscapeFarmingEnums.h:552
DK_CatchCrop
Definition: DK_CatchCrop.h:56
toc_OSpringBarleyExtensive
Definition: LandscapeFarmingEnums.h:867
toc_WinterBarley
Definition: LandscapeFarmingEnums.h:918
tov_DKCarrots
Definition: LandscapeFarmingEnums.h:353
UserDefinedFarm14::UserDefinedFarm14
UserDefinedFarm14(FarmManager *a_manager)
Definition: Farm.cpp:3634
Farm::GetMaxOpenness
int GetMaxOpenness()
Returns the maximum openness score of the fields.
Definition: Farm.h:805
BEWinterWheat
BEWinterWheat class .
Definition: BEWinterWheat.h:74
tov_NLPotatoesSpring
Definition: LandscapeFarmingEnums.h:265
DE_OHerbsPerennial_1year
Definition: DE_OHerbsPerennial_1year.h:85
FarmManager::m_CropYieldProfit
vector< double > m_CropYieldProfit
Holds the values for profit per unit biomass per unit area for all crops - uses TTypesOfCrops.
Definition: Farm.h:1688
tov_NLOrchardCrop
Definition: LandscapeFarmingEnums.h:271
DK_SetAside_SummerMow
DK_SetAside_SummerMow class .
Definition: DK_SetAside_SummerMow.h:90
DK_OSpringOats
Definition: DK_OSpringOats.h:66
UserDefinedFarm16
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1350
BEWinterBarleyCC
BEWinterBarleyCC class .
Definition: BEWinterBarleyCC.h:72
DE_BushFruitPerm
DE_BushFruitPerm class .
Definition: DE_BushFruitPerm.h:90
CropOptimised::m_optimalN
double m_optimalN
Optimal amount of fertilizer per ha of a crop supposing ferilizer price equals zero [kg N/ha]....
Definition: Farm.h:1415
tov_DKOSpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:364
tov_WinterBarley
Definition: LandscapeFarmingEnums.h:215
tov_DKOGrazingPigs
Definition: LandscapeFarmingEnums.h:385
FarmEvent::FarmEvent
FarmEvent(TTypesOfVegetation a_event, LE *a_field, int a_todo, long a_run, bool a_lock, int a_start, bool a_first_year, TTypesOfVegetation a_nextcrop, bool a_forcespring, bool a_forcespringOK)
Definition: Farm.h:395
FI_GreenFallow_Perm
FI_GreenFallow_Perm class .
Definition: FI_GreenFallow_Perm.h:85
tole_OliveGrove
Definition: LandscapeFarmingEnums.h:149
tof_Foobar
Definition: LandscapeFarmingEnums.h:697
DataForOptimisation::Get_cropTypes_almass
TTypesOfVegetation Get_cropTypes_almass(int i)
Definition: Farm.h:651
tov_FRSpringBarley
Definition: LandscapeFarmingEnums.h:587
tov_UKPotatoes
Definition: LandscapeFarmingEnums.h:282
DK_MixedVeg
Definition: DK_MixedVeg.h:84
tov_IRGrassland_no_reseed
Definition: LandscapeFarmingEnums.h:599
CropOptimised::m_hoeing
double m_hoeing
Value of mechanical weed control for a crop - hoeing [DKK/ha].
Definition: Farm.h:1430
FarmManager::m_YieldReturns
vector< double > m_YieldReturns
Holds the list of yield prices indexed by toc_ type (TTypesOfCrop)
Definition: Farm.h:1682
Farm::GetFarmNumber
int GetFarmNumber(void)
Definition: Farm.h:775
LE::SetRotIndex
void SetRotIndex(int a_index)
Definition: Elements.h:371
DK_OWinterFodderGrass
DK_OWinterFodderGrass class .
Definition: DK_OWinterFodderGrass.h:98
TTypesOfFarmAnimals
TTypesOfFarmAnimals
Definition: LandscapeFarmingEnums.h:752
DK_OBushFruit_Perm2
DK_OBushFruit_Perm2 class .
Definition: DK_OBushFruit_Perm2.h:84
tov_NLGrassGrazedExtensive1Spring
Definition: LandscapeFarmingEnums.h:275
WinterWheatStriglingCulm
Definition: WinterWheatStriglingCulm.h:85
FI_FabaBean
FI_FabaBean class .
Definition: FI_FabaBean.h:95
DataForOptimisation::m_fixed
vector< bool > m_fixed
Crop Boolean parameter - fixed/variable crop. Farm type specific.
Definition: Farm.h:729
tov_OPotatoes
Definition: LandscapeFarmingEnums.h:206
tov_BEWinterBarleyCC
Definition: LandscapeFarmingEnums.h:305
BEMaizeCC
BEMaize class .
Definition: BEMaizeCC.h:62
PesticideTrialTreatment::MakeStockFarmer
virtual void MakeStockFarmer(void)
Definition: Farm.h:1133
toc_GrassGrazedExtensive
Definition: LandscapeFarmingEnums.h:809
toc_DummyCropPestTesting
Definition: LandscapeFarmingEnums.h:796
tof_UserDefinedFarm33
Definition: LandscapeFarmingEnums.h:692
tof_UserDefinedFarm17
Definition: LandscapeFarmingEnums.h:676
DK_SpringFodderGrass
Definition: DK_SpringFodderGrass.h:70
tov_FINaturalGrassland
Definition: LandscapeFarmingEnums.h:560
DE_Maize
DE_Maize class .
Definition: DE_Maize.h:89
tov_WWheatPTreatment
Definition: LandscapeFarmingEnums.h:217
Farm::ProductApplication_DateLimited
virtual bool ProductApplication_DateLimited(LE *a_field, double, int, double a_applicationrate, PlantProtectionProducts a_ppp, bool a_isgranularpesticide=false)
Special pesticide trial functionality.
Definition: FarmFuncs.cpp:2342
FI_NaturalGrassland_Perm
FI_NaturalGrassland_Perm class .
Definition: FI_NaturalGrassland_Perm.h:83
cfg_Price_WRape
CfgFloat cfg_Price_WRape("PRICE_WRAPE", CFG_CUSTOM, 163)
MaizeSilage
Definition: MaizeSilage.h:59
SE_SpringBarley
SE_SpringBarley class .
Definition: SE_SpringBarley.h:97
tov_OWinterBarleyExt
Definition: LandscapeFarmingEnums.h:227
FarmManager::UpdateSocialNetworks
void UpdateSocialNetworks(bool a_geographic, bool a_associative, bool a_virtual)
Forces all farmers to update social networks if needed.
tov_WinterRapeStrigling
Definition: LandscapeFarmingEnums.h:221
tov_FISpringRape
Definition: LandscapeFarmingEnums.h:535
cfg_grain_distribution
CfgInt cfg_grain_distribution("GOOSE_GRAIN_DISTRIBUTION", CFG_CUSTOM, 0, 0, 2)
A switch to fix the grain distribution to a specific year or make a random pick between years....
tov_PTOliveGroveTraditional
Definition: LandscapeFarmingEnums.h:333
DK_OFodderBeet
Definition: DK_OFodderBeet.h:62
toc_StarchPotato
Definition: LandscapeFarmingEnums.h:909
tov_DECarrots
Definition: LandscapeFarmingEnums.h:473
NLGrassGrazedLast
NLGrassGrazedLast class .
Definition: NLGrassGrazedLast.h:85
NLOrchardCrop
Definition: NLOrchardCrop.h:57
Farm::FP_PKS
virtual bool FP_PKS(LE *a_field, double a_user, int a_days)
Apply PKS fertilizer to a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:659
PesticideTrialControl
Inbuilt special purpose farm type.
Definition: Farm.h:1109
DK_OLegume
Definition: DK_OLegume.h:53
tov_FICaraway1
Definition: LandscapeFarmingEnums.h:565
cfg_Price_FU
CfgFloat cfg_Price_FU("PRICE_FU", CFG_CUSTOM, 1.157)
Price of a fodder unit. [DKK/FU].
FarmManager::GetFarmNoLookupIndex
int GetFarmNoLookupIndex(int a_ref)
Get a farm reference from the lookup table.
Definition: Farm.h:1609
tov_OCloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:205
DK_WinterCloverGrassGrazedSown
Definition: DK_WinterCloverGrassGrazedSown.h:70
tov_SeedGrass1
Definition: LandscapeFarmingEnums.h:212
IRWinterBarley
IRWinterBarley class .
Definition: IRWinterBarley.h:107
UserDefinedFarm::InitiateManagement
virtual void InitiateManagement(void)
Kicks off the farm's management.
Definition: Farm.cpp:1280
Calendar::Date
long Date(void)
Definition: Calendar.h:57
DE_WinterWheat
DE_WinterWheat class .
Definition: DE_WinterWheat.h:108
tov_FIStarchPotato_South
Definition: LandscapeFarmingEnums.h:528
OrganicCattle
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1097
cfg_OliveGroveIntensivePct
CfgFloat cfg_OliveGroveIntensivePct("OLIVEGROVEINTENSIVEPCT", CFG_CUSTOM, 1.00)
Used to define the type of management in olive gorves. By default all are managed intensively....
DataForOptimisation::FarmData::md_farmType
TTypesOfOptFarms md_farmType
Definition: Farm.h:666
tov_SpringBarleySilage
Definition: LandscapeFarmingEnums.h:214
toc_Ryegrass
Definition: LandscapeFarmingEnums.h:895
SpringBarleyStriglingCulm
Definition: SpringBarleyStriglingCulm.h:77
tov_IRWinterWheat
Definition: LandscapeFarmingEnums.h:602
UserDefinedFarm16::UserDefinedFarm16
UserDefinedFarm16(FarmManager *a_manager)
Definition: Farm.cpp:3651
tof_ConvMarginalJord
Definition: LandscapeFarmingEnums.h:654
tov_SpringBarleyPTreatment
Definition: LandscapeFarmingEnums.h:225
toc_OStarchPotato
Definition: LandscapeFarmingEnums.h:874
tov_FRPotatoes
Definition: LandscapeFarmingEnums.h:593
tov_UKBeet
Definition: LandscapeFarmingEnums.h:279
DK_OLegume_Whole_CC
Definition: DK_OLegume_Whole_CC.h:59
Farm::Harvested
virtual void Harvested(TTypesOfCrops a_toc, double a_yield)
Records harvest results.
Definition: Farm.cpp:6038
Farm::HarvestBushFruit
virtual bool HarvestBushFruit(LE *a_field, double a_user, int a_days)
Harvest bush fruit on a_field - no tramlines since fruits are picked by hand, the bush stays on field...
Definition: FarmFuncs.cpp:1794
APoint
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:52
Crop::GetFirstDate
int GetFirstDate(void)
Definition: Farm.h:542
NLGrassGrazedExtensive1Spring
NLGrassGrazedExtensive1Spring class .
Definition: NLGrassGrazedExtensive1Spring.h:71
tov_DKOSpringWheat
Definition: LandscapeFarmingEnums.h:399
tov_DKOrchCherry
Definition: LandscapeFarmingEnums.h:464
NoPesticideNoPFarm::NoPesticideNoPFarm
NoPesticideNoPFarm(FarmManager *a_manager)
Definition: Farm.cpp:3492
tov_DEPermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:500
NLCabbage
NLCabbage class .
Definition: NLCabbage.h:75
toc_OBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:820
tov_DKLegume_Whole
Definition: LandscapeFarmingEnums.h:356
LE::ForceGrowthInitialiseForFirstYearCrop
virtual void ForceGrowthInitialiseForFirstYearCrop(void)
Definition: Elements.h:187
NLBeet
NLBeet class .
Definition: NLBeet.h:70
tov_PTOliveGroveSuperIntensive
Definition: LandscapeFarmingEnums.h:336
DK_FarmYoungForest_Perm
Definition: DK_FarmYoungForest_Perm.h:50
tov_PTFodderMix
Definition: LandscapeFarmingEnums.h:312
HunterInfo::CheckedFarms
vector< int > CheckedFarms
A list of farms that has been tested for duplicates.
Definition: Farm.h:447
Farm::FP_AmmoniumSulphate
virtual bool FP_AmmoniumSulphate(LE *a_field, double a_user, int a_days)
Apply Ammonium Sulphate to a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:882
UserDefinedFarm8
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1278
CropOptimised::m_area_ha
double m_area_ha
Area of a crop in ha at a farm [ha].
Definition: Farm.h:1454
Crop::GetCropType
void GetCropType(TTypesOfCrops a_toc)
Definition: Farm.h:551
DE_WinterBarley
DE_WinterBarley class .
Definition: DE_WinterBarley.h:102
tole_Vineyard
Definition: LandscapeFarmingEnums.h:148
Farm::Spraying_herbicides
virtual bool Spraying_herbicides(TTypesOfVegetation)
Definition: Farm.h:776
toc_Carrots
Definition: LandscapeFarmingEnums.h:789
tof_ConventionalPlant
Definition: LandscapeFarmingEnums.h:647
fmc_Cultivation
Definition: LandscapeFarmingEnums.h:1008
tov_DKOLegume_Whole_CC
Definition: LandscapeFarmingEnums.h:428
FarmManager::GetUseSocioEconomicFarmers
bool GetUseSocioEconomicFarmers()
Get the flag for use of socio-economic farmers.
Definition: Farm.h:1671
Farm::FP_N
virtual bool FP_N(LE *a_field, double a_user, int a_days)
Apply N fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:700
Farm::HarvestShoots
virtual bool HarvestShoots(LE *a_field, double a_user, int a_days)
HarvestShoots applied on a_field (e.g. asparagus) - details needs to be added (e.g....
Definition: FarmFuncs.cpp:1883
NLPotatoes
NLPotatoes class .
Definition: NLPotatoes.h:95
DataForOptimisation::Set_Nnorm
void Set_Nnorm(double a_value, int i)
Definition: Farm.h:618
tov_Triticale
Definition: LandscapeFarmingEnums.h:215
CfgBool
Bool configurator entry class.
Definition: Configurator.h:155
DK_MaizeSilage
Definition: DK_MaizeSilage.h:57
PTOliveGroveTradOrganic
Definition: PTOliveGroveTradOrganic.h:66
tof_ConventionalCattle
Definition: LandscapeFarmingEnums.h:645
tov_IRSpringBarley
Definition: LandscapeFarmingEnums.h:597
tov_DKOOrchPear
Definition: LandscapeFarmingEnums.h:467
Farm::HayBailing
virtual bool HayBailing(LE *a_field, double a_user, int a_days)
Carry out hay bailing on a_field.
Definition: FarmFuncs.cpp:1507
tov_FRSpringOats
Definition: LandscapeFarmingEnums.h:590
tov_PLWinterBarley
Definition: LandscapeFarmingEnums.h:234
tof_UserDefinedFarm5
Definition: LandscapeFarmingEnums.h:664
DK_OCloverGrassGrazed3
DK_OCloverGrassGrazed3 class .
Definition: DK_OCloverGrassGrazed3.h:94
tov_DKMaizeSilage
Definition: LandscapeFarmingEnums.h:383
tov_DKOFarmYoungForest_Perm
Definition: LandscapeFarmingEnums.h:457
tov_DEOPeas
Definition: LandscapeFarmingEnums.h:488
tole_OFarmYoungForest
Definition: LandscapeFarmingEnums.h:167
tov_NLMaize
Definition: LandscapeFarmingEnums.h:253
tov_AgroChemIndustryCereal
Definition: LandscapeFarmingEnums.h:217
tov_DEGreenFallow_1year
Definition: LandscapeFarmingEnums.h:475
tov_NorwegianPotatoes
Definition: LandscapeFarmingEnums.h:230
UKBeans
UKBeans class .
Definition: UKBeans.h:60
tov_DKOMaize
Definition: LandscapeFarmingEnums.h:386
tov_OSeedGrass2
Definition: LandscapeFarmingEnums.h:208
cfg_Min_certainty
CfgFloat cfg_Min_certainty("MIN_CERTAINTY", CFG_CUSTOM, 0)
A parameter setting the minimum certainty level.
tov_FIOPotato_North
Definition: LandscapeFarmingEnums.h:541
FarmManager::FarmManagement
void FarmManagement()
Runs the daily farm management for each farm, but also calculates annual spilled grain and maize.
Definition: Farm.cpp:3921
SpringBarleySKManagement
Definition: SpringBarleySKManagement.h:75
tov_DKGrassLowYield_Perm
Definition: LandscapeFarmingEnums.h:461
DataForOptimisation::Get_biomass_factor
double Get_biomass_factor(int i)
Definition: Farm.h:648
tof_AgroChemIndustryCerealFarm2
Definition: LandscapeFarmingEnums.h:656
toc_FieldPeas
Definition: LandscapeFarmingEnums.h:799
tof_UserDefinedFarm15
Definition: LandscapeFarmingEnums.h:674
tov_FIPotato_South
Definition: LandscapeFarmingEnums.h:540
fmc_Others
Definition: LandscapeFarmingEnums.h:1003
Farm::FA_Calcium
virtual bool FA_Calcium(LE *a_field, double a_user, int a_days)
Calcium applied on a_field owned by a stock farmer.
Definition: FarmFuncs.cpp:1168
FI_OSpringRape
FI_OSpringRape class .
Definition: FI_OSpringRape.h:90
DataForOptimisation::m_cropTypes_almass
vector< TTypesOfVegetation > m_cropTypes_almass
Crop types saved as enumarator types (ALMaSS crop mode).
Definition: Farm.h:695
IRWinterWheat
IRWinterWheat class .
Definition: IRWinterWheat.h:109
FI_GrasslandSilagePerennial1
FI_GrasslandSilagePerennial1 class .
Definition: FI_GrasslandSilagePerennial1.h:90
tof_PTrialControl
Definition: LandscapeFarmingEnums.h:651
Farm::m_rotation
vector< TTypesOfVegetation > m_rotation
Definition: Farm.h:1001
toc_MixedVeg
Definition: LandscapeFarmingEnums.h:817
toc_OVegSeeds
Definition: LandscapeFarmingEnums.h:877
Farm::m_farm_centroidx
int m_farm_centroidx
Farm's centroid, value x. Equal to the average of the x centroid values of all farm's fields.
Definition: Farm.h:1023
UKMaize
Definition: UKMaize.h:46
CropOptimised::m_benefit
double m_benefit
A value of selling price for non-fodder crops or a value of fodder units obtained from a hkg of a fod...
Definition: Farm.h:1418
tov_DEOWinterRape
Definition: LandscapeFarmingEnums.h:495
Farm::StrawChopping
virtual bool StrawChopping(LE *a_field, double a_user, int a_days)
Carry out straw chopping on a_field.
Definition: FarmFuncs.cpp:1475
tov_DEOOats
Definition: LandscapeFarmingEnums.h:487
cfg_OliveGroveSuperIntensivePct
CfgFloat cfg_OliveGroveSuperIntensivePct("OLIVEGROVESUPERINTENSIVEPCT", CFG_CUSTOM, 0)
UserDefinedFarm9::UserDefinedFarm9
UserDefinedFarm9(FarmManager *a_manager)
Definition: Farm.cpp:3592
PermanentGrassGrazed
Definition: PermanentGrassGrazed.h:54
FI_OWinterRye
FI_OWinterRye class .
Definition: FI_OWinterRye.h:96
DK_OSpringOats_CC
Definition: DK_OSpringOats_CC.h:68
toc_FieldPeasSilage
Definition: LandscapeFarmingEnums.h:800
NorwegianPotatoes
Definition: NorwegianPotatoes.h:73
toc_OOrchardCrop
Definition: LandscapeFarmingEnums.h:845
tole_PermPastureLowYield
Definition: LandscapeFarmingEnums.h:66
cfg_NumberNeighboursAssociative
CfgInt cfg_NumberNeighboursAssociative("NUMBER_NEIGHBOURS_ASSOCIATIVE", CFG_CUSTOM, 0)
WinterBarleyStrigling
Definition: WinterBarleyStrigling.h:88
ppp_foobar
Definition: LandscapeFarmingEnums.h:1089
tov_DEBushFruitPerm
Definition: LandscapeFarmingEnums.h:520
DE_Cabbage
DE_Cabbage class .
Definition: DE_Cabbage.h:103
tov_NLGrassGrazedExtensive1
Definition: LandscapeFarmingEnums.h:273
NLBeetSpring
NLBeetSpring class .
Definition: NLBeetSpring.h:67
tov_PTSorghum
Definition: LandscapeFarmingEnums.h:311
CropOptimised::m_nt
double m_nt
Amount of purchased (and applied) fertilizer per ha of a crop [kg N/ha].
Definition: Farm.h:1413
DE_OGrasslandSilageAnnual
DE_OGrasslandSilageAnnual1 class .
Definition: DE_OGrasslandSilageAnnual.h:86
DK_OGrazingPigs_Perm
Definition: DK_OGrazingPigs_Perm.h:45
Farm::Mowing
virtual bool Mowing(LE *a_field, double a_user, int a_days)
Physical/mechanical weed control in the between-row area using a rotary mower cutter.
Definition: FarmFuncs.cpp:434
Farm::FP_NC
virtual bool FP_NC(LE *a_field, double a_user, int a_days)
Apply NC fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:753
tov_DEHerbsPerennial_1year
Definition: LandscapeFarmingEnums.h:513
SugarBeet
Definition: SugarBeet.h:72
tov_DKUndefined
Definition: LandscapeFarmingEnums.h:415
tof_NoPesticideNoP
Definition: LandscapeFarmingEnums.h:659
tov_DKOOrchOther
Definition: LandscapeFarmingEnums.h:469
SpringRape
Definition: SpringRape.h:78
FarmFuncsCostBenefits::LabourCost
double LabourCost
Definition: Farm.h:344
toc_OFieldPeas
Definition: LandscapeFarmingEnums.h:831
PTWinterWheat
PTWinterWheat class .
Definition: PTWinterWheat.h:86
fmc_Watering
Definition: LandscapeFarmingEnums.h:1011
DummyCropPestTesting
Definition: DummyCropPestTesting.h:62
tov_DEOMaize
Definition: LandscapeFarmingEnums.h:485
cfg_NumberNeighboursSpatial
CfgInt cfg_NumberNeighboursSpatial("NUMBER_NEIGHBOURS_SPATIAL", CFG_CUSTOM, 5)
tov_FRWinterWheat
Definition: LandscapeFarmingEnums.h:581
DataForOptimisation::Set_sellingPrice_lastyr
void Set_sellingPrice_lastyr(double a_value, int i)
Definition: Farm.h:637
FarmManager::GetFarmArableSize
int GetFarmArableSize(int a_farmref)
Returns the arable area from the farm ref num.
Definition: Farm.h:1503
FarmManager::AddField
void AddField(int a_OwnerIndex, LE *a_newland, int a_Owner)
Definition: Farm.cpp:3978
MaizeStrigling
Definition: MaizeStrigling.h:59
FarmManager::ReadCropManagementNorms
void ReadCropManagementNorms()
Reads in and creates the crop management norms data for socio-economics.
Definition: Farm.cpp:6157
tov_PermanentSetAside
Definition: LandscapeFarmingEnums.h:211
Crop::GetCropClassification
int GetCropClassification()
Definition: Farm.h:547
CropOptimised::m_BIFi
double m_BIFi
Value of BI for fung- and insecticides [BI/ha].
Definition: Farm.h:1424
DK_PotatoIndustry
Definition: DK_PotatoIndustry.h:90
tov_DEPotatoes
Definition: LandscapeFarmingEnums.h:502
FarmerList::AddFarmer
void AddFarmer(Farmer *a_farmer)
Adds a farmer to the end of the list.
Definition: Farm.h:474
DK_OPotato
Definition: DK_OPotato.h:79
FarmerList
A class to manage simple farmer list functionality.
Definition: Farm.h:459
SeedGrass2
Definition: SeedGrass2.h:56
tov_PLBeans
Definition: LandscapeFarmingEnums.h:249
Farm::FA_ManganeseSulphate
virtual bool FA_ManganeseSulphate(LE *a_field, double a_user, int a_days)
Apply manganese sulphate to a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1095
FarmManager::daydegrees
double daydegrees
Daydegrees for period March 1st - November 1st. Used to determine yield of crops that are not harvest...
Definition: Farm.h:1694
Calendar::OldDays
long OldDays(void)
Definition: Calendar.h:60
BEBeet
BEBeet class .
Definition: BEBeet.h:69
tov_FIGrasslandSilageAnnual
Definition: LandscapeFarmingEnums.h:564
tole_NaturalFarmGrass
Definition: LandscapeFarmingEnums.h:171
Crop::GetForceSpringOK
bool GetForceSpringOK()
Definition: Farm.h:558
DK_SeedGrassFescue_Spring
DK_SeedGrassFescue_Spring class .
Definition: DK_SeedGrassFescue_Spring.h:116
CropOptimised::m_cropType
TTypesOfCrops m_cropType
Type/name of a crop (original farm optimization model crop types).
Definition: Farm.h:1399
toc_PotatoesIndustry
Definition: LandscapeFarmingEnums.h:892
FarmManager::SetDD
void SetDD(double a_dd)
Definition: Farm.h:1606
CropOptimised::m_income_ha
double m_income_ha
Value of income per ha of a crop. Includes value of sales and subsidy [DKK/ha].
Definition: Farm.h:1442
tov_WinterRyeStrigling
Definition: LandscapeFarmingEnums.h:221
LowPriPair::m_pri
long m_pri
Definition: Lowqueue.h:89
tov_DEOGreenFallow_1year
Definition: LandscapeFarmingEnums.h:483
HunterInfo
A data structure to hold hunter information for distribution.
Definition: Farm.h:435
tof_UserDefinedFarm24
Definition: LandscapeFarmingEnums.h:683
DE_SpringBarley
DE_SpringBarley class .
Definition: DE_SpringBarley.h:92
DE_OWinterRape
Definition: DE_OWinterRape.h:60
tov_SpringBarleyCloverGrassStrigling
Definition: LandscapeFarmingEnums.h:220
tole_OFarmForest
Definition: LandscapeFarmingEnums.h:161
NLCabbageSpring
NLCabbageSpring class .
Definition: NLCabbageSpring.h:72
tof_NoPesticideBase
Definition: LandscapeFarmingEnums.h:658
OPotatoes
Definition: OPotatoes.h:62
tov_DKOptimalFlowerMix1
Definition: LandscapeFarmingEnums.h:436
FarmerList::m_TheFarmers
vector< Farmer * > m_TheFarmers
The list of farmers.
Definition: Farm.h:463
DataForOptimisation::Get_emaize_price
double Get_emaize_price(int i)
Definition: Farm.h:660
FarmManager::GetNoFarms
int GetNoFarms()
Definition: Farm.h:1636
tov_FISpringBarley_Malt
Definition: LandscapeFarmingEnums.h:549
tov_DKWinterBarley
Definition: LandscapeFarmingEnums.h:417
FarmManager::m_UseSocioEconomicFarmers
static bool m_UseSocioEconomicFarmers
Flag for use of socio-economic farmers.
Definition: Farm.h:1679
toc_FodderLucerne2
Definition: LandscapeFarmingEnums.h:805
CatchCropTypes
CatchCropTypes
Definition: Farm.h:327
FR_WinterBarley
FR_WinterBarley class .
Definition: FR_WinterBarley.h:106
tov_UKBeans
Definition: LandscapeFarmingEnums.h:278
UserDefinedFarm5
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1251
tov_DESugarBeet
Definition: LandscapeFarmingEnums.h:471
tov_DEOOrchard
Definition: LandscapeFarmingEnums.h:519
DK_OLegume_Beans_CC
Definition: DK_OLegume_Beans_CC.h:56
tov_NLBeet
Definition: LandscapeFarmingEnums.h:251
BECatchPeaCrop
BECatchPeaCrop class .
Definition: BECatchPeaCrop.h:53
FI_BufferZone_Perm
FI_BufferZone_Perm class .
Definition: FI_BufferZone_Perm.h:86
tov_OCarrots
Definition: LandscapeFarmingEnums.h:205
Farm::FiberCovering
virtual bool FiberCovering(LE *a_field, double a_user, int a_days)
Fiber covering applied on a_field.
Definition: FarmFuncs.cpp:1766
MapErrorMsg::Warn
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
FarmerList::ReplaceFarmer
void ReplaceFarmer(int i, Farmer *a_farmer)
Replace a farmer.
Definition: Farm.h:478
FR_WinterRape
FR_WinterRape class .
Definition: FR_WinterRape.h:109
tov_OFirstYearDanger
Definition: LandscapeFarmingEnums.h:206
tov_NLBeetSpring
Definition: LandscapeFarmingEnums.h:262
NorwegianSpringBarley
Definition: NorwegianSpringBarley.h:48
tov_FIOSpringBarley_Malt
Definition: LandscapeFarmingEnums.h:550
FarmManager::GetFarmerList
FarmerList * GetFarmerList()
Gets the farmer list pointer (used by social networks and farmers)
Definition: Farm.h:1654
IRGrassland_reseed
IRGrassland_reseed class .
Definition: IRGrassland_reseed.h:144
DE_OAsparagusEstablishedPlantation
Definition: DE_OAsparagusEstablishedPlantation.h:90
Farm::FA_Boron
virtual bool FA_Boron(LE *a_field, double a_user, int a_days)
Apply soluble Boron to a_field owned by a stock farmer.
Definition: FarmFuncs.cpp:868
DE_WinterWheatLate
DE_WinterWheatLate class .
Definition: DE_WinterWheatLate.h:108
Population_Manager
Base class for all population managers for agent based models.
Definition: PopulationManager.h:645
tov_PlantNursery
Definition: LandscapeFarmingEnums.h:228
tov_IRGrassland_reseed
Definition: LandscapeFarmingEnums.h:600
FI_OStarchPotato_North
Definition: FI_OStarchPotato_North.h:55
CloverGrassGrazed2
Definition: CloverGrassGrazed2.h:54
Farm::CutOrch
virtual bool CutOrch(LE *a_field, double a_user, int a_days)
Cut vegetation on orchard crop. //based on cut to silage - values from cutting function of orchard.
Definition: FarmFuncs.cpp:1666
DE_OGreenFallow_1year
DE_OGreenFallow_1years class .
Definition: DE_OGreenFallow_1year.h:83
Farm::FP_Calcium
virtual bool FP_Calcium(LE *a_field, double a_user, int a_days)
Calcium applied on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:954
DataForOptimisation::m_beta1
vector< double > m_beta1
Crop parameter for response (growth) function (resp = alfa + beta1*N + beta2*N^2; defines relationshi...
Definition: Farm.h:718
Farm::FA_K
virtual bool FA_K(LE *a_field, double a_user, int a_days)
Apply K fertilizer, on a_field owned by stock farmer.
Definition: FarmFuncs.cpp:1038
FieldPeasSilage
Definition: FieldPeasSilage.h:62
tov_SpringBarley
Definition: LandscapeFarmingEnums.h:214
LE::GetRotIndex
int GetRotIndex(void)
Definition: Elements.h:373
DE_OPermanentGrassGrazed
DE_OPermanentGrassGrazed class .
Definition: DE_OPermanentGrassGrazed.h:83
DK_OSpringBarley
Definition: DK_OSpringBarley.h:61
tov_FIGrasslandSilagePerennial1
Definition: LandscapeFarmingEnums.h:558
cfg_Sensitivity_analysis
CfgBool cfg_Sensitivity_analysis("SENSITIVITY_ANALYSIS", CFG_CUSTOM, false)
UKWinterRape
UKWinterRape class .
Definition: UKWinterRape.h:77
Oats
Definition: Oats.h:60
tov_WinterWheatStriglingSingle
Definition: LandscapeFarmingEnums.h:224
tov_DKGrassGrazed_Perm
Definition: LandscapeFarmingEnums.h:460
Farm::m_PermCrops
vector< PermCropData > m_PermCrops
Definition: Farm.h:1002
FarmManager::FindClosestFarm
int FindClosestFarm(HunterInfo a_hinfo, vector< int > *a_farmlist)
Finds the closest farm to this co-ordinate.
Definition: Farm.cpp:5727
DK_GrassTussocky_Perm
Definition: DK_GrassTussocky_Perm.h:48
Farm::FlowerCutting
virtual bool FlowerCutting(LE *a_field, double a_user, int a_days)
Flower cutting applied on a_field.
Definition: FarmFuncs.cpp:1688
Farm::FarmerActions
bool FarmerActions(void)
The starting point for farmer behaviour not part of crop management e.g. decision making.
Definition: Farm.cpp:795
tov_FIStarchPotato_North
Definition: LandscapeFarmingEnums.h:527
FR_Sunflower
FR_Sunflower class .
Definition: FR_Sunflower.h:97
tov_PTOats
Definition: LandscapeFarmingEnums.h:327
NLPermanentGrassGrazedExtensive
NLPermanentGrassGrazedExtensive class .
Definition: NLPermanentGrassGrazedExtensive.h:70
Farm::FP_NS
virtual bool FP_NS(LE *a_field, double a_user, int a_days)
Apply NS fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:740
CropOptimised::m_resp
double m_resp
Response - yield of a crop per ha [hkg/ha].
Definition: Farm.h:1420
DK_Legume_Peas
Definition: DK_Legume_Peas.h:55
AgroChemIndustryCerealFarm1
Inbuilt special purpose farm type.
Definition: Farm.h:1151
tov_FISpringWheat
Definition: LandscapeFarmingEnums.h:531
toc_OSpringRye
Definition: LandscapeFarmingEnums.h:872
tov_PTWinterWheat
Definition: LandscapeFarmingEnums.h:309
tov_SpringWheat
Definition: LandscapeFarmingEnums.h:215
FI_PotatoIndustry_South
Definition: FI_PotatoIndustry_South.h:66
FarmEvent::m_event
TTypesOfVegetation m_event
Definition: Farm.h:389
farminfo::m_NoHunters
int m_NoHunters
Definition: Farm.h:424
Farm::Herbicide
virtual void Herbicide(int a_area)
Records the costs of herbicide treatment, and associated score change.
Definition: Farm.cpp:6058
Crop::Do
virtual bool Do(Farm *a_farm, LE *a_field, FarmEvent *a_ev)
Definition: Farm.cpp:743
Carrots
Definition: Carrots.h:67
FarmManager::FindClosestFarmOpennessProbNearRoostIsBest
int FindClosestFarmOpennessProbNearRoostIsBest(HunterInfo a_hinfo, vector< int > *a_farmlist, int a_openness, vector< APoint > *a_farmsizelist)
Finds the closest farm to this co-ordinate with openness more than a value but uses a probability dis...
Definition: Farm.cpp:5890
tov_FIOSpringWheat
Definition: LandscapeFarmingEnums.h:532
DataForOptimisation::Set_livestockTypes
void Set_livestockTypes(TTypesOfFarmAnimals livestock_type)
Definition: Farm.h:583
tov_DKOWinterWheat_CC
Definition: LandscapeFarmingEnums.h:423
Farm::FA_N
virtual bool FA_N(LE *a_field, double a_user, int a_days)
Apply N fertilizer, on a_field owned by a stock farmer.
Definition: FarmFuncs.cpp:713
Crop::StartUpCrop
bool StartUpCrop(int a_spring, std::vector< std::vector< int >> a_flexdates, int a_todo)
Holds the translation between the farm operation enum for each cropand the farm management category a...
Definition: Farm.cpp:652
DK_OOrchPear
DK_OOrchPear class .
Definition: DK_OOrchPear.h:99
Farm::FP_Boron
virtual bool FP_Boron(LE *a_field, double a_user, int a_days)
Apply soluble Boron to a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:854
tov_DKBushFruit_Perm1
Definition: LandscapeFarmingEnums.h:442
DK_Potato
Definition: DK_Potato.h:81
tov_DKPotatoIndustry
Definition: LandscapeFarmingEnums.h:405
Farm::m_farm_centroidy
int m_farm_centroidy
Farm's centroid, value y. Equal to the average of the y centroid values of all farm's fields.
Definition: Farm.h:1025
tov_DEPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:499
tole_FarmYoungForest
Definition: LandscapeFarmingEnums.h:166
Farm::GetArea
int GetArea(void)
Returns the area of arable fields owned by that farm.
Definition: Farm.cpp:1082
SE_WinterRape_Seed
SE_WinterRape_Seed class .
Definition: SE_WinterRape_Seed.h:101
tov_NLSpringBarleySpring
Definition: LandscapeFarmingEnums.h:266
Livestock::m_NanimUsable
double m_NanimUsable
Amount of usable animal fertilizer from a given type of livestock. [kg].
Definition: Farm.h:1381
APoint::m_x
int m_x
Definition: ALMaSS_Setup.h:55
toc_OOats
Definition: LandscapeFarmingEnums.h:843
DataForOptimisation::m_rotationMax
vector< double > m_rotationMax
Maximum acreage of a crop at a farm [%]. Farm type, soil type and farm size specific.
Definition: Farm.h:741
UserDefinedFarm1::UserDefinedFarm1
UserDefinedFarm1(FarmManager *a_manager)
Definition: Farm.cpp:3520
Farm::GetNoFields
int GetNoFields()
Returns the number of the fields owned.
Definition: Farm.h:797
DK_WinterRye
Definition: DK_WinterRye.h:75
tov_DKCerealLegume
Definition: LandscapeFarmingEnums.h:365
tov_UKMaize
Definition: LandscapeFarmingEnums.h:280
tole_GreenFallow
Definition: LandscapeFarmingEnums.h:172
tov_OWinterRape
Definition: LandscapeFarmingEnums.h:209
FarmFuncsCostBenefits::EconomicCost
double EconomicCost
Definition: Farm.h:345
tov_DKOBushFruit_Perm1
Definition: LandscapeFarmingEnums.h:444
tole_PermPastureTussocky
Definition: LandscapeFarmingEnums.h:67
DE_OPermanentGrassLowYield
Definition: DE_OPermanentGrassLowYield.h:77
tpct::pct
int pct
Definition: Farm.h:365
tov_SESpringBarley
Definition: LandscapeFarmingEnums.h:576
WinterRye
Definition: WinterRye.h:77
DataForOptimisation::Get_cropParameter
double Get_cropParameter(int i)
Definition: Farm.h:610
Farm.h
Farm.h This file contains the headers for the Farm class
FI_OCaraway2
FI_OCaraway2 class .
Definition: FI_OCaraway2.h:79
FarmEvent::m_field
LE * m_field
Definition: Farm.h:391
tov_DKOLegume_Peas_CC
Definition: LandscapeFarmingEnums.h:427
DataForOptimisation::Set_fodder
void Set_fodder(string a_value, int i)
Definition: Farm.h:627
PesticideTrialTreatment
Inbuilt special purpose farm type.
Definition: Farm.h:1129
PesticideTrialToxicControl::PesticideTrialToxicControl
PesticideTrialToxicControl(FarmManager *a_manager)
Definition: Farm.cpp:3359
FarmEvent::m_next_tov
TTypesOfVegetation m_next_tov
Definition: Farm.h:390
tole_OBushFruit
Definition: LandscapeFarmingEnums.h:155
FarmerAttributes::Age
int Age
Definition: Farm.h:339
tov_PermanentGrassTussocky
Definition: LandscapeFarmingEnums.h:211
Farm::ManualWeeding
virtual bool ManualWeeding(LE *a_field, double a_user, int a_days)
Manual weeding on a_field - no tramlines since weeding by hand, the bush stays on field with same veg...
Definition: FarmFuncs.cpp:2002
tov_FRSunflower
Definition: LandscapeFarmingEnums.h:591
tof_PTrialToxicControl
Definition: LandscapeFarmingEnums.h:653
FR_Grassland
FR_Grassland class .
Definition: FR_Grassland.h:107
toc_PermanentSetAside
Definition: LandscapeFarmingEnums.h:889
tov_BEGrassGrazed2
Definition: LandscapeFarmingEnums.h:294
tov_BEGrassGrazed1
Definition: LandscapeFarmingEnums.h:292
pesticiderecord::m_present
bool m_present
Definition: Farm.h:353
tov_DKOSpringOats_CC
Definition: LandscapeFarmingEnums.h:430
Crop::m_farm
Farm * m_farm
Definition: Farm.h:498
TTypesOfPopulation
TTypesOfPopulation
An enum to hold all the possible types of population handled by a Population_Manager class.
Definition: PopulationManager.h:57
tov_SpringBarleySpr
Definition: LandscapeFarmingEnums.h:228
Crop::m_field
LE * m_field
Definition: Farm.h:499
FarmerList::FarmerList
FarmerList()
FarmerList constructor.
Definition: Farm.h:466
DataForOptimisation::m_str_cropTypes_almass
vector< string > m_str_cropTypes_almass
Crop types saved in string format (ALMaSS crop mode).
Definition: Farm.h:693
FR_SpringOats
FR_SpringBarley class .
Definition: FR_SpringOats.h:91
CfgInt::value
int value() const
Definition: Configurator.h:116
DK_FodderBeet
Definition: DK_FodderBeet.h:57
tov_DEOPermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:501
DataForOptimisation::m_biomass_factors
vector< double > m_biomass_factors
Factor used to determine actual response (yield per ha) based on crop biomass at a harvest....
Definition: Farm.h:725
GenericCatchCrop
GenericCatchCrop class .
Definition: GenericCatchCrop.h:48
tov_FIFeedingGround
Definition: LandscapeFarmingEnums.h:561
UserDefinedFarm2
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1224
FarmManager::m_FarmFuncsCB
vector< FarmFuncsCostBenefits > m_FarmFuncsCB
Holds the list of cost benefits for farm functions (management actions)
Definition: Farm.h:1705
PTSorghum
PTSorghum class .
Definition: PTSorghum.h:88
tov_DKOVegSeeds
Definition: LandscapeFarmingEnums.h:400
tov_FIOPotato_South
Definition: LandscapeFarmingEnums.h:542
toc_CloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:793
CropOptimised::m_lossHerb
double m_lossHerb
Value of the yield loss due to the limited use of herbicides [%].
Definition: Farm.h:1434
tov_PLPotatoes
Definition: LandscapeFarmingEnums.h:241
tov_PLWinterWheatLate
Definition: LandscapeFarmingEnums.h:247
tole_EnergyCrop
Definition: LandscapeFarmingEnums.h:158
tof_UserDefinedFarm34
Definition: LandscapeFarmingEnums.h:693
Farm::GetCentroids
APoint GetCentroids()
Definition: Farm.h:965
toc_OBushFruit
Definition: LandscapeFarmingEnums.h:823
DataForOptimisation::m_FUKey
vector< double > m_FUKey
Crop parameter: Fodder unit key, i.e. a number of fodder units obtained from a given crop [FU/hkg]....
Definition: Farm.h:733
Crop::m_ManagementCategories
vector< FarmManagementCategory > m_ManagementCategories
Holds the translation between the farm operation enum for each crop and the farm management category ...
Definition: Farm.h:530
Farm::Pheromone
virtual bool Pheromone(LE *a_field, double a_user, int a_days)
Pheromone applied on a_field - same as with org. pesticides for now.
Definition: FarmFuncs.cpp:2249
toc_OrchApple
Definition: LandscapeFarmingEnums.h:854
UserDefinedFarm15
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1341
Livestock::m_animalType
TTypesOfFarmAnimals m_animalType
Type of livestock.
Definition: Farm.h:1377
DataForOptimisation::Set_cropTypes
void Set_cropTypes(TTypesOfCrops crop_type)
Definition: Farm.h:584
tov_NLGrassGrazedExtensive2
Definition: LandscapeFarmingEnums.h:274
Farm::GetIntensity
double GetIntensity(void)
Definition: Farm.h:963
PTCabbage_Hort
PTCabbage_Hort class .
Definition: PTCabbage_Hort.h:79
PermCropData::Tov
TTypesOfVegetation Tov
Definition: Farm.h:358
DK_OMaizeSilage
Definition: DK_OMaizeSilage.h:69
toc_SpringBarleySilage
Definition: LandscapeFarmingEnums.h:905
Farm::FP_P
virtual bool FP_P(LE *a_field, double a_user, int a_days)
Apply P fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:687
SpringBarleyCloverGrassStrigling
Definition: SpringBarleyCloverGrassStrigling.h:62
tov_DummyCropPestTesting
Definition: LandscapeFarmingEnums.h:341
toc_Tulips
Definition: LandscapeFarmingEnums.h:913
PTSetAside
PTSetAside class .
Definition: PTSetAside.h:76
PesticideTrialToxicControl
Inbuilt special purpose farm type.
Definition: Farm.h:1119
Farm::FA_SK
virtual bool FA_SK(LE *a_field, double a_user, int a_days)
Apply SK fertilizer, on a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1052
DataForOptimisation::Set_alfa
void Set_alfa(double a_value, int i)
Definition: Farm.h:612
ConvMarginalJord
Inbuilt special purpose farm type.
Definition: Farm.h:1141
tov_NLGrassGrazed1
Definition: LandscapeFarmingEnums.h:259
tov_OTriticale
Definition: LandscapeFarmingEnums.h:209
Farm::PreseedingCultivatorSow
virtual bool PreseedingCultivatorSow(LE *a_field, double a_user, int a_days, double a_seed_coating_amount=-1, PlantProtectionProducts a_ppp=ppp_foobar)
Carry out preseeding cultivation together with sow on a_field (tilling and sowing set including culti...
Definition: FarmFuncs.cpp:325
tov_OWinterBarley
Definition: LandscapeFarmingEnums.h:209
FarmEvent::m_todo
int m_todo
Definition: Farm.h:388
tov_DKOrchOther
Definition: LandscapeFarmingEnums.h:465
OWinterRape
Definition: OWinterRape.h:63
UKBeet
UKBeet class .
Definition: UKBeet.h:66
Farm::InsecticideTreat
virtual bool InsecticideTreat(LE *a_field, double a_user, int a_days)
Apply insecticide to a_field.
Definition: FarmFuncs.cpp:2135
FI_WinterWheat
FI_WinterWheat class .
Definition: FI_WinterWheat.h:106
DataForOptimisation::Set_rotationMax
void Set_rotationMax(double a_value, int i)
Definition: Farm.h:640
FarmerList::GetSize
int GetSize()
Gets the list length.
Definition: Farm.h:480
Farm::FA_PKS
virtual bool FA_PKS(LE *a_field, double a_user, int a_days)
Apply PKS fertilizer to a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:996
Crop::LookUpManagementCategory
FarmManagementCategory LookUpManagementCategory(int a_todo)
Definition: Farm.h:555
tov_Undefined
Definition: LandscapeFarmingEnums.h:610
Farm::RemoveField
void RemoveField(LE *a_field)
Removes a field from a farm.
Definition: Farm.cpp:1254
tof_OrganicPlant
Definition: LandscapeFarmingEnums.h:650
DataForOptimisation::Get_beta1
double Get_beta1(int i)
Definition: Farm.h:615
tov_OSpringBarleyPigs
Definition: LandscapeFarmingEnums.h:209
DK_OPotatoSeed
Definition: DK_OPotatoSeed.h:79
PesticideTrialTreatment::PesticideTrialTreatment
PesticideTrialTreatment(FarmManager *a_manager)
Definition: Farm.cpp:3368
UserDefinedFarm2::UserDefinedFarm2
UserDefinedFarm2(FarmManager *a_manager)
Definition: Farm.cpp:3529
tov_PTOtherDryBeans
Definition: LandscapeFarmingEnums.h:317
cfg_MaizeEnergy
CfgBool cfg_MaizeEnergy("MAIZE_ENERGY", CFG_CUSTOM, false)
If set to true, the energy maize crop is included in the simulation.
LE_TypeClass::TranslateVegTypes
TTypesOfVegetation TranslateVegTypes(int VegReference)
Definition: Elements.cpp:3724
Farm::AutumnRoll
virtual bool AutumnRoll(LE *a_field, double a_user, int a_days)
Carry out a roll event in the autumn on a_field.
Definition: FarmFuncs.cpp:299
tov_CloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:203
tov_DKChristmasTrees_Perm
Definition: LandscapeFarmingEnums.h:446
DataForOptimisation::Get_livestockNumbersSize
int Get_livestockNumbersSize()
Definition: Farm.h:594
CropOptimised::m_areaPercent
double m_areaPercent
Area of a crop in percent of a farm's total area [%].
Definition: Farm.h:1450
OWinterWheatUndersown
Definition: OWinterWheatUndersown.h:64
Farm::FP_K
virtual bool FP_K(LE *a_field, double a_user, int a_days)
Apply K fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:726
LE::SetVegType
virtual void SetVegType(TTypesOfVegetation)
Definition: Elements.h:175
Farm::AddHunter
void AddHunter(Hunter *a_hunter)
Definition: Farm.h:982
Farm::ShallowHarrow
virtual bool ShallowHarrow(LE *a_field, double a_user, int a_days)
Carry out a shallow harrow event on a_field, e.g., after grass cutting event.
Definition: FarmFuncs.cpp:473
ITOrchard
ITOrchardd class .
Definition: ITOrchard.h:161
Farm::FP_Slurry
virtual bool FP_Slurry(LE *a_field, double a_user, int a_days)
Apply slurry to a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:823
DK_OChristmasTrees_Perm
DK_OChristmasTrees_Perm class .
Definition: DK_OChristmasTrees_Perm.h:167
DataForOptimisation::m_fodder
vector< bool > m_fodder
Crop Boolean parameter - fodder/non-fodder crop. Farm type specific.
Definition: Farm.h:731
cfg_OnlyDeliberation
CfgBool cfg_OnlyDeliberation("ONLY_DELIBERATION", CFG_CUSTOM, true)
If set to yes, the only decision mode/startegy the farmers can use is deliberation (i....
toc_MaizeStrigling
Definition: LandscapeFarmingEnums.h:816
Farm::HarvestLong
virtual bool HarvestLong(LE *a_field, double a_user, int a_days)
Carry out a harvest on a_field (only differs in the DoIt chance cf harvest)
Definition: FarmFuncs.cpp:1421
tov_BEBeet
Definition: LandscapeFarmingEnums.h:289
DataForOptimisation::Set_biomass_factor
void Set_biomass_factor(double a_value, int i)
Definition: Farm.h:647
Farm::BiocideTreat
virtual bool BiocideTreat(LE *a_field, double a_user, int a_days)
Apply Biocide to a_field.
Definition: FarmFuncs.cpp:2175
FarmManager::ConnectFarm
int ConnectFarm(int a_owner)
Definition: Farm.cpp:3989
toc_GrassGrazedLast
Definition: LandscapeFarmingEnums.h:810
tov_FICaraway2
Definition: LandscapeFarmingEnums.h:566
DataForOptimisation::FarmData
Class storing farm information: farm's number used in ALMaSS system, farm's soil type,...
Definition: Farm.h:663
DK_OLegume_Peas
Definition: DK_OLegume_Peas.h:56
toc_OliveGrove
Definition: LandscapeFarmingEnums.h:837
Farm::SleepAllDay
virtual bool SleepAllDay(LE *a_field, double a_user, int a_days)
Nothing to to today on a_field.
Definition: FarmFuncs.cpp:272
FI_SpringOats
FI_SpringOats class .
Definition: FI_SpringOats.h:100
FarmManager::m_ManagementCategoryLabels
string m_ManagementCategoryLabels[fmc_Foobar]
A list of labels of the main farm management action categories.
Definition: Farm.h:1707
FarmerAttributes::envA
double envA
Definition: Farm.h:336
DataForOptimisation::Get_livestockTypes
TTypesOfFarmAnimals Get_livestockTypes(int i)
Definition: Farm.h:586
tov_DKVegSeeds
Definition: LandscapeFarmingEnums.h:416
Farm::MakeStockFarmer
virtual void MakeStockFarmer(void)
Definition: Farm.h:962
toc_MaizeSilage
Definition: LandscapeFarmingEnums.h:814
DK_BushFruit_Perm1
DK_BushFruit_Perm1 class .
Definition: DK_BushFruit_Perm1.h:102
TTypesOfCrops
TTypesOfCrops
Definition: LandscapeFarmingEnums.h:781
tov_SEWinterRape_Seed
Definition: LandscapeFarmingEnums.h:577
UserDefinedFarm9
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1287
cfg_Price_SBarley
CfgFloat cfg_Price_SBarley("PRICE_SBARLEY", CFG_CUSTOM, 83)
DK_SeedGrassRye_Spring
DK_SeedGrassRye_Spring class .
Definition: DK_SeedGrassRye_Spring.h:103
farminfo::m_farmtype
int m_farmtype
Definition: Farm.h:416
tov_FIOWinterRye
Definition: LandscapeFarmingEnums.h:538
tov_OSpringBarleyExt
Definition: LandscapeFarmingEnums.h:225
SpringBarleyCloverGrass
Definition: SpringBarleyCloverGrass.h:65
PTWinterBarley
PTWinterBarley class .
Definition: PTWinterBarley.h:86
TOP_Ladybird
Definition: PopulationManager.h:76
FarmManager::GetFarm
Farm * GetFarm(int i)
Get a specific farm i.
Definition: Farm.h:1660
Farm::RowCultivation
virtual bool RowCultivation(LE *a_field, double a_user, int a_days)
Carry out a harrowing between crop rows on a_field.
Definition: FarmFuncs.cpp:1183
PLWinterTriticale
PLWinterTriticale class .
Definition: PLWinterTriticale.h:97
cfg_OliveGroveTradOrgPct
CfgFloat cfg_OliveGroveTradOrgPct("OLIVEGROVETRADORGPCT", CFG_CUSTOM, 0)
PermCropData::Pct
int Pct
Definition: Farm.h:359
tov_FIWinterRye
Definition: LandscapeFarmingEnums.h:537
tov_BEGrassGrazedLast
Definition: LandscapeFarmingEnums.h:295
UserDefinedFarm8::UserDefinedFarm8
UserDefinedFarm8(FarmManager *a_manager)
Definition: Farm.cpp:3583
DK_OGrassLowYield_Perm
Definition: DK_OGrassLowYield_Perm.h:52
toc_PotatoesSpring
Definition: LandscapeFarmingEnums.h:894
tov_MaizeStrigling
Definition: LandscapeFarmingEnums.h:220
toc_OWinterBarley
Definition: LandscapeFarmingEnums.h:878
tov_PTSetAside
Definition: LandscapeFarmingEnums.h:337
PTOats
PTOats class .
Definition: PTOats.h:83
DataForOptimisation::Get_livestockNumber
int Get_livestockNumber(int index)
Definition: Farm.h:593
LE::GetManagementTotals
vector< int > GetManagementTotals()
Definition: Elements.h:254
DataForOptimisation::Get_cropTypes_almass_size
int Get_cropTypes_almass_size()
Definition: Farm.h:652
FarmManager::FindOpennessFarm
int FindOpennessFarm(int a_openness)
Finds a random farm with at least one field with openness above a_openness.
Definition: Farm.cpp:5988
tof_UserDefinedFarm14
Definition: LandscapeFarmingEnums.h:673
tov_PLWinterWheat
Definition: LandscapeFarmingEnums.h:232
farminfo::m_farmcentroid
APoint m_farmcentroid
Definition: Farm.h:422
tov_SpringBarleyGrass
Definition: LandscapeFarmingEnums.h:214
LE
Definition: Elements.h:86
tov_NLGrassGrazedExtensiveLast
Definition: LandscapeFarmingEnums.h:276
DataForOptimisation::m_farm_data
vector< FarmData * > m_farm_data
Definition: Farm.h:673
tov_DEPotatoesIndustry
Definition: LandscapeFarmingEnums.h:503
Farm::Water
virtual bool Water(LE *a_field, double a_user, int a_days)
Carry out a watering on a_field.
Definition: FarmFuncs.cpp:1330
FR_WinterWheat
FR_WinterWheat class .
Definition: FR_WinterWheat.h:108
tov_FIOPotatoIndustry_North
Definition: LandscapeFarmingEnums.h:545
tole_YoungForest
Definition: LandscapeFarmingEnums.h:77
OCloverGrassSilage1
Definition: OCloverGrassSilage1.h:52
Crop::m_CropClassification
int m_CropClassification
Contains information on whether this is a winter crop, spring crop, or catch crop that straddles the ...
Definition: Farm.h:512
Crop::m_last_date
int m_last_date
Definition: Farm.h:503
tov_OBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:203
TTypesOfOptFarms
TTypesOfOptFarms
Values that represent types of optimising farms.
Definition: LandscapeFarmingEnums.h:705
UserDefinedFarm::UserDefinedFarm
UserDefinedFarm(TTypesOfFarm farm_type, const char *fname, FarmManager *a_manager)
Definition: Farm.cpp:3668
tof_OrganicPig
Definition: LandscapeFarmingEnums.h:649
tov_SpringBarleyStriglingSingle
Definition: LandscapeFarmingEnums.h:222
cfg_organic_extensive
CfgBool cfg_organic_extensive("FARM_ORGANIC_EXTENSIVE", CFG_CUSTOM, false)
PTOliveGroveTraditional
Definition: PTOliveGroveTraditional.h:82
DK_SpringOats_CC
Definition: DK_SpringOats_CC.h:58
FarmManager::IsDuplicateRef
bool IsDuplicateRef(int a_ref, HunterInfo *a_hinfo)
Checks if we already have this ref.
Definition: Farm.cpp:5717
tov_OOats
Definition: LandscapeFarmingEnums.h:206
tov_DKWinterWheat_CC
Definition: LandscapeFarmingEnums.h:422
FarmManager::FarmManager
FarmManager(Landscape *landscape)
Farm manager constructor.
Definition: Farm.cpp:3869
Farm::AutumnPlough
virtual bool AutumnPlough(LE *a_field, double a_user, int a_days)
Carry out a ploughing event in the autumn on a_field.
Definition: FarmFuncs.cpp:212
tof_UserDefinedFarm23
Definition: LandscapeFarmingEnums.h:682
FarmManager::GetDD
double GetDD(void)
Returnes day degrees for the period March 1st - November 1st. Used for determining yields of crops th...
Definition: Farm.h:1605
g_msg
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
ConventionalPig
Inbuilt farm type.
Definition: Farm.h:1047
cfg_Animals_number_test_day
CfgInt cfg_Animals_number_test_day("ANIMALS_NUMBER_TEST_DAY", CFG_CUSTOM, 152)
This parameter specifies the day at which farmers observe the number of animals residing at their far...
tov_DKOPotatoSeed
Definition: LandscapeFarmingEnums.h:391
Farm::SpringSowWithFerti
virtual bool SpringSowWithFerti(LE *a_field, double a_user, int a_days, double a_seed_coating_amount=-1, PlantProtectionProducts a_ppp=ppp_foobar)
Carry out a sowing event with start fertilizer in the spring on a_field.
Definition: FarmFuncs.cpp:537
PotatoesIndustry
Definition: PotatoesIndustry.h:72
CropOptimised::CropOptimised
CropOptimised()
Farm::LeafThinning
virtual bool LeafThinning(LE *a_field, double a_user, int a_days)
LeafThinning (leaf removal to increase areation and sun exposure of fruits, e.g., grapes) applied on ...
Definition: FarmFuncs.cpp:1927
tov_PTRyegrass
Definition: LandscapeFarmingEnums.h:324
AlmassCrop::Number
double Number
Definition: Farm.h:569
CropOptimised::m_rotationMin
double m_rotationMin
Minimum area in percent of farm's arable area for a given crop (depends on a farm size,...
Definition: Farm.h:1407
tov_OGrazingPigs
Definition: LandscapeFarmingEnums.h:206
FarmManager::GetFarmType
TTypesOfFarm GetFarmType(int a_farmref)
Returns the farm type from the farm ref num.
Definition: Farm.h:1508
DataForOptimisation::FarmData::md_soilSubType
int md_soilSubType
Definition: Farm.h:670
toc_OSpringRape
Definition: LandscapeFarmingEnums.h:871
HunterInfo::homeX
int homeX
Hunter home x-coord.
Definition: Farm.h:441
DK_OLegume_Whole
Definition: DK_OLegume_Whole.h:59
Farm::FA_NK
virtual bool FA_NK(LE *a_field, double a_user, int a_days)
Apply NK fertilizer, on a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:779
FarmManager::FindClosestFarmOpennessProb
int FindClosestFarmOpennessProb(HunterInfo a_hinfo, vector< int > *a_farmlist, int a_openness)
Finds the closest farm to this co-ordinate with openness more than a value but uses a probability dis...
Definition: Farm.cpp:5783
OrganicPlant::MakeStockFarmer
virtual void MakeStockFarmer(void)
Definition: Farm.h:1076
DataForOptimisation::m_noCrops
int m_noCrops
Number of crops used in the simulation.
Definition: Farm.h:681
Farm::m_queue
LowPriority< FarmEvent * > m_queue
Definition: Farm.h:999
Farm::AutumnHarrow
virtual bool AutumnHarrow(LE *a_field, double a_user, int a_days)
Carry out a harrow event in the autumn on a_field.
Definition: FarmFuncs.cpp:285
Farm::Farm
Farm(FarmManager *a_manager)
Farm constructor - creates an instance of each possible crop type.
Definition: Farm.cpp:1051
TTypesOfFarmSize
TTypesOfFarmSize
Definition: LandscapeFarmingEnums.h:741
tov_DKOMixedVeg
Definition: LandscapeFarmingEnums.h:388
cfg_FarmSizeProbParam1
CfgFloat cfg_FarmSizeProbParam1("FARMSIZEPROBPARAMONE", CFG_CUSTOM, 1.5)
A fitting parameter for the probability of hunter acceptance of a farm that is smaller.
NoPesticideNoPFarm
Inbuilt special purpose farm type.
Definition: Farm.h:1187
Farm::FA_AmmoniumSulphate
virtual bool FA_AmmoniumSulphate(LE *a_field, double a_user, int a_days)
Apply ammonium sulphate to a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1081
toc_SpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:902
tov_DKOWinterCloverGrassGrazedSown
Definition: LandscapeFarmingEnums.h:373
PLMaizeSilage
PLMaizeSilage class .
Definition: PLMaizeSilage.h:95
OSBarleySilage
Definition: OSBarleySilage.h:51
tof_UserDefinedFarm27
Definition: LandscapeFarmingEnums.h:686
LowPriPair::m_element
ELEMTYPE m_element
Definition: Lowqueue.h:88
HunterInfo::homeY
int homeY
Hunter home y-coord.
Definition: Farm.h:443
SpringBarleyPeaCloverGrassStrigling
Definition: BarleyPeaCloverGrassStrigling.h:69
tov_SpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:214
FarmerList::UpdateSocialNetworks
void UpdateSocialNetworks(bool a_geographic, bool a_associative, bool a_virtual)
Forces update of one or more social networks for each farmer.
Definition: Farm.cpp:6094
tov_SpringRape
Definition: LandscapeFarmingEnums.h:215
tov_DKOWinterRye
Definition: LandscapeFarmingEnums.h:403
g_farm_fixed_rotation_farms_async
CfgBool g_farm_fixed_rotation_farms_async("FARM_FIXED_ROTATION_FARMS_ASYNC", CFG_CUSTOM, false)
UKWinterWheat
UKWinterWheat class .
Definition: UKWinterWheat.h:76
OWinterBarley
Definition: OWinterBarley.h:56
SeedGrass1
Definition: SeedGrass1.h:53
tov_DEOWinterBarley
Definition: LandscapeFarmingEnums.h:494
FarmManager::m_SpilledGrain
bool m_SpilledGrain
Is it 2013 (true) or 2014 (false) as far as grain goes.
Definition: Farm.h:1696
tov_DKCabbages
Definition: LandscapeFarmingEnums.h:351
NorwegianOats
Definition: NorwegianOats.h:48
tole_Orchard
Definition: LandscapeFarmingEnums.h:93
tov_FIGreenFallow_1year
Definition: LandscapeFarmingEnums.h:562
toc_OSugarBeet
Definition: LandscapeFarmingEnums.h:875
cfg_ClosestFarmProbParam2
CfgFloat cfg_ClosestFarmProbParam2("CLOSESTFARMPROBPARAMTWO", CFG_CUSTOM, 1.0)
A fitting parameter for the probability of hunter acceptance of a farm with distance from home - scal...
tov_DKOLupines
Definition: LandscapeFarmingEnums.h:433
fmc_Grazing
Definition: LandscapeFarmingEnums.h:1010
PTOliveGroveSuperIntensive
Definition: PTOliveGroveSuperIntensive.h:78
DK_OOrchCherry
DK_OOrchCherry class .
Definition: DK_OOrchCherry.h:93
PLSpringBarley
PLSpringBarley class .
Definition: PLSpringBarley.h:95
TTypesOfVegetation
TTypesOfVegetation
Values that represent the types of vegetation that are represented in ALMaSS.
Definition: LandscapeFarmingEnums.h:192
CfgInt
Integer configurator entry class.
Definition: Configurator.h:102
DataForOptimisation::DataForOptimisation
DataForOptimisation()
cfg_ClosestFarmProbParam1
CfgFloat cfg_ClosestFarmProbParam1("CLOSESTFARMPROBPARAMONE", CFG_CUSTOM, 0.005)
A fitting parameter for the probability of hunter acceptance of a farm wiht distance from home - slop...
tov_DEWinterWheat
Definition: LandscapeFarmingEnums.h:509
Farm::FP_LiquidNH3
virtual bool FP_LiquidNH3(LE *a_field, double a_user, int a_days)
Apply liquid ammonia fertilizer to a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:808
ITOOrchard
ITOOrchardd class .
Definition: ITOOrchard.h:169
PLBeet
PLBeet class .
Definition: PLBeet.h:99
DK_GrassGrazed_Perm
DK_GrassGrazed_Perm class .
Definition: DK_GrassGrazed_Perm.h:78
tov_BEMaizeCC
Definition: LandscapeFarmingEnums.h:304
BEWinterBarley
BEWinterbarley class .
Definition: BEWinterBarley.h:72
tov_DKOrchardCrop_Perm
Definition: LandscapeFarmingEnums.h:459
tof_AgroChemIndustryCerealFarm1
Definition: LandscapeFarmingEnums.h:655
FarmFuncsCostBenefits
Definition: Farm.h:343
farminfo::m_openfields
int m_openfields
Definition: Farm.h:420
Farm::Assign_rotation
void Assign_rotation(vector< TTypesOfVegetation >a_new_rotation)
Definition: Farm.cpp:1269
tov_DEOHerbsPerennial_1year
Definition: LandscapeFarmingEnums.h:515
Farm::m_OurManager
FarmManager * m_OurManager
Pointer to the FarmManager.
Definition: Farm.h:997
tov_FISpringOats
Definition: LandscapeFarmingEnums.h:547
tov_DEOPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:489
tov_FRWinterRape
Definition: LandscapeFarmingEnums.h:584
CropOptimised::m_GM_Savings
double m_GM_Savings
Holds the value of m_GM in case of non-fodder crops and a value of m_savings in case of fodder crops ...
Definition: Farm.h:1448
FarmFuncsCostBenefits::EnvImpact
double EnvImpact
Definition: Farm.h:347
tov_FieldPeasSilage
Definition: LandscapeFarmingEnums.h:227
FarmManager::InitiateManagement
void InitiateManagement(void)
Definition: Farm.cpp:3962
farminfo::m_farmvalid
APoint m_farmvalid
Definition: Farm.h:423
tov_BEMaize
Definition: LandscapeFarmingEnums.h:296
tov_FIGrasslandPasturePerennial1
Definition: LandscapeFarmingEnums.h:556
DE_OOrchard
DE_OOrchard class .
Definition: DE_OOrchard.h:142
OMaizeSilage
Definition: OMaizeSilage.h:54
UserDefinedFarm6
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1260
Farm
The base class for all farm types.
Definition: Farm.h:755
tov_DEOCabbages
Definition: LandscapeFarmingEnums.h:480
IRSpringBarley
IRSpringBarley class .
Definition: IRSpringBarley.h:107
tov_DKGrazingPigs
Definition: LandscapeFarmingEnums.h:381
tof_UserDefinedFarm22
Definition: LandscapeFarmingEnums.h:681
OrganicPig::OrganicPig
OrganicPig(FarmManager *a_manager)
Definition: Farm.cpp:3334
tov_DKOFarmForest_Perm
Definition: LandscapeFarmingEnums.h:451
tov_OSeedGrass1
Definition: LandscapeFarmingEnums.h:208
toc_Vineyards
Definition: LandscapeFarmingEnums.h:916
tov_SpringBarleyStrigling
Definition: LandscapeFarmingEnums.h:220
Farm::m_farm_num
int m_farm_num
Definition: Farm.h:1007
Farm::SetFunctionData
LE * SetFunctionData(LE *, double, double, int, FarmToDo)
carries out standard setting of data and deals with possible unsprayed margins, returns a pointer to ...
Definition: FarmFuncs.cpp:146
OCloverGrassGrazed1
Definition: OCloverGrassGrazed1.h:52
Farm::HandleEvents
virtual void HandleEvents(void)
If there are events to carry out do this, and perhaps start a new crop.
Definition: Farm.cpp:938
tole_AsparagusPerm
Definition: LandscapeFarmingEnums.h:175
tof_AgroChemIndustryCerealFarm3
Definition: LandscapeFarmingEnums.h:657
FI_Caraway1
FI_Caraway1 class .
Definition: FI_Caraway1.h:97
tov_SeedGrass2
Definition: LandscapeFarmingEnums.h:212
tov_NLGrassGrazedLast
Definition: LandscapeFarmingEnums.h:270
tov_FRGrassland
Definition: LandscapeFarmingEnums.h:588
tov_DKCerealLegume_Whole
Definition: LandscapeFarmingEnums.h:367
tov_DEOLegume
Definition: LandscapeFarmingEnums.h:484
DK_OSugarBeet
Definition: DK_OSugarBeet.h:61
OrganicPlant
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1072
tov_OFieldPeas
Definition: LandscapeFarmingEnums.h:205
tov_DEOrchard
Definition: LandscapeFarmingEnums.h:518
tov_DEOPotatoes
Definition: LandscapeFarmingEnums.h:490
cfgRotationFileDir
CfgStr cfgRotationFileDir("ROT_FILES_DIR", CFG_CUSTOM, ".")
tov_DKEnergyCrop_Perm
Definition: LandscapeFarmingEnums.h:448
FI_StarchPotato_North
Definition: FI_StarchPotato_North.h:64
Farm::Shredding
virtual bool Shredding(LE *a_field, double a_user, int a_days)
Shredding (destruction of the pruning residues with a shredders using hammer mower) applied on a_fiel...
Definition: FarmFuncs.cpp:1912
PTCloverGrassGrazed1
PTCloverGrassGrazed1 class .
Definition: PTCloverGrassGrazed1.h:97
tov_FodderBeet
Definition: LandscapeFarmingEnums.h:203
FI_OSpringOats
FI_OSpringOats class .
Definition: FI_OSpringOats.h:90
tov_OSpringBarleyGrass
Definition: LandscapeFarmingEnums.h:208
FarmManager::DumpFarmAreas
void DumpFarmAreas()
Definition: Farm.cpp:3253
FarmerList::GetFarmer
Farmer * GetFarmer(int i)
Gets a farmer point if an index is available.
Definition: Farm.h:476
tov_WWheatPControl
Definition: LandscapeFarmingEnums.h:217
Livestock::m_FUdemand
double m_FUdemand
Amount of fodder needed for a given type of livestock. [fodder units].
Definition: Farm.h:1383
FI_NaturalGrassland
FI_NaturalGrassland class .
Definition: FI_NaturalGrassland.h:87
Farm::HarvestBF_Machine
virtual bool HarvestBF_Machine(LE *a_field, double a_user, int a_days)
Harvest bush fruit on a_field - tramlines since fruits are picked by machine, the bush stays on field...
Definition: FarmFuncs.cpp:1814
Farm::DeepPlough
virtual bool DeepPlough(LE *a_field, double a_user, int a_days)
Carry out a deep ploughing event on a_field.
Definition: FarmFuncs.cpp:408
Farm::StrawCovering
virtual bool StrawCovering(LE *a_field, double a_user, int a_days)
Straw covering applied on a_field.
Definition: FarmFuncs.cpp:1738
tov_DKOOrchardCrop_Perm
Definition: LandscapeFarmingEnums.h:441
FarmEvent::m_forcespringOK
bool m_forcespringOK
Definition: Farm.h:393
DataForOptimisation::Set_beta2
void Set_beta2(double a_value, int i)
Definition: Farm.h:616
cfg_Yield_max_pest_prob_multiplier
CfgFloat cfg_Yield_max_pest_prob_multiplier("YIELD_MAX_PEST_PROB_MULITPLIER", CFG_CUSTOM, 1.5)
A parameter of the yield maximizer farmer type: it increases the chance of necessity of carrying out ...
tov_DKSpringBarleyCloverGrass
Definition: LandscapeFarmingEnums.h:362
DK_OMixedVeg
Definition: DK_OMixedVeg.h:78
tov_BEMaizeSpring
Definition: LandscapeFarmingEnums.h:297
DE_OCarrots
Definition: DE_OCarrots.h:70
tov_BEPotatoesSpring
Definition: LandscapeFarmingEnums.h:300
Crop::m_date_modifier
static int m_date_modifier
Holds a value that shifts test pesticide use by this many days in crops modified to use it.
Definition: Farm.h:514
DE_Oats
DE_Oats class .
Definition: DE_Oats.h:102
DE_MaizeSilage
DE_MaizeSilage class .
Definition: DE_MaizeSilage.h:90
AgroChemIndustryCerealFarm2
Inbuilt special purpose farm type.
Definition: Farm.h:1160
CfgFloat
Double configurator entry class.
Definition: Configurator.h:126
DK_OOrchOther
DK_OOrchOther class .
Definition: DK_OOrchOther.h:100
g_farm_fixed_crop_type
CfgInt g_farm_fixed_crop_type("FARM_FIXED_CROP_TYPE", CFG_CUSTOM, 22)
tole_FarmForest
Definition: LandscapeFarmingEnums.h:160
cfg_Areas_Based_on_Distribution
CfgBool cfg_Areas_Based_on_Distribution("AREAS_BASED_ON_DISTRIBUTION", CFG_CUSTOM, false)
If set to true, crops are assigned area based on their gross margin proportion in the total GM for al...
Farm::AutumnSow
virtual bool AutumnSow(LE *a_field, double a_user, int a_days, double a_seed_coating_amount=-1, PlantProtectionProducts a_ppp=ppp_foobar)
Carry out a sowing event in the autumn on a_field.
Definition: FarmFuncs.cpp:360
toc_OSpringBarleyPigs
Definition: LandscapeFarmingEnums.h:868
toc_BushFruit
Definition: LandscapeFarmingEnums.h:786
tole_Field
Definition: LandscapeFarmingEnums.h:65
toc_OSpringBarley
Definition: LandscapeFarmingEnums.h:865
UserDefinedFarm11::UserDefinedFarm11
UserDefinedFarm11(FarmManager *a_manager)
Definition: Farm.cpp:3610
DataForOptimisation::m_livestockParameters
vector< double > m_livestockParameters
Vector storing parameters of all livestock types.
Definition: Farm.h:708
Farm::FP_RSM
virtual bool FP_RSM(LE *a_field, double a_user, int a_days)
RSM (ammonium nitrate solution) applied on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:940
toc_OLupines
Definition: LandscapeFarmingEnums.h:839
tov_CloverGrassGrazed2
Definition: LandscapeFarmingEnums.h:203
cfg_OptimisingFarms
CfgBool cfg_OptimisingFarms("OPTIMISING_FARMS", CFG_CUSTOM, false)
If set to true, the farmer decision making model is active.
tov_UKSpringBarley
Definition: LandscapeFarmingEnums.h:283
toc_Sunflower
Definition: LandscapeFarmingEnums.h:911
LE::m_tried_to_do
int m_tried_to_do
Definition: Elements.h:91
Farm::FruitHarvest
virtual bool FruitHarvest(LE *a_field, double a_user, int a_days)
FruitHarvest (harvest of the mature fruits, e.g., grapes) applied on a_field.
Definition: FarmFuncs.cpp:1959
fmc_Harvest
Definition: LandscapeFarmingEnums.h:1012
Farm::FP_NK
virtual bool FP_NK(LE *a_field, double a_user, int a_days)
Apply NK fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:766
FarmManager::m_renumbered
bool m_renumbered
A flag to show whether renumbering was already done.
Definition: Farm.h:1700
PLWinterRye
PLWinterRye class .
Definition: PLWinterRye.h:92
toc_OSpringWheat
Definition: LandscapeFarmingEnums.h:873
tov_NLCabbage
Definition: LandscapeFarmingEnums.h:257
Farm::WinterPlough
virtual bool WinterPlough(LE *a_field, double a_user, int a_days)
Carry out a ploughing event in the winter on a_field.
Definition: FarmFuncs.cpp:395
tov_WinterWheat
Definition: LandscapeFarmingEnums.h:217
Farm::Pruning
virtual bool Pruning(LE *a_field, double a_user, int a_days)
Pruning applied on a_field - details needs to be added (e.g., impact on biomass, influence/impacts in...
Definition: FarmFuncs.cpp:1897
LE::SetVegStore
void SetVegStore(int a_veg)
Definition: Elements.h:138
toc_OrchCherry
Definition: LandscapeFarmingEnums.h:856
toc_OSpringBarleyPeaCloverGrass
Definition: LandscapeFarmingEnums.h:869
toc_OMaize
Definition: LandscapeFarmingEnums.h:840
FarmManager::GetFarmCentroid
APoint GetFarmCentroid(int a_farmref)
Gets the farm centroid as an APoint.
Definition: Farm.h:1582
g_Species
TTypesOfPopulation g_Species
Definition: PopulationManager.cpp:101
DK_OWinterRye_CC
Definition: DK_OWinterRye_CC.h:59
tov_DKOSpringBarleySilage
Definition: LandscapeFarmingEnums.h:397
FI_Potato_South
Definition: FI_Potato_South.h:66
g_landscape_ptr
Landscape * g_landscape_ptr
Definition: Landscape.cpp:352
tov_DKOCloverGrassGrazed3
Definition: LandscapeFarmingEnums.h:376
DataForOptimisation::Set_livestockNumber
void Set_livestockNumber(int a_number)
Definition: Farm.h:591
DataForOptimisation::m_livestockNumbers
vector< int > m_livestockNumbers
Vector containing numbers of all livestock types at farms included in the simulation.
Definition: Farm.h:701
Farm::AddField
void AddField(LE *a_newfield)
Adds a field to a farm.
Definition: Farm.cpp:1198
DK_OSpringBarleySilage
Definition: DK_OSpringBarleySilage.h:70
tov_FodderGrass
Definition: LandscapeFarmingEnums.h:224
FI_SpringBarley_Fodder
FI_SpringBarley_Fodder class .
Definition: FI_SpringBarley_Fodder.h:101
tole_MushroomPerm
Definition: LandscapeFarmingEnums.h:176
SpringBarleyStrigling
Definition: SpringBarleyStrigling.h:77
tov_Maize
Definition: LandscapeFarmingEnums.h:203
Farm::GetValidCoords
APoint GetValidCoords()
Returns the valid coordinates of the first field owned by a farm.
Definition: Farm.h:803
DataForOptimisation::Set_livestockParameter
void Set_livestockParameter(double a_value, int i)
Definition: Farm.h:605
FarmManager::GetRandomFarmRefnum
int GetRandomFarmRefnum()
Returns a random farm reference number.
Definition: Farm.h:1554
tof_UserDefinedFarm9
Definition: LandscapeFarmingEnums.h:668
tov_DEPeas
Definition: LandscapeFarmingEnums.h:498
toc_OSeedGrass1
Definition: LandscapeFarmingEnums.h:861
tov_DKOWinterWheat
Definition: LandscapeFarmingEnums.h:360
LE::SetGrowthPhase
virtual void SetGrowthPhase(int)
Definition: Elements.h:185
tov_BEGrassGrazed1Spring
Definition: LandscapeFarmingEnums.h:293
CropOptimised::m_savings
double m_savings
Value of savings resulting from growing a fodder crop and not purchasing amount of fodder correspondi...
Definition: Farm.h:1446
Farm::BulbHarvest
virtual bool BulbHarvest(LE *a_field, double a_user, int a_days)
Carry out a bulb harvest on a_field.
Definition: FarmFuncs.cpp:1706
PLFodderLucerne1
PLFodderLucerne1 class .
Definition: PLFodderLucerne1.h:80
toc_OPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:849
FarmManager::GetIsRenumbered
bool GetIsRenumbered()
Returns the flag for renumbering.
Definition: Farm.h:1622
DataForOptimisation::m_cropParameters
vector< double > m_cropParameters
Vector storing parameters of all crop types.
Definition: Farm.h:713
DataForOptimisation::m_str_cropTypes
vector< string > m_str_cropTypes
Crop types saved in string format (Bedriftsmodel i.e. original crop optimization model crop mode).
Definition: Farm.h:688
tov_OFieldPeasSilage
Definition: LandscapeFarmingEnums.h:218
PermanentSetAside
Definition: PermanentSetAside.h:43
OrganicCattle::OrganicCattle
OrganicCattle(FarmManager *a_manager)
Definition: Farm.cpp:3326
DataForOptimisation::Get_beta2
double Get_beta2(int i)
Definition: Farm.h:617
toc_FodderBeet
Definition: LandscapeFarmingEnums.h:802
FarmManager::m_cropprogs
vector< Crop * > m_cropprogs
Definition: Farm.h:1675
farminfo::m_nofields
int m_nofields
Definition: Farm.h:419
DataForOptimisation::m_rotationMin
vector< double > m_rotationMin
Minimum acreage of a crop at a farm [%]. Farm type, soil type and farm size specific.
Definition: Farm.h:743
Crop::m_count
int m_count
Definition: Farm.h:502
tole_BushFruit
Definition: LandscapeFarmingEnums.h:154
tov_DESpringRye
Definition: LandscapeFarmingEnums.h:504
tole_OPermPasturePigs
Definition: LandscapeFarmingEnums.h:163
Farm::FP_GreenManure
virtual bool FP_GreenManure(LE *a_field, double a_user, int a_days)
Spread green manure on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:911
tov_DKOrchApple
Definition: LandscapeFarmingEnums.h:462
DK_OCerealLegume_Whole
Definition: DK_OCerealLegume_Whole.h:59
Farm::GrowthRegulator
virtual bool GrowthRegulator(LE *a_field, double a_user, int a_days)
Apply growth regulator to a_field.
Definition: FarmFuncs.cpp:2070
tov_YoungForest
Definition: LandscapeFarmingEnums.h:222
UserDefinedFarm12
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1314
LE::GetUnsprayedMarginPolyRef
int GetUnsprayedMarginPolyRef(void)
Definition: Elements.h:383
tov_FRMaize_Silage
Definition: LandscapeFarmingEnums.h:586
WinterRyeStrigling
Definition: WinterRyeStrigling.h:76
tov_DKCatchCrop
Definition: LandscapeFarmingEnums.h:420
BEPotatoesSpring
BEPotatoesSpring class .
Definition: BEPotatoesSpring.h:88
tov_NLGrassGrazed2
Definition: LandscapeFarmingEnums.h:260
PesticideTrialToxicControl::MakeStockFarmer
virtual void MakeStockFarmer(void)
Definition: Farm.h:1123
DK_OCloverGrassGrazed2
DK_OCloverGrassGrazed2 class .
Definition: DK_OCloverGrassGrazed2.h:95
FR_Maize
FR_Maize class .
Definition: FR_Maize.h:94
PTTriticale
PTTriticale class .
Definition: PTTriticale.h:87
toc_PermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:886
PLSpringWheat
PLSpringWheat class .
Definition: PLSpringWheat.h:100
FarmEvent::m_run
long m_run
Definition: Farm.h:387
toc_OGrazingPigs
Definition: LandscapeFarmingEnums.h:836
CFG_CUSTOM
Definition: Configurator.h:70
g_random_fnc
int g_random_fnc(const int a_range)
Definition: ALMaSS_Random.cpp:74
PLWinterWheatLate
PLWinterWheatLate class .
Definition: PLWinterWheatLate.h:100
tole_FlowersPerm
Definition: LandscapeFarmingEnums.h:174
FarmManager::GetFarmNoFields
int GetFarmNoFields(int a_farmref)
Returns the number of fields owned by a from the farm ref num.
Definition: Farm.h:1513
tov_DKOCarrots
Definition: LandscapeFarmingEnums.h:355
Farm::FiberRemoval
virtual bool FiberRemoval(LE *a_field, double a_user, int a_days)
Fiber covering removed from a_field.
Definition: FarmFuncs.cpp:1780
tof_UserDefinedFarm32
Definition: LandscapeFarmingEnums.h:691
tov_Oats
Definition: LandscapeFarmingEnums.h:203
FarmManager::m_landscape
Landscape * m_landscape
Holds a local pointer to the landscape.
Definition: Farm.h:1686
FarmManager::Get_FarmFuncsCB
FarmFuncsCostBenefits Get_FarmFuncsCB(FarmToDo a_action)
Get a specific FarmFunction Cost Benefit.
Definition: Farm.h:1662
DataForOptimisation::FarmData::md_farmRealID
int md_farmRealID
Definition: Farm.h:669
tov_DKSeedGrassFescue_Spring
Definition: LandscapeFarmingEnums.h:407
FarmManager::m_farmmapping_lookup
int * m_farmmapping_lookup
Used for a dynamic array of lookups converting farm references to internal renumbering.
Definition: Farm.h:1698
tof_UserDefinedFarm11
Definition: LandscapeFarmingEnums.h:670
toc_Sorghum
Definition: LandscapeFarmingEnums.h:900
toc_SeedGrass1
Definition: LandscapeFarmingEnums.h:897
tov_GenericCatchCrop
Definition: LandscapeFarmingEnums.h:339
DK_OSeedGrassRye_Spring
Definition: DK_OSeedGrassRye_Spring.h:83
cfg_PTHorticulturePct
CfgFloat cfg_PTHorticulturePct("PTHORTICULTUREPCT", CFG_CUSTOM, 1.00)
cfg_Environmentalist_proportion
CfgFloat cfg_Environmentalist_proportion("ENVIRONMENTALIST_PROPORTION", CFG_CUSTOM, 0)
A parameter setting the proportion of farmers of a type environmentalist.
tof_UserDefinedFarm26
Definition: LandscapeFarmingEnums.h:685
Calendar::DayInYear
int DayInYear(void)
Definition: Calendar.h:58
toc_Beans_Whole
Definition: LandscapeFarmingEnums.h:784
DK_OCarrots
Definition: DK_OCarrots.h:71
FarmerAttributes
Definition: Farm.h:335
Farm::GetAreaDouble
double GetAreaDouble(void)
Returns the area of arable fields owned by that farm.
Definition: Farm.cpp:1101
UserDefinedFarm14
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1332
DataForOptimisation::Get_fixed
bool Get_fixed(int i)
Definition: Farm.h:626
Crop::SetCropClassification
void SetCropClassification(int a_classification)
Definition: Farm.h:549
OFirstYearDanger
Definition: OFirstYearDanger.h:39
DataForOptimisation::Set_emaize_price
void Set_emaize_price(double a_value)
Definition: Farm.h:659
CropOptimised::m_grooming
double m_grooming
Value of mechanical weed control for a crop - grooming [DKK/ha].
Definition: Farm.h:1428
CropOptimised::m_initialArea
double m_initialArea
Initial area of a crop on a farm [ha].
Definition: Farm.h:1397
Farm::FA_Cu
virtual bool FA_Cu(LE *a_field, double a_user, int a_days)
Apply Cu fertilizer, on a_field owned by stock farmer (orchard)
Definition: FarmFuncs.cpp:1988
FarmManager::~FarmManager
~FarmManager()
Farm manager destructor.
Definition: Farm.cpp:3907
FarmManager::SetSpilledGrain
void SetSpilledGrain(bool a_spilledgrain)
Set m_SpilledGrain which is the flag for either 2013 (true) or 2014 (false) spilled grain distributio...
Definition: Farm.h:1601
tov_DKOFodderBeets
Definition: LandscapeFarmingEnums.h:349
tov_WinterRye
Definition: LandscapeFarmingEnums.h:217
tov_FIOCaraway1
Definition: LandscapeFarmingEnums.h:567
BEOrchardCrop
Definition: BEOrchardCrop.h:56
toc_OCloverGrassGrazed3
Definition: LandscapeFarmingEnums.h:828
tov_DEMaize
Definition: LandscapeFarmingEnums.h:477
LE::GetAphidDensity
virtual int GetAphidDensity()
Definition: Elements.h:90
Farm::GetFarmType
TTypesOfFarm GetFarmType()
Returns the farm type.
Definition: Farm.h:791
Farm::RemoveHunter
void RemoveHunter(Hunter *a_hunter)
Definition: Farm.h:985
NLPermanentGrassGrazed
NLPermanentGrassGrazed class .
Definition: NLPermanentGrassGrazed.h:84
tov_FIBufferZone_Perm
Definition: LandscapeFarmingEnums.h:573
tov_OWinterWheat
Definition: LandscapeFarmingEnums.h:228
toc_OBeans_Whole
Definition: LandscapeFarmingEnums.h:822
FarmManager::GetFarmTypeLookup
int GetFarmTypeLookup(int a_ref)
Get a farm type from the lookup table.
Definition: Farm.h:1620
FR_Maize_Silage
FR_Maize_Silage class .
Definition: FR_Maize_Silage.h:94
tov_PTHorticulture
Definition: LandscapeFarmingEnums.h:329
AgroChemIndustryCerealFarm3
Inbuilt special purpose farm type.
Definition: Farm.h:1169
DK_OSpringWheat
Definition: DK_OSpringWheat.h:66
Farm::ListOpenFields
polylist * ListOpenFields(int a_openness)
Returns a list of fields with openness above a_openness.
Definition: Farm.cpp:6074
DE_SugarBeet
DE_SugarBeet class .
Definition: DE_SugarBeet.h:118
cfg_UseFarmerNetworks
CfgBool cfg_UseFarmerNetworks("USE_FARMER_NETWORKS", CFG_CUSTOM, false)
Used to enable/disable farmer networks.
tov_DKCloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:370
Farm::WinterHarrow
virtual bool WinterHarrow(LE *a_field, double a_user, int a_days)
Carry out a harrow event in the winter on a_field.
Definition: FarmFuncs.cpp:1539
FI_SprSpringBarley_Fodder
FI_SprSpringBarley_Fodder class .
Definition: FI_SprSpringBarley_Fodder.h:99
tov_DEOWinterRye
Definition: LandscapeFarmingEnums.h:496
tof_UserDefinedFarm28
Definition: LandscapeFarmingEnums.h:687
cfg_Yield_max_proportion
CfgFloat cfg_Yield_max_proportion("YIELD_MAX_PROPORTION", CFG_CUSTOM, 0)
A parameter setting the proportion of farmers of a type yield maximiser.
tov_MaizeSilage
Definition: LandscapeFarmingEnums.h:224
DK_SpringBarley_CC
Definition: DK_SpringBarley_CC.h:69
tov_SEWinterWheat
Definition: LandscapeFarmingEnums.h:578
DK_OLupines
Definition: DK_OLupines.h:57
BEWinterWheatCC
BEWinterWheatCC class .
Definition: BEWinterWheatCC.h:74
Farm::OrganicFungicide
virtual bool OrganicFungicide(LE *a_field, double a_user, int a_days)
Biocide applied on a_field.
Definition: FarmFuncs.cpp:2231
tole_PlantNursery
Definition: LandscapeFarmingEnums.h:117
tov_BEWinterWheatCC
Definition: LandscapeFarmingEnums.h:303
DE_OLegume
Definition: DE_OLegume.h:55
Farm::GetAreaOpenFields
int GetAreaOpenFields(int a_openness)
Returns the area of the fields above an openness of a_openness.
Definition: Farm.cpp:1120
Crop::Crop
Crop(TTypesOfVegetation a_tov, TTypesOfCrops a_toc, Landscape *a_L)
Definition: Farm.cpp:733
FI_OPotatoIndustry_North
Definition: FI_OPotatoIndustry_North.h:55
HunterInfo::~HunterInfo
~HunterInfo()
Definition: Farm.h:449
NLCarrots
NLCarrots class .
Definition: NLCarrots.h:71
tov_DKOLegumeCloverGrass_Whole
Definition: LandscapeFarmingEnums.h:354
DE_WinterRye
DE_WinterRye class .
Definition: DE_WinterRye.h:98
tov_DKWinterWheat
Definition: LandscapeFarmingEnums.h:359
tof_UserDefinedFarm25
Definition: LandscapeFarmingEnums.h:684
tov_DKBushFruit_Perm2
Definition: LandscapeFarmingEnums.h:443
cfg_Env_pest_multiplier
CfgFloat cfg_Env_pest_multiplier("ENV_PEST_MULTIPLIER", CFG_CUSTOM, 1.25)
A parameter of the environmentalist farmer type: increases the chance that environmentalist does not ...
DE_OSugarBeet
Definition: DE_OSugarBeet.h:67
Farm::~Farm
virtual ~Farm(void)
Farm destructor - deletes all crop instances and empties event queues.
Definition: Farm.cpp:1068
g_letype
class LE_TypeClass * g_letype
Definition: Elements.cpp:806
Farm::FA_PK
virtual bool FA_PK(LE *a_field, double a_user, int a_days)
Apply PK fertilizer to a_field owned by an stock farmer.
Definition: FarmFuncs.cpp:1010
tov_DKSugarBeets
Definition: LandscapeFarmingEnums.h:347
Crop::m_forcespringpossible
bool m_forcespringpossible
Used to signal that the crop can be forced to start in spring.
Definition: Farm.h:508
FarmManager::ReadFarmerAttributes
void ReadFarmerAttributes()
Reads in and creates the farmer attribute information and assigns it to farmers.
Definition: Farm.cpp:6198
cfg_Min_fodder_prod_pig
CfgFloat cfg_Min_fodder_prod_pig("MIN_FODDER_PROD_PIG", CFG_CUSTOM, 20)
A parameter setting the minimum proportion of fodder demand that has to be supplied from own fodder p...
DK_BushFruit_Perm2
DK_BushFruit_Perm2 class .
Definition: DK_BushFruit_Perm2.h:107
toc_SpringRye
Definition: LandscapeFarmingEnums.h:907
cfg_PriceChangeThreshold
CfgFloat cfg_PriceChangeThreshold("PRICE_CHANGE_THRESHOLD", CFG_CUSTOM, 0.2)
This parameter specifies the relative difference in energy maize price which causes a farmer to delib...
FarmManager::CalcCentroids
void CalcCentroids()
calculate all farm centroids
Definition: Farm.h:1556
DataForOptimisation::Set_beta1
void Set_beta1(double a_value, int i)
Definition: Farm.h:614
tov_FIPotatoIndustry_North
Definition: LandscapeFarmingEnums.h:543
Farm::BurnStrawStubble
virtual bool BurnStrawStubble(LE *a_field, double a_user, int a_days)
Burn stubble on a_field.
Definition: FarmFuncs.cpp:1567
tov_FIOStarchPotato_South
Definition: LandscapeFarmingEnums.h:530
toc_Foobar
Definition: LandscapeFarmingEnums.h:926
tof_UserDefinedFarm30
Definition: LandscapeFarmingEnums.h:689
DK_OrchardCrop_Perm
DK_OrchardCrop_Perm class .
Definition: DK_OrchardCrop_Perm.h:128
tov_PTTurnipGrazed
Definition: LandscapeFarmingEnums.h:313
tov_PTYellowLupin
Definition: LandscapeFarmingEnums.h:325
cfg_NumberNeighboursVirtual
CfgInt cfg_NumberNeighboursVirtual("NUMBER_NEIGHBOURS_VIRTUAL", CFG_CUSTOM, 0)
tof_UserDefinedFarm1
Definition: LandscapeFarmingEnums.h:660
PLWinterWheat
PLWinterWheat class .
Definition: PLWinterWheat.h:99
DE_Carrots
DE_Carrots class .
Definition: DE_Carrots.h:100
tov_ITOrchard
Definition: LandscapeFarmingEnums.h:607
cfg_Price_SRape
CfgFloat cfg_Price_SRape("PRICE_SRAPE", CFG_CUSTOM, 163)
farminfo::m_areaopenfields
int m_areaopenfields
Definition: Farm.h:421
tpct::index
int index
Definition: Farm.h:364
Farm::Swathing
virtual bool Swathing(LE *a_field, double a_user, int a_days)
Cut the crop on a_field and leave it lying (probably rape)
Definition: FarmFuncs.cpp:1350
toc_WinterWheat
Definition: LandscapeFarmingEnums.h:922
PROG_START
#define PROG_START
Definition: Farm.h:69
UserDefinedFarm7::UserDefinedFarm7
UserDefinedFarm7(FarmManager *a_manager)
Definition: Farm.cpp:3574
DataForOptimisation::InitializeVector
void InitializeVector(vector< double > &vector)
Initializes vector with -1 values.
tof_PTrialTreatment
Definition: LandscapeFarmingEnums.h:652
CropOptimised::m_areaVariable
double m_areaVariable
Area of a crop that can be changed when checking for restrictions (=m_areaPercent - m_rotationMin) [%...
Definition: Farm.h:1452
Crop::AphidDamage
bool AphidDamage(LE *a_field)
Compares aphid numbers per m2 with a threshold to return true if threshold is exceeded.
Definition: Farm.cpp:726
tov_FRMaize
Definition: LandscapeFarmingEnums.h:585
OSeedGrass2
Definition: OSeedGrass2.h:50
tov_UKWinterBarley
Definition: LandscapeFarmingEnums.h:285
NoPesticideBaseFarm
Inbuilt special purpose farm type.
Definition: Farm.h:1178
DK_OSpringBarley_CC
Definition: DK_OSpringBarley_CC.h:59
tov_DKOSetAside_SummerMow
Definition: LandscapeFarmingEnums.h:396
tov_FISugarBeet
Definition: LandscapeFarmingEnums.h:526
LE::SetPollenNectarType
void SetPollenNectarType(TTypesOfVegetation a_new_veg)
sets the pollen and nectar information based on tov
Definition: Elements.cpp:1181
DataForOptimisation::Get_rotationMin
double Get_rotationMin(int i)
Definition: Farm.h:643
tov_PermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:211
LowPriority< FarmEvent * >
FarmerAttributes::Cooperative
int Cooperative
Definition: Farm.h:338
FarmManager
The Farm Manager class.
Definition: Farm.h:1461
tov_PLBeetSpr
Definition: LandscapeFarmingEnums.h:248
BEMaize
BEMaize class .
Definition: BEMaize.h:66
UserDefinedFarm10::UserDefinedFarm10
UserDefinedFarm10(FarmManager *a_manager)
Definition: Farm.cpp:3601
tov_DEMaizeSilage
Definition: LandscapeFarmingEnums.h:478
FI_StarchPotato_South
Definition: FI_StarchPotato_South.h:66
tov_NLTulips
Definition: LandscapeFarmingEnums.h:258
tole_WoodyEnergyCrop
Definition: LandscapeFarmingEnums.h:116
cfg_DumpFarmAreas
CfgBool cfg_DumpFarmAreas("DUMP_FARM_AREAS", CFG_CUSTOM, false)
If set to true, an output file with farm areas is produced.
toc_FieldPeasStrigling
Definition: LandscapeFarmingEnums.h:801
tov_PLFodderLucerne2
Definition: LandscapeFarmingEnums.h:244
tov_PTGrassGrazed
Definition: LandscapeFarmingEnums.h:310
toc_CloverGrassGrazed1
Definition: LandscapeFarmingEnums.h:792
toc_CatchCropPea
Definition: LandscapeFarmingEnums.h:791
tov_FIOSpringRape
Definition: LandscapeFarmingEnums.h:536
tov_DKSpringWheat
Definition: LandscapeFarmingEnums.h:414
BEGrassGrazed1Spring
BEGrassGrazed2 class .
Definition: BEGrassGrazed1Spring.h:77
tov_DKSpringBarleySilage
Definition: LandscapeFarmingEnums.h:412
OSpringBarley
Definition: OSpringBarley.h:61
toc_AsparagusEstablishedPlantation
Definition: LandscapeFarmingEnums.h:782
Farm::CheckRotationManagementLoop
void CheckRotationManagementLoop(FarmEvent *ev)
Definition: Farm.cpp:895
Crop::ChooseNextCrop
void ChooseNextCrop(int a_no_dates)
Chooses the next crop to grow in a field.
Definition: Farm.cpp:756
Farm::PigsOut
virtual bool PigsOut(LE *a_field, double a_user, int a_days)
Generate a 'pigs_out' event for every day the cattle are on a_field.
Definition: FarmFuncs.cpp:2650
DK_CloverGrassGrazed1
Definition: DK_CloverGrassGrazed1.h:84
Farm::m_rotfilename
string m_rotfilename
Definition: Farm.h:759
Farm::HayTurning
virtual bool HayTurning(LE *a_field, double a_user, int a_days)
Carry out hay turning on a_field.
Definition: FarmFuncs.cpp:1491
SpringBarley
Definition: SpringBarley.h:79
tov_NorwegianSpringBarley
Definition: LandscapeFarmingEnums.h:230
FarmManager::PrintLocationAndArea
void PrintLocationAndArea()
Print Farmers' location (x , y)
Definition: Farm.cpp:6369
tof_UserDefinedFarm4
Definition: LandscapeFarmingEnums.h:663
Crop::m_ev
FarmEvent * m_ev
Definition: Farm.h:500
tov_OFodderBeet
Definition: LandscapeFarmingEnums.h:227
tof_UserDefinedFarm31
Definition: LandscapeFarmingEnums.h:690
tov_DKOPotato
Definition: LandscapeFarmingEnums.h:389
tole_RiceField
Definition: LandscapeFarmingEnums.h:150
tov_NLCatchCropPea
Definition: LandscapeFarmingEnums.h:268
tov_FIOSpringOats
Definition: LandscapeFarmingEnums.h:548
tov_DKOSeedGrassRye_Spring
Definition: LandscapeFarmingEnums.h:392
Farm::Insecticide
virtual void Insecticide(int a_area)
Records the costs of insecticide treatment, and associated score changes.
Definition: Farm.cpp:6046
count
Definition: SubPopulation.h:48
Farm::CattleOut
virtual bool CattleOut(LE *a_field, double a_user, int a_days)
Start a grazing event on a_field today.
Definition: FarmFuncs.cpp:2368
Crop::m_OurLandscape
Landscape * m_OurLandscape
Definition: Farm.h:506
FieldPeasStrigling
Definition: FieldPeasStrigling.h:62
tov_NLMaizeSpring
Definition: LandscapeFarmingEnums.h:264
OPermanentGrassGrazed
Definition: OPermanentGrassGrazed.h:52
tov_FINaturalGrassland_Perm
Definition: LandscapeFarmingEnums.h:571
DK_SpringBarleySilage
Definition: DK_SpringBarleySilage.h:56
toc_OPotatoesSeed
Definition: LandscapeFarmingEnums.h:853
DE_OSpringRye
Definition: DE_OSpringRye.h:58
tov_SugarBeet
Definition: LandscapeFarmingEnums.h:228
CropOptimised::m_rotationMax
double m_rotationMax
Maximum area in percent of farm's arable area for a given crop (depends on a farm size,...
Definition: Farm.h:1405
tole_OPermPasture
Definition: LandscapeFarmingEnums.h:164
OWinterRye
Definition: OWinterRye.h:57
tov_DKLegume_Peas
Definition: LandscapeFarmingEnums.h:357
DataForOptimisation::FarmData::md_soilType
TTypesOfSoils md_soilType
Definition: Farm.h:667
DataForOptimisation::Set_cropTypes_almass
void Set_cropTypes_almass(TTypesOfVegetation crop_type)
Definition: Farm.h:650
FI_OWinterWheat
FI_OWinterWheat class .
Definition: FI_OWinterWheat.h:98
tole_OPermPastureLowYield
Definition: LandscapeFarmingEnums.h:165
FarmerList::ResetAllDone
void ResetAllDone()
Sets all farmers AllDone to false ready for the next day.
Definition: Farm.cpp:6108
toc_OWinterRape
Definition: LandscapeFarmingEnums.h:880
tov_NLPotatoes
Definition: LandscapeFarmingEnums.h:254
tov_PTWinterRye
Definition: LandscapeFarmingEnums.h:323
Farm::BurnTop
virtual bool BurnTop(LE *a_field, double a_user, int a_days)
Burn tops of e.g. potatoes on a_field.
Definition: FarmFuncs.cpp:1587
Farm::StriglingSow
virtual bool StriglingSow(LE *a_field, double a_user, int a_days, double a_seed_coating_amount=-1, PlantProtectionProducts a_ppp=ppp_foobar)
Carry out a mechanical weeding followed by sowing on a_field.
Definition: FarmFuncs.cpp:1226
DE_HerbsPerennial_after1year
Definition: DE_HerbsPerennial_after1year.h:83
HunterInfo::refID
int refID
Unique reference number.
Definition: Farm.h:439
cfg_Price_WWheat
CfgFloat cfg_Price_WWheat("PRICE_WWHEAT", CFG_CUSTOM, 94)
toc_OBeans
Definition: LandscapeFarmingEnums.h:821
CropStartStruct::m_stMonth
int m_stMonth
Definition: Farm.h:429
WARN_BUG
Definition: MapErrorMsg.h:34
UserDefinedFarm15::UserDefinedFarm15
UserDefinedFarm15(FarmManager *a_manager)
Definition: Farm.cpp:3643
tole_PermPasturePigs
Definition: LandscapeFarmingEnums.h:162
tov_DKOLegume_Whole
Definition: LandscapeFarmingEnums.h:346
toc_OCabbage
Definition: LandscapeFarmingEnums.h:824
CFG_PRIVATE
Definition: Configurator.h:72
BroadBeans
Definition: BroadBeans.h:51
tof_OrganicCattle
Definition: LandscapeFarmingEnums.h:648
tov_DKOGrazingPigs_Perm
Definition: LandscapeFarmingEnums.h:453
tov_DKFodderBeets
Definition: LandscapeFarmingEnums.h:348
cfg_Env_fert_multiplier
CfgFloat cfg_Env_fert_multiplier("ENV_FERT_MULTIPLIER", CFG_CUSTOM, 0.8)
A parameter of the environmentalist farmer type: reduces environmentalist's use of fertiliser....
FI_SpringWheat
FI_SpringWheat class .
Definition: FI_SpringOat.h:99
toc_OPermanentGrassLowYield
Definition: LandscapeFarmingEnums.h:850
tov_PTCorkOak
Definition: LandscapeFarmingEnums.h:319
tov_FRWinterTriticale
Definition: LandscapeFarmingEnums.h:583
tov_PLMaize
Definition: LandscapeFarmingEnums.h:239
tov_SpringBarleyPeaCloverGrassStrigling
Definition: LandscapeFarmingEnums.h:222
toc_GrassGrazed2
Definition: LandscapeFarmingEnums.h:808
APoint::m_y
int m_y
Definition: ALMaSS_Setup.h:56
DK_OLentils
Definition: DK_OLentils.h:56
Farm::HeavyCultivatorAggregate
virtual bool HeavyCultivatorAggregate(LE *a_field, double a_user, int a_days)
Carry out a heavy cultivation event on a_field. This is non-inversion type of cultivation which can b...
Definition: FarmFuncs.cpp:259
DK_ChristmasTrees_Perm
DK_ChristmasTrees_Perm class .
Definition: DK_ChristmasTrees_Perm.h:185
toc_FarmForest
Definition: LandscapeFarmingEnums.h:798
fmc_Fungicide
Definition: LandscapeFarmingEnums.h:1007
UserDefinedFarm13::UserDefinedFarm13
UserDefinedFarm13(FarmManager *a_manager)
Definition: Farm.cpp:3626
toc_OFodderBeet
Definition: LandscapeFarmingEnums.h:834
OGrazingPigs
Definition: OGrazingPigs.h:45
tov_PTPermanentGrassGrazed
Definition: LandscapeFarmingEnums.h:308
Farm::m_rotation_sync_index
int m_rotation_sync_index
Definition: Farm.h:1008
tov_FRSpringWheat
Definition: LandscapeFarmingEnums.h:592
DK_SpringBarleyCloverGrass
Definition: DK_SpringBarleyCloverGrass.h:67
tov_Potatoes
Definition: LandscapeFarmingEnums.h:212
tov_NLCarrotsSpring
Definition: LandscapeFarmingEnums.h:263
tole_FarmFeedingGround
Definition: LandscapeFarmingEnums.h:173
tov_OSpringBarley
Definition: LandscapeFarmingEnums.h:208
Farm::Spraying_fungins
virtual bool Spraying_fungins(TTypesOfVegetation)
Definition: Farm.h:777
FarmManager::GetIncome
double GetIncome(TTypesOfCrops a_toc)
Get tov-based profit per unit area per unit biomass.
Definition: Farm.cpp:6117
PLCarrots
PLCarrots class .
Definition: PLCarrots.h:76
FarmManagementCategory
FarmManagementCategory
Definition: LandscapeFarmingEnums.h:1001
tov_DESpringBarley
Definition: LandscapeFarmingEnums.h:517
cfg_Price_Oats
CfgFloat cfg_Price_Oats("PRICE_OATS", CFG_CUSTOM, 75)
DE_HerbsPerennial_1year
Definition: DE_HerbsPerennial_1year.h:84
DK_OWinterWheat_CC
DK_OWinterWheat_CC class .
Definition: DK_OWinterWheat_CC.h:94
l_map_farmref_file
static CfgStr l_map_farmref_file("MAP_FARMREF_FILE", CFG_CUSTOM, "farmrefs.txt")
DataForOptimisation::Get_cropTypes_str
string Get_cropTypes_str(int i)
Definition: Farm.h:587
DK_VegSeeds
Definition: DK_VegSeeds.h:74
UKSpringBarley
UKSpringBarley class .
Definition: UKSpringBarley.h:68
Farm::StubbleHarrowing
virtual bool StubbleHarrowing(LE *a_field, double a_user, int a_days)
Carry out stubble harrowing on a_field.
Definition: FarmFuncs.cpp:1523
OCloverGrassGrazed2
Definition: OCloverGrassGrazed2.h:49
tole_PermPasture
Definition: LandscapeFarmingEnums.h:69
Farm::SpringHarrow
virtual bool SpringHarrow(LE *a_field, double a_user, int a_days)
Carry out a harrow event in the spring on a_field.
Definition: FarmFuncs.cpp:459
FI_Caraway2
FI_Caraway2 class .
Definition: FI_Caraway2.h:83
tov_DEAsparagusEstablishedPlantation
Definition: LandscapeFarmingEnums.h:511
toc_OrchPear
Definition: LandscapeFarmingEnums.h:858
tov_PTOliveGroveIntensive
Definition: LandscapeFarmingEnums.h:335
OFieldPeasSilage
Definition: OFieldPeasSilage.h:52
toc_SugarBeet
Definition: LandscapeFarmingEnums.h:910
Farm::InitiateManagement
virtual void InitiateManagement(void)
Kicks off the farm's management.
Definition: Farm.cpp:1295
tov_DKOBushFruit_Perm2
Definition: LandscapeFarmingEnums.h:445
tov_DKOCerealLegume_Whole
Definition: LandscapeFarmingEnums.h:368
Farm::FP_NPKS
virtual bool FP_NPKS(LE *a_field, double a_user, int a_days)
Apply NPKS fertilizer, on a_field owned by an arable farmer.
Definition: FarmFuncs.cpp:630
DK_OWinterCloverGrassGrazedSown
DK_OWinterCloverGrassGrazedSown class .
Definition: DK_OWinterCloverGrassGrazedSown.h:99
CropStartStruct
Definition: Farm.h:427
IRWinterOats
IRWinterOats class .
Definition: IRWinterOats.h:107
HunterInfo::FarmHuntRef
vector< int > FarmHuntRef
The hunter's is the farm reference number to where he hunts.
Definition: Farm.h:445
ConventionalCattle::ConventionalCattle
ConventionalCattle(FarmManager *a_manager)
Definition: Farm.cpp:3267
Crop::SimpleEvent_
void SimpleEvent_(long a_date, int a_todo, bool a_lock, Farm *a_farm, LE *a_field)
Adds an event to this crop management without relying on member variables.
Definition: Farm.cpp:751
PTCloverGrassGrazed2
PTCloverGrassGrazed2 class .
Definition: PTCloverGrassGrazed2.h:87
Farm::CutWeeds
virtual bool CutWeeds(LE *a_field, double a_user, int a_days)
Carry out weed topping on a_field.
Definition: FarmFuncs.cpp:1629
tov_NLCarrots
Definition: LandscapeFarmingEnums.h:252
FarmerList::GetLocation
APoint GetLocation(int i)
Gets location of a farmer in ALMaSS coordinates.
Definition: Farm.cpp:6088
tov_OWinterRye
Definition: LandscapeFarmingEnums.h:211
FarmManager::AddToManagementStats
void AddToManagementStats(FarmEvent *a_ev)
Adds the event information to the management stats.
tov_DKSeedGrassRye_Spring
Definition: LandscapeFarmingEnums.h:408