28 #include "../../Landscape/ls.h"
29 #include "../../Landscape/cropprogs/Maize.h"
53 m_field->SetMDates(0,0,g_date->DayInYear(25,9));
55 m_field->SetMDates(1,0,g_date->DayInYear(10,11));
56 m_field->SetMDates(0,1,g_date->DayInYear(15,10));
57 m_field->SetMDates(1,1,g_date->DayInYear(30,11));
69 g_msg->Warn( WARN_BUG,
"Maize::Do(): "
70 "Harvest too late for the next crop to start!!!",
"" );
74 for (
int i=0; i<noDates; i++)
86 int today=g_date->Date();
88 d1 = g_date->OldDays() + g_date->DayInYear( 1,7 );
92 g_msg->Warn( WARN_BUG,
"Maize::Do(): "
93 "Crop start attempt between 1st Jan & 1st July",
"" );
102 g_msg->Warn( WARN_BUG,
"Maize::Do(): "
103 "Crop start attempt after last possible start date",
"" );
110 SimpleEvent( g_date->OldDays() + g_date->DayInYear(25,4),
122 if ( g_date->Date() > d1 ) {
132 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20, 3 ) + 365,
140 g_date->DayInYear( 30, 11 ) - g_date->DayInYear())) {
149 g_date->DayInYear( 30, 11 ) - g_date->DayInYear())) {
153 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1, 4 ) + 365,
159 g_date->DayInYear( 25, 4 ) - g_date->DayInYear())) {
164 d1 = g_date->OldDays() + g_date->DayInYear( 1, 4 );
165 if ( g_date->Date()+1 > d1 ) {
166 d1 = g_date->Date()+1;
174 g_date->DayInYear( 30, 4 ) - g_date->DayInYear())) {
183 g_date->DayInYear( 1, 5 ) - g_date->DayInYear())) {
192 g_date->DayInYear( 10, 5 ) - g_date->DayInYear())) {
197 d1 = g_date->OldDays() + g_date->DayInYear( 25, 4 );
198 if ( g_date->Date() > d1 ) {
207 g_date->DayInYear( 15, 5 ) - g_date->DayInYear())) {
217 g_date->DayInYear( 20, 5 ) - g_date->DayInYear())) {
223 d1 = g_date->OldDays() + g_date->DayInYear( 1, 5 );
231 d1 = g_date->OldDays() + g_date->DayInYear( 2, 5 );
246 Field * pf = dynamic_cast<Field*>(
m_field);
247 pf->Add_missed_herb_app();
248 if(
m_farm->
DoIt(59)) pf->Add_missed_herb_app();
259 d1 = g_date->OldDays() + g_date->DayInYear( 1, 5 );
269 g_date->DayInYear( 25, 5 ) - g_date->DayInYear())) {
274 d1 = g_date->OldDays() + g_date->DayInYear( 1, 5 );
284 g_date->DayInYear( 25, 5 ) - g_date->DayInYear())) {
290 d1 = g_date->OldDays() + g_date->DayInYear( 10, 5 );
298 d1 = g_date->OldDays() + g_date->DayInYear( 21, 5 );
299 if ( g_date->Date() + 1 > d1 ) {
300 d1 = g_date->Date() + 1;
310 g_date->DayInYear( 5, 6 ) - g_date->DayInYear())) {
315 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1, 7 ),
321 g_date->DayInYear( 20, 6 ) - g_date->DayInYear())) {
325 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1, 7 ),
332 g_date->DayInYear( 15, 7 ) - g_date->DayInYear())) {
338 d1 = g_date->OldDays() + g_date->DayInYear( 16, 7 );
339 if ( g_date->Date() + 7 > d1 ) {
340 d1 = g_date->Date() + 7;
348 g_date->DayInYear( 30, 7 ) - g_date->DayInYear())) {
354 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 25, 9 ),
360 m_field->GetMDates(1,0) - g_date->DayInYear())) {
365 d1 = g_date->OldDays() +
m_field->GetMDates(0,1);
366 if ( g_date->Date() > d1 ) {
377 g_date->DayInYear())) {
382 d1=g_date->DayInYear();
387 g_msg->Warn( WARN_BUG,
"Maize::Do(): "
388 "Unknown event type! ",
"" );