57 Commits

Author SHA1 Message Date
cff1942865 Merged develop into master
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-12-10 13:58:21 +01:00
ed036640b3 cleanup
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-12-09 14:47:49 +01:00
2f4be34aa9 cleanup
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-12-09 14:44:36 +01:00
be5996372c readme
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-12-09 14:36:16 +01:00
0e8be57d43 aw7152: namespace change
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-12-09 13:41:19 +01:00
0ff0a44fdb aw7152: open source, moved lib to sub folder, added console app
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-12-09 10:42:43 +01:00
03f2b95e53 aw7152: make lib open source, remove farmmaps dependencies
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-12-09 10:02:31 +01:00
jenkins
d08ef7c6b5 Updated project references #144
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-10-16 08:18:53 +00:00
jenkins
4e13da52e2 [ci skip] Updated project references #119
Some checks reported errors
FarmMaps/CarbonLib/pipeline/head Something is wrong with the build of this commit
2025-08-21 14:35:26 +00:00
jenkins
a5b6c9ec08 Updated project references #118
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 14:06:23 +00:00
jenkins
3cb1193ef5 [ci skip] Updated project references #117
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 13:34:54 +00:00
jenkins
da2788842b Updated project references #116
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 13:13:14 +00:00
jenkins
6413805154 [ci skip] Updated project references #115
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 10:44:47 +00:00
jenkins
8563a97ff0 Updated project references #114
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 10:13:04 +00:00
jenkins
ba8727a3e8 [ci skip] Updated project references #113
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 09:46:12 +00:00
jenkins
cb6f93fe14 Updated project references #112
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-08-21 09:26:34 +00:00
jenkins
2362128312 [ci skip] Updated project references #111
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-06-19 11:18:57 +00:00
jenkins
7ccc064e69 Updated project references #110
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-06-19 10:35:35 +00:00
jenkins
30df488707 [ci skip] Updated project references #109
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-06-19 10:09:35 +00:00
jenkins
714346b479 Updated project references #108
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-06-19 09:43:10 +00:00
d760f4dffd Merged develop into master
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-06-19 11:16:43 +02:00
jenkins
a95635fdca [ci skip] Updated project references #133
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-04-10 14:43:49 +00:00
jenkins
b653d7be9f Updated project references #132
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-04-10 14:38:58 +00:00
jenkins
6cc591204e [ci skip] Updated project references #131
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-04-09 12:08:28 +00:00
5e6f2f4629 AW-6139 Migratie naar .NET 8
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-04-09 14:07:46 +02:00
jenkins
32ac3c5de6 [ci skip] Updated project references #107
Some checks reported errors
FarmMaps/CarbonLib/pipeline/head Something is wrong with the build of this commit
2025-04-04 16:03:13 +00:00
jenkins
8e6b8d841e Updated project references #106
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-04 14:47:03 +00:00
jenkins
1a9e2d549b [ci skip] Updated project references #105
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-04 13:38:25 +00:00
jenkins
e02ca34281 Updated project references #104
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-04 13:02:28 +00:00
e93c282505 Merged develop into master
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-04 14:26:55 +02:00
jenkins
db213f41df [ci skip] Updated project references #126
Some checks failed
FarmMaps.Develop/CarbonLib/pipeline/head There was a failure building this commit
2025-04-04 08:58:29 +00:00
jenkins
5ae8dc6611 Updated project references #125
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-04-04 08:48:18 +00:00
jenkins
aaa2ebea25 [ci skip] Updated project references #103
Some checks reported errors
FarmMaps/CarbonLib/pipeline/head Something is wrong with the build of this commit
2025-04-03 14:20:34 +00:00
jenkins
e82ba2bbe5 Updated project references #102
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 13:54:07 +00:00
jenkins
57b930ff38 [ci skip] Updated project references #101
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 13:28:49 +00:00
jenkins
0e18c12436 Updated project references #100
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 13:13:47 +00:00
jenkins
204b926128 [ci skip] Updated project references #99
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 10:34:33 +00:00
jenkins
0ebc86674b Updated project references #98
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 10:04:52 +00:00
jenkins
d1b31452da [ci skip] Updated project references #97
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 09:39:11 +00:00
jenkins
9eb1699986 Updated project references #96
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-04-03 09:27:18 +00:00
370869ea72 fix median of balance
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-03-28 14:23:00 +01:00
710e73b5f0 aw6374: climate calculation in modelyear 2025
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-03-10 08:11:51 +01:00
fcbb6c9356 aw6374: modelYear as string
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-03-07 20:37:55 +01:00
jenkins
f1f742d434 [ci skip] Updated project references #121
Some checks reported errors
FarmMaps.Develop/CarbonLib/pipeline/head Something is wrong with the build of this commit
2025-02-17 07:30:45 +00:00
8651f534c9 aw6383: climate scenario
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2025-02-17 08:27:19 +01:00
jenkins
7fc0084a41 [ci skip] Updated project references #95
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-01-29 15:53:42 +00:00
jenkins
1ea260dee0 Updated project references #94
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-01-29 15:23:02 +00:00
jenkins
8ab217f534 [ci skip] Updated project references #93
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-01-29 14:57:49 +00:00
jenkins
1eef5faae2 Updated project references #92
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-01-29 14:46:13 +00:00
579a2d9b8d Merged develop into master
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2025-01-29 15:21:33 +01:00
jenkins
988a23963c Updated project references #119
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2024-12-16 09:18:32 +00:00
jenkins
5be21f548f [ci skip] Updated project references #116
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2024-12-09 17:50:04 +00:00
jenkins
99b58cd618 Updated project references #115
All checks were successful
FarmMaps.Develop/CarbonLib/pipeline/head This commit looks good
2024-12-09 17:41:35 +00:00
jenkins
2617e52a83 [ci skip] Updated project references #91
Some checks reported errors
FarmMaps/CarbonLib/pipeline/head Something is wrong with the build of this commit
2024-12-09 14:17:10 +00:00
jenkins
b935b3967c Updated project references #90
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2024-12-09 13:47:42 +00:00
jenkins
c227461eee [ci skip] Updated project references #89
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2024-12-09 13:17:46 +00:00
jenkins
6f0669ff4c Updated project references #88
All checks were successful
FarmMaps/CarbonLib/pipeline/head This commit looks good
2024-12-09 13:01:48 +00:00
82 changed files with 136548 additions and 159 deletions

View File

@@ -1,40 +0,0 @@
using CarbonLib;
using CarbonService.Models;
using FarmMapsAPI.Carbon.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon
{
public class CarbonCalculation25 : ICarbonCalculation
{
public CarbonCalculation25(string configPath)
{
}
public CarbonRequest MapFarmMapsToMiterra(FarmMapsCarbonRequest farmInput)
{
throw new NotImplementedException();
}
public string Validate(CarbonRequest farmInput)
{
throw new NotImplementedException();
}
public CarbonSummary Calculate(CarbonRequest farmInput)
{
var response = new CarbonSummary();
return response;
}
public double? GetCropYield(string cropCode, int year, int postalCode)
{
throw new NotImplementedException();
}
}
}

View File

@@ -0,0 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\CarbonLib\CarbonLib.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="config24\*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="config24\Mapping\*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="config25\*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="config25\Mapping\*">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Update="Input.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36414.22 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarbonConsoleApp", "CarbonConsoleApp.csproj", "{C5B1B8B2-0BAD-451E-95B6-FCCA898E4308}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C5B1B8B2-0BAD-451E-95B6-FCCA898E4308}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C5B1B8B2-0BAD-451E-95B6-FCCA898E4308}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5B1B8B2-0BAD-451E-95B6-FCCA898E4308}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C5B1B8B2-0BAD-451E-95B6-FCCA898E4308}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {436FBE19-E06A-4510-8714-CDED7BE0528F}
EndGlobalSection
EndGlobal

331
CarbonConsoleApp/Input.txt Normal file
View File

