/// <summary> /// /// </summary> /// <param name="canopy"></param> /// <param name="pathway"></param> /// <param name="water"></param> /// <param name="leaf"></param> public Transpiration( ICanopyParameters canopy, IPathwayParameters pathway, IWaterInteraction water, TemperatureResponse leaf ) { Canopy = canopy; Pathway = pathway; Water = water; Leaf = leaf; }
public CanopyAttributes( ICanopyParameters canopy, IPathwayParameters pathway, IAssimilationArea sunlit, IAssimilationArea shaded ) { Canopy = canopy; this.pathway = pathway; Sunlit = sunlit; Shaded = shaded; }
public DCAPSTModel( ISolarGeometry solar, ISolarRadiation radiation, ITemperature temperature, IPathwayParameters pathway, ICanopyAttributes canopy, Transpiration trans ) { Solar = solar; Radiation = radiation; Temperature = temperature; this.pathway = pathway; Canopy = canopy; transpiration = trans; }
/// <summary> /// /// </summary> /// <param name="canopy"></param> /// <param name="parameters"></param> /// <returns></returns> public AssimilationCCM(ICanopyParameters canopy, IPathwayParameters parameters) : base(canopy, parameters) { }
public TemperatureResponse(ICanopyParameters canopy, IPathwayParameters pathway) { this.canopy = canopy; this.pathway = pathway; }
/// <summary> /// /// </summary> /// <param name="canopy"></param> /// <param name="pathway"></param> public AssimilationPathway(ICanopyParameters canopy, IPathwayParameters pathway) { Canopy = canopy; Pathway = pathway; }
/// <summary> /// /// </summary> /// <param name="canopy"></param> /// <param name="parameters"></param> public Assimilation(ICanopyParameters canopy, IPathwayParameters parameters) { this.canopy = canopy; this.parameters = parameters; }
/// <summary> /// /// </summary> /// <param name="CP"></param> /// <param name="PP"></param> /// <param name="DOY"></param> /// <param name="latitude"></param> /// <param name="maxT"></param> /// <param name="minT"></param> /// <param name="radn"></param> /// <param name="rpar"></param> /// <returns></returns> public static DCAPSTModel SetUpModel( ICanopyParameters CP, IPathwayParameters PP, int DOY, double latitude, double maxT, double minT, double radn, double rpar) { // Model the solar geometry var SG = new SolarGeometry { Latitude = latitude.ToRadians(), DayOfYear = DOY }; // Model the solar radiation var SR = new SolarRadiation(SG) { Daily = radn, RPAR = rpar }; // Model the environmental temperature var TM = new Temperature(SG) { MaxTemperature = maxT, MinTemperature = minT, AtmosphericPressure = 1.01325 }; // Model the pathways var SunlitAc1 = new AssimilationPathway(CP, PP); var SunlitAc2 = new AssimilationPathway(CP, PP); var SunlitAj = new AssimilationPathway(CP, PP); var ShadedAc1 = new AssimilationPathway(CP, PP); var ShadedAc2 = new AssimilationPathway(CP, PP); var ShadedAj = new AssimilationPathway(CP, PP); // Model the canopy IAssimilation A; if (CP.Type == CanopyType.C3) { A = new AssimilationC3(CP, PP); } else if (CP.Type == CanopyType.C4) { A = new AssimilationC4(CP, PP); } else { A = new AssimilationCCM(CP, PP); } var sunlit = new AssimilationArea(SunlitAc1, SunlitAc2, SunlitAj, A); var shaded = new AssimilationArea(ShadedAc1, ShadedAc2, ShadedAj, A); var CA = new CanopyAttributes(CP, PP, sunlit, shaded); // Model the transpiration var WI = new WaterInteraction(TM); var TR = new TemperatureResponse(CP, PP); var TS = new Transpiration(CP, PP, WI, TR); // Model the photosynthesis var DM = new DCAPSTModel(SG, SR, TM, PP, CA, TS) { B = 0.409 }; return(DM); }