ALMaSS Skylark ODDox
1.1
The skylark model description following ODdox protocol
|
#include <PermanentGrassGrazed.h>
◆ PermanentGrassGrazed()
PermanentGrassGrazed::PermanentGrassGrazed |
( |
| ) |
|
|
inline |
◆ Do()
bool PermanentGrassGrazed::Do |
( |
Farm * |
a_farm, |
|
|
LE * |
a_field, |
|
|
FarmEvent * |
a_ev |
|
) |
| |
|
virtual |
Reimplemented from Crop.
57 m_field->SetMDates(0,0,g_date->DayInYear(15,9));
59 m_field->SetMDates( 1, 0, g_date->DayInYear(1,10) );
71 g_msg->Warn( WARN_BUG,
"PermanentGrassGrazed::Do(): "
72 "Harvest too late for the next crop to start!!!",
"" );
76 for (
int i=0; i<noDates; i++) {
87 int today=g_date->Date();
92 g_msg->Warn( WARN_BUG,
" PermanentGrassGrazed::Do(): "
93 "Crop start attempt after last possible start date",
"" );
101 if ( g_date->Date() > d1 ) {
118 g_date->DayInYear( 15,6 ) - g_date->DayInYear())) {
131 g_date->DayInYear( 15,6 ) - g_date->DayInYear())) {
144 g_date->DayInYear( 15,8 ) - g_date->DayInYear())) {
151 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,6 ),
158 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15, 6 ),
171 g_date->DayInYear( 15,8 ) - g_date->DayInYear()))
192 g_date->DayInYear( 16,8 ) - g_date->DayInYear())) {
202 g_date->DayInYear( 17,8 ) - g_date->DayInYear()))
216 if (
m_field->GetMConstants(0)==0) {
218 g_msg->Warn( WARN_BUG,
"PermanentGrassGrazed::Do(): failure in 'CattleOut' execution",
"" );
233 if (
m_field->GetMConstants(0)==0) {
235 g_msg->Warn( WARN_BUG,
"PermanentGrassGrazed::Do(): failure in 'CattleOut' execution",
"" );
258 if (
m_field->GetMConstants(0)==0) {
261 if(g_date->Date() ==
m_field->GetMDates(1,0)){
262 g_msg->Warn( WARN_BUG,
"PermanentGrassGrazed::Do(): failure in 'CattleIsOut' execution",
"" );
274 if (g_date->DayInYear()<g_date->DayInYear(10,9))
285 (g_date->DayInYear()<g_date->DayInYear(15,8)))
290 Field * pf = dynamic_cast<Field*>(
m_field);
291 pf->Add_missed_herb_app();
301 SimpleEvent( g_date->OldDays() + g_date->DayInYear(15,8),
308 (g_date->DayInYear()<g_date->DayInYear(15,9)))
311 g_date->DayInYear( 15,9 ) - g_date->DayInYear())) {
322 g_msg->Warn( WARN_BUG,
"PermanantGrassGrazed::Do(): "
323 "Unknown event type! ",
"" );
References Farm::CattleIsOut(), Farm::CattleOut(), cfg_herbi_app_prop, Crop::ChooseNextCrop(), Farm::CutToHay(), Farm::CutWeeds(), Farm::DoIt(), Farm::FA_NPK(), Farm::FP_NPK(), Farm::GetType(), Farm::HayBailing(), Farm::HayTurning(), Farm::HerbicideTreat(), Farm::IsStockFarmer(), 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, pgg_cattle_is_out, pgg_cattle_out1, pgg_cattle_out2, pgg_compress_straw, PGG_CUT_DATE, pgg_cut_to_hay, pgg_cut_weeds, PGG_FERTI_DATE, pgg_ferti_p, pgg_ferti_s, pgg_herbicide, pgg_raking1, pgg_raking2, pgg_start, pgg_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
bool IsStockFarmer(void)
Definition: farm.h:905
bool m_lock
Definition: farm.h:465
Definition: PermanentGrassGrazed.h:41
Definition: PermanentGrassGrazed.h:37
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
virtual bool FP_NPK(LE *a_field, double a_user, int a_days)
Apply NPK fertilizer, on a_field owned by an arable farmer.
Definition: farmfuncs.cpp:629
bool DoIt(double a_probability)
Return chance out of 0 to 100.
Definition: farm.cpp:800
bool m_first_year
Definition: farm.h:467
Definition: PermanentGrassGrazed.h:38
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
int m_startday
Definition: farm.h:466
virtual bool FA_NPK(LE *a_field, double a_user, int a_days)
Apply NPK fertilizer to a_field owned by an stock farmer.
Definition: farmfuncs.cpp:917
void SimpleEvent(long a_date, int a_todo, bool a_lock)
Adds an event to this crop management.
Definition: farm.cpp:307
virtual double Prob_multiplier()
Definition: farm.h:786
CfgFloat cfg_herbi_app_prop
TTypesOfVegetation
Definition: tov_declaration.h:30
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: PermanentGrassGrazed.h:43
Definition: PermanentGrassGrazed.h:47
Definition: PermanentGrassGrazed.h:45
Definition: PermanentGrassGrazed.h:48
Definition: PermanentGrassGrazed.h:40
Farm * m_farm
Definition: farm.h:537
LE * m_field
Definition: farm.h:538
int m_todo
Definition: farm.h:469
Definition: PermanentGrassGrazed.h:46
int m_last_date
Definition: farm.h:542
Definition: PermanentGrassGrazed.h:42
#define PGG_CUT_DATE
Definition: PermanentGrassGrazed.h:32
Definition: PermanentGrassGrazed.h:39
Definition: PermanentGrassGrazed.h:36
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
#define PGG_FERTI_DATE
Definition: PermanentGrassGrazed.h:33
FarmEvent * m_ev
Definition: farm.h:539
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: PermanentGrassGrazed.h:44
virtual bool CutWeeds(LE *a_field, double a_user, int a_days)
Carry out weed topping on a_field.
Definition: farmfuncs.cpp:2303