@@ -0,0 +1,331 @@
{
"geometry": null,
"PostalCode": 9797,
"CropFields": [
{
"Name": "082acba5b448433a86700fde3874a333",
"Area": 5.63,
"SoilType": "Klei",
"SoilProperty": {
"OM_Const": 2.28,
"C_Const": null,
"OM_Choice": "o",
"Clay_Content": 30.0,
"Depth10": false,
"Depth": 25
},
"HistoricalCropData": [
{
"Year": 2013,
"Crops": [
{
"Crop": "Sugarbeet",
"OrganicManures": [
{
"Type": "COMPOST",
"Quantity": 15.0
}
],
"CropYield": 91700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2014,
"Crops": [
{
"Crop": "fodder_maize",
"OrganicManures": [],
"CropYield": 48200.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2015,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 60400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2016,
"Crops": [
{
"Crop": "Cons_pot_clay",
"OrganicManures": [],
"CropYield": 48000.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2017,
"Crops": [
{
"Crop": "Sugarbeet",
"OrganicManures": [],
"CropYield": 106400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2018,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 9700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2019,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 10400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2020,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 47700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2021,
"Crops": [
{
"Crop": "Cons_pot_clay",
"OrganicManures": [
{
"Type": "VMSTAL",
"Quantity": 20.0
},
{
"Type": "COMPOST",
"Quantity": 18.0
}
],
"CropYield": 44900.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2022,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 10400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2023,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 47700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2024,
"Crops": [
{
"Crop": "Cons_pot_clay",
"OrganicManures": [],
"CropYield": 44900.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2025,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 10400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2026,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 47700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2027,
"Crops": [
{
"Crop": "Cons_pot_clay",
"OrganicManures": [],
"CropYield": 44900.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2028,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 10400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2029,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 47700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2030,
"Crops": [
{
"Crop": "Cons_pot_clay",
"OrganicManures": [],
"CropYield": 44900.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2031,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 10400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2032,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 47700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2033,
"Crops": [
{
"Crop": "Cons_pot_clay",
"OrganicManures": [],
"CropYield": 44900.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2034,
"Crops": [
{
"Crop": "Winter_wheat",
"OrganicManures": [],
"CropYield": 10400.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
},
{
"Year": 2035,
"Crops": [
{
"Crop": "Onion",
"OrganicManures": [],
"CropYield": 47700.0,
"CropRes": false,
"Irrigation": "0,0,0,0,0,0,0,0,0,0,0,0"
}
]
}
],
"GreenManures": [
{
"Year": 2013,
"GreenManureTypes": [
{
"Type": "Gerst",
"Quality": "Matig"
}
]
},
{
"Year": 2032,
"GreenManureTypes": [
{
"Type": "EngelsRaaigras",
"Quality": "Goed"
}
]
}
]
}
]
}

View File

@@ -0,0 +1,29 @@
using CarbonService.Models;
using CarbonLib.Carbon;
using Newtonsoft.Json;
namespace CarbonConsoleApp
{
class Program
{
static void Main(string[] args)
{
var configPath = "config25";
ICarbonCalculation carbonCalc = new CarbonLib.Carbon.CarbonCalculation25(configPath);
var request = new CarbonRequest();
using (var reader = new StreamReader("input.txt"))
{
var filecontent = reader.ReadToEnd();
request = JsonConvert.DeserializeObject<CarbonRequest>(filecontent);
}
var result = carbonCalc.CalculateClimateScenario(request);
using (var writer = new StreamWriter("output.txt"))
{
var resultText = JsonConvert.SerializeObject(result, Formatting.Indented);
writer.WriteLine(resultText);
}
}
}
}

View File

@@ -0,0 +1,206 @@
[
{
"CropName": "Perm_gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Temp_gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Nat_gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Fodder_maize",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Maize",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Corn_cob_mix",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Winter_wheat",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M12" ]
},
{
"CropName": "Summer_wheat",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Summer_barley",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "winter_barley",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M12" ]
},
{
"CropName": "Sugarbeet",
"CoverMonths": [ "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Cons_pot_clay",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Pot_clay",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Starch_pot",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Cons_pot_sand",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Pot_sand",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Vegetables_root",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Vegetables_leaf",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Vegetables_cabbage",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Vegetables_stem",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Pumpkin",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Chicory",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Courgette",
"CoverMonths": [ "M5", "M6", "M7" ]
},
{
"CropName": "Other_veg",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Grasseed",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Onion",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Bulbs",
"CoverMonths": [ "M4", "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Fallow",
"CoverMonths": []
},
{
"CropName": "Nurseries",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Pulses",
"CoverMonths": [ "M5", "M6", "M7" ]
},
{
"CropName": "Apples",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Pears",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Luzerne",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Other_crops",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Other_seeds",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Triticale",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Rapeseed",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M12" ]
},
{
"CropName": "Strawberry",
"CoverMonths": [ "M4", "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Rye",
"CoverMonths": [ "M4", "M5", "M6", "M7" ]
},
{
"CropName": "Other_fruits",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "oats",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Green_manure",
"CoverMonths": [ "M1", "M2", "M3", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Fibres",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Sunflower",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Fodder_beet",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Other_cereals",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Wine",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Miscanthus",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Switchgrass",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Willow",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
}
]

View File

@@ -0,0 +1,359 @@
[
{
"Name": "Perm_gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Temp_gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 3.4,
"HarvestIndex": 0.444
},
{
"Name": "Nat_gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 4.59,
"HarvestIndex": 0.444
},
{
"Name": "Fodder_maize",
"DM_content": 0.35,
"FracR": 0.0,
"C_input_CropRes": 1.1,
"HarvestIndex": 0.67
},
{
"Name": "Maize",
"DM_content": 0.85,
"FracR": 0.25,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Corn_cob_mix",
"DM_content": 0.8,
"FracR": 0.25,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Winter_wheat",
"DM_content": 0.85,
"FracR": 0.62,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Summer_wheat",
"DM_content": 0.85,
"FracR": 0.62,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Summer_barley",
"DM_content": 0.85,
"FracR": 0.43,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "winter_barley",
"DM_content": 0.85,
"FracR": 0.43,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Sugarbeet",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 2.732142857142857,
"HarvestIndex": 0.69
},
{
"Name": "Cons_pot_clay",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.7897727272727275,
"HarvestIndex": 0.69
},
{
"Name": "Pot_clay",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.953409090909091,
"HarvestIndex": 0.69
},
{
"Name": "Starch_pot",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.6670454545454545,
"HarvestIndex": 0.69
},
{
"Name": "Cons_pot_sand",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.7897727272727275,
"HarvestIndex": 0.69
},
{
"Name": "Pot_sand",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.953409090909091,
"HarvestIndex": 0.69
},
{
"Name": "Vegetables_root",
"DM_content": 0.099,
"FracR": 0.0,
"C_input_CropRes": 1.61648275862069,
"HarvestIndex": 0.627333333333333
},
{
"Name": "Vegetables_leaf",
"DM_content": 0.04575,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.56125
},
{
"Name": "Vegetables_cabbage",
"DM_content": 0.0837058823529412,
"FracR": 0.0,
"C_input_CropRes": 2.75625,
"HarvestIndex": 0.472941176470588
},
{
"Name": "Vegetables_stem",
"DM_content": 0.0752,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.602
},
{
"Name": "Pumpkin",
"DM_content": 0.183,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.56
},
{
"Name": "Chicory",
"DM_content": 0.233,
"FracR": 0.0,
"C_input_CropRes": 1.40869565217391,
"HarvestIndex": 0.6
},
{
"Name": "Courgette",
"DM_content": 0.048,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.40
},
{
"Name": "Other_veg",
"DM_content": 0.10967,
"FracR": 0.0,
"C_input_CropRes": 1.22840281644892,
"HarvestIndex": 0.54622
},
{
"Name": "Grasseed",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 2.7155172413793105,
"HarvestIndex": 0.2
},
{
"Name": "Onion",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 0.5625,
"HarvestIndex": 1.0
},
{
"Name": "Bulbs",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 0.7575000000000001,
"HarvestIndex": 1.0
},
{
"Name": "Fallow",
"DM_content": 0.0,
"FracR": 0.0,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.0
},
{
"Name": "Nurseries",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 1.505,
"HarvestIndex": 0.85
},
{
"Name": "Pulses",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 2.0454545454545454,
"HarvestIndex": 0.69
},
{
"Name": "Apples",
"DM_content": 0.14,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 1.0
},
{
"Name": "Pears",
"DM_content": 0.14,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 1.0
},
{
"Name": "Luzerne",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 1.779,
"HarvestIndex": 0.5
},
{
"Name": "Other_crops",
"DM_content": 0.7,
"FracR": 0.0,
"C_input_CropRes": 2.0359063662409858,
"HarvestIndex": 0.5
},
{
"Name": "Other_seeds",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 2.7155172413793105,
"HarvestIndex": 0.5
},
{
"Name": "Triticale",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 2.2790322580645164,
"HarvestIndex": 0.46
},
{
"Name": "Rapeseed",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.69
},
{
"Name": "Strawberry",
"DM_content": 0.15,
"FracR": 0.0,
"C_input_CropRes": 2.0,
"HarvestIndex": 0.5
},
{
"Name": "Rye",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Other_fruits",
"DM_content": 0.15,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 1.0
},
{
"Name": "oats",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Green_manure",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 3.7,
"HarvestIndex": 0.3
},
{
"Name": "Fibres",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 0.13636363636363635,
"HarvestIndex": 0.92
},
{
"Name": "Sunflower",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Fodder_beet",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 2.732142857142857,
"HarvestIndex": 0.69
},
{
"Name": "Other_cereals",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 2.0359063662409853,
"HarvestIndex": 0.46
},
{
"Name": "Wine",
"DM_content": 0.15,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 0.7
},
{
"Name": "Miscanthus",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Switchgrass",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Willow",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 0.85
}
]

View File

@@ -0,0 +1,78 @@
{
"StrawCrops": [
{
"StrawCrop": "Maize",
"DM_Content": 0.7
},
{
"StrawCrop": "Corn_cob_mix",
"DM_Content": 0.7
},
{
"StrawCrop": "Winter_wheat",
"DM_Content": 0.85
},
{
"StrawCrop": "Summer_wheat",
"DM_Content": 0.85
},
{
"StrawCrop": "Summer_barley",
"DM_Content": 0.85
},
{
"StrawCrop": "winter_barley",
"DM_Content": 0.85
},
{
"StrawCrop": "Rapeseed",
"DM_Content": 0.6
},
{
"StrawCrop": "Rye",
"DM_Content": 0.85
},
{
"StrawCrop": "oats",
"DM_Content": 0.85
},
{
"StrawCrop": "Sunflower",
"DM_Content": 0.6
},
{
"StrawCrop": "Other_cereals",
"DM_Content": 0.85
}
],
"GreenManureType": [
"Bladrammenas",
"GeleMosterd",
"Voederwikke",
"Afrikaantjes",
"JapanseHaver",
"ItaliaansRaaigras",
"Mengsel3soorten",
"Mengsel12soorten",
"EngelsRaaigras",
"Facelia",
"Grasland",
"Overig",
"Rietzwenkgras"
],
"Perennial": [
"Nurseries",
"Apples",
"Pears",
"Other_fruits",
"Wine",
"Miscanthus",
"Switchgrass",
"Willow"
],
"Grass_nat": [
"Perm_gras",
"Nat_gras",
"Gras"
]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,72 @@
{
"ManureSources_liv": [
{
"ManureSource_liv": "WMGRAAS",
"Description": "Weidemest graasdieren"
},
{
"ManureSource_liv": "DMGRAAS",
"Description": "Drijfmest graasdieren"
},
{
"ManureSource_liv": "VMGRAAS",
"Description": "Vaste mest graasdieren"
},
{
"ManureSource_liv": "DMSTAL",
"Description": "Drijfmest staldieren"
},
{
"ManureSource_liv": "VMSTAL",
"Description": "Vaste mest staldieren"
},
{
"ManureSource_liv": "FRACDUN",
"Description": "Dunne Fractie"
},
{
"ManureSource_liv": "FRACDIK",
"Description": "Dikke Fractie"
},
{
"ManureSource_liv": "KMVERV",
"Description": "Kunstmestvervangers"
},
{
"ManureSource_liv": "DIGEST",
"Description": "Digestaat"
},
{
"ManureSource_liv": "CHAMPOST",
"Description": "Champost"
},
{
"ManureSource_liv": "SCHA_GEIT",
"Description": "Schapen/geitenmest"
},
{
"ManureSource_liv": "VMPIG",
"Description": "Vaste varkensmest"
},
{
"ManureSource_liv": "DM_ZEUG",
"Description": "Zeugendrijfmest"
},
{
"ManureSource_liv": "OVERIG",
"Description": "Overig"
}
],
"composts": [
{
"compost": "COMPOST",
"Description": "compost"
}
],
"CarbonSource": [
"CarbonManure",
"CarbonResidues",
"CarbonGreenManure",
"CarbonCompost"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
{
"SoilType": [ "Moerig", "Veen", "Klei", "Zand", "Loss" ],
"MineralSoils": [ "Klei", "Zand" ],
"Months": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12", "Total", "Average" ],
"AllMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ],
"ClimateVar": [ "Evapotranspiration", "Precipitation", "Temperature" ]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
[
{
"ManCcont": "WMGRAAS",
"Value": 0.0356
},
{
"ManCcont": "DMGRAAS",
"Value": 0.0356
},
{
"ManCcont": "VMGRAAS",
"Value": 0.077385
},
{
"ManCcont": "DMSTAL",
"Value": 0.03955
},
{
"ManCcont": "VMSTAL",
"Value": 0.209715
},
{
"ManCcont": "COMPOST",
"Value": 0.10535
},
{
"ManCcont": "FRACDUN",
"Value": 0.01715
},
{
"ManCcont": "FRACDIK",
"Value": 0.0759
},
{
"ManCcont": "KMVERV",
"Value": 0.010585
},
{
"ManCcont": "DIGEST",
"Value": 0.01652
},
{
"ManCcont": "CHAMPOST",
"Value": 0.1050
},
{
"ManCcont": "SCHA_GEIT",
"Value": 0.09225
},
{
"ManCcont": "VMPIG",
"Value": 0.0765
},
{
"ManCcont": "DM_ZEUG",
"Value": 0.0125
},
{
"ManCcont": "OVERIG",
"Value": 0.01652
}
]

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,303 @@
[
{
"CropCode": "1020101",
"CropName": "Wintertarwe",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020102",
"CropName": "Wintergerst",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020103",
"CropName": "Winterrogge",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020201",
"CropName": "Zomertarwe",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020202",
"CropName": "Zomergerst",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020203",
"CropName": "Zomerrogge",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1030301",
"CropName": "Alexandrijnse klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030302",
"CropName": "Bastaard klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030303",
"CropName": "Hopklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030304",
"CropName": "Inkarnaatklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030305",
"CropName": "Perzische klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030306",
"CropName": "Rode klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030307",
"CropName": "Rolklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030308",
"CropName": "Witte honingklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030309",
"CropName": "Witte klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030401",
"CropName": "Blauwe Lupine",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030402",
"CropName": "Gele Lupine",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030403",
"CropName": "Witte Lupine",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030501",
"CropName": "Voederwikke",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030502",
"CropName": "Bonte wikke",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030602",
"CropName": "Hanekam",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040101",
"CropName": "Stoppelknol",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040102",
"CropName": "Bladrammenas",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Bladrammenas"
},
{
"CropCode": "1040103",
"CropName": "Bruine mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040104",
"CropName": "Gele mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040105",
"CropName": "Zwarte mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040108",
"CropName": "Bladkool",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040109",
"CropName": "Mergkool",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040110",
"CropName": "Ethiopische mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040111",
"CropName": "Serepta mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040112",
"CropName": "Zwaardherik",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1050101",
"CropName": "Engels raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "EngelsRaaigras"
},
{
"CropCode": "1050102",
"CropName": "Frans raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050103",
"CropName": "Gekruist raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050104",
"CropName": "Italiaans raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050105",
"CropName": "Trosraaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050106",
"CropName": "Westerwolds raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050201",
"CropName": "Roodzwenkgras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Rietzwenkgras"
},
{
"CropCode": "1050408",
"CropName": "Sudangras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Rietzwenkgras"
},
{
"CropCode": "1080107",
"CropName": "Facelia",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Facelia"
},
{
"CropCode": "1080108",
"CropName": "Spurrie",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1080109",
"CropName": "Afrikaantjes",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Afrikaantjes"
},
{
"CropCode": "1080110",
"CropName": "Raketblad",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
}
]

View File

@@ -0,0 +1 @@
UTF-8

Binary file not shown.

View File

@@ -0,0 +1 @@
PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
{
"LayerDepth": 25.0,
"kDPM": 10.0,
"kRPM": 0.3,
"kBIO": 0.66,
"kHUM": 0.02,
"StubbleFraction": 0.45,
"CarbonBiomass": 0.45,
"FracBelowGroundCinput": 0.25
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,123 @@
[
{
"ManureName": "Bladrammenas",
"GoodQuality": 3.573099415204678,
"AverageQuality": 2.5011695906432747,
"BadQuality": 1.786549707602339
},
{
"ManureName": "GeleMosterd",
"GoodQuality": 2.05696405648267,
"AverageQuality": 1.4398748395378689,
"BadQuality": 1.028482028241335
},
{
"ManureName": "Voederwikke",
"GoodQuality": 1.2933673469387754,
"AverageQuality": 0.9053571428571427,
"BadQuality": 0.6466836734693877
},
{
"ManureName": "Afrikaantjes",
"GoodQuality": 2.8392857142857153,
"AverageQuality": 1.9875000000000005,
"BadQuality": 1.4196428571428577
},
{
"ManureName": "JapanseHaver",
"GoodQuality": 2.5844583333333335,
"AverageQuality": 1.8091208333333333,
"BadQuality": 1.2922291666666668
},
{
"ManureName": "ItaliaansRaaigras",
"GoodQuality": 3.1635153508771934,
"AverageQuality": 2.2144607456140353,
"BadQuality": 1.5817576754385967
},
{
"ManureName": "Rogge",
"GoodQuality": 2.5,
"AverageQuality": 1.75,
"BadQuality": 1.25
},
{
"ManureName": "Graan",
"GoodQuality": 2.2,
"AverageQuality": 1.54,
"BadQuality": 1.1
},
{
"ManureName": "Haver",
"GoodQuality": 2.6,
"AverageQuality": 1.82,
"BadQuality": 1.3
},
{
"ManureName": "Gerst",
"GoodQuality": 2.55,
"AverageQuality": 1.785,
"BadQuality": 1.275
},
{
"ManureName": "Mengsel_groenbraak",
"GoodQuality": 2.8,
"AverageQuality": 1.96,
"BadQuality": 1.4
},
{
"ManureName": "Mengsel_natuurbraak",
"GoodQuality": 3.0,
"AverageQuality": 2.1,
"BadQuality": 1.5
},
{
"ManureName": "Mengsel_Nbron",
"GoodQuality": 2.8,
"AverageQuality": 1.96,
"BadQuality": 1.4
},
{
"ManureName": "Mengsel_Nvang",
"GoodQuality": 2.8,
"AverageQuality": 1.96,
"BadQuality": 1.4
},
{
"ManureName": "EngelsRaaigras",
"GoodQuality": 3.1635153508771934,
"AverageQuality": 2.2144607456140353,
"BadQuality": 1.5817576754385967
},
{
"ManureName": "Facelia",
"GoodQuality": 0.2925,
"AverageQuality": 0.20475,
"BadQuality": 0.14625
},
{
"ManureName": "Grasland",
"GoodQuality": 3.418421052631579,
"AverageQuality": 2.3928947368421056,
"BadQuality": 1.7092105263157895
},
{
"ManureName": "Overig",
"GoodQuality": 6.728475765306122,
"AverageQuality": 4.709933035714285,
"BadQuality": 3.364237882653061
},
{
"ManureName": "Rietzwenkgras",
"GoodQuality": 3.1635153508771934,
"AverageQuality": 2.2144607456140353,
"BadQuality": 1.5817576754385967
},
{
"ManureName": "Triticale",
"GoodQuality": 2.2,
"AverageQuality": 1.54,
"BadQuality": 1.1
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,206 @@
[
{
"CropName": "Perm_gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Temp_gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Nat_gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Gras",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Fodder_maize",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Maize",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Corn_cob_mix",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Winter_wheat",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M12" ]
},
{
"CropName": "Summer_wheat",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Summer_barley",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "winter_barley",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M12" ]
},
{
"CropName": "Sugarbeet",
"CoverMonths": [ "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Cons_pot_clay",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Pot_clay",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Starch_pot",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Cons_pot_sand",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Pot_sand",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Vegetables_root",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Vegetables_leaf",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Vegetables_cabbage",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Vegetables_stem",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Pumpkin",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Chicory",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Courgette",
"CoverMonths": [ "M5", "M6", "M7" ]
},
{
"CropName": "Other_veg",
"CoverMonths": [ "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Grasseed",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Onion",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Bulbs",
"CoverMonths": [ "M4", "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Fallow",
"CoverMonths": []
},
{
"CropName": "Nurseries",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Pulses",
"CoverMonths": [ "M5", "M6", "M7" ]
},
{
"CropName": "Apples",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Pears",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Luzerne",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Other_crops",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Other_seeds",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Triticale",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Rapeseed",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M12" ]
},
{
"CropName": "Strawberry",
"CoverMonths": [ "M4", "M5", "M6", "M7", "M8", "M9", "M10" ]
},
{
"CropName": "Rye",
"CoverMonths": [ "M4", "M5", "M6", "M7" ]
},
{
"CropName": "Other_fruits",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "oats",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Green_manure",
"CoverMonths": [ "M1", "M2", "M3", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Fibres",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Sunflower",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Fodder_beet",
"CoverMonths": [ "M6", "M7", "M8", "M9" ]
},
{
"CropName": "Other_cereals",
"CoverMonths": [ "M5", "M6", "M7", "M8" ]
},
{
"CropName": "Wine",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Miscanthus",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Switchgrass",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
},
{
"CropName": "Willow",
"CoverMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ]
}
]

View File

@@ -0,0 +1,359 @@
[
{
"Name": "Perm_gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Temp_gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 3.4,
"HarvestIndex": 0.444
},
{
"Name": "Nat_gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Gras",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 4.59,
"HarvestIndex": 0.444
},
{
"Name": "Fodder_maize",
"DM_content": 0.35,
"FracR": 0.0,
"C_input_CropRes": 1.1,
"HarvestIndex": 0.67
},
{
"Name": "Maize",
"DM_content": 0.85,
"FracR": 0.25,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Corn_cob_mix",
"DM_content": 0.8,
"FracR": 0.25,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Winter_wheat",
"DM_content": 0.85,
"FracR": 0.62,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Summer_wheat",
"DM_content": 0.85,
"FracR": 0.62,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Summer_barley",
"DM_content": 0.85,
"FracR": 0.43,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "winter_barley",
"DM_content": 0.85,
"FracR": 0.43,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Sugarbeet",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 2.732142857142857,
"HarvestIndex": 0.69
},
{
"Name": "Cons_pot_clay",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.7897727272727275,
"HarvestIndex": 0.69
},
{
"Name": "Pot_clay",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.953409090909091,
"HarvestIndex": 0.69
},
{
"Name": "Starch_pot",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.6670454545454545,
"HarvestIndex": 0.69
},
{
"Name": "Cons_pot_sand",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.7897727272727275,
"HarvestIndex": 0.69
},
{
"Name": "Pot_sand",
"DM_content": 0.24,
"FracR": 0.0,
"C_input_CropRes": 1.953409090909091,
"HarvestIndex": 0.69
},
{
"Name": "Vegetables_root",
"DM_content": 0.099,
"FracR": 0.0,
"C_input_CropRes": 1.61648275862069,
"HarvestIndex": 0.627333333333333
},
{
"Name": "Vegetables_leaf",
"DM_content": 0.04575,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.56125
},
{
"Name": "Vegetables_cabbage",
"DM_content": 0.0837058823529412,
"FracR": 0.0,
"C_input_CropRes": 2.75625,
"HarvestIndex": 0.472941176470588
},
{
"Name": "Vegetables_stem",
"DM_content": 0.0752,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.602
},
{
"Name": "Pumpkin",
"DM_content": 0.183,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.56
},
{
"Name": "Chicory",
"DM_content": 0.233,
"FracR": 0.0,
"C_input_CropRes": 1.40869565217391,
"HarvestIndex": 0.6
},
{
"Name": "Courgette",
"DM_content": 0.048,
"FracR": 0.0,
"C_input_CropRes": 0.704347826086956,
"HarvestIndex": 0.40
},
{
"Name": "Other_veg",
"DM_content": 0.10967,
"FracR": 0.0,
"C_input_CropRes": 1.22840281644892,
"HarvestIndex": 0.54622
},
{
"Name": "Grasseed",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 2.7155172413793105,
"HarvestIndex": 0.2
},
{
"Name": "Onion",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 0.5625,
"HarvestIndex": 1.0
},
{
"Name": "Bulbs",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 0.7575000000000001,
"HarvestIndex": 1.0
},
{
"Name": "Fallow",
"DM_content": 0.0,
"FracR": 0.0,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.0
},
{
"Name": "Nurseries",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 1.505,
"HarvestIndex": 0.85
},
{
"Name": "Pulses",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 2.0454545454545454,
"HarvestIndex": 0.69
},
{
"Name": "Apples",
"DM_content": 0.14,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 1.0
},
{
"Name": "Pears",
"DM_content": 0.14,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 1.0
},
{
"Name": "Luzerne",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 1.779,
"HarvestIndex": 0.5
},
{
"Name": "Other_crops",
"DM_content": 0.7,
"FracR": 0.0,
"C_input_CropRes": 2.0359063662409858,
"HarvestIndex": 0.5
},
{
"Name": "Other_seeds",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 2.7155172413793105,
"HarvestIndex": 0.5
},
{
"Name": "Triticale",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 2.2790322580645164,
"HarvestIndex": 0.46
},
{
"Name": "Rapeseed",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.69
},
{
"Name": "Strawberry",
"DM_content": 0.15,
"FracR": 0.0,
"C_input_CropRes": 2.0,
"HarvestIndex": 0.5
},
{
"Name": "Rye",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Other_fruits",
"DM_content": 0.15,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 1.0
},
{
"Name": "oats",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Green_manure",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 3.7,
"HarvestIndex": 0.3
},
{
"Name": "Fibres",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 0.13636363636363635,
"HarvestIndex": 0.92
},
{
"Name": "Sunflower",
"DM_content": 0.85,
"FracR": 0.0,
"C_input_CropRes": 0.0,
"HarvestIndex": 0.46
},
{
"Name": "Fodder_beet",
"DM_content": 0.25,
"FracR": 0.0,
"C_input_CropRes": 2.732142857142857,
"HarvestIndex": 0.69
},
{
"Name": "Other_cereals",
"DM_content": 0.85,
"FracR": 0.5,
"C_input_CropRes": 2.0359063662409853,
"HarvestIndex": 0.46
},
{
"Name": "Wine",
"DM_content": 0.15,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 0.7
},
{
"Name": "Miscanthus",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Switchgrass",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 5.1,
"HarvestIndex": 0.444
},
{
"Name": "Willow",
"DM_content": 1.0,
"FracR": 0.0,
"C_input_CropRes": 2.6,
"HarvestIndex": 0.85
}
]

View File

@@ -0,0 +1,78 @@
{
"StrawCrops": [
{
"StrawCrop": "Maize",
"DM_Content": 0.7
},
{
"StrawCrop": "Corn_cob_mix",
"DM_Content": 0.7
},
{
"StrawCrop": "Winter_wheat",
"DM_Content": 0.85
},
{
"StrawCrop": "Summer_wheat",
"DM_Content": 0.85
},
{
"StrawCrop": "Summer_barley",
"DM_Content": 0.85
},
{
"StrawCrop": "winter_barley",
"DM_Content": 0.85
},
{
"StrawCrop": "Rapeseed",
"DM_Content": 0.6
},
{
"StrawCrop": "Rye",
"DM_Content": 0.85
},
{
"StrawCrop": "oats",
"DM_Content": 0.85
},
{
"StrawCrop": "Sunflower",
"DM_Content": 0.6
},
{
"StrawCrop": "Other_cereals",
"DM_Content": 0.85
}
],
"GreenManureType": [
"Bladrammenas",
"GeleMosterd",
"Voederwikke",
"Afrikaantjes",
"JapanseHaver",
"ItaliaansRaaigras",
"Mengsel3soorten",
"Mengsel12soorten",
"EngelsRaaigras",
"Facelia",
"Grasland",
"Overig",
"Rietzwenkgras"
],
"Perennial": [
"Nurseries",
"Apples",
"Pears",
"Other_fruits",
"Wine",
"Miscanthus",
"Switchgrass",
"Willow"
],
"Grass_nat": [
"Perm_gras",
"Nat_gras",
"Gras"
]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,76 @@
{
"ManureSources_liv": [
{
"ManureSource_liv": "WMGRAAS",
"Description": "Weidemest graasdieren"
},
{
"ManureSource_liv": "DMGRAAS",
"Description": "Drijfmest graasdieren"
},
{
"ManureSource_liv": "VMGRAAS",
"Description": "Vaste mest graasdieren"
},
{
"ManureSource_liv": "DMSTAL",
"Description": "Drijfmest staldieren"
},
{
"ManureSource_liv": "VMSTAL",
"Description": "Vaste mest staldieren"
},
{
"ManureSource_liv": "FRACDUN",
"Description": "Dunne Fractie"
},
{
"ManureSource_liv": "FRACDIK",
"Description": "Dikke Fractie"
},
{
"ManureSource_liv": "KMVERV",
"Description": "Kunstmestvervangers"
},
{
"ManureSource_liv": "DIGEST",
"Description": "Digestaat"
},
{
"ManureSource_liv": "CHAMPOST",
"Description": "Champost"
},
{
"ManureSource_liv": "SCHA_GEIT",
"Description": "Schapen/geitenmest"
},
{
"ManureSource_liv": "VMPIG",
"Description": "Vaste varkensmest"
},
{
"ManureSource_liv": "DM_ZEUG",
"Description": "Zeugendrijfmest"
},
{
"ManureSource_liv": "BOKASHI",
"Description": "Bokashi"
},
{
"ManureSource_liv": "OVERIG",
"Description": "Overig"
}
],
"composts": [
{
"compost": "COMPOST",
"Description": "compost"
}
],
"CarbonSource": [
"CarbonManure",
"CarbonResidues",
"CarbonGreenManure",
"CarbonCompost"
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
{
"SoilType": [ "Moerig", "Veen", "Klei", "Zand", "Loss" ],
"MineralSoils": [ "Klei", "Zand" ],
"Months": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12", "Total", "Average" ],
"AllMonths": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12" ],
"ClimateVar": [ "Evapotranspiration", "Precipitation", "Temperature" ]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,66 @@
[
{
"ManCcont": "WMGRAAS",
"Value": 0.0356
},
{
"ManCcont": "DMGRAAS",
"Value": 0.0356
},
{
"ManCcont": "VMGRAAS",
"Value": 0.077385
},
{
"ManCcont": "DMSTAL",
"Value": 0.03955
},
{
"ManCcont": "VMSTAL",
"Value": 0.209715
},
{
"ManCcont": "COMPOST",
"Value": 0.10535
},
{
"ManCcont": "FRACDUN",
"Value": 0.01715
},
{
"ManCcont": "FRACDIK",
"Value": 0.0759
},
{
"ManCcont": "KMVERV",
"Value": 0.010585
},
{
"ManCcont": "DIGEST",
"Value": 0.01652
},
{
"ManCcont": "CHAMPOST",
"Value": 0.1050
},
{
"ManCcont": "SCHA_GEIT",
"Value": 0.09225
},
{
"ManCcont": "VMPIG",
"Value": 0.0765
},
{
"ManCcont": "DM_ZEUG",
"Value": 0.0125
},
{
"ManCcont": "BOKASHI",
"Value": 0.19
},
{
"ManCcont": "OVERIG",
"Value": 0.01652
}
]

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,303 @@
[
{
"CropCode": "1020101",
"CropName": "Wintertarwe",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020102",
"CropName": "Wintergerst",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020103",
"CropName": "Winterrogge",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020201",
"CropName": "Zomertarwe",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020202",
"CropName": "Zomergerst",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1020203",
"CropName": "Zomerrogge",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": ""
},
{
"CropCode": "1030301",
"CropName": "Alexandrijnse klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030302",
"CropName": "Bastaard klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030303",
"CropName": "Hopklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030304",
"CropName": "Inkarnaatklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030305",
"CropName": "Perzische klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030306",
"CropName": "Rode klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030307",
"CropName": "Rolklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030308",
"CropName": "Witte honingklaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030309",
"CropName": "Witte klaver",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030401",
"CropName": "Blauwe Lupine",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030402",
"CropName": "Gele Lupine",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030403",
"CropName": "Witte Lupine",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030501",
"CropName": "Voederwikke",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030502",
"CropName": "Bonte wikke",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Voederwikke"
},
{
"CropCode": "1030602",
"CropName": "Hanekam",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040101",
"CropName": "Stoppelknol",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040102",
"CropName": "Bladrammenas",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Bladrammenas"
},
{
"CropCode": "1040103",
"CropName": "Bruine mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040104",
"CropName": "Gele mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040105",
"CropName": "Zwarte mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040108",
"CropName": "Bladkool",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040109",
"CropName": "Mergkool",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1040110",
"CropName": "Ethiopische mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040111",
"CropName": "Serepta mosterd",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "GeleMosterd"
},
{
"CropCode": "1040112",
"CropName": "Zwaardherik",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1050101",
"CropName": "Engels raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "EngelsRaaigras"
},
{
"CropCode": "1050102",
"CropName": "Frans raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050103",
"CropName": "Gekruist raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050104",
"CropName": "Italiaans raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050105",
"CropName": "Trosraaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050106",
"CropName": "Westerwolds raaigras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "ItaliaansRaaigras"
},
{
"CropCode": "1050201",
"CropName": "Roodzwenkgras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Rietzwenkgras"
},
{
"CropCode": "1050408",
"CropName": "Sudangras",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Rietzwenkgras"
},
{
"CropCode": "1080107",
"CropName": "Facelia",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Facelia"
},
{
"CropCode": "1080108",
"CropName": "Spurrie",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
},
{
"CropCode": "1080109",
"CropName": "Afrikaantjes",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Afrikaantjes"
},
{
"CropCode": "1080110",
"CropName": "Raketblad",
"PurposeCode": "118",
"PurposeName": "Groenbemesting",
"MiterraRothCCrop": "Overig"
}
]

View File

@@ -0,0 +1 @@
UTF-8

Binary file not shown.

View File

@@ -0,0 +1 @@
PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]]

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
{
"LayerDepth": 25.0,
"kDPM": 10.0,
"kRPM": 0.3,
"kBIO": 0.66,
"kHUM": 0.02,
"StubbleFraction": 0.45,
"CarbonBiomass": 0.45,
"FracBelowGroundCinput": 0.25
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,123 @@
[
{
"ManureName": "Bladrammenas",
"GoodQuality": 3.573099415204678,
"AverageQuality": 2.5011695906432747,
"BadQuality": 1.786549707602339
},
{
"ManureName": "GeleMosterd",
"GoodQuality": 2.05696405648267,
"AverageQuality": 1.4398748395378689,
"BadQuality": 1.028482028241335
},
{
"ManureName": "Voederwikke",
"GoodQuality": 1.2933673469387754,
"AverageQuality": 0.9053571428571427,
"BadQuality": 0.6466836734693877
},
{
"ManureName": "Afrikaantjes",
"GoodQuality": 2.8392857142857153,
"AverageQuality": 1.9875000000000005,
"BadQuality": 1.4196428571428577
},
{
"ManureName": "JapanseHaver",
"GoodQuality": 2.5844583333333335,
"AverageQuality": 1.8091208333333333,
"BadQuality": 1.2922291666666668
},
{
"ManureName": "ItaliaansRaaigras",
"GoodQuality": 3.1635153508771934,
"AverageQuality": 2.2144607456140353,
"BadQuality": 1.5817576754385967
},
{
"ManureName": "Rogge",
"GoodQuality": 2.5,
"AverageQuality": 1.75,
"BadQuality": 1.25
},
{
"ManureName": "Graan",
"GoodQuality": 2.2,
"AverageQuality": 1.54,
"BadQuality": 1.1
},
{
"ManureName": "Haver",
"GoodQuality": 2.6,
"AverageQuality": 1.82,
"BadQuality": 1.3
},
{
"ManureName": "Gerst",
"GoodQuality": 2.55,
"AverageQuality": 1.785,
"BadQuality": 1.275
},
{
"ManureName": "Mengsel_groenbraak",
"GoodQuality": 2.8,
"AverageQuality": 1.96,
"BadQuality": 1.4
},
{
"ManureName": "Mengsel_natuurbraak",
"GoodQuality": 3.0,
"AverageQuality": 2.1,
"BadQuality": 1.5
},
{
"ManureName": "Mengsel_Nbron",
"GoodQuality": 2.8,
"AverageQuality": 1.96,
"BadQuality": 1.4
},
{
"ManureName": "Mengsel_Nvang",
"GoodQuality": 2.8,
"AverageQuality": 1.96,
"BadQuality": 1.4
},
{
"ManureName": "EngelsRaaigras",
"GoodQuality": 3.1635153508771934,
"AverageQuality": 2.2144607456140353,
"BadQuality": 1.5817576754385967
},
{
"ManureName": "Facelia",
"GoodQuality": 0.2925,
"AverageQuality": 0.20475,
"BadQuality": 0.14625
},
{
"ManureName": "Grasland",
"GoodQuality": 3.418421052631579,
"AverageQuality": 2.3928947368421056,
"BadQuality": 1.7092105263157895
},
{
"ManureName": "Overig",
"GoodQuality": 6.728475765306122,
"AverageQuality": 4.709933035714285,
"BadQuality": 3.364237882653061
},
{
"ManureName": "Rietzwenkgras",
"GoodQuality": 3.1635153508771934,
"AverageQuality": 2.2144607456140353,
"BadQuality": 1.5817576754385967
},
{
"ManureName": "Triticale",
"GoodQuality": 2.2,
"AverageQuality": 1.54,
"BadQuality": 1.1
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6</TargetFramework>
<AssemblyName>CarbonLib</AssemblyName>
<PackageId>CarbonLib</PackageId>
<RuntimeIdentifiers>win10-x64;ubuntu.16.04-x64</RuntimeIdentifiers>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<Version>4.12.0</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Base.Core.Common.Geometry" Version="4.12.0-prerelease.2104" />
<PackageReference Include="NetTopologySuite" Version="2.5.0" />
<PackageReference Include="NetTopologySuite.IO.GeoJSON" Version="3.0.0" />
</ItemGroup>
</Project>

View File

@@ -1,9 +1,11 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30907.101
# Visual Studio Version 17
VisualStudioVersion = 17.14.36414.22 d17.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarbonLib", "CarbonLib.csproj", "{51876378-DB3E-4D30-8EDA-83DDDCE4C4ED}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarbonLib", "CarbonLib\CarbonLib.csproj", "{51876378-DB3E-4D30-8EDA-83DDDCE4C4ED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarbonConsoleApp", "CarbonConsoleApp\CarbonConsoleApp.csproj", "{A961AA67-3D88-E648-51CC-5DAC78203614}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +17,10 @@ Global
{51876378-DB3E-4D30-8EDA-83DDDCE4C4ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{51876378-DB3E-4D30-8EDA-83DDDCE4C4ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{51876378-DB3E-4D30-8EDA-83DDDCE4C4ED}.Release|Any CPU.Build.0 = Release|Any CPU
{A961AA67-3D88-E648-51CC-5DAC78203614}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A961AA67-3D88-E648-51CC-5DAC78203614}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A961AA67-3D88-E648-51CC-5DAC78203614}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A961AA67-3D88-E648-51CC-5DAC78203614}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,11 +1,7 @@
using CarbonService.Models;
using FarmMapsAPI.Carbon;
using FarmMapsAPI.Carbon.Models;
using CarbonLib.Carbon;
using CarbonService.Models;
using CarbonLib.Carbon.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CarbonLib
{
@@ -14,6 +10,7 @@ namespace CarbonLib
public abstract CarbonRequest MapFarmMapsToMiterra(FarmMapsCarbonRequest farmInput);
public abstract string Validate(CarbonRequest farmInput);
public abstract CarbonSummary Calculate(CarbonRequest farmInput);
public abstract CarbonSummary CalculateClimateScenario(CarbonRequest farmInput);
public double? GetCropYield(string cropCode, int year, int postalCode)
{

View File

@@ -1,18 +1,12 @@
using Base.Core.Common;
using Base.Core.Common.Geometry;
using CarbonLib;
using CarbonService.Models;
using FarmMapsAPI.Carbon.Models;
using NetTopologySuite.Geometries;
using OSGeo.OGR;
using CarbonService.Models;
using CarbonLib.Carbon.Models;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon
namespace CarbonLib.Carbon
{
public class CarbonCalculation24 : ICarbonCalculation
{
@@ -230,9 +224,34 @@ namespace FarmMapsAPI.Carbon
return cropYield;
}
public CarbonSummary CalculateClimateScenario(CarbonRequest farmInput)
{
var simpleResult = Calculate(farmInput);
return simpleResult;
}
private List<double> GetMinMaxMedian(List<YearSummary> yearData, int year, string varName)
{
if (yearData.Count == 0)
{
}
var minValue = (double)yearData.Min(s => s.GetType().GetProperty(varName).GetValue(s));
var medianValue = CalculateMedian(yearData.Select(s => Convert.ToDouble(s.GetType().GetProperty(varName).GetValue(s))).ToList());
var maxValue = (double)yearData.Max(s => s.GetType().GetProperty(varName).GetValue(s));
return new List<double> { minValue, medianValue, maxValue };
}
public CarbonSummary Calculate(CarbonRequest farmInput)
{
return Calculate(farmInput, 0);
}
public CarbonSummary Calculate(CarbonRequest farmInput, int climateScenarioNumber = 0, Dictionary<(string, string, int), ClimateVariable> climate = null)
{
var knmiFile = Helper.GetPlatformIndependentDirectoryPath(Path.Combine(configPath, "KNMI_data.csv"));
var climateFile = Helper.GetPlatformIndependentDirectoryPath(Path.Combine(configPath, "klimaatscenario.csv"));
// soilTypeData (external input)
var soilTypeData = GetSoilTypeData(farmInput);
@@ -405,7 +424,15 @@ namespace FarmMapsAPI.Carbon
}
cropAreaFarm.Add(("Farmname", loopYear), croplist);
Dictionary<string, List<ClimateVariable>> climateVariable = GetClimateVariable(knmiFile, dataTransformationSet, gisSoilSet, loopYear, farmInput);
Dictionary<string, List<ClimateVariable>> climateVariable;
if (climateScenarioNumber == 0)
{
climateVariable = GetClimateVariable(knmiFile, dataTransformationSet, gisSoilSet, loopYear, farmInput, climateFile, climateScenarioNumber);
}
else
{
climateVariable = GetClimateVariable2(knmiFile, dataTransformationSet, gisSoilSet, loopYear, farmInput, climateFile, climateScenarioNumber, climate);
}
// Crop and soil areas
// soilArea keys: (fieldname, year, soil)
@@ -1926,7 +1953,7 @@ namespace FarmMapsAPI.Carbon
return soilBulkDensities;
}
private static Dictionary<string, List<ClimateVariable>> GetClimateVariable(string knmiFile, SetsForDataTransformation dataTransformationSet, GIS_Soils_Sets gisSoilSet, int loopYear, CarbonRequest farmInput)
private Dictionary<(string, string, int), ClimateVariable> InitClimateFile(string knmiFile, string climateFile = null, int climateScenarioNumber = 0)
{
var data = new List<string>();
using (StreamReader r = new StreamReader(knmiFile))
@@ -1939,27 +1966,193 @@ namespace FarmMapsAPI.Carbon
}
var farmPostalCode = farmInput.PostalCode;
if (farmInput.geometry != null)
var dataClimate = new List<string>();
if (climateFile != null && climateScenarioNumber > 0)
{
// determine poatalcode from geometry
string res = GetPostalCodeFromGeometry(farmInput.geometry);
farmPostalCode = 8211;
using (StreamReader r = new StreamReader(climateFile))
{
string line;
while ((line = r.ReadLine()) != null)
{
dataClimate.Add(line);
}
}
}
// climate (zone, month, year)
var climate = new Dictionary<(string, string, int), ClimateVariable>();
if (dataClimate.Count() > 0)
{
foreach (var row in dataClimate)
{
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || row.Split(';')[0] == "KNMI_zone")
{
continue;
}
var rowArr = row.Split(';');
if (int.Parse(rowArr[3]) == climateScenarioNumber)
{
climate.Add(($"zone{rowArr[0]}", $"M{rowArr[2]}", int.Parse(rowArr[1])), new ClimateVariable(double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture), double.Parse(rowArr[6], CultureInfo.InvariantCulture)));
}
}
foreach (var row in data)
{
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || string.IsNullOrEmpty(row.Split(';')[0]))
{
continue;
}
var rowArr = row.Split(';');
if (int.Parse(rowArr[2]) <= 2023)
{
if (climate.Any(x => x.Key.Item1 == rowArr[0] && x.Key.Item2 == rowArr[1] && x.Key.Item3 == int.Parse(rowArr[2])))
{
climate[(rowArr[0], rowArr[1], int.Parse(rowArr[2]))].Temperature = double.Parse(rowArr[3], CultureInfo.InvariantCulture);
climate[(rowArr[0], rowArr[1], int.Parse(rowArr[2]))].Precipitation = double.Parse(rowArr[4], CultureInfo.InvariantCulture);
climate[(rowArr[0], rowArr[1], int.Parse(rowArr[2]))].Evapotranspiration = double.Parse(rowArr[5], CultureInfo.InvariantCulture);
}
else
{
climate.Add((rowArr[0], rowArr[1], int.Parse(rowArr[2])), new ClimateVariable(double.Parse(rowArr[3], CultureInfo.InvariantCulture), double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture)));
}
}
else
{
if (climate.Any(x => x.Key.Item1 == rowArr[0] && x.Key.Item2 == rowArr[1] && x.Key.Item3 == int.Parse(rowArr[2])))
{
continue;
}
climate.Add((rowArr[0], rowArr[1], int.Parse(rowArr[2])), new ClimateVariable(double.Parse(rowArr[3], CultureInfo.InvariantCulture), double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture)));
}
}
}
else
{
foreach (var row in data)
{
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || string.IsNullOrEmpty(row.Split(';')[0]))
{
continue;
}
var rowArr = row.Split(';');
climate.Add((rowArr[0], rowArr[1], int.Parse(rowArr[2])), new ClimateVariable(double.Parse(rowArr[3], CultureInfo.InvariantCulture), double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture)));
}
}
return climate;
}
private static Dictionary<string, List<ClimateVariable>> GetClimateVariable2(string knmiFile, SetsForDataTransformation dataTransformationSet, GIS_Soils_Sets gisSoilSet, int loopYear, CarbonRequest farmInput, string climateFile = null, int climateScenarioNumber = 0, Dictionary<(string, string, int), ClimateVariable> climate = null)
{
var climateVariable = new Dictionary<string, List<ClimateVariable>>();
var farmPostalCode = farmInput.PostalCode;
//if (farmInput.geometry != null)
//{
// // determine poatalcode from geometry
// string res = GetPostalCodeFromGeometry(farmInput.geometry);
// farmPostalCode = 8211;
//}
var farmZone = dataTransformationSet.KNMI_zone_Reg.SingleOrDefault(x => x.Reg.Contains(farmPostalCode)).KNMI_zone;
foreach (var field in farmInput.CropFields.Select(s => s.Name))
{
var monthClimateList = new List<ClimateVariable>();
foreach (var month in gisSoilSet.AllMonths)
{
var climateYear = loopYear > 2050 || 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);
}
climateVariable.Add(field, monthClimateList);
}
return climateVariable;
}
private static Dictionary<string, List<ClimateVariable>> GetClimateVariable(string knmiFile, SetsForDataTransformation dataTransformationSet, GIS_Soils_Sets gisSoilSet, int loopYear, CarbonRequest farmInput, string climateFile = null, int climateScenarioNumber = 0)
{
var data = new List<string>();
using (StreamReader r = new StreamReader(knmiFile))
{
string line;
while ((line = r.ReadLine()) != null)
{
data.Add(line);
}
}
var dataClimate = new List<string>();
if (climateFile != null && climateScenarioNumber > 0)
{
using (StreamReader r = new StreamReader(climateFile))
{
string line;
while ((line = r.ReadLine()) != null)
{
dataClimate.Add(line);
}
}
}
var farmPostalCode = farmInput.PostalCode;
//if (farmInput.geometry != null)
//{
// // determine poatalcode from geometry
// string res = GetPostalCodeFromGeometry(farmInput.geometry);
// farmPostalCode = 8211;
//}
var farmZone = dataTransformationSet.KNMI_zone_Reg.SingleOrDefault(x => x.Reg.Contains(farmPostalCode)).KNMI_zone;
// climate (zone, month, year)
var climate = new Dictionary<(string, string, int), ClimateVariable>();
foreach (var row in data)
if (dataClimate.Count() > 0)
{
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || string.IsNullOrEmpty(row.Split(';')[0]))
foreach (var row in dataClimate)
{
continue;
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || row.Split(';')[0] == "KNMI_zone")
{
continue;
}
var rowArr = row.Split(';');
if (int.Parse(rowArr[3]) == climateScenarioNumber)
{
climate.Add(($"zone{rowArr[0]}", $"M{rowArr[2]}", int.Parse(rowArr[1])), new ClimateVariable(double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture), double.Parse(rowArr[6], CultureInfo.InvariantCulture)));
}
}
foreach (var row in data)
{
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || string.IsNullOrEmpty(row.Split(';')[0]))
{
continue;
}
var rowArr = row.Split(';');
if (climate.Any(x => x.Key.Item1 == rowArr[0] && x.Key.Item2 == rowArr[1] && x.Key.Item3 == int.Parse(rowArr[2])))
{
continue;
}
climate.Add((rowArr[0], rowArr[1], int.Parse(rowArr[2])), new ClimateVariable(double.Parse(rowArr[3], CultureInfo.InvariantCulture), double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture)));
}
var rowArr = row.Split(';');
climate.Add((rowArr[0], rowArr[1], int.Parse(rowArr[2])), new ClimateVariable(double.Parse(rowArr[3], CultureInfo.InvariantCulture), double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture)));
}
else
{
foreach (var row in data)
{
if (string.IsNullOrEmpty(row) || row.Split(';').Length == 0 || string.IsNullOrEmpty(row.Split(';')[0]))
{
continue;
}
var rowArr = row.Split(';');
climate.Add((rowArr[0], rowArr[1], int.Parse(rowArr[2])), new ClimateVariable(double.Parse(rowArr[3], CultureInfo.InvariantCulture), double.Parse(rowArr[4], CultureInfo.InvariantCulture), double.Parse(rowArr[5], CultureInfo.InvariantCulture)));
}
}
var climateVariable = new Dictionary<string, List<ClimateVariable>>();
@@ -2020,40 +2213,40 @@ namespace FarmMapsAPI.Carbon
return carbonInputGreenManure;
}
private static string GetPostalCodeFromGeometry(NetTopologySuite.Geometries.Geometry geometry)
{
//// Set crs default geometry factory to EPSG:4326
NetTopologySuite.NtsGeometryServices.Instance = new NetTopologySuite.NtsGeometryServices(NetTopologySuite.Geometries.Implementation.CoordinateArraySequenceFactory.Instance,
new PrecisionModel(PrecisionModels.Floating), 4326);
// Register all vector drivers
Ogr.RegisterAll();
//private static string GetPostalCodeFromGeometry(NetTopologySuite.Geometries.Geometry geometry)
//{
// //// Set crs default geometry factory to EPSG:4326
// NetTopologySuite.NtsGeometryServices.Instance = new NetTopologySuite.NtsGeometryServices(NetTopologySuite.Geometries.Implementation.CoordinateArraySequenceFactory.Instance,
// new PrecisionModel(PrecisionModels.Floating), 4326);
// // Register all vector drivers
// Ogr.RegisterAll();
// item.geometry is always in WGS84 so reproject to EPSG:28992
var localReference = new LocalReference("EPSG:28992");
var localGeometry = localReference.ToLocalPolygon(geometry as Polygon);
// // item.geometry is always in WGS84 so reproject to EPSG:28992
// var localReference = new LocalReference("EPSG:28992");
// var localGeometry = localReference.ToLocalPolygon(geometry as Polygon);
// get postal code from shape file
// open shape file
using (var postalcodes = Ogr.Open("config/PC4/PC4.shp", 0))
{
// get first layer
var pc4Layer = postalcodes.GetLayerByIndex(0);
// // get postal code from shape file
// // open shape file
// using (var postalcodes = Ogr.Open("config/PC4/PC4.shp", 0))
// {
// // get first layer
// var pc4Layer = postalcodes.GetLayerByIndex(0);
// set spatial filter to geometry ( only intersecting features are retrieved )
pc4Layer.SetSpatialFilter(localGeometry.Centroid.ToOGRGeometry());
// // set spatial filter to geometry ( only intersecting features are retrieved )
// pc4Layer.SetSpatialFilter(localGeometry.Centroid.ToOGRGeometry());
// get next feature
var pc4Feature = pc4Layer.GetNextFeature();
// // get next feature
// var pc4Feature = pc4Layer.GetNextFeature();
// if feature retrieved get the PC4 attribute from it
if (pc4Feature is object)
{
return pc4Feature.GetFieldAsString("PC4");
}
}
// // if feature retrieved get the PC4 attribute from it
// if (pc4Feature is object)
// {
// return pc4Feature.GetFieldAsString("PC4");
// }
// }
return "";
}
// return "";
//}
private string MapSoil(string soil)
{
@@ -2069,5 +2262,29 @@ namespace FarmMapsAPI.Carbon
}
}
private static double CalculateMedian(List<double> numbers)
{
if (numbers == null || numbers.Count == 0)
{
throw new InvalidOperationException("The list is empty or null.");
}
numbers.Sort();
int count = numbers.Count;
if (count % 2 == 0)
{
// Even number of elements
double mid1 = numbers[count / 2 - 1];
double mid2 = numbers[count / 2];
return (mid1 + mid2) / 2.0;
}
else
{
// Odd number of elements
return numbers[count / 2];
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>CarbonLib</AssemblyName>
<PackageId>CarbonLib</PackageId>
<RuntimeIdentifiers>win-x64;linux-x64;linux-musl-x64</RuntimeIdentifiers>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<Version>4.19.0</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NetTopologySuite" Version="2.5.0" />
<PackageReference Include="NetTopologySuite.IO.GeoJSON" Version="3.0.0" />
</ItemGroup>
</Project>

View File

@@ -5,7 +5,7 @@ using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon
namespace CarbonLib.Carbon
{
public class GamsSets
{

13
CarbonLib/Helper.cs Normal file
View File

@@ -0,0 +1,13 @@
using System.IO;
namespace CarbonLib
{
public class Helper
{
public static string GetPlatformIndependentDirectoryPath(string path)
{
return path.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
}
}
}

View File

@@ -1,18 +1,19 @@
using CarbonService.Models;
using FarmMapsAPI.Carbon.Models;
using CarbonLib.Carbon.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon
namespace CarbonLib.Carbon
{
public interface ICarbonCalculation
{
string Validate(CarbonRequest farmInput);
CarbonRequest MapFarmMapsToMiterra(FarmMapsCarbonRequest farmInput);
CarbonSummary Calculate(CarbonRequest farmInput);
CarbonSummary CalculateClimateScenario(CarbonRequest farmInput);
double? GetCropYield(string cropCode, int year, int postalCode);
}
}

View File

@@ -3,7 +3,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class CarbonSummary
{
@@ -11,6 +11,14 @@ namespace FarmMapsAPI.Carbon.Models
public List<CropFieldSummary> CropField { get; set; }
}
public class CarbonSummaryList
{
[JsonProperty("cropFieldClimate")]
public List<CropFieldSummaryList> CropFieldClimate { get; set; }
[JsonProperty("cropField")]
public CarbonSummary CarbonSummary { get; set; }
}
public class CropFieldSummary
{
[JsonProperty("name")]
@@ -19,6 +27,14 @@ namespace FarmMapsAPI.Carbon.Models
public List<YearSummary> Summary { get; set; }
}
public class CropFieldSummaryList
{
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("summary")]
public List<YearSummaryClimate> SummaryList { get; set; }
}
public class YearSummary
{
[JsonProperty("crop")]
@@ -37,6 +53,8 @@ namespace FarmMapsAPI.Carbon.Models
public double IniCcontent { get; set; }
[JsonProperty("oM_ini")]
public double OM_ini { get; set; }
[JsonProperty("oM_ini_Climate")]
public List<double> OM_ini_Climate { get; set; }
[JsonProperty("cO2seq")]
public double CO2seq { get; set; }
[JsonProperty("soC_CarbonCompost")]
@@ -51,6 +69,39 @@ namespace FarmMapsAPI.Carbon.Models
public double Emision { get; set; }
}
public class YearSummaryClimate
{
[JsonProperty("crop")]
public string Crop { get; set; }
[JsonProperty("year")]
public int Year { get; set; }
[JsonProperty("bulk_Density")]
public List<double> Bulk_Density { get; set; }
[JsonProperty("total_crop_area")]
public double Total_crop_area { get; set; }
[JsonProperty("balance")]
public List<double> Balance { get; set; }
[JsonProperty("initial")]
public List<double> Initial { get; set; }
[JsonProperty("iniCcontent")]
public List<double> IniCcontent { get; set; }
[JsonProperty("oM_ini")]
public List<double> OM_ini { get; set; }
[JsonProperty("cO2seq")]
public List<double> CO2seq { get; set; }
[JsonProperty("soC_CarbonCompost")]
public List<double> SOC_CarbonCompost { get; set; }
[JsonProperty("soC_CarbonGreenManure")]
public List<double> SOC_CarbonGreenManure { get; set; }
[JsonProperty("soC_CarbonResidues")]
public List<double> SOC_CarbonResidues { get; set; }
[JsonProperty("soC_CarbonManure")]
public List<double> SOC_CarbonManure { get; set; }
[JsonProperty("emision")]
public List<double> Emision { get; set; }
}
public class FarmYearSummary
{
[JsonProperty("year")]

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class ClimateVariable
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class ColumnValue
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class CropCoverMonthsModel
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class CropPropertyModel
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class StrawCrp
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class YearData
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class ManureSourcesLiv
{

View File

@@ -9,11 +9,11 @@ using System.Runtime.Serialization;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class FarmMapsCarbonRequest
{
public int? ModelYear { get; set; }
public string ModelYear { get; set; }
public string ScenarioName { get; set; }
public int PostalCode { get; set; }

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class GIS_Soils_Sets
{

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class GamsThreeKeyParameter
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class ManCcontModel
{

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class MappingCropFarmmapsMiterraRothC
{

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class MappingGreenManureFarmmapsMiterraRothC
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class ParameterSet
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class KNMIZoneReg
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class SoilBulkDensityType
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class SoilPropertyType
{

View File

@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
namespace FarmMapsAPI.Carbon.Models
namespace CarbonLib.Carbon.Models
{
public class YieldGreenManureModel
{

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="akkerweb" value="https://repository.akkerweb.nl/repository/nuget-group/" />
<add key="NPGSQL Unstable" value="https://www.myget.org/F/npgsql-unstable/api/v3/index.json" />
<add key="NetTopologySuite" value="https://www.myget.org/F/nettopologysuite/api/v3/index.json" />
</packageSources>
<packageSourceCredentials>
<akkerweb>
<add key="Username" value="akkerweb" />
<add key="ClearTextPassword" value="1QTrg6g[*" />
</akkerweb>
</packageSourceCredentials>
</configuration>

View File

@@ -1,3 +1,24 @@
# CarbonLib
#
#
Library with model based on the scientifically acknowledged carbon model RothC.
The code is written in C# .NET Core and it is adapted from a project written in GAMS.
Test console app is included with an example input request. The output in written to a file.
## Building a sample
Build the sample using the .NET Core CLI, which is installed with [the .NET Core SDK](https://www.microsoft.com/net/download). Then run
these commands from the CLI in the directory of the CarbonConsoleApp:
```console
dotnet build
dotnet run
```
This will install any needed dependencies, build the project, and run
the project respectively.
For questions regarding the model: chantal.hendriks@wur.nl