diff --git a/CarbonCalculation.cs b/CarbonCalculation.cs
index ce84d9f..37aa240 100644
--- a/CarbonCalculation.cs
+++ b/CarbonCalculation.cs
@@ -139,11 +139,11 @@ namespace FarmMapsAPI.Carbon
Area = cropField.Area,
HistoricalCropData = mappedCropData,
SoilType = MapSoil(cropField.SoilType),
- SoilProperty = new SoilProperty { Clay_Content = cropField.SoilProperty.Clay_Content, OM_Const = cropField.SoilProperty.OM_Const, Depth10 = cropField.SoilProperty.Depth10 },
+ SoilProperty = new SoilProperty { Clay_Content = cropField.SoilProperty.Clay_Content, OM_Const = cropField.SoilProperty.OM_Const, Depth10 = cropField.SoilProperty.Depth10, Depth = cropField.SoilProperty.Depth, OM_Type = cropField.SoilProperty.OM_Type },
GreenManures = greenManures
- });
+ });
foreach (var crops in cropField.HistoricalCropData)
- {
+ {
foreach (var cropYear in crops.Crops)
{
if (!string.IsNullOrEmpty(cropYear.MiterraCropName))
@@ -157,8 +157,9 @@ namespace FarmMapsAPI.Carbon
CropRes = cropYear.CropRes,
OrganicManures =
cropYear.OrganicManures.Where(y=>y.Quantity > 0 && !string.IsNullOrEmpty(y.Type)).Select(x => new OrganicManureType { Type = x.Type, Quantity = x.Quantity }).ToList(),
- CropYield = cropYear.CropYield } }
- });
+ CropYield = cropYear.CropYield,
+ Irrigation = crops.Irrigations} }
+ });
}
else
{
@@ -265,6 +266,7 @@ namespace FarmMapsAPI.Carbon
var initialSoilKey = historicalCropdata.Keys.FirstOrDefault(x => x.Item1 == item.Key && x.Item2 == year.First());
var initialSoil = historicalCropdata[initialSoilKey].FirstOrDefault();
var soilPropertyDepth10 = item.Value.Depth10;
+ //FSA todo: different corrections for depth10 (10, 25, 30 cm)
if (initialSoil == "Temp_gras" && soilPropertyDepth10)
{
oM_corr_SoilType.Add((item.Key, soilOfItem), item.Value.OM_Cont * 0.97);
@@ -778,7 +780,7 @@ namespace FarmMapsAPI.Carbon
{
smdMaxValue = smdMax[climateItem.Key] / 1.8;
}
-
+//fsa todo: add precipitation
var result = climateItem.Value[i].Precipitation - climateItem.Value[i].Evapotranspiration;
result = result < 0 ? result : 0;
result = result < smdMaxValue ? smdMaxValue : result;
diff --git a/CarbonLib.csproj b/CarbonLib.csproj
index e9c8846..9053ddd 100644
--- a/CarbonLib.csproj
+++ b/CarbonLib.csproj
@@ -8,12 +8,12 @@
false
false
false
- 2.2.0
+ 4.0.0
-
-
+
+
diff --git a/Models/CarbonRequest.cs b/Models/CarbonRequest.cs
index 5ab21ad..e721e6c 100644
--- a/Models/CarbonRequest.cs
+++ b/Models/CarbonRequest.cs
@@ -30,14 +30,16 @@ namespace CarbonService.Models
public SoilProperty SoilProperty { get; set; }
[Required]
public List HistoricalCropData { get; set; }
- public List GreenManures { get; set; }
+ public List GreenManures { get; set; }
}
public class SoilProperty
{
public double? OM_Const { get; set; }
+ public string OM_Type { get; set; }
public double? Clay_Content { get; set; }
public bool? Depth10 { get; set; }
+ public int? Depth { get; set; }
}
public class OrgManureApplied
@@ -49,6 +51,7 @@ namespace CarbonService.Models
public List OrganicManures { get; set; }
public double? CropYield { get { return (int?)yield; } set { yield = value; } }
public bool CropRes { get; set; }
+ public string Irrigation { get; set; }
}
public class OrganicManureType
diff --git a/Models/FarmMapsCarbonRequest.cs b/Models/FarmMapsCarbonRequest.cs
index 59cd896..1eaa5d9 100644
--- a/Models/FarmMapsCarbonRequest.cs
+++ b/Models/FarmMapsCarbonRequest.cs
@@ -44,6 +44,7 @@ namespace FarmMapsAPI.Carbon.Models
public List Crops { get; set; }
public List GreenManures { get; set; }
public bool Rotation { get; set; }
+ public string Irrigations { get; set; }
public HistoricalCropDataFarmMaps DeepCopy()
{
@@ -75,8 +76,10 @@ namespace FarmMapsAPI.Carbon.Models
public class SoilPropertyFarmMaps
{
public double? OM_Const { get; set; }
+ public string OM_Type { get; set; }
public double? Clay_Content { get; set; }
public bool Depth10 { get; set; }
+ public int? Depth { get; set; }
}
public class GreenManureTypeFarmMaps