Goose Management Model ODdox  1.02
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::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)
 
boost::uniform_real g_uni_dist (0, 1)
 
boost::uniform_int g_uni_dist2 (0, 9999)
 
boost::uniform_int g_uni_dist3 (0, 999)
 

Variables

static CfgBool cfg_AddBeetleBanks ("BBANKS_ADD", CFG_CUSTOM, false)
 
CfgFloat cfg_B6A
 Coefficient A in a second order polynomial function. More...
 
CfgFloat cfg_B6B
 Coefficient B in a second order polynomial function. More...
 
CfgFloat cfg_B6C
 The constant C in a second order polynomial function. More...
 
CfgFloat cfg_B6D
 Scaler for assimilation of energy from grass for pinkfeet. Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica. More...
 
CfgBool cfg_B6E
 Logical config to control if the curve should be reversed (i.e. 1 - value) More...
 
CfgFloat cfg_B6F
 Max x-value - at this point the curve tends to 0, must stop here to avoid negative values. More...
 
CfgFloat cfg_B6G
 Min x-value. More...
 
CfgStr cfg_B6H
 File name for grass functional response for barnacles. More...
 
static CfgInt cfg_BeetleBankChance ("BBANK_CHANCE", CFG_CUSTOM, 100)
 
CfgBool cfg_BeetleBankInvert ("BBANK_INVERT", CFG_CUSTOM, false)
 
static CfgFloat cfg_BeetleBankMaxArea ("BBANK_MAXAREA", CFG_CUSTOM, 0.05)
 
CfgInt cfg_BeetleBankMaxX ("BBANK_MAXX", CFG_CUSTOM, 100000)
 
CfgInt cfg_BeetleBankMaxY ("BBANK_MAXY", CFG_CUSTOM, 100000)
 
CfgInt cfg_BeetleBankMinX ("BBANK_MINX", CFG_CUSTOM, 0)
 
CfgInt cfg_BeetleBankMinY ("BBANK_MINY", CFG_CUSTOM, 0)
 
static CfgInt cfg_BeetleBankType ("BBANK_TYPE", CFG_CUSTOM,(int) tole_BeetleBank)
 
static CfgInt cfg_BeetleBankWidth ("BBANK_WIDTH", CFG_CUSTOM, 4)
 
static CfgBool cfg_CalculateCentroids ("MAP_CALCULATE_CENTROIDS", CFG_CUSTOM, false)
 
CfgBool cfg_DumpFarmAreas
 If set to true, an output file with farm areas is produced. More...
 
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_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_G6A
 Coefficient A in a second order polynomial function. More...
 
CfgFloat cfg_G6B
 Coefficient B in a second order polynomial function. More...
 
CfgFloat cfg_G6C
 The constant C in a second order polynomial function. More...
 
CfgFloat cfg_G6D
 Scaler for assimilation of energy from grass for pinkfeet. Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica. More...
 
CfgBool cfg_G6E
 Logical config to control if the curve should be reversed (i.e. 1 - value) More...
 
CfgFloat cfg_G6F
 Max x-value - at this point the curve tends to 0, must stop here to avoid negative values. More...
 
CfgFloat cfg_G6G
 Min x-value. More...
 
CfgStr cfg_G6H
 File name for grass functional response for greylags. More...
 
