Commit 3c5fcf3e authored by Loic Manceau's avatar Loic Manceau
Browse files

Merge branch 'Development' into 'master'

Development

See merge request siriusquality/sqcode/siriusquality-bioma-wheatpotentiallai-component!2
parents a49b69e5 19bf9e94
File added
...@@ -20,7 +20,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -20,7 +20,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
Console.WriteLine("*Choose the day after sowing when the simulation have to stop (between 0 and 68)"); Console.WriteLine("*Choose the day after sowing when the simulation have to stop (between 0 and 68)");
string stopstr = Console.ReadLine(); string stopstr = Console.ReadLine();
stop = Int32.Parse(stopstr); stop = Int32.Parse(stopstr);
stop = Math.Min(68,stop); stop = Math.Min(68, stop);
#endregion #endregion
...@@ -292,7 +292,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -292,7 +292,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
#endregion #endregion
#region Intantiation of other ouptuts #region Instantiation of other ouptuts
//Cumulative shoot thermal time //Cumulative shoot thermal time
double cumulTTShoot = 0.0; double cumulTTShoot = 0.0;
...@@ -305,7 +305,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -305,7 +305,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
bool HasNewLeafAppeared = false; bool HasNewLeafAppeared = false;
int newLeafindex = 0; int newLeafindex = 0;
int newLeafLastPhytoNum =0; int newLeafLastPhytoNum = 0;
#endregion #endregion
...@@ -315,31 +315,22 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -315,31 +315,22 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
//Biomass density of the leaf layer (per unit of area) //Biomass density of the leaf layer (per unit of area)
//Value from Yecora Rojo wheat variety //Value from Yecora Rojo wheat variety
double specificWeight = 35.0;//g(DM)/m²(leaf) double specificWeight = 35.0;//g(DM)/m²(leaf)
//Phyllochronic duration of leaf lamina expansion
//Value from Yecora Rojo wheat variety
double PexpL = 1.1;
//Daily available Nitrogen for stress factor calculation (gN/m²) //Daily available Nitrogen for stress factor calculation (gN/m²)
//It is a large amount to mimic Nitrogen unlimited cultivation //It is a large amount to mimic Nitrogen unlimited cultivation
double availN = 2.5; double availN = 2.5;
//Critical area-based nitrogen content for leaf expansion (g(N)/m²(leaf)
//Value from Yecora Rojo wheat variety
double SLNcri = 1.3;
#endregion #endregion
#region intermediate #region intermediate
List<LeafLayer> AllLeaves = new List<LeafLayer>(); List<LeafLayer> AllLeaves = new List<LeafLayer>();
double previousLeafNumber = 0.0; double previousLeafNumber = 0.0;
#endregion
#endregion
#region Ouputs #region Ouputs
...@@ -377,7 +368,6 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -377,7 +368,6 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
#endregion #endregion
#region Create Leaf Layer #region Create Leaf Layer
if (iday - 1 >= 0) previousLeafNumber = LeafNumber[iday - 1]; if (iday - 1 >= 0) previousLeafNumber = LeafNumber[iday - 1];
...@@ -450,104 +440,55 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -450,104 +440,55 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
#region Grow/Kill leaves #region Grow/Kill leaves
int ileaf = 0; #region Calculate increase/deacrease in area index
foreach (LeafLayer leaflayer in AllLeaves)
{
#region Grow
if (leaflayer.State == LeafState.Growing)
{
#region Stress Growth factor
double actualDeltaAI = 0.0;
if (wheatlaiwrapper_.getIncDeltaAreaLimitSF() != 0)
{
actualDeltaAI = wheatlaiwrapper_.getIncDeltaAreaLimitSF() * Math.Min(1.0, availN / (wheatlaiwrapper_.getIncDeltaAreaLimitSF() * SLNcri));
}
double stressGrowth = 0.0;
if (wheatlaiwrapper_.getPotentialIncDeltaArea() != 0.0) stressGrowth = actualDeltaAI / wheatlaiwrapper_.getPotentialIncDeltaArea();
wheatlaiwrapper_.UpdateAreas(cumulTTShoot, availN, AllLeaves);
#endregion #endregion
#region Area Index increase #region Shoot Area Index and Dry Matter dynamics
leaflayer.DeltaAI = wheatlaiwrapper_.getWaterLimitedPotDeltaAI(ileaf) * stressGrowth; int ileaf = 0;
if ((cumulTTShoot - leaflayer.TTem) < leaflayer.LayerPhyllochron * PexpL) foreach (LeafLayer leaflayer in AllLeaves)
{ {
leaflayer.laminaAI += leaflayer.DeltaAI;
}
else
{
leaflayer.sheathAI += leaflayer.DeltaAI;
}
#region Shoot Area Index increase/Decrease
ShootAI += leaflayer.DeltaAI; ShootAI += leaflayer.DeltaAI;
#endregion #endregion
#region bioMass Increase #region bioMass Increase
if (leaflayer.State == LeafState.Growing)
{
leaflayer.DeltaDM = leaflayer.DeltaAI * specificWeight; leaflayer.DeltaDM = leaflayer.DeltaAI * specificWeight;
ShootDM += leaflayer.DeltaDM; ShootDM += leaflayer.DeltaDM;
#endregion
} }
#endregion #endregion
#region Kill #region Biomass decrease
if (leaflayer.State == LeafState.Senescing) if (leaflayer.State == LeafState.Senescing)
{ {
if (leaflayer.GAI > 0.0) leaflayer.DeltaDM = leaflayer.DeltaAI * specificWeight;
{ ShootDM += leaflayer.DeltaDM;
#region Area Index decrease
//When leaves are senescing wheatlaiwrapper_.getWaterLimitedPotDeltaAI(ileaf) is negative
//We add a negative number to AI and DM, the leaves are actually dying
double deltalaminaAI = wheatlaiwrapper_.getWaterLimitedPotDeltaAI(ileaf) * (leaflayer.laminaAI / leaflayer.GAI);
double deltasheathAI = wheatlaiwrapper_.getWaterLimitedPotDeltaAI(ileaf) * (leaflayer.sheathAI / leaflayer.GAI);
leaflayer.sheathAI += deltalaminaAI;
leaflayer.laminaAI += deltasheathAI;
leaflayer.DeltaAI = deltalaminaAI + deltasheathAI;
ShootAI += leaflayer.DeltaAI;
#endregion
#region Biomass decrease
leaflayer.DeltaDM = leaflayer.DeltaAI * specificWeight;
ShootDM += leaflayer.DeltaDM;
#endregion
}
} }
#endregion #endregion
ileaf++; ileaf++;
} }
#endregion #endregion
#endregion
#region Console Write #region Console Write
// Call an output of the component // Call an output of the component
// do phenology_.My output // do wheatlaiwrapper_.My output
// e.g. wheatlaiwrapper_.getLeafStateList() List of the leaf layer states (Growing, Senecsing, dead...) // e.g. wheatlaiwrapper_.getLeafStateList() List of the leaf layer states (Growing, Senecsing, dead...)
//... //...
...@@ -592,16 +533,13 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -592,16 +533,13 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
+ S + space.Substring(0, len - S.Length)); + S + space.Substring(0, len - S.Length));
} }
#endregion #endregion
} }
#region Console Write #region Console Write
Console.Write("type \"C\" to continue, something else to exit"); Console.Write("type \"C\" to continue, something else to exit");
string brkcond = Console.ReadLine(); string brkcond = Console.ReadLine();
if (brkcond != "C") break; if (brkcond != "C") break;
#endregion #endregion
} }
......
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
<ProjectGuid>{F083391A-C1E7-4CC0-B68C-7F62D7B58326}</ProjectGuid> <ProjectGuid>{F083391A-C1E7-4CC0-B68C-7F62D7B58326}</ProjectGuid>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SiriusQuality_SiriusQuality_WheatLAIConsole</RootNamespace> <RootNamespace>SiriusQuality_WheatLAIConsole</RootNamespace>
<AssemblyName>SiriusQuality-SiriusQuality-WheatLAIConsole</AssemblyName> <AssemblyName>SiriusQuality-WheatLAIConsole</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
</PropertyGroup> </PropertyGroup>
......
...@@ -43,6 +43,8 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -43,6 +43,8 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
} }
public double incDeltaArea { get { return wheatLaistate_.incDeltaArea; } }
private int previousIndex = -1; private int previousIndex = -1;
...@@ -70,6 +72,8 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -70,6 +72,8 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
double PlagSL=4.0; double PlagSL=4.0;
double PsenLL=5.0; double PsenLL=5.0;
double PsenSL=3.3; double PsenSL=3.3;
double SLNcri = 1.3;
#endregion #endregion
...@@ -131,15 +135,36 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -131,15 +135,36 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
wheatLAI_.Estimate(wheatLaistate_, wheatLeafstate_, wheatLeafstate1_, null); wheatLAI_.Estimate(wheatLaistate_, wheatLeafstate_, wheatLeafstate1_, null);
//Fill the objects of the leafLayer Class with the content of leaf layers of the component //Fill the objects of the leafLayer Class with the content of leaf layers of the component
FillOutputLayersWheat(All); FillOutputLayersWheat(All,true);
} }
#endregion #endregion
#region Update Area Function
public void UpdateAreas(double cumulTTShoot, double availN, List<LeafLayer> All)
{
wheatLaistate_.cumulTTShoot = cumulTTShoot;
wheatLaistate_.availableN = availN;
wheatLaistate_.incDeltaAreaLimitSF = getIncDeltaAreaLimitSF();
wheatLaistate_.potentialIncDeltaArea = getPotentialIncDeltaArea();
for (int ilayer = 0; ilayer < All.Count; ilayer++) wheatLaistate_.WaterLimitedPotDeltaAIList[ilayer] = getWaterLimitedPotDeltaAI(ilayer);
FillIntputLayersWheat(All);
wheatLAI_.UpdateLeafArea(wheatLaistate_, wheatLeafstate_, wheatLeafstate1_, null);
FillOutputLayersWheat(All, false);
}
#endregion
#region Utilities #region Utilities
#region LoadParameters #region LoadParameters
private void loadParametersWheat() private void loadParametersWheat()
{ {
...@@ -161,10 +186,11 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -161,10 +186,11 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
wheatLAI_.PlagSL = PlagSL; wheatLAI_.PlagSL = PlagSL;
wheatLAI_.PsenLL = PsenLL; wheatLAI_.PsenLL = PsenLL;
wheatLAI_.PsenSL = PsenSL; wheatLAI_.PsenSL = PsenSL;
wheatLAI_.SLNcri = SLNcri;
} }
#endregion #endregion
#region Output state convertors #region Output state convertors
private List<LeafState> GetStateListWheat() private List<LeafState> GetStateListWheat()
{ {
...@@ -226,7 +252,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -226,7 +252,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
#endregion #endregion
#region Connection with Leaf layer object #region Connection with Leaf layer object
private void FillIntputLayersWheat(List<LeafLayer> All) private void FillIntputLayersWheat(List<LeafLayer> All)
{ {
...@@ -266,37 +292,42 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -266,37 +292,42 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
} }
} }
private void FillOutputLayersWheat(List<LeafLayer> All) private void FillOutputLayersWheat(List<LeafLayer> All, bool isEstimate)
{ {
for (int ilayer = 0; ilayer < wheatLeafstate_.State.Count; ilayer++) for (int ilayer = 0; ilayer < wheatLeafstate_.State.Count; ilayer++)
{ {
if (isEstimate)
switch (wheatLeafstate_.State[ilayer])
{ {
case 0: switch (wheatLeafstate_.State[ilayer])
All[ilayer].setState(LeafState.Growing); {
break; case 0:
case 1: All[ilayer].setState(LeafState.Growing);
All[ilayer].setState(LeafState.Mature); break;
break; case 1:
case 2: All[ilayer].setState(LeafState.Mature);
All[ilayer].setState(LeafState.Senescing); break;
break; case 2:
case 3: All[ilayer].setState(LeafState.Senescing);
All[ilayer].setState(LeafState.Dead); break;
break; case 3:
All[ilayer].setState(LeafState.Dead);
break;
}
All[ilayer].TTsen = wheatLeafstate_.TTsen[ilayer];
All[ilayer].TTmat = wheatLeafstate_.TTmat[ilayer];
All[ilayer].TTgroLamina = wheatLeafstate_.TTGroLamina[ilayer];
if (wheatLeafstate_.isSmallPhytomer[ilayer] == 1) All[ilayer].IsSmallPhytomer = true;
else All[ilayer].IsSmallPhytomer = false;
}
else
{
All[ilayer].MaxAI = wheatLeafstate1_.MaxAI[ilayer];
All[ilayer].DeltaAI = wheatLeafstate_.deltaAI[ilayer];
All[ilayer].laminaAI=wheatLeafstate_.LaminaAI[ilayer];
All[ilayer].sheathAI=wheatLeafstate_.SheathAI[ilayer];
} }
All[ilayer].TTsen = wheatLeafstate_.TTsen[ilayer];
All[ilayer].TTmat = wheatLeafstate_.TTmat[ilayer];
All[ilayer].TTgroLamina = wheatLeafstate_.TTGroLamina[ilayer];
if (wheatLeafstate_.isSmallPhytomer[ilayer] == 1) All[ilayer].IsSmallPhytomer = true;
else All[ilayer].IsSmallPhytomer = false;
All[ilayer].setPrematurelyDying(wheatLeafstate1_.isPrematurelyDying[ilayer]);
} }
...@@ -305,7 +336,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -305,7 +336,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
#endregion #endregion
#region create a conmponent leaf layer #region create a conmponent leaf layer
public void CreateLeafLayerLAIComponentWheat() public void CreateLeafLayerLAIComponentWheat()
{ {
...@@ -324,10 +355,15 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -324,10 +355,15 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
wheatLeafstate_.laminaSpecificN.Add(0.0); wheatLeafstate_.laminaSpecificN.Add(0.0);
wheatLeafstate_.LaminaAI.Add(0.0); wheatLeafstate_.LaminaAI.Add(0.0);
wheatLeafstate_.SheathAI.Add(0.0); wheatLeafstate_.SheathAI.Add(0.0);
wheatLeafstate_.deltaAI.Add(0.0);
wheatLeafstate1_.State.Add(0); wheatLeafstate1_.State.Add(0);
wheatLeafstate1_.isPrematurelyDying.Add(0); wheatLeafstate1_.isPrematurelyDying.Add(0);
wheatLeafstate1_.MaxAI.Add(0.0);
wheatLeafstate1_.GAI.Add(0.0);
wheatLeafstate1_.LaminaAI.Add(0.0);
wheatLeafstate1_.SheathAI.Add(0.0);
} }
...@@ -336,7 +372,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole ...@@ -336,7 +372,7 @@ namespace SiriusQuality_SiriusQuality_WheatLAIConsole
#endregion #endregion
#region Intantiation #region Instantiation
//Composite strategy instantiation //Composite strategy instantiation
private SiriusQualityWheatLAI.Strategies.WheatLAI wheatLAI_; private SiriusQualityWheatLAI.Strategies.WheatLAI wheatLAI_;
......
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\obj\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.csprojResolveAssemblyReference.cache
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.exe.config C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.exe.config
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.exe C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.exe
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.pdb C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.pdb
...@@ -8,6 +9,6 @@ C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI- ...@@ -8,6 +9,6 @@ C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\CRA.ModelLayer.dll C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\CRA.ModelLayer.dll
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-WheatLAI.dll C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-WheatLAI.dll
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-WheatLAI.pdb C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-WheatLAI.pdb
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\obj\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.csprojResolveAssemblyReference.cache
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\obj\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.exe C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\obj\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.exe
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\obj\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.pdb C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\obj\Debug\SiriusQuality-SiriusQuality-WheatLAIConsole.pdb
C:\Users\mancealo\Documents\GitSiriusCode\SiriusQuality-BioMa-WheatPotentialLAI-Component\SiriusQuality-SiriusQuality-WheatLAIConsole\bin\Debug\SiriusQuality-WheatLAIConsole.exe.config
...@@ -5,7 +5,7 @@ VisualStudioVersion = 12.0.21005.1 ...@@ -5,7 +5,7 @@ VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SiriusQuality-WheatLAI", "SiriusQuality-WheatLAI\SiriusQuality-WheatLAI.csproj", "{59336D65-9DE8-4156-B7E0-E1713A5F3F39}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SiriusQuality-WheatLAI", "SiriusQuality-WheatLAI\SiriusQuality-WheatLAI.csproj", "{59336D65-9DE8-4156-B7E0-E1713A5F3F39}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SiriusQuality-SiriusQuality-WheatLAIConsole", "SiriusQuality-SiriusQuality-WheatLAIConsole\SiriusQuality-SiriusQuality-WheatLAIConsole.csproj", "{F083391A-C1E7-4CC0-B68C-7F62D7B58326}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SiriusQuality-WheatLAIConsole", "SiriusQuality-SiriusQuality-WheatLAIConsole\SiriusQuality-WheatLAIConsole.csproj", "{F083391A-C1E7-4CC0-B68C-7F62D7B58326}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestWheatLAI", "UnitTestWheatLAI\UnitTestWheatLAI.csproj", "{DFB3F76E-3364-4D6E-8BD7-9C40E26D89F2}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestWheatLAI", "UnitTestWheatLAI\UnitTestWheatLAI.csproj", "{DFB3F76E-3364-4D6E-8BD7-9C40E26D89F2}"
EndProject EndProject
......