Rev 438 | Rev 449 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 438 | Rev 440 | ||
---|---|---|---|
1 | Redirecting to URL 'https://iland.boku.ac.at/svn/iland/tags/release_1.0/src/core/resourceunitspecies.h': |
1 | Redirecting to URL 'https://iland.boku.ac.at/svn/iland/tags/release_1.0/src/core/resourceunitspecies.h': |
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
|
12 | {
|
13 | {
|
13 | public: |
14 | public: |
14 | ResourceUnitSpecies() : mLAIfactor(0.), mSpecies(0), mRU(0) {} |
15 | ResourceUnitSpecies() : mLAIfactor(0.), mSpecies(0), mRU(0) {} |
15 | void setup(Species *species, ResourceUnit *ru); |
16 | void setup(Species *species, ResourceUnit *ru); |
16 | 17 | ||
17 | const SpeciesResponse *speciesResponse() const { return &mResponse; } |
18 | const SpeciesResponse *speciesResponse() const { return &mResponse; } |
18 | const Species *species() const { return mSpecies; } ///< return pointer to species |
19 | const Species *species() const { return mSpecies; } ///< return pointer to species |
19 | const ResourceUnit *ru() const { return mRU; } ///< return pointer to resource unit |
20 | const ResourceUnit *ru() const { return mRU; } ///< return pointer to resource unit |
20 | const Production3PG &prod3PG() const { return m3PG; } ///< the 3pg production model of this speies x resourceunit |
21 | const Production3PG &prod3PG() const { return m3PG; } ///< the 3pg production model of this speies x resourceunit |
21 | StandStatistics &statistics() { return mStatistics; } ///< statistics of this species on the resourceunit |
22 | StandStatistics &statistics() { return mStatistics; } ///< statistics of this species on the resourceunit |
22 | StandStatistics &statisticsDead() { return mStatisticsDead; } ///< statistics of died trees |
23 | StandStatistics &statisticsDead() { return mStatisticsDead; } ///< statistics of died trees |
23 | StandStatistics &statisticsMgmt() { return mStatisticsMgmt; } ///< statistics of removed trees |
24 | StandStatistics &statisticsMgmt() { return mStatisticsMgmt; } ///< statistics of removed trees |
24 | const StandStatistics &constStatistics() const { return mStatistics; } ///< const accessor |
25 | const StandStatistics &constStatistics() const { return mStatistics; } ///< const accessor |
25 | const StandStatistics &constStatisticsDead() const { return mStatisticsDead; } ///< const accessor |
26 | const StandStatistics &constStatisticsDead() const { return mStatisticsDead; } ///< const accessor |
26 | const StandStatistics &constStatisticsMgmt() const { return mStatisticsMgmt; } ///< const accessor |
27 | const StandStatistics &constStatisticsMgmt() const { return mStatisticsMgmt; } ///< const accessor |
27 | 28 | ||
28 | void updateGWL(); |
29 | void updateGWL(); |
29 | double removedVolume() const { return mRemovedGrowth; } ///< sum of volume with was remvoved because of death/management (m3) |
30 | double removedVolume() const { return mRemovedGrowth; } ///< sum of volume with was remvoved because of death/management (m3) |
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 | ||
50 | #endif // RESSOURCEUNITSPECIES_H
|
53 | #endif // RESSOURCEUNITSPECIES_H
|
51 | 54 |