ALMaSS Partridge ODdox  1.1
The partridge model description following ODdox protocol
Landscape.cpp File Reference
#include <iostream>
#include <fstream>
#include <string>
#include "../Landscape/ls.h"
#include "../BatchALMaSS/PopulationManager.h"
#include "../Skylark/skylarks_all.h"
#include "../RodenticideModelling/RodenticidePredators.h"
#include "../Landscape/map_cfg.h"
#include "../BatchALMaSS/BoostRandomGenerators.h"

Go to the source code of this file.

Functions

base_generator_type g_generator (static_cast< unsigned int >(std::time(0)))
 
boost::uniform_real g_uni_dist (0, 1)
 
boost::uniform_int g_uni_dist2 (0, 9999)
 
boost::uniform_int g_uni_dist3 (0, 999)
 
boost::variate_generator< base_generator_type &, boost::uniform_real<> > g_rand_uni (g_generator, g_uni_dist)
 
boost::variate_generator< base_generator_type &, boost::uniform_int<> > g_rand_uni2 (g_generator, g_uni_dist2)
 
boost::variate_generator< base_generator_type &, boost::uniform_int<> > g_rand_uni3 (g_generator, g_uni_dist3)
 

Variables

static const int version_major = 1
 
static const int version_minor = 0
 
static const int version_revision = 0
 
static const char * version_date = "2014-02-03"
 
CfgBool l_pest_enable_pesticide_engine
 Used to turn on or off the PPP functionality of ALMaSS. More...
 
CfgBool cfg_rodenticide_enable ("RODENTICIDE_ENABLE", CFG_CUSTOM, false)
 
CfgBool cfg_rodenticide_reporting_enable ("RODENTICIDE_REPORTING_ENABLE", CFG_CUSTOM, false)
 
static CfgBool cfg_map_usesoiltypes ("MAP_USESOILTYPES", CFG_CUSTOM, false)
 
static CfgBool cfg_CalculateCentroids ("MAP_CALCULATE_CENTROIDS", CFG_CUSTOM, false)
 
CfgBool cfg_OptimiseBedriftsmodelCrops
 If set to true, the original farm optimisation model's crop set is used in the farmer decision making model In this mode the optimisation is carried out only once; it is used for the comparioson of the optimisaiton results with the original model. More...
 
CfgBool cfg_OptimisingFarms
 If set to true, the farmer decision making model is active. More...
 
CfgBool cfg_DumpFarmAreas
 If set to true, an output file with farm areas is produced. More...
 
CfgBool cfg_MaizeEnergy
 If set to true, the energy maize crop is included in the simulation. More...
 
CfgInt cfg_HedgeSubtypeMinimum ("HEDGE_SUBTYPEMINIMUM", CFG_CUSTOM, 0)
 
CfgInt cfg_HedgeSubtypeMaximum ("HEDGE_SUBTYPEMAXIMUM", CFG_CUSTOM, 3)
 
static CfgBool cfg_AddBeetleBanks ("BBANKS_ADD", CFG_CUSTOM, false)
 
static CfgInt cfg_BeetleBankWidth ("BBANK_WIDTH", CFG_CUSTOM, 4)
 
static CfgInt cfg_BeetleBankChance ("BBANK_CHANCE", CFG_CUSTOM, 100)
 
static CfgFloat cfg_BeetleBankMaxArea ("BBANK_MAXAREA", CFG_CUSTOM, 0.05)
 
CfgBool cfg_BeetleBankInvert ("BBANK_INVERT", CFG_CUSTOM, false)
 
CfgInt cfg_BeetleBankMinX ("BBANK_MINX", CFG_CUSTOM, 0)
 
CfgInt cfg_BeetleBankMinY ("BBANK_MINY", CFG_CUSTOM, 0)
 
CfgInt cfg_BeetleBankMaxX ("BBANK_MAXX", CFG_CUSTOM, 100000)
 
CfgInt cfg_BeetleBankMaxY ("BBANK_MAXY", CFG_CUSTOM, 100000)
 
static CfgInt cfg_BeetleBankType ("BBANK_TYPE", CFG_CUSTOM,(int) tole_BeetleBank)
 
CfgBool cfg_dumpvegjan ("G_VEGAREASJAN_ON", CFG_CUSTOM, false)
 
CfgStr cfg_dumpvegjanfile ("G_VEGAREASJAN_FILENAME", CFG_CUSTOM, "DUMPVEG_JAN.TXT")
 
CfgBool cfg_dumpvegjune ("G_VEGAREASJUNE_ON", CFG_CUSTOM, false)
 
CfgStr cfg_dumpvegjunefile ("G_VEGAREASJUNE_FILENAME", CFG_CUSTOM, "DUMPVEG_JUNE.TXT")
 
