30 #include "../../Landscape/ls.h"
31 #include "../../Landscape/cropprogs/SpringRape.h"
72 m_field->SetMDates(0,0,g_date->DayInYear(1,8));
74 m_field->SetMDates(1,0,g_date->DayInYear(1,8));
75 m_field->SetMDates(0,1,g_date->DayInYear(25,7));
76 m_field->SetMDates(1,1,g_date->DayInYear(15,8));
77 m_field->SetMDates(0,2,g_date->DayInYear(1,8));
78 m_field->SetMDates(1,2,g_date->DayInYear(15,10));
90 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): "
91 "Harvest too late for the next crop to start!!!",
"" );
95 for (
int i=0; i<noDates; i++) {
110 d1 = g_date->OldDays() + g_date->DayInYear( 1,7 );
111 if (g_date->Date() < d1)
114 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): "
115 "Crop start attempt between 1st Jan & 1st July",
"" );
121 if (g_date->Date() > d1)
125 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): "
126 "Crop start attempt after last possible start date",
"" );
134 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 5,7 )
142 d1 = g_date->OldDays() + g_date->DayInYear( 1,3 ) + 365;
143 if ( g_date->Date() > d1 ) {
155 if (g_date->Date() >= d1) d1 += 365;
180 g_date->DayInYear( 20, 3 ) - g_date->DayInYear())) {
192 g_date->DayInYear( 25, 3 ) - g_date->DayInYear())) {
201 g_date->DayInYear( 1, 4 ) - g_date->DayInYear()))
207 long newdate1 = g_date->OldDays() + g_date->DayInYear( 10, 8 );
208 long newdate2 = g_date->Date();
209 if ( newdate2 > newdate1 ) newdate1 = newdate2;
215 g_date->DayInYear( 7, 4 ) - g_date->DayInYear())) {
223 SimpleEvent(g_date->OldDays() + g_date->DayInYear(14, 4),
225 else SimpleEvent(g_date->OldDays() + g_date->DayInYear(14, 4),
228 SimpleEvent(g_date->OldDays() + g_date->DayInYear(15, 4),
230 SimpleEvent(g_date->OldDays() + g_date->DayInYear(15, 5),
232 SimpleEvent(g_date->OldDays() + g_date->DayInYear(1, 6),
234 SimpleEvent(g_date->OldDays() + g_date->DayInYear(1, 5),
238 SimpleEvent(g_date->OldDays() + g_date->DayInYear(15, 7),
244 g_date->DayInYear( 20, 4 ) - g_date->DayInYear())) {
248 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 25, 4 ),
255 g_date->DayInYear( 10, 5 ) - g_date->DayInYear())) {
263 g_date->DayInYear( 7, 5 ) - g_date->DayInYear())) {
267 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 17,5 ),
273 g_date->DayInYear( 14,5 ) - g_date->DayInYear())) {
293 Field * pf = dynamic_cast<Field*>(
m_field);
294 pf->Add_missed_fi_app();
301 g_date->DayInYear( 14, 5 ) - g_date->DayInYear()))
309 long newdate1 = g_date->OldDays() + g_date->DayInYear( 15, 5 );
310 long newdate2 = g_date->Date() + 7;
311 if ( newdate2 > newdate1 )
330 g_date->DayInYear( 15, 6 ) - g_date->DayInYear())) {
337 long newdate1 = g_date->OldDays() + g_date->DayInYear( 20, 6 );
338 long newdate2 = g_date->Date() + 7;
339 if ( newdate2 > newdate1 ) newdate1 = newdate2;
356 g_date->DayInYear( 15, 7 ) - g_date->DayInYear())) {
378 Field * pf = dynamic_cast<Field*>(
m_field);
379 pf->Add_missed_fi_app();
400 g_date->DayInYear( 15, 5 ) - g_date->DayInYear())) {
411 g_date->DayInYear( 30, 7 ) - g_date->DayInYear())) {
418 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 25, 7 ),
424 if (
m_field->GetMConstants(1)==0) {
426 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): failure in 'Harvest' execution",
"" );
435 if (EndDate>
m_field->GetMDates(0,1)) EndDate=
m_field->GetMDates(0,1);
437 else EndDate=g_date->DayInYear( 10, 8 );
454 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20, 7 ),
457 else SimpleEvent( g_date->OldDays() + g_date->DayInYear( 5, 8 ),
467 if (g_date->DayInYear()<g_date->DayInYear(15,7))
477 if (g_date->DayInYear()<g_date->DayInYear(25,7))
485 if (
m_field->GetMConstants(1)==0) {
487 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): failure in 'StubbleHarrowing' execution",
"" );
503 if (
m_field->GetMConstants(2)==0) {
505 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): failure in 'DeepPlough' execution",
"" );
531 g_msg->Warn( WARN_BUG,
"SpringRape::Do(): "
532 "Unknown event type! ",
"" );
548 g_date->DayInYear( 25, 4 ) - g_date->DayInYear())) {
554 long newdate1 = g_date->OldDays() + g_date->DayInYear( 25, 4 );
555 long newdate2 = g_date->Date() + 5;
556 if ( newdate2 > newdate1 )