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 regionSetFile = Path.Combine(_inPath, "RegionSets.json");
|
||||
|
||||
// soilTypeData (external input)
|
||||
var soilTypeData = GetSoilTypeData(farmInput);
|
||||
|
||||
@@ -484,6 +482,10 @@ namespace FarmMapsAPI.Carbon
|
||||
newValue = 0.024 * item.Value + 0.228;
|
||||
valueList.Add(new ColumnValue(item.Key, newValue));
|
||||
break;
|
||||
case "Fodder_maize":
|
||||
newValue = 0.024 * item.Value + 0.228;
|
||||
valueList.Add(new ColumnValue(item.Key, newValue));
|
||||
break;
|
||||
case "Corn_Cob_mix":
|
||||
newValue = 0.024 * item.Value + 0.228;
|
||||
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 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 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);
|
||||
|
||||
//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);
|
||||
}
|
||||
}
|
||||
@@ -616,26 +622,12 @@ namespace FarmMapsAPI.Carbon
|
||||
var carbonInputGreenManure = GetCarbonInputGreenManure(loopYear, farmInput, yieldGreenManureConfig);
|
||||
|
||||
|
||||
//Total carbon input[in ton C / ha] from manure, compost, crop residues and green manure
|
||||
var carbonTest = new GamsThreeKeyParameter();
|
||||
//Total carbon input[in ton C / ha] from manure, compost, crop residues and green manure
|
||||
// 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)
|
||||
{
|
||||
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();
|
||||
|
||||
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 historicData in historicalCropdata.Where(x => x.Key.Item2 == loopYear))
|
||||
@@ -1624,7 +1603,7 @@ namespace FarmMapsAPI.Carbon
|
||||
|
||||
var manure = item.SOC_CarbonManure;
|
||||
var residues = item.SOC_CarbonResidues;
|
||||
var greenManure = item.SOC_CarbonManure;
|
||||
var greenManure = item.SOC_CarbonGreenManure;
|
||||
var compost = item.SOC_CarbonCompost;
|
||||
|
||||
item.OM_ini = iniValue / 0.54;
|
||||
@@ -1868,7 +1847,7 @@ namespace FarmMapsAPI.Carbon
|
||||
var monthClimateList = new List<ClimateVariable>();
|
||||
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 newMonthData = new ClimateVariable(monthData.Temperature, monthData.Precipitation, monthData.Evapotranspiration * 1.25);
|
||||
monthClimateList.Add(newMonthData);
|
||||
|
||||
Reference in New Issue
Block a user