Subversion Repositories public iLand

Rev

Rev 438 | Rev 449 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 438 Rev 440
Line 2... Line 2...
2
#ifndef RESOURCEUNITSPECIES_H
2
#ifndef RESOURCEUNITSPECIES_H
3
#define RESOURCEUNITSPECIES_H
3
#define RESOURCEUNITSPECIES_H
4
#include "production3pg.h"
4
#include "production3pg.h"
5
#include "standstatistics.h"
5
#include "standstatistics.h"
6
#include "speciesresponse.h"
6
#include "speciesresponse.h"
-
 
7
#include "establishment.h"
7
8
8
class Species;
9
class Species;
9
class ResourceUnit;
10
class ResourceUnit;
10
11
11
class ResourceUnitSpecies
12
class ResourceUnitSpecies
Line 30... Line 31...
30
    double LAIfactor() const { return mLAIfactor; } ///< relative fraction of LAI of this species (0..1)
31
    double LAIfactor() const { return mLAIfactor; } ///< relative fraction of LAI of this species (0..1)
31
    void setLAIfactor(const double newLAIfraction) { mLAIfactor=newLAIfraction; if (mLAIfactor<0 || mLAIfactor>1.00001) qDebug() << "invalid LAIfactor"<<mLAIfactor; }
32
    void setLAIfactor(const double newLAIfraction) { mLAIfactor=newLAIfraction; if (mLAIfactor<0 || mLAIfactor>1.00001) qDebug() << "invalid LAIfactor"<<mLAIfactor; }
32
    // properties
33
    // properties
33
    double leafArea() const; ///< total leaf area of the species on the RU (m2).
34
    double leafArea() const; ///< total leaf area of the species on the RU (m2).
34
    // action
35
    // action
35
    void calculate(); ///< calculate response for species, calculate actual 3PG production
-
 
-
 
36
    void calculate(const bool fromEstablishment=false); ///< calculate response for species, calculate actual 3PG production
-
 
37
    void calclulateEstablishment(); ///< perform establishment calculations
36
38
37
private:
39
private:
38
    double mLAIfactor; ///< relative amount of this species' LAI on this resource unit (0..1). Is calculated once a year.
40
    double mLAIfactor; ///< relative amount of this species' LAI on this resource unit (0..1). Is calculated once a year.
39
    double mRemovedGrowth; ///< m3 volume of trees removed/managed (to calculate GWL)
41
    double mRemovedGrowth; ///< m3 volume of trees removed/managed (to calculate GWL)
40
    StandStatistics mStatistics; ///< statistics of a species on this resource unit
42
    StandStatistics mStatistics; ///< statistics of a species on this resource unit
41
    StandStatistics mStatisticsDead; ///< statistics of died trees (this year) of a species on this resource unit
43
    StandStatistics mStatisticsDead; ///< statistics of died trees (this year) of a species on this resource unit
42
    StandStatistics mStatisticsMgmt; ///< statistics of removed trees (this year) of a species on this resource unit
44
    StandStatistics mStatisticsMgmt; ///< statistics of removed trees (this year) of a species on this resource unit
43
    Production3PG m3PG; ///< NPP prodution unit of this species
45
    Production3PG m3PG; ///< NPP prodution unit of this species
44
    SpeciesResponse mResponse; ///< calculation and storage of species specific respones on this resource unit
46
    SpeciesResponse mResponse; ///< calculation and storage of species specific respones on this resource unit
-
 
47
    Establishment mEstablishment; ///< establishment for seedlings and sapling growth
45
    Species *mSpecies; ///< speices
48
    Species *mSpecies; ///< speices
46
    ResourceUnit *mRU; ///< resource unit
49
    ResourceUnit *mRU; ///< resource unit
47
    int mLastYear;
50
    int mLastYear;
48
};
51
};
49
52