iLand
production3pg.h
Go to the documentation of this file.
1/********************************************************************************************
2** iLand - an individual based forest landscape and disturbance model
3** http://iland-model.org
4** Copyright (C) 2009- Werner Rammer, Rupert Seidl
5**
6** This program is free software: you can redistribute it and/or modify
7** it under the terms of the GNU General Public License as published by
8** the Free Software Foundation, either version 3 of the License, or
9** (at your option) any later version.
10**
11** This program is distributed in the hope that it will be useful,
12** but WITHOUT ANY WARRANTY; without even the implied warranty of
13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14** GNU General Public License for more details.
15**
16** You should have received a copy of the GNU General Public License
17** along with this program. If not, see <http://www.gnu.org/licenses/>.
18********************************************************************************************/
19
20#ifndef PRODUCTION3PG_H
21#define PRODUCTION3PG_H
22
23class SpeciesResponse;
24class ProductionOut;
26{
27public:
29 void setResponse(const SpeciesResponse *response) { mResponse=response;}
30 double calculate();
31 void clear();
32 double rootFraction() const { return mRootFraction; }
33 double GPPperArea() const { return mGPPperArea; }
34 double fEnvYear() const { return mEnvYear; }
35private:
36 inline double calculateUtilizablePAR(const int month) const;
37 inline double calculateEpsilon(const int month) const;
38 inline double abovegroundFraction() const;
39 const SpeciesResponse *mResponse;
40 double mUPAR[12];
41 double mGPP[12];
42 double mRootFraction;
43 double mGPPperArea;
44 double mEnvYear;
45
46 friend class ProductionOut;
47};
48
49#endif // PRODUCTION3PG_H
Definition: production3pg.h:26
double fEnvYear() const
f_env,yr: aggregate environmental factor [0..1}
Definition: production3pg.h:34
Production3PG()
Definition: production3pg.cpp:28
void clear()
clear production values
Definition: production3pg.cpp:80
void setResponse(const SpeciesResponse *response)
Definition: production3pg.h:29
double GPPperArea() const
fraction of biomass that should be distributed to roots
Definition: production3pg.h:33
double rootFraction() const
Definition: production3pg.h:32
ProductionOut describes finegrained production details on the level of resourceunits per month.
Definition: productionout.h:27
Environmental responses relevant for production of a tree species on resource unit level.
Definition: speciesresponse.h:27
double calculate()
return year GPP/rad: kg Biomass/MJ PAR/m2
Definition: production3pg.cpp:94