private void EffectFactorInit(double relativeHumidity) { for (int i = 0; i < insects.Length; i++) { double developmentRate = InsectParams.DevelopmentRate(i, accumulaterTemperatures[i]); double ageAdvance = InsectParams.AGE_SERIES[i] * developmentRate; Ms[i] = (int)ageAdvance; Gs[i] = ageAdvance - Ms[i]; SPs[i] = InsectParams.SurvivalRate_Enemies(i, developmentRate); SNs[i] = InsectParams.SurvicalRate_Natural(relativeHumidity, i); } }
private void TemperatureAccumulation(double temperature) { for (int i = 0; i < 10; i++) { /* * 如果该阶段的病虫个数为0 * 并且其积温为0 * 说明病虫还未发育到该阶段及后续阶段 * 因此不累加其有效温度 */ if (insects_stage[i] <= 0 && accumulaterTemperatures[i] <= 0) { break; } accumulaterTemperatures[i] = InsectParams.DailyAccumulatedTemperature(temperature, i); } }