iLand
Public Member Functions | Static Public Member Functions | Friends | List of all members

FMStand encapsulates a forest stand for the forest management engine. More...

#include <fmstand.h>

Public Member Functions

 FMStand (FMUnit *unit, const int id)
 c'tor: link stand to a forest management unit More...
 
void setSTP (FMSTP *stp)
 set the stand to be managed by a given 'stp' More...
 
void initialize ()
 
void reset (FMSTP *stp)
 sets the STP but nothing else (after disturbance related clearance) More...
 
bool trace () const
 returns true if tracing is enabled for the stand More...
 
const QString & context () const
 
void checkArea ()
 
void setArea (const double new_area_ha)
 
void reload (bool force=false)
 
int id () const
 
const FMUnitunit () const
 
Activity::Phase phase () const
 
int standType () const
 
FMSTPstp () const
 
int lastUpdate () const
 
int lastExecution () const
 
int initialStandId () const
 
void setInitialId (int origin_id)
 
double U () const
 rotation period (years) More...
 
int thinningIntensity () const
 thinning intensity (class); 1: low, 2: medium, 3: high More...
 
int targetSpeciesIndex () const
 species composition key More...
 
void setU (const double rotation_length)
 
void setThinningIntensity (const int th_class)
 
void setTargetSpeciesIndex (const int index)
 
double area () const
 total area of the stand (ha) More...
 
double absoluteAge () const
 absolute age: years since the rotation has started (years) More...
 
double basalArea () const
 total basal area (m2/ha) More...
 
double age () const
 (average) age of the stand (weighted with basal area) More...
 
double volume () const
 total standing volume (m3/ha) in the stand More...
 
double stems () const
 number of trees of the stand (stems/ha) (>4m) More...
 
double dbh () const
 mean dbh (basal area weighted, of trees>4m) in cm More...
 
double height () const
 mean tree height (basal area weighted, of trees>4m), in m More...
 
double topHeight () const
 top height (mean height of the 100 thickest trees/ha), in m More...
 
double scheduledHarvest () const
 scheduled harvest (planned harvest by activities, m3) More...
 
double totalHarvest () const
 total realized harvest (m3 on the full stand area) More...
 
double totalThinningHarvest () const
 total realized thinning/tending harvests (m3 on the full stand area) More...
 
double disturbedTimber () const
 total disturbed timber volume, includes also disturbed trees not harvested, m3 More...
 
double salvagedTimber () const
 total amount of timber removed by salvage operation More...
 
double meanAnnualIncrement () const
 mean annual increment (MAI), m3 timber/ha for the last decade More...
 
double meanAnnualIncrementTotal () const
 mean annual increment (MAI), m3 timber/ha for the full rotation period More...
 
bool readyForFinalHarvest ()
 
double basalArea (const QString &species_id) const
 
double relBasalArea (const QString &species_id) const
 
int nspecies () const
 
SSpeciesStandspeciesData (const int index)
 retrieve species-specific meta data by index (0: largest basal area share, up to nspecies()-1) More...
 
SSpeciesStandspeciesData (const Species *species)
 species-specific meta data by Species pointer More...
 
bool execute ()
 main function More...
 
bool executeActivity (Activity *act)
 execute activity given by "act". More...
 
bool afterExecution (bool cancel=false)
 
void addScheduledHarvest (const double add_volume)
 add a (simulated) harvest to the amount of planned harvest (used by the scheduling) More...
 
void notifyTreeRemoval (Tree *tree, int reason)
 is called whenever a tree is removed (death, management, disturbance) More...
 
bool notifyBarkBeetleAttack (double generations, int infested_px_per_ha)
 is called when bark beetles are likely to attack: return ABE changed forest structure More...
 
void resetHarvestCounter ()
 resets the harvest counters More...
 
void resetDisturbanceSalvage ()
 
void sleep (int years_to_sleep)
 sleep() pauses the evaluation/execution of management activities for 'years_to_sleep'. More...
 
int sleepYears () const
 
double calculateMAI ()
 calculate mean annual increment (m3/ha) and return total MAI. More...
 
void setAbsoluteAge (const double age)
 set the absolute age of the stand More...
 
int setToLatestForcedActivity ()
 set active activity to the latest activity with forced=true (if a stand is outside the timeframe of all other activities) More...
 
ActivityFlagsflags (const int index)
 
ActivityFlagscurrentFlags ()
 flags of currently active Activity More...
 
ActivitycurrentActivity () const
 get a pointer to the current activity; returns 0 if no activity is set. More...
 
ActivitylastExecutedActivity () const
 get a pointer to the last executed activity; returns 0 if no activity has been executed before. More...
 
