Subversion Repositories public iLand

Rev

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...