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 |