ALMaSS Skylark ODDox
1.1
The skylark model description following ODdox protocol
|
Rotational set-aside management class
.
More...
#include <setaside.h>
Public Member Functions | |
bool | Do (Farm *a_farm, LE *a_field, FarmEvent *a_ev) |
The one and only method for a crop management plan. All farm actions go through here. More... | |
SetAside () | |
![]() | |
virtual | ~Crop () |
Crop () | |
int | GetFirstDate (void) |
void | ChooseNextCrop (int a_no_dates) |
Chooses the next crop to grow in a field. More... | |
int | GetCropClassification () |
void | SetCropClassification (int a_classification) |
Additional Inherited Members | |
![]() | |
void | SimpleEvent (long a_date, int a_todo, bool a_lock) |
Adds an event to this crop management. More... | |
void | SimpleEvent_ (long a_date, int a_todo, bool a_lock, Farm *a_farm, LE *a_field) |
Adds an event to this crop management without relying on member variables. More... | |
![]() | |
Farm * | m_farm |
LE * | m_field |
FarmEvent * | m_ev |
int | m_first_date |
int | m_count |
int | m_last_date |
int | m_ddegstoharvest |
int | m_CropClassification |
Rotational set-aside management class
.
setaside.h::SetAsideToDo is the list of things that a farmer can do if he is has rotational setaside, at least following this basic plan. For setaside this list is pretty short, because he can't do much with standard setaside (rules as of DK, 2000). So all we have to do is figure out when to do the different things using SetAside::Do Once we have done some kind of management, then an event is triggered and the fact that this particular management is done is registered with the particular polygon. This information is available for any ALMaSS components to inspect - e.g. animals & birds.
|
inline |
References Crop::m_first_date.
The one and only method for a crop management plan. All farm actions go through here.
Called every time something is done to the crop by the farmer in the first instance it is always called with m_ev->todo set to start, but susequently will be called whenever the farmer wants to carry out a new operation.
This method details all the management and relationships between operations necessary to grow and ALMaSS crop - in this case rotational setaside.
Reimplemented from Crop.
References Farm::CattleIsOut(), Farm::CattleOut(), Crop::ChooseNextCrop(), Farm::CutToHay(), Farm::CutToSilage(), Farm::DoIt(), Farm::GetType(), 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, sa_cattle_is_out, sa_cattle_out, sa_cut_to_hay, sa_cut_to_silage, sa_start, sa_wait, Crop::SimpleEvent(), and tof_OptimisingFarm.