using LeafWeb.Core.Utility;

namespace LeafWeb.Core.Entities
{
	/// <summary>
	/// The second section gives photosynthesis for each of the three limitation states at selected values of intercellular 
	/// partial pressure.Note that the corresponding values of chloraplastic CO2 partial pressure depend on the limitation state.
	/// </summary>
	public class LeafGasComparisonPhotosyntheticInfo
	{
		/// <summary>
		/// intercellular CO2 partial pressure
		/// </summary>
		[ParseInfo(1, units:"Pa")]
		public double CO2i { get; set; }

		/// <summary>
		/// Chloraplastic CO2 partial pressure for Rubisco limited photosynthesis
		/// </summary>
		[ParseInfo(2, units: "Pa")]
		public double CO2cc { get; set; }

		/// <summary>
		/// Rubisco-limited net assimilation rate calculated with the optimized parameters
		/// </summary>
		[ParseInfo(3, units: "umol/m2/s")]
		public double Ac { get; set; }

		/// <summary>
		/// Chloraplastic CO2 partial pressure for RuBP regeneration limited photosynthesis
		/// </summary>
		[ParseInfo(4, units:"Pa")]
		public double CO2cj { get; set; }

		/// <summary>
		/// RuBP regeneration-limited net assimilation rate calculated with estimated parameters
		/// </summary>
		[ParseInfo(5, units: "umol/m2/s")]
		public double Aj { get; set; }

		/// <summary>
		/// Chloraplastic CO2 partial pressure for export limited photosynthesis
		/// </summary>
		[ParseInfo(6, units: "Pa")]
		public double CO2ct { get; set; }

		/// <summary>
		/// TPU-limited net assimilation rate calculated with estimated parameters
		/// </summary>
		[ParseInfo(7, units: "umol/m2/s")]
		public double At { get; set; }

		public virtual LeafGasComparison LeafGasComparison { get; set; }
	}
}