Beispiel #1
0
        // 4. Public method
        //-----------------------------------------------------------------------------------------------------------------

        /// <summary>Compute the phenological development during one time-step.</summary>
        /// <remarks>Returns true when target is met.</remarks>
        public bool DoTimeStep(ref double propOfDayToUse)
        {
            bool proceedToNextPhase = false;

            if (GerminationDate != null)
            {
                if (DateUtilities.DatesEqual(GerminationDate, clock.Today))
                {
                    proceedToNextPhase = true;
                    propOfDayToUse     = 1;
                }
            }

            else if (!phenology.OnStartDayOf("Sowing") && soil.Water[SowLayer] > soil.LL15mm[SowLayer])
            {
                // Invoke an AboutToSow event.
                if (SeedImbibed != null)
                {
                    SeedImbibed.Invoke(this, new EventArgs());
                }
                proceedToNextPhase = true;
                propOfDayToUse     = 1;
            }

            return(proceedToNextPhase);
        }
Beispiel #2
0
        // 5. Private methods
        //-----------------------------------------------------------------------------------------------------------------

        private void doGermination(ref bool proceedToNextPhase, ref double propOfDayToUse)
        {
            if (SeedImbibed != null)
            {
                SeedImbibed.Invoke(this, new EventArgs());
            }
            proceedToNextPhase = true;
            propOfDayToUse     = 1;
        }