ALMaSS Skylark ODDox
1.1
The skylark model description following ODdox protocol
|
#include <PermanentGrassLowYield.h>
◆ PermanentGrassLowYield()
PermanentGrassLowYield::PermanentGrassLowYield |
( |
| ) |
|
|
inline |
◆ Do()
bool PermanentGrassLowYield::Do |
( |
Farm * |
a_farm, |
|
|
LE * |
a_field, |
|
|
FarmEvent * |
a_ev |
|
) |
| |
|
virtual |
Reimplemented from Crop.
56 m_field->SetMDates(0, 0, g_date->DayInYear(15, 9));
58 m_field->SetMDates(1, 0, g_date->DayInYear(1, 10));
70 g_msg->Warn(WARN_BUG,
"PermanentGrassLowYield::Do(): "
71 "Harvest too late for the next crop to start!!!",
"");
75 for (
int i = 0; i < noDates; i++) {
86 int today = g_date->Date();
91 g_msg->Warn(WARN_BUG,
" PermanentGrassLowYield::Do(): "
92 "Crop start attempt after last possible start date",
"");
99 if (g_date->Date() > d1) {
119 SimpleEvent(g_date->OldDays() + g_date->DayInYear(15, 6),
134 g_date->DayInYear(25, 6) - g_date->DayInYear()))
150 g_date->DayInYear(26, 6) - g_date->DayInYear())) {
160 g_date->DayInYear(1, 7) - g_date->DayInYear()))
175 if (
m_field->GetMConstants(0) == 0) {
178 g_msg->Warn(WARN_BUG,
"PermanentGrassLowYield::Do(): failure in 'CattleOut' execution",
"");
194 if (
m_field->GetMConstants(0) == 0) {
196 g_msg->Warn(WARN_BUG,
"PermanentGrassLowYield::Do(): failure in 'CattleOut' execution",
"");
219 if (
m_field->GetMConstants(0) == 0) {
222 if (g_date->Date() ==
m_field->GetMDates(1, 0)){
223 g_msg->Warn(WARN_BUG,
"PermanentGrassLowYield::Do(): failure in 'CattleIsOut' execution",
"");
235 if (g_date->DayInYear() < g_date->DayInYear(10, 9))
246 (g_date->DayInYear() < g_date->DayInYear(15, 8)))
251 Field * pf = dynamic_cast<Field*>(
m_field);
252 pf->Add_missed_herb_app();
262 SimpleEvent(g_date->OldDays() + g_date->DayInYear(15, 8),
269 (g_date->DayInYear() < g_date->DayInYear(15, 9)))
272 g_date->DayInYear(15, 9) - g_date->DayInYear())) {
283 g_msg->Warn(WARN_BUG,
"PermanantGrassLowYield::Do(): "
284 "Unknown event type! ",
"");
References Farm::CattleIsOut(), Farm::CattleOut(), cfg_herbi_app_prop, Crop::ChooseNextCrop(), Farm::CutToHay(), Farm::CutWeeds(), Farm::DoIt(), Farm::GetType(), Farm::HayBailing(), Farm::HayTurning(), Farm::HerbicideTreat(), Crop::m_ev, Crop::m_farm, Crop::m_field, Crop::m_first_date, FarmEvent::m_first_year, Crop::m_last_date, FarmEvent::m_lock, FarmEvent::m_startday, FarmEvent::m_todo, pgly_cattle_is_out, pgly_cattle_out1, pgly_cattle_out2, pgly_compress_straw, PGLY_CUT_DATE, pgly_cut_to_hay, pgly_cut_weeds, pgly_herbicide, pgly_raking1, pgly_raking2, pgly_start, pgly_wait, Farm::Prob_multiplier(), Crop::SimpleEvent(), Farm::Spraying_herbicides(), and tof_OptimisingFarm.
The documentation for this class was generated from the following files:
virtual bool HerbicideTreat(LE *a_field, double a_user, int a_days)
Apply herbicide to a_field.
Definition: farmfuncs.cpp:1156
Definition: PermanentGrassLowYield.h:41
bool m_lock
Definition: farm.h:465
virtual bool CattleIsOut(LE *a_field, double a_user, int a_days, int a_max)
Generate a 'cattle_out' event for every day the cattle are on a_field.
Definition: farmfuncs.cpp:1974
bool DoIt(double a_probability)
Return chance out of 0 to 100.
Definition: farm.cpp:800
Definition: PermanentGrassLowYield.h:37
bool m_first_year
Definition: farm.h:467
TTypesOfFarm GetType(void)
Definition: farm.h:901
virtual bool CutToHay(LE *a_field, double a_user, int a_days)
Carry out hay cutting on a_field.
Definition: farmfuncs.cpp:2269
int m_first_date
Definition: farm.h:540
CfgFloat cfg_herbi_app_prop
int m_startday
Definition: farm.h:466
void SimpleEvent(long a_date, int a_todo, bool a_lock)
Adds an event to this crop management.
Definition: farm.cpp:307
#define PGLY_CUT_DATE
Definition: PermanentGrassLowYield.h:32
virtual double Prob_multiplier()
Definition: farm.h:786
TTypesOfVegetation
Definition: tov_declaration.h:30
Definition: PermanentGrassLowYield.h:44
virtual bool Spraying_herbicides(TTypesOfVegetation)
Definition: farm.h:784
virtual bool HayBailing(LE *a_field, double a_user, int a_days)
Carry out hay bailing on a_field.
Definition: farmfuncs.cpp:2184
Definition: PermanentGrassLowYield.h:36
Definition: PermanentGrassLowYield.h:39
Definition: PermanentGrassLowYield.h:45
Farm * m_farm
Definition: farm.h:537
LE * m_field
Definition: farm.h:538
int m_todo
Definition: farm.h:469
int m_last_date
Definition: farm.h:542
Definition: PermanentGrassLowYield.h:43
Definition: PermanentGrassLowYield.h:35
void ChooseNextCrop(int a_no_dates)
Chooses the next crop to grow in a field.
Definition: farm.cpp:318
virtual bool HayTurning(LE *a_field, double a_user, int a_days)
Carry out hay turning on a_field.
Definition: farmfuncs.cpp:2159
FarmEvent * m_ev
Definition: farm.h:539
Definition: PermanentGrassLowYield.h:40
virtual bool CattleOut(LE *a_field, double a_user, int a_days)
Start a grazing event on a_field today.
Definition: farmfuncs.cpp:1910
Definition: PermanentGrassLowYield.h:42
Definition: PermanentGrassLowYield.h:38
virtual bool CutWeeds(LE *a_field, double a_user, int a_days)
Carry out weed topping on a_field.
Definition: farmfuncs.cpp:2303