ALMaSS Partridge ODdox
1.1
The partridge model description following ODdox protocol
|
Go to the documentation of this file.
72 double m_start[ 5 ] [ 3 ];
73 bool m_start_valid[ 5 ];
93 double FindDiff(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase,
int a_type );
94 unsigned int FindCropNum( ifstream& ist );
96 void SetVegNum(
unsigned int a_i, ifstream& ist,
const char * a_cropcurvefile );
99 void MakeBugPercentArray(
void );
100 void ReadBugPercentageFile(
void );
107 double GetLAgreenDiff(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase) {
108 return FindDiff(a_ddegs, a_yddegs, a_plant, a_phase, 0);
111 double GetLAtotalDiff(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase) {
112 return FindDiff(a_ddegs, a_yddegs, a_plant, a_phase, 1);
115 double GetHeightDiff(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase) {
116 return FindDiff(a_ddegs, a_yddegs, a_plant, a_phase, 2);
121 double GetLAgreenDiffScaled(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase,
double a_scaler) {
return a_scaler* GetLAgreenDiff(a_ddegs, a_yddegs, a_plant, a_phase); }
123 double GetLAtotalDiffScaled(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase,
double a_scaler) {
return a_scaler* GetLAtotalDiff(a_ddegs, a_yddegs, a_plant, a_phase); }
125 double GetHeightDiffScaled(
double a_ddegs,
double a_yddegs,
int a_plant,
int a_phase,
double a_scaler) {
return a_scaler* GetHeightDiff(a_ddegs, a_yddegs, a_plant, a_phase); }
128 return m_growth[m_numbers[a_veg_type]]->m_start[a_phase][a_type];
131 bool StartValid(
int a_veg_type,
int a_phase );
147 return m_weed_percent[ a_letype ];
152 return m_bug_percent_a[ a_letype ];
157 return m_bug_percent_b[ a_letype ];
162 return m_bug_percent_c[ a_letype ];
167 return (
double) m_bug_percent_d[ a_letype ];
171 return m_growth[ a_plant_num ]->m_lownut;
175 return m_growth[ m_numbers[ a_plant ]]->m_lownut;
194 return m_data[a_index];
198 return int(std::distance(m_index.begin(), upper_bound(m_index.begin(), m_index.end(), a_value)));
229 double toleGetPollen(
int a_tole,
int a_index) {
return m_tolePollenCurves[int(a_tole)]->GetData(a_index); }
230 double toleGetNectar(
int a_tole,
int a_index) {
return m_toleNectarCurves[int(a_tole)]->GetData(a_index); }
231 double tovGetPollen(
int a_tov,
int a_index) {
return m_tovPollenCurves[int(a_tov)]->GetData(a_index); }
232 double tovGetNectar(
int a_tov,
int a_index) {
return m_tovNectarCurves[int(a_tov)]->GetData(a_index); }
double GetBugPercentB(TTypesOfVegetation a_letype)
vector< int > m_tov_pollencurvetable
double GetBugPercentA(TTypesOfVegetation a_letype)
double GetLAgreenDiff(double a_ddegs, double a_yddegs, int a_plant, int a_phase)
Get the differential in LA green for the day degrees experienced.
class PlantGrowthData * g_crops
double GetLAtotalDiff(double a_ddegs, double a_yddegs, int a_plant, int a_phase)
Get the differential in LA total for the day degrees experienced.
vector< PollenNectarDevelopmentCurve * > m_tolePollenCurves
double toleGetPollen(int a_tole, int a_index)
PollenNectarDevelopmentCurve(vector< int > *a_index, vector< double > *a_slopes)
PollenNectarDevelopmentCurve * m_pollencurveptr
vector< PollenNectarDevelopmentCurve * > m_toleNectarCurves
double GetLAgreenDiffScaled(double a_ddegs, double a_yddegs, int a_plant, int a_phase, double a_scaler)
Get the differential in LA green for the day degrees experienced, scalable depending on plant growth ...
double GetWeedPercent(TTypesOfVegetation a_letype)
double GetData(int a_index)
The basic return function for the curve - day indexed.
double GetBugPercentC(TTypesOfVegetation a_letype)
The landscape class containing all environmental and topographical data.
int toleGetNPCurveNum(TTypesOfVegetation a_tov)
Growth_Phases
Growth phase indicator.
vector< CropGrowth * > m_growth
vector< PollenNectarDevelopmentCurve * > m_tovNectarCurves
int m_CurveRefNum
a reference to identify this precise curve - needs external management
bool GetNutStatus(int a_plant_num)
double tovGetNectar(int a_tov, int a_index)
int tovGetNPCurveNum(TTypesOfVegetation a_tov)
A standard class to manage a range of pollen and nectar development curves based on indexed rates.
A standard class to contain a pollen or nectar curve based on indexed rates.
double GetHeightDiff(double a_ddegs, double a_yddegs, int a_plant, int a_phase)
Get the differential in veg height for the day degrees experienced.
double GetStartValue(int a_veg_type, int a_phase, int a_type)
double GetHeightDiffScaled(double a_ddegs, double a_yddegs, int a_plant, int a_phase, double a_scaler)
Get the differential in veg height for the day degrees experienced, scalable depending on plant growt...
double tovGetPollen(int a_tov, int a_index)
double GetBugPercentD(TTypesOfVegetation a_letype)
PollenNectarDevelopmentCurve * m_nectarcurveptr
bool GetNutStatusExt(int a_plant)
vector< PollenNectarDevelopmentCurve * > m_tovPollenCurves
double GetLAtotalDiffScaled(double a_ddegs, double a_yddegs, int a_plant, int a_phase, double a_scaler)
Get the differential in LA total for the day degrees experienced, scalable depending on plant growth ...
double toleGetNectar(int a_tole, int a_index)
vector< int > m_tole_pollencurvetable
vector< double > m_data
The slopes used.
~PollenNectarDevelopmentCurve()
const unsigned int MaxNoInflections
vector< int > m_index
the index values to the slopes