Struct SimParameters

Struct Documentation

struct SimParameters

Stores and imports the variables required by the Map object. Used to setting the Map variables in a more elegant way.

Public Functions

SimParameters()

Default constructor.

void importParameters(ConfigParser configOption)

Links to the provided ConfigOption. Assumes that the parameters have already been parsed from the config file.

Parameters
  • configOption: the parsed ConfigOption object

void importParameters(const string &conf_in)

Imports the spatial variables from a path to the config file..

Parameters
  • config_in: string of the path to the config file

void importParameters()

Main import of parameters from the config file option.

void setKeyParameters(const long long &job_type, const long long &seed, const string &output_directory, const unsigned long &max_time, unsigned long desired_specnum, const string &times_file)

Sets the main simulation parameters.

Parameters
  • job_type: the job type reference number, used for file referencing
  • seed: the seed to set random number generation
  • output_directory: the output directory
  • max_time: the maximum time to simulate for
  • desired_specnum: the desired number of species to aim towards (currently not functional)
  • times_file: the file containing a list of temporal sampling points

void setSpeciationParameters(const long double &spec_in, bool is_protracted_in, const double &min_speciation_gen_in, const double &max_speciation_gen_in)

Sets the speciation parameters for the simulation.

Parameters
  • spec_in: the speciation rate to use
  • is_protracted_in: if true, simulates as a protracted simulation
  • min_speciation_gen_in: the minimum speciation generation for protracted simulations
  • max_speciation_gen_in: the maximum speciation generation for protracted simulations

void setDispersalParameters(const string &dispersal_method_in, const double &sigma_in, const double &tau_in, const double &m_prob_in, const double &cutoff_in, const double &dispersal_relative_cost_in, bool restrict_self_in, const string &landscape_type_in, const string &dispersal_file_in, const string &reproduction_file_in)

Sets the dispersal parameters for the simulation.

Parameters
  • dispersal_method_in: the method of individuals dispersing (normal, fat-tailed or norm-uniform)
  • sigma_in: the sigma value for a normal distribution
  • tau_in: the tau value for the fat-tailed distribution
  • m_prob_in: the probability of uniform dispersal for the norm-uniform distribution
  • cutoff_in: the maximum dispersal distance for the uniform distribution
  • dispersal_relative_cost_in: the relative cost of dispersing through non-forest
  • restrict_self_in: if true, prevents dispersal from the same cell
  • landscape_type_in: the landscape type (infinite, tiled or closed)
  • dispersal_file_in: a map of dispersal probabilities
  • reproduction_file_in: a map of reproduction probabilities

void setHistoricalMapParameters(const string &historical_fine_file_map_in, const string &historical_coarse_map_file_in, const double &gen_since_historical_in, const double &habitat_change_rate_in)

Sets the historical map parameters for the simulation.

Parameters
  • historical_fine_file_map_in: the fine resolution historical file
  • historical_coarse_map_file_in: the coarse resolution historical file
  • gen_since_historical_in: the number of generations since the historical state was achieved
  • habitat_change_rate_in: the rate of habitat change towards the historical state

void setHistoricalMapParameters(vector<string> path_fine, vector<unsigned long> number_fine, vector<double> rate_fine, vector<double> time_fine, vector<string> path_coarse, vector<unsigned long> number_coarse, vector<double> rate_coarse, vector<double> time_coarse)
void setMapParameters(const string &fine_map_file_in, const string &coarse_map_file_in, const string &sample_mask_file_in, const unsigned long &grid_x_size_in, const unsigned long &grid_y_size_in, const unsigned long &sample_x_size_in, const unsigned long &sample_y_size_in, const unsigned long &sample_x_offset_in, const unsigned long &sample_y_offset_in, const unsigned long &fine_map_x_size_in, const unsigned long &fine_map_y_size_in, const unsigned long &fine_map_x_offset_in, const unsigned long &fine_map_y_offset_in, const unsigned long &coarse_map_x_size_in, const unsigned long &coarse_map_y_size_in, const unsigned long &coarse_map_x_offset_in, const unsigned long &coarse_map_y_offset_in, const unsigned long &coarse_map_scale_in, const double &deme_in, const double &deme_sample_in, bool uses_spatial_sampling_in)

Sets the map parameters for the simulation.

