KPI ammonia emissions is now fully functional (including in the example input file)
This commit is contained in:
parent
67e5cb6bb4
commit
fb92fa0d1c
@ -94,7 +94,7 @@ namespace FarmmapsKPI
|
|||||||
int nrun = 1;
|
int nrun = 1;
|
||||||
for (int run = 1; run <= nrun; run++) {
|
for (int run = 1; run <= nrun; run++) {
|
||||||
for (int i = 0; i < fieldsInputs.Count; i++)
|
for (int i = 0; i < fieldsInputs.Count; i++)
|
||||||
//for (int i = 2; i < 3; i++) // for testing
|
//for (int i = 3; i < 4; i++) // for testing
|
||||||
{
|
{
|
||||||
watch.Restart();
|
watch.Restart();
|
||||||
input = fieldsInputs[i];
|
input = fieldsInputs[i];
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"soilCode": "1", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
"soilName": "Sand", //From codelist CL405
|
"soilName": "Sand",
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
"productionPurposeCode": "003", //From codelist CL251. For testing, see case with consumption & starch potato
|
"productionPurposeCode": "003", //From codelist CL251. For testing, see case with consumption & starch potato
|
||||||
@ -77,7 +77,7 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"soilCode": "7", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "7", //From codelist CL405. Can no longer be omitted
|
||||||
"soilName": "Clay", //From codelist CL405
|
"soilName": "Clay", //From codelist CL405
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
@ -141,7 +141,7 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"soilCode": "1", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
"soilName": "Sand",
|
"soilName": "Sand",
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
@ -199,8 +199,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
//"soilCode": "5", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "5", //From codelist CL405. Can be no longer be omitted
|
||||||
//"soilName": "Loam", //From codelist CL405.
|
"soilName": "Loam", //From codelist CL405.
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
||||||
@ -220,7 +220,7 @@
|
|||||||
"n": "92", //refers to codelist CL022 with fertilizer types & npk contents
|
"n": "92", //refers to codelist CL022 with fertilizer types & npk contents
|
||||||
"name": "Kunstmest strooien", //refers to codelist CL127 with operation methods
|
"name": "Kunstmest strooien", //refers to codelist CL127 with operation methods
|
||||||
"product": "7360", //refers to codelist CL022 with fertilizer types
|
"product": "7360", //refers to codelist CL022 with fertilizer types
|
||||||
"type": "MOR", //indicates wether the fertilization is anorganic (MAN) or organic (MOR)
|
//"type": "MAN", //indicates wether the fertilization is anorganic (MAN) or organic (MOR)
|
||||||
"quantity": "200",
|
"quantity": "200",
|
||||||
//"status": "3", // refers to codelist CL256. where 3 stand for completed. The status does not matter and is not used in the KPI calculations
|
//"status": "3", // refers to codelist CL256. where 3 stand for completed. The status does not matter and is not used in the KPI calculations
|
||||||
"operationCode": "7", // refers to codelist CL018 consisting of main catergorie of operations. Code 7 stands for fertilization
|
"operationCode": "7", // refers to codelist CL018 consisting of main catergorie of operations. Code 7 stands for fertilization
|
||||||
@ -241,7 +241,7 @@
|
|||||||
//"status": "3", // refers to codelist CL256. where 3 stand for completed. The status does not matter and is not used in the KPI calculations
|
//"status": "3", // refers to codelist CL256. where 3 stand for completed. The status does not matter and is not used in the KPI calculations
|
||||||
"operationCode": "7", // refers to codelist CL018 consisting of main catergorie of operations. Code 7 stands for fertilization
|
"operationCode": "7", // refers to codelist CL018 consisting of main catergorie of operations. Code 7 stands for fertilization
|
||||||
"product": "2329", //refers to codelist CL022 with fertilizer types
|
"product": "2329", //refers to codelist CL022 with fertilizer types
|
||||||
"type": "MAN",//indicates wether the fertilization is anorganic (MAN) or organic (MOR)
|
//"type": "MAN",//indicates wether the fertilization is anorganic (MAN) or organic (MOR)
|
||||||
"quantity": "32000",
|
"quantity": "32000",
|
||||||
"unitCode": "KGMHAR",
|
"unitCode": "KGMHAR",
|
||||||
"contractor": false,
|
"contractor": false,
|
||||||
@ -294,8 +294,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
//"soilCode": "5", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "5", //From codelist CL405. Can be no longer be omitted
|
||||||
//"soilName": "Loam", //From codelist CL405.
|
"soilName": "Loam", //From codelist CL405.
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
||||||
@ -369,8 +369,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
//"soilCode": "5", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "5", //From codelist CL405. Can be no longer be omitted
|
||||||
//"soilName": "Loam", //From codelist CL405.
|
"soilName": "Loam", //From codelist CL405.
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
||||||
@ -442,10 +442,10 @@
|
|||||||
"fieldName": "caseQuoteNnotProvidedInDataOperations",
|
"fieldName": "caseQuoteNnotProvidedInDataOperations",
|
||||||
"CropfieldItemCode": "",
|
"CropfieldItemCode": "",
|
||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
|
"soilName": "Sand",
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
//"soilCode": "5", //From codelist CL405. Can be omitted if unknown
|
|
||||||
//"soilName": "Loam", //From codelist CL405.
|
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
//"rootDepthMax": 45, //not needed for KPI calculation, but shown here to know this is a possible property
|
||||||
@ -517,6 +517,8 @@
|
|||||||
"fieldName": "examplePesticide_11767N",
|
"fieldName": "examplePesticide_11767N",
|
||||||
"CropfieldItemCode": "", // could contain for example this: "abae97f89f3c4ac08953b1b8bea9f076" if this is an exisiting CropfieldItemCode in your account.
|
"CropfieldItemCode": "", // could contain for example this: "abae97f89f3c4ac08953b1b8bea9f076" if this is an exisiting CropfieldItemCode in your account.
|
||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
|
"soilName": "Sand",
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"cropTypeCode": "1010101", //From codelist CL263
|
"cropTypeCode": "1010101", //From codelist CL263
|
||||||
"cropTypeName": "Potato", //From codelist CL263
|
"cropTypeName": "Potato", //From codelist CL263
|
||||||
@ -588,6 +590,8 @@
|
|||||||
"fieldName": "doperwt_heleJaar",
|
"fieldName": "doperwt_heleJaar",
|
||||||
"CropfieldItemCode": "",
|
"CropfieldItemCode": "",
|
||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
|
"soilName": "Sand",
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"cropTypeCode": "1030101", //From codelist CL263
|
"cropTypeCode": "1030101", //From codelist CL263
|
||||||
"cropTypeName": "Garden pea" //From codelist CL263
|
"cropTypeName": "Garden pea" //From codelist CL263
|
||||||
@ -641,6 +645,8 @@
|
|||||||
"fieldName": "doperwt_groeiperiode",
|
"fieldName": "doperwt_groeiperiode",
|
||||||
"CropfieldItemCode": "",
|
"CropfieldItemCode": "",
|
||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
|
"soilName": "Sand",
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"cropTypeCode": "1030101", //From codelist CL263
|
"cropTypeCode": "1030101", //From codelist CL263
|
||||||
"cropTypeName": "Garden pea" //From codelist CL263
|
"cropTypeName": "Garden pea" //From codelist CL263
|
||||||
@ -702,8 +708,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"soilCode": "1", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
"soilName": "Sand", //From codelist CL405
|
"soilName": "Sand",
|
||||||
"cropTypeCode": "1020101", //From codelist CL263
|
"cropTypeCode": "1020101", //From codelist CL263
|
||||||
"cropTypeName": "Winter wheat" //From codelist CL263
|
"cropTypeName": "Winter wheat" //From codelist CL263
|
||||||
},
|
},
|
||||||
@ -764,8 +770,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"soilCode": "1", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
"soilName": "Sand", //From codelist CL405
|
"soilName": "Sand",
|
||||||
"cropTypeCode": "1020101", //From codelist CL263
|
"cropTypeCode": "1020101", //From codelist CL263
|
||||||
"cropTypeName": "Winter wheat" //From codelist CL263
|
"cropTypeName": "Winter wheat" //From codelist CL263
|
||||||
},
|
},
|
||||||
@ -830,8 +836,8 @@
|
|||||||
"dataCropfield": {
|
"dataCropfield": {
|
||||||
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
//"area": 4.22, //Leave empty, KPI app will calculate it from geometry
|
||||||
"final": true, //always true
|
"final": true, //always true
|
||||||
"soilCode": "1", //From codelist CL405. Can be omitted if unknown
|
"soilCode": "1", //From codelist CL405. Can be no longer be omitted
|
||||||
"soilName": "Sand", //From codelist CL405
|
"soilName": "Sand",
|
||||||
"cropTypeCode": "1020101", //From codelist CL263
|
"cropTypeCode": "1020101", //From codelist CL263
|
||||||
"cropTypeName": "Winter wheat" //From codelist CL263
|
"cropTypeName": "Winter wheat" //From codelist CL263
|
||||||
},
|
},
|
||||||
|
@ -21,7 +21,7 @@ D1,pesticides,"kg/ha of active ingredient. Sum over kg a.i. of the different cr
|
|||||||
E1,mpb,"milieubelastingspunten. For each pesticide applied show 3 sub-mbp's: aquaticLife, groundWater, soilLife",Retrieved from CTBG,"0 applications with exceedances of either the target MBP or risks. MBP's consist of three categories (groundwater, soil life, and aquatic life). An value of <100 in either or these categories counts as exceedance. Each application of pesticides cannot have more then one exceedance for MBP. Risks consist of two categories (natural enemies and pollinators), a value of B or C in either category counts as exceedance. Each application of pesticides cannot have more then one exceedance for risks. Values and methodology come from Environmental Yardstick for Pesticides (https://www.milieumeetlat.nl/). The same calculation method is also used in biodiversiteitsmonitoring akkerbouw (https://www.bo-akkerbouw.nl/kennis-en-innovatie/pps-biodiversiteitsmonitor-akkerbouw).","0 applications with exceedances of either the target MBP or risks. MBP's consist of three categories (groundwater, soil life, and aquatic life). An value of <10 in either or these categories counts as exceedance. Each application of pesticides cannot have more then one exceedance for MBP. Risks consist of two categories (natural enemies and pollinators), a value of B or C in either category counts as exceedance. Each application of pesticides cannot have more then one exceedance for risks. Values and methodology come from Environmental Yardstick for Pesticides (https://www.milieumeetlat.nl/). The same calculation method is also used in biodiversiteitsmonitoring akkerbouw (https://www.bo-akkerbouw.nl/kennis-en-innovatie/pps-biodiversiteitsmonitor-akkerbouw)."
|
E1,mpb,"milieubelastingspunten. For each pesticide applied show 3 sub-mbp's: aquaticLife, groundWater, soilLife",Retrieved from CTBG,"0 applications with exceedances of either the target MBP or risks. MBP's consist of three categories (groundwater, soil life, and aquatic life). An value of <100 in either or these categories counts as exceedance. Each application of pesticides cannot have more then one exceedance for MBP. Risks consist of two categories (natural enemies and pollinators), a value of B or C in either category counts as exceedance. Each application of pesticides cannot have more then one exceedance for risks. Values and methodology come from Environmental Yardstick for Pesticides (https://www.milieumeetlat.nl/). The same calculation method is also used in biodiversiteitsmonitoring akkerbouw (https://www.bo-akkerbouw.nl/kennis-en-innovatie/pps-biodiversiteitsmonitor-akkerbouw).","0 applications with exceedances of either the target MBP or risks. MBP's consist of three categories (groundwater, soil life, and aquatic life). An value of <10 in either or these categories counts as exceedance. Each application of pesticides cannot have more then one exceedance for MBP. Risks consist of two categories (natural enemies and pollinators), a value of B or C in either category counts as exceedance. Each application of pesticides cannot have more then one exceedance for risks. Values and methodology come from Environmental Yardstick for Pesticides (https://www.milieumeetlat.nl/). The same calculation method is also used in biodiversiteitsmonitoring akkerbouw (https://www.bo-akkerbouw.nl/kennis-en-innovatie/pps-biodiversiteitsmonitor-akkerbouw)."
|
||||||
F1,greenness,time of year that the field was covered. ,Based on NDVI data from AgroDataCube.,Target value is 75%.,Threshold value is 25%.
|
F1,greenness,time of year that the field was covered. ,Based on NDVI data from AgroDataCube.,Target value is 75%.,Threshold value is 25%.
|
||||||
F2,rotationindex,index of diversity of crops over time. ,Calculated in AgroDataCube,Target value is 75%.,Threshold value is 25%.
|
F2,rotationindex,index of diversity of crops over time. ,Calculated in AgroDataCube,Target value is 75%.,Threshold value is 25%.
|
||||||
G1,ammonia emissions,"ammonia emissions from crop residues, green manure, artificial fertilizers and organic fertilizers.",Calculated KPI internal model & parameters and from user input: fertilizer/manure applications.,There is not target value yet for this KPI. It currently has a dummy value of 9999.,There is not target value yet for this KPI. It currently has a dummy value of 9999.
|
G1,ammonia emissions,"ammonia emissions from crop residues, green manure, artificial fertilizers and organic fertilizers.",Calculated KPI internal model & parameters and from user input: fertilizer/manure applications.,There is not target value yet for this KPI. Currently has a dummy value of 9999.,There is not target value yet for this KPI. Currently has a dummy value of 9999.
|
||||||
G1,Manure,ammonia emissions from manure.,Calculated KPI internal model & parameters and from user input: manure applications.,there are no target values for individual compenets of KPI's,there are no threshold values for individual compenets of KPI's
|
G1,Manure,ammonia emissions from manure.,Calculated KPI internal model & parameters and from user input: manure applications.,there are no target values for individual compenets of KPI's,there are no threshold values for individual compenets of KPI's
|
||||||
G1,GreenManure,ammonia emissions from green manure (also called cover crop). ,Calculated KPI internal model & parameters.,there are no target values for individual compenets of KPI's,there are no threshold values for individual compenets of KPI's
|
G1,GreenManure,ammonia emissions from green manure (also called cover crop). ,Calculated KPI internal model & parameters.,there are no target values for individual compenets of KPI's,there are no threshold values for individual compenets of KPI's
|
||||||
G1,CropResidues,ammonia emissions from crop residues. ,Calculated KPI internal model & parameters.,there are no target values for individual compenets of KPI's,there are no threshold values for individual compenets of KPI's
|
G1,CropResidues,ammonia emissions from crop residues. ,Calculated KPI internal model & parameters.,there are no target values for individual compenets of KPI's,there are no threshold values for individual compenets of KPI's
|
||||||
|
|
Loading…
Reference in New Issue
Block a user