28 #include "../../Landscape/ls.h"
29 #include "../../Landscape/cropprogs/WinterBarley.h"
56 m_field->SetMDates(0,0,g_date->DayInYear(20,7));
58 m_field->SetMDates(1,0,g_date->DayInYear(5,8));
59 m_field->SetMDates(0,1,g_date->DayInYear(25,7));
60 m_field->SetMDates(1,1,g_date->DayInYear(10,8));
61 m_field->SetMDates(0,2,g_date->DayInYear(20,7));
62 m_field->SetMDates(1,2,g_date->DayInYear(5,8));
75 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): "
76 "Harvest too late for the next crop to start!!!",
"" );
80 for (
int i=0; i<noDates; i++) {
94 int today=g_date->Date();
96 d1 = g_date->OldDays() + g_date->DayInYear( 1,7 );
99 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): "
100 "Crop start attempt between 1st Jan & 1st July",
"" );
107 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): "
108 "Crop start attempt after last possible start date",
"" );
116 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20,7 )
125 if ( g_date->Date() > d1 ) {
150 g_date->DayInYear( 5, 9 ) -
151 g_date->DayInYear())) {
162 g_date->DayInYear( 10, 9 ) -
163 g_date->DayInYear())) {
175 g_date->DayInYear( 5, 9 ) -
176 g_date->DayInYear())) {
186 g_date->DayInYear( 5, 9 ) -
187 g_date->DayInYear())) {
196 g_date->DayInYear( 5, 9 ) -
197 g_date->DayInYear())) {
202 int d1 = g_date->Date();
203 if ( d1 < g_date->OldDays() + g_date->DayInYear( 1, 9 )) {
204 d1 = g_date->OldDays() + g_date->DayInYear( 1, 9 );
212 g_date->DayInYear( 15,9 ) -
213 g_date->DayInYear())) {
218 int d1 = g_date->Date() + 14;
219 if ( d1 < g_date->OldDays() + g_date->DayInYear( 15, 9 )) {
220 d1 = g_date->OldDays() + g_date->DayInYear( 15, 9 );
232 Field * pf = dynamic_cast<Field*>(
m_field);
233 pf->Add_missed_herb_app();
234 if(
m_farm->
DoIt(35)) pf->Add_missed_herb_app();
245 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,4 ) + 365,
247 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 5,4 ) + 365,
249 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,4 ) + 365,
251 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,5 ) + 365,
254 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 16,9 ),
263 g_date->DayInYear( 30,10 ) -
264 g_date->DayInYear())) {
269 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,4 ) + 365,
276 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 5,4 ) + 365,
278 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,4 ) + 365,
280 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,5 ) + 365,
286 g_date->DayInYear( 5,5 ) -
287 g_date->DayInYear())) {
302 g_date->DayInYear( 1,5 ) -
303 g_date->DayInYear())) {
307 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 2,5 ),
314 g_date->DayInYear( 20,5 ) -
315 g_date->DayInYear())) {
332 g_date->DayInYear( 15,5 ) -
333 g_date->DayInYear())) {
350 g_date->DayInYear( 30,4 ) -
351 g_date->DayInYear())) {
356 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,5 ),
363 g_date->DayInYear( 15,5 ) -
364 g_date->DayInYear())) {
381 g_date->DayInYear( 30,5 ) -
382 g_date->DayInYear())) {
403 Field * pf = dynamic_cast<Field*>(
m_field);
404 pf->Add_missed_fi_app();
438 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,5 ),
440 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 1,5 ),
442 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,5 ),
444 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 15,5 ),
457 g_date->DayInYear( 30,5 ) -
458 g_date->DayInYear())) {
468 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20,7 ),
481 g_date->DayInYear( 31,5 ) -
482 g_date->DayInYear())) {
507 g_date->DayInYear( 15,6 ) -
508 g_date->DayInYear())) {
518 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20,7 ),
534 Field * pf = dynamic_cast<Field*>(
m_field);
535 pf->Add_missed_fi_app();
549 SimpleEvent( g_date->OldDays() + g_date->DayInYear( 20,7 ),
555 if (
m_field->GetMConstants(0)==0) {
557 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): failure in 'Harvest' execution",
"" );
593 if (
m_field->GetMConstants(2)==0) {
595 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): failure in 'HayTurning' execution",
"" );
610 if (
m_field->GetMConstants(2)==0) {
612 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): failure in 'HayBailing' execution",
"" );
623 int d1 = g_date->Date();
624 if ( d1 < g_date->OldDays() +
m_field->GetMDates(0,1)) {
625 d1 = g_date->OldDays() +
m_field->GetMDates(0,1);
633 if (
m_field->GetMConstants(2)==0) {
635 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): failure in 'StubbleHarrowing' execution",
"" );
650 g_msg->Warn( WARN_BUG,
"WinterBarley::Do(): "
651 "Unknown event type! ",
"" );