Parameters
  • fine_map_file_in: the fine resolution density map
  • coarse_map_file_in: the coarse resolution density map
  • sample_mask_file_in: the spatial sampling mask
  • grid_x_size_in: the x dimension of the grid
  • grid_y_size_in: the y dimension of the grid
  • sample_x_size_in: the x dimension of the sample mask
  • sample_y_size_in: the y dimension of the sample mask
  • sample_x_offset_in: the x offset of the sample mask from the grid
  • sample_y_offset_in: the y offset of the sample mask from the grid
  • fine_map_x_size_in: the x dimension of the fine map
  • fine_map_y_size_in: the y dimension of the fine map
  • fine_map_x_offset_in: the x offset of the fine map from the sample mask
  • fine_map_y_offset_in: the y offset of the fine map from the sample mask
  • coarse_map_x_size_in: the x dimension of the coarse map
  • coarse_map_y_size_in: the y dimension of the coarse map
  • coarse_map_x_offset_in: the x offset of the coarse map from the fine map
  • coarse_map_y_offset_in: the y offset of the coarse map from the fine map
  • coarse_map_scale_in: the scale of the coarse map compared to the fine map
  • deme_in: the number of individuals per cell
  • deme_sample_in: the proportion of individuals to sample from each cell
  • uses_spatial_sampling_in: if the sample mask denotes differing spatial sampling proportions

bool setHistorical(const double &generation)

Updates the historical map parameters to the next item in the deque.

Return
bool true if we need to re-import the maps (i.e. the historical maps have changed between updates)

bool checkNeedsUpdate(const double &g)

Checks if there will be another update to be performed on the map.

Return
true if another map update exists

bool hasAnotherUpdate()
void parseHistorical()

Parses the historical map data and creates the queue of historical maps.

void setInitialHistoricalParameters()
void printVars()

Prints selected important variables to the terminal.

void printSpatialVars()

Prints the spatial variables.

void setMetacommunityParameters(const unsigned long &metacommunity_size, const long double &speciation_rate, const unsigned long &seed, const unsigned long &job_type)

Sets the metacommunity parameters.

Parameters
  • metacommunity_size: the number of individuals in the community
  • speciation_rate: the speciation rate for the metacommunity
  • seed: the seed for the simulation
  • job_type: the job referencing number

SimParameters &operator=(const SimParameters &other)

Public Members

string fine_map_file
string coarse_map_file
string output_directory
string historical_fine_map_file
string historical_coarse_map_file
string sample_mask_file
long long job_type = {}
long long seed = {}
unsigned long grid_x_size = {}
unsigned long grid_y_size = {}
unsigned long sample_x_size = {}
unsigned long sample_y_size = {}
unsigned long sample_x_offset = {}
unsigned long sample_y_offset = {}
unsigned long fine_map_x_size = {}
unsigned long fine_map_y_size = {}
unsigned long fine_map_x_offset = {}
unsigned long fine_map_y_offset = {}
unsigned long coarse_map_x_size = {}
unsigned long coarse_map_y_size = {}
unsigned long coarse_map_x_offset = {}
unsigned long coarse_map_y_offset = {}
unsigned long coarse_map_scale = {}
unsigned long desired_specnum = {}
double dispersal_relative_cost = {}
double deme = {}
double deme_sample = {}
long double spec = {0.0}
double sigma = {}
unsigned long max_time = {}
double gen_since_historical = {}
double habitat_change_rate = {}
double tau = {}
string dispersal_method
double m_prob = {}
double cutoff = {}
bool restrict_self = {}
string times_file
vector<double> times
ConfigParser configs
bool is_historical = {}
bool uses_spatial_sampling = {}
string landscape_type
bool is_protracted = {}
double min_speciation_gen = {}
double max_speciation_gen = {}
string dispersal_file
string death_file
string reproduction_file
std::queue<HistoricalMapParameters> all_historical_map_parameters
bool has_parsed_historical

Friends

ostream &operator<<(ostream &os, const SimParameters &m)

Overloading the << operator for outputting to the output stream.

Return
os the output stream.
Parameters

istream &operator>>(istream &is, SimParameters &m)

Overloading the >> operator for inputting from an input stream.

Return
is the input stream
Parameters
  • is: the input stream
  • m: the mapvars object