/// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="cresmultipler"></param>
        /// <param name="roughnessratio"></param>
        public void UpdateTillageParameters(ETillageType type, double cresmultipler, double roughnessratio)
        {
            double initial_crop_residue = sim.total_crop_residue;

            roughness_ratio    = roughnessratio;
            days_since_tillage = 0;
            sim.UpdateManagementEventHistory(ManagementEvent.meTillage, 0);

            sim.VegetationController.AdjustCropResidue(cresmultipler);

            tillage_residue_reduction = initial_crop_residue - sim.total_crop_residue;
            if (roughness_ratio > 0.0)
            {
                sim.rain_since_tillage = 0.0;
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="cresmultipler"></param>
        /// <param name="roughnessratio"></param>
        public void UpdateTillageParameters(ETillageType type, double cresmultipler, double roughnessratio)
        {
            double initialCropResidue = Sim.SoilController.TotalCropResidue;

            RoughnessRatio   = roughnessratio;
            DaysSinceTillage = 0;
            Sim.UpdateManagementEventHistory(ManagementEvent.Tillage, 0);

            Sim.VegetationController.AdjustCropResidue(cresmultipler);

            TillageResidueReduction = initialCropResidue - Sim.SoilController.TotalCropResidue;
            if (RoughnessRatio > 0.0)
            {
                Sim.SoilController.RainSinceTillage = 0.0;
            }
        }
 internal void UpdateTillageParameters(ETillageType type, double cresmultiplier, double roughnessratio)
 {
     try
     {
         double initialCropResidue = TotalCropResidue;
         RoughnessRatio   = roughnessratio;
         DaysSinceTillage = 0;
         //Sim.UpdateManagementEventHistory(ManagementEvent.Tillage, 0);
         foreach (var crop in VegetationModules)
         {
             crop.ResidueAmount = crop.ResidueAmount * cresmultiplier;
         }
         CalculateTotalResidue();
         TillageResidueReduction = initialCropResidue - TotalCropResidue;
         if (RoughnessRatio > 0.0)
         {
             SoilModule.RainSinceTillage = 0.0;
         }
     }
     catch (Exception ex)
     {
         throw ErrorLogger.CreateException(ex);
     }
 }