aw6355: fix organic matter/carbon factor (0.54)
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good

This commit is contained in:
2024-08-27 14:52:09 +02:00
parent 66851a3911
commit 666cc07979

View File

@@ -239,11 +239,6 @@ namespace FarmMapsAPI.Carbon
var year = GetYears(farmInputSet, farmInput);
var carbon_organicmatter_factor = 0.54;
if (farmInput.CropFields[0].SoilProperty.OM_Choice == "c")
{
carbon_organicmatter_factor = 1;
}
//////////////////////////////////////////////
// precalculations
@@ -904,7 +899,7 @@ namespace FarmMapsAPI.Carbon
foreach (var field in cropAreaField1.Where(x => x.Key.Item2 == loopYear))
{
var valueList = new List<ColumnValue>();
var result = parameterSet.LayerDepth * bulkDens[field.Key.Item1] * oM_Corr[field.Key.Item1] * carbon_organicmatter_factor;// 0.54;
var result = parameterSet.LayerDepth * bulkDens[field.Key.Item1] * oM_Corr[field.Key.Item1] * 0.54; //carbon_organicmatter_factor
foreach (var crop in field.Value)
{
valueList.Add(new ColumnValue(crop.Key, result));
@@ -1713,7 +1708,7 @@ namespace FarmMapsAPI.Carbon
var iniValue = item.Value.SingleOrDefault(x => x.Key == "IniCcontent")?.Value ?? 0;
var balanceValue = item.Value.SingleOrDefault(x => x.Key == "Balance")?.Value ?? 0;
var resultOmIni = iniValue / carbon_organicmatter_factor;// 0.54;
var resultOmIni = iniValue / 0.54; //carbon_organicmatter_factor
var resultCo2 = balanceValue * (44.0 / 12.0);
item.Value.Add(new ColumnValue("OM_ini", resultOmIni));
@@ -1732,7 +1727,7 @@ namespace FarmMapsAPI.Carbon
var greenManure = item.SOC_CarbonGreenManure;
var compost = item.SOC_CarbonCompost;
item.OM_ini = iniValue / carbon_organicmatter_factor;// 0.54;
item.OM_ini = iniValue / 0.54; //carbon_organicmatter_factor
item.CO2seq = balanceValue * (44.0 / 12.0);
var emision = -1 * (manure + residues + greenManure + compost - balanceValue);
@@ -1786,7 +1781,7 @@ namespace FarmMapsAPI.Carbon
var resultBal = sumBal / farmArea.Total_crop_area;
var resultIni = sumIni / farmArea.Total_crop_area;
var resultiniCc = sumInicc / farmArea.Total_crop_area;
var resultOm_Ini = resultiniCc / carbon_organicmatter_factor;// 0.54;
var resultOm_Ini = resultiniCc / 0.54; //carbon_organicmatter_factor
var resultCo2 = resultBal * (44.0 / 12.0);
var resultCo2Tot = resultCo2 * farmArea.Total_crop_area;
@@ -1833,7 +1828,7 @@ namespace FarmMapsAPI.Carbon
var soilPropertiesField = new Dictionary<string, SoilPropertyType>();
foreach (var field in farmInput.CropFields)
{
soilPropertiesField.Add(field.Name, new SoilPropertyType { OM_Cont = field.SoilProperty.OM_Const.Value, Clay_Content = field.SoilProperty.Clay_Content.Value, OM_Corr = field.SoilProperty.OM_Const.Value <= 20 ? field.SoilProperty.OM_Const.Value : 0, Depth10 = field.SoilProperty.Depth10.Value, Depth = field.SoilProperty.Depth });
soilPropertiesField.Add(field.Name, new SoilPropertyType { OM_Cont = field.SoilProperty.OM_Choice.ToLower() == "c" ? field.SoilProperty.OM_Const.Value * 1.85185 : field.SoilProperty.OM_Const.Value, Clay_Content = field.SoilProperty.Clay_Content.Value, OM_Corr = field.SoilProperty.OM_Const.Value <= 20 ? field.SoilProperty.OM_Const.Value : 0, Depth10 = field.SoilProperty.Depth10.Value, Depth = field.SoilProperty.Depth });
}
return soilPropertiesField;