Subversion Repositories public iLand

Rev

Rev 251 | Rev 369 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1
 
113 Werner 2
#ifndef PRODUCTION3PG_H
3
#define PRODUCTION3PG_H
4
 
226 werner 5
class SpeciesResponse;
228 werner 6
class ProductionOut;
113 Werner 7
class Production3PG
8
{
9
public:
10
    Production3PG();
227 werner 11
    void setResponse(const SpeciesResponse *response) { mResponse=response;}
12
    double calculate(); ///< return  year GPP/rad: kg Biomass/MJ PAR/m2
13
    double rootFraction() const { return mRootFraction; } /// fraction of biomass that should be distributed to roots
257 werner 14
    double GPPperArea() const { return mGPPperArea; } ///<  GPP production (yearly) (kg Biomass) per m2 (effective area)
115 Werner 15
private:
227 werner 16
    inline double calculateUtilizablePAR(const int month) const;
17
    inline double calculateEpsilon(const int month) const;
18
    inline double abovegroundFraction() const; ///< calculate fraction of biomass
19
    const SpeciesResponse *mResponse; ///< species specific responses
251 werner 20
    double mUPAR[12]; ///< utilizable radiation MJ/m2 and month
227 werner 21
    double mGPP[12]; ///< monthly Gross Primary Production gC/MJ radiation
22
    double mRootFraction; ///< fraction of production that flows into roots
230 werner 23
    double mGPPperArea; ///< kg GPP Biomass / m2 interception area
228 werner 24
 
25
    friend class ProductionOut;
113 Werner 26
};
27
 
28
#endif // PRODUCTION3PG_H