fix emision; added fodder maize
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
This commit is contained in:
@@ -209,8 +209,6 @@ namespace FarmMapsAPI.Carbon
|
|||||||
{
|
{
|
||||||
var knmiFile = Helper.GetPlatformIndependentDirectoryPath(Path.Combine(configPath, "KNMI_data.csv"));
|
var knmiFile = Helper.GetPlatformIndependentDirectoryPath(Path.Combine(configPath, "KNMI_data.csv"));
|
||||||
|
|
||||||
//var regionSetFile = Path.Combine(_inPath, "RegionSets.json");
|
|
||||||
|
|
||||||
// soilTypeData (external input)
|
// soilTypeData (external input)
|
||||||
var soilTypeData = GetSoilTypeData(farmInput);
|
var soilTypeData = GetSoilTypeData(farmInput);
|
||||||
|
|
||||||
@@ -484,6 +482,10 @@ namespace FarmMapsAPI.Carbon
|
|||||||
newValue = 0.024 * item.Value + 0.228;
|
newValue = 0.024 * item.Value + 0.228;
|
||||||
valueList.Add(new ColumnValue(item.Key, newValue));
|
valueList.Add(new ColumnValue(item.Key, newValue));
|
||||||
break;
|
break;
|
||||||
|
case "Fodder_maize":
|
||||||
|
newValue = 0.024 * item.Value + 0.228;
|
||||||
|
valueList.Add(new ColumnValue(item.Key, newValue));
|
||||||
|
break;
|
||||||
case "Corn_Cob_mix":
|
case "Corn_Cob_mix":
|
||||||
newValue = 0.024 * item.Value + 0.228;
|
newValue = 0.024 * item.Value + 0.228;
|
||||||
valueList.Add(new ColumnValue(item.Key, newValue));
|
valueList.Add(new ColumnValue(item.Key, newValue));
|
||||||
@@ -600,13 +602,17 @@ namespace FarmMapsAPI.Carbon
|
|||||||
var strawYld = strawYield[cropArea.Key].SingleOrDefault(x => x.Key.ToLower() == crop.Key.ToLower())?.Value ?? 0;
|
var strawYld = strawYield[cropArea.Key].SingleOrDefault(x => x.Key.ToLower() == crop.Key.ToLower())?.Value ?? 0;
|
||||||
var fracR = cropPropertyConfig.SingleOrDefault(x => x.Name.ToLower() == crop.Key.ToLower())?.FracR ?? 0.0;
|
var fracR = cropPropertyConfig.SingleOrDefault(x => x.Name.ToLower() == crop.Key.ToLower())?.FracR ?? 0.0;
|
||||||
|
|
||||||
var field = farmInput.CropFields.SingleOrDefault(x => x.Name == cropArea.Key.Item1);
|
var field = farmInput.CropFields.SingleOrDefault(x => x.Name == cropArea.Key.Item1);
|
||||||
var crop_res = field.HistoricalCropData.SingleOrDefault(x => x.Year == loopYear).Crops[0].CropRes ? 1 : 0;
|
var crop_res = field.HistoricalCropData.SingleOrDefault(x => x.Year == loopYear).Crops[0].CropRes ? 1 : 0;
|
||||||
|
|
||||||
//var result = belowGroundCarbon.Value + (stubble * dm_contentStraw * parameterSet.CarbonBiomass) + ((1 - fracR) * strawYld * dm_contentStraw * parameterSet.CarbonBiomass);
|
//var result = belowGroundCarbon.Value + (stubble * dm_contentStraw * parameterSet.CarbonBiomass) + ((1 - fracR) * strawYld * dm_contentStraw * parameterSet.CarbonBiomass);
|
||||||
var result = belowGroundCarbon.Value + (stubble * dm_contentStraw * parameterSet.CarbonBiomass) + (crop_res * strawYld * dm_contentStraw * parameterSet.CarbonBiomass);
|
var result = belowGroundCarbon.Value + (stubble * dm_contentStraw * parameterSet.CarbonBiomass) + (crop_res * strawYld * dm_contentStraw * parameterSet.CarbonBiomass);
|
||||||
|
|
||||||
//check if key exists (from if condition (in case of other cereals))
|
//check if key exists (from if condition (in case of other cereals))
|
||||||
|
if (result > 12000)
|
||||||
|
{
|
||||||
|
result = 12000;
|
||||||
|
}
|
||||||
carbonInputs.AddValue((cropArea.Key.Item1, cropArea.Key.Item2, crop.Key), "CarbonResidues", result);
|
carbonInputs.AddValue((cropArea.Key.Item1, cropArea.Key.Item2, crop.Key), "CarbonResidues", result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -616,26 +622,12 @@ namespace FarmMapsAPI.Carbon
|
|||||||
var carbonInputGreenManure = GetCarbonInputGreenManure(loopYear, farmInput, yieldGreenManureConfig);
|
var carbonInputGreenManure = GetCarbonInputGreenManure(loopYear, farmInput, yieldGreenManureConfig);
|
||||||
|
|
||||||
|
|
||||||
//Total carbon input[in ton C / ha] from manure, compost, crop residues and green manure
|
//Total carbon input[in ton C / ha] from manure, compost, crop residues and green manure
|
||||||
var carbonTest = new GamsThreeKeyParameter();
|
|
||||||
// CarbonInputs(field, year, crop,'CarbonResidues')$(CarbonInputs(field, year,crop,'CarbonResidues')>12000) = 12000;???
|
// CarbonInputs(field, year, crop,'CarbonResidues')$(CarbonInputs(field, year,crop,'CarbonResidues')>12000) = 12000;???
|
||||||
// what to do?
|
|
||||||
|
|
||||||
/* foreach (var carbon in carbonInputManure)
|
|
||||||
{
|
|
||||||
var sumCarbonInputManure = carbon.Value.Sum(x => x.Value);
|
|
||||||
var carbonKeyInput = carbonInputs.KeysWhereCropKeyExists(loopYear, carbon.Key);
|
|
||||||
|
|
||||||
foreach (var carbonKey in carbonKeyInput)
|
|
||||||
{
|
|
||||||
carbonInputs.AddValue(carbonKey, "CarbonManure", sumCarbonInputManure);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
foreach (var carbon in carbonInputManure2)
|
foreach (var carbon in carbonInputManure2)
|
||||||
{
|
{
|
||||||
var sumCarbonInputManure = carbon.Value.Sum(x => x.Value);
|
var sumCarbonInputManure = carbon.Value.Sum(x => x.Value);
|
||||||
//var carbonKeyInput = carbonInputs.KeysWhereCropKeyExists(loopYear, carbon.Key.Item2);
|
|
||||||
var carbonKeyInput = carbonInputs.TrippleKeyParam.Where(x => x.Key.Item1 == carbon.Key.Item1 && x.Key.Item3.ToLower() == carbon.Key.Item2.ToLower() && x.Key.Item2 == loopYear).Select(s => s.Key).ToList();
|
var carbonKeyInput = carbonInputs.TrippleKeyParam.Where(x => x.Key.Item1 == carbon.Key.Item1 && x.Key.Item3.ToLower() == carbon.Key.Item2.ToLower() && x.Key.Item2 == loopYear).Select(s => s.Key).ToList();
|
||||||
|
|
||||||
foreach (var carbonKey in carbonKeyInput)
|
foreach (var carbonKey in carbonKeyInput)
|
||||||
@@ -653,19 +645,6 @@ namespace FarmMapsAPI.Carbon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* foreach (var carbon in carbonInputCompost)
|
|
||||||
{
|
|
||||||
foreach (var historicData in historicalCropdata.Where(x => x.Key.Item2 == loopYear))
|
|
||||||
{
|
|
||||||
// add loopYear??
|
|
||||||
var historicDataItem = historicData.Value.SingleOrDefault(x => x.ToLower() == carbon.Key.ToLower());
|
|
||||||
if (historicDataItem != null)
|
|
||||||
{
|
|
||||||
carbonInputs.AddValue((historicData.Key.Item1, historicData.Key.Item2, historicDataItem), "CarbonCompost", carbon.Value.Value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
foreach (var carbon in carbonInputCompost2)
|
foreach (var carbon in carbonInputCompost2)
|
||||||
{
|
{
|
||||||
foreach (var historicData in historicalCropdata.Where(x => x.Key.Item2 == loopYear))
|
foreach (var historicData in historicalCropdata.Where(x => x.Key.Item2 == loopYear))
|
||||||
@@ -1624,7 +1603,7 @@ namespace FarmMapsAPI.Carbon
|
|||||||
|
|
||||||
var manure = item.SOC_CarbonManure;
|
var manure = item.SOC_CarbonManure;
|
||||||
var residues = item.SOC_CarbonResidues;
|
var residues = item.SOC_CarbonResidues;
|
||||||
var greenManure = item.SOC_CarbonManure;
|
var greenManure = item.SOC_CarbonGreenManure;
|
||||||
var compost = item.SOC_CarbonCompost;
|
var compost = item.SOC_CarbonCompost;
|
||||||
|
|
||||||
item.OM_ini = iniValue / 0.54;
|
item.OM_ini = iniValue / 0.54;
|
||||||
@@ -1868,7 +1847,7 @@ namespace FarmMapsAPI.Carbon
|
|||||||
var monthClimateList = new List<ClimateVariable>();
|
var monthClimateList = new List<ClimateVariable>();
|
||||||
foreach (var month in gisSoilSet.AllMonths)
|
foreach (var month in gisSoilSet.AllMonths)
|
||||||
{
|
{
|
||||||
var climateYear = loopYear > 2016 || loopYear < 2011 ? 2012 : loopYear;
|
var climateYear = loopYear > 2020 || loopYear < 2011 ? 2012 : loopYear;
|
||||||
var monthData = climate.Single(x => x.Key.Item1 == farmZone && x.Key.Item2 == month && x.Key.Item3 == climateYear).Value;
|
var monthData = climate.Single(x => x.Key.Item1 == farmZone && x.Key.Item2 == month && x.Key.Item3 == climateYear).Value;
|
||||||
var newMonthData = new ClimateVariable(monthData.Temperature, monthData.Precipitation, monthData.Evapotranspiration * 1.25);
|
var newMonthData = new ClimateVariable(monthData.Temperature, monthData.Precipitation, monthData.Evapotranspiration * 1.25);
|
||||||
monthClimateList.Add(newMonthData);
|
monthClimateList.Add(newMonthData);
|
||||||
|
|||||||
Reference in New Issue
Block a user