Loading [MathJax]/extensions/ams.js
 |
ALMaSS
1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
|
Go to the documentation of this file.
46 #ifndef ALMASS_RANDOM_H
47 #define ALMASS_RANDOM_H
200 #endif // ALMASS_RANDOM_H
static CfgInt cfg_VoleCatastrophe_interval("VOLE_CATASTROPHE_I", CFG_CUSTOM, 365 *5)
PlantGrowthData * CreatePlantGrowthData()
Definition: Plants.cpp:842
Definition: PopulationManager.h:59
Definition: PopulationManager.h:68
void set(std::string a_newval)
Definition: Configurator.h:183
std::uniform_real_distribution g_uni_std_dist(0, 1)
Definition: PopulationManager.h:81
ofstream * OpenFile(const string &Nme)
Definition: PopulationManager.cpp:1666
void delay(int secs)
Definition: ALMaSS_CmdLine.cpp:179
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
static const int UNIINT_DIST_T
Definition: ALMaSS_Random.h:149
Definition: MapErrorMsg.h:38
void * m_probDistrib1
Definition: ALMaSS_Random.h:156
int g_Steps
Definition: ALMaSS_CmdLine.cpp:159
void g_init_random_seed_fnc()
Init_random_seed() randomizes the random generator based on the configuration (either fixed seed or r...
Definition: ALMaSS_Random.cpp:407
CfgInt cfg_LadybirdAphidPreyIndex
The aphid species name.
bool TickHour(void)
Definition: Calendar.cpp:178
CfgStr cfg_dumpvegjunefile
void SetPopulation(std::shared_ptr< Population_Manager_Base > p_pm, int a_pt)
Definition: PopulationManager.h:949
std::shared_ptr< Hunter_Population_Manager > g_Hunter_Population_Manager
Definition: ALMaSS_CmdLine.cpp:149
std::vector< double > g_beta_binomial_probabilities_fnc(const int a_n, const double a_alpha, const double a_beta, const bool a_noZero)
Local utility function for generating the weights-vector for the beta binomial distribution from inpu...
Definition: ALMaSS_Random.cpp:102
int m_type
Definition: ALMaSS_Random.h:158
int g_rand_uni3_fnc()
Definition: ALMaSS_Random.cpp:68
Definition: PopulationManager.h:73
char * value() const
Definition: Configurator.h:182
Definition: PopulationManager.h:69
A small class to hold the pointers to active population managers.
Definition: PopulationManager.h:946
void CreateDaylength(double latitude, double longitude, int timezone, int year=2021)
Definition: Calendar.cpp:66
void WarnAddInfo(MapErrorState a_level, std::string a_add1, std::string a_add2)
Definition: MapErrorMsg.cpp:160
double SupplyLongitude()
Returns m_longitude of the landscape location.
Definition: Landscape.h:607
int g_rand_uni3_fnc()
Definition: ALMaSS_Random.cpp:68
std::uniform_int_distribution g_uni_dist2(0, 9999)
String configurator entry class.
Definition: Configurator.h:173
Definition: PopulationManager.h:70
class Calendar * g_date
Definition: Calendar.cpp:37
int g_rand_uni2_fnc()
Definition: ALMaSS_Random.cpp:62
double SupplyLatitude()
Returns m_latitude of the landscape location.
Definition: Landscape.h:605
std::uniform_int_distribution< int > UNIINT_DIST
Definition: ALMaSS_Random.cpp:118
CfgInt cfg_LadybirdAphidPreySpecies
The number of aphid species in the simulation.
Definition: PopulationManager.h:78
std::shared_ptr< Configurator > CreateConfigurator()
Definition: Configurator.cpp:1413
int SupplyTimezone()
Definition: Landscape.h:583
std::shared_ptr< TPredator_Population_Manager > g_PredatorManager
Definition: ALMaSS_CmdLine.cpp:151
Calendar * CreateCalendar()
Definition: Calendar.cpp:230
double g_rand_uni_fnc()
Definition: ALMaSS_Random.cpp:56
std::shared_ptr< Configurator > g_cfg
Definition: Configurator.cpp:56
Landscape * CreateLandscape()
Definition: ALMaSS_CmdLine.cpp:791
int SupplyMonth(void)
Passes a request on to the associated Calendar class function, returns m_month + 1 (the calendar mont...
Definition: Landscape.h:2272
static const int GAMMA_DIST_T
Definition: ALMaSS_Random.h:151
void SetFilename(std::string a_warnfile)
Definition: MapErrorMsg.cpp:48
Definition: PopulationManager.h:65
Definition: ALMaSS_Random.h:70
PollenNectarDevelopmentData * CreatePollenNectarDevelopmentData()
Definition: PollenNectar.cpp:294
TTypesOfPopulation g_Species
Definition: PopulationManager.cpp:101
CfgBool cfg_AorOutput_used
MapErrorMsg * CreateErrorMsg()
Definition: MapErrorMsg.cpp:202
LE_TypeClass * CreateLETypeClass()
Definition: Elements.cpp:3434
int g_binomial_coefficient(const int n, const int k)
Definition: ALMaSS_Random.cpp:89
Definition: PopulationManager.h:62
class PollenNectarDevelopmentData * g_nectarpollen
Definition: Plants.cpp:41
CfgStr cfg_IniFileName("INI_FILE", CFG_CUSTOM, "BatchALMaSS.ini")
const double g_randmaxp
Definition: ALMaSS_CmdLine.cpp:103
int g_random_fnc(int a_range)
Definition: ALMaSS_Random.cpp:74
int g_rand_uni2_fnc()
Definition: ALMaSS_Random.cpp:62
int Geti() const
Definition: ALMaSS_Random.cpp:335
char g_ResultsDir[255]
Definition: ALMaSS_CmdLine.cpp:155
void RunTheSim()
Definition: ALMaSS_CmdLine.cpp:728
const std::string BETABINOMIAL_DIST_S
Definition: ALMaSS_Random.h:91
static const int NORMAL_DIST_T
Definition: ALMaSS_Random.h:147
bool value() const
Definition: Configurator.h:164
const std::string EXPONENTIAL_DIST_S
Definition: ALMaSS_Random.h:144
~probability_distribution()
Definition: ALMaSS_Random.cpp:353
static const int BETA_DIST_T
Definition: ALMaSS_Random.h:150
ALMaSS_MathFuncs constructor.
Definition: Misc.h:28
void TurnTheWorld(void)
Definition: Landscape.h:1498
std::uniform_int_distribution g_uni_dist3(0, 999)
Data structure to hold & output probe data probe data is designed to be used to return the number of ...
Definition: PopulationManager.h:421
The class to handle all Aphid population related matters in the whole landscape.
Definition: Aphid_Population_Manager.h:98
void * m_probDistrib2
Definition: ALMaSS_Random.h:157
CfgStr cfg_AphidSpeciesName
This variable decides which aphid species to run. The default one is the English grain aphid.
Definition: PopulationManager.h:67
Definition: PopulationManager.h:75
The landscape class containing all environmental and topographical data.
Definition: Landscape.h:142
const std::string CAUCHY_DIST_S
Definition: ALMaSS_Random.h:136
Definition: PopulationManager.h:64
static const int UNIREAL_DIST_T
Definition: ALMaSS_Random.h:148
void RunHiddenYear()
The function to generate the vector list of pixies for polygons with flower resource.
Definition: Landscape.cpp:2781
int SupplyDayInMonth(void)
Passes a request on to the associated Calendar class function, returns m_day_in_month
Definition: Landscape.h:2277
Definition: PopulationManager.h:84
void SetSpeciesFunctions(TTypesOfPopulation a_species)
This is the jumping off point for any landscape related species setup, it creates function pointers t...
Definition: Landscape.cpp:7821
Definition: Ladybird_All.h:386
void g_init_random_seed_fnc()
Init_random_seed() randomizes the random generator based on the configuration (either fixed seed or r...
Definition: ALMaSS_Random.cpp:407
Definition: PopulationManager.h:63
void SetOutputFiles()
Definition: ALMaSS_CmdLine.cpp:499
CfgStr cfg_AORProbeName("AOR_PROBE_NAME", CFG_CUSTOM, "AOR_Probe.txt")
void CloseDownSim()
Definition: ALMaSS_CmdLine.cpp:695
Bool configurator entry class.
Definition: Configurator.h:155
char g_PredResultsDir[255]
Definition: ALMaSS_CmdLine.cpp:156
Definition: MapErrorMsg.h:36
std::shared_ptr< Disturber_Population_Manager > g_Disturber_Population_Manager
Definition: ALMaSS_CmdLine.cpp:150
const std::string DISCRETE_DIST_S
Definition: ALMaSS_Random.h:81
void * m_probDistrib
Definition: ALMaSS_Random.h:155
CfgBool cfg_OldProbeNames("OLDSTYLEPROBENAMES", CFG_CUSTOM, true)
Weather * CreateWeather()
Definition: Weather.cpp:738
std::shared_ptr< Population_Manager_Base > g_AManager
Definition: ALMaSS_CmdLine.cpp:148
Definition: PopulationManager.h:58
void SetWarnLevel(MapErrorState a_level)
Definition: MapErrorMsg.cpp:58
const std::string UNIREAL_DIST_S
Definition: ALMaSS_Random.h:105
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
static CfgBool cfg_UseEasyPop("VOLE_USEEASYPOP", CFG_CUSTOM, false)
std::normal_distribution< double > NORMAL_DIST
Definition: ALMaSS_Random.cpp:119
Definition: PopulationManager.h:66
CfgBool cfg_Fixed_random_sequence
static CfgInt cfg_VoleCatastrophe_mortality("VOLE_CATASTROPHE_M", CFG_CUSTOM, 90)
Definition: PopulationManager.h:85
Definition: PopulationManager.h:80
std::gamma_distribution< double > GAMMA_DIST
Definition: ALMaSS_Random.cpp:122
TTypesOfPopulation
An enum to hold all the possible types of population handled by a Population_Manager class.
Definition: PopulationManager.h:57
int value() const
Definition: Configurator.h:116
char * g_files[100]
Definition: ALMaSS_CmdLine.cpp:153
void SetStepCounterInADay(int a_counter)
Set step counter in a day.
Definition: PopulationManager.h:603
probability_distribution(const std::string &prob_type, std::string prob_params)
Definition: ALMaSS_Random.cpp:126
PopulationManagerList g_PopulationManagerList
Definition: ALMaSS_CmdLine.cpp:162
int g_Year
Definition: ALMaSS_CmdLine.cpp:158
std::discrete_distribution<> DISCRETE_DIST
Definition: ALMaSS_Random.cpp:117
CfgStr cfg_ProbeName("PROBE_NAME", CFG_CUSTOM, "Probe.res")
const std::string GAMMA_DIST_S
Definition: ALMaSS_Random.h:128
Definition: PopulationManager.h:76
static const int CAUCHY_DIST_T
Definition: ALMaSS_Random.h:152
std::mt19937 g_generator(seed_seq)
class Weather * g_weather
Definition: Weather.cpp:49
int g_NoProbes
Definition: ALMaSS_CmdLine.cpp:160
bool CreatePopulationManager()
Definition: ALMaSS_CmdLine.cpp:328
void DumpVegAreaData(int a_day)
Saves the information on vegetation types and areas.
Definition: Landscape.cpp:7804
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
const std::string UNIINT_DIST_S
Definition: ALMaSS_Random.h:112
const std::string NORMAL_DIST_S
Definition: ALMaSS_Random.h:98
Definition: PopulationManager.h:74
void GetProbeInput_ini(std::shared_ptr< Population_Manager_Base >, std::string filename)
Definition: ALMaSS_CmdLine.cpp:528
Integer configurator entry class.
Definition: Configurator.h:102
std::seed_seq seed_seq
Definition: ALMaSS_Random.cpp:32
unsigned g_NoOfPredProbes
Definition: ALMaSS_CmdLine.cpp:161
int main(int argc, char *argv[])
Definition: ALMaSS_CmdLine.cpp:209
Definition: PopulationManager.h:60
void g_generator_fixed_fnc(const unsigned int s)
Definition: ALMaSS_Random.cpp:43
std::shared_ptr< Population_Manager_Base > GetPopulation_smart(int a_pt, int a_index=0)
Definition: PopulationManager.h:966
Landscape * g_ALandscape
Definition: ALMaSS_CmdLine.cpp:147
std::exponential_distribution< double > EXPONENTIAL_DIST
Definition: ALMaSS_Random.cpp:124
Implementing almass specific random number generation and probability distribution classes,...
static CfgInt cfg_tracelevel("G_TRACELEVEL", CFG_CUSTOM, 4)
std::uniform_real_distribution< double > UNIREAL_DIST
Definition: ALMaSS_Random.cpp:120
const std::string BETA_DIST_S
Definition: ALMaSS_Random.h:120
ALMaSS_MathFuncs g_AlmassMathFuncs
Definition: ALMaSS_CmdLine.cpp:163
static CfgInt cfg_DayInMonth("PRB_DAYINMONTH", CFG_CUSTOM, 1)
CfgStr cfg_dumpvegjanfile
int g_time
Definition: ALMaSS_CmdLine.cpp:157
Definition: Configurator.h:70
int g_random_fnc(const int a_range)
Definition: ALMaSS_Random.cpp:74
bool ReadBatchINI(const char *filename)
Definition: ALMaSS_CmdLine.cpp:575
Definition: PopulationManager.h:71
void g_generator_fixed_fnc(unsigned int s=42)
Definition: ALMaSS_Random.cpp:43
bool TickMinute10(void)
Definition: Calendar.cpp:167
double Get() const
Definition: ALMaSS_Random.cpp:283
static CfgInt cfg_DisturbersNo("DISTURBERS_NO", CFG_CUSTOM, 1, 0, 1000)
std::cauchy_distribution< double > CAUCHY_DIST
Definition: ALMaSS_Random.cpp:123
virtual void Run(int a_NoTSteps)
A place holder for the run function for all population managers, this must be reimplemented in descen...
Definition: PopulationManager.h:575
Population_Manager_Base * GetPopulation(int a_pt, int a_index=0)
Definition: PopulationManager.h:962
class LE_TypeClass * g_letype
Definition: Elements.cpp:806
static const int DISCRETE_DIST_T
Definition: ALMaSS_Random.h:146
Definition: PopulationManager.h:72
int g_torun
Definition: ALMaSS_CmdLine.cpp:152
static const int EXPONENTIAL_DIST_T
Definition: ALMaSS_Random.h:153
void Warn(std::string a_msg1, std::string a_msg2)
Wrapper for the g_msg Warn function.
Definition: Landscape.h:2250
int GetPopulationManagerNum(int a_pt)
Returns the number of population manager,.
Definition: PopulationManager.h:957
void SetThePopManagerList(PopulationManagerList *a_ptr)
Set the pointer to the list of active population managers.
Definition: Landscape.h:319
Definition: SubPopulation.h:48
char * g_Predfiles[100]
Definition: ALMaSS_CmdLine.cpp:154
static CfgBool cfg_VoleCatastrophe_on("VOLE_CATASTROPHE_ON", CFG_CUSTOM, false)
Definition: PopulationManager.h:61
Definition: MapErrorMsg.h:34
CfgInt cfg_FixedRandomSeed
class Pesticide * g_pest
Definition: Pesticide.cpp:219
class PlantGrowthData * g_crops
Definition: Plants.cpp:40
void SimulationClosingActions()
Definition: Landscape.cpp:2934
Pesticide * CreatePesticide(Landscape *l)
Definition: Pesticide.cpp:2005