CfgFloat cfg_greg_app_prop ("CROPS_GROWTHREGULATOR_APPLIC_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgInt cfg_HedgeSubtypeMaximum ("HEDGE_SUBTYPEMAXIMUM", CFG_CUSTOM, 3)
 
CfgInt cfg_HedgeSubtypeMinimum ("HEDGE_SUBTYPEMINIMUM", CFG_CUSTOM, 0)
 
CfgFloat cfg_herbi_app_prop ("CROPS_HERBICIDE_APPLIC_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)
 
CfgInt cfg_l_treatment_size ("LAND_TREATMENTSIZE", CFG_CUSTOM, -1)
 
CfgInt cfg_l_treatment_x ("LAND_TREATMENTX", CFG_CUSTOM, 0)
 
CfgInt cfg_l_treatment_y ("LAND_TREATMENTY", CFG_CUSTOM, 0)
 
CfgBool cfg_l_usecustompoly ("LAND_USECUSTOMPOLY", CFG_CUSTOM, false)
 
CfgBool cfg_MaizeEnergy
 If set to true, the energy maize crop is included in the simulation. More...
 
static CfgBool cfg_map_usesoiltypes ("MAP_USESOILTYPES", CFG_CUSTOM, false)
 
static CfgInt cfg_MaxPondSize ("MAP_MAXPONDSIZE", CFG_CUSTOM, 5000)
 If freshwater area is below this it is designated a pond. More...
 
static CfgInt cfg_mintownbuildingdistance ("MAP_MINTOWNBUILDINGDISTANCE", CFG_CUSTOM, 100)
 
static CfgInt cfg_mintownbuildingnumber ("MAP_MINTOWNBUILDINGNUMBER", CFG_CUSTOM, 6)
 
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...
 
static CfgStr cfg_OsmiaNestByLE_Datafile ("OSMIA_NESTBYLEDATAFILE", CFG_CUSTOM, "OsmiaNestsByHabitat.txt")
 
CfgFloat cfg_P1A
 Coefficient A in a second order polynomial function. More...
 
CfgFloat cfg_P1B
 Coefficient B in a second order polynomial function. More...
 
CfgFloat cfg_P1C
 The constant C in a second order polynomial function. More...
 
CfgFloat cfg_P1D
 Scaler for assimilation of energy from grass for pinkfeet. Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica. More...
 
CfgBool cfg_P1E
 Logical config to control if the curve should be reversed (i.e. 1 - value) More...
 
CfgFloat cfg_P1F
 Max x-value - at this point the curve tends to 0, must stop here to avoid negative values. More...
 
CfgFloat cfg_P1G
 Min x-value. More...
 
CfgStr cfg_P1H
 File name for grass functional response for pinkfeet. 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...
 
CfgInt cfg_pesticidemapdayinyear ("PEST_MAP_DAYINYEAR", CFG_CUSTOM, 364)
 The interval between maps. More...
 
CfgInt cfg_pesticidemapnoyears ("PEST_MAP_NOYEARS", CFG_CUSTOM, 1)
 The numer of years of pesticide mapping. More...
 
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...
 
CfgBool cfg_pesticidemaptype ("PEST_MAP_TYPE", CFG_CUSTOM, false)
 True for specific pesticide, false for general pesticides. More...
 
CfgInt cfg_pesticidetesttype ("PESTICIDETESTYPE", CFG_CUSTOM, -1)
 
CfgInt cfg_productapplicendyear ("PEST_PROCTAPPLICENDYEAR", CFG_CUSTOM,-1)
 
CfgInt cfg_productapplicstartyear ("PEST_PROCTAPPLICSTARTYEAR", CFG_CUSTOM, 9999999)
 
CfgBool cfg_rectangularmaps_on
 
CfgBool cfg_rodenticide_enable ("RODENTICIDE_ENABLE", CFG_CUSTOM, false)
 
CfgBool cfg_rodenticide_reporting_enable ("RODENTICIDE_REPORTING_ENABLE", CFG_CUSTOM, false)
 
CfgFloat cfg_silage_prop ("CROPS_SILAGE_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgFloat cfg_strigling_prop ("CROPS_STRIGLING_PROPORTION", CFG_CUSTOM, 1.0)
 
CfgBool cfg_WriteCurve
 Controlling whether the functional response curves used are written to disk. More...
 
double g_FarmIntensivenessH
 
Landscapeg_landscape_p
 
PollenNectarDevelopmentDatag_nectarpollen
 
double g_SpeedyDivides [2001]
 A generally useful array of fast divide calculators by multiplication. More...
 
double g_VegHeightForageReduction
 
static CfgBool l_map_art_hedgebanks ("MAP_ART_HEDGEBANKS", CFG_CUSTOM, false)
 
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 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 CfgBool l_map_calc_openness ("MAP_CALC_OPENNESS", CFG_CUSTOM, false)
 
static CfgInt l_map_chameleon_replace_num ("MAP_CHAMELEON_REPLACE_NUM", CFG_CUSTOM, 58)
 
static CfgBool l_map_check_polygon_xref ("MAP_CHECK_POLYGON_XREF", CFG_CUSTOM, true)
 
static CfgBool l_map_CIPEmaker_enable ("MAP_CIPEMAKER_ENABLE", CFG_CUSTOM, false)
 
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 CfgStr l_map_cropcurves_file ("MAP_CROPCURVES_FILE", CFG_CUSTOM, "curves.pre")
 
static CfgBool l_map_dump_enable ("MAP_DUMP_ENABLE", CFG_CUSTOM, false)
 
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_x2 ("MAP_DUMP_EVENT_XB", CFG_CUSTOM, 4333)
 
static CfgInt l_map_dump_event_y1 ("MAP_DUMP_EVENT_YA", CFG_CUSTOM, 2909)
 
static CfgInt l_map_dump_event_y2 ("MAP_DUMP_EVENT_YB", CFG_CUSTOM, 2889)
 
static CfgBool l_map_dump_exit ("MAP_DUMP_EXIT", CFG_CUSTOM, false)
 
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")
 
CfgStr l_map_dump_map_file ("MAP_DUMP_MAP_FILE", CFG_CUSTOM, "dump.lsb")
 
static CfgStr l_map_dump_margin_file ("MAP_DUMP_MARGIN_FILE", CFG_CUSTOM, "dumpunsprayedmargins.txt")
 
CfgStr l_map_dump_poly_file ("MAP_DUMP_POLY_FILE", CFG_CUSTOM, "dump_polyrefs.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_exit_on_zero_area ("MAP_EXIT_ON_ZERO_AREA", CFG_CUSTOM, true)
 
static CfgStr l_map_map_file ("MAP_MAP_FILE", CFG_CUSTOM, "map.lsb")
 
static CfgInt l_map_no_pesticide_fields ("MAP_NO_PESTICIDE_FIELDS", CFG_CUSTOM, 0)
 
static CfgStr l_map_poly_file ("MAP_POLY_FILE", CFG_CUSTOM, "polygonrefs.txt")
 
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_print_version_info ("MAP_PRINT_VERSION_INFO", CFG_CUSTOM, true)
 
static CfgBool l_map_removesmallpolygons ("MAP_REMOVESMALLPOLYGONS", CFG_CUSTOM, false)
 
static CfgInt l_map_umargin_width ("MAP_UMARGINWIDTH", CFG_CUSTOM, 12)
 
static CfgStr l_map_weather_file ("MAP_WEATHER_FILE", CFG_CUSTOM, "weather.pre")
 
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...
 
CfgBool l_pest_enable_pesticide_engine
 Used to turn on or off the PPP functionality of ALMaSS. 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...
 
static const char * version_date = "2014-02-03"
 
static const int version_major = 1
 
static const int version_minor = 0
 
static const int version_revision = 0
 

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

Coefficient A in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_B6B

CfgFloat cfg_B6B

Coefficient B in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_B6C

CfgFloat cfg_B6C

The constant C in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_B6D

CfgFloat cfg_B6D

Scaler for assimilation of energy from grass for pinkfeet. Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica.

Referenced by Landscape::Landscape().

◆ cfg_B6E

CfgBool cfg_B6E

Logical config to control if the curve should be reversed (i.e. 1 - value)

Referenced by Landscape::Landscape().

◆ cfg_B6F

CfgFloat cfg_B6F

Max x-value - at this point the curve tends to 0, must stop here to avoid negative values.

Referenced by Landscape::Landscape().

◆ cfg_B6G

CfgFloat cfg_B6G

Min x-value.

Referenced by Landscape::Landscape().

◆ cfg_B6H

CfgStr cfg_B6H

File name for grass functional response for barnacles.

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

Coefficient A in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_G6B

CfgFloat cfg_G6B

Coefficient B in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_G6C

CfgFloat cfg_G6C

The constant C in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_G6D

CfgFloat cfg_G6D

Scaler for assimilation of energy from grass for pinkfeet. Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica.

Referenced by Landscape::Landscape().

◆ cfg_G6E

CfgBool cfg_G6E

Logical config to control if the curve should be reversed (i.e. 1 - value)

Referenced by Landscape::Landscape().

◆ cfg_G6F

CfgFloat cfg_G6F

Max x-value - at this point the curve tends to 0, must stop here to avoid negative values.

Referenced by Landscape::Landscape().

◆ cfg_G6G

CfgFloat cfg_G6G

Min x-value.

Referenced by Landscape::Landscape().

◆ cfg_G6H

CfgStr cfg_G6H

File name for grass functional response for greylags.

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

Coefficient A in a second order polynomial function.

The P1 curve replicates a curve fitted by Therkildsen, O.R. & Madsen, J. 2000: Assessment of food intake rates in pinkfooted geese Anser brachyrhynchus based on examination of oesophagus contents. - Wildl. Biol. 6: 167-172.
Assimilation of energy is based on Madsen 1985 Ornis Scand. p 222 - 228: Relations between spring habitat... Conversion from g/dw to kJ is using 19.8 (Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica) The P2 & P3 curves are fitted based on Durant et al 2003 J Anim Ecol 72, 220-231.
Y-values are kJ per minute, x-values are grass height. The formula is a simple 2nd order polynomial which is the then scaled to get to kJ.
The H1 curve is based on Amano et al. 2004 Alleviating grazing damage... Journal of Applied Ecology 41(4): 675-688.
The H2 curve is based on Clausen et al. (2018) Agriculture, Ecosystems & Environment 259: 72-76. The Petti1 curve is based on Pettifor et al (2000). Journal of Applied Ecology 37: 103-135.

Referenced by Landscape::Landscape().

◆ cfg_P1B

CfgFloat cfg_P1B

Coefficient B in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_P1C

CfgFloat cfg_P1C

The constant C in a second order polynomial function.

Referenced by Landscape::Landscape().

◆ cfg_P1D

CfgFloat cfg_P1D

Scaler for assimilation of energy from grass for pinkfeet. Madsen 1985 Vol 16 p. 222 - 228 Ornis Scandinavica.

Referenced by Landscape::Landscape().

◆ cfg_P1E

CfgBool cfg_P1E

Logical config to control if the curve should be reversed (i.e. 1 - value)

Referenced by Landscape::Landscape().

◆ cfg_P1F

CfgFloat cfg_P1F

Max x-value - at this point the curve tends to 0, must stop here to avoid negative values.

Referenced by Landscape::Landscape().

◆ cfg_P1G

CfgFloat cfg_P1G

Min x-value.

Referenced by Landscape::Landscape().

◆ cfg_P1H

CfgStr cfg_P1H

File name for grass functional response for pinkfeet.

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

Controlling whether the functional response curves used are written to disk.

Referenced by Goose_Population_Manager::Goose_Population_Manager(), and 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 Goose_Population_Manager::Init(), Landscape::Landscape(), and Goose_Population_Manager::~Goose_Population_Manager().

◆ 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().