int lastExecutionAge () const
 
void setProperty (const QString &name, QJSValue value)
 set a property value for the current stand with the name 'name' More...
 
QJSValue property (const QString &name) const
 retrieve the value of the property 'name'. Returns an empty QJSValue if the property is not defined. More...
 
QStringList info ()
 

Static Public Member Functions

static void clearAllProperties ()
 

Friends

class FOMEWrapper
 
class StandObj
 

Detailed Description

FMStand encapsulates a forest stand for the forest management engine.

The FMStand class encapsulates forest stands which are defined as polygons.

The spatial coverage is defined by a "stand grid".

FMStand tracks properties of the stands (e.g. mean volume), and is a central player in the ABE system.

Constructor & Destructor Documentation

◆ FMStand()

ABE::FMStand::FMStand ( FMUnit unit,
const int  id 
)

c'tor: link stand to a forest management unit

Member Function Documentation

◆ absoluteAge()

double ABE::FMStand::absoluteAge ( ) const

absolute age: years since the rotation has started (years)

◆ addScheduledHarvest()

void ABE::FMStand::addScheduledHarvest ( const double  add_volume)
inline

add a (simulated) harvest to the amount of planned harvest (used by the scheduling)

◆ afterExecution()

bool ABE::FMStand::afterExecution ( bool  cancel = false)

◆ age()

double ABE::FMStand::age ( ) const
inline

(average) age of the stand (weighted with basal area)

◆ area()

double ABE::FMStand::area ( ) const
inline

total area of the stand (ha)

◆ basalArea() [1/2]

double ABE::FMStand::basalArea ( ) const
inline

total basal area (m2/ha)

◆ basalArea() [2/2]

double ABE::FMStand::basalArea ( const QString &  species_id) const

◆ calculateMAI()

double ABE::FMStand::calculateMAI ( )

calculate mean annual increment (m3/ha) and return total MAI.

◆ checkArea()

void ABE::FMStand::checkArea ( )

◆ clearAllProperties()

static void ABE::FMStand::clearAllProperties ( )
inlinestatic

◆ context()

const QString & ABE::FMStand::context ( ) const
inline

◆ currentActivity()

Activity * ABE::FMStand::currentActivity ( ) const
inline

get a pointer to the current activity; returns 0 if no activity is set.

◆ currentFlags()

ActivityFlags & ABE::FMStand::currentFlags ( )
inline

flags of currently active Activity

◆ dbh()

double ABE::FMStand::dbh ( ) const
inline

mean dbh (basal area weighted, of trees>4m) in cm

◆ disturbedTimber()

double ABE::FMStand::disturbedTimber ( ) const
inline

total disturbed timber volume, includes also disturbed trees not harvested, m3

◆ execute()

bool ABE::FMStand::execute ( )

main function

execute the current activity

◆ executeActivity()

bool ABE::FMStand::executeActivity ( Activity act)

execute activity given by "act".

◆ flags()

ActivityFlags & ABE::FMStand::flags ( const int  index)
inline

◆ height()

double ABE::FMStand::height ( ) const
inline

mean tree height (basal area weighted, of trees>4m), in m

◆ id()

int ABE::FMStand::id ( ) const
inline

◆ info()

QStringList ABE::FMStand::info ( )

◆ initialize()

void ABE::FMStand::initialize ( )

◆ initialStandId()

int ABE::FMStand::initialStandId ( ) const
inline

◆ lastExecutedActivity()

Activity * ABE::FMStand::lastExecutedActivity ( ) const
inline

get a pointer to the last executed activity; returns 0 if no activity has been executed before.

◆ lastExecution()

int ABE::FMStand::lastExecution ( ) const
inline

◆ lastExecutionAge()

int ABE::FMStand::lastExecutionAge ( ) const
inline

◆ lastUpdate()

int ABE::FMStand::lastUpdate ( ) const
inline

◆ meanAnnualIncrement()

double ABE::FMStand::meanAnnualIncrement ( ) const
inline

mean annual increment (MAI), m3 timber/ha for the last decade

◆ meanAnnualIncrementTotal()

double ABE::FMStand::meanAnnualIncrementTotal ( ) const
inline

mean annual increment (MAI), m3 timber/ha for the full rotation period

◆ notifyBarkBeetleAttack()

bool ABE::FMStand::notifyBarkBeetleAttack ( double  generations,
int  infested_px_per_ha 
)

is called when bark beetles are likely to attack: return ABE changed forest structure

◆ notifyTreeRemoval()

void ABE::FMStand::notifyTreeRemoval ( Tree tree,
int  reason 
)

