Subversion Repositories public iLand

Rev

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

Rev 257 Rev 265
Line 58... Line 58...
58
    const Stamp* stamp(const float dbh, const float height) const { return mLIPs.stamp(dbh, height);}
58
    const Stamp* stamp(const float dbh, const float height) const { return mLIPs.stamp(dbh, height);}
59
    // maintenance
59
    // maintenance
60
    void setup();
60
    void setup();
61
private:
61
private:
62
    Q_DISABLE_COPY(Species);
62
    Q_DISABLE_COPY(Species);
-
 
63
    QMutex mMutex;
63
    // helpers during setup
64
    // helpers during setup
64
    bool boolVar(const QString s) { return mSet->var(s).toBool(); } ///< during setup: get value of variable @p s as a boolean variable.
65
    bool boolVar(const QString s) { return mSet->var(s).toBool(); } ///< during setup: get value of variable @p s as a boolean variable.
65
    double doubleVar(const QString s) { return mSet->var(s).toDouble(); }///< during setup: get value of variable @p s as a double.
66
    double doubleVar(const QString s) { return mSet->var(s).toDouble(); }///< during setup: get value of variable @p s as a double.
66
    int intVar(const QString s) { return mSet->var(s).toInt(); } ///< during setup: get value of variable @p s as an integer.
67
    int intVar(const QString s) { return mSet->var(s).toInt(); } ///< during setup: get value of variable @p s as an integer.
67
    QString stringVar(const QString s) { return mSet->var(s).toString(); } ///< during setup: get value of variable @p s as a string.
68
    QString stringVar(const QString s) { return mSet->var(s).toString(); } ///< during setup: get value of variable @p s as a string.
Line 103... Line 104...
103
    double mRespTempMax; ///< temperature response calculation: saturation point for temp. response
104
    double mRespTempMax; ///< temperature response calculation: saturation point for temp. response
104
    double mRespNitrogenClass; ///< nitrogen response class (1..3). fractional values (e.g. 1.2) are interpolated.
105
    double mRespNitrogenClass; ///< nitrogen response class (1..3). fractional values (e.g. 1.2) are interpolated.
105
    // water
106
    // water
106
    double mMaxCanopyConductance; ///< maximum canopy conductance for transpiration (m/s)
107
    double mMaxCanopyConductance; ///< maximum canopy conductance for transpiration (m/s)
107
    int mPhenologyClass;
108
    int mPhenologyClass;
108
-
 
109
};
109
};
110
110
111
111
112
// inlined functions...
112
// inlined functions...
113
inline void Species::hdRange(const double dbh, double &rLowHD, double &rHighHD)
113
inline void Species::hdRange(const double dbh, double &rLowHD, double &rHighHD)
114
{
114
{
-
 
115
    QMutexLocker m(&mMutex); // serialize access
115
    rLowHD = mHDlow.calculate(dbh);
116
    rLowHD = mHDlow.calculate(dbh);
116
    rHighHD = mHDhigh.calculate(dbh);
117
    rHighHD = mHDhigh.calculate(dbh);
117
}
118
}
118
/** vpdResponse calculates response on vpd.
119
/** vpdResponse calculates response on vpd.
119
    Input: vpd [kPa]*/
120
    Input: vpd [kPa]*/