43 #include "../../Landscape/ls.h"
44 #include "../../Landscape/cropprogs/NLCarrotsSpring.h"
87 a_field->SetMDates(0, 0, g_date->DayInYear(1, 10));
88 a_field->SetMDates(1, 0, g_date->DayInYear(15, 11));
90 a_field->SetMConstants(0, 1);
100 if (a_ev->
m_startday > g_date->DayInYear(1, 7)) {
101 if (a_field->GetMDates(0, 0) >= a_ev->
m_startday)
103 g_msg->Warn(WARN_BUG,
"NLCarrotsSpring::Do(): ",
"Harvest too late for the next crop to start!!!");
105 g_msg->Warn(
"Next Crop ", (
double)almassnum);
108 for (
int i = 0; i < noDates; i++) {
109 if (a_field->GetMDates(0, i) >= a_ev->
m_startday) {
110 a_field->SetMDates(0, i, a_ev->
m_startday - 1);
112 if (a_field->GetMDates(1, i) >= a_ev->
m_startday) {
113 a_field->SetMConstants(i, 0);
114 a_field->SetMDates(1, i, a_ev->
m_startday - 1);
122 if (g_date->Date() > d1) {
124 g_msg->Warn(WARN_BUG,
"NLCarrotsSpring::Do(): ",
"Crop start attempt after last possible start date");
126 g_msg->Warn(WARN_BUG,
"Previous Crop ", prev);
128 g_msg->Warn(
"Next Crop ", (
double)almassnum);
143 d1 = g_date->OldDays() + g_date->DayInYear(1, 3);
144 if (g_date->Date() >= d1) d1 += 365;
147 if (a_field->GetSoilType() == 2 || a_field->GetSoilType() == 6) {
152 d1 = g_date->OldDays() + g_date->DayInYear(15, 3);
153 if (g_date->Date() >= d1) d1 += 365;
165 if (!a_farm->
SpringPlough(a_field, 0.0, g_date->DayInYear(31, 3) - g_date->DayInYear())) {
176 if (a_ev->
m_lock || a_farm->DoIt_prob(0.95))
178 if (!a_farm->FP_NPK(a_field, 0.0, g_date->DayInYear(1, 5) - g_date->DayInYear())) {
183 d1 = g_date->Date() + 1;
184 if (d1 < g_date->OldDays() + g_date->DayInYear(1, 4)) {
185 d1 = g_date->OldDays() + g_date->DayInYear(1, 4);
190 if (a_ev->
m_lock || a_farm->DoIt_prob(0.95))
192 if (!a_farm->FA_NPK(a_field, 0.0, g_date->DayInYear(1, 5) - g_date->DayInYear())) {
197 d1 = g_date->Date() + 1;
198 if (d1 < g_date->OldDays() + g_date->DayInYear(1, 4)) {
199 d1 = g_date->OldDays() + g_date->DayInYear(1, 4);
205 if (!a_farm->PreseedingCultivator(a_field, 0.0, g_date->DayInYear(25, 4) - g_date->DayInYear())) {
212 if (!a_farm->BedForming(a_field, 0.0, g_date->DayInYear(30, 4) - g_date->DayInYear())) {
219 if (!a_farm->SpringSow(a_field, 0.0, g_date->DayInYear(15, 5) - g_date->DayInYear())) {
226 if (a_farm->IsStockFarmer())
233 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
235 if (!a_farm->FP_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 7) - g_date->DayInYear())) {
243 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
245 if (!a_farm->FA_AmmoniumSulphate(a_field, 0.0, g_date->DayInYear(30, 7) - g_date->DayInYear())) {
254 if (a_field->GetGreenBiomass() <= 0)
256 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
258 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 5) - g_date->DayInYear())) {
270 if (a_field->GetGreenBiomass() <= 0) {
277 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(5, 6) - g_date->DayInYear())) {
290 if (!a_farm->HerbicideTreat(a_field, 0.0, g_date->DayInYear(20, 6) - g_date->DayInYear())) {
299 if (a_ev->
m_lock || a_farm->DoIt_prob(0.80))
301 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 7) - g_date->DayInYear())) {
312 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 8) - g_date->DayInYear())) {
323 if (!a_farm->FungicideTreat(a_field, 0.0, g_date->DayInYear(30, 9) - g_date->DayInYear())) {
331 if (a_field->GetMConstants(0) == 0) {
332 if (!a_farm->Harvest(a_field, 0.0, -1)) {
333 g_msg->Warn(WARN_BUG,
"NLCarrotsSpring::Do(): failure in 'Harvest' execution",
"");
338 if (!a_farm->Harvest(a_field, 0.0, a_field->GetMDates(1, 0) - g_date->DayInYear())) {
348 g_msg->Warn(WARN_BUG,
"NLCarrotsSpring::Do(): "
349 "Unknown event type! ",
"");