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; }
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; }
/// <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); }