Exemplo n.º 1
0
    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);
        }
    }
Exemplo n.º 2
0
    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);
        }
    }