43 #include "../../Landscape/ls.h"
44 #include "../../Landscape/cropprogs/NLPotatoes.h"
88 a_field->SetMDates(0, 0, g_date->DayInYear(30, 10));
89 a_field->SetMDates(1, 0, g_date->DayInYear(30, 10));
92 a_field->SetMConstants(0, 1);
102 if (a_ev->
m_startday > g_date->DayInYear(1, 7)) {
103 if (a_field->GetMDates(0, 0) >= a_ev->
m_startday)
105 g_msg->Warn(WARN_BUG,
"NLPotatoes::Do(): ",
"Harvest too late for the next crop to start!!!");
107 g_msg->Warn(
"Next Crop ", (
double)almassnum);
110 for (
int i = 0; i < noDates; i++) {
111 if (a_field->GetMDates(0, i) >= a_ev->
m_startday) {
112 a_field->SetMDates(0, i, a_ev->
m_startday - 1);
114 if (a_field->GetMDates(1, i) >= a_ev->
m_startday) {
115 a_field->SetMConstants(i, 0);
116 a_field->SetMDates(1, i, a_ev->
m_startday - 1);
124 d1 = g_date->OldDays() + g_date->DayInYear(1, 7);
125 if (g_date->Date() < d1) {
127 printf(
"Poly: %d\n", a_field->GetPoly());
128 g_msg->Warn(WARN_BUG,
"NLPotatoes::Do(): ",
"Crop start attempt between 1st Jan & 1st July");
130 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
132 g_msg->Warn(
"Next Crop ", (
double)almassnum);
137 if (g_date->Date() > d1) {
139 g_msg->Warn(WARN_BUG,
"NLPotatoes::Do(): ",
"Crop start attempt after last possible start date");
141 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
143 g_msg->Warn(
"Next Crop ", (
double)almassnum);
159 d1 = g_date->OldDays() + g_date->DayInYear(1, 9);
169 if (!a_farm->
StubbleHarrowing(a_field, 0.0, g_date->DayInYear(5, 11) - g_date->DayInYear())) {
173 d1 = g_date->Date() + 14;
174 if (d1 < g_date->OldDays() + g_date->DayInYear(15, 10)) {
175 d1 = g_date->OldDays() + g_date->DayInYear(15, 10);
177 if (a_field->GetSoilType() == 2 || a_field->GetSoilType() == 6) {
184 if (!a_farm->
FP_Slurry(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
191 if (a_farm->IsStockFarmer())
193 if (!a_farm->FA_Slurry(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
203 if (!a_farm->SpringPlough(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
207 d1 = g_date->Date() + 7;
208 if (d1 < g_date->OldDays() + g_date->DayInYear(10, 4)) {
209 d1 = g_date->OldDays() + g_date->DayInYear(10, 4);
211 if (a_farm->IsStockFarmer())
218 if (a_ev->
m_lock || a_farm->DoIt_prob(0.50))
220 if (!a_farm->FP_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
228 if (a_ev->
m_lock || a_farm->DoIt_prob(0.50))
230 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
238 if (!a_farm->WinterPlough(a_field, 0.0, g_date->DayInYear(1, 12) - g_date->DayInYear())) {
242 if (a_farm->IsStockFarmer())
249 if (!a_farm->FP_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
256 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
263 if (!a_farm->BedForming(a_field, 0.0, g_date->DayInYear(9, 5) - g_date->DayInYear())) {
270 if (!a_farm->SpringSow(a_field, 0.0, g_date->DayInYear(10, 5) - g_date->DayInYear())) {
278 if (a_farm->IsStockFarmer())
283 if (a_farm->IsStockFarmer())
290 if (a_field->GetSoilType() != 2 && a_field->GetSoilType() != 6)
292 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
294 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
302 if (a_farm->IsStockFarmer())
309 if (a_field->GetSoilType() != 2 && a_field->GetSoilType() != 6)
311 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
313 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
321 if (a_farm->IsStockFarmer())
328 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
336 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
344 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
346 if (!a_farm->FP_ManganeseSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
354 if (a_ev->
m_lock || a_farm->DoIt_prob(0.25))
356 if (!a_farm->FA_ManganeseSulphate(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
364 if (!a_farm->HillingUp(a_field, 0.0, g_date->DayInYear(25, 5) - g_date->DayInYear())) {
371 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
373 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(30, 5) - g_date->DayInYear())) {
384 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(15, 6) - g_date->DayInYear())) {
392 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(15, 10) - g_date->DayInYear())) {
400 if (a_ev->
m_lock || a_farm->DoIt_prob(0.75))
402 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 10) - g_date->DayInYear())) {
410 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 6) - g_date->DayInYear())) {
417 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 6) - g_date->DayInYear())) {
424 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 6) - g_date->DayInYear())) {
431 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
438 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 7) - g_date->DayInYear())) {
445 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 7) - g_date->DayInYear())) {
452 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 7) - g_date->DayInYear())) {
459 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
461 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(31, 7) - g_date->DayInYear())) {
472 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 8) - g_date->DayInYear())) {
483 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 8) - g_date->DayInYear())) {
494 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 8) - g_date->DayInYear())) {
505 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(31, 8) - g_date->DayInYear())) {
516 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(7, 9) - g_date->DayInYear())) {
526 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(14, 9) - g_date->DayInYear())) {
536 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(21, 9) - g_date->DayInYear())) {
544 if (a_ev->
m_lock || a_farm->DoIt_prob(0.60))
550 if (!a_farm->InsecticideTreat(a_field, 0.0, g_date->DayInYear(30, 6) - g_date->DayInYear())) {
563 if (!a_farm->Harvest(a_field, 0.0, a_field->GetMDates(0, 0) - g_date->DayInYear())) {
572 g_msg->Warn(WARN_BUG,
"NLPotatoes::Do(): "
573 "Unknown event type! ",
"");