iLand
Public Member Functions | List of all members
SpeciesSet Class Reference

A SpeciesSet acts as a container for individual Species objects. More...

#include <speciesset.h>

Public Member Functions

 SpeciesSet ()
 
 ~SpeciesSet ()
 
const QString & name () const
 table name of the species set More...
 
QList< Species * > activeSpecies () const
 list of species that are "active" (flag active in database) More...
 
Speciesspecies (const QString &speciesId) const
 
const Speciesspecies (const int &index)
 get by arbirtray index (slower than using string-id!) More...
 
const StampContainerreaderStamps ()
 
bool hasVar (const QString &varName)
 test if variable exists More...
 
QVariant var (const QString &varName)
 return variable as QVariant More...
 
int count () const
 
void randomSpeciesOrder (QVector< int >::const_iterator &rBegin, QVector< int >::const_iterator &rEnd)
 return 2 iterators. The range between 'rBegin' and 'rEnd' are indices of the current species set (all species are included, order is random). More...
 
double nitrogenResponse (const double availableNitrogen, const double &responseClass) const
 calculate nitrogen response for a given amount of available nitrogen and a respone class for fractional values, the response value is interpolated between the fixedly defined classes (1,2,3) More...
 
double co2Response (const double ambientCO2, const double nitrogenResponse, const double soilWaterResponse) const
 calculation for the CO2 response for the ambientCO2 for the water- and nitrogen responses given. More...
 
double lightResponse (const double lightResourceIndex, const double lightResponseClass) const
 calculates the lightResponse based on a value for LRI and the species lightResponseClass. More...
 
double LRIcorrection (const double lightResourceIndex, const double relativeHeight) const
 
void clear ()
 
int setup ()
 loads active species from a database table and creates/setups the species. More...
 
void setupRegeneration ()
 setup of regenartion related data More...
 
void newYear ()
 is called at the beginning of a year More...
 
void regeneration ()
 run regeneration (after growth) More...
 
void clearSaplingSeedMap ()
 clear the seed maps that collect leaf area for saplings More...
 

Detailed Description

A SpeciesSet acts as a container for individual Species objects.

In iLand, theoretically, multiple species sets can be used in parallel.

Constructor & Destructor Documentation

◆ SpeciesSet()

SpeciesSet::SpeciesSet ( )

◆ ~SpeciesSet()

SpeciesSet::~SpeciesSet ( )

Member Function Documentation

◆ activeSpecies()

QList< Species * > SpeciesSet::activeSpecies ( ) const
inline

list of species that are "active" (flag active in database)

◆ clear()

void SpeciesSet::clear ( )

◆ clearSaplingSeedMap()

void SpeciesSet::clearSaplingSeedMap ( )

clear the seed maps that collect leaf area for saplings

◆ co2Response()

double SpeciesSet::co2Response ( const double  ambientCO2,
const double  nitrogenResponse,
const double  soilWaterResponse 
) const

calculation for the CO2 response for the ambientCO2 for the water- and nitrogen responses given.

The calculation follows Friedlingsstein 1995 (see also links to equations in code) see also: http://iland-model.org/CO2+response

Parameters
ambientCO2current CO2 concentration (ppm)
nitrogenResponse(yearly) nitrogen response of the species
soilWaterResponsesoil water response (mean value for a month)

◆ count()

int SpeciesSet::count ( ) const
inline

◆ hasVar()

bool SpeciesSet::hasVar ( const QString &  varName)

test if variable exists

◆ lightResponse()

double SpeciesSet::lightResponse ( const double  lightResourceIndex,
const double  lightResponseClass 
) const

calculates the lightResponse based on a value for LRI and the species lightResponseClass.

LightResponse is classified from 1 (very shade inolerant) and 5 (very shade tolerant) and interpolated for values between 1 and 5. Returns a value between 0..1

See also
http://iland-model.org/allocation#reserve_and_allocation_to_stem_growth

◆ LRIcorrection()

double SpeciesSet::LRIcorrection ( const double  lightResourceIndex,
const double  relativeHeight 
) const
inline

◆ name()

const QString & SpeciesSet::name ( ) const
inline

table name of the species set

◆ newYear()

void SpeciesSet::newYear ( )

is called at the beginning of a year

newYear is called by Model::runYear at the beginning of a year before any growth occurs.

This is used for various initializations, e.g. to clear seed dispersal maps

◆ nitrogenResponse()

double SpeciesSet::nitrogenResponse ( const double  availableNitrogen,
const double &  responseClass 
) const

calculate nitrogen response for a given amount of available nitrogen and a respone class for fractional values, the response value is interpolated between the fixedly defined classes (1,2,3)

◆ randomSpeciesOrder()

void SpeciesSet::randomSpeciesOrder ( QVector< int >::const_iterator &  rBegin,
QVector< int >::const_iterator &  rEnd 
)

return 2 iterators. The range between 'rBegin' and 'rEnd' are indices of the current species set (all species are included, order is random).

◆ readerStamps()

const StampContainer & SpeciesSet::readerStamps ( )
inline

◆ regeneration()

void SpeciesSet::regeneration ( )

run regeneration (after growth)

◆ setup()

int SpeciesSet::setup ( )

loads active species from a database table and creates/setups the species.

The function uses the global database-connection.

◆ setupRegeneration()

void SpeciesSet::setupRegeneration ( )

setup of regenartion related data

◆ species() [1/2]

const Species * SpeciesSet::species ( const int &  index)

get by arbirtray index (slower than using string-id!)

◆ species() [2/2]

Species * SpeciesSet::species ( const QString &  speciesId) const
inline

◆ var()

QVariant SpeciesSet::var ( const QString &  varName)

return variable as QVariant

retrieves variables from the datasource available during the setup of species.


The documentation for this class was generated from the following files: