Пример #1
0
        private void SetNSupply(object sender, EventArgs e)
        {
            double LabileN           = Math.Max(0, StartLive.StorageN - StartLive.StorageWt * MinimumNConc.Value());
            double lrt               = LeafResidenceTime.Value();
            double senescingStorageN = cohort.SelectWhere(leaf => leaf.Age >= lrt, l => l.Live.StorageN);

            NSupply.Reallocation    = senescingStorageN * NReallocationFactor.Value();
            NSupply.Retranslocation = (LabileN - StartNReallocationSupply) * NRetranslocationFactor.Value();
            NSupply.Uptake          = 0.0;
        }
Пример #2
0
        private void SetNSupply(object sender, EventArgs e)
        {
            double  LabileN   = Math.Max(0, StartLive.StorageN - StartLive.StorageWt * MinimumNConc.Value());
            Biomass Senescing = new Biomass();

            GetSenescingLeafBiomass(out Senescing);

            NSupply.Reallocation    = Senescing.StorageN * NReallocationFactor.Value();
            NSupply.Retranslocation = (LabileN - StartNReallocationSupply) * NRetranslocationFactor.Value();
            NSupply.Uptake          = 0.0;
        }
Пример #3
0
        /// <summary>Calculate and return the nitrogen supply (g/m2)</summary>
        public virtual BiomassSupplyType CalculateNitrogenSupply()
        {
            double  LabileN   = Math.Max(0, StartLive.StorageN - StartLive.StorageWt * MinimumNConc.Value());
            Biomass Senescing = new Biomass();

            GetSenescingLeafBiomass(out Senescing);

            nitrogenSupply.Reallocation    = Senescing.StorageN * NReallocationFactor.Value();
            nitrogenSupply.Retranslocation = (LabileN - StartNReallocationSupply) * NRetranslocationFactor.Value();
            nitrogenSupply.Uptake          = 0.0;

            return(nitrogenSupply);
        }