is called whenever a tree is removed (death, management, disturbance)

◆ nspecies()

int ABE::FMStand::nspecies ( ) const
inline

◆ phase()

Activity::Phase ABE::FMStand::phase ( ) const
inline

◆ property()

QJSValue ABE::FMStand::property ( const QString &  name) const

retrieve the value of the property 'name'. Returns an empty QJSValue if the property is not defined.

◆ readyForFinalHarvest()

bool ABE::FMStand::readyForFinalHarvest ( )
inline

◆ relBasalArea()

double ABE::FMStand::relBasalArea ( const QString &  species_id) const

◆ reload()

void ABE::FMStand::reload ( bool  force = false)

◆ reset()

void ABE::FMStand::reset ( FMSTP stp)

sets the STP but nothing else (after disturbance related clearance)

◆ resetDisturbanceSalvage()

void ABE::FMStand::resetDisturbanceSalvage ( )
inline

◆ resetHarvestCounter()

void ABE::FMStand::resetHarvestCounter ( )
inline

resets the harvest counters

◆ salvagedTimber()

double ABE::FMStand::salvagedTimber ( ) const
inline

total amount of timber removed by salvage operation

◆ scheduledHarvest()

double ABE::FMStand::scheduledHarvest ( ) const
inline

scheduled harvest (planned harvest by activities, m3)

◆ setAbsoluteAge()

void ABE::FMStand::setAbsoluteAge ( const double  age)

set the absolute age of the stand

◆ setArea()

void ABE::FMStand::setArea ( const double  new_area_ha)
inline

◆ setInitialId()

void ABE::FMStand::setInitialId ( int  origin_id)
inline

◆ setProperty()

void ABE::FMStand::setProperty ( const QString &  name,
QJSValue  value 
)

set a property value for the current stand with the name 'name'

◆ setSTP()

void ABE::FMStand::setSTP ( FMSTP stp)
inline

set the stand to be managed by a given 'stp'

◆ setTargetSpeciesIndex()

void ABE::FMStand::setTargetSpeciesIndex ( const int  index)
inline

◆ setThinningIntensity()

void ABE::FMStand::setThinningIntensity ( const int  th_class)
inline

◆ setToLatestForcedActivity()

int ABE::FMStand::setToLatestForcedActivity ( )

set active activity to the latest activity with forced=true (if a stand is outside the timeframe of all other activities)

◆ setU()

void ABE::FMStand::setU ( const double  rotation_length)
inline

◆ sleep()

void ABE::FMStand::sleep ( int  years_to_sleep)

sleep() pauses the evaluation/execution of management activities for 'years_to_sleep'.

◆ sleepYears()

int ABE::FMStand::sleepYears ( ) const
inline

◆ speciesData() [1/2]

SSpeciesStand & ABE::FMStand::speciesData ( const int  index)
inline

retrieve species-specific meta data by index (0: largest basal area share, up to nspecies()-1)

◆ speciesData() [2/2]

SSpeciesStand & ABE::FMStand::speciesData ( const Species species)

species-specific meta data by Species pointer

◆ standType()

int ABE::FMStand::standType ( ) const
inline

◆ stems()

double ABE::FMStand::stems ( ) const
inline

number of trees of the stand (stems/ha) (>4m)

◆ stp()

FMSTP * ABE::FMStand::stp ( ) const
inline

◆ targetSpeciesIndex()

int ABE::FMStand::targetSpeciesIndex ( ) const
inline

species composition key

◆ thinningIntensity()

int ABE::FMStand::thinningIntensity ( ) const
inline

thinning intensity (class); 1: low, 2: medium, 3: high

◆ topHeight()

double ABE::FMStand::topHeight ( ) const
inline

top height (mean height of the 100 thickest trees/ha), in m

◆ totalHarvest()

double ABE::FMStand::totalHarvest ( ) const
inline

total realized harvest (m3 on the full stand area)

◆ totalThinningHarvest()

double ABE::FMStand::totalThinningHarvest ( ) const
inline

total realized thinning/tending harvests (m3 on the full stand area)

◆ trace()

bool ABE::FMStand::trace ( ) const
inline

returns true if tracing is enabled for the stand

◆ U()

double ABE::FMStand::U ( ) const
inline

rotation period (years)

◆ unit()

const FMUnit * ABE::FMStand::unit ( ) const
inline

◆ volume()

double ABE::FMStand::volume ( ) const
inline

total standing volume (m3/ha) in the stand

Friends And Related Function Documentation

◆ FOMEWrapper

friend class FOMEWrapper
friend

◆ StandObj

friend class StandObj
friend

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