// 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); }
// 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 (!phenology.OnStartDayOf("Sowing") && soil.Water[SowLayer] > soil.LL15mm[SowLayer]) { proceedToNextPhase = true; propOfDayToUse = 1; } return(proceedToNextPhase); }
//6. Public methode //----------------------------------------------------------------------------------------------------------------- /// <summary> Do our timestep development </summary> public bool DoTimeStep(ref double propOfDayToUse) { bool proceedToNextPhase = false; TTForTimeStep = phenology.thermalTime.Value() * propOfDayToUse; if (!phenology.OnStartDayOf("Sowing") && soil.Water[SowLayer] > soil.LL15mm[SowLayer]) { proceedToNextPhase = true; propOfDayToUse = 0.999; TTForTimeStep *= (1 - propOfDayToUse); } TTinPhase += TTForTimeStep; return(proceedToNextPhase); }
// 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)) { doGermination(ref proceedToNextPhase, ref propOfDayToUse); } } else if (!phenology.OnStartDayOf("Sowing") && waterBalance.SWmm[SowLayer] > soilPhysical.LL15mm[SowLayer]) { doGermination(ref proceedToNextPhase, ref propOfDayToUse); } return(proceedToNextPhase); }
//6. Public methode //----------------------------------------------------------------------------------------------------------------- /// <summary> Do our timestep development </summary> public double DoTimeStep(double PropOfDayToUse) { TTForToday = phenology.ThermalTime.Value() * PropOfDayToUse; TTinPhase += TTForToday; bool CanGerminate = true; if (Soil != null) { CanGerminate = !phenology.OnStartDayOf("Sowing") && Soil.Water[SowLayer] > Soil.LL15mm[SowLayer]; } if (CanGerminate) { return(0.999); } else { return(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 (!phenology.OnStartDayOf("Sowing") && soil.Water[SowLayer] > soil.LL15mm[SowLayer]) { if (phenology.SorghumFlag != null) { if (phenology.DaysAfterSowing > 0) { proceedToNextPhase = true; propOfDayToUse = 1; } } else { proceedToNextPhase = true; propOfDayToUse = 1; } } return(proceedToNextPhase); }