Loading [MathJax]/extensions/MathMenu.js
 |
ALMaSS
1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
|
The Farm Manager class.
More...
#include <Farm.h>
|
| FarmManager (Landscape *landscape) |
| Farm manager constructor. More...
|
|
| ~FarmManager () |
| Farm manager destructor. More...
|
|
void | FarmManagement () |
| Runs the daily farm management for each farm, but also calculates annual spilled grain and maize. More...
|
|
void | InitiateManagement (void) |
|
void | UpdateSocialNetworks (bool a_geographic, bool a_associative, bool a_virtual) |
| Forces all farmers to update social networks if needed. More...
|
|
Landscape * | GetLandscape (void) |
|
void | AddField (int a_OwnerIndex, LE *a_newland, int a_Owner) |
|
void | RemoveField (int a_OwnerIndex, LE *a_field) |
|
int | ConnectFarm (int a_owner) |
|
TTypesOfVegetation | TranslateVegCodes (std::string &str) |
| Converts strings to tov_
More...
|
|
TTypesOfCrops | TranslateCropCodes (string &str) |
| Converts strings to toc_. More...
|
|
std::string | BackTranslateCropCodes (TTypesOfCrops a_crop) |
| Converts toc_ to string. More...
|
|
void | ReadCropYieldReturns () |
| Reads in and creates the yield return data for economics. More...
|
|
void | ReadCropManagementNorms () |
| Reads in and creates the crop management norms data for socio-economics. More...
|
|
void | ReadFarmerAttributes () |
| Reads in and creates the farmer attribute information and assigns it to farmers. More...
|
|
void | ReadFarmFunctionsCB () |
| Reads in and creates the data associated with costs and benefits of farm functions. More...
|
|
void | PrintLocationAndArea () |
| Print Farmers' location (x , y) More...
|
|
void | DumpFarmAreas () |
|
void | DumpFarmrefs (const char *a_filename) |
| dumps the farmrefs file to a standard named file More...
|
|
int | GetFarmTotalSize (int a_farmref) |
| Returns the total farm area from the farm ref num. More...
|
|
int | GetFarmArableSize (int a_farmref) |
| Returns the arable area from the farm ref num. More...
|
|
TTypesOfFarm | GetFarmType (int a_farmref) |
| Returns the farm type from the farm ref num. More...
|
|
int | GetFarmNoFields (int a_farmref) |
| Returns the number of fields owned by a from the farm ref num. More...
|
|
APoint | GetFarmValidCoords (int a_farmref) |
| Returns the number of fields owned by a from the farm ref num. More...
|
|
int | GetFarmNoOpenFields (int a_farmref, int a_openness) |
| Returns the number of fields with openness more than a_openness. More...
|
|
int | GetFarmAreaOpenFields (int a_farmref, int a_openness) |
| Returns the area of fields with openness more than a_openness. More...
|
|
Farm * | GetFarmPtr (int a_owner) |
| Returns the pointer to a farm with a specific number. More...
|
|
double | GetManagementNorm (int a_crop, int a_managementtype) |
| Get the norm for managment numbers for a crop and management cominbation. More...
|
|
Farm * | GetFarmPtrIndex (int a_index) |
| Returns the pointer to a farm with a specific index. More...
|
|
int | GetRandomFarmRefnum () |
| Returns a random farm reference number. More...
|
|
void | CalcCentroids () |
| calculate all farm centroids More...
|
|
bool | InIllegalList (int a_farm_ref, vector< int > *a_farmlist) |
| Checks a list to see if a farm matches the illegal list of references. More...
|
|
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. More...
|
|
int | FindClosestFarm (HunterInfo a_hinfo, vector< int > *a_farmlist) |
| Finds the closest farm to this co-ordinate. More...
|
|
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. More...
|
|
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 distribtution for acceptance based on closeness. More...
|
|
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 distribtution for acceptance based on closeness and another based on farm size. More...
|
|
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 distribtution for acceptance based on closeness and another based on farm size. More...
|
|
int | FindFarmWithRandom (vector< int > *a_farmlist) |
| Finds a farm openness more than a value not on the list. More...
|
|
int | FindFarmWithOpenness (vector< int > *a_farmlist, int a_openness) |
| Finds a farm openness more than a value not on the list. More...
|
|
int | FindOpennessFarm (int a_openness) |
| Finds a random farm with at least one field with openness above a_openness. More...
|
|
bool | CheckOpenness (int a_openness, int a_ref) |
| Check if a farm has at least one field with openness above a_openness. More...
|
|
APoint | GetFarmCentroid (int a_farmref) |
| Gets the farm centroid as an APoint. More...
|
|
bool | IsDuplicateRef (int a_ref, HunterInfo *a_hinfo) |
| Checks if we already have this ref. More...
|
|
double | GetSpilledGrain () |
| Returns the average amount of spilled grain in KJ/m2 this year. More...
|
|
double | GetSpilledMaize () |
| Returns the average amount of spilled maize in KJ/m2 this year. More...
|
|
void | SetSpilledGrain (bool a_spilledgrain) |
| Set m_SpilledGrain which is the flag for either 2013 (true) or 2014 (false) spilled grain distributions. More...
|
|
double | GetDD (void) |
| Returnes day degrees for the period March 1st - November 1st. Used for determining yields of crops that are not harvested. More...
|
|
void | SetDD (double a_dd) |
|
int | GetFarmNoLookupIndex (int a_ref) |
| Get a farm reference from the lookup table. More...
|
|
int | GetFarmNoLookup (int a_ref) |
| Get a farm reference from the lookup table. More...
|
|
int | GetFarmTypeLookup (int a_ref) |
| Get a farm type from the lookup table. More...
|
|
bool | GetIsRenumbered () |
| Returns the flag for renumbering. More...
|
|
int | GetRenumberedFarmRef (int a_farmref) |
| Returns the farm ref index for a farmref. More...
|
|
int | GetNoFarms () |
|
vector< Crop * > * | GetCropMgtPlans (void) |
|
int | GetCropMgtPlansIndex (TTypesOfVegetation a_tov) |
|
TTypesOfCrops | GetCropTypeFromPlan (TTypesOfVegetation a_tov) |
|
FarmerList * | GetFarmerList () |
| Gets the farmer list pointer (used by social networks and farmers) More...
|
|
Farmer * | GetFarmer (int i) |
| Gets the farmer associated with the farm with the index number i. More...
|
|
void | SetFarmer (int i, Farmer *a_farmer) |
| Sets the farmer associated with the farm with the index number i. More...
|
|
Farm * | GetFarm (int i) |
| Get a specific farm i. More...
|
|
FarmFuncsCostBenefits | Get_FarmFuncsCB (FarmToDo a_action) |
| Get a specific FarmFunction Cost Benefit. More...
|
|
void | Print_FarmerAttributes () |
| Create an output where Farmer's attribute are shown. More...
|
|
void | AddToManagementStats (FarmEvent *a_ev) |
| Adds the event information to the management stats. More...
|
|
bool | GetUseSocioEconomicFarmers () |
| Get the flag for use of socio-economic farmers. More...
|
|
double | GetIncome (TTypesOfCrops a_toc) |
| Get tov-based profit per unit area per unit biomass. More...
|
|
◆ FarmManager()
FarmManager::FarmManager |
( |
Landscape * |
landscape | ) |
|
Farm manager constructor.
3877 Farmer::SetStaticParameterValues();
3885 #ifndef __CALCULATE_MANAGEMENT_NORMS
3899 #ifdef __CALCULATE_MANAGEMENT_NORMS
3901 for (
int j=0; j<=
fmc_Foobar; j++) m_managementnormstats[i][j] = 0;
References cfg_UseSocioEconomicFarm, CreateFarms(), fmc_Foobar, g_farmmanager, l_map_farmref_file, l_map_read_farmfile, last_treatment, m_farmers, m_FarmFuncsCB, m_landscape, m_MangagementNorms, m_UseSocioEconomicFarmers, m_YieldReturns, ReadCropManagementNorms(), ReadCropYieldReturns(), ReadFarmerAttributes(), ReadFarmFunctionsCB(), SetUseSocioEconomics(), toc_Foobar, CfgBool::value(), and CfgStr::value().
◆ ~FarmManager()
FarmManager::~FarmManager |
( |
| ) |
|
◆ AddField()
void FarmManager::AddField |
( |
int |
a_OwnerIndex, |
|
|
LE * |
a_newland, |
|
|
int |
a_Owner |
|
) |
| |
◆ AddToIllegalList()
void FarmManager::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.
a_farmlist is a pointer to a list of integers with illegal farm ref numbers.
5705 unsigned sz = (unsigned)a_farmlist->size();
5706 for (
unsigned f = 0; f < sz; f++) {
5707 if ((*a_farmlist)[f] == a_farm_ref) {
5713 a_farmlist->push_back( a_farm_ref );
Referenced by FindFarmWithOpenness().
◆ AddToManagementStats()
void FarmManager::AddToManagementStats |
( |
FarmEvent * |
a_ev | ) |
|
Adds the event information to the management stats.
◆ BackTranslateCropCodes()
std::string FarmManager::BackTranslateCropCodes |
( |
TTypesOfCrops |
a_crop | ) |
|
Converts toc_ to string.
3107 if (a_crop ==
toc_Beans)
return "Beans";
3109 if (a_crop ==
toc_Beet)
return "Beet";
3135 if (a_crop ==
toc_Maize)
return "Maize";
3141 if (a_crop ==
toc_Oats)
return "Oats";
3163 if (a_crop ==
toc_OOats)
return "OOats";
3249 g_msg->
Warn(
WARN_FILE,
"FarmManager::TranslateCropCodes():"" Unknown Crop toc ", a_crop);
References g_msg, toc_AsparagusEstablishedPlantation, toc_Beans, toc_Beans_Whole, toc_Beet, toc_BushFruit, toc_Cabbage, toc_CabbageSpring, toc_Carrots, toc_CarrotsSpring, toc_CatchCropPea, toc_CloverGrassGrazed1, toc_CloverGrassGrazed2, toc_CloverGrassGrazed3, toc_CorkOak, toc_DummyCropPestTesting, toc_FarmForest, toc_FieldPeas, toc_FieldPeasSilage, toc_FieldPeasStrigling, toc_FodderBeet, toc_FodderGrass, toc_FodderLucerne1, toc_FodderLucerne2, toc_Foobar, toc_GenericCatchCrop, toc_GrassGrazed1, toc_GrassGrazed2, toc_GrassGrazedExtensive, toc_GrassGrazedLast, toc_GrazingPigs, toc_Horticulture, toc_Maize, toc_MaizeSilage, toc_MaizeSpring, toc_MaizeStrigling, toc_MixedVeg, toc_OAsparagusEstablishedPlantation, toc_Oats, toc_OBarleyPeaCloverGrass, toc_OBeans, toc_OBeans_Whole, toc_OBushFruit, toc_OCabbage, toc_OCarrots, toc_OCloverGrassGrazed1, toc_OCloverGrassGrazed2, toc_OCloverGrassGrazed3, toc_OCloverGrassSilage1, toc_OFarmForest, toc_OFieldPeas, toc_OFieldPeasSilage, toc_OFirstYearDanger, toc_OFodderBeet, toc_OFodderGrass, toc_OGrazingPigs, toc_OLentils, toc_OliveGrove, toc_OLupines, toc_OMaize, toc_OMaizeSilage, toc_OMixedVeg, toc_OOats, toc_OOrchApple, toc_OOrchardCrop, toc_OOrchCherry, toc_OOrchOther, toc_OOrchPear, toc_OPermanentGrassGrazed, toc_OPermanentGrassLowYield, toc_OPotatoes, toc_OPotatoesIndustry, toc_OPotatoesSeed, toc_OrchApple, toc_OrchardCrop, toc_OrchCherry, toc_OrchOther, toc_OrchPear, toc_ORyegrass, toc_OSBarleySilage, toc_OSeedGrass1, toc_OSeedGrass2, toc_OSetAside, toc_OSetAside_Flower, toc_OSpringBarley, toc_OSpringBarleyCloverGrass, toc_OSpringBarleyExtensive, toc_OSpringBarleyPeaCloverGrass, toc_OSpringBarleyPigs, toc_OSpringBarleySilage, toc_OSpringRape, toc_OSpringWheat, toc_OStarchPotato, toc_OSugarBeet, toc_OTriticale, toc_OVegSeeds, toc_OWinterBarley, toc_OWinterBarleyExtensive, toc_OWinterRape, toc_OWinterRye, toc_OWinterWheat, toc_OWinterWheatUndersown, toc_OWinterWheatUndersownExtensive, toc_OYoungForestCrop, toc_PermanentGrassGrazed, toc_PermanentGrassLowYield, toc_PermanentGrassTussocky, toc_PermanentSetAside, toc_PlantNursery, toc_Potatoes, toc_PotatoesIndustry, toc_PotatoesSeed, toc_PotatoesSpring, toc_Ryegrass, toc_SeedGrass1, toc_SeedGrass2, toc_SetAside, toc_Sorghum, toc_SpringBarley, toc_SpringBarleyCloverGrass, toc_SpringBarleyPeaCloverGrass, toc_SpringBarleySeed, toc_SpringBarleySilage, toc_SpringRape, toc_SpringRye, toc_SpringWheat, toc_StarchPotato, toc_SugarBeet, toc_Triticale, toc_Tulips, toc_Turnip, toc_VegSeeds, toc_Vineyards, toc_WinterBarley, toc_WinterRape, toc_WinterRye, toc_WinterTriticale, toc_WinterWheat, toc_YellowLupin, toc_YoungForestCrop, MapErrorMsg::Warn(), and WARN_FILE.
◆ CalcCentroids()
void FarmManager::CalcCentroids |
( |
| ) |
|
|
inline |
calculate all farm centroids
1556 {
for (
unsigned int i = 0; i <
m_farms.size(); i++)
m_farms[i]->Centroids(); }
References m_farms.
◆ CheckOpenness()
bool FarmManager::CheckOpenness |
( |
int |
a_openness, |
|
|
int |
a_ref |
|
) |
| |
Check if a farm has at least one field with openness above a_openness.
6001 if (
m_farms[ a_ref ]->GetMaxOpenness() > a_openness)
return true;
References m_farms.
◆ ConnectFarm()
int FarmManager::ConnectFarm |
( |
int |
a_owner | ) |
|
3991 for (
unsigned int i = 0; i <
m_farms.size(); i++ )
3993 if ( a_owner ==
m_farms[ i ]->GetFarmNumber() )
4003 char error_num[ 20 ];
4004 sprintf( error_num,
"%d", a_owner );
4005 g_msg->
Warn(
WARN_FILE,
"FarmManager::ConnectFarm(): Unknown farm number"" referenced in polygon file:", error_num );
References g_msg, m_farms, MapErrorMsg::Warn(), and WARN_FILE.
◆ CreateFarms()
void FarmManager::CreateFarms |
( |
const char * |
a_farmfile | ) |
|
|
protected |
Creates ther farms at simulation start.
4011 int No, FType, NoFarms;
4012 string firstline =
"";
4013 string rubbish =
"";
4014 float latitude, longitude;
4015 std::string country_code;
4017 ifstream ifile(a_farmfile);
4018 if (!ifile.is_open()) {
4019 g_msg->
Warn(
WARN_FILE,
"Landscape::CreateFarms(): Unable to open file", a_farmfile );
4028 for (
int i = 0; i < NoFarms; i++)
4034 ifile >> No >> FType;
4040 std::unordered_set<int> crop_set;
4046 crop_set.insert((
int)fixed_crop_veg);
4116 for (
int i = 0; i < NoFarms; i++)
4294 for (
int j = 0; j <
m_farms[i]->GetNoCrops(); j++) {
4295 crop_set.insert((
int)
m_farms[i]->GetCrop(j));
4301 for (std::unordered_set<int>::iterator itr = crop_set.begin(); itr != crop_set.end(); ++itr)
5595 g_msg->
Warn(
WARN_FILE,
"Landscape::CreateFarms(): Missing Cropprog definition for TOV code", to_string(*itr));
References FarmerList::AddFarmer(), g_farm_fixed_crop_enable, g_farm_fixed_crop_type, g_farm_fixed_rotation_enable, g_farm_fixed_rotation_farmtype, g_landscape_ptr, g_letype, g_msg, GetFarmer(), GetFarmNoLookup(), m_cropprogs, m_farmers, m_farmmapping_lookup, m_farms, m_renumbered, toc_AsparagusEstablishedPlantation, toc_Beans, toc_Beans_Whole, toc_Beet, toc_BushFruit, toc_Cabbage, toc_CabbageSpring, toc_Carrots, toc_CarrotsSpring, toc_CatchCropPea, toc_CloverGrassGrazed1, toc_CloverGrassGrazed2, toc_CloverGrassGrazed3, toc_CorkOak, toc_DummyCropPestTesting, toc_FarmForest, toc_FieldPeas, toc_FieldPeasSilage, toc_FieldPeasStrigling, toc_FodderBeet, toc_FodderGrass, toc_FodderLucerne1, toc_FodderLucerne2, toc_GenericCatchCrop, toc_GrassGrazed1, toc_GrassGrazed2, toc_GrassGrazedExtensive, toc_GrassGrazedLast, toc_GrazingPigs, toc_Horticulture, toc_Maize, toc_MaizeSilage, toc_MaizeSpring, toc_MaizeStrigling, toc_MixedVeg, toc_OAsparagusEstablishedPlantation, toc_Oats, toc_OBarleyPeaCloverGrass, toc_OBeans, toc_OBeans_Whole, toc_OBushFruit, toc_OCabbage, toc_OCarrots, toc_OCloverGrassGrazed1, toc_OCloverGrassGrazed2, toc_OCloverGrassGrazed3, toc_OCloverGrassSilage1, toc_OFarmForest, toc_OFieldPeas, toc_OFieldPeasSilage, toc_OFirstYearDanger, toc_OFodderBeet, toc_OFodderGrass, toc_OGrazingPigs, toc_OLentils, toc_OliveGrove, toc_OLupines, toc_OMaize, toc_OMaizeSilage, toc_OMixedVeg, toc_OOats, toc_OOrchApple, toc_OOrchardCrop, toc_OOrchCherry, toc_OOrchOther, toc_OOrchPear, toc_OPermanentGrassGrazed, toc_OPermanentGrassLowYield, toc_OPotatoes, toc_OPotatoesIndustry, toc_OPotatoesSeed, toc_OrchApple, toc_OrchardCrop, toc_OrchCherry, toc_OrchOther, toc_OrchPear, toc_ORyeGrass, toc_ORyegrass, toc_OSBarleySilage, toc_OSeedGrass1, toc_OSeedGrass2, toc_OSetAside, toc_OSetAside_Flower, toc_OSpringBarley, toc_OSpringBarleyCloverGrass, toc_OSpringBarleyExtensive, toc_OSpringBarleyPeaCloverGrass, toc_OSpringBarleyPigs, toc_OSpringBarleySilage, toc_OSpringRape, toc_OSpringRye, toc_OSpringWheat, toc_OStarchPotato, toc_OSugarBeet, toc_OTriticale, toc_OVegSeeds, toc_OWinterBarley, toc_OWinterBarleyExtensive, toc_OWinterRape, toc_OWinterRye, toc_OWinterWheat, toc_OWinterWheatUndersown, toc_OWinterWheatUndersownExtensive, toc_OYoungForestCrop, toc_PermanentGrassGrazed, toc_PermanentGrassLowYield, toc_PermanentGrassTussocky, toc_PermanentSetAside, toc_PlantNursery, toc_Potatoes, toc_PotatoesIndustry, toc_PotatoesSeed, toc_PotatoesSpring, toc_Ryegrass, toc_SeedGrass1, toc_SeedGrass2, toc_SetAside, toc_Sorghum, toc_SpringBarley, toc_SpringBarleyCloverGrass, toc_SpringBarleyPeaCloverGrass, toc_SpringBarleySeed, toc_SpringBarleySilage, toc_SpringRape, toc_SpringRye, toc_SpringWheat, toc_StarchPotato, toc_SugarBeet, toc_Sunflower, toc_Triticale, toc_Tulips, toc_Turnip, toc_VegSeeds, toc_Vineyards, toc_WinterBarley, toc_WinterRape, toc_WinterRye, toc_WinterTriticale, toc_WinterWheat, toc_YellowLupin, toc_YoungForestCrop, tof_UserDefinedFarm18, tof_UserDefinedFarm19, tof_UserDefinedFarm20, tof_UserDefinedFarm21, tof_UserDefinedFarm22, tof_UserDefinedFarm23, tof_UserDefinedFarm24, tof_UserDefinedFarm25, tof_UserDefinedFarm26, tof_UserDefinedFarm27, tof_UserDefinedFarm28, tof_UserDefinedFarm29, tof_UserDefinedFarm30, tof_UserDefinedFarm31, tof_UserDefinedFarm32, tof_UserDefinedFarm33, tof_UserDefinedFarm34, tof_UserDefinedFarm35, tof_UserDefinedFarm36, tov_BEBeet, tov_BEBeetSpring, tov_BECatchPeaCrop, tov_BEGrassGrazed1, tov_BEGrassGrazed1Spring, tov_BEGrassGrazed2, tov_BEGrassGrazedLast, tov_BEMaize, tov_BEMaizeCC, tov_BEMaizeSpring, tov_BEOrchardCrop, tov_BEPotatoes, tov_BEPotatoesSpring, tov_BEWinterBarley, tov_BEWinterBarleyCC, tov_BEWinterWheat, tov_BEWinterWheatCC, tov_BroadBeans, tov_Carrots, tov_CloverGrassGrazed1, tov_CloverGrassGrazed2, tov_DEAsparagusEstablishedPlantation, tov_DEBushFruitPerm, tov_DECabbage, tov_DECarrots, tov_DEGrasslandSilageAnnual, tov_DEGreenFallow_1year, tov_DEHerbsPerennial_1year, tov_DEHerbsPerennial_after1year, tov_DELegumes, tov_DEMaize, tov_DEMaizeSilage, tov_DEOAsparagusEstablishedPlantation, tov_DEOats, tov_DEOBushFruitPerm, tov_DEOCabbages, tov_DEOCarrots, tov_DEOGrasslandSilageAnnual, tov_DEOGreenFallow_1year, tov_DEOHerbsPerennial_1year, tov_DEOHerbsPerennial_after1year, tov_DEOLegume, tov_DEOMaize, tov_DEOMaizeSilage, tov_DEOOats, tov_DEOOrchard, tov_DEOPeas, tov_DEOPermanentGrassGrazed, tov_DEOPermanentGrassLowYield, tov_DEOPotatoes, tov_DEOrchard, tov_DEOSpringRye, tov_DEOSugarBeet, tov_DEOTriticale, tov_DEOWinterBarley, tov_DEOWinterRape, tov_DEOWinterRye, tov_DEOWinterWheat, tov_DEPeas, tov_DEPermanentGrassGrazed, tov_DEPermanentGrassLowYield, tov_DEPotatoes, tov_DEPotatoesIndustry, tov_DESpringBarley, tov_DESpringRye, tov_DESugarBeet, tov_DETriticale, tov_DEWinterBarley, tov_DEWinterRape, tov_DEWinterRye, tov_DEWinterWheat, tov_DEWinterWheatLate, tov_DKBushFruit_Perm1, tov_DKBushFruit_Perm2, tov_DKCabbages, tov_DKCarrots, tov_DKCatchCrop, tov_DKCerealLegume, tov_DKCerealLegume_Whole, tov_DKChristmasTrees_Perm, tov_DKCloverGrassGrazed1, tov_DKCloverGrassGrazed2, tov_DKCloverGrassGrazed3, tov_DKEnergyCrop_Perm, tov_DKFarmForest_Perm, tov_DKFarmYoungForest_Perm, tov_DKFodderBeets, tov_DKGrassGrazed_Perm, tov_DKGrassLowYield_Perm, tov_DKGrassTussocky_Perm, tov_DKGrazingPigs, tov_DKGrazingPigs_Perm, tov_DKLegume_Beans, tov_DKLegume_Peas, tov_DKLegume_Whole, tov_DKMaize, tov_DKMaizeSilage, tov_DKMixedVeg, tov_DKOBushFruit_Perm1, tov_DKOBushFruit_Perm2, tov_DKOCabbages, tov_DKOCarrots, tov_DKOCatchCrop, tov_DKOCerealLegume, tov_DKOCerealLegume_Whole, tov_DKOChristmasTrees_Perm, tov_DKOCloverGrassGrazed1, tov_DKOCloverGrassGrazed2, tov_DKOCloverGrassGrazed3, tov_DKOEnergyCrop_Perm, tov_DKOFarmForest_Perm, tov_DKOFarmYoungForest_Perm, tov_DKOFodderBeets, tov_DKOGrassGrazed_Perm, tov_DKOGrassLowYield_Perm, tov_DKOGrazingPigs, tov_DKOGrazingPigs_Perm, tov_DKOLegume_Beans, tov_DKOLegume_Beans_CC, tov_DKOLegume_Peas, tov_DKOLegume_Peas_CC, tov_DKOLegume_Whole, tov_DKOLegume_Whole_CC, tov_DKOLegumeCloverGrass_Whole, tov_DKOLentils, tov_DKOLupines, tov_DKOMaize, tov_DKOMaizeSilage, tov_DKOMixedVeg, tov_DKOOrchApple, tov_DKOOrchardCrop_Perm, tov_DKOOrchCherry, tov_DKOOrchOther, tov_DKOOrchPear, tov_DKOPotato, tov_DKOPotatoIndustry, tov_DKOPotatoSeed, tov_DKOptimalFlowerMix1, tov_DKOptimalFlowerMix2, tov_DKOptimalFlowerMix3, tov_DKOrchApple, tov_DKOrchardCrop_Perm, tov_DKOrchCherry, tov_DKOrchOther, tov_DKOrchPear, tov_DKOSeedGrassRye_Spring, tov_DKOSetAside, tov_DKOSetAside_AnnualFlower, tov_DKOSetAside_PerennialFlower, tov_DKOSetAside_SummerMow, tov_DKOSpringBarley, tov_DKOSpringBarley_CC, tov_DKOSpringBarleyCloverGrass, tov_DKOSpringBarleySilage, tov_DKOSpringFodderGrass, tov_DKOSpringOats, tov_DKOSpringOats_CC, tov_DKOSpringWheat, tov_DKOSugarBeets, tov_DKOVegSeeds, tov_DKOWinterBarley, tov_DKOWinterCloverGrassGrazedSown, tov_DKOWinterFodderGrass, tov_DKOWinterRape, tov_DKOWinterRye, tov_DKOWinterRye_CC, tov_DKOWinterWheat, tov_DKOWinterWheat_CC, tov_DKPlantNursery_Perm, tov_DKPotato, tov_DKPotatoIndustry, tov_DKPotatoSeed, tov_DKSeedGrassFescue_Spring, tov_DKSeedGrassRye_Spring, tov_DKSetAside, tov_DKSetAside_SummerMow, tov_DKSpringBarley, tov_DKSpringBarley_CC, tov_DKSpringBarley_Green, tov_DKSpringBarleyCloverGrass, tov_DKSpringBarleySilage, tov_DKSpringFodderGrass, tov_DKSpringOats, tov_DKSpringOats_CC, tov_DKSpringWheat, tov_DKSugarBeets, tov_DKVegSeeds, tov_DKWinterBarley, tov_DKWinterCloverGrassGrazedSown, tov_DKWinterFodderGrass, tov_DKWinterRape, tov_DKWinterRye, tov_DKWinterRye_CC, tov_DKWinterWheat, tov_DKWinterWheat_CC, tov_DummyCropPestTesting, tov_FIBufferZone, tov_FIBufferZone_Perm, tov_FICaraway1, tov_FICaraway2, tov_FieldPeas, tov_FieldPeasSilage, tov_FieldPeasStrigling, tov_FIFabaBean, tov_FIFeedingGround, tov_FIGrasslandPasturePerennial1, tov_FIGrasslandPasturePerennial2, tov_FIGrasslandSilageAnnual, tov_FIGrasslandSilagePerennial1, tov_FIGrasslandSilagePerennial2, tov_FIGreenFallow_1year, tov_FIGreenFallow_Perm, tov_FINaturalGrassland, tov_FINaturalGrassland_Perm, tov_FIOCaraway1, tov_FIOCaraway2, tov_FIOFabaBean, tov_FIOPotato_North, tov_FIOPotato_South, tov_FIOPotatoIndustry_North, tov_FIOPotatoIndustry_South, tov_FIOSpringBarley_Fodder, tov_FIOSpringBarley_Malt, tov_FIOSpringOats, tov_FIOSpringRape, tov_FIOSpringWheat, tov_FIOStarchPotato_North, tov_FIOStarchPotato_South, tov_FIOTurnipRape, tov_FIOWinterRye, tov_FIOWinterWheat, tov_FIPotato_North, tov_FIPotato_South, tov_FIPotatoIndustry_North, tov_FIPotatoIndustry_South, tov_FISpringBarley_Fodder, tov_FISpringBarley_Malt, tov_FISpringOats, tov_FISpringRape, tov_FISpringWheat, tov_FISprSpringBarley_Fodder, tov_FIStarchPotato_North, tov_FIStarchPotato_South, tov_FISugarBeet, tov_FITurnipRape, tov_FIWinterRye, tov_FIWinterWheat, tov_FodderBeet, tov_FodderGrass, tov_FRGrassland, tov_FRGrassland_Perm, tov_FRMaize, tov_FRMaize_Silage, tov_FRPotatoes, tov_FRSorghum, tov_FRSpringBarley, tov_FRSpringOats, tov_FRSpringWheat, tov_FRSunflower, tov_FRWinterBarley, tov_FRWinterRape, tov_FRWinterTriticale, tov_FRWinterWheat, tov_GenericCatchCrop, tov_IRGrassland_no_reseed, tov_IRGrassland_reseed, tov_IRSpringBarley, tov_IRSpringOats, tov_IRSpringWheat, tov_IRWinterBarley, tov_IRWinterOats, tov_IRWinterWheat, tov_ITGrassland, tov_ITOOrchard, tov_ITOrchard, tov_Maize, tov_MaizeSilage, tov_MaizeStrigling, tov_NLBeet, tov_NLBeetSpring, tov_NLCabbage, tov_NLCabbageSpring, tov_NLCarrots, tov_NLCarrotsSpring, tov_NLCatchCropPea, tov_NLGrassGrazed1, tov_NLGrassGrazed1Spring, tov_NLGrassGrazed2, tov_NLGrassGrazedExtensive1, tov_NLGrassGrazedExtensive1Spring, tov_NLGrassGrazedExtensive2, tov_NLGrassGrazedExtensiveLast, tov_NLGrassGrazedLast, tov_NLMaize, tov_NLMaizeSpring, tov_NLOrchardCrop, tov_NLPermanentGrassGrazed, tov_NLPermanentGrassGrazedExtensive, tov_NLPotatoes, tov_NLPotatoesSpring, tov_NLSpringBarley, tov_NLSpringBarleySpring, tov_NLTulips, tov_NLWinterWheat, tov_NorwegianOats, tov_NorwegianPotatoes, tov_NorwegianSpringBarley, tov_Oats, tov_OBarleyPeaCloverGrass, tov_OCarrots, tov_OCloverGrassGrazed1, tov_OCloverGrassGrazed2, tov_OCloverGrassSilage1, tov_OFieldPeas, tov_OFieldPeasSilage, tov_OFirstYearDanger, tov_OFodderBeet, tov_OGrazingPigs, tov_OMaizeSilage, tov_OOats, tov_OPermanentGrassGrazed, tov_OPotatoes, tov_OrchardCrop, tov_OSBarleySilage, tov_OSeedGrass1, tov_OSeedGrass2, tov_OSpringBarley, tov_OSpringBarleyExt, tov_OSpringBarleyPigs, tov_OTriticale, tov_OWinterBarley, tov_OWinterBarleyExt, tov_OWinterRape, tov_OWinterRye, tov_OWinterWheat, tov_OWinterWheatUndersown, tov_OWinterWheatUndersownExt, tov_PermanentGrassGrazed, tov_PermanentGrassLowYield, tov_PermanentGrassTussocky, tov_PermanentSetAside, tov_PlantNursery, tov_PLBeans, tov_PLBeet, tov_PLBeetSpr, tov_PLCarrots, tov_PLFodderLucerne1, tov_PLFodderLucerne2, tov_PLMaize, tov_PLMaizeSilage, tov_PLPotatoes, tov_PLSpringBarley, tov_PLSpringBarleySpr, tov_PLSpringWheat, tov_PLWinterBarley, tov_PLWinterRape, tov_PLWinterRye, tov_PLWinterTriticale, tov_PLWinterWheat, tov_PLWinterWheatLate, tov_Potatoes, tov_PotatoesIndustry, tov_PTBeans, tov_PTCabbage, tov_PTCabbage_Hort, tov_PTCloverGrassGrazed1, tov_PTCloverGrassGrazed2, tov_PTCorkOak, tov_PTFodderMix, tov_PTGrassGrazed, tov_PTHorticulture, tov_PTMaize, tov_PTMaize_Hort, tov_PTOats, tov_PTOliveGroveIntensive, tov_PTOliveGroveSuperIntensive, tov_PTOliveGroveTraditional, tov_PTOliveGroveTradOrganic, tov_PTOtherDryBeans, tov_PTPermanentGrassGrazed, tov_PTPotatoes, tov_PTRyegrass, tov_PTSetAside, tov_PTShrubPastures, tov_PTSorghum, tov_PTTriticale, tov_PTTurnipGrazed, tov_PTVineyards, tov_PTWinterBarley, tov_PTWinterRye, tov_PTWinterWheat, tov_PTYellowLupin, tov_SeedGrass1, tov_SeedGrass2, tov_SESpringBarley, tov_SetAside, tov_SEWinterRape_Seed, tov_SEWinterWheat, tov_SpringBarley, tov_SpringBarleyCloverGrass, tov_SpringBarleyCloverGrassStrigling, tov_SpringBarleyPeaCloverGrassStrigling, tov_SpringBarleySeed, tov_SpringBarleySilage, tov_SpringBarleySKManagement, tov_SpringBarleySpr, tov_SpringBarleyStrigling, tov_SpringBarleyStriglingCulm, tov_SpringBarleyStriglingSingle, tov_SpringRape, tov_SugarBeet, tov_Triticale, tov_UKBeans, tov_UKBeet, tov_UKMaize, tov_UKPermanentGrass, tov_UKPotatoes, tov_UKSpringBarley, tov_UKTempGrass, tov_UKWinterBarley, tov_UKWinterRape, tov_UKWinterWheat, tov_WinterBarley, tov_WinterBarleyStrigling, tov_WinterRape, tov_WinterRapeStrigling, tov_WinterRye, tov_WinterRyeStrigling, tov_WinterWheat, tov_WinterWheatStrigling, tov_WinterWheatStriglingCulm, tov_WinterWheatStriglingSingle, tov_YoungForest, LE_TypeClass::TranslateVegTypes(), CfgInt::value(), CfgBool::value(), MapErrorMsg::Warn(), and WARN_FILE.
Referenced by FarmManager().
◆ DumpFarmAreas()
void FarmManager::DumpFarmAreas |
( |
| ) |
|
3256 ofstream ofile(
"FarmTotalAreas_almass.txt", ios::out);
3257 ofile <<
"Farm no" <<
'\t' <<
"Area" << endl;
3260 for (
int i = 0; i < (int)
m_farms.size(); i++) {
3261 ofile << i <<
'\t' <<
m_farms[i]->GetArea() << endl;
◆ DumpFarmrefs()
void FarmManager::DumpFarmrefs |
( |
const char * |
a_filename | ) |
|
◆ FarmManagement()
void FarmManager::FarmManagement |
( |
| ) |
|
Runs the daily farm management for each farm, but also calculates annual spilled grain and maize.
The crop management does not need to be recursively called so is looped through for each farm first
This next section effectively implements the Step code for the farmer, so that we can include complex behaviour
3924 for (
unsigned int i = 0; i <
m_farms.size(); i++) {
3951 }
while (AllDone ==
false);
References Calendar::DayInYear(), fmc_Cultivation, fmc_Cutting, fmc_Fertilizer, fmc_Fungicide, fmc_Grazing, fmc_Harvest, fmc_Herbicide, fmc_Insecticide, fmc_Others, fmc_Watering, g_date, FarmerList::GetFarmer(), FarmerList::GetSize(), m_farmers, m_farms, m_ManagementCategoryLabels, m_UseSocioEconomicFarmers, Print_FarmerAttributes(), and FarmerList::ResetAllDone().
◆ FindClosestFarm()
int FarmManager::FindClosestFarm |
( |
HunterInfo |
a_hinfo, |
|
|
vector< int > * |
a_farmlist |
|
) |
| |
◆ FindClosestFarmOpenness()
int FarmManager::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.
Finds the closest farm to this co-ordinate with openness more than a value
5758 double best = 99999999999999999.0;
5761 for (
unsigned i = 0; i <
m_farms.size(); i++) {
5762 if (
m_farms[ i ]->GetMaxOpenness() > a_openness) {
5763 int fref =
m_farms[ i ]->GetFarmNumber();
5767 dist = sqrt( (
double( FPt.
m_x - a_hunterinfo.homeX ) *
double( FPt.
m_x - a_hunterinfo.homeX ) +
double( FPt.
m_y - a_hunterinfo.homeY ) *
double( FPt.
m_y - a_hunterinfo.homeY )) );
5776 if (bestref == -1) {
5777 g_msg->
Warn(
"FarmManager::FindClosestFarmOpenness( ) - Cannot find open farm.",
"" );
References g_msg, HunterInfo::homeX, HunterInfo::homeY, InIllegalList(), IsDuplicateRef(), m_farms, APoint::m_x, APoint::m_y, and MapErrorMsg::Warn().
◆ FindClosestFarmOpennessProb()
int FarmManager::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 distribtution for acceptance based on closeness.
Centroid calculation on farms must be called before calling this method for the first time.
a_farmlist is a pointer to a list of integers with illegal farm ref numbers. The first entry lists the number of illegal numbers. The chance of acceptance is probability based, taking the nearest farm first then testing the next etc.. The probability is based on y = 1*EXP(-x*cfg) with cfg being a fitting parameter in cfg_ClosestFarmProbParam1
We use typedef here to create our own name for APoint - but it is just two unsigned ints. We will use 'x' for the farm num and 'y' for the distance.
We use a vector of AFarmDists to be able to sort it easily
Struct redefining operator < - used for sorting distances from smallest to largest.
5792 typedef APoint AFarmDist;
5794 vector <AFarmDist> farmdists;
5796 struct FarmDistSort {
5797 bool operator()( AFarmDist a, AFarmDist b ) {
5798 return a.
m_y < b.m_y;
5801 for (
unsigned i = 0; i <
m_farms.size(); i++) {
5802 int fnum =
m_farms[ i ]->GetFarmNumber();
5804 if (
m_farms[ i ]->GetMaxOpenness() > a_openness) {
5808 int dist = int(sqrt( (
double( FPt.
m_x - a_hunterinfo.homeX ) *
double( FPt.
m_x - a_hunterinfo.homeX ) +
double( FPt.
m_y - a_hunterinfo.homeY ) *
double( FPt.
m_y - a_hunterinfo.homeY )) ));
5809 if (dist>40000) dist = 40000;
5810 AFarmDist fd(
int( fnum ), dist );
5811 farmdists.push_back( fd );
5818 std::shuffle( farmdists.begin(), farmdists.end(),
g_generator );
5820 for (
int ch = 1; ch < 100000; ch++)
5822 int sz = int( farmdists.size() );
5823 for (
int i = 0; i < sz; i++) {
5827 if (chance <= calc)
return farmdists[ i ].m_x;
5830 g_msg->
Warn(
"FarmManager::FindClosestFarmProb",
"- No suitable farm found" );
References cfg_ClosestFarmProbParam1, cfg_ClosestFarmProbParam2, g_generator, g_msg, g_rand_uni_fnc(), HunterInfo::homeX, HunterInfo::homeY, InIllegalList(), IsDuplicateRef(), m_farms, APoint::m_x, APoint::m_y, CfgFloat::value(), and MapErrorMsg::Warn().
◆ FindClosestFarmOpennessProbNearRoostIsBest()
int FarmManager::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 distribtution for acceptance based on closeness and another based on farm size.
Centroid calculation on farms must be called before calling this method for the first time.
a_farmlist is a pointer to a list of integers with illegal farm ref numbers. The first entry lists the number of illegal numbers. The chance of acceptance is probability based, taking the nearest farm first then testing the next etc.. The probability is based on y = 1*EXP(-x*cfg) with cfg being a fitting parameter in cfg_ClosestFarmProbParam1
We use typedef here to create our own name for APoint - but it is just two unsigned ints. We will use 'x' for the farm num and 'y' for the distance.
We use a vector of AFarmDists to be able to sort it easily
Struct redefining operator < - used for sorting distances from smallest to largest.
5899 typedef APoint AFarmDist;
5901 vector <AFarmDist> farmdists;
5903 struct FarmDistSort {
5904 bool operator()( AFarmDist a, AFarmDist b ) {
5905 return a.
m_y < b.m_y;
5908 for (
unsigned i = 0; i <
m_farms.size(); i++) {
5909 int fnum =
m_farms[ i ]->GetFarmNumber();
5911 if (
m_farms[ i ]->GetMaxOpenness() > a_openness) {
5915 int dist = int(sqrt( (
double( FPt.
m_x - a_hunterinfo.homeX ) *
double( FPt.
m_x - a_hunterinfo.homeX ) +
double( FPt.
m_y - a_hunterinfo.homeY ) *
double( FPt.
m_y - a_hunterinfo.homeY )) ));
5916 if (dist>40000) dist = 40000;
5917 AFarmDist fd(
unsigned( fnum ), dist );
5918 farmdists.push_back( fd );
5925 std::shuffle( farmdists.begin(), farmdists.end(),
g_generator );
5927 for (
int ch = 1; ch < 100000; ch++)
5929 int sz = int( farmdists.size() );
5930 for (
int i = 0; i < sz; i++) {
5934 if (chance <= calc) {
5938 double dist = 10000;
5939 for (
int r = 0; r < int( a_roostlist->size() ); r++) {
5940 double fdistroostx = farmdists[ i ].m_x - (*a_roostlist)[ r ].m_x;
5941 double fdistroosty = farmdists[ i ].m_y - (*a_roostlist)[ r ].m_y;
5942 double distf = sqrt( fdistroostx * fdistroostx + fdistroosty * fdistroostx );
5943 if (distf < dist) dist = distf;
5946 if (chance>calc)
return farmdists[ i ].m_x;
5950 g_msg->
Warn(
"FarmManager::FindClosestFarmProbNearRoostBest",
"- No suitable farm found" );
References cfg_ClosestFarmProbParam1, cfg_ClosestFarmProbParam2, cfg_RoostDistProbParam1, g_generator, g_msg, g_rand_uni_fnc(), HunterInfo::homeX, HunterInfo::homeY, InIllegalList(), IsDuplicateRef(), m_farms, APoint::m_x, APoint::m_y, CfgFloat::value(), and MapErrorMsg::Warn().
◆ FindClosestFarmOpennessProbSmallIsBest()
int FarmManager::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 distribtution for acceptance based on closeness and another based on farm size.
Centroid calculation on farms must be called before calling this method for the first time.
a_farmlist is a pointer to a list of integers with illegal farm ref numbers. The first entry lists the number of illegal numbers. The chance of acceptance is probability based, taking the nearest farm first then testing the next etc.. The probability is based on y = 1*EXP(-x*cfg) with cfg being a fitting parameter in cfg_ClosestFarmProbParam1
We use typedef here to create our own name for APoint - but it is just two unsigned ints. We will use 'x' for the farm num and 'y' for the distance.
We use a vector of AFarmDists to be able to sort it easily
Struct redefining operator < - used for sorting distances from smallest to largest.
5843 typedef APoint AFarmDist;
5845 vector <AFarmDist> farmdists;
5847 struct FarmDistSort {
5848 bool operator()( AFarmDist a, AFarmDist b ) {
5849 return a.
m_y < b.m_y;
5852 for (
unsigned i = 0; i <
m_farms.size(); i++) {
5853 int fnum =
m_farms[ i ]->GetFarmNumber();
5855 if (
m_farms[ i ]->GetMaxOpenness() > a_openness) {
5859 int dist = int(sqrt( (
double( FPt.
m_x - a_hunterinfo.homeX ) *
double( FPt.
m_x - a_hunterinfo.homeX ) +
double( FPt.
m_y - a_hunterinfo.homeY ) *
double( FPt.
m_y - a_hunterinfo.homeY )) ));
5860 if (dist>40000) dist = 40000;
5861 AFarmDist fd(
unsigned( fnum ), dist );
5862 farmdists.push_back( fd );
5869 std::shuffle( farmdists.begin(), farmdists.end(),
g_generator );
5871 for (
int ch = 1; ch < 100000; ch++)
5873 int sz = int( farmdists.size() );
5874 for (
int i = 0; i < sz; i++) {
5878 if (chance <= calc) {
5882 if (chance>calc)
return farmdists[ i ].m_x;
5886 g_msg->
Warn(
"FarmManager::FindClosestFarmProb",
"- No suitable farm found" );
References cfg_ClosestFarmProbParam1, cfg_ClosestFarmProbParam2, cfg_FarmSizeProbParam1, g_generator, g_msg, g_rand_uni_fnc(), HunterInfo::homeX, HunterInfo::homeY, InIllegalList(), IsDuplicateRef(), m_farms, APoint::m_x, APoint::m_y, CfgFloat::value(), and MapErrorMsg::Warn().
◆ FindFarmWithOpenness()
int FarmManager::FindFarmWithOpenness |
( |
vector< int > * |
a_farmlist, |
|
|
int |
a_openness |
|
) |
| |
◆ FindFarmWithRandom()
int FarmManager::FindFarmWithRandom |
( |
vector< int > * |
a_farmlist | ) |
|
◆ FindOpennessFarm()
int FarmManager::FindOpennessFarm |
( |
int |
a_openness | ) |
|
Finds a random farm with at least one field with openness above a_openness.
5990 int sz = (int)
m_farms.size();
5992 for (
unsigned i = 0; i <
m_farms.size(); i++)
5994 int index = (i + seed) % sz;
5995 if (
m_farms[index]->GetMaxOpenness() > a_openness)
return m_farms[index]->GetFarmNumber();
References g_random_fnc(), and m_farms.
◆ Get_FarmFuncsCB()
◆ GetCropMgtPlans()
vector<Crop*>* FarmManager::GetCropMgtPlans |
( |
void |
| ) |
|
|
inline |
◆ GetCropMgtPlansIndex()
◆ GetCropTypeFromPlan()
◆ GetDD()
double FarmManager::GetDD |
( |
void |
| ) |
|
|
inline |
Returnes day degrees for the period March 1st - November 1st. Used for determining yields of crops that are not harvested.
References daydegrees.
◆ GetFarm()
Farm* FarmManager::GetFarm |
( |
int |
i | ) |
|
|
inline |
Get a specific farm i.
References m_farms.
◆ GetFarmArableSize()
int FarmManager::GetFarmArableSize |
( |
int |
a_farmref | ) |
|
|
inline |
Returns the arable area from the farm ref num.
References GetFarmPtr().
◆ GetFarmAreaOpenFields()
int FarmManager::GetFarmAreaOpenFields |
( |
int |
a_farmref, |
|
|
int |
a_openness |
|
) |
| |
|
inline |
Returns the area of fields with openness more than a_openness.
1532 return (
GetFarmPtr(a_farmref)->GetAreaOpenFields(a_openness));
References GetFarmPtr().
◆ GetFarmCentroid()
APoint FarmManager::GetFarmCentroid |
( |
int |
a_farmref | ) |
|
|
inline |
◆ GetFarmer()
Farmer* FarmManager::GetFarmer |
( |
int |
i | ) |
|
|
inline |
◆ GetFarmerList()
Gets the farmer list pointer (used by social networks and farmers)
References m_farmers.
Referenced by Farm::Farm().
◆ GetFarmNoFields()
int FarmManager::GetFarmNoFields |
( |
int |
a_farmref | ) |
|
|
inline |
Returns the number of fields owned by a from the farm ref num.
1515 return (
GetFarmPtr(a_farmref)->GetNoFields());
References GetFarmPtr().
◆ GetFarmNoLookup()
int FarmManager::GetFarmNoLookup |
( |
int |
a_ref | ) |
|
|
inline |
◆ GetFarmNoLookupIndex()
int FarmManager::GetFarmNoLookupIndex |
( |
int |
a_ref | ) |
|
|
inline |
◆ GetFarmNoOpenFields()
int FarmManager::GetFarmNoOpenFields |
( |
int |
a_farmref, |
|
|
int |
a_openness |
|
) |
| |
|
inline |
Returns the number of fields with openness more than a_openness.
1526 return (
GetFarmPtr(a_farmref)->GetNoOpenFields(a_openness));
References GetFarmPtr().
◆ GetFarmPtr()
Farm* FarmManager::GetFarmPtr |
( |
int |
a_owner | ) |
|
|
inline |
Returns the pointer to a farm with a specific number.
1537 for (
unsigned int i = 0; i <
m_farms.size( ); i++) {
1538 if (a_owner ==
m_farms[ i ]->GetFarmNumber( )) {
1542 g_msg->
Warn(
"FarmManager::GetFarmPtr - missing farm ref", a_owner );
References g_msg, m_farms, and MapErrorMsg::Warn().
Referenced by GetFarmArableSize(), GetFarmAreaOpenFields(), GetFarmNoFields(), GetFarmNoOpenFields(), GetFarmTotalSize(), GetFarmType(), GetFarmValidCoords(), and Landscape::SupplyFarmPtr().
◆ GetFarmPtrIndex()
Farm* FarmManager::GetFarmPtrIndex |
( |
int |
a_index | ) |
|
|
inline |
Returns the pointer to a farm with a specific index.
References m_farms.
◆ GetFarmTotalSize()
int FarmManager::GetFarmTotalSize |
( |
int |
a_farmref | ) |
|
|
inline |
Returns the total farm area from the farm ref num.
1500 return (
GetFarmPtr(a_farmref)->GetTotalArea());
References GetFarmPtr().
◆ GetFarmType()
Returns the farm type from the farm ref num.
References GetFarmPtr().
◆ GetFarmTypeLookup()
int FarmManager::GetFarmTypeLookup |
( |
int |
a_ref | ) |
|
|
inline |
◆ GetFarmValidCoords()
APoint FarmManager::GetFarmValidCoords |
( |
int |
a_farmref | ) |
|
|
inline |
Returns the number of fields owned by a from the farm ref num.
1520 return (
GetFarmPtr(a_farmref)->GetValidCoords());
References GetFarmPtr().
◆ GetIncome()
Get tov-based profit per unit area per unit biomass.
Uses the toc code as a look-up table to get the current return per unit area for that vegetation type
References m_YieldReturns.
Referenced by Farm::Harvested().
◆ GetIsRenumbered()
bool FarmManager::GetIsRenumbered |
( |
| ) |
|
|
inline |
◆ GetLandscape()
Landscape* FarmManager::GetLandscape |
( |
void |
| ) |
|
|
inline |
◆ GetManagementNorm()
double FarmManager::GetManagementNorm |
( |
int |
a_crop, |
|
|
int |
a_managementtype |
|
) |
| |
|
inline |
Get the norm for managment numbers for a crop and management cominbation.
References m_MangagementNorms.
◆ GetNoFarms()
int FarmManager::GetNoFarms |
( |
| ) |
|
|
inline |
◆ GetRandomFarmRefnum()
int FarmManager::GetRandomFarmRefnum |
( |
| ) |
|
|
inline |
◆ GetRenumberedFarmRef()
int FarmManager::GetRenumberedFarmRef |
( |
int |
a_farmref | ) |
|
|
inline |
◆ GetSpilledGrain()
double FarmManager::GetSpilledGrain |
( |
| ) |
|
Returns the average amount of spilled grain in KJ/m2 this year.
5638 double graindist2013[26] = {
5639 29.59, 172.68, 60.59, 39.68, 51.02, 81.63, 268.71, 134.84, 57.40, 30.61, 204.08, 683.67, 108.04,
5640 141.29, 505.10, 444.61, 293.37, 355.18, 386.90, 381.83, 372.45, 377.55, 320.70, 392.46, 392.86, 435.17
5642 double graindist2014[28] = {
5643 109.33, 382.65, 94.19, 765.31, 29.15, 70.15, 1096.94, 436.51, 309.21, 286.28, 480.44, 249.73, 784.10,
5644 688.78, 2035.45, 920.80, 341.61, 12.24, 113.38, 80.17, 178.57, 480.44, 0.00, 2.83, 1447.12, 1846.94, 1017.86,
5648 if (grain_dist_value == 0)
5653 if (grain_dist_value == 1) {
References cfg_grain_distribution, g_rand_uni_fnc(), m_SpilledGrain, and CfgInt::value().
◆ GetSpilledMaize()
double FarmManager::GetSpilledMaize |
( |
| ) |
|
Returns the average amount of spilled maize in KJ/m2 this year.
5668 double maizedist[17] = {
References g_rand_uni_fnc().
◆ GetUseSocioEconomicFarmers()
bool FarmManager::GetUseSocioEconomicFarmers |
( |
| ) |
|
|
inline |
◆ InIllegalList()
bool FarmManager::InIllegalList |
( |
int |
a_farm_ref, |
|
|
vector< int > * |
a_farmlist |
|
) |
| |
◆ InitiateManagement()
void FarmManager::InitiateManagement |
( |
void |
| ) |
|
◆ IsDuplicateRef()
bool FarmManager::IsDuplicateRef |
( |
int |
a_ref, |
|
|
HunterInfo * |
a_hinfo |
|
) |
| |
◆ Print_FarmerAttributes()
void FarmManager::Print_FarmerAttributes |
( |
| ) |
|
Create an output where Farmer's attribute are shown.
Opens a stream file and output farm's attributes, tab separated.
6243 string str1 =
"SocioEconomic\\FarmerAttributeInformation_end.txt";
6246 ofstream ofile(str1.c_str(), ios::out);
6247 if (!ofile.is_open()) {
6248 g_msg->
Warn(
"FarmManager::Print_FarmerAttributes() Cannot open outpuit file ",
"FarmerAttributeInformation_end.txt");
6253 ofstream ofile(str1.c_str(), ios::app);
6255 Farmer* farmer = farm->GetFarmer();
6257 Attribute = farmer->GetPersonalAttributes();
6258 ofile << farmer->GetFarmerRef() <<
'\t' << Attribute.
riskA <<
'\t' << Attribute.
envA <<
'\t' << Attribute.
Cooperative <<
'\t' << Attribute.
Age <<
'\t' << Attribute.
riskSpan <<endl;
References FarmerAttributes::Age, FarmerAttributes::Cooperative, FarmerAttributes::envA, g_date, g_msg, m_farms, Calendar::OldDays(), FarmerAttributes::riskA, FarmerAttributes::riskSpan, and MapErrorMsg::Warn().
Referenced by FarmManagement().
◆ PrintLocationAndArea()
void FarmManager::PrintLocationAndArea |
( |
| ) |
|
Print Farmers' location (x , y)
Opens a stream file and output farmers' location and farm area.
6372 string str1 =
"SocioEconomic\\FarmerLocation.txt";
6373 ofstream ofile(str1.c_str(), ios::out);
6374 if (!ofile.is_open()) {
6375 g_msg->
Warn(
"FarmManager::PrintLocationAndArea() Cannot open output file ",
"FarmerLocation.txt");
6378 ofile <<
"FarmRef" <<
'\t' <<
"X" <<
'\t' <<
"Y" <<
'\t' <<
"Area" << endl;
6380 vector<int>distances;
6382 for (
int i = 0; i < NoFarmers; i++){
6385 APoint p = farmer->SupplyPoint();
6387 ofile << farmer->GetFarmerRef() <<
'\t' << p.
m_x <<
'\t' << p.
m_y <<
'\t' << farmer->GetFarmArea() <<endl;
References g_msg, FarmerList::GetFarmer(), FarmerList::GetSize(), m_farmers, APoint::m_x, APoint::m_y, and MapErrorMsg::Warn().
Referenced by InitiateManagement().
◆ ReadCropManagementNorms()
void FarmManager::ReadCropManagementNorms |
( |
| ) |
|
Reads in and creates the crop management norms data for socio-economics.
This method is the input method for getting the number of management actions normally used for each type per crop
The data is stored in a vector of toc_Foobar length by fmc_Foobar, it matches the format created by FarmManager::OutputManagementNormStats()
6164 ifstream ifile(
"SocioEconomic\\CropManagementNorms.txt", ios::in);
6166 if (!ifile.is_open()) {
6167 g_msg->
Warn(
"FarmManager::ReadCropManagementNorms Cannot open input file ",
"CropManagementNorms.txt");
6173 ifile >> entries >> str;
6176 g_msg->
Warn(
"FarmManager::ReadCropManagementNorms entries does not match toc_Foobar ", entries);
6181 for (
int i = 0; i <= fmc_Foobar; i++) ifile >> str;
6183 for (
int i=0; i<entries; i++)
References fmc_Foobar, g_msg, m_MangagementNorms, toc_Foobar, TranslateCropCodes(), and MapErrorMsg::Warn().
Referenced by FarmManager().
◆ ReadCropYieldReturns()
void FarmManager::ReadCropYieldReturns |
( |
| ) |
|
Reads in and creates the yield return data for economics.
This method is the input method for storing the prices of crops when sold. The method assumes that the price obtained is per unit biomass on the field.
The data is stored in a vector of toc_Foobar length, and all values not found in the file are assumed to be zero There is no way to check if the values are correct unless an error is created by the associated crop name translation. Therefore it is important to be sure of the input file.
6135 ifstream ifile(
"SocioEconomic\\CropYieldReturns.txt", ios::in);
6137 if (!ifile.is_open()) {
6138 g_msg->
Warn(
"FarmManager::ReadCropYieldReturns Cannot open input file ",
"CropYieldReturns.txt");
6144 ifile >> str >> str;
6146 while (!ifile.eof())
6148 ifile >> str >> price;
References g_msg, m_YieldReturns, TranslateCropCodes(), and MapErrorMsg::Warn().
Referenced by FarmManager().
◆ ReadFarmerAttributes()
void FarmManager::ReadFarmerAttributes |
( |
| ) |
|
Reads in and creates the farmer attribute information and assigns it to farmers.
This reads the farmer attribute information and allocates it to each relevant farmer. The information read is in tab-separated text form. The first value in the file is the number of farmers in the file - this must match the number of farmers in the Farmrefs.ini Col1: FarmerRef Col2: RiskAversion(0-1) Col3: EnvironmentalAttitude(0-1): Col4: CooperativeNumber(-1 for none) Col5: FarmerAge(-1 for ALMaSS generation)
Reads all entries for each farmer from the file and assigns them to the farmer. If there are any actions needed as a result of the entry this is done by the farmer (e.g. if the farmer needs to generate a value based on -1 entries).
6206 ifstream ifile(
"SocioEconomic\\FarmerAttributeInformation.txt", ios::in);
6208 if (!ifile.is_open()) {
6209 g_msg->
Warn(
"FarmManager::ReadFarmerAttributes Cannot open input file ",
"FarmerAttributeInformation.txt");
6214 int NoFarmers, FarmerRef;
6216 ifile >> str >> NoFarmers;
6217 if (NoFarmers !=
m_farms.size()) {
6218 g_msg->
Warn(
"FarmManager::ReadFarmerAttributes inconsistent farmer records. Farmers in input: ", NoFarmers);
6223 ifile >> str >> str >> str >> str >> str >> str;
6224 for (
int i=0; i<NoFarmers; i++)
6233 m_farms[index]->GetFarmer()->SetPersonalAttributes(Attributes);
6234 m_farms[index]->GetFarmer()->SetFarmerRef(FarmerRef);
References FarmerAttributes::Age, FarmerAttributes::Cooperative, FarmerAttributes::envA, g_msg, GetFarmNoLookupIndex(), m_farms, FarmerAttributes::riskA, FarmerAttributes::riskSpan, and MapErrorMsg::Warn().
Referenced by FarmManager().
◆ ReadFarmFunctionsCB()
void FarmManager::ReadFarmFunctionsCB |
( |
| ) |
|
Reads in and creates the data associated with costs and benefits of farm functions.
This reads the farmer function attribute information and allocates it to cost benefit tables. The information read is in tab-separated text form. The first value in the file is the number of farm functions in the file - this must match the number of farm functions defined in the enum FarmToDo in Treatment.h Col1: FarmToDo Col2: LabourCostHrs/Ha Col3: EconomicCost/Ha: Col4: RiskAvoidenceValue(0-1.0) Col5:EnvImpact(0-1.0)
6306 ifstream ifile(
"SocioEconomic\\FarmFunctionCostBenefit.txt", ios::in);
6308 if (!ifile.is_open()) {
6309 g_msg->
Warn(
"FarmManager::ReadFarmFunctionsCB Cannot open input file ",
"FarmFunctionCostBenefit.txt");
6314 int NoTreatments, index;
6315 ifile >> str >> NoTreatments;
6317 g_msg->
Warn(
"FarmManager::ReadFarmFunctionsCB inconsistent farm function records. Functions in input: ", NoTreatments);
6322 ifile >> str >> str >> str >> str >> str >> str;
6323 for (
int i = 0; i < NoTreatments; i++)
6328 else if (str ==
"cultivation")
6330 else if (str ==
"fertilizer")
6332 else if (str ==
"insecticide")
6334 else if (str ==
"herbicide")
6336 else if (str ==
"fungicide")
6338 else if (str ==
"cutting")
6340 else if (str ==
"grazing")
6342 else if (str ==
"watering")
6344 else if (str ==
"harvest")
References FarmFuncsCostBenefits::EconomicCost, FarmFuncsCostBenefits::EnvImpact, fmc_Cultivation, fmc_Cutting, fmc_Fertilizer, fmc_Foobar, fmc_Fungicide, fmc_Grazing, fmc_Harvest, fmc_Herbicide, fmc_Insecticide, fmc_Others, fmc_Watering, g_msg, FarmFuncsCostBenefits::LabourCost, last_treatment, m_FarmFuncsCB, FarmFuncsCostBenefits::ManagementCategory, FarmFuncsCostBenefits::RiskAvoidance, and MapErrorMsg::Warn().
Referenced by FarmManager().
◆ ReadYieldProfitData()
void FarmManager::ReadYieldProfitData |
( |
string |
a_filename | ) |
|
|
protected |
Reads in base data for biomass related profit on harvest for each crop.
◆ RemoveField()
void FarmManager::RemoveField |
( |
int |
a_OwnerIndex, |
|
|
LE * |
a_field |
|
) |
| |
3986 m_farms[ a_OwnerIndex ]->RemoveField( a_field );
References m_farms.
◆ SetDD()
void FarmManager::SetDD |
( |
double |
a_dd | ) |
|
|
inline |
◆ SetFarmer()
void FarmManager::SetFarmer |
( |
int |
i, |
|
|
Farmer * |
a_farmer |
|
) |
| |
|
inline |
Sets the farmer associated with the farm with the index number i.
◆ SetSpilledGrain()
void FarmManager::SetSpilledGrain |
( |
bool |
a_spilledgrain | ) |
|
|
inline |
Set m_SpilledGrain which is the flag for either 2013 (true) or 2014 (false) spilled grain distributions.
References m_SpilledGrain.
◆ SetUseSocioEconomics()
static void FarmManager::SetUseSocioEconomics |
( |
bool |
a_flag | ) |
|
|
inlinestaticprotected |
◆ TranslateCropCodes()
Converts strings to toc_.
2961 if (str ==
"Beet")
return toc_Beet;
2992 if (str ==
"Oats")
return toc_Oats;
3098 g_msg->
Warn(
WARN_FILE,
"FarmManager::TranslateCropCodes():"" Unknown Crop Code ", str.c_str());
References g_msg, toc_AsparagusEstablishedPlantation, toc_Beans, toc_Beans_Whole, toc_Beet, toc_BushFruit, toc_Cabbage, toc_CabbageSpring, toc_Carrots, toc_CarrotsSpring, toc_CatchCropPea, toc_CloverGrassGrazed1, toc_CloverGrassGrazed2, toc_CloverGrassGrazed3, toc_CorkOak, toc_DummyCropPestTesting, toc_FarmForest, toc_FieldPeas, toc_FieldPeasSilage, toc_FieldPeasStrigling, toc_FodderBeet, toc_FodderGrass, toc_FodderLucerne1, toc_FodderLucerne2, toc_Foobar, toc_GenericCatchCrop, toc_GrassGrazed1, toc_GrassGrazed2, toc_GrassGrazedExtensive, toc_GrassGrazedLast, toc_GrazingPigs, toc_Horticulture, toc_Maize, toc_MaizeSilage, toc_MaizeSpring, toc_MaizeStrigling, toc_MixedVeg, toc_OAsparagusEstablishedPlantation, toc_Oats, toc_OBarleyPeaCloverGrass, toc_OBeans, toc_OBeans_Whole, toc_OBushFruit, toc_OCabbage, toc_OCarrots, toc_OCloverGrassGrazed1, toc_OCloverGrassGrazed2, toc_OCloverGrassGrazed3, toc_OCloverGrassSilage1, toc_OFarmForest, toc_OFieldPeas, toc_OFieldPeasSilage, toc_OFirstYearDanger, toc_OFodderBeet, toc_OFodderGrass, toc_OGrazingPigs, toc_OLentils, toc_OliveGrove, toc_OLupines, toc_OMaize, toc_OMaizeSilage, toc_OMixedVeg, toc_OOats, toc_OOrchApple, toc_OOrchardCrop, toc_OOrchCherry, toc_OOrchOther, toc_OOrchPear, toc_OPermanentGrassGrazed, toc_OPermanentGrassLowYield, toc_OPotatoes, toc_OPotatoesIndustry, toc_OPotatoesSeed, toc_OrchApple, toc_OrchardCrop, toc_OrchCherry, toc_OrchOther, toc_OrchPear, toc_ORyegrass, toc_OSBarleySilage, toc_OSeedGrass1, toc_OSeedGrass2, toc_OSetAside, toc_OSetAside_Flower, toc_OSpringBarley, toc_OSpringBarleyCloverGrass, toc_OSpringBarleyExtensive, toc_OSpringBarleyPeaCloverGrass, toc_OSpringBarleyPigs, toc_OSpringBarleySilage, toc_OSpringRape, toc_OSpringWheat, toc_OStarchPotato, toc_OSugarBeet, toc_OTriticale, toc_OVegSeeds, toc_OWinterBarley, toc_OWinterBarleyExtensive, toc_OWinterRape, toc_OWinterRye, toc_OWinterWheat, toc_OWinterWheatUndersown, toc_OWinterWheatUndersownExtensive, toc_OYoungForestCrop, toc_PermanentGrassGrazed, toc_PermanentGrassLowYield, toc_PermanentGrassTussocky, toc_PermanentSetAside, toc_PlantNursery, toc_Potatoes, toc_PotatoesIndustry, toc_PotatoesSeed, toc_PotatoesSpring, toc_Ryegrass, toc_SeedGrass1, toc_SeedGrass2, toc_SetAside, toc_SpringBarley, toc_SpringBarleyCloverGrass, toc_SpringBarleyPeaCloverGrass, toc_SpringBarleySeed, toc_SpringBarleySilage, toc_SpringRape, toc_SpringWheat, toc_StarchPotato, toc_SugarBeet, toc_Sunflower, toc_Triticale, toc_Tulips, toc_Turnip, toc_VegSeeds, toc_Vineyards, toc_WinterBarley, toc_WinterRape, toc_WinterRye, toc_WinterTriticale, toc_WinterWheat, toc_YellowLupin, toc_YoungForestCrop, MapErrorMsg::Warn(), and WARN_FILE.
Referenced by ReadCropManagementNorms(), and ReadCropYieldReturns().
◆ TranslateVegCodes()
Converts strings to tov_
2188 if (str ==
"SpringBarley")
2190 if (str ==
"SpringBarleySpr")
2192 if (str ==
"SpringBarleyPTreatment")
2194 if (str ==
"WinterBarley")
2196 if (str ==
"SpringWheat")
2198 if (str ==
"WinterWheat")
2200 if (str ==
"WinterRye")
2202 if (str ==
"OrchardCrop")
2208 if (str ==
"Triticale")
2210 if (str ==
"OTriticale")
2214 if (str ==
"MaizeSilage")
2216 if (str ==
"SpringBarleySeed")
2218 if (str ==
"OSpringRape")
2220 if (str ==
"SpringRape")
2222 if (str ==
"WinterRape")
2224 if (str ==
"BroadBeans")
2226 if (str ==
"FieldPeas")
2228 if (str ==
"FieldPeasSilage")
2230 if (str ==
"Setaside")
2232 if (str ==
"PermanentSetaside")
2234 if (str ==
"SugarBeet")
2236 if (str ==
"FodderBeet")
2238 if (str ==
"OFodderBeet")
2240 if (str ==
"FodderGrass")
2242 if (str ==
"CloverGrassGrazed1")
2244 if (str ==
"PotatoesIndustry")
2246 if (str ==
"Potatoes")
2248 if (str ==
"SeedGrass1")
2250 if (str ==
"OWinterBarley")
2252 if (str ==
"OWinterBarleyExt")
2254 if (str ==
"SpringBarleySilage")
2256 if (str ==
"OWinterRye")
2258 if (str ==
"OFieldPeasSilage")
2260 if (str ==
"SpringBarleyGrass")
2262 if (str ==
"SpringBarleyCloverGrass")
2264 if (str ==
"OBarleyPeaCloverGrass")
2266 if (str ==
"OWinterRape")
2268 if (str ==
"PermanentGrassGrazed")
2270 if (str ==
"PermanentGrassLowYield")
2272 if (str ==
"PermanentGrassTussocky")
2274 if (str ==
"CloverGrassGrazed2")
2276 if (str ==
"SeedGrass2")
2278 if (str ==
"OSpringWheat")
2280 if (str ==
"OSpringBarley")
2282 if (str ==
"OSpringBarleyExt")
2284 if (str ==
"OWinterWheat")
2286 if (str ==
"OWinterWheatUndersown")
2288 if (str ==
"OWinterWheatUndersownExt")
2292 if (str ==
"OFieldPeas")
2294 if (str ==
"OCloverGrassGrazed1")
2296 if (str ==
"OGrazingPigs")
2298 if (str ==
"OCarrots")
2300 if (str ==
"Carrots")
2302 if (str ==
"OPotatoes")
2304 if (str ==
"OSeedGrass1")
2306 if (str ==
"OSpringBarleyGrass")
2308 if (str ==
"OSpringBarleyClover")
2310 if (str ==
"OPermanentGrassGrazed")
2312 if (str ==
"OCloverGrassSilage1")
2314 if (str ==
"OCloverGrassGrazed2")
2316 if (str ==
"OSeedGrass2")
2318 if (str ==
"WWheatPControl")
2320 if (str ==
"WWheatPToxicControl")
2322 if (str ==
"WWheatPTreatment")
2324 if (str ==
"AgroChemIndustryCereal")
2326 if (str ==
"WinterWheatShort")
2328 if (str ==
"WinterWheatStrigling")
2330 if (str ==
"WinterWheatStriglingCulm")
2332 if (str ==
"WinterWheatStriglingSgl")
2334 if (str ==
"SpringBarleyCloverGrassStrigling")
2336 if (str ==
"SpringBarleyStrigling")
2338 if (str ==
"SpringBarleyStriglingSingle")
2340 if (str ==
"SpringBarleyStriglingCulm")
2342 if (str ==
"MaizeStrigling")
2344 if (str ==
"WinterRapeStrigling")
2346 if (str ==
"WinterRyeStrigling")
2348 if (str ==
"WinterBarleyStrigling")
2350 if (str ==
"FieldPeasStrigling")
2352 if (str ==
"SpringBarleyPeaCloverGrassStrigling")
2354 if (str ==
"YoungForest")
2356 if (str ==
"OMaizeSilage")
2358 if (str ==
"OSpringBarleySilage")
2360 if (str ==
"OSpringBarleyPigs")
2362 if (str ==
"NorwegianPotatoes")
2364 if (str ==
"NorwegianOats")
2366 if (str ==
"NorwegianSpringBarley")
2368 if (str ==
"PlantNursery")
2370 if (str ==
"PLWinterWheat")
2372 if (str ==
"PLWinterRape")
2374 if (str ==
"PLWinterBarley")
2376 if (str ==
"PLWinterTriticale")
2378 if (str ==
"PLWinterRye")
2380 if (str ==
"PLSpringWheat")
2382 if (str ==
"PLSpringBarley")
2384 if (str ==
"PLMaize")
2386 if (str ==
"PLMaizeSilage")
2388 if (str ==
"PLPotatoes")
2390 if (str ==
"PLBeet")
2392 if (str ==
"PLFodderLucerne1")
2394 if (str ==
"PLFodderLucerne2")
2396 if (str ==
"PLCarrots")
2398 if (str ==
"PLSpringBarleySpr")
2400 if (str ==
"PLWinterWheatLate")
2402 if (str ==
"PLBeetSpr")
2404 if (str ==
"PLBeans")
2407 if (str ==
"NLBeet")
2409 if (str ==
"NLCarrots")
2411 if (str ==
"NLMaize")
2413 if (str ==
"NLPotatoes")
2415 if (str ==
"NLSpringBarley")
2417 if (str ==
"NLWinterWheat")
2419 if (str ==
"NLCabbage")
2421 if (str ==
"NLTulips")
2423 if (str ==
"NLGrassGrazed1")
2425 if (str ==
"NLGrassGrazed1Spring")
2427 if (str ==
"NLGrassGrazed2")
2429 if (str ==
"NLGrassGrazedLast")
2431 if (str ==
"NLPermanentGrassGrazed")
2433 if (str ==
"NLBeetSpring")
2435 if (str ==
"NLCarrotsSpring")
2437 if (str ==
"NLMaizeSpring")
2439 if (str ==
"NLPotatoesSpring")
2441 if (str ==
"NLSpringBarleySpring")
2443 if (str ==
"NLCabbageSpring")
2445 if (str ==
"NLCatchCropPea")
2447 if (str ==
"NLOrchardCrop")
2449 if (str ==
"NLPermanentGrassGrazedExtensive")
2451 if (str ==
"NLGrassGrazedExtensive1")
2453 if (str ==
"NLGrassGrazedExtensive1Spring")
2455 if (str ==
"NLGrassGrazedExtensive2")
2457 if (str ==
"NLGrassGrazedExtensiveLast")
2460 if (str ==
"UKBeans")
2462 if (str ==
"UKBeet")
2464 if (str ==
"UKMaize")
2466 if (str ==
"UKPermanentGrass")
2468 if (str ==
"UKPotatoes")
2470 if (str ==
"UKSpringBarley")
2472 if (str ==
"UKTempGrass")
2474 if (str ==
"UKWinterBarley")
2476 if (str ==
"UKWinterRape")
2478 if (str ==
"UKWinterWheat")
2481 if (str ==
"BEBeet")
2483 if (str ==
"BEBeetSpring")
2485 if (str ==
"BECatchPeaCrop")
2487 if (str ==
"BEGrassGrazed1")
2489 if (str ==
"BEGrassGrazed1Spring")
2491 if (str ==
"BEGrassGrazed2")
2493 if (str ==
"BEGrassGrazedLast")
2495 if (str ==
"BEMaize")
2497 if (str ==
"BEMaizeCC")
2499 if (str ==
"BEMaizeSpring")
2501 if (str ==
"BEOrchardCrop")
2503 if (str ==
"BEPotatoes")
2505 if (str ==
"BEPotatoesSpring")
2507 if (str ==
"BEWinterBarley")
2509 if (str ==
"BEWinterBarleyCC")
2511 if (str ==
"BEWinterWheat")
2513 if (str ==
"BEWinterWheatCC")
2516 if (str ==
"PTPermanentGrassGrazed")
2518 if (str ==
"PTWinterWheat")
2520 if (str ==
"PTGrassGrazed")
2522 if (str ==
"PTSorghum")
2524 if (str ==
"PTFodderMix")
2526 if (str ==
"PTTurnipGrazed")
2528 if (str ==
"PTCloverGrassGrazed1")
2530 if (str ==
"PTCloverGrassGrazed2")
2532 if (str ==
"PTTriticale")
2534 if (str ==
"PTOtherDryBeans")
2536 if (str ==
"PTShrubPastures")
2538 if (str ==
"PTCorkOak")
2540 if (str ==
"PTVineyards")
2542 if (str ==
"PTWinterBarley")
2544 if (str ==
"PTBeans")
2546 if (str ==
"PTWinterRye")
2548 if (str ==
"PTRyegrass")
2550 if (str ==
"PTYellowLupin")
2552 if (str ==
"PTMaize")
2554 if (str ==
"PTOats")
2556 if (str ==
"PTPotatoes")
2558 if (str ==
"PTHorticulture")
2560 if (str ==
"PTCabbage")
2562 if (str ==
"PTCabbage_Hort")
2564 if (str ==
"PTMaize_Hort")
2566 if (str ==
"PTSetAside")
2568 if (str ==
"PTOliveGroveTraditional")
2570 if (str ==
"PTOliveGroveTradOrganic")
2572 if (str ==
"PTOliveGroveIntensive")
2574 if (str ==
"PTOliveGroveSuperIntensive")
2577 if (str ==
"DEOats")
2579 if (str ==
"DESpringRye")
2581 if (str ==
"DEWinterWheat")
2583 if (str ==
"DEWinterWheatLate")
2585 if (str ==
"DEMaizeSilage")
2587 if (str ==
"DEPeas")
2589 if (str ==
"DEPotatoes")
2591 if (str ==
"DEPotatoesIndustry")
2593 if (str ==
"DEMaize")
2595 if (str ==
"DEWinterRye")
2597 if (str ==
"DEWinterBarley")
2599 if (str ==
"DESugarBeet")
2601 if (str ==
"DEWinterRape")
2603 if (str ==
"DETriticale")
2605 if (str ==
"DECabbage")
2607 if (str ==
"DECarrots")
2609 if (str ==
"DEGrasslandSilageAnnual")
2611 if (str ==
"DEGreenFallow_1year")
2613 if (str ==
"DELegumes")
2615 if (str ==
"DEOCabbages")
2617 if (str ==
"DEOCarrots")
2619 if (str ==
"DEOGrasslandSilageAnnual")
2621 if (str ==
"DEOGreenFallow_1year")
2623 if (str ==
"DEOLegume")
2625 if (str ==
"DEOMaize")
2627 if (str ==
"DEOMaizeSilage")
2629 if (str ==
"DEOOats")
2631 if (str ==
"DEOPeas")
2633 if (str ==
"DEOPermanentGrassGrazed")
2635 if (str ==
"DEOPotatoes")
2637 if (str ==
"DEOSpringRye")
2639 if (str ==
"DEOSugarBeet")
2641 if (str ==
"DEOTriticale")
2643 if (str ==
"DEOWinterBarley")
2645 if (str ==
"DEOWinterRape")
2647 if (str ==
"DEOWinterRye")
2649 if (str ==
"DEOWinterWheat")
2651 if (str ==
"DEPermanentGrassGrazed")
2653 if (str ==
"DEPermanentGrassLowYield")
2655 if (str ==
"DEOPermanentGrassLowYield")
2657 if (str ==
"DEAsparagusEstablishedPlantation")
2659 if (str ==
"DEOAsparagusEstablishedPlantation")
2661 if (str ==
"DEHerbsPerennial_1year")
2663 if (str ==
"DEHerbsPerennial_after1year")
2665 if (str ==
"DEOHerbsPerennial_1year")
2667 if (str ==
"DEOHerbsPerennial_after1year")
2669 if (str ==
"DESpringBarley")
2671 if (str ==
"DEOrchard")
2673 if (str ==
"DEOOrchard")
2675 if (str ==
"DEOBushFruitPerm")
2810 if (str ==
"FIWinterWheat")
2812 if (str ==
"FIOWinterWheat")
2814 if (str ==
"FISugarBeet")
2816 if (str ==
"FIStarchPotato_North")
2818 if (str ==
"FIStarchPotato_South")
2820 if (str ==
"FIOStarchPotato_North")
2822 if (str ==
"FIOStarchPotato_South")
2824 if (str ==
"FISpringWheat")
2826 if (str ==
"FIOSpringWheat")
2828 if (str ==
"FITurnipRape")
2830 if (str ==
"FIOTurnipRape")
2832 if (str ==
"FISpringRape")
2834 if (str ==
"FIOSpringRape")
2836 if (str ==
"FIWinterRye")
2838 if (str ==
"FIOWinterRye")
2840 if (str ==
"FIPotato_North")
2842 if (str ==
"FIPotato_South")
2844 if (str ==
"FIOPotato_North")
2846 if (str ==
"FIOPotato_South")
2848 if (str ==
"FIPotatoIndustry_North")
2850 if (str ==
"FIPotatoIndustry_South")
2852 if (str ==
"FIOPotatoIndustry_North")
2854 if (str ==
"FIOPotatoIndustry_South")
2856 if (str ==
"FISpringOats")
2858 if (str ==
"FIOSpringOats")
2860 if (str ==
"FISpringBarley_Malt")
2862 if (str ==
"FIOSpringBarley_Malt")
2864 if (str ==
"FIFabaBean")
2866 if (str ==
"FIOFabaBean")
2868 if (str ==
"FISpringBarley_Fodder")
2870 if (str ==
"FISprSpringBarley_Fodder")
2872 if (str ==
"FIOSpringBarley_Fodder")
2874 if (str ==
"FIGrasslandPasturePerennial1")
2876 if (str ==
"FIGrasslandPasturePerennial2")
2878 if (str ==
"FIGrasslandSilagePerennial1")
2880 if (str ==
"FIGrasslandSilagePerennial2")
2882 if (str ==
"FINaturalGrassland")
2884 if (str ==
"FINaturalGrassland_Perm")
2886 if (str ==
"FIFeedingGround")
2888 if (str ==
"FIBufferZone")
2890 if (str ==
"FIBufferZone_Perm")
2892 if (str ==
"FIGreenFallow_1year")
2894 if (str ==
"FIGreenFallow_Perm")
2896 if (str ==
"FIGrasslandSilageAnnual")
2898 if (str ==
"FICaraway1")
2900 if (str ==
"FICaraway2")
2902 if (str ==
"FIOCaraway1")
2904 if (str ==
"FIOCaraway2")
2906 if (str ==
"SESpringBarley")
2908 if (str ==
"SEWinterRape_Seed")
2910 if (str ==
"SEWinterWheat")
2913 if (str ==
"IRSpringWheat")
2915 if (str ==
"IRSpringbarley")
2917 if (str ==
"IRSpringOats")
2919 if (str ==
"IRGrassland_no_reseed")
2921 if (str ==
"IRGrassland_reseed")
2923 if (str ==
"IRWinterBarley")
2925 if (str ==
"IRWinterWheat")
2927 if (str ==
"IRWinterOats")
2949 g_msg->
Warn(
WARN_FILE,
"FarmManager::TranslateVegCodes():"" Unknown Crop Code ", str.c_str());
References g_msg, tov_AgroChemIndustryCereal, tov_BEBeet, tov_BEBeetSpring, tov_BECatchPeaCrop, tov_BEGrassGrazed1, tov_BEGrassGrazed1Spring, tov_BEGrassGrazed2, tov_BEGrassGrazedLast, tov_BEMaize, tov_BEMaizeCC, tov_BEMaizeSpring, tov_BEOrchardCrop, tov_BEPotatoes, tov_BEPotatoesSpring, tov_BEWinterBarley, tov_BEWinterBarleyCC, tov_BEWinterWheat, tov_BEWinterWheatCC, tov_BroadBeans, tov_Carrots, tov_CloverGrassGrazed1, tov_CloverGrassGrazed2, tov_DEAsparagusEstablishedPlantation, tov_DECabbage, tov_DECarrots, tov_DEGrasslandSilageAnnual, tov_DEGreenFallow_1year, tov_DEHerbsPerennial_1year, tov_DEHerbsPerennial_after1year, tov_DELegumes, tov_DEMaize, tov_DEMaizeSilage, tov_DEOAsparagusEstablishedPlantation, tov_DEOats, tov_DEOBushFruitPerm, tov_DEOCabbages, tov_DEOCarrots, tov_DEOGrasslandSilageAnnual, tov_DEOGreenFallow_1year, tov_DEOHerbsPerennial_1year, tov_DEOHerbsPerennial_after1year, tov_DEOLegume, tov_DEOMaize, tov_DEOMaizeSilage, tov_DEOOats, tov_DEOOrchard, tov_DEOPeas, tov_DEOPermanentGrassGrazed, tov_DEOPermanentGrassLowYield, tov_DEOPotatoes, tov_DEOrchard, tov_DEOSpringRye, tov_DEOSugarBeet, tov_DEOTriticale, tov_DEOWinterBarley, tov_DEOWinterRape, tov_DEOWinterRye, tov_DEOWinterWheat, tov_DEPeas, tov_DEPermanentGrassGrazed, tov_DEPermanentGrassLowYield, tov_DEPotatoes, tov_DEPotatoesIndustry, tov_DESpringBarley, tov_DESpringRye, tov_DESugarBeet, tov_DETriticale, tov_DEWinterBarley, tov_DEWinterRape, tov_DEWinterRye, tov_DEWinterWheat, tov_DEWinterWheatLate, tov_DKBushFruit_Perm1, tov_DKBushFruit_Perm2, tov_DKCabbages, tov_DKCarrots, tov_DKCatchCrop, tov_DKCerealLegume, tov_DKCerealLegume_Whole, tov_DKChristmasTrees_Perm, tov_DKCloverGrassGrazed1, tov_DKCloverGrassGrazed2, tov_DKCloverGrassGrazed3, tov_DKEnergyCrop_Perm, tov_DKFarmForest_Perm, tov_DKFarmYoungForest_Perm, tov_DKFodderBeets, tov_DKGrassGrazed_Perm, tov_DKGrassLowYield_Perm, tov_DKGrassTussocky_Perm, tov_DKGrazingPigs, tov_DKGrazingPigs_Perm, tov_DKLegume_Beans, tov_DKLegume_Peas, tov_DKLegume_Whole, tov_DKMaize, tov_DKMaizeSilage, tov_DKMixedVeg, tov_DKOBushFruit_Perm1, tov_DKOBushFruit_Perm2, tov_DKOCabbages, tov_DKOCarrots, tov_DKOCatchCrop, tov_DKOCerealLegume, tov_DKOCerealLegume_Whole, tov_DKOChristmasTrees_Perm, tov_DKOCloverGrassGrazed1, tov_DKOCloverGrassGrazed2, tov_DKOCloverGrassGrazed3, tov_DKOEnergyCrop_Perm, tov_DKOFarmForest_Perm, tov_DKOFarmYoungForest_Perm, tov_DKOFodderBeets, tov_DKOGrassGrazed_Perm, tov_DKOGrassLowYield_Perm, tov_DKOGrazingPigs, tov_DKOGrazingPigs_Perm, tov_DKOLegume_Beans, tov_DKOLegume_Beans_CC, tov_DKOLegume_Peas, tov_DKOLegume_Peas_CC, tov_DKOLegume_Whole, tov_DKOLegume_Whole_CC, tov_DKOLegumeCloverGrass_Whole, tov_DKOLentils, tov_DKOLupines, tov_DKOMaize, tov_DKOMaizeSilage, tov_DKOMixedVeg, tov_DKOOrchApple, tov_DKOOrchardCrop_Perm, tov_DKOOrchCherry, tov_DKOOrchOther, tov_DKOOrchPear, tov_DKOPotato, tov_DKOPotatoIndustry, tov_DKOPotatoSeed, tov_DKOptimalFlowerMix1, tov_DKOptimalFlowerMix2, tov_DKOptimalFlowerMix3, tov_DKOrchApple, tov_DKOrchardCrop_Perm, tov_DKOrchCherry, tov_DKOrchOther, tov_DKOrchPear, tov_DKOSeedGrassRye_Spring, tov_DKOSetAside, tov_DKOSetAside_AnnualFlower, tov_DKOSetAside_PerennialFlower, tov_DKOSetAside_SummerMow, tov_DKOSpringBarley, tov_DKOSpringBarley_CC, tov_DKOSpringBarleyCloverGrass, tov_DKOSpringBarleySilage, tov_DKOSpringFodderGrass, tov_DKOSpringOats, tov_DKOSpringOats_CC, tov_DKOSpringWheat, tov_DKOSugarBeets, tov_DKOVegSeeds, tov_DKOWinterBarley, tov_DKOWinterCloverGrassGrazedSown, tov_DKOWinterFodderGrass, tov_DKOWinterRape, tov_DKOWinterRye, tov_DKOWinterRye_CC, tov_DKOWinterWheat, tov_DKOWinterWheat_CC, tov_DKPlantNursery_Perm, tov_DKPotato, tov_DKPotatoIndustry, tov_DKPotatoSeed, tov_DKSeedGrassFescue_Spring, tov_DKSeedGrassRye_Spring, tov_DKSetAside, tov_DKSetAside_SummerMow, tov_DKSpringBarley, tov_DKSpringBarley_CC, tov_DKSpringBarley_Green, tov_DKSpringBarleyCloverGrass, tov_DKSpringBarleySilage, tov_DKSpringFodderGrass, tov_DKSpringOats, tov_DKSpringOats_CC, tov_DKSpringWheat, tov_DKSugarBeets, tov_DKUndefined, tov_DKVegSeeds, tov_DKWinterBarley, tov_DKWinterCloverGrassGrazedSown, tov_DKWinterFodderGrass, tov_DKWinterRape, tov_DKWinterRye, tov_DKWinterRye_CC, tov_DKWinterWheat, tov_DKWinterWheat_CC, tov_DummyCropPestTesting, tov_FIBufferZone, tov_FIBufferZone_Perm, tov_FICaraway1, tov_FICaraway2, tov_FieldPeas, tov_FieldPeasSilage, tov_FieldPeasStrigling, tov_FIFabaBean, tov_FIFeedingGround, tov_FIGrasslandPasturePerennial1, tov_FIGrasslandPasturePerennial2, tov_FIGrasslandSilageAnnual, tov_FIGrasslandSilagePerennial1, tov_FIGrasslandSilagePerennial2, tov_FIGreenFallow_1year, tov_FIGreenFallow_Perm, tov_FINaturalGrassland, tov_FINaturalGrassland_Perm, tov_FIOCaraway1, tov_FIOCaraway2, tov_FIOFabaBean, tov_FIOPotato_North, tov_FIOPotato_South, tov_FIOPotatoIndustry_North, tov_FIOPotatoIndustry_South, tov_FIOSpringBarley_Fodder, tov_FIOSpringBarley_Malt, tov_FIOSpringOats, tov_FIOSpringRape, tov_FIOSpringWheat, tov_FIOStarchPotato_North, tov_FIOStarchPotato_South, tov_FIOTurnipRape, tov_FIOWinterRye, tov_FIOWinterWheat, tov_FIPotato_North, tov_FIPotato_South, tov_FIPotatoIndustry_North, tov_FIPotatoIndustry_South, tov_FISpringBarley_Fodder, tov_FISpringBarley_Malt, tov_FISpringOats, tov_FISpringRape, tov_FISpringWheat, tov_FISprSpringBarley_Fodder, tov_FIStarchPotato_North, tov_FIStarchPotato_South, tov_FISugarBeet, tov_FITurnipRape, tov_FIWinterRye, tov_FIWinterWheat, tov_FodderBeet, tov_FodderGrass, tov_FRGrassland, tov_FRGrassland_Perm, tov_FRMaize, tov_FRMaize_Silage, tov_FRPotatoes, tov_FRSorghum, tov_FRSpringBarley, tov_FRSpringOats, tov_FRSpringWheat, tov_FRSunflower, tov_FRWinterBarley, tov_FRWinterRape, tov_FRWinterTriticale, tov_FRWinterWheat, tov_IRGrassland_no_reseed, tov_IRGrassland_reseed, tov_IRSpringBarley, tov_IRSpringOats, tov_IRSpringWheat, tov_IRWinterBarley, tov_IRWinterOats, tov_IRWinterWheat, tov_ITGrassland, tov_ITOOrchard, tov_ITOrchard, tov_Maize, tov_MaizeSilage, tov_MaizeStrigling, tov_NLBeet, tov_NLBeetSpring, tov_NLCabbage, tov_NLCabbageSpring, tov_NLCarrots, tov_NLCarrotsSpring, tov_NLCatchCropPea, tov_NLGrassGrazed1, tov_NLGrassGrazed1Spring, tov_NLGrassGrazed2, tov_NLGrassGrazedExtensive1, tov_NLGrassGrazedExtensive1Spring, tov_NLGrassGrazedExtensive2, tov_NLGrassGrazedExtensiveLast, tov_NLGrassGrazedLast, tov_NLMaize, tov_NLMaizeSpring, tov_NLOrchardCrop, tov_NLPermanentGrassGrazed, tov_NLPermanentGrassGrazedExtensive, tov_NLPotatoes, tov_NLPotatoesSpring, tov_NLSpringBarley, tov_NLSpringBarleySpring, tov_NLTulips, tov_NLWinterWheat, tov_NorwegianOats, tov_NorwegianPotatoes, tov_NorwegianSpringBarley, tov_Oats, tov_OBarleyPeaCloverGrass, tov_OCarrots, tov_OCloverGrassGrazed1, tov_OCloverGrassGrazed2, tov_OCloverGrassSilage1, tov_OFieldPeas, tov_OFieldPeasSilage, tov_OFodderBeet, tov_OGrazingPigs, tov_OMaizeSilage, tov_OOats, tov_OPermanentGrassGrazed, tov_OPotatoes, tov_OrchardCrop, tov_OSBarleySilage, tov_OSeedGrass1, tov_OSeedGrass2, tov_OSpringBarley, tov_OSpringBarleyClover, tov_OSpringBarleyExt, tov_OSpringBarleyGrass, tov_OSpringBarleyPigs, tov_OTriticale, tov_OWinterBarley, tov_OWinterBarleyExt, tov_OWinterRape, tov_OWinterRye, tov_OWinterWheat, tov_OWinterWheatUndersown, tov_OWinterWheatUndersownExt, tov_PermanentGrassGrazed, tov_PermanentGrassLowYield, tov_PermanentGrassTussocky, tov_PermanentSetAside, tov_PlantNursery, tov_PLBeans, tov_PLBeet, tov_PLBeetSpr, tov_PLCarrots, tov_PLFodderLucerne1, tov_PLFodderLucerne2, tov_PLMaize, tov_PLMaizeSilage, tov_PLPotatoes, tov_PLSpringBarley, tov_PLSpringBarleySpr, tov_PLSpringWheat, tov_PLWinterBarley, tov_PLWinterRape, tov_PLWinterRye, tov_PLWinterTriticale, tov_PLWinterWheat, tov_PLWinterWheatLate, tov_Potatoes, tov_PotatoesIndustry, tov_PTBeans, tov_PTCabbage, tov_PTCabbage_Hort, tov_PTCloverGrassGrazed1, tov_PTCloverGrassGrazed2, tov_PTCorkOak, tov_PTFodderMix, tov_PTGrassGrazed, tov_PTHorticulture, tov_PTMaize, tov_PTMaize_Hort, tov_PTOats, tov_PTOliveGroveIntensive, tov_PTOliveGroveSuperIntensive, tov_PTOliveGroveTraditional, tov_PTOliveGroveTradOrganic, tov_PTOtherDryBeans, tov_PTPermanentGrassGrazed, tov_PTPotatoes, tov_PTRyegrass, tov_PTSetAside, tov_PTShrubPastures, tov_PTSorghum, tov_PTTriticale, tov_PTTurnipGrazed, tov_PTVineyards, tov_PTWinterBarley, tov_PTWinterRye, tov_PTWinterWheat, tov_PTYellowLupin, tov_SeedGrass1, tov_SeedGrass2, tov_SESpringBarley, tov_SetAside, tov_SEWinterRape_Seed, tov_SEWinterWheat, tov_SpringBarley, tov_SpringBarleyCloverGrass, tov_SpringBarleyCloverGrassStrigling, tov_SpringBarleyGrass, tov_SpringBarleyPeaCloverGrassStrigling, tov_SpringBarleyPTreatment, tov_SpringBarleySeed, tov_SpringBarleySilage, tov_SpringBarleySKManagement, tov_SpringBarleySpr, tov_SpringBarleyStrigling, tov_SpringBarleyStriglingCulm, tov_SpringBarleyStriglingSingle, tov_SpringRape, tov_SpringWheat, tov_SugarBeet, tov_Triticale, tov_UKBeans, tov_UKBeet, tov_UKMaize, tov_UKPermanentGrass, tov_UKPotatoes, tov_UKSpringBarley, tov_UKTempGrass, tov_UKWinterBarley, tov_UKWinterRape, tov_UKWinterWheat, tov_WinterBarley, tov_WinterBarleyStrigling, tov_WinterRape, tov_WinterRapeStrigling, tov_WinterRye, tov_WinterRyeStrigling, tov_WinterWheat, tov_WinterWheatShort, tov_WinterWheatStrigling, tov_WinterWheatStriglingCulm, tov_WinterWheatStriglingSingle, tov_WWheatPControl, tov_WWheatPToxicControl, tov_WWheatPTreatment, tov_YoungForest, MapErrorMsg::Warn(), and WARN_FILE.
Referenced by SubPopulation_Population_Manager::readHosts(), Farm::ReadRotation(), and UserDefinedFarm::UserDefinedFarm().
◆ UpdateSocialNetworks()
void FarmManager::UpdateSocialNetworks |
( |
bool |
a_geographic, |
|
|
bool |
a_associative, |
|
|
bool |
a_virtual |
|
) |
| |
Forces all farmers to update social networks if needed.
◆ daydegrees
double FarmManager::daydegrees |
|
protected |
Daydegrees for period March 1st - November 1st. Used to determine yield of crops that are not harvested (and thus do not have values of biomass at harvest).
Referenced by GetDD(), and SetDD().
◆ m_cropprogs
vector<Crop*> FarmManager::m_cropprogs |
|
protected |
◆ m_CropYieldProfit
vector<double> FarmManager::m_CropYieldProfit |
|
protected |
Holds the values for profit per unit biomass per unit area for all crops - uses TTypesOfCrops.
◆ m_farmers
◆ m_FarmFuncsCB
◆ m_farmmapping_lookup
int* FarmManager::m_farmmapping_lookup |
|
protected |
◆ m_farms
vector<Farm*> FarmManager::m_farms |
|
protected |
Referenced by AddField(), CalcCentroids(), CheckOpenness(), ConnectFarm(), CreateFarms(), DumpFarmrefs(), FarmManagement(), FindClosestFarm(), FindClosestFarmOpenness(), FindClosestFarmOpennessProb(), FindClosestFarmOpennessProbNearRoostIsBest(), FindClosestFarmOpennessProbSmallIsBest(), FindFarmWithOpenness(), FindFarmWithRandom(), FindOpennessFarm(), GetFarm(), GetFarmCentroid(), GetFarmNoLookupIndex(), GetFarmPtr(), GetFarmPtrIndex(), GetNoFarms(), GetRandomFarmRefnum(), GetRenumberedFarmRef(), InitiateManagement(), Print_FarmerAttributes(), ReadFarmerAttributes(), RemoveField(), and ~FarmManager().
◆ m_landscape
◆ m_ManagementCategoryLabels
string FarmManager::m_ManagementCategoryLabels[fmc_Foobar] |
|
protected |
A list of labels of the main farm management action categories.
Referenced by FarmManagement().
◆ m_MangagementNorms
◆ m_renumbered
bool FarmManager::m_renumbered |
|
protected |
◆ m_SpilledGrain
bool FarmManager::m_SpilledGrain {false} |
|
protected |
◆ m_UseSocioEconomicFarmers
bool FarmManager::m_UseSocioEconomicFarmers = false |
|
staticprotected |
◆ m_YieldReturns
vector<double> FarmManager::m_YieldReturns |
|
protected |
The documentation for this class was generated from the following files:
- /builds/ALMaSS/ALMaSS_MIDox/Landscape/Farm.h
- /builds/ALMaSS/ALMaSS_MIDox/Landscape/Farm.cpp
Definition: FI_OPotato_North.h:55
FI_SpringBarley_Malt class .
Definition: FI_SpringBarley_Malt.h:97
DE_Peas class .
Definition: DE_Peas.h:97
Definition: WinterWheatStrigling.h:85
CfgBool g_farm_fixed_rotation_enable("FARM_FIXED_ROTATION_ENABLE", CFG_CUSTOM, false)
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1204
Definition: LandscapeFarmingEnums.h:345
Definition: LandscapeFarmingEnums.h:214
Definition: DK_PotatoSeed.h:88
Definition: Horticulture.h:51
Definition: DK_OMaize.h:69
NLGrassGrazedExtensive2 class .
Definition: NLGrassGrazedExtensive2.h:70
Definition: DK_Maize.h:60
Definition: LandscapeFarmingEnums.h:891
Definition: LandscapeFarmingEnums.h:835
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
Definition: FI_StarchPotato.h:58
Definition: DK_OLegume_Beans.h:56
double riskA
Definition: Farm.h:337
Definition: LandscapeFarmingEnums.h:819
Definition: LandscapeFarmingEnums.h:524
Definition: LandscapeFarmingEnums.h:482
Definition: LandscapeFarmingEnums.h:787
Definition: LandscapeFarmingEnums.h:447
Definition: LandscapeFarmingEnums.h:563
Definition: LandscapeFarmingEnums.h:863
BEGrassGrazed1 class .
Definition: BEGrassGrazed1.h:78
DK_OSetAside_PerennialFlower class .
Definition: DK_OSetAside_PerennialFlower.h:88
Definition: DE_OPotatoes.h:69
Definition: LandscapeFarmingEnums.h:879
Definition: LandscapeFarmingEnums.h:497
FI_WinterRye class .
Definition: FI_WinterRye.h:108
DK_SetAside class .
Definition: DK_SetAside.h:87
Definition: LandscapeFarmingEnums.h:678
Definition: LandscapeFarmingEnums.h:221
PTHorticulture class .
Definition: PTHorticulture.h:80
Definition: LandscapeFarmingEnums.h:452
Definition: LandscapeFarmingEnums.h:1005
Definition: OrchardCrop.h:46
Definition: DK_OWinterRye.h:58
Definition: LandscapeFarmingEnums.h:852
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1085
Definition: LandscapeFarmingEnums.h:394
Definition: LandscapeFarmingEnums.h:230
PLFodderLucerne2 class .
Definition: PLFodderLucerne2.h:66
void SetOwner(Farm *a_owner, int a_owner_num, int a_owner_index)
Definition: Elements.h:282
Definition: MapErrorMsg.h:37
Definition: LandscapeFarmingEnums.h:366
Definition: FodderGrass.h:55
Definition: LandscapeFarmingEnums.h:491
Definition: DK_SpringBarley.h:69
Definition: DE_PermanentGrassGrazed.h:79
Definition: LandscapeFarmingEnums.h:344
Definition: LandscapeFarmingEnums.h:227
DE_GrasslandSilageAnnual class .
Definition: DE_GrasslandSilageAnnual.h:106
Definition: OSpringBarleyExt.h:60
Definition: LandscapeFarmingEnums.h:855
Definition: LandscapeFarmingEnums.h:418
Definition: LandscapeFarmingEnums.h:205
Definition: LandscapeFarmingEnums.h:438
CfgInt g_farm_fixed_rotation_farmtype("FARM_FIXED_ROTATION_FARMTYPE", CFG_CUSTOM, 0)
Definition: OFieldPeas.h:52
Definition: DK_OPotatoIndustry.h:79
DE_Triticale class .
Definition: DE_Triticale.h:108
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1305
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
Definition: DK_OGrazingPigs.h:45
Definition: LandscapeFarmingEnums.h:290
PTRyegrass class .
Definition: PTRyegrass.h:91
Definition: LandscapeFarmingEnums.h:594
DK_OCloverGrassGrazed1 class .
Definition: DK_OCloverGrassGrazed1.h:95
Definition: LandscapeFarmingEnums.h:237
Definition: MapErrorMsg.h:38
FR_Grassland_Perm class .
Definition: FR_Grassland_Perm.h:81
Definition: LandscapeFarmingEnums.h:803
IRSpringWheat class .
Definition: IRSpringWheat.h:108
Definition: LandscapeFarmingEnums.h:826
Definition: LandscapeFarmingEnums.h:331
Definition: LandscapeFarmingEnums.h:272
Definition: LandscapeFarmingEnums.h:492
PTWinterRye class .
Definition: PTWinterRye.h:86
PTBeans class .
Definition: PTBeans.h:78
Definition: LandscapeFarmingEnums.h:601
Definition: DK_GrazingPigs.h:45
UKPotatoes class .
Definition: UKPotatoes.h:81
PTPotatoes class .
Definition: PTPotatoes.h:82
Definition: LandscapeFarmingEnums.h:921
DK_OSetAside_SummerMow class .
Definition: DK_OSetAside_SummerMow.h:88
DK_OEnergyCrop_Perm class .
Definition: DK_OEnergyCrop_Perm.h:71
Definition: DK_CerealLegume.h:54
Definition: DE_OOats.h:58
Definition: LandscapeFarmingEnums.h:848
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1323
Definition: LandscapeFarmingEnums.h:904
Definition: WinterBarley.h:91
ITGrassland class .
Definition: ITGrassland.h:87
Definition: LandscapeFarmingEnums.h:352
Definition: LandscapeFarmingEnums.h:314
BEPotatoes class .
Definition: BEPotatoes.h:93
BEGrassGrazedLast class .
Definition: BEGrassGrazedLast.h:78
Definition: LandscapeFarmingEnums.h:841
Definition: LandscapeFarmingEnums.h:486
Definition: LandscapeFarmingEnums.h:851
Definition: LandscapeFarmingEnums.h:862
Definition: LandscapeFarmingEnums.h:790
Definition: LandscapeFarmingEnums.h:887
NLCatchCropPea class .
Definition: NLCatchCropPea.h:52
Definition: OSpringBarleyPigs.h:55
Definition: DK_FarmForest_Perm.h:50
Definition: LandscapeFarmingEnums.h:350
Definition: OFodderBeet.h:65
DK_OrchApple class .
Definition: DK_OrchApple.h:128
Definition: LandscapeFarmingEnums.h:479
NLGrassGrazed1Spring class .
Definition: NLGrassGrazed1Spring.h:85
Definition: LandscapeFarmingEnums.h:429
Definition: LandscapeFarmingEnums.h:857
Definition: DK_OSpringBarleyCloverGrass.h:57
Definition: LandscapeFarmingEnums.h:413
Definition: LandscapeFarmingEnums.h:884
DK_CloverGrassGrazed3 class .
Definition: DK_CloverGrassGrazed3.h:99
Definition: LandscapeFarmingEnums.h:833
DK_OSetAside_AnnualFlower class .
Definition: DK_OSetAside_AnnualFlower.h:88
Definition: LandscapeFarmingEnums.h:217
Definition: LandscapeFarmingEnums.h:315
Definition: LandscapeFarmingEnums.h:603
Definition: LandscapeFarmingEnums.h:212
Definition: LandscapeFarmingEnums.h:425
Definition: LandscapeFarmingEnums.h:885
Definition: LandscapeFarmingEnums.h:242
Definition: LandscapeFarmingEnums.h:906
Definition: LandscapeFarmingEnums.h:680
Definition: LandscapeFarmingEnums.h:379
Definition: LandscapeFarmingEnums.h:920
Definition: SpringBarleySilage.h:76
Definition: FI_OPotatoIndustry_South.h:55
void ReadFarmFunctionsCB()
Reads in and creates the data associated with costs and benefits of farm functions.
Definition: Farm.cpp:6297
Definition: LandscapeFarmingEnums.h:481
Definition: LandscapeFarmingEnums.h:546
Definition: LandscapeFarmingEnums.h:384
FI_OSpringWheat class .
Definition: FI_OSpringWheat.h:90
DE_OWinterRye class .
Definition: DE_OWinterRye.h:98
Definition: LandscapeFarmingEnums.h:431
Definition: LandscapeFarmingEnums.h:224
PTTurnipGrazed class .
Definition: PTTurnipGrazed.h:78
Definition: LandscapeFarmingEnums.h:225
Definition: LandscapeFarmingEnums.h:205
Definition: LandscapeFarmingEnums.h:466
Definition: DK_WinterRape.h:87
DE_OCabbages class .
Definition: DE_OCabbages.h:67
Definition: DK_WinterBarley.h:72
FI_OFabaBean class .
Definition: FI_OFabaBean.h:89
Definition: LandscapeFarmingEnums.h:510
int GetCropMgtPlansIndex(TTypesOfVegetation a_tov)
Definition: Farm.h:1641
Definition: LandscapeFarmingEnums.h:539
Rotational set-aside management class .
Definition: SetAside.h:70
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1233
Definition: LandscapeFarmingEnums.h:870
FI_FeedingGround class .
Definition: FI_FeedingGround.h:92
DK_EnergyCrop_Perm class .
Definition: DK_EnergyCrop_Perm.h:75
Definition: LandscapeFarmingEnums.h:533
Definition: DK_SpringOats.h:58
DE_OWinterBarley class .
Definition: DE_OWinterBarley.h:99
Definition: LandscapeFarmingEnums.h:298
Definition: LandscapeFarmingEnums.h:864
Definition: LandscapeFarmingEnums.h:598
Definition: LandscapeFarmingEnums.h:847
Definition: DK_Legume_Beans.h:58
FI_OTurnipRape class .
Definition: FI_OTurnipRape.h:90
Definition: DK_OWinterRape.h:69
Definition: LandscapeFarmingEnums.h:818
Definition: LandscapeFarmingEnums.h:829
Definition: LandscapeFarmingEnums.h:401
Definition: LandscapeFarmingEnums.h:233
IRGrassland_no_reseed class .
Definition: IRGrassland_no_reseed.h:124
char * value() const
Definition: Configurator.h:182
Definition: DE_OMaizeSilage.h:58
Definition: LandscapeFarmingEnums.h:807
Definition: OSeedGrass1.h:48
Definition: LandscapeFarmingEnums.h:923
void CreateFarms(const char *a_farmfile)
Creates ther farms at simulation start.
Definition: Farm.cpp:4009
Definition: LandscapeFarmingEnums.h:255
Definition: YoungForest.h:51
Definition: DK_GrassLowYield_Perm.h:53
Definition: LandscapeFarmingEnums.h:830
Definition: OCarrots.h:53
Definition: LandscapeFarmingEnums.h:322
Definition: LandscapeFarmingEnums.h:917
Definition: LandscapeFarmingEnums.h:227
DK_OrchPear class .
Definition: DK_OrchPear.h:127
Definition: LandscapeFarmingEnums.h:326
Definition: LandscapeFarmingEnums.h:374
DK_OSpringFodderGrass class .
Definition: DK_OSpringFodderGrass.h:93
Definition: FI_OPotato_South.h:55
DE_Legumes class .
Definition: DE_Legumes.h:97
NLGrassGrazed1 class .
Definition: NLGrassGrazed1.h:89
Definition: LandscapeFarmingEnums.h:493
DE_WinterRape class .
Definition: DE_WinterRape.h:111
Definition: LandscapeFarmingEnums.h:882
DK_CloverGrassGrazed2 class .
Definition: DK_CloverGrassGrazed2.h:100
Definition: LandscapeFarmingEnums.h:525
Definition: LandscapeFarmingEnums.h:316
Definition: SpringBarleyStriglingSingle.h:77
Definition: LandscapeFarmingEnums.h:246
Definition: LandscapeFarmingEnums.h:224
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 class .
Definition: NLMaizeSpring.h:60
PLSpringBarleySpr class .
Definition: PLSpringBarleySpr.h:78
Definition: LandscapeFarmingEnums.h:393
Definition: LandscapeFarmingEnums.h:516
Definition: LandscapeFarmingEnums.h:679
Definition: LandscapeFarmingEnums.h:896
Definition: LandscapeFarmingEnums.h:449
Definition: LandscapeFarmingEnums.h:844
void Print_FarmerAttributes()
Create an output where Farmer's attribute are shown.
Definition: Farm.cpp:6239
Definition: OBarleyPeaCloverGrass.h:54
Definition: LandscapeFarmingEnums.h:557
FR_Sorghum class .
Definition: FR_Sorghum.h:93
Definition: LandscapeFarmingEnums.h:596
double RiskAvoidance
Definition: Farm.h:346
Definition: LandscapeFarmingEnums.h:846
WinterWheat class .
Definition: WinterWheat.h:117
Definition: LandscapeFarmingEnums.h:291
Definition: LandscapeFarmingEnums.h:402
Definition: DK_SugarBeet.h:58
int GetFarmNoLookup(int a_ref)
Get a farm reference from the lookup table.
Definition: Farm.h:1618
NLTulips class .
Definition: NLTulips.h:96
FR_SpringWheat class .
Definition: FR_SpringWheat.h:102
FarmManager * g_farmmanager
Definition: Farm.cpp:638
Definition: LandscapeFarmingEnums.h:688
Definition: LandscapeFarmingEnums.h:695
Definition: LandscapeFarmingEnums.h:267
Definition: LandscapeFarmingEnums.h:908
Definition: DK_OptimalFlowerMix2.h:48
UKTempGrass class .
Definition: UKTempGrass.h:82
SE_WinterWheat class .
Definition: SE_WinterWheat.h:102
class Calendar * g_date
Definition: Calendar.cpp:37
Definition: LandscapeFarmingEnums.h:813
PLPotatoes class .
Definition: PLPotatoes.h:101
Definition: LandscapeFarmingEnums.h:411
Definition: DK_GrazingPigs_Perm.h:45
PLWinterRape class .
Definition: PLWinterRape.h:104
PTYellowLupin class .
Definition: PTYellowLupin.h:88
FarmerList * m_farmers
Holds a handy list of the farmers.
Definition: Farm.h:1684
Definition: LandscapeFarmingEnums.h:245
Definition: LandscapeFarmingEnums.h:1006
FI_GrasslandPasturePerennial2 class .
Definition: FI_GrasslandPasturePerennial2.h:90
Definition: LandscapeFarmingEnums.h:203
Definition: LandscapeFarmingEnums.h:334
Definition: OTriticale.h:59
FI_GreenFallow_1year class .
Definition: FI_GreenFallow_1year.h:82
Definition: DK_SpringBarley_Green.h:55
Definition: DK_WinterWheat.h:79
Definition: DK_Legume_Whole.h:61
Definition: LandscapeFarmingEnums.h:795
Definition: PermanentGrassLowYield.h:51
Definition: LandscapeFarmingEnums.h:302
Definition: LandscapeFarmingEnums.h:215
Definition: LandscapeFarmingEnums.h:788
Definition: LandscapeFarmingEnums.h:903
NLGrassGrazedExtensiveLast class .
Definition: NLGrassGrazedExtensiveLast.h:71
Definition: PTOliveGroveIntensive.h:73
DE_OBushFruitPerm class .
Definition: DE_OBushFruitPerm.h:69
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1359
Definition: LandscapeFarmingEnums.h:783
Definition: LandscapeFarmingEnums.h:208
Definition: LandscapeFarmingEnums.h:825
NLSpringBarley class .
Definition: NLSpringBarley.h:77
Definition: LandscapeFarmingEnums.h:507
DK_OGrassGrazed_Perm class .
Definition: DK_OGrassGrazed_Perm.h:77
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
Definition: FI_Potato_North.h:62
PTPermanentGrassGrazed class .
Definition: PTPermanentGrassGrazed.h:101
Definition: LandscapeFarmingEnums.h:555
Definition: LandscapeFarmingEnums.h:387
PTMaize_hort class .
Definition: PTMaize_Hort.h:86
FR_Potatoes class .
Definition: FR_Potatoes.h:109
FI_TurnipRape class .
Definition: FI_TurnipRape.h:93
PLBeetSpr class .
Definition: PLBeetSpr.h:84
DK_OBushFruit_Perm1 class .
Definition: DK_OBushFruit_Perm1.h:94
FI_GrasslandSilageAnnual class .
Definition: FI_GrasslandSilageAnnual.h:93
Definition: LandscapeFarmingEnums.h:914
Farmer * GetFarmer(int i)
Gets the farmer associated with the farm with the index number i.
Definition: Farm.h:1656
Definition: WinterRapeStrigling.h:48
Definition: LandscapeFarmingEnums.h:395
Definition: LandscapeFarmingEnums.h:455
TTypesOfCrops TranslateCropCodes(string &str)
Converts strings to toc_.
Definition: Farm.cpp:2953
NLGrassGrazedExtensive1 class .
Definition: NLGrassGrazedExtensive1.h:75
Definition: DE_AsparagusEstablishedPlantation.h:94
Definition: DK_OWinterBarley.h:60
Definition: LandscapeFarmingEnums.h:377
UKWinterBarley class .
Definition: UKWinterBarley.h:68
CfgFloat cfg_RoostDistProbParam1("ROOSTDISTPROBPARAMONE", CFG_CUSTOM, 1.5)
A fitting parameter for the probability of hunter acceptance of a farm with distance from roost.
Definition: LandscapeFarmingEnums.h:606
FarmManagementCategory ManagementCategory
Definition: Farm.h:348
Definition: LandscapeFarmingEnums.h:694
Definition: LandscapeFarmingEnums.h:398
Definition: DK_OCatchCrop.h:54
Definition: LandscapeFarmingEnums.h:553
double value() const
Definition: Configurator.h:142
BEGrassGrazed2 class .
Definition: BEGrassGrazed2.h:78
Definition: DK_PlantNursery_Perm.h:50
DK_OrchOther class .
Definition: DK_OrchOther.h:128
Definition: DK_WinterWheat_CC.h:79
Definition: LandscapeFarmingEnums.h:426
PTCorkOak class .
Definition: PTCorkOak.h:74
Definition: DE_OWinterWheat.h:59
Definition: LandscapeFarmingEnums.h:512
Definition: LandscapeFarmingEnums.h:898
Definition: LandscapeFarmingEnums.h:256
Inbuilt farm type.
Definition: Farm.h:1059
Definition: FieldPeas.h:62
Definition: Potatoes.h:73
Definition: LandscapeFarmingEnums.h:859
Definition: LandscapeFarmingEnums.h:463
Definition: Triticale.h:66
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1269
Definition: LandscapeFarmingEnums.h:211
Definition: DK_Carrots.h:76
Definition: LandscapeFarmingEnums.h:206
PLMaize class .
Definition: PLMaize.h:95
Definition: LandscapeFarmingEnums.h:286
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1296
DE_Orchard class .
Definition: DE_Orchard.h:113
Definition: LandscapeFarmingEnums.h:474
Definition: LandscapeFarmingEnums.h:924
Definition: LandscapeFarmingEnums.h:321
FI_SpringRape class .
Definition: FI_SpringRape.h:96
Definition: LandscapeFarmingEnums.h:269
DK_OOrchardCrop_Perm class .
Definition: DK_OOrchardCrop_Perm.h:100
Definition: LandscapeFarmingEnums.h:888
Definition: LandscapeFarmingEnums.h:794
Definition: LandscapeFarmingEnums.h:1013
Definition: LandscapeFarmingEnums.h:608
Definition: SpringBarleySpr.h:76
PTGrassGrazed class .
Definition: PTGrassGrazed.h:88
NLCarrotsSpring class .
Definition: NLCarrotsSpring.h:69
Definition: LandscapeFarmingEnums.h:881
Definition: PermanentGrassTussocky.h:46
Definition: LandscapeFarmingEnums.h:390
Definition: LandscapeFarmingEnums.h:838
Definition: LandscapeFarmingEnums.h:456
Definition: LandscapeFarmingEnums.h:371
FI_GrasslandSilagePerennial2 class .
Definition: FI_GrasslandSilagePerennial2.h:92
Definition: WinterWheatStriglingSingle.h:85
DE_Potatoes class .
Definition: DE_Potatoes.h:125
PTVineyards class .
Definition: PTVineyards.h:105
DE_SpringRye class .
Definition: DE_SpringRye.h:103
Definition: LandscapeFarmingEnums.h:437
static CfgBool l_map_read_farmfile("MAP_READ_FARMFILE", CFG_PRIVATE, true)
Definition: DK_OCerealLegume.h:61
Definition: LandscapeFarmingEnums.h:218
Definition: DE_PermanentGrassLowYield.h:77
FR_SpringBarley class .
Definition: FR_SpringBarley.h:90
FI_BufferZone class .
Definition: FI_BufferZone.h:86
Definition: LandscapeFarmingEnums.h:450
Definition: LandscapeFarmingEnums.h:382
Definition: DK_OFarmYoungForest_Perm.h:50
Definition: DK_OLegumeCloverGrass_Whole.h:59
Definition: LandscapeFarmingEnums.h:332
Definition: LandscapeFarmingEnums.h:454
Definition: LandscapeFarmingEnums.h:785
FR_WinterTriticale class .
Definition: FR_WinterTriticale.h:96
Definition: WinterRape.h:83
Definition: LandscapeFarmingEnums.h:419
Definition: LandscapeFarmingEnums.h:221
Definition: LandscapeFarmingEnums.h:572
FI_OSpringBarley_Malt class .
Definition: FI_OSpringBarley_Malt.h:87
Definition: LandscapeFarmingEnums.h:212
Definition: LandscapeFarmingEnums.h:472
Definition: LandscapeFarmingEnums.h:458
Definition: LandscapeFarmingEnums.h:468
Definition: LandscapeFarmingEnums.h:287
Definition: DK_OFarmForest_Perm.h:50
Definition: LandscapeFarmingEnums.h:589
Definition: LandscapeFarmingEnums.h:506
Definition: LandscapeFarmingEnums.h:811
Definition: LandscapeFarmingEnums.h:301
CfgBool cfg_UseSocioEconomicFarm("USE_SOCIO_ECONOMIC_FARMS", CFG_CUSTOM, false)
Used to socio-economic calculations for farms.
Definition: LandscapeFarmingEnums.h:435
Definition: LandscapeFarmingEnums.h:505
void ReadCropYieldReturns()
Reads in and creates the yield return data for economics.
Definition: Farm.cpp:6125
Definition: Treatment.h:150
DK_OWinterWheat class .
Definition: DK_OWinterWheat.h:95
Definition: LandscapeFarmingEnums.h:363
Definition: DE_OPeas.h:53
Definition: OWinterWheat.h:64
Definition: LandscapeFarmingEnums.h:827
Definition: LandscapeFarmingEnums.h:225
Definition: LandscapeFarmingEnums.h:893
Definition: LandscapeFarmingEnums.h:529
DE_OTriticale class .
Definition: DE_OTriticale.h:98
NLSpringBarleySpring class .
Definition: NLSpringBarleySpring.h:72
Definition: LandscapeFarmingEnums.h:243
Definition: LandscapeFarmingEnums.h:378
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1242
Farm * GetFarmPtr(int a_owner)
Returns the pointer to a farm with a specific number.
Definition: Farm.h:1536
Definition: DK_OLegume_Peas_CC.h:55
Definition: LandscapeFarmingEnums.h:876
Definition: LandscapeFarmingEnums.h:218
BEBeetSpring class .
Definition: BEBeetSpring.h:66
Definition: LandscapeFarmingEnums.h:568
Definition: FodderBeet.h:73
Definition: DK_CerealLegume_Whole.h:54
Definition: LandscapeFarmingEnums.h:812
DK_OOrchApple class .
Definition: DK_OOrchApple.h:100
PTMaize class .
Definition: PTMaize.h:86
vector< Farm * > m_farms
Definition: Farm.h:1676
PTCabbage class .
Definition: PTCabbage.h:79
Definition: LandscapeFarmingEnums.h:476
Definition: CloverGrassGrazed1.h:56
Definition: LandscapeFarmingEnums.h:554
Definition: LandscapeFarmingEnums.h:508
Definition: LandscapeFarmingEnums.h:804
Definition: LandscapeFarmingEnums.h:919
Definition: LandscapeFarmingEnums.h:240
NLPotatoesSpring class .
Definition: NLPotatoesSpring.h:91
NLMaize class .
Definition: NLMaize.h:67
Definition: DE_OHerbsPerennial_after1year.h:84
Definition: LandscapeFarmingEnums.h:227
Definition: LandscapeFarmingEnums.h:281
Inbuilt farm type.
Definition: Farm.h:1035
Definition: LandscapeFarmingEnums.h:318
PTFodderMix class .
Definition: PTFodderMix.h:87
Definition: LandscapeFarmingEnums.h:235
bool value() const
Definition: Configurator.h:164
Definition: LandscapeFarmingEnums.h:404
DK_OSetAside class .
Definition: DK_OSetAside.h:88
Definition: DE_OMaize.h:59
Definition: LandscapeFarmingEnums.h:410
UKPermanentGrass class .
Definition: UKPermanentGrass.h:81
Definition: LandscapeFarmingEnums.h:832
Definition: LandscapeFarmingEnums.h:860
DK_Cabbages class .
Definition: DK_Cabbages.h:78
Definition: LandscapeFarmingEnums.h:514
PLBeans class .
Definition: PLBeans.h:85
Definition: LandscapeFarmingEnums.h:521
NLGrassGrazed2 class .
Definition: NLGrassGrazed2.h:84
Definition: LandscapeFarmingEnums.h:866
Definition: LandscapeFarmingEnums.h:912
Definition: FI_OStarchPotato_South.h:55
Definition: FI_PotatoIndustry_North.h:65
Definition: LandscapeFarmingEnums.h:238
Definition: LandscapeFarmingEnums.h:299
Definition: LandscapeFarmingEnums.h:551
Definition: OWinterWheatUndersownExt.h:64
Definition: LandscapeFarmingEnums.h:432
PLWinterBarley class .
Definition: PLWinterBarley.h:99
Definition: LandscapeFarmingEnums.h:375
Definition: LandscapeFarmingEnums.h:890
Definition: LandscapeFarmingEnums.h:434
DK_OrchCherry class .
Definition: DK_OrchCherry.h:122
Definition: LandscapeFarmingEnums.h:534
Definition: LandscapeFarmingEnums.h:228
Definition: LandscapeFarmingEnums.h:372
Definition: LandscapeFarmingEnums.h:582
Definition: DK_WinterRye_CC.h:75
Definition: LandscapeFarmingEnums.h:1009
Definition: LandscapeFarmingEnums.h:330
Definition: LandscapeFarmingEnums.h:380
PTShrubPastures class .
Definition: PTShrubPastures.h:83
Definition: LandscapeFarmingEnums.h:544
Definition: LandscapeFarmingEnums.h:409
PTOtherDryBeans class .
Definition: PTOtherDryBeans.h:79
Definition: LandscapeFarmingEnums.h:806
Definition: LandscapeFarmingEnums.h:901
Definition: LandscapeFarmingEnums.h:284
Definition: LandscapeFarmingEnums.h:320
DK_OCabbages class .
Definition: DK_OCabbages.h:70
Definition: LandscapeFarmingEnums.h:406
double riskSpan
Definition: Farm.h:340
Definition: LandscapeFarmingEnums.h:369
Definition: LandscapeFarmingEnums.h:883
NLWinterWheat class .
Definition: NLWinterWheat.h:78
Definition: LandscapeFarmingEnums.h:261
Definition: LandscapeFarmingEnums.h:815
Definition: LandscapeFarmingEnums.h:236
Definition: LandscapeFarmingEnums.h:361
Definition: OWinterBarleyExt.h:55
Definition: LandscapeFarmingEnums.h:218
DK_OptimalFlowerMix1 class .
Definition: DK_OptimalFlowerMix1.h:59
FI_OCaraway1 class .
Definition: FI_OCaraway1.h:89
Definition: LandscapeFarmingEnums.h:203
Definition: DK_WinterFodderGrass.h:68
Definition: LandscapeFarmingEnums.h:421
Definition: DK_OVegSeeds.h:67
CfgBool g_farm_fixed_crop_enable("FARM_FIXED_CROP_ENABLE", CFG_CUSTOM, false)
Definition: LandscapeFarmingEnums.h:328
DE_GreenFallow_1years class .
Definition: DE_GreenFallow_1year.h:82
Definition: SpringBarleySeed.h:61
Definition: LandscapeFarmingEnums.h:559
Definition: LandscapeFarmingEnums.h:358
Definition: LandscapeFarmingEnums.h:1004
BEMaizeSpring class .
Definition: BEMaizeSpring.h:60
static void SetUseSocioEconomics(bool a_flag)
Sets the socio-economic use flag.
Definition: Farm.h:1709
Definition: LandscapeFarmingEnums.h:677
FI_GrasslandPasturePerennial1 class .
Definition: FI_GrasslandPasturePerennial1.h:90
Definition: LandscapeFarmingEnums.h:842
Definition: DK_SpringWheat.h:60
Definition: DK_OptimalFlowerMix3.h:58
Definition: LandscapeFarmingEnums.h:899
Definition: LandscapeFarmingEnums.h:424
IRSpringOats class .
Definition: IRSpringOats.h:107
DE_PotatoesIndustry class .
Definition: DE_PotatoesIndustry.h:132
FI_OSpringBarley_Fodder class .
Definition: FI_OSpringBarley_Fodder.h:91
Definition: LandscapeFarmingEnums.h:552
Definition: DK_CatchCrop.h:56
Definition: LandscapeFarmingEnums.h:867
Definition: LandscapeFarmingEnums.h:918
Definition: LandscapeFarmingEnums.h:353
BEWinterWheat class .
Definition: BEWinterWheat.h:74
Definition: LandscapeFarmingEnums.h:265
Definition: DE_OHerbsPerennial_1year.h:85
Definition: LandscapeFarmingEnums.h:271
DK_SetAside_SummerMow class .
Definition: DK_SetAside_SummerMow.h:90
Definition: DK_OSpringOats.h:66
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1350
BEWinterBarleyCC class .
Definition: BEWinterBarleyCC.h:72
DE_BushFruitPerm class .
Definition: DE_BushFruitPerm.h:90
Definition: LandscapeFarmingEnums.h:364
Definition: LandscapeFarmingEnums.h:215
Definition: LandscapeFarmingEnums.h:385
FI_GreenFallow_Perm class .
Definition: FI_GreenFallow_Perm.h:85
Definition: LandscapeFarmingEnums.h:282
Definition: LandscapeFarmingEnums.h:587
Definition: DK_MixedVeg.h:84
Definition: LandscapeFarmingEnums.h:599
vector< double > m_YieldReturns
Holds the list of yield prices indexed by toc_ type (TTypesOfCrop)
Definition: Farm.h:1682
DK_OWinterFodderGrass class .
Definition: DK_OWinterFodderGrass.h:98
DK_OBushFruit_Perm2 class .
Definition: DK_OBushFruit_Perm2.h:84
Definition: LandscapeFarmingEnums.h:275
Definition: WinterWheatStriglingCulm.h:85
FI_FabaBean class .
Definition: FI_FabaBean.h:95
Definition: LandscapeFarmingEnums.h:206
Definition: LandscapeFarmingEnums.h:305
BEMaize class .
Definition: BEMaizeCC.h:62
Definition: LandscapeFarmingEnums.h:809
Definition: LandscapeFarmingEnums.h:796
Definition: LandscapeFarmingEnums.h:692
Definition: DK_SpringFodderGrass.h:70
Definition: LandscapeFarmingEnums.h:560
Definition: LandscapeFarmingEnums.h:217
DE_Maize class .
Definition: DE_Maize.h:89
FI_NaturalGrassland_Perm class .
Definition: FI_NaturalGrassland_Perm.h:83
Definition: MaizeSilage.h:59
SE_SpringBarley class .
Definition: SE_SpringBarley.h:97
Definition: LandscapeFarmingEnums.h:227
Definition: LandscapeFarmingEnums.h:221
Definition: LandscapeFarmingEnums.h:535
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....
Definition: LandscapeFarmingEnums.h:333
Definition: DK_OFodderBeet.h:62
Definition: LandscapeFarmingEnums.h:909
Definition: LandscapeFarmingEnums.h:473
NLGrassGrazedLast class .
Definition: NLGrassGrazedLast.h:85
Definition: NLOrchardCrop.h:57
Inbuilt special purpose farm type.
Definition: Farm.h:1109
Definition: LandscapeFarmingEnums.h:565
int GetFarmNoLookupIndex(int a_ref)
Get a farm reference from the lookup table.
Definition: Farm.h:1609
Definition: LandscapeFarmingEnums.h:205
Definition: DK_WinterCloverGrassGrazedSown.h:70
Definition: LandscapeFarmingEnums.h:212
IRWinterBarley class .
Definition: IRWinterBarley.h:107
DE_WinterWheat class .
Definition: DE_WinterWheat.h:108
Definition: LandscapeFarmingEnums.h:528
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1097
Definition: LandscapeFarmingEnums.h:214
Definition: LandscapeFarmingEnums.h:895
Definition: SpringBarleyStriglingCulm.h:77
Definition: LandscapeFarmingEnums.h:602
Definition: LandscapeFarmingEnums.h:225
Definition: LandscapeFarmingEnums.h:874
Definition: LandscapeFarmingEnums.h:593
Definition: LandscapeFarmingEnums.h:279
Definition: DK_OLegume_Whole_CC.h:59
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:52
NLGrassGrazedExtensive1Spring class .
Definition: NLGrassGrazedExtensive1Spring.h:71
Definition: LandscapeFarmingEnums.h:399
Definition: LandscapeFarmingEnums.h:464
Definition: LandscapeFarmingEnums.h:500
NLCabbage class .
Definition: NLCabbage.h:75
Definition: LandscapeFarmingEnums.h:820
Definition: LandscapeFarmingEnums.h:356
NLBeet class .
Definition: NLBeet.h:70
Definition: LandscapeFarmingEnums.h:336
Definition: DK_FarmYoungForest_Perm.h:50
Definition: LandscapeFarmingEnums.h:312
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1278
DE_WinterBarley class .
Definition: DE_WinterBarley.h:102
Definition: LandscapeFarmingEnums.h:789
Definition: LandscapeFarmingEnums.h:1008
Definition: LandscapeFarmingEnums.h:428
NLPotatoes class .
Definition: NLPotatoes.h:95
Definition: LandscapeFarmingEnums.h:215
Definition: DK_MaizeSilage.h:57
Definition: PTOliveGroveTradOrganic.h:66
Definition: LandscapeFarmingEnums.h:597
Definition: LandscapeFarmingEnums.h:467
Definition: LandscapeFarmingEnums.h:590
Definition: LandscapeFarmingEnums.h:234
DK_OCloverGrassGrazed3 class .
Definition: DK_OCloverGrassGrazed3.h:94
Definition: LandscapeFarmingEnums.h:383
Definition: LandscapeFarmingEnums.h:457
Definition: LandscapeFarmingEnums.h:488
Definition: LandscapeFarmingEnums.h:253
Definition: LandscapeFarmingEnums.h:217
Definition: LandscapeFarmingEnums.h:475
Definition: LandscapeFarmingEnums.h:230
UKBeans class .
Definition: UKBeans.h:60
Definition: LandscapeFarmingEnums.h:386
Definition: LandscapeFarmingEnums.h:208
Definition: LandscapeFarmingEnums.h:541
Definition: SpringBarleySKManagement.h:75
Definition: LandscapeFarmingEnums.h:461
Definition: LandscapeFarmingEnums.h:799
Definition: LandscapeFarmingEnums.h:540
Definition: LandscapeFarmingEnums.h:1003
FI_OSpringRape class .
Definition: FI_OSpringRape.h:90
IRWinterWheat class .
Definition: IRWinterWheat.h:109
FI_GrasslandSilagePerennial1 class .
Definition: FI_GrasslandSilagePerennial1.h:90
Definition: LandscapeFarmingEnums.h:817
Definition: LandscapeFarmingEnums.h:877
Definition: LandscapeFarmingEnums.h:495
Definition: LandscapeFarmingEnums.h:487
Definition: PermanentGrassGrazed.h:54
FI_OWinterRye class .
Definition: FI_OWinterRye.h:96
Definition: DK_OSpringOats_CC.h:68
Definition: LandscapeFarmingEnums.h:800
Definition: NorwegianPotatoes.h:73
Definition: LandscapeFarmingEnums.h:845
Definition: WinterBarleyStrigling.h:88
Definition: LandscapeFarmingEnums.h:520
DE_Cabbage class .
Definition: DE_Cabbage.h:103
Definition: LandscapeFarmingEnums.h:273
NLBeetSpring class .
Definition: NLBeetSpring.h:67
Definition: LandscapeFarmingEnums.h:311
DE_OGrasslandSilageAnnual1 class .
Definition: DE_OGrasslandSilageAnnual.h:86
Definition: DK_OGrazingPigs_Perm.h:45
Definition: LandscapeFarmingEnums.h:513
Definition: SugarBeet.h:72
Definition: LandscapeFarmingEnums.h:415
Definition: LandscapeFarmingEnums.h:469
Definition: SpringRape.h:78
double LabourCost
Definition: Farm.h:344
Definition: LandscapeFarmingEnums.h:831
PTWinterWheat class .
Definition: PTWinterWheat.h:86
Definition: LandscapeFarmingEnums.h:1011
Definition: DummyCropPestTesting.h:62
Definition: LandscapeFarmingEnums.h:485
Definition: LandscapeFarmingEnums.h:581
Definition: MaizeStrigling.h:59
void ReadCropManagementNorms()
Reads in and creates the crop management norms data for socio-economics.
Definition: Farm.cpp:6157
Definition: LandscapeFarmingEnums.h:211
Definition: DK_PotatoIndustry.h:90
Definition: LandscapeFarmingEnums.h:502
void AddFarmer(Farmer *a_farmer)
Adds a farmer to the end of the list.
Definition: Farm.h:474
Definition: DK_OPotato.h:79
A class to manage simple farmer list functionality.
Definition: Farm.h:459
Definition: SeedGrass2.h:56
Definition: LandscapeFarmingEnums.h:249
long OldDays(void)
Definition: Calendar.h:60
double daydegrees
Daydegrees for period March 1st - November 1st. Used to determine yield of crops that are not harvest...
Definition: Farm.h:1694
BEBeet class .
Definition: BEBeet.h:69
Definition: LandscapeFarmingEnums.h:564
DK_SeedGrassFescue_Spring class .
Definition: DK_SeedGrassFescue_Spring.h:116
Definition: LandscapeFarmingEnums.h:892
Definition: LandscapeFarmingEnums.h:221
Definition: LandscapeFarmingEnums.h:483
Definition: LandscapeFarmingEnums.h:683
DE_SpringBarley class .
Definition: DE_SpringBarley.h:92
Definition: DE_OWinterRape.h:60
Definition: LandscapeFarmingEnums.h:220
NLCabbageSpring class .
Definition: NLCabbageSpring.h:72
Definition: OPotatoes.h:62
Definition: LandscapeFarmingEnums.h:436
Definition: LandscapeFarmingEnums.h:549
Definition: LandscapeFarmingEnums.h:417
static bool m_UseSocioEconomicFarmers
Flag for use of socio-economic farmers.
Definition: Farm.h:1679
Definition: LandscapeFarmingEnums.h:805
FR_WinterBarley class .
Definition: FR_WinterBarley.h:106
Definition: LandscapeFarmingEnums.h:278
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1251
Definition: LandscapeFarmingEnums.h:471
Definition: LandscapeFarmingEnums.h:519
Definition: DK_OLegume_Beans_CC.h:56
Definition: LandscapeFarmingEnums.h:251
BECatchPeaCrop class .
Definition: BECatchPeaCrop.h:53
FI_BufferZone_Perm class .
Definition: FI_BufferZone_Perm.h:86
Definition: LandscapeFarmingEnums.h:205
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
FR_WinterRape class .
Definition: FR_WinterRape.h:109
Definition: LandscapeFarmingEnums.h:206
Definition: LandscapeFarmingEnums.h:262
Definition: NorwegianSpringBarley.h:48
Definition: LandscapeFarmingEnums.h:550
IRGrassland_reseed class .
Definition: IRGrassland_reseed.h:144
Definition: DE_OAsparagusEstablishedPlantation.h:90
DE_WinterWheatLate class .
Definition: DE_WinterWheatLate.h:108
Definition: LandscapeFarmingEnums.h:228
Definition: LandscapeFarmingEnums.h:600
Definition: FI_OStarchPotato_North.h:55
Definition: CloverGrassGrazed2.h:54
DE_OGreenFallow_1years class .
Definition: DE_OGreenFallow_1year.h:83
Definition: FieldPeasSilage.h:62
Definition: LandscapeFarmingEnums.h:214
DE_OPermanentGrassGrazed class .
Definition: DE_OPermanentGrassGrazed.h:83
Definition: DK_OSpringBarley.h:61
Definition: LandscapeFarmingEnums.h:558
UKWinterRape class .
Definition: UKWinterRape.h:77
Definition: LandscapeFarmingEnums.h:224
Definition: LandscapeFarmingEnums.h:460
Definition: DK_GrassTussocky_Perm.h:48
Definition: LandscapeFarmingEnums.h:527
FR_Sunflower class .
Definition: FR_Sunflower.h:97
Definition: LandscapeFarmingEnums.h:327
NLPermanentGrassGrazedExtensive class .
Definition: NLPermanentGrassGrazedExtensive.h:70
Definition: DK_Legume_Peas.h:55
Inbuilt special purpose farm type.
Definition: Farm.h:1151
Definition: LandscapeFarmingEnums.h:531
Definition: LandscapeFarmingEnums.h:872
Definition: LandscapeFarmingEnums.h:309
Definition: LandscapeFarmingEnums.h:215
Definition: FI_PotatoIndustry_South.h:66
Definition: LandscapeFarmingEnums.h:532
Definition: LandscapeFarmingEnums.h:423
DK_OOrchPear class .
Definition: DK_OOrchPear.h:99
Definition: LandscapeFarmingEnums.h:442
Definition: DK_Potato.h:81
Definition: LandscapeFarmingEnums.h:405
Definition: LandscapeFarmingEnums.h:499
SE_WinterRape_Seed class .
Definition: SE_WinterRape_Seed.h:101
Definition: LandscapeFarmingEnums.h:266
int m_x
Definition: ALMaSS_Setup.h:55
Definition: LandscapeFarmingEnums.h:843
Definition: DK_WinterRye.h:75
Definition: LandscapeFarmingEnums.h:365
Definition: LandscapeFarmingEnums.h:280
Definition: LandscapeFarmingEnums.h:209
double EconomicCost
Definition: Farm.h:345
Definition: LandscapeFarmingEnums.h:444
Definition: DE_OPermanentGrassLowYield.h:77
Definition: LandscapeFarmingEnums.h:576
Definition: WinterRye.h:77
FI_OCaraway2 class .
Definition: FI_OCaraway2.h:79
Definition: LandscapeFarmingEnums.h:427
Inbuilt special purpose farm type.
Definition: Farm.h:1129
int Age
Definition: Farm.h:339
Definition: LandscapeFarmingEnums.h:211
Definition: LandscapeFarmingEnums.h:591
FR_Grassland class .
Definition: FR_Grassland.h:107
Definition: LandscapeFarmingEnums.h:889
Definition: LandscapeFarmingEnums.h:294
Definition: LandscapeFarmingEnums.h:292
Definition: LandscapeFarmingEnums.h:430
Definition: LandscapeFarmingEnums.h:228
FR_SpringBarley class .
Definition: FR_SpringOats.h:91
int value() const
Definition: Configurator.h:116
Definition: DK_FodderBeet.h:57
Definition: LandscapeFarmingEnums.h:501
GenericCatchCrop class .
Definition: GenericCatchCrop.h:48
Definition: LandscapeFarmingEnums.h:561
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1224
vector< FarmFuncsCostBenefits > m_FarmFuncsCB
Holds the list of cost benefits for farm functions (management actions)
Definition: Farm.h:1705
PTSorghum class .
Definition: PTSorghum.h:88
Definition: LandscapeFarmingEnums.h:400
Definition: LandscapeFarmingEnums.h:542
Definition: LandscapeFarmingEnums.h:793
Definition: LandscapeFarmingEnums.h:241
Definition: LandscapeFarmingEnums.h:247
Definition: LandscapeFarmingEnums.h:693
Definition: LandscapeFarmingEnums.h:823
Definition: LandscapeFarmingEnums.h:854
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1341
Definition: LandscapeFarmingEnums.h:274
PTCabbage_Hort class .
Definition: PTCabbage_Hort.h:79
Definition: DK_OMaizeSilage.h:69
Definition: LandscapeFarmingEnums.h:905
Definition: SpringBarleyCloverGrassStrigling.h:62
Definition: LandscapeFarmingEnums.h:341
Definition: LandscapeFarmingEnums.h:913
PTSetAside class .
Definition: PTSetAside.h:76
Inbuilt special purpose farm type.
Definition: Farm.h:1119
Inbuilt special purpose farm type.
Definition: Farm.h:1141
Definition: LandscapeFarmingEnums.h:209
Definition: LandscapeFarmingEnums.h:259
Definition: LandscapeFarmingEnums.h:209
Definition: LandscapeFarmingEnums.h:465
Definition: OWinterRape.h:63
UKBeet class .
Definition: UKBeet.h:66
FI_WinterWheat class .
Definition: FI_WinterWheat.h:106
int GetSize()
Gets the list length.
Definition: Farm.h:480
Definition: LandscapeFarmingEnums.h:209
Definition: DK_OPotatoSeed.h:79
Definition: LandscapeFarmingEnums.h:317
TTypesOfVegetation TranslateVegTypes(int VegReference)
Definition: Elements.cpp:3724
Definition: LandscapeFarmingEnums.h:203
Definition: LandscapeFarmingEnums.h:446
Definition: OWinterWheatUndersown.h:64
ITOrchardd class .
Definition: ITOrchard.h:161
DK_OChristmasTrees_Perm class .
Definition: DK_OChristmasTrees_Perm.h:167
Definition: LandscapeFarmingEnums.h:816
Definition: LandscapeFarmingEnums.h:289
Definition: LandscapeFarmingEnums.h:810
Definition: LandscapeFarmingEnums.h:566
Definition: DK_OLegume_Peas.h:56
Definition: LandscapeFarmingEnums.h:837
FI_SpringOats class .
Definition: FI_SpringOats.h:100
string m_ManagementCategoryLabels[fmc_Foobar]
A list of labels of the main farm management action categories.
Definition: Farm.h:1707
double envA
Definition: Farm.h:336
Definition: LandscapeFarmingEnums.h:416
Definition: LandscapeFarmingEnums.h:814
DK_BushFruit_Perm1 class .
Definition: DK_BushFruit_Perm1.h:102
Definition: LandscapeFarmingEnums.h:577
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1287
DK_SeedGrassRye_Spring class .
Definition: DK_SeedGrassRye_Spring.h:103
Definition: LandscapeFarmingEnums.h:538
Definition: LandscapeFarmingEnums.h:225
Definition: SpringBarleyCloverGrass.h:65
PTWinterBarley class .
Definition: PTWinterBarley.h:86
PLWinterTriticale class .
Definition: PLWinterTriticale.h:97
Definition: LandscapeFarmingEnums.h:537
Definition: LandscapeFarmingEnums.h:295
Definition: DK_OGrassLowYield_Perm.h:52
Definition: LandscapeFarmingEnums.h:894
Definition: LandscapeFarmingEnums.h:220
Definition: LandscapeFarmingEnums.h:878
Definition: LandscapeFarmingEnums.h:337
PTOats class .
Definition: PTOats.h:83
Definition: LandscapeFarmingEnums.h:232
Definition: LandscapeFarmingEnums.h:214
Definition: LandscapeFarmingEnums.h:276
Definition: LandscapeFarmingEnums.h:503
FR_WinterWheat class .
Definition: FR_WinterWheat.h:108
Definition: LandscapeFarmingEnums.h:545
Definition: OCloverGrassSilage1.h:52
Definition: LandscapeFarmingEnums.h:203
Definition: LandscapeFarmingEnums.h:222
Definition: PTOliveGroveTraditional.h:82
Definition: DK_SpringOats_CC.h:58
bool IsDuplicateRef(int a_ref, HunterInfo *a_hinfo)
Checks if we already have this ref.
Definition: Farm.cpp:5717
Definition: LandscapeFarmingEnums.h:206
Definition: LandscapeFarmingEnums.h:422
Definition: LandscapeFarmingEnums.h:682
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
Inbuilt farm type.
Definition: Farm.h:1047
Definition: LandscapeFarmingEnums.h:391
Definition: PotatoesIndustry.h:72
Definition: LandscapeFarmingEnums.h:324
Definition: LandscapeFarmingEnums.h:206
Definition: LandscapeFarmingEnums.h:871
int homeX
Hunter home x-coord.
Definition: Farm.h:441
Definition: DK_OLegume_Whole.h:59
Definition: LandscapeFarmingEnums.h:388
CfgFloat cfg_FarmSizeProbParam1("FARMSIZEPROBPARAMONE", CFG_CUSTOM, 1.5)
A fitting parameter for the probability of hunter acceptance of a farm that is smaller.
Inbuilt special purpose farm type.
Definition: Farm.h:1187
Definition: LandscapeFarmingEnums.h:902
Definition: LandscapeFarmingEnums.h:373
PLMaizeSilage class .
Definition: PLMaizeSilage.h:95
Definition: OSBarleySilage.h:51
Definition: LandscapeFarmingEnums.h:686
int homeY
Hunter home y-coord.
Definition: Farm.h:443
Definition: BarleyPeaCloverGrassStrigling.h:69
Definition: LandscapeFarmingEnums.h:214
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
Definition: LandscapeFarmingEnums.h:215
Definition: LandscapeFarmingEnums.h:403
UKWinterWheat class .
Definition: UKWinterWheat.h:76
Definition: OWinterBarley.h:56
Definition: SeedGrass1.h:53
Definition: LandscapeFarmingEnums.h:494
bool m_SpilledGrain
Is it 2013 (true) or 2014 (false) as far as grain goes.
Definition: Farm.h:1696
Definition: LandscapeFarmingEnums.h:351
Definition: NorwegianOats.h:48
Definition: LandscapeFarmingEnums.h:562
Definition: LandscapeFarmingEnums.h:875
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...
Definition: LandscapeFarmingEnums.h:433
Definition: LandscapeFarmingEnums.h:1010
Definition: PTOliveGroveSuperIntensive.h:78
DK_OOrchCherry class .
Definition: DK_OOrchCherry.h:93
PLSpringBarley class .
Definition: PLSpringBarley.h:95
TTypesOfVegetation
Values that represent the types of vegetation that are represented in ALMaSS.
Definition: LandscapeFarmingEnums.h:192
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...
Definition: LandscapeFarmingEnums.h:509
ITOOrchardd class .
Definition: ITOOrchard.h:169
PLBeet class .
Definition: PLBeet.h:99
DK_GrassGrazed_Perm class .
Definition: DK_GrassGrazed_Perm.h:78
Definition: LandscapeFarmingEnums.h:304
BEWinterbarley class .
Definition: BEWinterBarley.h:72
Definition: LandscapeFarmingEnums.h:459
Definition: LandscapeFarmingEnums.h:515
Definition: LandscapeFarmingEnums.h:547
Definition: LandscapeFarmingEnums.h:489
Definition: LandscapeFarmingEnums.h:584
double EnvImpact
Definition: Farm.h:347
Definition: LandscapeFarmingEnums.h:227
Definition: LandscapeFarmingEnums.h:296
Definition: LandscapeFarmingEnums.h:556
DE_OOrchard class .
Definition: DE_OOrchard.h:142
Definition: OMaizeSilage.h:54
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1260
Definition: LandscapeFarmingEnums.h:480
IRSpringBarley class .
Definition: IRSpringBarley.h:107
Definition: LandscapeFarmingEnums.h:381
Definition: LandscapeFarmingEnums.h:681
Definition: LandscapeFarmingEnums.h:451
Definition: LandscapeFarmingEnums.h:208
Definition: LandscapeFarmingEnums.h:916
Definition: LandscapeFarmingEnums.h:220
Definition: OCloverGrassGrazed1.h:52
FI_Caraway1 class .
Definition: FI_Caraway1.h:97
Definition: LandscapeFarmingEnums.h:212
Definition: LandscapeFarmingEnums.h:270
Definition: LandscapeFarmingEnums.h:588
Definition: LandscapeFarmingEnums.h:367
Definition: LandscapeFarmingEnums.h:484
Definition: DK_OSugarBeet.h:61
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1072
Definition: LandscapeFarmingEnums.h:205
Definition: LandscapeFarmingEnums.h:518
Definition: LandscapeFarmingEnums.h:490
Definition: LandscapeFarmingEnums.h:448
Definition: FI_StarchPotato_North.h:64
PTCloverGrassGrazed1 class .
Definition: PTCloverGrassGrazed1.h:97
Definition: LandscapeFarmingEnums.h:203
FI_OSpringOats class .
Definition: FI_OSpringOats.h:90
Definition: LandscapeFarmingEnums.h:208
Farmer * GetFarmer(int i)
Gets a farmer point if an index is available.
Definition: Farm.h:476
Definition: LandscapeFarmingEnums.h:217
FI_NaturalGrassland class .
Definition: FI_NaturalGrassland.h:87
Definition: LandscapeFarmingEnums.h:441
Definition: LandscapeFarmingEnums.h:362
Definition: DK_OMixedVeg.h:78
Definition: LandscapeFarmingEnums.h:297
Definition: DE_OCarrots.h:70
Definition: LandscapeFarmingEnums.h:300
DE_Oats class .
Definition: DE_Oats.h:102
DE_MaizeSilage class .
Definition: DE_MaizeSilage.h:90
Inbuilt special purpose farm type.
Definition: Farm.h:1160
DK_OOrchOther class .
Definition: DK_OOrchOther.h:100
CfgInt g_farm_fixed_crop_type("FARM_FIXED_CROP_TYPE", CFG_CUSTOM, 22)
Definition: LandscapeFarmingEnums.h:868
Definition: LandscapeFarmingEnums.h:786
Definition: LandscapeFarmingEnums.h:865
Definition: LandscapeFarmingEnums.h:839
Definition: LandscapeFarmingEnums.h:203
Definition: LandscapeFarmingEnums.h:283
Definition: LandscapeFarmingEnums.h:911
Definition: LandscapeFarmingEnums.h:1012
bool m_renumbered
A flag to show whether renumbering was already done.
Definition: Farm.h:1700
PLWinterRye class .
Definition: PLWinterRye.h:92
Definition: LandscapeFarmingEnums.h:873
Definition: LandscapeFarmingEnums.h:257
Definition: LandscapeFarmingEnums.h:217
Definition: LandscapeFarmingEnums.h:856
Definition: LandscapeFarmingEnums.h:869
Definition: LandscapeFarmingEnums.h:840
Definition: DK_OWinterRye_CC.h:59
Definition: LandscapeFarmingEnums.h:397
Definition: FI_Potato_South.h:66
Landscape * g_landscape_ptr
Definition: Landscape.cpp:352
Definition: LandscapeFarmingEnums.h:376
Definition: DK_OSpringBarleySilage.h:70
Definition: LandscapeFarmingEnums.h:224
FI_SpringBarley_Fodder class .
Definition: FI_SpringBarley_Fodder.h:101
Definition: SpringBarleyStrigling.h:77
Definition: LandscapeFarmingEnums.h:203
Definition: LandscapeFarmingEnums.h:498
Definition: LandscapeFarmingEnums.h:861
Definition: LandscapeFarmingEnums.h:360
Definition: LandscapeFarmingEnums.h:293
PLFodderLucerne1 class .
Definition: PLFodderLucerne1.h:80
Definition: LandscapeFarmingEnums.h:849
Definition: LandscapeFarmingEnums.h:218
Definition: PermanentSetAside.h:43
Definition: LandscapeFarmingEnums.h:802
vector< Crop * > m_cropprogs
Definition: Farm.h:1675
Definition: LandscapeFarmingEnums.h:504
Definition: LandscapeFarmingEnums.h:462
Definition: DK_OCerealLegume_Whole.h:59
Definition: LandscapeFarmingEnums.h:222
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1314
Definition: LandscapeFarmingEnums.h:586
Definition: WinterRyeStrigling.h:76
Definition: LandscapeFarmingEnums.h:420
Definition: LandscapeFarmingEnums.h:260
BEPotatoesSpring class .
Definition: BEPotatoesSpring.h:88
DK_OCloverGrassGrazed2 class .
Definition: DK_OCloverGrassGrazed2.h:95
FR_Maize class .
Definition: FR_Maize.h:94
PTTriticale class .
Definition: PTTriticale.h:87
Definition: LandscapeFarmingEnums.h:886
PLSpringWheat class .
Definition: PLSpringWheat.h:100
Definition: LandscapeFarmingEnums.h:836
int g_random_fnc(const int a_range)
Definition: ALMaSS_Random.cpp:74
PLWinterWheatLate class .
Definition: PLWinterWheatLate.h:100
Definition: LandscapeFarmingEnums.h:355
Definition: LandscapeFarmingEnums.h:691
Definition: LandscapeFarmingEnums.h:203
Landscape * m_landscape
Holds a local pointer to the landscape.
Definition: Farm.h:1686
Definition: LandscapeFarmingEnums.h:407
int * m_farmmapping_lookup
Used for a dynamic array of lookups converting farm references to internal renumbering.
Definition: Farm.h:1698
Definition: LandscapeFarmingEnums.h:900
Definition: LandscapeFarmingEnums.h:897
Definition: LandscapeFarmingEnums.h:339
Definition: DK_OSeedGrassRye_Spring.h:83
Definition: LandscapeFarmingEnums.h:685
int DayInYear(void)
Definition: Calendar.h:58
Definition: LandscapeFarmingEnums.h:784
Definition: DK_OCarrots.h:71
A farm that can have its rotation defined by the user at runtime.
Definition: Farm.h:1332
Definition: OFirstYearDanger.h:39
Definition: LandscapeFarmingEnums.h:349
Definition: LandscapeFarmingEnums.h:217
Definition: LandscapeFarmingEnums.h:567
Definition: BEOrchardCrop.h:56
Definition: LandscapeFarmingEnums.h:828
Definition: LandscapeFarmingEnums.h:477
NLPermanentGrassGrazed class .
Definition: NLPermanentGrassGrazed.h:84
Definition: LandscapeFarmingEnums.h:573
Definition: LandscapeFarmingEnums.h:228
Definition: LandscapeFarmingEnums.h:822
FR_Maize_Silage class .
Definition: FR_Maize_Silage.h:94
Definition: LandscapeFarmingEnums.h:329
Inbuilt special purpose farm type.
Definition: Farm.h:1169
Definition: DK_OSpringWheat.h:66
CfgBool cfg_UseFarmerNetworks("USE_FARMER_NETWORKS", CFG_CUSTOM, false)
Used to enable/disable farmer networks.
DE_SugarBeet class .
Definition: DE_SugarBeet.h:118
Definition: LandscapeFarmingEnums.h:370
FI_SprSpringBarley_Fodder class .
Definition: FI_SprSpringBarley_Fodder.h:99
Definition: LandscapeFarmingEnums.h:496
Definition: LandscapeFarmingEnums.h:687
Definition: LandscapeFarmingEnums.h:224
Definition: DK_SpringBarley_CC.h:69
Definition: LandscapeFarmingEnums.h:578
Definition: DK_OLupines.h:57
BEWinterWheatCC class .
Definition: BEWinterWheatCC.h:74
Definition: LandscapeFarmingEnums.h:303
Definition: DE_OLegume.h:55
Definition: FI_OPotatoIndustry_North.h:55
NLCarrots class .
Definition: NLCarrots.h:71
Definition: LandscapeFarmingEnums.h:354
DE_WinterRye class .
Definition: DE_WinterRye.h:98
Definition: LandscapeFarmingEnums.h:359
Definition: LandscapeFarmingEnums.h:684
Definition: LandscapeFarmingEnums.h:443
Definition: DE_OSugarBeet.h:67
class LE_TypeClass * g_letype
Definition: Elements.cpp:806
Definition: LandscapeFarmingEnums.h:347
void ReadFarmerAttributes()
Reads in and creates the farmer attribute information and assigns it to farmers.
Definition: Farm.cpp:6198
DK_BushFruit_Perm2 class .
Definition: DK_BushFruit_Perm2.h:107
Definition: LandscapeFarmingEnums.h:907
Definition: LandscapeFarmingEnums.h:543
Definition: LandscapeFarmingEnums.h:530
Definition: LandscapeFarmingEnums.h:926
Definition: LandscapeFarmingEnums.h:689
DK_OrchardCrop_Perm class .
Definition: DK_OrchardCrop_Perm.h:128
Definition: LandscapeFarmingEnums.h:313
Definition: LandscapeFarmingEnums.h:325
PLWinterWheat class .
Definition: PLWinterWheat.h:99
DE_Carrots class .
Definition: DE_Carrots.h:100
Definition: LandscapeFarmingEnums.h:607
Definition: LandscapeFarmingEnums.h:922
Definition: LandscapeFarmingEnums.h:585
Definition: LandscapeFarmingEnums.h:285
Definition: OSeedGrass2.h:50
Inbuilt special purpose farm type.
Definition: Farm.h:1178
Definition: DK_OSpringBarley_CC.h:59
Definition: LandscapeFarmingEnums.h:396
Definition: LandscapeFarmingEnums.h:526
Definition: LandscapeFarmingEnums.h:211
int Cooperative
Definition: Farm.h:338
Definition: LandscapeFarmingEnums.h:248
BEMaize class .
Definition: BEMaize.h:66
Definition: LandscapeFarmingEnums.h:478
Definition: FI_StarchPotato_South.h:66
Definition: LandscapeFarmingEnums.h:258
Definition: LandscapeFarmingEnums.h:801
Definition: LandscapeFarmingEnums.h:244
Definition: LandscapeFarmingEnums.h:310
Definition: LandscapeFarmingEnums.h:792
Definition: LandscapeFarmingEnums.h:791
Definition: LandscapeFarmingEnums.h:536
Definition: LandscapeFarmingEnums.h:414
BEGrassGrazed2 class .
Definition: BEGrassGrazed1Spring.h:77
Definition: LandscapeFarmingEnums.h:412
Definition: OSpringBarley.h:61
Definition: LandscapeFarmingEnums.h:782
Definition: DK_CloverGrassGrazed1.h:84
Definition: SpringBarley.h:79
Definition: LandscapeFarmingEnums.h:230
void PrintLocationAndArea()
Print Farmers' location (x , y)
Definition: Farm.cpp:6369
Definition: LandscapeFarmingEnums.h:227
Definition: LandscapeFarmingEnums.h:389
Definition: LandscapeFarmingEnums.h:690
Definition: LandscapeFarmingEnums.h:268
Definition: LandscapeFarmingEnums.h:548
Definition: LandscapeFarmingEnums.h:392
Definition: FieldPeasStrigling.h:62
Definition: LandscapeFarmingEnums.h:264
Definition: OPermanentGrassGrazed.h:52
Definition: LandscapeFarmingEnums.h:571
Definition: DK_SpringBarleySilage.h:56
Definition: LandscapeFarmingEnums.h:853
Definition: DE_OSpringRye.h:58
Definition: LandscapeFarmingEnums.h:228
Definition: OWinterRye.h:57
Definition: LandscapeFarmingEnums.h:357
FI_OWinterWheat class .
Definition: FI_OWinterWheat.h:98
void ResetAllDone()
Sets all farmers AllDone to false ready for the next day.
Definition: Farm.cpp:6108
Definition: LandscapeFarmingEnums.h:880
Definition: LandscapeFarmingEnums.h:254
Definition: LandscapeFarmingEnums.h:323
Definition: DE_HerbsPerennial_after1year.h:83
Definition: LandscapeFarmingEnums.h:821
Definition: LandscapeFarmingEnums.h:346
Definition: LandscapeFarmingEnums.h:824
Definition: BroadBeans.h:51
Definition: LandscapeFarmingEnums.h:453
Definition: LandscapeFarmingEnums.h:348
FI_SpringWheat class .
Definition: FI_SpringOat.h:99
Definition: LandscapeFarmingEnums.h:850
Definition: LandscapeFarmingEnums.h:319
Definition: LandscapeFarmingEnums.h:583
Definition: LandscapeFarmingEnums.h:222
Definition: LandscapeFarmingEnums.h:239
Definition: LandscapeFarmingEnums.h:808
int m_y
Definition: ALMaSS_Setup.h:56
Definition: DK_OLentils.h:56
DK_ChristmasTrees_Perm class .
Definition: DK_ChristmasTrees_Perm.h:185
Definition: LandscapeFarmingEnums.h:798
Definition: LandscapeFarmingEnums.h:1007
Definition: LandscapeFarmingEnums.h:834
Definition: OGrazingPigs.h:45
Definition: LandscapeFarmingEnums.h:308
Definition: LandscapeFarmingEnums.h:592
Definition: DK_SpringBarleyCloverGrass.h:67
Definition: LandscapeFarmingEnums.h:212
Definition: LandscapeFarmingEnums.h:263
Definition: LandscapeFarmingEnums.h:208
PLCarrots class .
Definition: PLCarrots.h:76
Definition: LandscapeFarmingEnums.h:517
Definition: DE_HerbsPerennial_1year.h:84
DK_OWinterWheat_CC class .
Definition: DK_OWinterWheat_CC.h:94
static CfgStr l_map_farmref_file("MAP_FARMREF_FILE", CFG_CUSTOM, "farmrefs.txt")
Definition: DK_VegSeeds.h:74
UKSpringBarley class .
Definition: UKSpringBarley.h:68
Definition: OCloverGrassGrazed2.h:49
FI_Caraway2 class .
Definition: FI_Caraway2.h:83
Definition: LandscapeFarmingEnums.h:511
Definition: LandscapeFarmingEnums.h:858
Definition: LandscapeFarmingEnums.h:335
Definition: OFieldPeasSilage.h:52
Definition: LandscapeFarmingEnums.h:910
Definition: LandscapeFarmingEnums.h:368
Definition: LandscapeFarmingEnums.h:445
DK_OWinterCloverGrassGrazedSown class .
Definition: DK_OWinterCloverGrassGrazedSown.h:99
IRWinterOats class .
Definition: IRWinterOats.h:107
vector< int > FarmHuntRef
The hunter's is the farm reference number to where he hunts.
Definition: Farm.h:445
PTCloverGrassGrazed2 class .
Definition: PTCloverGrassGrazed2.h:87
Definition: LandscapeFarmingEnums.h:252
Definition: LandscapeFarmingEnums.h:211
Definition: LandscapeFarmingEnums.h:408