Rev 445 | Rev 449 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 445 | Rev 446 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | 7 | ||
8 | #include "speciesset.h"
|
8 | #include "speciesset.h"
|
9 | 9 | ||
10 | class StampContainer; // forwards |
10 | class StampContainer; // forwards |
11 | class Stamp; |
11 | class Stamp; |
- | 12 | ||
- | 13 | ||
- | 14 | /// parameters for establishment
|
|
- | 15 | struct EstablishmentParameters
|
|
- | 16 | {
|
|
- | 17 | double min_temp; //degC |
|
- | 18 | int chill_requirement; // days of chilling requirement |
|
- | 19 | int GDD_min, GDD_max; // GDD thresholds |
|
- | 20 | double GDD_baseTemperature; // for GDD-calc: GDD=sum(T - baseTemp) |
|
- | 21 | int bud_birst; // GDDs needed until bud burst |
|
- | 22 | int frost_free; // minimum number of annual frost-free days required |
|
- | 23 | double frost_tolerance; //factor in growing season frost tolerance calculation |
|
- | 24 | EstablishmentParameters(): min_temp(-37), chill_requirement(56), GDD_min(177), GDD_max(3261), GDD_baseTemperature(3.4), |
|
- | 25 | bud_birst(255), frost_free(65), frost_tolerance(0.5) {} |
|
- | 26 | }; |
|
12 | 27 | ||
13 | 28 | ||
14 | class Species
|
29 | class Species
|
15 | {
|
30 | {
|
16 | public: |
31 | public: |
Line 71... | Line 86... | ||
71 | double psiMin() const { return mPsiMin; } |
86 | double psiMin() const { return mPsiMin; } |
72 | // parameters for seed dispersal
|
87 | // parameters for seed dispersal
|
73 | void treeMigKernel(double &ras1, double &ras2, double &ks) const { ras1=mTM_as1; ras2=mTM_as2; ks=mTM_ks; } |
88 | void treeMigKernel(double &ras1, double &ras2, double &ks) const { ras1=mTM_as1; ras2=mTM_as2; ks=mTM_ks; } |
74 | double fecundity_m2() const { return mFecundity_m2; } |
89 | double fecundity_m2() const { return mFecundity_m2; } |
75 | double nonSeedYearFraction() const { return mNonSeedYearFraction; } |
90 | double nonSeedYearFraction() const { return mNonSeedYearFraction; } |
- | 91 | const EstablishmentParameters &establishmentParameters() const { return mEstablishmentParams; } |
|
76 | 92 | ||
77 | const Stamp* stamp(const float dbh, const float height) const { return mLIPs.stamp(dbh, height);} |
93 | const Stamp* stamp(const float dbh, const float height) const { return mLIPs.stamp(dbh, height);} |
78 | private: |
94 | private: |
79 | Q_DISABLE_COPY(Species); |
95 | Q_DISABLE_COPY(Species); |
80 | // helpers during setup
|
96 | // helpers during setup
|
Line 134... | Line 150... | ||
134 | // regeneration - seed dispersal
|
150 | // regeneration - seed dispersal
|
135 | double mFecundity_m2; ///< "surviving seeds" (cf. Moles et al) per m2, see also http://iland.boku.ac.at/fecundity |
151 | double mFecundity_m2; ///< "surviving seeds" (cf. Moles et al) per m2, see also http://iland.boku.ac.at/fecundity |
136 | double mTM_as1; ///< seed dispersal paramaters (treemig) |
152 | double mTM_as1; ///< seed dispersal paramaters (treemig) |
137 | double mTM_as2; ///< seed dispersal paramaters (treemig) |
153 | double mTM_as2; ///< seed dispersal paramaters (treemig) |
138 | double mTM_ks; ///< seed dispersal paramaters (treemig) |
154 | double mTM_ks; ///< seed dispersal paramaters (treemig) |
- | 155 | EstablishmentParameters mEstablishmentParams;
|
|
139 | 156 | ||
140 | }; |
157 | }; |
141 | 158 | ||
142 | 159 | ||
143 | // inlined functions...
|
160 | // inlined functions...
|