CfgFloat cfg_strigling_prop ("CROPS_STRIGLING_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_silage_prop ("CROPS_SILAGE_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_ins_app_prop1 ("CROPS_INSECTICIDE_APPLIC_ONE_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_ins_app_prop2 ("CROPS_INSECTICIDE_APPLIC_TWO_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_ins_app_prop3 ("CROPS_INSECTICIDE_APPLIC_THREE_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_herbi_app_prop ("CROPS_HERBICIDE_APPLIC_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_fungi_app_prop1 ("CROPS_FUNGICIDE_APPLIC_ONE_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_fungi_app_prop2 ("CROPS_FUNGICIDE_APPLIC_TWO_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_fungi_app_prop3 ("CROPS_FUNGICIDE_APPLIC_THREE_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_greg_app_prop ("CROPS_GROWTHREGULATOR_APPLIC_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgInt cfg_l_treatment_x ("LAND_TREATMENTX", CFG_CUSTOM, 0)
 
CfgInt cfg_l_treatment_y ("LAND_TREATMENTY", CFG_CUSTOM, 0)
 
CfgInt cfg_l_treatment_size ("LAND_TREATMENTSIZE", CFG_CUSTOM, -1)
 
CfgBool cfg_l_usecustompoly ("LAND_USECUSTOMPOLY", CFG_CUSTOM, false)
 
CfgInt cfg_productapplicstartyear ("PEST_PROCTAPPLICSTARTYEAR", CFG_CUSTOM, 9999999)
 
CfgInt cfg_productapplicendyear ("PEST_PROCTAPPLICENDYEAR", CFG_CUSTOM,-1)
 
CfgInt cfg_pesticidetesttype ("PESTICIDETESTYPE", CFG_CUSTOM, -1)
 
CfgBool cfg_pesticidemapon ("PEST_MAP_ON", CFG_CUSTOM, false)
 Flag determining whether we are using the pesticide map. More...
 
CfgInt cfg_pesticidemapstartyear ("PEST_MAP_STARTYEAR", CFG_CUSTOM, 0)
 The first simulation year the pesticide is mapped. More...
 
CfgInt cfg_pesticidemapnoyears ("PEST_MAP_NOYEARS", CFG_CUSTOM, 1)
 The numer of years of pesticide mapping. More...
 
CfgInt cfg_pesticidemapdayinyear ("PEST_MAP_DAYINYEAR", CFG_CUSTOM, 364)
 The interval between maps. More...
 
CfgInt cfg_pesticidemapcellsize ("PEST_MAP_CELLSIZE", CFG_CUSTOM, 10)
 The output cell size for pesticides - a performance penalty if this does not match the pesticide cell size set by PEST_GRIDSIZE in pesticide.h. More...
 
CfgBool cfg_pesticidemaptype ("PEST_MAP_TYPE", CFG_CUSTOM, false)
 True for specific pesticide, false for general pesticides. More...
 
static CfgInt cfg_MaxPondSize ("MAP_MAXPONDSIZE", CFG_CUSTOM, 5000)
 If freshwater area is below this it is designated a pond. More...
 
static CfgInt l_map_no_pesticide_fields ("MAP_NO_PESTICIDE_FIELDS", CFG_CUSTOM, 0)
 
static CfgBool l_map_print_version_info ("MAP_PRINT_VERSION_INFO", CFG_CUSTOM, true)
 
CfgBool l_map_print_git_version_info ("MAP_PRINT_GIT_VERSION_INFO", CFG_CUSTOM, false)
 Should git version info be printed to file and console? More...
 
static CfgBool l_map_exit_on_zero_area ("MAP_EXIT_ON_ZERO_AREA", CFG_CUSTOM, true)
 
static CfgBool l_map_check_polygon_xref ("MAP_CHECK_POLYGON_XREF", CFG_CUSTOM, true)
 
static CfgBool l_map_art_hedgebanks ("MAP_ART_HEDGEBANKS", CFG_CUSTOM, false)
 
static CfgStr l_map_map_file ("MAP_MAP_FILE", CFG_CUSTOM, "map.lsb")
 
static CfgStr l_map_poly_file ("MAP_POLY_FILE", CFG_CUSTOM, "polygonrefs.txt")
 
static CfgStr l_map_weather_file ("MAP_WEATHER_FILE", CFG_CUSTOM, "weather.pre")
 
static CfgStr l_map_cropcurves_file ("MAP_CROPCURVES_FILE", CFG_CUSTOM, "curves.pre")
 
static CfgInt l_map_chameleon_replace_num ("MAP_CHAMELEON_REPLACE_NUM", CFG_CUSTOM, 58)
 
static CfgBool l_map_CIPEmaker_enable ("MAP_CIPEMAKER_ENABLE", CFG_CUSTOM, false)
 
static CfgBool l_map_dump_enable ("MAP_DUMP_ENABLE", CFG_CUSTOM, false)
 
static CfgBool l_map_removesmallpolygons ("MAP_REMOVESMALLPOLYGONS", CFG_CUSTOM, false)
 
CfgStr l_map_dump_map_file ("MAP_DUMP_MAP_FILE", CFG_CUSTOM, "dump.lsb")
 
static CfgBool l_map_dump_gfx_enable ("MAP_DUMP_GFX_ENABLE", CFG_CUSTOM, false)
 
static CfgStr l_map_dump_gfx_file ("MAP_DUMP_GFX_FILE", CFG_CUSTOM, "dump.ppm")
 
static CfgBool l_map_dump_exit ("MAP_DUMP_EXIT", CFG_CUSTOM, false)
 
CfgStr l_map_dump_poly_file ("MAP_DUMP_POLY_FILE", CFG_CUSTOM, "dump_polyrefs.txt")
 
static CfgInt l_map_umargin_width ("MAP_UMARGINWIDTH", CFG_CUSTOM, 12)
 
static CfgStr l_map_dump_margin_file ("MAP_DUMP_MARGIN_FILE", CFG_CUSTOM, "dumpunsprayedmargins.txt")
 
static CfgBool l_map_dump_treatcounts_enable ("MAP_DUMP_TREATCOUNTS_ENABLE", CFG_CUSTOM, false)
 
static CfgStr l_map_dump_treatcounts_file ("MAP_DUMP_TREATCOUNTS_FILE", CFG_CUSTOM, "treatment_counts.txt")
 
static CfgBool l_map_dump_veg_enable ("MAP_DUMP_VEG_ENABLE", CFG_CUSTOM, true)
 
static CfgInt l_map_dump_veg_x ("MAP_DUMP_VEG_X", CFG_CUSTOM, 100)
 
static CfgInt l_map_dump_veg_y ("MAP_DUMP_VEG_Y", CFG_CUSTOM, 100)
 
static CfgBool l_map_dump_event_enable ("MAP_DUMP_EVENT_ENABLE", CFG_CUSTOM, false)
 
static CfgInt l_map_dump_event_x1 ("MAP_DUMP_EVENT_XA", CFG_CUSTOM, 4287)
 
static CfgInt l_map_dump_event_y1 ("MAP_DUMP_EVENT_YA", CFG_CUSTOM, 2909)
 
static CfgInt l_map_dump_event_x2 ("MAP_DUMP_EVENT_XB", CFG_CUSTOM, 4333)
 
static CfgInt l_map_dump_event_y2 ("MAP_DUMP_EVENT_YB", CFG_CUSTOM, 2889)
 
static CfgBool l_map_consolidatepolys ("MAP_CONSOLIDATEPOLYS", CFG_CUSTOM, false)
 Used to consolidate polygons with no special behaviour into a single polygon of that type. More...
 
static CfgBool l_map_calc_openness ("MAP_CALC_OPENNESS", CFG_CUSTOM, false)
 
static CfgBool l_map_write_ascii ("MAP_WRITE_ASCII", CFG_CUSTOM, false)
 Used if an ASCII file for use in GIS applications should be written. More...
 
static CfgInt l_map_ascii_utm_x ("MAP_ASCII_UTM_X", CFG_CUSTOM, 0)
 If we write an ASCII file provide UTM-x of lower lefthand corner. More...
 
static CfgInt l_map_ascii_utm_y ("MAP_ASCII_UTM_Y", CFG_CUSTOM, 0)
 If we write an ASCII file provide UTM-y of lower lefthand corner. More...
 
static CfgInt l_map_ascii_map_entity ("MAP_ASCII_MAP_ENTITY", CFG_CUSTOM, 1)
 If we write an ASCII file what should be the mapped entity? 1 = polyref, 2 = elementype. More...
 
static CfgInt cfg_mintownbuildingdistance ("MAP_MINTOWNBUILDINGDISTANCE", CFG_CUSTOM, 100)
 
static CfgInt cfg_mintownbuildingnumber ("MAP_MINTOWNBUILDINGNUMBER", CFG_CUSTOM, 6)
 
static CfgStr cfg_OsmiaNestByLE_Datafile ("OSMIA_NESTBYLEDATAFILE", CFG_CUSTOM, "OsmiaNestsByHabitat.txt")
 
CfgBool cfg_rectangularmaps_on
 
CfgFloat cfg_P1A
 
CfgFloat cfg_P1B
 
CfgFloat cfg_P1C
 
CfgFloat cfg_P1D
 
CfgBool cfg_P1E
 
CfgFloat cfg_P1F
 
CfgFloat cfg_P1G
 
CfgStr cfg_P1H
 
double g_FarmIntensivenessH
 
double g_VegHeightForageReduction
 
CfgFloat cfg_G6A
 
CfgFloat cfg_G6B
 
CfgFloat cfg_G6C
 
CfgFloat cfg_G6D
 
CfgBool cfg_G6E
 
CfgFloat cfg_G6F
 
CfgFloat cfg_G6G
 
CfgStr cfg_G6H
 
CfgFloat cfg_B6A
 
CfgFloat cfg_B6B
 
CfgFloat cfg_B6C
 
CfgFloat cfg_B6D
 
CfgBool cfg_B6E
 
CfgFloat cfg_B6F
 
CfgFloat cfg_B6G
 
CfgStr cfg_B6H
 
CfgBool cfg_WriteCurve
 
PollenNectarDevelopmentDatag_nectarpollen
 
double g_SpeedyDivides [2001]
 A generally useful array of fast divide calculators by multiplication. More...
 
vector< int > * m_polymapping
 m_polymapping is a mapping from polygon numbers into the list of landscape elements, m_elems. When using this it is important that it is the poly num and not the map index that is used in calling. More...
 
Landscapeg_landscape_p
 

Function Documentation

◆ g_generator()

base_generator_type g_generator ( static_cast< unsigned int >  std::time(0))

◆ g_rand_uni()

boost::variate_generator<base_generator_type&, boost::uniform_real<> > g_rand_uni ( g_generator  ,
g_uni_dist   
)

◆ g_rand_uni2()

boost::variate_generator<base_generator_type&, boost::uniform_int<> > g_rand_uni2 ( g_generator  ,
g_uni_dist2   
)

◆ g_rand_uni3()

boost::variate_generator<base_generator_type&, boost::uniform_int<> > g_rand_uni3 ( g_generator  ,
g_uni_dist3   
)

◆ g_uni_dist()

boost::uniform_real g_uni_dist ( ,
 
)

◆ g_uni_dist2()

boost::uniform_int g_uni_dist2 ( ,
9999   
)

◆ g_uni_dist3()

boost::uniform_int g_uni_dist3 ( ,
999   
)

Variable Documentation

◆ cfg_AddBeetleBanks

CfgBool cfg_AddBeetleBanks("BBANKS_ADD", CFG_CUSTOM, false)
static

Referenced by Landscape::Landscape().

◆ cfg_B6A

CfgFloat cfg_B6A

Referenced by Landscape::Landscape().

◆ cfg_B6B

CfgFloat cfg_B6B

Referenced by Landscape::Landscape().

◆ cfg_B6C

CfgFloat cfg_B6C

Referenced by Landscape::Landscape().

◆ cfg_B6D

CfgFloat cfg_B6D

Referenced by Landscape::Landscape().

◆ cfg_B6E

CfgBool cfg_B6E

Referenced by Landscape::Landscape().

◆ cfg_B6F

CfgFloat cfg_B6F

Referenced by Landscape::Landscape().

◆ cfg_B6G

CfgFloat cfg_B6G

Referenced by Landscape::Landscape().

◆ cfg_B6H

CfgStr cfg_B6H

Referenced by Landscape::Landscape().

◆ cfg_BeetleBankChance

CfgInt cfg_BeetleBankChance("BBANK_CHANCE", CFG_CUSTOM, 100)
static

◆ cfg_BeetleBankInvert

CfgBool cfg_BeetleBankInvert("BBANK_INVERT", CFG_CUSTOM, false)

◆ cfg_BeetleBankMaxArea

CfgFloat cfg_BeetleBankMaxArea("BBANK_MAXAREA", CFG_CUSTOM, 0.05)
static

◆ cfg_BeetleBankMaxX

CfgInt cfg_BeetleBankMaxX("BBANK_MAXX", CFG_CUSTOM, 100000)

◆ cfg_BeetleBankMaxY

CfgInt cfg_BeetleBankMaxY("BBANK_MAXY", CFG_CUSTOM, 100000)

◆ cfg_BeetleBankMinX

CfgInt cfg_BeetleBankMinX("BBANK_MINX", CFG_CUSTOM, 0)

◆ cfg_BeetleBankMinY

CfgInt cfg_BeetleBankMinY("BBANK_MINY", CFG_CUSTOM, 0)

◆ cfg_BeetleBankType

CfgInt cfg_BeetleBankType("BBANK_TYPE", CFG_CUSTOM,(int) tole_BeetleBank)
static

Referenced by Landscape::Landscape().

◆ cfg_BeetleBankWidth

CfgInt cfg_BeetleBankWidth("BBANK_WIDTH", CFG_CUSTOM, 4)
static

◆ cfg_CalculateCentroids

CfgBool cfg_CalculateCentroids("MAP_CALCULATE_CENTROIDS", CFG_CUSTOM, false)
static

◆ cfg_DumpFarmAreas

CfgBool cfg_DumpFarmAreas

If set to true, an output file with farm areas is produced.

Referenced by Landscape::Landscape().

◆ cfg_dumpvegjan

CfgBool cfg_dumpvegjan("G_VEGAREASJAN_ON", CFG_CUSTOM, false)

◆ cfg_dumpvegjanfile

CfgStr cfg_dumpvegjanfile("G_VEGAREASJAN_FILENAME", CFG_CUSTOM, "DUMPVEG_JAN.TXT")

◆ cfg_dumpvegjune

CfgBool cfg_dumpvegjune("G_VEGAREASJUNE_ON", CFG_CUSTOM, false)

◆ cfg_dumpvegjunefile

CfgStr cfg_dumpvegjunefile("G_VEGAREASJUNE_FILENAME", CFG_CUSTOM, "DUMPVEG_JUNE.TXT")

◆ cfg_fungi_app_prop1

CfgFloat cfg_fungi_app_prop1("CROPS_FUNGICIDE_APPLIC_ONE_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_fungi_app_prop2

CfgFloat cfg_fungi_app_prop2("CROPS_FUNGICIDE_APPLIC_TWO_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_fungi_app_prop3

CfgFloat cfg_fungi_app_prop3("CROPS_FUNGICIDE_APPLIC_THREE_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_G6A

CfgFloat cfg_G6A

Referenced by Landscape::Landscape().

◆ cfg_G6B

CfgFloat cfg_G6B

Referenced by Landscape::Landscape().

◆ cfg_G6C

CfgFloat cfg_G6C

Referenced by Landscape::Landscape().

◆ cfg_G6D

CfgFloat cfg_G6D

Referenced by Landscape::Landscape().

◆ cfg_G6E

CfgBool cfg_G6E

Referenced by Landscape::Landscape().

◆ cfg_G6F

CfgFloat cfg_G6F

Referenced by Landscape::Landscape().

◆ cfg_G6G

CfgFloat cfg_G6G

Referenced by Landscape::Landscape().

◆ cfg_G6H

CfgStr cfg_G6H

Referenced by Landscape::Landscape().

◆ cfg_greg_app_prop

CfgFloat cfg_greg_app_prop("CROPS_GROWTHREGULATOR_APPLIC_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_HedgeSubtypeMaximum

CfgInt cfg_HedgeSubtypeMaximum("HEDGE_SUBTYPEMAXIMUM", CFG_CUSTOM, 3)

Referenced by Landscape::Landscape().

◆ cfg_HedgeSubtypeMinimum

CfgInt cfg_HedgeSubtypeMinimum("HEDGE_SUBTYPEMINIMUM", CFG_CUSTOM, 0)

Referenced by Landscape::Landscape().

◆ cfg_herbi_app_prop

CfgFloat cfg_herbi_app_prop("CROPS_HERBICIDE_APPLIC_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_ins_app_prop1

CfgFloat cfg_ins_app_prop1("CROPS_INSECTICIDE_APPLIC_ONE_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_ins_app_prop2

CfgFloat cfg_ins_app_prop2("CROPS_INSECTICIDE_APPLIC_TWO_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_ins_app_prop3

CfgFloat cfg_ins_app_prop3("CROPS_INSECTICIDE_APPLIC_THREE_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_l_treatment_size

CfgInt cfg_l_treatment_size("LAND_TREATMENTSIZE", CFG_CUSTOM, -1)

◆ cfg_l_treatment_x

CfgInt cfg_l_treatment_x("LAND_TREATMENTX", CFG_CUSTOM, 0)

◆ cfg_l_treatment_y

CfgInt cfg_l_treatment_y("LAND_TREATMENTY", CFG_CUSTOM, 0)

◆ cfg_l_usecustompoly

CfgBool cfg_l_usecustompoly("LAND_USECUSTOMPOLY", CFG_CUSTOM, false)

◆ cfg_MaizeEnergy

CfgBool cfg_MaizeEnergy

If set to true, the energy maize crop is included in the simulation.

Referenced by OptimisingFarm::ActualProfit(), FarmManager::FarmManager(), and Landscape::Tick().

◆ cfg_map_usesoiltypes

CfgBool cfg_map_usesoiltypes("MAP_USESOILTYPES", CFG_CUSTOM, false)
static

◆ cfg_MaxPondSize

CfgInt cfg_MaxPondSize("MAP_MAXPONDSIZE", CFG_CUSTOM, 5000)
static

If freshwater area is below this it is designated a pond.

Referenced by Landscape::Landscape().

◆ cfg_mintownbuildingdistance

CfgInt cfg_mintownbuildingdistance("MAP_MINTOWNBUILDINGDISTANCE", CFG_CUSTOM, 100)
static

◆ cfg_mintownbuildingnumber

CfgInt cfg_mintownbuildingnumber("MAP_MINTOWNBUILDINGNUMBER", CFG_CUSTOM, 6)
static

◆ cfg_OptimiseBedriftsmodelCrops

CfgBool cfg_OptimiseBedriftsmodelCrops

If set to true, the original farm optimisation model's crop set is used in the farmer decision making model In this mode the optimisation is carried out only once; it is used for the comparioson of the optimisaiton results with the original model.

Referenced by OptimisingFarm::checkRestrictions(), OptimisingPigFarm::checkRestrictions(), OptimisingCattleFarm::checkRestrictions(), AnimalFarm::checkWinterCrops(), NonAnimalFarm::checkWinterCrops(), AnimalFarm::checkWinterRotation1(), NonAnimalFarm::checkWinterRotation1(), Crop::ChooseNextCrop(), AnimalFarm::correctFodderDemand(), AnimalFarm::createFodderCrops(), OptimisingFarm::createVariableCrops(), FarmManager::CropDistribution(), DataForOptimisation::DataForOptimisation(), AnimalFarm::decreaseCrops(), OptimisingFarm::determineAreas(), AnimalFarm::determineFodderAreas(), AnimalFarm::determineMinFodder(), FarmManager::FarmManager(), OptimisingFarm::findBIs(), OptimisingFarm::findFertilizer(), OptimisingFarm::findGrossMargin(), OptimisingFarm::findMWeedControl(), OptimisingFarm::findResponse(), OptimisingFarm::findYieldLoss(), OptimisingFarm::fixBI(), OptimisingFarm::HandleEvents(), AnimalFarm::increaseCrops(), OptimisingFarm::Init(), OptimisingFarm::Initialize(), Landscape::Landscape(), OptimisingFarm::Make_rotations(), FarmManager::OptimisationOutput(), OptimisingFarm::optimizeCrops(), FarmManager::PrintOutput(), OptimisingCattleFarm::setCattleCropsAtMin(), OptimisingFarm::Spraying_fungins(), OptimisingFarm::Spraying_herbicides(), and Landscape::Tick().

◆ cfg_OptimisingFarms

◆ cfg_OsmiaNestByLE_Datafile

CfgStr cfg_OsmiaNestByLE_Datafile("OSMIA_NESTBYLEDATAFILE", CFG_CUSTOM, "OsmiaNestsByHabitat.txt")
static

◆ cfg_P1A

CfgFloat cfg_P1A

Referenced by Landscape::Landscape().

◆ cfg_P1B

CfgFloat cfg_P1B

Referenced by Landscape::Landscape().

◆ cfg_P1C

CfgFloat cfg_P1C

Referenced by Landscape::Landscape().

◆ cfg_P1D

CfgFloat cfg_P1D

Referenced by Landscape::Landscape().

◆ cfg_P1E

CfgBool cfg_P1E

Referenced by Landscape::Landscape().

◆ cfg_P1F

CfgFloat cfg_P1F

Referenced by Landscape::Landscape().

◆ cfg_P1G

CfgFloat cfg_P1G

Referenced by Landscape::Landscape().

◆ cfg_P1H

CfgStr cfg_P1H

Referenced by Landscape::Landscape().

◆ cfg_pesticidemapcellsize

CfgInt cfg_pesticidemapcellsize("PEST_MAP_CELLSIZE", CFG_CUSTOM, 10)

The output cell size for pesticides - a performance penalty if this does not match the pesticide cell size set by PEST_GRIDSIZE in pesticide.h.

Referenced by Landscape::Landscape().

◆ cfg_pesticidemapdayinyear

CfgInt cfg_pesticidemapdayinyear("PEST_MAP_DAYINYEAR", CFG_CUSTOM, 364)

The interval between maps.

◆ cfg_pesticidemapnoyears

CfgInt cfg_pesticidemapnoyears("PEST_MAP_NOYEARS", CFG_CUSTOM, 1)

The numer of years of pesticide mapping.

Referenced by Landscape::Landscape(), and Landscape::Tick().

◆ cfg_pesticidemapon

CfgBool cfg_pesticidemapon("PEST_MAP_ON", CFG_CUSTOM, false)

Flag determining whether we are using the pesticide map.

Referenced by Landscape::CheckForPesticideRecord(), Landscape::Landscape(), and Landscape::Tick().

◆ cfg_pesticidemapstartyear

CfgInt cfg_pesticidemapstartyear("PEST_MAP_STARTYEAR", CFG_CUSTOM, 0)

The first simulation year the pesticide is mapped.

Referenced by Landscape::Landscape(), and Landscape::Tick().

◆ cfg_pesticidemaptype

CfgBool cfg_pesticidemaptype("PEST_MAP_TYPE", CFG_CUSTOM, false)

True for specific pesticide, false for general pesticides.

Referenced by Landscape::CheckForPesticideRecord(), Landscape::Landscape(), and Landscape::Tick().

◆ cfg_pesticidetesttype

CfgInt cfg_pesticidetesttype("PESTICIDETESTYPE", CFG_CUSTOM, -1)

Referenced by Landscape::Landscape().

◆ cfg_productapplicendyear

CfgInt cfg_productapplicendyear("PEST_PROCTAPPLICENDYEAR", CFG_CUSTOM,-1)

◆ cfg_productapplicstartyear

CfgInt cfg_productapplicstartyear("PEST_PROCTAPPLICSTARTYEAR", CFG_CUSTOM, 9999999)

◆ cfg_rectangularmaps_on

CfgBool cfg_rectangularmaps_on

Referenced by RasterMap::Init1().

◆ cfg_rodenticide_enable

CfgBool cfg_rodenticide_enable("RODENTICIDE_ENABLE", CFG_CUSTOM, false)

◆ cfg_rodenticide_reporting_enable

CfgBool cfg_rodenticide_reporting_enable("RODENTICIDE_REPORTING_ENABLE", CFG_CUSTOM, false)

◆ cfg_silage_prop

CfgFloat cfg_silage_prop("CROPS_SILAGE_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_strigling_prop

CfgFloat cfg_strigling_prop("CROPS_STRIGLING_PROPORTION", CFG_CUSTOM, 1.0)

◆ cfg_WriteCurve

CfgBool cfg_WriteCurve

Referenced by Landscape::Landscape().

◆ g_FarmIntensivenessH

double g_FarmIntensivenessH

◆ g_landscape_p

Landscape* g_landscape_p

Definition at line 258 of file Landscape.cpp.

Referenced by Farm::AutumnHarrow(), Farm::AutumnPlough(), Farm::AutumnRoll(), Farm::AutumnSow(), Farm::BedForming(), Farm::Biocide(), Farm::BulbHarvest(), Farm::BurnStrawStubble(), VegElement::CalcGooseForageResources(), Pond::CalcPondPesticide(), Farm::CattleIsOut(), Farm::CattleIsOutLow(), Farm::CattleOut(), Farm::CattleOutLowGrazing(), Farm::CutOrch(), Farm::CutToHay(), Farm::CutToSilage(), Farm::CutWeeds(), Farm::DeepPlough(), VegElement::DoDevelopment(), Field::DoDevelopment(), Orchard::DoDevelopment(), OrchardBand::DoDevelopment(), Farm::FA_AmmoniumSulphate(), Farm::FA_Calcium(), Farm::FA_GreenManure(), Farm::FA_ManganeseSulphate(), Farm::FA_Manure(), Farm::FA_NPK(), Farm::FA_NPKS(), Farm::FA_PK(), Farm::FA_RSM(), Farm::FA_Sludge(), Farm::FA_Slurry(), FarmManager::FarmManagement(), Farm::FlowerCutting(), Farm::FP_AmmoniumSulphate(), Farm::FP_Calcium(), Farm::FP_GreenManure(), Farm::FP_LiquidNH3(), Farm::FP_ManganeseSulphate(), Farm::FP_Manure(), Farm::FP_NPK(), Farm::FP_NPKS(), Farm::FP_PK(), Farm::FP_RSM(), Farm::FP_Sludge(), Farm::FP_Slurry(), Farm::FungicideTreat(), OptimisingFarm::FungicideTreat(), Farm::Harvest(), OptimisingFarm::Harvest(), Farm::HarvestLong(), Farm::HayBailing(), Farm::HayTurning(), Farm::HeavyCultivatorAggregate(), Farm::HerbicideTreat(), OptimisingFarm::HerbicideTreat(), Farm::HillingUp(), Farm::InsecticideTreat(), OptimisingFarm::InsecticideTreat(), Landscape::Landscape(), Pesticide::MainMapDecay(), Farm::Molluscicide(), Farm::PigsAreOut(), Farm::PigsAreOutForced(), Farm::PigsOut(), Farm::PreseedingCultivator(), Farm::PreseedingCultivatorSow(), Farm::ProductApplication(), Farm::ProductApplication_DateLimited(), VegElement::RecalculateBugsNStuff(), Farm::RowCultivation(), LE::SetLastTreatment(), VegElement::SetVegType(), Farm::ShallowHarrow(), Farm::SleepAllDay(), Farm::SpringHarrow(), Farm::SpringPlough(), Farm::SpringRoll(), Farm::SpringSow(), Farm::SpringSowWithFerti(), Farm::StrawChopping(), Farm::StrawCovering(), Farm::StrawRemoval(), Farm::Strigling(), Farm::StriglingHill(), Farm::StriglingSow(), Farm::StubbleCultivatorHeavy(), Farm::StubbleHarrowing(), Farm::StubblePlough(), Farm::Swathing(), Landscape::UnsprayedMarginScan(), Farm::Water(), and Farm::WinterPlough().

◆ g_nectarpollen

◆ g_SpeedyDivides

double g_SpeedyDivides[2001]

A generally useful array of fast divide calculators by multiplication.

Definition at line 250 of file Landscape.cpp.

Referenced by Landscape::Landscape().

◆ g_VegHeightForageReduction

double g_VegHeightForageReduction

◆ l_map_art_hedgebanks

CfgBool l_map_art_hedgebanks("MAP_ART_HEDGEBANKS", CFG_CUSTOM, false)
static

Referenced by Landscape::Landscape().

◆ l_map_ascii_map_entity

CfgInt l_map_ascii_map_entity("MAP_ASCII_MAP_ENTITY", CFG_CUSTOM, 1)
static

If we write an ASCII file what should be the mapped entity? 1 = polyref, 2 = elementype.

Referenced by Landscape::GISASCII_Output().

◆ l_map_ascii_utm_x

CfgInt l_map_ascii_utm_x("MAP_ASCII_UTM_X", CFG_CUSTOM, 0)
static

If we write an ASCII file provide UTM-x of lower lefthand corner.

Referenced by Landscape::Landscape().

◆ l_map_ascii_utm_y

CfgInt l_map_ascii_utm_y("MAP_ASCII_UTM_Y", CFG_CUSTOM, 0)
static

If we write an ASCII file provide UTM-y of lower lefthand corner.

Referenced by Landscape::Landscape().

◆ l_map_calc_openness

CfgBool l_map_calc_openness("MAP_CALC_OPENNESS", CFG_CUSTOM, false)
static

Referenced by Landscape::Landscape().

◆ l_map_chameleon_replace_num

CfgInt l_map_chameleon_replace_num("MAP_CHAMELEON_REPLACE_NUM", CFG_CUSTOM, 58)
static

Referenced by Landscape::ReadPolys2().

◆ l_map_check_polygon_xref

CfgBool l_map_check_polygon_xref("MAP_CHECK_POLYGON_XREF", CFG_CUSTOM, true)
static

◆ l_map_CIPEmaker_enable

CfgBool l_map_CIPEmaker_enable("MAP_CIPEMAKER_ENABLE", CFG_CUSTOM, false)
static

◆ l_map_consolidatepolys

CfgBool l_map_consolidatepolys("MAP_CONSOLIDATEPOLYS", CFG_CUSTOM, false)
static

Used to consolidate polygons with no special behaviour into a single polygon of that type.

Referenced by Landscape::Landscape().

◆ l_map_cropcurves_file

CfgStr l_map_cropcurves_file("MAP_CROPCURVES_FILE", CFG_CUSTOM, "curves.pre")
static

Referenced by Landscape::Landscape().

◆ l_map_dump_enable

CfgBool l_map_dump_enable("MAP_DUMP_ENABLE", CFG_CUSTOM, false)
static

Referenced by Landscape::Landscape().

◆ l_map_dump_event_enable

CfgBool l_map_dump_event_enable("MAP_DUMP_EVENT_ENABLE", CFG_CUSTOM, false)
static

◆ l_map_dump_event_x1

CfgInt l_map_dump_event_x1("MAP_DUMP_EVENT_XA", CFG_CUSTOM, 4287)
static

Referenced by Landscape::Tick().

◆ l_map_dump_event_x2

CfgInt l_map_dump_event_x2("MAP_DUMP_EVENT_XB", CFG_CUSTOM, 4333)
static

Referenced by Landscape::Tick().

◆ l_map_dump_event_y1

CfgInt l_map_dump_event_y1("MAP_DUMP_EVENT_YA", CFG_CUSTOM, 2909)
static

Referenced by Landscape::Tick().

◆ l_map_dump_event_y2

CfgInt l_map_dump_event_y2("MAP_DUMP_EVENT_YB", CFG_CUSTOM, 2889)
static

Referenced by Landscape::Tick().

◆ l_map_dump_exit

CfgBool l_map_dump_exit("MAP_DUMP_EXIT", CFG_CUSTOM, false)
static

◆ l_map_dump_gfx_enable

CfgBool l_map_dump_gfx_enable("MAP_DUMP_GFX_ENABLE", CFG_CUSTOM, false)
static

Referenced by Landscape::Landscape().

◆ l_map_dump_gfx_file

CfgStr l_map_dump_gfx_file("MAP_DUMP_GFX_FILE", CFG_CUSTOM, "dump.ppm")
static

Referenced by Landscape::Landscape().

◆ l_map_dump_map_file

CfgStr l_map_dump_map_file("MAP_DUMP_MAP_FILE", CFG_CUSTOM, "dump.lsb")

Referenced by Landscape::Landscape().

◆ l_map_dump_margin_file

CfgStr l_map_dump_margin_file("MAP_DUMP_MARGIN_FILE", CFG_CUSTOM, "dumpunsprayedmargins.txt")
static

◆ l_map_dump_poly_file

CfgStr l_map_dump_poly_file("MAP_DUMP_POLY_FILE", CFG_CUSTOM, "dump_polyrefs.txt")

Referenced by Landscape::Landscape().

◆ l_map_dump_treatcounts_enable

CfgBool l_map_dump_treatcounts_enable("MAP_DUMP_TREATCOUNTS_ENABLE", CFG_CUSTOM, false)
static

Referenced by Landscape::~Landscape().

◆ l_map_dump_treatcounts_file

CfgStr l_map_dump_treatcounts_file("MAP_DUMP_TREATCOUNTS_FILE", CFG_CUSTOM, "treatment_counts.txt")
static

Referenced by Landscape::~Landscape().

◆ l_map_dump_veg_enable

CfgBool l_map_dump_veg_enable("MAP_DUMP_VEG_ENABLE", CFG_CUSTOM, true)
static

◆ l_map_dump_veg_x

CfgInt l_map_dump_veg_x("MAP_DUMP_VEG_X", CFG_CUSTOM, 100)
static

Referenced by Landscape::Tick().

◆ l_map_dump_veg_y

CfgInt l_map_dump_veg_y("MAP_DUMP_VEG_Y", CFG_CUSTOM, 100)
static

Referenced by Landscape::Tick().

◆ l_map_exit_on_zero_area

CfgBool l_map_exit_on_zero_area("MAP_EXIT_ON_ZERO_AREA", CFG_CUSTOM, true)
static

Referenced by Landscape::BorderScan().

◆ l_map_map_file

CfgStr l_map_map_file("MAP_MAP_FILE", CFG_CUSTOM, "map.lsb")
static

Referenced by Landscape::Landscape().

◆ l_map_no_pesticide_fields

CfgInt l_map_no_pesticide_fields("MAP_NO_PESTICIDE_FIELDS", CFG_CUSTOM, 0)
static

Referenced by Landscape::Landscape().

◆ l_map_poly_file

CfgStr l_map_poly_file("MAP_POLY_FILE", CFG_CUSTOM, "polygonrefs.txt")
static

Referenced by Landscape::Landscape().

◆ l_map_print_git_version_info

CfgBool l_map_print_git_version_info("MAP_PRINT_GIT_VERSION_INFO", CFG_CUSTOM, false)

Should git version info be printed to file and console?

Referenced by Landscape::Landscape().

◆ l_map_print_version_info

CfgBool l_map_print_version_info("MAP_PRINT_VERSION_INFO", CFG_CUSTOM, true)
static

Referenced by Landscape::Landscape().

◆ l_map_removesmallpolygons

CfgBool l_map_removesmallpolygons("MAP_REMOVESMALLPOLYGONS", CFG_CUSTOM, false)
static

Referenced by Landscape::Landscape().

◆ l_map_umargin_width

CfgInt l_map_umargin_width("MAP_UMARGINWIDTH", CFG_CUSTOM, 12)
static

◆ l_map_weather_file

CfgStr l_map_weather_file("MAP_WEATHER_FILE", CFG_CUSTOM, "weather.pre")
static

Referenced by Landscape::Landscape().

◆ l_map_write_ascii

CfgBool l_map_write_ascii("MAP_WRITE_ASCII", CFG_CUSTOM, false)
static

Used if an ASCII file for use in GIS applications should be written.

Referenced by Landscape::Landscape().

◆ l_pest_enable_pesticide_engine

CfgBool l_pest_enable_pesticide_engine

◆ m_polymapping

◆ version_date

const char* version_date = "2014-02-03"
static

Definition at line 52 of file Landscape.cpp.

Referenced by Landscape::Landscape().

◆ version_major

const int version_major = 1
static

Definition at line 49 of file Landscape.cpp.

Referenced by Landscape::Landscape().

◆ version_minor

const int version_minor = 0
static

Definition at line 50 of file Landscape.cpp.

Referenced by Landscape::Landscape().

◆ version_revision

const int version_revision = 0
static

Definition at line 51 of file Landscape.cpp.

Referenced by Landscape::Landscape().