コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        public void ApplyPesticide()
        {
            Sim.UpdateManagementEventHistory(ManagementEvent.Pesticide, PesticideIndex);
            DaysSinceApplication = 0;
            EPestApplicationPosition pos = (EPestApplicationPosition)InputModel.ApplicationPosition;
            double pest_application      = InputModel.ConcActiveIngred * ProductRateApplied * InputModel.PestEfficiency / 100.0 * InputModel.BandSpraying / 100.0;

            LastPestInput = pest_application;

            if (pos == EPestApplicationPosition.ApplyToVegetationLayer)
            {
                AppliedPestOnVeg = pest_application * Sim.SoilController.CropCover;
            }
            else
            {
                AppliedPestOnVeg = 0;
            }
            if (pos == EPestApplicationPosition.ApplyToVegetationLayer || pos == EPestApplicationPosition.ApplyToStubbleLayer)
            {
                double stubble_cover = (1 - Sim.SoilController.CropCover) * Sim.SoilController.TotalResidueCover;
                AppliedPestOnStubble = pest_application * stubble_cover;
            }
            else
            {
                AppliedPestOnStubble = 0;
            }


            AppliedPestOnSoil = pest_application - AppliedPestOnVeg - AppliedPestOnStubble;
            ++PestApplicCount;
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        public void ApplyPesticide()
        {
            sim.UpdateManagementEventHistory(ManagementEvent.mePesticide, PesticideIndex);
            DaysSinceApplication = 0;
            EPestApplicationPosition pos = (EPestApplicationPosition)dataModel.ApplicationPosition;
            double pest_application      = dataModel.ConcActiveIngred * ProductRateApplied * dataModel.PestEfficiency / 100.0 * dataModel.BandSpraying / 100.0;

            LastPestInput = pest_application;

            if (pos == EPestApplicationPosition.apApplyToVegetationLayer)
            {
                out_AppliedPestOnVeg_g_per_ha.SetValue(pest_application * sim.crop_cover);
            }
            else
            {
                out_AppliedPestOnVeg_g_per_ha.SetZero();
            }
            if (pos == EPestApplicationPosition.apApplyToVegetationLayer || pos == EPestApplicationPosition.apApplyToStubbleLayer)
            {
                double stubble_cover = (1 - sim.crop_cover) * sim.total_residue_cover;
                out_AppliedPestOnStubble_g_per_ha.SetValue(pest_application * stubble_cover);
            }
            else
            {
                out_AppliedPestOnStubble_g_per_ha.SetZero();
            }


            out_AppliedPestOnSoil_g_per_ha.SetValue(pest_application - out_AppliedPestOnVeg_g_per_ha.Value() - out_AppliedPestOnStubble_g_per_ha.Value());
            ++PestApplicCount;
        }