/// <summary> /// Updates the mesophyll CO2 parameter /// </summary> protected virtual void UpdateMesophyllCO2(AssimilationPathway pathway, TemperatureResponse leaf) { /*C4 & CCM overwrite this.*/ }
/// <summary> /// Retrieves a function describing assimilation along the Aj pathway /// </summary> protected abstract AssimilationFunction GetAjFunction(AssimilationPathway pathway, TemperatureResponse leaf);
/// <inheritdoc/> public virtual void UpdateIntercellularCO2(AssimilationPathway pathway, double gt, double waterUseMolsSecond) { /*C4 & CCM overwrite this.*/ }
/// <inheritdoc/> protected override void UpdateChloroplasticO2(AssimilationPathway pathway) { pathway.ChloroplasticO2 = parameters.PS2ActivityFraction * pathway.CO2Rate / (canopy.DiffusivitySolubilityRatio * pathway.Gbs) + canopy.AirO2; }
/// <inheritdoc/> protected override AssimilationFunction GetAc2Function(AssimilationPathway pathway, TemperatureResponse leaf) { throw new Exception("The C3 model does not use the Ac2 pathway"); }
/// <inheritdoc/> protected override void UpdateMesophyllCO2(AssimilationPathway pathway, TemperatureResponse leaf) { pathway.MesophyllCO2 = pathway.IntercellularCO2 - pathway.CO2Rate / leaf.GmT; }
/// <inheritdoc/> public override void UpdateIntercellularCO2(AssimilationPathway pathway, double gt, double waterUseMolsSecond) { pathway.IntercellularCO2 = ((gt - waterUseMolsSecond / 2.0) * canopy.AirCO2 - pathway.CO2Rate) / (gt + waterUseMolsSecond / 2.0); }
/// <summary> /// Updates the chloroplastic CO2 parameter /// </summary> protected virtual void UpdateChloroplasticCO2(AssimilationPathway pathway, AssimilationFunction func) { /*CCM overwrites this.*/ }
/// <summary> /// Updates the chloroplastic O2 parameter /// </summary> protected virtual void UpdateChloroplasticO2(AssimilationPathway pathway) { /*CCM overwrites this.*/ }
/// <inheritdoc/> public void UpdatePartialPressures(AssimilationPathway pathway, TemperatureResponse leaf, AssimilationFunction function) { UpdateMesophyllCO2(pathway, leaf); UpdateChloroplasticO2(pathway); UpdateChloroplasticCO2(pathway, function); }